Преглед на файлове

质检计划,工单修改

zhangqing преди 1 година
родител
ревизия
867fa8abbe

+ 33 - 6
src/views/inspectionPlan/components/baseInfo.vue

@@ -8,13 +8,20 @@
               :disabled="btnType == 'detail' || btnType == 'issued'"></DictSelection>
           </el-form-item>
         </el-col>
-      
-      <el-col :span="6">
+        <el-col :span="6">
+          <el-form-item label="计划来源:" prop="planSource">
+            <el-select v-model="form.planSource" placeholder="请选择" style="width: 100%" clearable
+              @change="planSourceChange" :disabled="btnType == 'detail' || btnType == 'issued'">
+              <el-option :label="item.label" v-for="item in sourceList" :key="item.value" :value="item.value" />
+            </el-select>
+          </el-form-item>
+        </el-col>
+      <!-- <el-col :span="6">
         <el-form-item label="名称:" prop="name">
           <el-input clearable v-model="form.name" placeholder="请输入"
             :disabled="btnType == 'detail' || btnType == 'issued'" />
         </el-form-item>
-      </el-col>
+      </el-col> -->
       <el-col :span="6">
         <el-form-item label="检验方式:" prop="qualityMode">
           <DictSelection dictName="取样类型" v-model="form.qualityMode" clearable
@@ -40,6 +47,12 @@
         </el-form-item>
       </el-col>
       <el-col :span="6">
+        <el-form-item label="名称:" prop="name">
+          <el-input clearable v-model="form.name" placeholder="请输入"
+            :disabled="btnType == 'detail' || btnType == 'issued'" />
+        </el-form-item>
+      </el-col>
+      <!-- <el-col :span="6">
         <el-form-item label="自动派单:" prop="autoOrder">
           <el-select v-model="form.autoOrder" placeholder="请选择" style="width: 100%"
             :disabled="btnType == 'detail' || btnType == 'issued'" clearable>
@@ -47,7 +60,7 @@
             <el-option label="否" :value="0" />
           </el-select>
         </el-form-item>
-      </el-col>
+      </el-col> -->
       <el-col :span="6">
         <el-form-item label="执行部门:" prop="groupId">
           <deptSelect :disabled="btnType == 'detail'" v-model="form.groupId" @changeGroup="searchDeptNodeClick" />
@@ -71,6 +84,15 @@
     </div>
     <div v-if="isExpanded">
       <el-row>
+        <el-col :span="6">
+        <el-form-item label="自动派单:" prop="autoOrder">
+          <el-select v-model="form.autoOrder" placeholder="请选择" style="width: 100%"
+            :disabled="btnType == 'detail' || btnType == 'issued'" clearable>
+            <el-option label="是" :value="1" />
+            <el-option label="否" :value="0" />
+          </el-select>
+        </el-form-item>
+      </el-col>
         <el-col :span="6">
         <el-form-item label="开始时间:" prop="planStartTime">
           <el-date-picker :disabled="btnType == 'detail'" class="w100" v-model="form.planStartTime" type="date"
@@ -89,14 +111,14 @@
               :disabled="btnType == 'detail' || btnType == 'issued'"></DictSelection>
           </el-form-item>
         </el-col> -->
-        <el-col :span="6">
+        <!-- <el-col :span="6">
           <el-form-item label="计划来源:" prop="planSource">
             <el-select v-model="form.planSource" placeholder="请选择" style="width: 100%" clearable
               @change="planSourceChange" :disabled="btnType == 'detail' || btnType == 'issued'">
               <el-option :label="item.label" v-for="item in sourceList" :key="item.value" :value="item.value" />
             </el-select>
           </el-form-item>
-        </el-col>
+        </el-col> -->
         <el-col :span="6">
           <el-form-item label="来源编码:" prop="planSourceCode">
             <el-input v-model="form.planSourceCode" disabled />
@@ -366,6 +388,9 @@ export default {
         ],
         executeId: [
           { required: true, message: '请选择执行人员:', trigger: 'blur' }
+        ],
+        planSource: [
+          { required: true, message: '请选择计划来源', trigger: 'blur' }
         ]
       },
       isExpanded: false, // 控制展开/收起状态
@@ -501,6 +526,8 @@ export default {
         this.form.packingUnit = val.packingUnit//包装单位
       } else {
         this.form.productNumber = val.outboundNum;//数量
+        this.form.totalWeight = (val.weight / val.measureQuantity * val.outboundNum).toFixed(2); //总重量
+
       }
       this.form.dimension = dimension;
       this.form.measureUnit = val.measureUnit//计量单位

+ 19 - 14
src/views/inspectionPlan/components/edit.vue

@@ -13,7 +13,8 @@
       <el-tabs v-model="activeName" @tab-click="handleClick">
         <el-tab-pane label="来源清单" name="1">
           <!-- 来料列表表格 -->
