From 4f94a66bc8ad9a57295f161de9195d5528b1d181 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 08 四月 2025 11:55:16 +0800
Subject: [PATCH] 基础数据维护+原辅材下单修改

---
 src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue |  185 ++++++++++++++++++++++++++--------------------
 1 files changed, 104 insertions(+), 81 deletions(-)

diff --git a/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue b/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue
index 3543847..d5b0e31 100644
--- a/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue
+++ b/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue
@@ -30,9 +30,9 @@
           <el-col :span="12">
             <el-form-item label="妫�楠屽璞★細" prop="sample">
               <el-cascader v-model="editForm.sample" :options="itemParameterData.cascaderField.sample.tree"
-                           :props="{value:'name',label:'name',checkStrictly: true, multiple: true}"
-                           :show-all-levels="false"  clearable
-                           filterable placeholder="璇烽�夋嫨" size="small" style="width: 100%;"></el-cascader>
+                :props="{ value: 'labelName', label: 'name', checkStrictly: true, multiple: true }"
+                :show-all-levels="false" clearable filterable placeholder="璇烽�夋嫨" size="small"
+                style="width: 100%;"></el-cascader>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -45,14 +45,16 @@
           <el-col :span="12">
             <el-form-item label="鍦烘墍锛�" prop="laboratory">
               <el-select v-model="editForm.laboratory" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">
-                <el-option v-for="item in laboratoryList" :key="item.label" :label="item.label" :value="item.label"></el-option>
+                <el-option v-for="item in laboratoryList" :key="item.label" :label="item.label"
+                  :value="item.label"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="璇曢獙瀹わ細" prop="sonLaboratory">
               <el-select v-model="editForm.sonLaboratory" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">
-                <el-option v-for="item in dict.type.sys_sub_lab" :key="item.value" :label="item.label" :value="item.value"></el-option>
+                <el-option v-for="item in dict.type.sys_sub_lab" :key="item.value" :label="item.label"
+                  :value="item.value"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -73,7 +75,8 @@
           <el-col :span="12">
             <el-form-item label="璁¢噺鍗曚綅锛�" prop="unit">
               <el-select v-model="editForm.unit" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">
-                <el-option v-for="item in dict.type.sys_unit" :key="item.value" :label="item.label" :value="item.value"></el-option>
+                <el-option v-for="item in dict.type.sys_unit" :key="item.value" :label="item.label"
+                  :value="item.value"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -98,15 +101,19 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="妫�楠岄」绫诲瀷锛�" prop="inspectionItemType">
-              <el-select v-model="editForm.inspectionItemType" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">
-                <el-option v-for="item in dict.type.inspection_item_type" :key="item.value" :label="item.label" :value="item.value"></el-option>
+              <el-select v-model="editForm.inspectionItemType" clearable placeholder="璇烽�夋嫨" size="small"
+                style="width: 100%">
+                <el-option v-for="item in dict.type.inspection_item_type" :key="item.value" :label="item.label"
+                  :value="item.value"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="妫�楠屽�肩被鍨嬶細" prop="inspectionValueType">
-              <el-select v-model="editForm.inspectionValueType" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">
-                <el-option v-for="item in dict.type.inspection_value_type" :key="item.value" :label="item.label" :value="item.value"></el-option>
+              <el-select v-model="editForm.inspectionValueType" clearable placeholder="璇烽�夋嫨" size="small"
+                style="width: 100%">
+                <el-option v-for="item in dict.type.inspection_value_type" :key="item.value" :label="item.label"
+                  :value="item.value"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -115,14 +122,16 @@
           <el-col :span="12">
             <el-form-item label="鐗规畩鏍囪瘑锛�" prop="bsm">
               <el-select v-model="editForm.bsm" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">
-                <el-option v-for="item in dict.type.inspection_bsm" :key="item.value" :label="item.label" :value="item.value"></el-option>
+                <el-option v-for="item in dict.type.inspection_bsm" :key="item.value" :label="item.label"
+                  :value="item.value"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鍘熷璁板綍妯℃澘锛�" prop="templateId">
               <el-select v-model="editForm.templateId" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">
-                <el-option v-for="item in templateIdList" :key="item.value" :label="item.label" :value="item.value"></el-option>
+                <el-option v-for="item in templateIdList" :key="item.value" :label="item.label"
+                  :value="item.value"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
@@ -140,38 +149,46 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="12">
+          <!-- <el-col :span="12">
             <el-form-item label="璇曢獙鏂规硶锛�" prop="method">
-              <el-select v-model="editForm.method" clearable multiple placeholder="璇烽�夋嫨" size="small" style="width: 100%">
-                <el-option v-for="item in methodList" :key="item.value" :label="item.label" :value="item.value"></el-option>
+              <el-select v-model="editForm.method" clearable multiple placeholder="璇烽�夋嫨" size="small"
+                style="width: 100%">
+                <el-option v-for="item in methodList" :key="item.value" :label="item.label"
+                  :value="item.label"></el-option>
               </el-select>
             </el-form-item>
