luojun hace 2 años
padre
commit
578d01a84b

+ 1 - 0
package.json

@@ -59,6 +59,7 @@
     "vue-count-to": "1.0.13",
     "vue-cropper": "0.5.5",
     "vue-meta": "2.4.0",
+    "vue-quill-editor": "^3.0.6",
     "vue-router": "3.4.9",
     "vuedraggable": "2.24.3",
     "vuex": "3.6.0"

+ 107 - 81
src/views/safetyBook/aqbwbndjh/dialog.edit.vue

@@ -16,85 +16,86 @@
           label-width="130px"
           label-prefix=":"
         >
-          <el-form-item prop="orgId" label="签署责任人所在机构:">
+          <el-form-item prop="orgId" label="选择机构:">
             <tree-select
-              v-model="formData.orgId"
-              :options="deptOptions"
-              :show-count="true"
-              :normalizer="tenantIdnormalizer"
-              :props="{ checkStrictly: true, label: 'name' }"
-              placeholder="请选择签署责任人所在机构"
-            />
+                v-model="formData.orgId"
+                :options="deptOptions"
+                :show-count="true"
+                :normalizer="tenantIdnormalizer"
+                :props="{ checkStrictly: true, label: 'name' }"
+                placeholder="请选择机构"
+                :noChildrenText="''"
+                noOptionsText="没有数据"
+                noResultsText="没有搜索结果"
+              />
           </el-form-item>
-          <el-form-item prop="type" label="签署责任书类型:">
-            <el-select
-              v-model="formData.type"
-              style="width: 100%"
-              placeholder="请选择签署责任书类型"
-            >
-              <el-option
-                v-for="dict in dict.type.safety_book_type"
-                :key="dict.value"
-                :label="dict.label"
-                :value="`${dict.value}`"
-              ></el-option>
-            </el-select>
+          <el-form-item prop="userIds" label="参与人员:">
+            <div>
+              <el-input
+                :readonly="true"
+                v-model="joinedStringArray"
+                placeholder="点击选择"
+              ></el-input>
+              <el-button @click="selectUser">选择</el-button>
+            </div>
+          </el-form-item>
+          <el-form-item prop="date" label="开会日期:">
+            <el-date-picker
+              v-model="formData.date"
+              style="width: 240px"
+              value-format="yyyy-MM-dd hh:mm:ss"
+              placeholder="请选择记录日期"
+              type="datetime"
+              :clearable="false"
+            ></el-date-picker>
           </el-form-item>
-        </el-form>
-        <el-button @click="openSelect">新增签署</el-button>
-
-        <el-table :data="tableData" style="width: 100%" height="400px">
-          <el-table-column prop="names" label="姓名">
-            <template slot-scope="scope">
-              <template v-for="item in scope.row.names">
-                {{ item }}
-                <br />
-              </template>
-            </template>
-          </el-table-column>
-          <el-table-column prop="time" label="签署时间"> </el-table-column>
-          <el-table-column prop="files" label="签署文件"> </el-table-column>
 
-          <el-table-column prop="names" label="操作">
-            <template v-slot="{ row }">
-              <el-button type="text" @click="removeRow(row)">删除</el-button>
-            </template>
-          </el-table-column>
-        </el-table>
+          <el-form-item label="照片" prop="images">
+            <imgs-upload
+              :limit="5"
+              v-model="formData.images"
+              :fileSize="2"
+            ></imgs-upload>
+          </el-form-item>
+          <div>
+            <el-form-item label="内容" prop="content">
+              <Editor style="height: 150px" v-model="formData.content"></Editor>
+            </el-form-item>
+          </div>
+        </el-form>
       </div>
 
-      <div slot="footer" class="dialog-footer">
+      <div style="margin-top: 100px" slot="footer" class="dialog-footer">
         <el-button @click="isShow = false">取消</el-button>
         <el-button type="primary" @click="onSubmit">确定</el-button>
       </div>