-          <ele-pro-table ref="table12" :columns="tableColumns" :datasource="datasource"
+          <ele-pro-table ref="table12" :columns="tableColumns" :datasource="datasource" :needPage="btnType == 'add' ? false : true"
+
             @selection-change="handleSelectionChange" :initLoad="false">
             <template v-slot:toolbar v-if="this.baseForm.qualityMode == 2 && btnType != 'detail'">
               <el-dropdown trigger="click" @command="handleSampleNumber">
@@ -425,10 +426,12 @@ export default {
     changesStokledgerNumberModal(val, dimension) {
         this.$refs.table12.setData([])
         if (dimension == 3) return this.$refs.table12.setData(val)
-        let num = Number(val[0].outboundNum)
+        let item = val[0]
+        let num = Number(item.outboundNum)
         let list = []
+        let weight = (item.weight / item.measureQuantity).toFixed(2)
         for (let i = 0; i < num; i++) {
-          list.push({...val[0], id: i + 1, packingQuantity:null, measureQuantity: 1 }); 
+          list.push({...item, id: i + 1, packingQuantity:null, measureQuantity: 1, weight }); 
         }
         this.$refs.table12.setData(list)
     },
@@ -440,11 +443,6 @@ export default {
     },
     async datasource({ page, limit, where }) {
       const res = await getInventoryListByPlanId({ ...where, page, limit });
-      // if (res.list.length > 1) {
-      //   this.isCheck = true
-      // } else {
-      //   this.isCheck = false
-      // }
       this.packingList = res.list;
       return res.list;
     },
@@ -677,6 +675,7 @@ export default {
         list[i].sampleCode = await this.getSampleCode();
       }
       this.sampleList = list;
+      this.baseForm.sampleNumber = list.length; 
       console.log(this.sampleList, 'this.sampleList222')
       this.samplePagination.currentPage = 1;
       this.samplePagination.total = list.length;
@@ -1048,8 +1047,11 @@ export default {
           break;
         }
       }
+
+      console.log('样品清单', this.sampleList)
       this.sampleList = result;
-      this.baseForm.sampleNumber = this.sampleList.length;
+      this.baseForm.sampleNumber = this.sampleList.length; // 更新样品数量
+
       this.changeSamUnit(sampleUnit)
 
     },
@@ -1140,9 +1142,13 @@ export default {
       this.baseForm = { ...this.defaultForm() };
     },
     handleClose() {
-      this.resetForm();
-      this.resetTable();
-      this.visible = false;
+      this.$nextTick(() => {
+          // 关闭后,销毁所有的表单数据
+          this.resetForm();
+          this.resetTable();
+          this.$refs['baseInfoRefs'] && this.$refs['baseInfoRefs'].$refs.form1.resetFields();
+          this.visible = false;
+        });
     },
 
     /* 保存编辑 */
