Просмотр исходного кода

Merge branch 'dev' of http://110.41.163.243:9980/kd-aiot/kd-aiot-frontend into dengfei

695593266@qq.com 9 месяцев назад
Родитель
Сommit
bd3faf0026

+ 4 - 5
src/views/documentManagement/certificateManagement/components/add-dialog.vue

@@ -173,7 +173,7 @@
     type: '',
     date: [],
     fileObj: [],
-    holderType: '4',
+    holderType: '',
     status: 1
   };
   export default {
@@ -271,14 +271,13 @@
       },
 
       async getInfo(id) {
-        const data = await getPhotoInfo(id);
+        const data = await getPhotoInfo(id);        
         this.form = {
           ...data,
-          type: data.type + '',
           date: [data.validityStartTime, data.validityEndTime],
-          holderType: data.holderType || '1'
+          holderType: data.holderType || '1',
+          type: data.holderType === '1' ? data.type : data.type + '',
         };
-
         this.$refs.productTableRef.putTableValue(data.categorys || []);
       },
 

+ 37 - 2
src/views/documentManagement/certificateManagement/components/certificate-search.vue

@@ -19,13 +19,40 @@
         </el-form-item>
       </el-col>
       <el-col v-bind="styleResponsive ? { md: 5 } : { span: 8 }">
+        <el-form-item label="持证类型">
+          <el-select
+              style="width: 100%"
+              v-model="where.holderType"
+              @change="holderTypeChange"
+            >
+              <el-option
+                :label="item.label"
+                :value="item.value"
+                v-for="(item, index) in holderTypeOptions"
+                :key="index"
+              >
+              </el-option>
+            </el-select>
+        </el-form-item>
+      </el-col>
+      <el-col v-if="where.holderType" v-bind="styleResponsive ? { md: 5 } : { span: 8 }">
         <el-form-item label="证件类型">
-          <DictSelection
+          <!-- <DictSelection
             dictName="证件类型"
             clearable
             v-model.trim="where.type"
           >
-          </DictSelection>
+          </DictSelection> -->
+          <DictSelection
+              v-model="where.type"
+              dictName="证件类型"
+              v-if="['1'].includes(where.holderType)"
+            ></DictSelection>
+            <DictSelection
+              v-model="where.type"
+              dictName="客户/供应商资质类型"
+              v-if="['2', '3', '4', '5', '6'].includes(where.holderType)"
+            ></DictSelection>
         </el-form-item>
       </el-col>
       <el-col v-bind="styleResponsive ? { md:9 } : { span: 9 }">
@@ -69,17 +96,21 @@
 </template>
 
 <script>