-          </el-col>
+          </el-col> -->
           <el-col :span="12">
-            <el-form-item label="鏉′欢锛�" prop="radiusList">
+            <el-form-item label="璇曢獙鏉′欢锛�" prop="radiusList">
               <el-select v-model="editForm.radiusList" allow-create default-first-option filterable multiple
-                         placeholder="璇烽�夋嫨"
-                         size="small"
-                         style="width: 100%">
-                <el-option v-for="item in radiusListList" :key="item.value" :label="item.label" :value="item.value"></el-option>
+                placeholder="璇烽�夋嫨" size="small" style="width: 100%">
+                <el-option v-for="item in radiusListList" :key="item.value" :label="item.label"
+                  :value="item.value"></el-option>
               </el-select>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row>
           <el-col :span="12">
             <el-form-item label="鏀惰垂鏍囧噯(鍏�/娆�)锛�" prop="rates">
               <el-input v-model="editForm.rates" clearable size="small"></el-input>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="鏄惁濮旀墭瑕佹眰锛�" prop="rates">
+              <el-select v-model="editForm.delegateRequestFlag" clearable placeholder="璇烽�夋嫨" size="small"
+                style="width: 100%">
+                <el-option v-for="item in dict.type.inspection_bsm" :key="item.value" :label="item.label"
+                  :value="item.value"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
         </el-row>
-<!--        <el-col :span="12">-->
-<!--          <el-form-item label="瀛楀吀绫诲瀷锛�" prop="dic">-->
-<!--            <el-select v-model="editForm.dic" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">-->
-<!--              <el-option v-for="item in dicList" :key="item.value" :label="item.label" :value="item.value"></el-option>-->
-<!--            </el-select>-->
-<!--          </el-form-item>-->
-<!--        </el-col>-->
+        <!--        <el-col :span="12">-->
+        <!--          <el-form-item label="瀛楀吀绫诲瀷锛�" prop="dic">-->
+        <!--            <el-select v-model="editForm.dic" clearable placeholder="璇烽�夋嫨" size="small" style="width: 100%">-->
+        <!--              <el-option v-for="item in dicList" :key="item.value" :label="item.label" :value="item.value"></el-option>-->
+        <!--            </el-select>-->
+        <!--          </el-form-item>-->
+        <!--        </el-col>-->
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-button @click="closeDia">鍙� 娑�</el-button>
@@ -190,7 +207,7 @@
   obtainItemParameterList,
   upItemParameter
 } from "@/api/structural/capability";
-import {selectStandardMethods} from "@/api/structural/standardMethod";
+import { selectStandardMethods } from "@/api/structural/standardMethod";
 
 export default {
   name: "EditForm",
@@ -227,6 +244,7 @@
         method: '', // 璇曢獙鏂规硶
         radiusList: [], // 鏉′欢
         rates: '', // 鏉′欢
+        delegateRequestFlag: null,//鏄惁濮旀墭瑕佹眰
       },
       sampleList: [], // 妫�楠屽璞′笅鎷夋
       laboratoryList: [], // 鍦烘墍涓嬫媺妗�
