yusheng 11 miesięcy temu
rodzic
commit
8c14938155

+ 37 - 34
src/views/material/product/components/QualityInfo.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="other">
-    <el-form label-width="100px" ref="form" :model="form" :rules="rules">
-      <div class="divider">
+    <el-form label-width="130px" ref="form" :model="form" :rules="rules">
+      <div class="divider" v-if="form.dataType == 1">
         <div class="title">
           <div class="ele-bg-primary"></div>
           <span>质量配置</span>
@@ -10,7 +10,7 @@
       </div>
       <el-row :gutter="24">
         <el-col :span="4">
-          <el-form-item label="是否来料检验" prop="isComeCheck">
+          <el-form-item :label="form.dataType == 1?'是否采购来料检验':'是否委外来料检验'" prop="isComeCheck">
             <el-radio v-model="form.isComeCheck" :label="1">是</el-radio>
             <el-radio v-model="form.isComeCheck" :label="0">否</el-radio>
           </el-form-item>
@@ -39,6 +39,7 @@
               style="width: 100%"
               v-model="form.levelItem"
               placeholder="请选择"
+              disabled
             >
               <el-option
                 v-for="item in levelOptions"
@@ -77,25 +78,6 @@
           </el-form-item>
         </el-col>
 
-        <!-- <el-col :span="8" v-if="form.isComeCheck == 1">
-          <el-form-item label="质检方案" prop="">
-            <el-select
-              style="width: 100%"
-              v-model="form.qualityTemplateIds"
-              filterable
-              multiple
-            >
-              <el-option
-                v-for="item in qualityTemplateList"
-                :key="item.id"
-                :value="item.id"
-                :label="item.qualitySchemeTemplateName"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col> -->
-      </el-row>
-      <el-row>
         <el-col :span="8" v-if="form.isComeCheck == 1">
           <el-form-item label="质检方案" prop="qualityTemplateIds">
             <el-select