+  import { holderTypeOptions } from '@/enum/dict.js';
   export default {
     data () {
       // 默认表单数据
       const defaultWhere = {
         code: '',
         holder: '',
+        holderType: '',
         type:'',
         time: []
       };
       return {
         defaultWhere,
+        holderTypeOptions,
+        
         // 表单数据
         where: { ...defaultWhere }
       };
@@ -91,6 +122,10 @@
       }
     },
     methods: {
+      //切换持证人类型
+      holderTypeChange(e) {
+        this.where.type = '';
+      },
       /* 搜索 */
       search () {
         const where = { ...this.where };

+ 24 - 63
src/views/rulesManagement/releaseRules/components/permitAdd.vue

@@ -168,7 +168,9 @@
     />
     <template v-slot:footer>
       <el-button :loading="btnLoading" @click="handleClose">取消</el-button>
-      <el-button :loading="btnLoading" type="primary" @click="confirm"> 保存 </el-button>
+      <el-button :loading="btnLoading" type="primary" @click="confirm">
+        保存
+      </el-button>
     </template>
   </ele-modal>
 </template>
@@ -179,66 +181,14 @@
   import RuleCycle from './rule-cycle.vue';
   import OperationGuideDialog from '@/views/rulesManagement/matterRules/components/operationGuideDialog.vue';
   import Details from './details.vue';
-  import { releasePermitRules,updatePermitRules } from '@/api/releasePermitRules/index';
+  import {
+    releasePermitRules,
+    updatePermitRules
+  } from '@/api/releasePermitRules/index';
   export default {
     components: { OperationGuideDialog, RuleCycle, Details },
     computed: {
       bankColumns() {
-        // return [
-        //   {
-        //     columnKey: 'index',
-        //     slot: 'index',
-        //     label: '序号',
-        //     type: 'index',
-        //     headerSlot: 'headerContacIndex',
-        //     width: 75,
-        //     align: 'center'
-        //   },
-        //   {
-        //     slot: 'record',
-        //     label: '记录类型',
-        //     prop: 'record',
-        //     minWidth: 165,
-        //     align: 'center'
-        //   },
-        //   {
-        //     slot: 'code',
-        //     label: '编码',
-        //     prop: 'code',
-        //     minWidth: 165,
-        //     align: 'center'
-        //   },
-        //   {
-        //     slot: 'inspectionName',
-        //     label: '参数名称',
-        //     prop: 'inspectionName',
-        //     minWidth: 165,
-        //     align: 'center'
-        //   },
-        //   {
-        //     slot: 'textType',
-        //     label: '参数类型',
-        //     prop: 'textType',
-        //     width: 180,
-        //     align: 'center'
-        //   },
-        //   {
-        //     slot: 'operationGuide',
-        //     label: '操作指导',
-        //     prop: 'operationGuide',
-        //     width: 400,
-        //     align: 'center'
-        //   },
-        //   {
-        //     columnKey: 'action',
-        //     label: '操作',
-        //     width: 90,
-        //     align: 'center',
-        //     resizable: false,
-        //     slot: 'action'
-        //   }
-        // ];
-
         return [
           {
             prop: 'name',
@@ -318,13 +268,16 @@
         visible: false,
         formData: {
           ruleItems: [],
+          classifyId: '',
+          code: '',
+          name: '',
           enable: true
         },
         recordSheet: [], // 记录表
         current: {},
         dataIndex: null,
         showEdit: false,
-        btnLoading:false
+        btnLoading: false
       };
     },
     mounted() {
@@ -335,6 +288,13 @@
         this.visible = true;
         this.dialogTitle = title;
         this.type = type;
+        console.log('type', type, row);
+        if (type == 'edit') {
+          this.$util.assignObject(this.formData, this.$util.deepClone(row));
+          // string 转换 number
+          this.formData.classifyId = Number(row.classifyId);
+          console.log('this.formData', this.formData);
+        }
       },
       async getByCodeData() {
         let res = await getByCode('record_sheet');
@@ -346,6 +306,7 @@
           };
         });
         this.recordSheet = list;
+        console.log('this.recordSheet', this.recordSheet);
       },
       add(row) {
         this.current = row;
@@ -380,15 +341,15 @@
       },
       handleClose() {
         this.visible = false;
-        // this.formData= {
-        //   ruleItems: [],
-        //   enable: true
-        // },
+        this.$refs['formRef'].resetFields();
+        // 清空表单数据
         this.formData = {
           ruleItems: [],
+          classifyId: '',
+          code: '',
+          name: '',
           enable: true
         };
-        this.$refs['formRef'].resetFields();
       },
       confirm() {
         if (!this.formData.cycleValue || !this.formData.cycleType) {

+ 46 - 2
src/views/rulesManagement/releaseRules/index.vue

@@ -14,7 +14,7 @@
             新建
           </el-button>
         </template>
-        <template v-slot:status="{ row }"> </template>
+        <!-- <template v-slot:status="{ row }"> </template> -->
         <template v-slot:action="{ row }">
           <el-link
             type="primary"
@@ -28,7 +28,7 @@
             type="primary"
             :underline="false"
             icon="el-icon-edit"
-            @click="addPermit('edit', row)"
+            @click="addPermit(row, 'edit', '修改记录规则')"
           >
             修改
           </el-link>
@@ -41,6 +41,8 @@
               <el-link type="danger" :underline="false" icon="el-icon-delete">
                 删除
               </el-link>
+
+
             </template>
           </el-popconfirm>
         </template>
@@ -92,6 +94,41 @@
           },
           {
             prop: 'createName',
+            label: '版本号',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: '',
+            label: '来源版本',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 150
+          },
+          {
+            prop: '',
+            label: '启用日期',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: '',
+            label: '停用日期',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: '',
+            label: '周期',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
+          {
+            prop: '',
             label: '创建人',
             align: 'center',
             showOverflowTooltip: true,
@@ -104,6 +141,13 @@
             showOverflowTooltip: true,
             minWidth: 110
           },
+          {
+            prop: '',
+            label: '是否启用',
+            align: 'center',
+            showOverflowTooltip: true,
+            minWidth: 110
+          },
           {
             prop: 'enable',
             label: '状态',

+ 17 - 15
src/views/technology/productParam/components/user-edit.vue

@@ -150,8 +150,9 @@
         <div class="ele-body">
           <ele-pro-table
             ref="table"
-            :datasource="datasource"
+            :datasource="tableList"
             :columns="columns"
+            row-key="id"
           >
             <!-- 表头工具栏 -->
             <template v-slot:toolbar>
@@ -272,6 +273,7 @@
   import ParamModal from './ParamModal.vue';
 
   import { pageList } from '@/api/technology/version/version.js';
+  import { log } from 'bpmn-js-token-simulation';
   export default {
     components: {
       ProductModal,
@@ -398,7 +400,8 @@
           }
         ],
         isProduct: false, // 判断是否是产品
-        isProductUpdate: null // 1 新增, 2编辑
+        isProductUpdate: null, // 1 新增, 2编辑
+        tableList: []
       };
     },
     computed: {
@@ -439,23 +442,22 @@
       },
 
       chooseModal(data) {
-        this.$refs.table.setData([...data, ...this.$refs.table.getData()]);
-        this.$set(this.form, 'produceParam', this.$refs.table.getData());
-      },
-
-      /* 表格数据源 */
-      datasource({ page, limit, where }) {
-        return [];
+        this.removeList = this.removeList.filter(
+          (id) => !data.some((d) => d.id === id)
+        );
+        this.tableList = [...data, ...this.$refs.table.getData()];
+        this.$set(this.form, 'produceParam', this.tableList);
       },
 
       remove(row) {
-        const data = this.$refs.table.getData() ?? [];
+        console.log('row', row);
+        console.log('this.tableList', this.tableList);
         if (row.id) {
           this.removeList.push(row.id);
-          this.$refs.table.setData(data.filter((d) => d.id !== row.id));
+          this.tableList = this.tableList.filter((d) => d.id != row.id);
         } else {
-          this.$refs.table.setData(
-            data.filter((d) => d.paramId !== row.paramId)
+          this.tableList = this.tableList.filter(
+            (d) => d.paramId != row.paramId
           );
         }
       },
@@ -535,7 +537,7 @@
               ...res
             });
 
-            this.$refs.table.setData(res.produceParam);
+            this.tableList = res.produceParam;
             this.taskParam = res.taskParam;
             this.isUpdate = true;
           } else if (this.paramData) {
@@ -558,7 +560,7 @@
                 ...res
               });
 