-   </DialogCom>
-    <DialogSelect ref="DialogSelect" @success="getSign"></DialogSelect>
+    </DialogCom>
+    <UserSelector ref="UserSelector" @select="onUserSelect"></UserSelector>
   </div>
 </template>
 
 <script>
 import { mapState, mapMutations } from "vuex";
-import {
-  listSafetyBook,
-  getSafetyBook,
-  editOrAdd,
-  delSafetyBook,
-} from "@/api/safetyBook/index";
+import { Add, edit, getaqbwbndjh } from "@/api/safetyBook/aqbwbndjh";
 import { deptTreeSelect } from "@/api/system/public";
-import DialogSelect from "./dialog.sign";
+import UserSelector from "@/components/userSelector/index.vue";
+import ImgsUpload from "@/components/ImgsUpload";
+import Editor from "@/components/Editor";
 export default {
-  dicts: ["safety_book_type"],
+  components: { UserSelector, ImgsUpload, Editor },
   data() {
     return {
       id: null,
       isShow: false,
       formData: this.reset(),
-      tableData: [],
       //修改新增中的机构树
       deptOptions: [],
       formDataRules: {
-        orgId: [{ required: true, message: "请选择签署责任人所在机构" }],
-        type: [{ required: true, message: "请选择签署责任书类型" }],
+        userIds: [{ required: true, message: "请选择参与人员" }],
+        date: [{ required: true, message: "请选择记录日期" }],
+        images: [{ required: true, message: "请选择照片" }],
+        content: [{ required: true, message: "请输入内容" }],
+        orgId: [{ required: true, message: "请选择机构" }],
       },
     };
   },
@@ -102,18 +103,21 @@ export default {
   watch: {},
   computed: {
     ...mapState([]),
+    joinedStringArray: {
+      get() {
+        if (this.formData.names == null || this.formData.names == undefined) {
+          this.formData.names = this.formData.userNames.split(", ");
+        }
+        return this.formData.names.join(", ");
+      },
+      set(value) {
+        this.formData.names = value.split(", ");
+      },
+    },
   },
   methods: {
     ...mapMutations([]),
-    //添加签署后回调
-    getSign(data) {
-      this.tableData.push(data);
-      // console.log(data, "ddd");
-    },
-    //新增签署
-    openSelect() {
-      this.$refs.DialogSelect.show();
-    },
+
     /** 查询机构树数据 */
     getDeptTree() {
       deptTreeSelect().then((response) => {
@@ -131,29 +135,31 @@ export default {
         children: node.children,
       };
     },
-    removeRow(row) {
-      this.tableData = this.tableData.filter((item) => item !== row);
-    },
+
     reset() {
       return {
         id: null,
-        type: null,
+        names: [],
+        userIds: [],
+        date: null,
+        images: [],
+        content: null,
+        title: null,
+        orgId:null,
       };
     },
     async refresh(id) {
-      if(id!=null&&id!=undefined){
-        await getSafetyBook(id).then((res) => {
-          // console.log(res.data,"res")
-          this.formData=res.data;
-          this.tableData=res.data.bookUsers;
+      if (id != null && id != undefined) {
+        await getaqbwbndjh(id).then((res) => {
+          this.formData.names = res.data.userNames.split(",");
+          this.formData = res.data;
         });
       }
     },
     async show(id) {
       // console.log(id, "id");
       this.getDeptTree();
-      this.formData=this.reset();
-      this.tableData=[];
+      this.formData = this.reset();
       this.id = id;
       await this.refresh(id);
       this.isShow = true;
@@ -165,21 +171,41 @@ export default {
       this.$refs.form.resetFields();
     },
     onSubmit() {
-      console.log(this.formData,"this.formData")
+      console.log(this.formData, "this.formData");
       this.$refs.form.validate(async (isValidate) => {
         if (!isValidate) return;
-        this.formData.bookUsers=this.tableData;
-        await editOrAdd(this.formData);
-        this.$emit("success");
-        this.isShow = false;
+        if (this.id == null || this.id == undefined) {
+          await Add(this.formData).then((res) => {
+            this.$emit("success");
+            this.isShow = false;
+          });
+        } else {
+          await edit(this.formData).then((res) => {
+            this.$emit("success");
+            this.isShow = false;
+          });
+        }
       });
     },
+    //选择用户回调
+    onUserSelect(data) {
+      var ids = data.map((obj) => obj.id);
+      var names = data.map((obj) => obj.name);
+      this.formData.userIds = ids;
+      this.formData.names = names;
+      this.formData.userNames = names.join(",");
+      //   console.log(this.formData.userIds, "this.formData.userIds");
+    },
+    //用户选择
+    selectUser(event) {
+      //   event.preventDefault();
+      this.$refs.UserSelector.show();
+    },
 
     // 事件
     //apimark//
   },
   mounted() {},
-  components: { DialogSelect },
 };
 </script>
 

+ 0 - 150
src/views/safetyBook/aqbwbndjh/dialog.sign.vue

@@ -1,150 +0,0 @@
-<template>
-  <div class="rule-type">
-    <DialogCom
-      :title="id ? '编辑' : '新增'"
-      :visible.sync="isShow"
-      @close="onHide"
-      width="500px"
-    >
-      <div class="page-body">
-        <el-form
-          :model="formData"
-          :rules="formDataRules"
-          size="small"
-          ref="form"
-          label-position="right"
-          label-width="130px"
-          label-prefix=":"
-        >
-          <el-form-item prop="userIds" label="姓名:">
-            <div>
-            <el-input
-              :readonly="true"
-              v-model="joinedStringArray"
-              placeholder="点击选择"
-            ></el-input>
-            <el-button @click="selectUser">选择</el-button>
-        </div>
-          </el-form-item>
-          <el-form-item prop="time" label="签署时间:">
-            <el-date-picker
-              v-model="formData.time"
-              :clearable="true"
-              type="date"
-              placeholder="选择时间"
-              value-format="yyyy-MM-dd hh:mm:ss"
-            >
-            </el-date-picker>
-          </el-form-item>
-          <el-col :xs="24" :sm="24" :md="24" :lg="24">
-            <el-form-item label="上传责任书" prop="files">
-              <imgs-upload
-                :limit="5"
-                v-model="formData.files"
-                :fileSize="2"
-              ></imgs-upload>
-            </el-form-item>
-          </el-col>
-        </el-form>
-      </div>
-
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="isShow = false">取消</el-button>
-        <el-button type="primary" @click="onSubmit">确定</el-button>
-      </div>
-    </DialogCom>
-    <UserSelector ref="UserSelector" @select="onUserSelect"></UserSelector>
-  </div>
-</template>
-
-<script>
-import { mapState, mapMutations } from "vuex";
-import ImgsUpload from "@/components/ImgsUpload";
-import UserSelector from "@/components/userSelector/index.vue";
-export default {
-  data() {
-    return {
-      id: null,
-      isShow: false,
-      formData: this.reset(),
-      formDataRules: {
-        userIds: [{ required: true, message: "请选择用户" }],
-        time: [{ required: true, message: "请选择时间" }],
-        files: [{ required: true, message: "请上传责任书" }],
-      },
-    };
-  },
-
-  watch: {},
-  computed: {
-    joinedStringArray: {
-      get() {
-        return this.formData.names.join(", ");
-      },
-      set(value) {
-        this.formData.names = value.split(", ");
-      },
-    },
-    ...mapState([]),
-  },
-  methods: {
-    ...mapMutations([]),
-
-    //选择用户回调
-    onUserSelect(data) {
-      var ids = data.map((obj) => obj.id);
-      var names = data.map((obj) => obj.name);
-      this.formData.userIds = ids;
-      this.formData.names = names;
-      //   console.log(this.formData.userIds, "this.formData.userIds");
-    },
-    //用户选择
-    selectUser(event) {
-    //   event.preventDefault();
-      this.$refs.UserSelector.show();
-    },
-
-    reset() {
-      return {
-        id: null,
-        userIds: [],
-        time: null,
-        files: null,
-        names: [],
-      };
-    },
-    async show(id) {
-      this.formData= this.reset(),
-      this.id = id;
-      this.isShow = true;
-    },
-
-    // 事件
-    onHide() {
-      //   this.formData = this.reset();
-      //   this.$refs.form.resetFields();
-    },
-    onSubmit() {
-      this.$refs.form.validate(async (isValidate) => {
-        if (!isValidate) return;
-        this.$emit("success", this.formData);
-        this.isShow = false;
-      });
-    },
-
-    // 事件
-    //apimark//
-  },
-  mounted() {},
-  components: { ImgsUpload, UserSelector },
-};
-</script>
-
-<style lang="scss" scoped>
-.brand_info {
-  .el-form {
-    width: 600px;
-    padding-top: 40px;
-  }
-}
-</style>

+ 44 - 27
src/views/safetyBook/aqbwbndjh/index.vue

@@ -2,7 +2,7 @@
   <div class="app-container">
     <el-row :gutter="20">
       <!--机构数据-->
-      <el-col :span="4" :xs="24">
+      <el-col :span="4" :xs="24" v-if="false">
         <org-tree
           v-model="queryParams.orgId"
           @defaultKey="getDefaultKey"
@@ -21,7 +21,7 @@
           v-show="showSearch"
           label-width="68px"
         >
-          <el-form-item label="所属年份" prop="year">
+          <el-form-item label="所属年份" prop="year" v-if="false">
             <el-date-picker
               v-model="queryParams.year"
               :clearable="timeClearable"
@@ -65,29 +65,24 @@
             width="60"
           />
           <el-table-column
-            label="工作主题"
+            label="机构名称"
             align="left"
             width="200"
             prop="orgName"
           />
           <el-table-column
-            label="参与人员"
+            label="记录人"
             align="left"
             width="160"
-            prop="type"
+            prop="userName"
           >
 
-          <template slot-scope="r"
-              >{{
-                getLabel(dict.type.safety_book_type, `${r.row.type}`)
-              }}
-            </template>
         </el-table-column>
           <el-table-column
-            label="开会日期"
+            label="记录时间"
             align="center"
             width="120"
-            prop="year"
+            prop="date"
           />
          
 
@@ -103,18 +98,26 @@
                 size="mini"
                 type="text"
                 icon="el-icon-edit-outline"
+                @click="showImages(scope.row.images)"
+                v-hasPermi="['core:hsggbsdj:query']"
+                >查看照片
+              </el-button>
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit-outline"
                 @click="handleAdd(scope.row.id)"
                 v-hasPermi="['core:aqbwbndjh:edit']"
                 >编辑
               </el-button>
-              <el-button
+              <!-- <el-button
                 size="mini"
                 type="text"
                 icon="el-icon-info"
                 @click="handleInfo(scope.row)"
                 v-hasPermi="['core:aqbwbndjh:query']"
                 >详情
-              </el-button>
+              </el-button> -->
               <el-button
                 size="mini"
                 type="text"
@@ -137,16 +140,22 @@
       </el-col>
     </el-row>
     <dialog-edit ref="editDialog" @success="getList()"></dialog-edit>
+    <el-image-viewer
+      v-if="imageViewer"
+      :on-close="closeImgViewer"
+      :url-list="srcList"
+    />
   </div>
 </template>
 
 <script>
 import {
-  listSafetyBook,
-  getSafetyBook,
-  editOrAdd,
-  delSafetyBook,
-} from "@/api/safetyBook/index";
+  listaqbwbndjh,
+  getaqbwbndjh,
+  Add,
+  edit,
+  delaqbwbndjh,
+} from "@/api/safetyBook/aqbwbndjh";
 import {  getLabel } from "@/views/commonOption";
 import DialogEdit from "./dialog.edit";
 import { deptTreeSelect } from "@/api/system/public";
@@ -157,11 +166,9 @@ import KFileUpload from "@/components/K-FileUpload/index.vue";
 import tableList from "@/mixins/tableList";
 
 export default {
-  dicts: [
-    "safety_book_type"
-  ],
   name: "aqbwbndjh",
-  components: { OrgTree, kOrgTree, KFileUpload, DialogEdit },
+  components: { OrgTree, kOrgTree, KFileUpload, DialogEdit,    "el-image-viewer": () =>
+      import("element-ui/packages/image/src/image-viewer"), },
   mixins: [tableList],
   data() {
     return {
@@ -206,7 +213,8 @@ export default {
       },
       // 表单参数
       form: {},
-
+      imageViewer: false,
+      srcList: [],
       //默认选中节点
       defaultKeys: [],
     };
@@ -225,6 +233,15 @@ export default {
     this.getList();
   },
   methods: {
+    showImages(file) {
+      let array = file.split(",");
+      this.srcList = array;
+      this.imageViewer = true;
+    },
+    closeImgViewer() {
+      this.imageViewer = false;
+      this.srcList = [];
+    },
     getLabel(options, value) {
       return getLabel(options, value);
     },
@@ -235,7 +252,7 @@ export default {
     /** 查询安全责任书列表 */
     getList() {
       this.loading = true;
-      listSafetyBook(this.queryParams).then((response) => {
+      listaqbwbndjh(this.queryParams).then((response) => {
         this.dataList = response.rows;
         this.total = response.total;
         this.loading = false;
@@ -289,7 +306,7 @@ export default {
       this.$modal
         .confirm("是否确认删除?")
         .then(function () {
-          return delSafetyBook(ids);
+          return delaqbwbndjh(ids);
         })
         .then(() => {
           this.getList();
@@ -302,7 +319,7 @@ export default {
     handleInfo(row) {
       this.reset();
       const id = row.id || this.ids;
-      getSafetyBook(id).then((response) => {
+      getaqbwbndjh(id).then((response) => {
         this.form = response.data;
         this.open = true;
         this.title = "安全责任书详情";

+ 44 - 40
src/views/safetyBook/hsggbsdj/dialog.edit.vue

@@ -17,7 +17,11 @@
           label-prefix=":"
         >
           <el-form-item prop="title" label="工作主题:">
-            <el-input></el-input>
+            <el-input
+              style="width: 100%; margin-bottom: 20px"
+              v-model="formData.title"
+              placeholder="请输入工作主题"
+            ></el-input>
           </el-form-item>
           <el-form-item prop="userIds" label="参与人员:">
             <div>
@@ -29,9 +33,9 @@
               <el-button @click="selectUser">选择</el-button>
             </div>
           </el-form-item>
-          <el-form-item prop="title" label="开会日期:">
+          <el-form-item prop="date" label="开会日期:">
             <el-date-picker
-              v-model="formData.startDate"
+              v-model="formData.date"
               style="width: 240px"
               value-format="yyyy-MM-dd hh:mm:ss"
               placeholder="请选择开会日期"
@@ -40,51 +44,52 @@
             ></el-date-picker>
           </el-form-item>
 
-          <el-form-item label="照片">
+          <el-form-item label="照片" prop="images">
             <imgs-upload
               :limit="5"
               v-model="formData.images"
               :fileSize="2"
             ></imgs-upload>
           </el-form-item>
+          <div>
+            <el-form-item label="内容" prop="content">
+              <Editor style="height: 150px" v-model="formData.content"></Editor>
+            </el-form-item>
+          </div>
         </el-form>
       </div>
 
-      <div slot="footer" class="dialog-footer">
+      <div style="margin-top: 100px" slot="footer" class="dialog-footer">
         <el-button @click="isShow = false">取消</el-button>
         <el-button type="primary" @click="onSubmit">确定</el-button>
       </div>
     </DialogCom>
-    <DialogSelect ref="DialogSelect" @success="getSign"></DialogSelect>
     <UserSelector ref="UserSelector" @select="onUserSelect"></UserSelector>
   </div>
 </template>
 
 <script>
 import { mapState, mapMutations } from "vuex";
-import {
-  getSafetyBook,
-  editOrAdd,
-  delSafetyBook,
-} from "@/api/safetyBook/index";
+import { Add, edit, gethsggbsdj } from "@/api/safetyBook/hsggbsdj";
 import { deptTreeSelect } from "@/api/system/public";
-import DialogSelect from "./dialog.sign";
 import UserSelector from "@/components/userSelector/index.vue";
 import ImgsUpload from "@/components/ImgsUpload";
-
+import Editor from "@/components/Editor";
 export default {
-  dicts: ["safety_book_type"],
+  components: { UserSelector, ImgsUpload, Editor },
   data() {
     return {
       id: null,
       isShow: false,
       formData: this.reset(),
-      tableData: [],
       //修改新增中的机构树
       deptOptions: [],
       formDataRules: {
-        orgId: [{ required: true, message: "请选择签署责任人所在机构" }],
-        type: [{ required: true, message: "请选择签署责任书类型" }],
+        userIds: [{ required: true, message: "请选择参与人员" }],
+        date: [{ required: true, message: "请选择开会日期" }],
+        images: [{ required: true, message: "请选择照片" }],
+        content: [{ required: true, message: "请输入内容" }],
+        title: [{ required: true, message: "请输入内容" }],
       },
     };
   },
@@ -94,6 +99,9 @@ export default {
     ...mapState([]),
     joinedStringArray: {
       get() {
+        if (this.formData.names == null || this.formData.names == undefined) {
+          this.formData.names = this.formData.userNames.split(", ");
+        }
         return this.formData.names.join(", ");
       },
       set(value) {
@@ -103,15 +111,7 @@ export default {
   },
   methods: {
     ...mapMutations([]),
-    //添加签署后回调
-    getSign(data) {
-      this.tableData.push(data);
-      // console.log(data, "ddd");
-    },
-    //新增签署
-    openSelect() {
-      this.$refs.DialogSelect.show();
-    },
+
     /** 查询机构树数据 */
     getDeptTree() {
       deptTreeSelect().then((response) => {
@@ -129,25 +129,23 @@ export default {
         children: node.children,
       };
     },
-    removeRow(row) {
-      this.tableData = this.tableData.filter((item) => item !== row);
-    },
+
     reset() {
       return {
         id: null,
-        type: null,
         names: [],
         userIds: [],
-        startDate: null,
+        date: null,
         images: [],
+        content: null,
+        title: null,
       };
     },
     async refresh(id) {
       if (id != null && id != undefined) {
-        await getSafetyBook(id).then((res) => {
-          // console.log(res.data,"res")
+        await gethsggbsdj(id).then((res) => {
+          this.formData.names = res.data.userNames.split(",");
           this.formData = res.data;
-          this.tableData = res.data.bookUsers;
         });
       }
     },
@@ -155,7 +153,6 @@ export default {
       // console.log(id, "id");
       this.getDeptTree();
       this.formData = this.reset();
-      this.tableData = [];
       this.id = id;
       await this.refresh(id);
       this.isShow = true;
@@ -170,10 +167,17 @@ export default {
       console.log(this.formData, "this.formData");
       this.$refs.form.validate(async (isValidate) => {
         if (!isValidate) return;
-        this.formData.bookUsers = this.tableData;
-        await editOrAdd(this.formData);
-        this.$emit("success");
-        this.isShow = false;
+        if (this.id == null || this.id == undefined) {
+          await Add(this.formData).then((res) => {
+            this.$emit("success");
+            this.isShow = false;
+          });
+        } else {
+          await edit(this.formData).then((res) => {
+            this.$emit("success");
+            this.isShow = false;
+          });
+        }
       });
     },
     //选择用户回调
@@ -182,6 +186,7 @@ export default {
       var names = data.map((obj) => obj.name);
       this.formData.userIds = ids;
       this.formData.names = names;
+      this.formData.userNames = names.join(",");
       //   console.log(this.formData.userIds, "this.formData.userIds");
     },
     //用户选择
@@ -194,7 +199,6 @@ export default {
     //apimark//
   },
   mounted() {},
-  components: { DialogSelect, UserSelector,ImgsUpload },
 };
 </script>
 

+ 0 - 150
src/views/safetyBook/hsggbsdj/dialog.sign.vue

@@ -1,150 +0,0 @@
-<template>
-  <div class="rule-type">
-    <DialogCom
-      :title="id ? '编辑' : '新增'"
-      :visible.sync="isShow"
-      @close="onHide"
-      width="500px"
-    >
-      <div class="page-body">
-        <el-form
-          :model="formData"
-          :rules="formDataRules"
-          size="small"
-          ref="form"
-          label-position="right"
-          label-width="130px"
-          label-prefix=":"
-        >
-          <el-form-item prop="userIds" label="姓名:">
-            <div>
-            <el-input
-              :readonly="true"
-              v-model="joinedStringArray"
-              placeholder="点击选择"
-            ></el-input>
-            <el-button @click="selectUser">选择</el-button>
-        </div>
-          </el-form-item>
-          <el-form-item prop="time" label="签署时间:">
-            <el-date-picker
-              v-model="formData.time"
-              :clearable="true"
-              type="date"
-              placeholder="选择时间"
-              value-format="yyyy-MM-dd hh:mm:ss"
-            >
-            </el-date-picker>
-          </el-form-item>
-          <el-col :xs="24" :sm="24" :md="24" :lg="24">
-            <el-form-item label="上传责任书" prop="files">
-              <imgs-upload
-                :limit="5"
-                v-model="formData.files"
-                :fileSize="2"
-              ></imgs-upload>
-            </el-form-item>
-          </el-col>
-        </el-form>
-      </div>
-
-      <div slot="footer" class="dialog-footer">
-        <el-button @click="isShow = false">取消</el-button>
-        <el-button type="primary" @click="onSubmit">确定</el-button>
-      </div>
-    </DialogCom>
-    <UserSelector ref="UserSelector" @select="onUserSelect"></UserSelector>
-  </div>
-</template>
-
-<script>
-import { mapState, mapMutations } from "vuex";
-import ImgsUpload from "@/components/ImgsUpload";
-import UserSelector from "@/components/userSelector/index.vue";
-export default {
-  data() {
-    return {
-      id: null,
-      isShow: false,
-      formData: this.reset(),
-      formDataRules: {
-        userIds: [{ required: true, message: "请选择用户" }],
-        time: [{ required: true, message: "请选择时间" }],
-        files: [{ required: true, message: "请上传责任书" }],
-      },
-    };
-  },
-
-  watch: {},
-  computed: {
-    joinedStringArray: {
-      get() {
-        return this.formData.names.join(", ");
-      },
-      set(value) {
-        this.formData.names = value.split(", ");
-      },
-    },
-    ...mapState([]),
-  },
-  methods: {
-    ...mapMutations([]),
-
-    //选择用户回调
-    onUserSelect(data) {
-      var ids = data.map((obj) => obj.id);
-      var names = data.map((obj) => obj.name);
-      this.formData.userIds = ids;
-      this.formData.names = names;
-      //   console.log(this.formData.userIds, "this.formData.userIds");
-    },
-    //用户选择
-    selectUser(event) {
-    //   event.preventDefault();
-      this.$refs.UserSelector.show();
-    },
-
-    reset() {
-      return {
-        id: null,
-        userIds: [],
-        time: null,
-        files: null,
-        names: [],
-      };
-    },
-    async show(id) {
-      this.formData= this.reset(),
-      this.id = id;
-      this.isShow = true;
-    },
-
-    // 事件
-    onHide() {
-      //   this.formData = this.reset();
-      //   this.$refs.form.resetFields();
-    },
-    onSubmit() {
-      this.$refs.form.validate(async (isValidate) => {
-        if (!isValidate) return;
-        this.$emit("success", this.formData);
-        this.isShow = false;
-      });
-    },
-
-    // 事件
-    //apimark//
-  },
-  mounted() {},
-  components: { ImgsUpload, UserSelector },
-};
-</script>
-
-<style lang="scss" scoped>
-.brand_info {
-  .el-form {
-    width: 600px;
-    padding-top: 40px;
-  }
-}
-</style>

+ 41 - 17
src/views/safetyBook/hsggbsdj/index.vue

@@ -2,7 +2,7 @@
   <div class="app-container">
     <el-row :gutter="20">
       <!--机构数据-->
-      <el-col :span="4" :xs="24">
+      <el-col :span="4" :xs="24" v-if="false">
         <org-tree
           v-model="queryParams.orgId"
           @defaultKey="getDefaultKey"
@@ -21,7 +21,7 @@
           v-show="showSearch"
           label-width="68px"
         >
-          <el-form-item label="所属年份" prop="year">
+          <el-form-item label="所属年份" prop="year" v-if="false">
             <el-date-picker
               v-model="queryParams.year"
               :clearable="timeClearable"
@@ -78,16 +78,12 @@
             width="160"
             prop="date"
           >
-
-          <!-- <template slot-scope="r"
+            <!-- <template slot-scope="r"
               >{{
                 getLabel(dict.type.safety_book_type, `${r.row.type}`)
               }}
             </template> -->
-        </el-table-column>
-         
-    
-          
+          </el-table-column>
 
           <el-table-column
             label="操作"
@@ -101,18 +97,26 @@
                 size="mini"
                 type="text"
                 icon="el-icon-edit-outline"
+                @click="showImages(scope.row.images)"
+                v-hasPermi="['core:hsggbsdj:query']"
+                >查看照片
+              </el-button>
+              <el-button
+                size="mini"
+                type="text"
+                icon="el-icon-edit-outline"
                 @click="handleAdd(scope.row.id)"
                 v-hasPermi="['core:hsggbsdj:edit']"
                 >编辑
               </el-button>
-              <el-button
+              <!-- <el-button
                 size="mini"
                 type="text"
                 icon="el-icon-info"
                 @click="handleInfo(scope.row)"
                 v-hasPermi="['core:hsggbsdj:query']"
-                >详情
-              </el-button>
+                >内容详情
+              </el-button> -->
               <el-button
                 size="mini"
                 type="text"
@@ -135,6 +139,11 @@
       </el-col>
     </el-row>
     <dialog-edit ref="editDialog" @success="getList()"></dialog-edit>
+    <el-image-viewer
+      v-if="imageViewer"
+      :on-close="closeImgViewer"
+      :url-list="srcList"
+    />
   </div>
 </template>
 
@@ -146,7 +155,7 @@ import {
   edit,
   delhsggbsdj,
 } from "@/api/safetyBook/hsggbsdj";
-import {  getLabel } from "@/views/commonOption";
+import { getLabel } from "@/views/commonOption";
 import DialogEdit from "./dialog.edit";
 import { deptTreeSelect } from "@/api/system/public";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
@@ -156,11 +165,16 @@ import KFileUpload from "@/components/K-FileUpload/index.vue";
 import tableList from "@/mixins/tableList";
 
 export default {
-  dicts: [
-    "safety_book_type"
-  ],
+  dicts: ["safety_book_type"],
   name: "hsggbsdj",
-  components: { OrgTree, kOrgTree, KFileUpload, DialogEdit },
+  components: {
+    OrgTree,
+    kOrgTree,
+    KFileUpload,
+    DialogEdit,
+    "el-image-viewer": () =>
+      import("element-ui/packages/image/src/image-viewer"),
+  },
   mixins: [tableList],
   data() {
     return {
@@ -205,7 +219,8 @@ export default {
       },
       // 表单参数
       form: {},
-
+      imageViewer: false,
+      srcList: [],
       //默认选中节点
       defaultKeys: [],
     };
@@ -224,6 +239,15 @@ export default {
     this.getList();
   },
   methods: {
+    showImages(file) {
+      let array = file.split(",");
+      this.srcList = array;
+      this.imageViewer = true;
+    },
+    closeImgViewer() {
+      this.imageViewer = false;
+      this.srcList = [];
+    },
     getLabel(options, value) {
       return getLabel(options, value);
     },