@@ -132,7 +114,24 @@
     data() {
       return {
         qualityTemplateList: [],
-        levelOptions: [],
+        levelOptions: [
+          {
+            label: '特级',
+            value: '特级'
+          },
+          {
+            label: '一级',
+            value: '一级'
+          },
+          {
+            label: '二级',
+            value: '二级'
+          },
+          {
+            label: '三级',
+            value: '三级'
+          }
+        ],
         inspectionStandardsList: [],
         rules: {
           checkFormula: [
@@ -155,20 +154,24 @@
     watch: {},
     created() {
       this.getQualityTemplateList();
-      this.getDictList('level_type');
+
       this.getDictListIqoCode('iqo_code');
     },
     methods: {
-      async getDictList(code) {
-        // debugger;
-        let { data: res } = await getByCode(code);
-        this.levelOptions = res.map((item) => {
-          let values = Object.keys(item);
-          return {
-            value: Number(values[0]),
-            label: item[values[0]]
-          };
-        });
+      // async getDictList(code) {
+      //   // debugger;
+      //   let { data: res } = await getByCode(code);
+      //   this.levelOptions = res.map((item) => {
+      //     let values = Object.keys(item);
+      //     return {
+      //       value: Number(values[0]),
+      //       label: item[values[0]]
+      //     };
+      //   });
+      // },
+      levelChange(val){
+        this.form.levelItem=val
+
       },
       async getDictListIqoCode(code) {
         let { data: res } = await getByCode(code);

+ 12 - 2
src/views/material/product/components/index-data.vue

@@ -467,7 +467,7 @@
           },
           {
             prop: 'isComeCheck',
-            label: '是否来料检验',
+            label: '是否采购来料检验',
             align: 'center',
             minWidth: 120,
             formatter: (row, column) => {
@@ -475,7 +475,17 @@
             },
             showOverflowTooltip: true
           },
-
+          {
+            prop: 'isOutsourcingCheck',
+            label: '是否委外来料检验',
+            align: 'center',
+            minWidth: 120,
+            formatter: (row, column) => {
+              return row.isOutsourcingCheck == 1 ? '是' : '否';
+            },
+            showOverflowTooltip: true
+          },
+          
           {
             prop: 'measuringUnit',
             label: '计量单位',

+ 61 - 12
src/views/material/product/detail.vue

@@ -252,6 +252,7 @@
                   style="width: 100%"
                   v-model="form.level"
                   placeholder="请选择"
+                  @change="levelChange"
                 >
                   <el-option
                     v-for="item in levelOptions"
@@ -340,9 +341,15 @@
     <!-- 计划 -->
     <PlanInfo ref="planRefs" :form="categoryAps" />
     <!-- 质量配置 -->
-    <QualityInfo ref="qualityRefs" :form="categoryQms" />
+
+    <QualityInfo
+      ref="qualityRefs"
+      :form="item"
+      v-for="(item, index) in categoryQms"
+      :key="index"
+    />
     <!-- 舟皿信息 -->
-    <BoatInfo ref="qualityRefs" :form="categoryPallet" />
+    <BoatInfo :form="categoryPallet" />
     <!-- 周转车信息 -->
     <TurnoverInfo ref="turnoverRefs" :form="categoryVehicle" />
     <!-- 模具信息 -->
@@ -392,6 +399,42 @@
   import { deepClone } from '@/utils/index';
   import { finishPageTab, reloadPageTab } from '@/utils/page-tab-util';
   import { produceTypeList } from '@/enum/dict.js';
+import { copyObj } from '@/utils/util';
+
+  const defCategoryQms = [
+    {
+      categoryId: '',
+      checkDepart: null,
+      checkFormula: null,
+      checkPerson: null,
+      checkProportion: null,
+      createTime: '',
+      createUserId: '',
+      inspectionStandards: null,
+      isComeCheck: 0,
+      // level: '',
+      levelItem: null,
+      netWeight: null,
+      qualityTemplateIds: [],
+      dataType: 1
+    },
+    {
+      categoryId: '',
+      checkDepart: null,
+      checkFormula: null,
+      checkPerson: null,
+      checkProportion: null,
+      createTime: '',
+      createUserId: '',
+      inspectionStandards: null,
+      isComeCheck: 0,
+      // level: '',
+      levelItem: null,
+      netWeight: null,
+      qualityTemplateIds: [],
+      dataType: 2
+    }
+  ];
 
   export default {
     name: 'product',
@@ -527,9 +570,7 @@
         categoryMes: { productionDays: '1' },
         categoryMold: {},
         categoryPallet: {},
-        categoryQms: {
-          isComeCheck: '1'
-        },
+        categoryQms: [...copyObj(defCategoryQms)],
         categoryVehicle: {},
         categoryWms: {
           isUnpack: 1,
@@ -655,7 +696,8 @@
             };
             this.categoryMold = {};
             this.categoryPallet = {};
-            this.categoryQms = {};
+            this.categoryQms = [...copyObj(defCategoryQms)];
+     
             this.categoryVehicle = {};
             this.categoryWms = {
               isUnpack: 1,
@@ -916,10 +958,12 @@
         } else {
           this.categoryPurchase = info.categoryPurchase;
         }
-        if (typeof info.categoryQms == 'string') {
-          this.categoryQms = {};
-        } else {
-          this.categoryQms = info.categoryQms;
+        if (!info.categoryQms||!info.categoryQms?.length) {
+          this.categoryQms = [...copyObj(defCategoryQms)];
+        } else if(info.categoryQms.length==1) { //历史数据处理
+          this.categoryQms = [info.categoryQms[0],copyObj(defCategoryQms[1])];
+        }else{
+          this.categoryQms=info.categoryQms
         }
         if (typeof info.categoryVehicle == 'string') {
           this.categoryVehicle = {};
@@ -959,7 +1003,12 @@
           });
         });
       },
-
+      levelChange(val) {
+        this.$refs.qualityRefs?.forEach((item) => {
+          item.levelChange(val);
+          // console.log(item)
+        });
+      },
       // 确定分类
       async confirmCategory(node, title, PathInfo, ruleCode) {
         if (this.status != 0) {
@@ -1188,7 +1237,7 @@
             data.categoryMes.id = null;
             data.categoryMold.id = null;
             data.categoryPallet.id = null;
-            data.categoryQms.id = null;
+            // data.categoryQms.id = null;
             data.categoryVehicle.id = null;
             data.packageDispositionVOList = data.packageDispositionVOList.map(
               (item) => {