@@ -1262,12 +1268,11 @@ export default {
     handleExtractFull() {
       this.$refs.ruleForm.validate(async (valid) => {
         if (!valid || !this.validateSelection()) return;
-
+        this.baseForm.sampleMeasureUnit = this.formData.sampleUnit
         this.sampleList = [];
         const sampleCount = Number(this.formData.portion);
         const measureQ = this.formData.number || 1;
         const unit = this.formData.sampleUnit;
-
         try {
           if (this.isStandard1OrWeightSample()) {//抽检计量整样小样或者抽检计重小样
             if (!this.validateMeasureQuantity(measureQ, unit, sampleCount)) return;

+ 1 - 1
src/views/inspectionPlan/components/warehousing.vue

@@ -127,7 +127,7 @@
             minWidth: 140
           },
           {
-            prop: 'brandNo',
+            prop: 'productBrand',
             label: '牌号',
             align: 'center',
             showOverflowTooltip: true,

+ 4 - 0
src/views/inspectionTemplate/components/inspectionTemplateDialog.vue

@@ -120,6 +120,10 @@
         }
         this.$emit('choose', this.selection);
         this.handleClose();
+      },
+
+      search(where) {
+        this.$refs.table.reload({ page: 1, where });
       }
     }
   };

+ 20 - 8
src/views/inspectionWork/components/baseInfo.vue

@@ -145,7 +145,7 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="6">
+        <!-- <el-col :span="6" v-if="btnType != 'detail'">
           <el-form-item label="取样数量:" prop="sampleNumber" :rules="{
             required: form.qualityMode == 2 ? true : false,
             message: '请输入取样数量',
@@ -160,6 +160,22 @@
               </DictSelection>
             </div>
           </el-form-item>
+        </el-col> -->
+        <el-col :span="6" v-if="btnType != 'detail'">
+          <el-form-item label="取样数量:" prop="sampleNumber" :rules="{
+            // required: form.qualityMode == 2 ? true : false,
+            message: '请输入取样数量',
+            trigger: 'blur'
+          }" v-if="form.qualityMode == 2">
+            <div style="display: flex;align-items: center;justify-content: space-between;">
+              <el-input type="number"
+                :disabled="form.qualityMode == null || form.qualityMode == 1 || (form.qualityMode == 2 && form.sampleNumber) ? true : false"
+                v-model="form.sampleNumber" @change="handleChangeNumber" style="width: calc(100% - 90px)" />
+              <DictSelection dictName="计量单位" clearable v-model="form.sampleMeasureUnit" disabled size="mini"
+                style="width: 90px;margin-left: 12px;">
+              </DictSelection>
+            </div>
+          </el-form-item>
         </el-col>
       </el-row>
       <el-row>
@@ -192,18 +208,14 @@
             </el-select>
           </el-form-item>
         </el-col>
-      </el-row>
-      <el-row>
-        <el-col :span="24">
+        <el-col :span="6">
           <el-form-item label="备注:" prop="remark">
             <el-input type="textarea" v-model="form.remark" placeholder="请输入" :disabled="btnType == 'issued'" />
           </el-form-item>
         </el-col>
-      </el-row>
-      <el-row>
         <el-col :span="8">
-          <el-form-item label="附件:" prop="imgUrl">
-            <fileUpload v-model="form.imgUrl" :type="btnType == 'detail' ? 'view' : ''" />
+          <el-form-item label="附件:" prop="accessory">
+            <fileUpload v-model="form.accessory" :type="btnType == 'detail' ? 'view' : ''" />
           </el-form-item>
         </el-col>
       </el-row>

+ 3 - 6
src/views/inspectionWork/components/sampleListDialog.vue

@@ -18,7 +18,7 @@
                             <el-table-column label="质检项名称" prop="inspectionName" align="center"></el-table-column>
                             <el-table-column label="工艺参数" prop="defaultValue" align="center">
                             </el-table-column>
-                            <!-- <el-table-column label="质检工具" prop="" align="center">
+                            <el-table-column label="质检工具" prop="" align="center">
                                 <template slot-scope="scope">
                                     <toolButtom
                                     v-model="scope.row.toolList"
@@ -26,7 +26,7 @@
                                     :sList="sList"
                                     />
                                 </template>
-                            </el-table-column> -->
+                            </el-table-column>
                             <el-table-column label="质检内容" prop="qualityResultContent" align="center" fixed="right"
                                 width="360">
                                 <template slot-scope="scope">
@@ -151,8 +151,7 @@ export default {
             this.tableData = [];
             this.rowIndex = index
             this.type = type;
-            console.log(list, 'lklllllllllllllllllkkkkkkkkkkkkkkkkkkkkk', list[0].qualityResults);
-            debugger
+            // console.log(list, 'lklllllllllllllllllkkkkkkkkkkkkkkkkkkkkk', list[0].qualityResults);
             //如果质检项qualitySampleTemplateList只有一条数据且质检结果是让步接收
             if (list[0].qualitySampleTemplateList.length == 1) {
                 for (let i = 0; i < list[0].qualitySampleTemplateList.length; i++) {
@@ -160,8 +159,6 @@ export default {
 
                 }
             }
-
-
             this.tableData = list;
             this.visible = true
             this.sList = sList;

+ 0 - 5
src/views/inspectionWork/edit.vue

@@ -158,7 +158,6 @@ export default {
     },
     //根据类型判断样品清单现实列表数据
     async getProSamList(list) {
-      debugger
       //生产检验
       if (this.qualityType == 2) {
         if (this.form.qualityMode != null) {
@@ -567,7 +566,6 @@ export default {
     },
 
     async queryQualitySamplContent() {
-      debugger
       const res = await queryQualitySamplContent({ qualityWorkerId: this.$route.query.id })
       let addStatus = res.list.map((item) => {
         item.isValid = true;
@@ -764,7 +762,6 @@ export default {
     //确认质检
     handleConfirm(list, index) {
       console.log(list)
-      debugger
 
       // 检查有效性
       // for (const item of list) {
@@ -814,7 +811,6 @@ export default {
     },
     // 批量质检
     batchQuality(index, row, type) {
-      debugger
       this.$refs.detailRef.openDia(null, null, 'report', this.sampleList, null, this.schemeList.toolList)
     },
     // 批量处置
@@ -835,7 +831,6 @@ export default {
         this.$refs.tabsRef.tableSelClear()
         this.sampleList = [];
         this.$refs.tabsRef.tabsChange('1')
-        debugger
       //检验标准 2计重 1计量
       if (this.form.inspectionStandards == 2 && this.form.qualityMode == 1) {
         for (let i = 0; i < sData.length; i++) {