-              this.$refs.table.setData(res.produceParam);
+              this.tableList = res.produceParam;
               this.taskParam = res.taskParam;
             } else {
               this.$util.assignObject(this.form, {

+ 183 - 173
src/views/technology/productParam/index.vue

@@ -4,20 +4,25 @@
       <!-- 搜索表单 -->
       <user-search @search="reload" />
       <!-- 数据表格 -->
-      <ele-pro-table ref="table" 
-        :columns="columns" 
-        :datasource="datasource" 
-        :selection.sync="selection" 
-        row-key="code" 
+      <ele-pro-table
+        ref="table"
+        :columns="columns"
+        :datasource="datasource"
+        :selection.sync="selection"
+        row-key="code"
         :page-size="this.$store.state.tablePageSize"
         @columns-change="handleColumnChange"
         :cache-key="cacheKeyUrl"
-        >
+      >
         <!-- 表头工具栏 -->
         <template v-slot:toolbar>
-          <el-button size="small" type="primary" icon="el-icon-plus" class="ele-btn-icon" @click="openEdit()"
-          v-if="$hasPermission('main:categoryparam:save')"
-
+          <el-button
+            size="small"
+            type="primary"
+            icon="el-icon-plus"
+            class="ele-btn-icon"
+            @click="openEdit()"
+            v-if="$hasPermission('main:categoryparam:save')"
           >
             新建
           </el-button>
@@ -39,17 +44,21 @@
 
         <!-- 操作列 -->
         <template v-slot:action="{ row }">
-          <el-link type="primary" :underline="false" icon="el-icon-edit" @click="openEdit(row)"
-          v-if="$hasPermission('main:categoryparam:update')"
-          
+          <el-link
+            type="primary"
+            :underline="false"
+            icon="el-icon-edit"
+            @click="openEdit(row)"
+            v-if="$hasPermission('main:categoryparam:update')"
           >
             修改
           </el-link>
 
-          
-          <el-popconfirm class="ele-action" title="确定要删除当前参数吗?" @confirm="remove(row)"
-          v-if="$hasPermission('main:categoryparam:delete')"
-
+          <el-popconfirm
+            class="ele-action"
+            title="确定要删除当前参数吗?"
+            @confirm="remove(row)"
+            v-if="$hasPermission('main:categoryparam:delete')"
           >
             <template v-slot:reference>
               <el-link type="danger" :underline="false" icon="el-icon-delete">
@@ -61,171 +70,172 @@
       </ele-pro-table>
     </el-card>
     <!-- 编辑弹窗 -->
-    <user-edit :visible.sync="showEdit" :data="current" @done="reload" ref="userEdit" />
+    <user-edit
+      :visible.sync="showEdit"
+      :data="current"
+      @done="reload"
+      ref="userEdit"
+    />
     <!-- 导入弹窗 -->
   </div>
 </template>
 
 <script>
-import tabMixins from '@/mixins/tableColumnsMixin';
-import UserSearch from './components/user-search.vue';
-import UserEdit from './components/user-edit.vue';
-
-import parameter from '@/api/technology/productParam';
-
-export default {
-  name: 'productParam',
-  mixins: [tabMixins],
-  components: {
-    UserSearch,
-    UserEdit
-  },
-  data() {
-    return {
-      // 表格列配置
-      columns: [
-   
-
-        {
-          prop: 'categoryCode',
-          label: '产品编码',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-        {
-          prop: 'categoryName',
-          label: '产品名称',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-        {
-          prop: 'categoryBrandNum',
-          label: '牌号',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-        {
-          prop: 'categoryModelType',
-          label: '型号',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-
-        {
-          prop: 'categoryMrpType',
-          label: 'MRP代码',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-
-
-        {
-          prop: 'produceVersionName',
-          label: '工艺类型',
-          align: 'center',
-          showOverflowTooltip: true
-        },
-
-
-        {
-          columnKey: 'action',
-          label: '操作',
-          width: 220,
-          align: 'center',
-          resizable: false,
-          slot: 'action',
-          showOverflowTooltip: true
-        }
-      ],
-      statusList: [
-        { label: '工艺', value: 0 },
-        { label: '工序', value: 1 },
-        { label: '产品', value: 2 },
-        { label: '原料', value: 3 },
-        { label: '设备', value: 4 },
-        { label: '其他', value: 5 }
-      ],
-      // 表格选中数据
-      selection: [],
-      // 当前编辑数据
-      current: null,
-      // 是否显示编辑弹窗
-      showEdit: false,
-      // 是否显示导入弹窗
-      showImport: false,
-      cacheKeyUrl: 'f653e51e-technology-productParam'
-    };
-  },
-  methods: {
-    /*回显类型 */
-    checkType(id) {
-      const obj = this.statusList.find((item) => item.value == id);
-      return obj.label;
-    },
-    /* 表格数据源 */
-    async datasource({ page, limit, where, order }) {
-      const res = await parameter.list({
-        ...where,
-        ...order,
-        pageNum: page,
-        size: limit
-      });
-      return res;
-    },
-
-    /* 刷新表格 */
-    reload(where) {
-      this.$refs.table.reload({ page: 1, where: where });
+  import tabMixins from '@/mixins/tableColumnsMixin';
+  import UserSearch from './components/user-search.vue';
+  import UserEdit from './components/user-edit.vue';
+
+  import parameter from '@/api/technology/productParam';
+
+  export default {
+    name: 'productParam',
+    mixins: [tabMixins],
+    components: {
+      UserSearch,
+      UserEdit
     },
-    /* 打开编辑弹窗 */
-    openEdit(row) {
-      this.current = row;
-      this.showEdit = true;
-      this.$refs.userEdit.$refs.form &&
-        this.$refs.userEdit.$refs.form.clearValidate();
+    data() {
+      return {
+        // 表格列配置
+        columns: [
+          {
+            prop: 'categoryCode',
+            label: '产品编码',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'categoryName',
+            label: '产品名称',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'categoryBrandNum',
+            label: '牌号',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+          {
+            prop: 'categoryModelType',
+            label: '型号',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+
+          {
+            prop: 'categoryMrpType',
+            label: 'MRP代码',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+
+          {
+            prop: 'produceVersionName',
+            label: '工艺类型',
+            align: 'center',
+            showOverflowTooltip: true
+          },
+
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 220,
+            align: 'center',
+            resizable: false,
+            slot: 'action',
+            showOverflowTooltip: true
+          }
+        ],
+        statusList: [
+          { label: '工艺', value: 0 },
+          { label: '工序', value: 1 },
+          { label: '产品', value: 2 },
+          { label: '原料', value: 3 },
+          { label: '设备', value: 4 },
+          { label: '其他', value: 5 }
+        ],
+        // 表格选中数据
+        selection: [],
+        // 当前编辑数据
+        current: null,
+        // 是否显示编辑弹窗
+        showEdit: false,
+        // 是否显示导入弹窗
+        showImport: false,
+        cacheKeyUrl: 'f653e51e-technology-productParam'
+      };
     },
-
-    /* 删除 */
-    remove(row) {
-      const loading = this.$loading({ lock: true });
-
-      parameter
-        .delete([row.id])
-        .then((msg) => {
-          loading.close();
-          this.$message.success('删除' + msg);
-          this.reload();
-        })
-        .catch((e) => {
-          loading.close();
-          // this.$message.error(e.message);
+    methods: {
+      /*回显类型 */
+      checkType(id) {
+        const obj = this.statusList.find((item) => item.value == id);
+        return obj.label;
+      },
+      /* 表格数据源 */
+      async datasource({ page, limit, where, order }) {
+        const res = await parameter.list({
+          ...where,
+          ...order,
+          pageNum: page,
+          size: limit
         });
-    },
-    /* 批量删除 */
-    removeBatch() {
-      if (!this.selection.length) {
-        this.$message.error('请至少选择一条数据');
-        return;
-      }
-      this.$confirm('确定要删除选中的工序吗?', '提示', {
-        type: 'warning'
-      })
-        .then(() => {
-          const loading = this.$loading({ lock: true });
-          parameter
-            .delete(this.selection.map((d) => d.id))
-            .then((msg) => {
-              loading.close();
-              this.$message.success('删除' + msg);
-              this.reload();
-            })
-            .catch((e) => {
-              loading.close();
-              // this.$message.error(e.message);
-            });
+        return res;
+      },
+
+      /* 刷新表格 */
+      reload(where) {
+        this.$refs.table.reload({ page: 1, where: where });
+      },
+      /* 打开编辑弹窗 */
+      openEdit(row) {
+        this.current = row;
+        this.showEdit = true;
+        this.$refs.userEdit.$refs.form &&
+          this.$refs.userEdit.$refs.form.clearValidate();
+      },
+
+      /* 删除 */
+      remove(row) {
+        const loading = this.$loading({ lock: true });
+
+        parameter
+          .delete([row.id])
+          .then((msg) => {
+            loading.close();
+            this.$message.success('删除' + msg);
+            this.reload();
+          })
+          .catch((e) => {
+            loading.close();
+            // this.$message.error(e.message);
+          });
+      },
+      /* 批量删除 */
+      removeBatch() {
+        if (!this.selection.length) {
+          this.$message.error('请至少选择一条数据');
+          return;
+        }
+        this.$confirm('确定要删除选中的工序吗?', '提示', {
+          type: 'warning'
         })
-        .catch(() => { });
+          .then(() => {
+            const loading = this.$loading({ lock: true });
+            parameter
+              .delete(this.selection.map((d) => d.id))
+              .then((msg) => {
+                loading.close();
+                this.$message.success('删除' + msg);
+                this.reload();
+              })
+              .catch((e) => {
+                loading.close();
+                // this.$message.error(e.message);
+              });
+          })
+          .catch(() => {});
+      }
     }
-  }
-};
+  };
 </script>

Разница между файлами не показана из-за своего большого размера
+ 294 - 294
yarn.lock


Некоторые файлы не были показаны из-за большого количества измененных файлов