@@ -267,7 +285,7 @@
   },
   // 鏂规硶闆嗗悎
   methods: {
-    openDia (type, row) {
+    openDia(type, row) {
       this.operationType = type
       this.editFormDia = true
       this.obtainItemParameterList() // 鍦烘墍绫诲瀷
@@ -277,29 +295,30 @@
       if (type === 'add') {
         this.editForm = {
           inspectionItem: '', // 妫�楠岄」
-            inspectionItemEn: '', // 妫�楠岄」EN
-            inspectionItemSubclass: '', // 妫�楠屽瓙椤�
-            inspectionItemSubclassEn: '', // 妫�楠屽瓙椤笶N
-            sample: [], // 妫�楠屽璞�
-            price: '', // 鍗曚环
-            laboratory: '', // 鍦烘墍
-            sonLaboratory: '', // 璇曢獙瀹�
-            askTell: '', // 瑕佹眰鎻忚堪
-            ask: '', // 瑕佹眰鍊�
-            unit: '', // 璁¢噺鍗曚綅
-            manHour: '', // 宸ユ椂
-            manDay: '', // 棰勮鏃堕棿
-            manHourGroup: '', // 宸ユ椂鍒嗙粍
-            inspectionItemType: '', // 妫�楠岄」绫诲瀷
-            inspectionValueType: '', // 妫�楠屽�肩被鍨�
-            dic: '', // 瀛楀吀绫诲瀷
-            bsm: '', // 鐗规畩鏍囪瘑
-            templateId: '', // 鍘熷璁板綍妯℃澘
-            inspectionItemClass: '', // 妫�楠岄」鍒嗙被
-            inspectionItemClassEn: '', // 妫�楠岄」鍒嗙被EN
-            method: '', // 璇曢獙鏂规硶
-            radiusList: [], // 鏉′欢
-            rates: '', // 鏉′欢
+          inspectionItemEn: '', // 妫�楠岄」EN
+          inspectionItemSubclass: '', // 妫�楠屽瓙椤�
+          inspectionItemSubclassEn: '', // 妫�楠屽瓙椤笶N
+          sample: [], // 妫�楠屽璞�
+          price: '', // 鍗曚环
+          laboratory: '', // 鍦烘墍
+          sonLaboratory: '', // 璇曢獙瀹�
+          askTell: '', // 瑕佹眰鎻忚堪
+          ask: '', // 瑕佹眰鍊�
+          unit: '', // 璁¢噺鍗曚綅
+          manHour: '', // 宸ユ椂
+          manDay: '', // 棰勮鏃堕棿
+          manHourGroup: '', // 宸ユ椂鍒嗙粍
+          inspectionItemType: '', // 妫�楠岄」绫诲瀷
+          inspectionValueType: '', // 妫�楠屽�肩被鍨�
+          dic: '', // 瀛楀吀绫诲瀷
+          bsm: '', // 鐗规畩鏍囪瘑
+          templateId: '', // 鍘熷璁板綍妯℃澘
+          inspectionItemClass: '', // 妫�楠岄」鍒嗙被
+          inspectionItemClassEn: '', // 妫�楠岄」鍒嗙被EN
+          method: '', // 璇曢獙鏂规硶
+          radiusList: [], // 鏉′欢
+          rates: '', // 鏉′欢
+          delegateRequestFlag: null,//鏄惁濮旀墭瑕佹眰
         }
         this.resetForm('editForm')
       } else {
@@ -310,15 +329,19 @@
       }
     },
     // 鎻愪氦缂栬緫
-    handleEdit () {
+    handleEdit() {
       this.$refs.editForm.validate(valid => {
         if (valid) {
           this.editLoad = true
           let obj = this.HaveJson(this.editForm)
           obj.method = JSON.stringify(obj.method)
           obj.sample = JSON.stringify(obj.sample)
-          obj.radiusList = JSON.stringify(obj.radiusList)
-          if(obj.id){
+          if (obj.radiusList?.length > 0) {
+            obj.radiusList = JSON.stringify(obj.radiusList)
+          } else {
+            obj.radiusList = null
+          }
+          if (obj.id) {
             // 淇敼
             upItemParameter(obj).then(res => {
               this.editLoad = false
@@ -331,7 +354,7 @@
             }).catch(e => {
               this.editLoad = false
             })
-          }else{
+          } else {
             // 鏂板
             addItemParameter(obj).then(res => {
               this.editLoad = false
@@ -349,31 +372,31 @@
       })
     },
     // 鍏抽棴寮规
-    closeDia () {
+    closeDia() {
       this.editFormDia = false
       this.resetForm("editForm");
     },
     selectTestObjectByName() {
       getItemTree().then(res => {
         if (res.data.length > 0) {
-          res.data.forEach(a=>{
+          res.data.forEach(a => {
             this.cascaderFieldData(a)
           })
           this.itemParameterData.cascaderField.sample.tree = res.data
         }
       })
     },
-    cascaderFieldData(val){
-      if(val.children === undefined) {
+    cascaderFieldData(val) {
+      if (val.children === undefined) {
         return
-      }else if(val.children.length==0){
+      } else if (val.children.length == 0) {
         val.label = val.name
         val.value = val.id
         delete val.children
-      }else{
+      } else {
         val.label = val.name
         val.value = val.id
-        val.children.forEach(a=>{
+        val.children.forEach(a => {
           a.label = a.name
           a.value = a.id
           this.cascaderFieldData(a)
@@ -383,28 +406,28 @@
     getSelectStandardMethods() {
       selectStandardMethods().then(res => {
         let data = []
-          if (res.data.length > 0) {
-            res.data.forEach(a => {
-              data.push({
-                label: a.code,
-                value: a.code
-              })
+        if (res.data.length > 0) {
+          res.data.forEach(a => {
+            data.push({
+              label: a.code,
+              value: a.id,
             })
-            this.methodList = data
-          }
+          })
+          this.methodList = data
+        }
       })
     },
     obtainItemParameterList() {
       obtainItemParameterList().then(res => {
         let data = []
-          if (res.data.length > 0) {
-            res.data.forEach(a => {
-              data.push({
-                label: a.laboratoryName,
-                value: a.id
-              })
+        if (res.data.length > 0) {
+          res.data.forEach(a => {
+            data.push({
+              label: a.laboratoryName,
+              value: a.id
             })
-          }
+          })
+        }
         this.laboratoryList = data
       })
     },

--
Gitblit v1.9.3