Bladeren bron

Merge branch 'master' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend-qms

ysy 1 jaar geleden
bovenliggende
commit
f876d7968b

+ 10 - 1
src/components/addDoc/api/index.js

@@ -110,4 +110,13 @@ export async function getCode(id) {
     return res.data;
   }
   return Promise.reject(new Error(res.data.message));
-}
+}
+// 编码方案
+export async function listCode() {
+  const res = await request.get(`/main/business_code_category/listCode/WD0001`);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
+

+ 166 - 136
src/components/addDoc/file-edit.vue

@@ -13,14 +13,35 @@
     <el-form ref="form" :model="form" :rules="rules" label-width="82px">
       <el-row :gutter="15">
         <el-col :span="24">
-          <el-form-item label="编码" prop="code">
-            <el-input v-model="form.code" placeholder="请申请编码" disabled>
-              <template slot="append">
-                <el-link :underline="false" @click.native="getCodeOpen"
-                  >申请编码
-                </el-link></template
+          <el-form-item label="编码分类" prop="codeType">
+            <ele-tree-select
+              clearable
+              :data="list"
+              v-model="form.codeType"
+              placeholder="请选择"
+              default-expand-all
+              labelKey="name"
+              childrenKey="sonDirectoryList"
+              valueKey="id"
+              @change="typeChange"
+            />
+          </el-form-item>
+        </el-col>
+        <el-col :span="24">
+          <el-form-item label="编码方案" prop="businessCodeId">
+            <el-select
+              v-model="form.businessCodeId"
+              placeholder="请选择"
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in options"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
               >
-            </el-input>
+              </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="24">
@@ -31,31 +52,18 @@
             ></DictSelection>
           </el-form-item>
         </el-col>
-        <!-- <el-col :span="24">
-          <el-form-item label="上传方式" prop="SCFS">
-            <el-radio-group v-model="SCFS">
-              <el-radio :label="1">手动上传</el-radio>
-              <el-radio :label="2">选择模板</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col> -->
-        <el-col :span="24">
-          <el-form-item label="文档名称" prop="name">
-            <el-input
-              v-model="form.name"
-              placeholder="请输入文档名称"
-            ></el-input>
-          </el-form-item>
-        </el-col>
+
         <el-col :span="24">
           <el-form-item label="文档" prop="storagePath">
             <div style="display: flex; align-items: center">
               <fileUpload
                 v-model="form.storagePath"
                 module="main"
-                :limit="1"
+                :limit="100"
+                :multiple="true"
                 @fileChange="fileChange"
               >
+
               </fileUpload>
             </div>
           </el-form-item>
@@ -93,141 +101,163 @@
         确认
       </el-button>
     </template>
-    <getCode ref="getCode" @success="success"></getCode>
   </ele-modal>
 </template>
 
 <script>
-  import { fileSaveAPI, getDocTreeListAPI } from './api';
-  import FileUpload from './fileUpload.vue';
-  import { setFolderList } from './util.js';
-  import getCode from './getCode.vue';
-  import { mapGetters } from 'vuex';
+import { fileSaveAPI,selectTreeList, listParentId,getDocTreeListAPI,listCode} from './api/index';
+import FileUpload from './fileUpload.vue';
+import { setFolderList } from './util.js';
+import { mapGetters } from 'vuex';
+export default {
+  components: { FileUpload },
 
-  export default {
-    components: { FileUpload, getCode },
-
-    data() {
-      const defaultForm = {
-        name: '', //名称
-        type: '', //类型
-        sizeUnit: '', //大小,
-        unit: '', //单位
-        remark: '', //备注
-        status: '', //状态
-        storagePathId: '',
-        directoryId: '',
-        storagePath: [],
-        id: '',
-        lcyStatus: 1,
-        fileType: 0
-      };
-      return {
-        rules: {
-          name: [{ required: true, message: '请输入', trigger: 'blur' }],
-          code: [{ required: true, message: '请输入', trigger: 'blur' }],
-          directoryId: [{ required: true, message: '请选择', trigger: 'blur' }],
-          storagePath: [{ required: true, message: '请选择', trigger: 'blur' }]
-        },
-        templateVisible: false,
-        folderList: [],
-        defaultForm,
-        code: '',
-        // 表单数据
-        form: { ...defaultForm },
+  data() {
+    const defaultForm = {
+      name: '', //名称
+      type: '', //类型
+      sizeUnit: '', //大小,
+      unit: '', //单位
+      remark: '', //备注
+      status: '', //状态
+      storagePathId: '',
+      directoryId: '',
+      businessCodeId: '',
+      storagePath: [],
+      id: '',
+      lcyStatus: 1,
+      fileType:0
+    };
+    return {
+      rules: {
+        businessCodeId: [
+          { required: true, message: '请选择', trigger: 'blur' }
+        ],
+        // codeType: [{ required: true, message: '请选择', trigger: 'blur' }],
+        directoryId: [{ required: true, message: '请选择', trigger: 'blur' }],
+        storagePath: [{ required: true, message: '请选择', trigger: 'blur' }]
+      },
+      templateVisible: false,
+      folderList: [],
+      list: [],
+      options: [],
+      defaultForm,
+      code: '',
+      // 表单数据
+      form: { ...defaultForm },
 
-        // 提交状态
-        loading: false,
-        showEditFlag: false,
-        title: '新建附件'
-      };
+      // 提交状态
+      loading: false,
+      showEditFlag: false,
+      title: '',
+      type: '新建附件'
+    };
+  },
+  computed: {
+    // 是否开启响应式布局
+    styleResponsive() {
+      return this.$store.state.theme.styleResponsive;
     },
-    computed: {
-      // 是否开启响应式布局
-      styleResponsive() {
-        return this.$store.state.theme.styleResponsive;
-      },
-      ...mapGetters(['user'])
+    ...mapGetters(['user'])
+  },
+  async created() {
+    let query = {
+      type: 0,
+      currentUserId: this.user.info.userId
+    };
+    this.folderList = await getDocTreeListAPI(query);
+    setFolderList(this.folderList); //权限过滤
+  },
+  methods: {
+    async open() {
+    
+      this.showEditFlag = true;
+      this.list = await selectTreeList();
+      this.options= await listCode();
+      if(this.options.length>0){
+        this.form.businessCodeId=this.options[0].id
+      }
+      this.setTree(this.list);
     },
-    async created() {
-      let query = {
-        type: 0,
-        currentUserId: this.user.info.userId
-      };
-      this.folderList = await getDocTreeListAPI(query);
-      setFolderList(this.folderList); //权限过滤
+    setTree(data) {
+      data.forEach((item) => {
+        item.sonDirectoryList = item.sonDirectoryList.filter(
+          (item) => item.type == 1
+        );
+        if (item.sonDirectoryList.length > 0) {
+          this.setTree(item.sonDirectoryList);
+        }
+      });
+    },
+    async typeChange(val) {
+      let data = await listParentId({
+        pageNum: 1,
+        size: 100,
+        parentId: val
+      });
+      this.options = data.list.filter((item) => item.type == 2);
+      this.form.businessCodeId = '';
     },
-    methods: {
-      async open() {
-        this.showEditFlag = true;
-      },
-      getCodeOpen() {
-        this.$refs.getCode.open();
-      },
-      fileChange(file) {
-        this.form.name = file.name.replace(/\.[^/.]+$/, '');
-      },
-      success(code) {
-        this.code = code;
-        this.$nextTick(() => {
-          this.$set(this.form, 'code', code);
-        });
-      },
-      /* 保存编辑 */
-      save() {
-        this.$refs.form.validate(async (valid) => {
-          if (!valid) {
-            return false;
-          }
 
-          const data = {
-            ...this.form
-          };
+    fileChange(file) {
+      this.form.name = file.name.replace(/\.[^/.]+$/, '');
+    },
 
-          this.loading = true;
-          fileSaveAPI(data)
-            .then((msg) => {
-              this.loading = false;
+    /* 保存编辑 */
+    save() {
+      this.$refs.form.validate(async (valid) => {
+        if (!valid) {
+          return false;
+        }
 
-              this.cancel();
-              this.$emit('done', msg);
-            })
-            .catch((e) => {
-              this.loading = false;
-            });
-        });
-      },
+        const data = {
+          ...this.form,
+        };
 
-      cancel() {
-        this.form = { ...this.defaultForm };
-        this.$refs.form.clearValidate();
-        this.showEditFlag = false;
-      }
+        this.loading = true;
+        fileSaveAPI(data)
+          .then( (msg) => {
+            this.loading = false;
+
+            this.cancel();
+            this.$emit('done',msg);
+          })
+          .catch((e) => {
+            this.loading = false;
+          });
+      });
+    },
+
+    cancel() {
+      this.form = { ...this.defaultForm };
+      this.$refs.form.clearValidate();
+      this.showEditFlag = false;
     }
-  };
+  }
+};
 </script>
 <style scoped lang="scss">
-  .aaa {
+.aaa {
+  width: 100%;
+
+  ::v-deep .upload-demo {
     width: 100%;
 
-    ::v-deep .upload-demo {
+    .el-upload--text {
       width: 100%;
 
-      .el-upload--text {
+      button {
         width: 100%;
-
-        button {
-          width: 100%;
-          background: #ffffff;
-          border: 1px solid #dbdbdb;
-          border-radius: 5px;
-        }
+        background: #ffffff;
+        border: 1px solid #dbdbdb;
+        border-radius: 5px;
       }
+    }
 
-      .el-upload-list {
-        transform: translate(10px, -39px);
-        position: absolute;
-      }
+    .el-upload-list {
+      transform: translate(10px, -39px);
+      position: absolute;
     }
   }
+}
 </style>

+ 127 - 125
src/components/addDoc/main.vue

@@ -75,138 +75,140 @@
 </template>
 
 <script>
-  import doc_template from './doc_template.vue';
-  import fileEdit from './file-edit.vue';
-  import browse from './browse.vue';
-  import { queryIds } from './api';
+import doc_template from './doc_template.vue';
+import fileEdit from './file-edit.vue';
+import browse from './browse.vue';
+import { queryIds } from './api';
 
-  export default {
-    components: { doc_template, fileEdit, browse },
+export default {
+  components: { doc_template, fileEdit, browse },
 
-    data() {
-      return {
-        fileId: [],
-        fileShow: false,
-        showEditFlag: false,
-        tableList: [],
-        type: 'add',
-        columns: [
-          {
-            label: '编码',
-            prop: 'code',
-            width: 180,
-            align: 'center',
-            showOverflowTooltip: true
-          },
-          {
-            prop: 'name',
-            label: '文档名称',
-            align: 'center',
-            slot: 'name',
-            showOverflowTooltip: true,
-            minWidth: 200
-          },
-          {
-            prop: 'storagePath',
-            label: '文件名称',
-            align: 'center',
+  data() {
+    return {
+      fileId: [],
+      fileShow: false,
+      showEditFlag: false,
+      tableList: [],
+      type: 'add',
+      columns: [
+        {
+          label: '编码',
+          prop: 'code',
+          width: 180,
+          align: 'center',
+          showOverflowTooltip: true
+        },
+        {
+          prop: 'name',
+          label: '文档名称',
+          align: 'center',
+          slot: 'name',
+          showOverflowTooltip: true,
+          minWidth: 200
+        },
+        {
+          prop: 'storagePath',
+          label: '文件名称',
+          align: 'center',
 
-            showOverflowTooltip: true,
-            minWidth: 200,
-            formatter: (_row, _column, cellValue) => {
-              return cellValue && cellValue[0]?.name;
-            }
-          },
-          {
-            prop: 'version',
-            label: '版本',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 100
-          },
-
-          {
-            prop: 'createUserName',
-            label: '创建人',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 100
-          },
-          {
-            prop: 'createTime',
-            label: '创建时间',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 160
-          },
+          showOverflowTooltip: true,
+          minWidth: 200,
+          formatter: (_row, _column, cellValue) => {
+            return cellValue && cellValue[0]?.name;
+          }
+        },
+        {
+          prop: 'version',
+          label: '版本',
+          align: 'center',
+          showOverflowTooltip: true,
+          minWidth: 100
+        },
 
-          {
-            prop: 'sizeUnit',
-            label: '文档大小',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 100
-          },
+        {
+          prop: 'createUserName',
+          label: '创建人',
+          align: 'center',
+          showOverflowTooltip: true,
+          minWidth: 100
+        },
+        {
+          prop: 'createTime',
+          label: '创建时间',
+          align: 'center',
+          showOverflowTooltip: true,
+          minWidth: 160
+        },
 
-          {
-            columnKey: 'action',
-            label: '操作',
-            width: 200,
-            align: 'center',
-            resizable: false,
-            slot: 'action',
-            showOverflowTooltip: true
-          }
-        ]
-      };
-    },
-    created() {},
+        {
+          prop: 'sizeUnit',
+          label: '文档大小',
+          align: 'center',
+          showOverflowTooltip: true,
+          minWidth: 100
+        },
 
-    methods: {
-      open(fileId, type) {
-        //查看详情:view 新增:add
-        this.showEditFlag = true;
-        this.fileId = fileId || [];
-        if (type) {
-          this.type = type;
+        {
+          columnKey: 'action',
+          label: '操作',
+          width: 200,
+          align: 'center',
+          resizable: false,
+          slot: 'action',
+          showOverflowTooltip: true
         }
-        this.init();
-      },
-      fileEditOpen() {
-        this.$refs.fileEditRef.open();
-      },
-      remove(row) {
-        this.tableList = this.tableList.filter((item) => item.code != row.code);
-        this.fileId = this.tableList.map((item) => item.id);
-      },
-      async init() {
-        if (this.fileId.length > 0) {
-          this.tableList = await queryIds({ ids: "'" + this.fileId + "'" });
-        }
-      },
-      done(id) {
-        this.fileId.push(id);
-        this.init();
-      },
-      browseOpen(row) {
-        this.$refs.browseRef.open(row);
-      },
-      addFile() {
-        this.$emit(
-          'success',
-          this.tableList.map((item) => item.id)
-        );
-        this.showEditFlag = false;
-      },
-      addTemplate() {
-        let list = this.$refs.doc_templateRef.getTableList();
-        this.fileShow = false;
-        if (list.length == 0) {
-          this.$message.error('请选择一条数据');
-          return;
-        }
-        this.tableList.push(...list);
+      ]
+    };
+  },
+  created() {},
+
+  methods: {
+    open(fileId, type) {
+      //查看详情:view 新增:add
+      this.showEditFlag = true;
+      this.fileId = fileId || [];
+      if (type) {
+        this.type = type;
+      }
+      this.init();
+    },
+    fileEditOpen() {
+      this.$refs.fileEditRef.open();
+    },
+    remove(row) {
+      this.tableList = this.tableList.filter((item) => item.code != row.code);
+      this.fileId = this.tableList.map((item) => item.id);
+    },
+    async init() {
+      if (this.fileId.length > 0) {
+        this.tableList = await queryIds({ ids: "'" + this.fileId + "'" });
+      } else {
+        this.tableList = [];
+      }
+    },
+    done(id) {
+      this.fileId.push(...id);
+      this.init();
+    },
+    browseOpen(row) {
+      this.$refs.browseRef.open(row);
+    },
+    addFile() {
+      this.$emit(
+        'success',
+        this.tableList.map((item) => item.id)
+      );
+      this.showEditFlag = false;
+    },
+    addTemplate() {
+      let list = this.$refs.doc_templateRef.getTableList();
+      this.fileShow = false;
+      if (list.length == 0) {
+        this.$message.error('请选择一条数据');
+        return;
       }
+      this.tableList.push(...list);
     }
-  };
+  }
+};
 </script>

+ 4 - 5
src/views/inspectionPlan/components/edit.vue

@@ -162,11 +162,9 @@
           <el-form-item label="附件:" prop="accessory">
             <fileUpload
               v-model="form.accessory"
-              module="main"
-              :showLib="false"
-              :limit="1"
-              :disabled="type == 'detail'"
+             
             />
+            
           </el-form-item>
         </el-col>
       </el-row>
@@ -277,7 +275,8 @@
   import warehousing from './warehousing';
   import { getUserPage } from '@/api/system/organization';
   import deptSelect from '@/components/CommomSelect/dept-select.vue';
-  import fileUpload from '@/components/upload/fileUpload';
+  // import fileUpload from '@/components/upload/fileUpload';
+  import fileUpload from '@/components/addDoc/index.vue';
 
   export default {
     components: {

+ 4 - 5
src/views/inspectionPoint/components/newEdit.vue

@@ -37,10 +37,7 @@
           <el-form-item label="附件:" prop="files">
             <fileUpload
               v-model="form.files"
-              module="main"
-              :showLib="false"
-              :limit="1"
-              :disabled="type == 'detail'"
+             
             />
           </el-form-item>
         </el-col>
@@ -144,7 +141,9 @@
 
 <script>
   import { save, update } from '@/api/inspectionPoint';
-  import fileUpload from '@/components/upload/fileUpload';
+  // import fileUpload from '@/components/upload/fileUpload';
+  import fileUpload from '@/components/addDoc/index.vue';
+
   import EquipmentDialog from './newEquipmentDialog';
 
   import dictMixins from '@/mixins/dictMixins';

+ 4 - 5
src/views/inspectionWork/components/edit.vue

@@ -179,10 +179,7 @@
           <el-form-item label="附件:" prop="accessory">
             <fileUpload
               v-model="form.accessory"
-              module="main"
-              :showLib="false"
-              :limit="1"
-              :disabled="title == '详情'"
+             
             />
           </el-form-item>
         </el-col>
@@ -266,7 +263,9 @@
   import dictMixins from '@/mixins/dictMixins';
   import deptSelect from '@/components/CommomSelect/dept-select.vue';
   import { getUserPage } from '@/api/system/organization';
-  import fileUpload from '@/components/upload/fileUpload';
+  // import fileUpload from '@/components/upload/fileUpload';
+  import fileUpload from '@/components/addDoc/index.vue';
+
   import term from './term';
 
   export default {