From f10537b9d15208e1851825691470fda54ff8e68a Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 06 三月 2025 15:51:57 +0800
Subject: [PATCH] 完善能力范围

---
 src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue |  207 +++++++++++++++++-----------------
 src/api/structural/capability.js                                               |  148 ++++++++++++------------
 2 files changed, 177 insertions(+), 178 deletions(-)

diff --git a/src/api/structural/capability.js b/src/api/structural/capability.js
index 7dc11ab..e6c3fe1 100644
--- a/src/api/structural/capability.js
+++ b/src/api/structural/capability.js
@@ -1,151 +1,151 @@
-import request from '@/utils/request'
+import request from "@/utils/request";
 
 // 鑾峰彇妫�楠岄」鐩弬鏁�
 export function selectItemParameterList(query) {
   return request({
-    url: '/capacityScope/selectItemParameterList',
-    method: 'get',
-    params: query
-  })
+    url: "/capacityScope/selectItemParameterList",
+    method: "get",
+    params: query,
+  });
 }
 // 鑾峰彇妫�娴嬪璞�
 export function selectTestObjectList(query) {
   return request({
-    url: '/capacityScope/selectTestObjectList',
-    method: 'get',
-    params: query
-  })
+    url: "/capacityScope/selectTestObjectList",
+    method: "get",
+    params: query,
+  });
 }
 // 鏂板妫�楠岄」鐩弬鏁�
 export function addItemParameter(query) {
   return request({
-    url: '/capacityScope/addItemParameter',
-    method: 'post',
-    data: query
-  })
+    url: "/capacityScope/addItemParameter",
+    method: "post",
+    data: query,
+  });
 }
 // 鍒犻櫎妫�楠岄」鐩弬鏁�
 export function delItemParameter(query) {
   return request({
-    url: '/capacityScope/delItemParameter',
-    method: 'delete',
-    params: query
-  })
+    url: "/capacityScope/delItemParameter",
+    method: "delete",
+    params: query,
+  });
 }
 // 淇敼妫�楠岄」鐩弬鏁�
 export function upItemParameter(query) {
   return request({
-    url: '/capacityScope/upItemParameter',
-    method: 'post',
-    data: query
-  })
+    url: "/capacityScope/upItemParameter",
+    method: "post",
+    data: query,
+  });
 }
 // 鑾峰彇妫�楠屽璞℃爲
 export function getItemTree() {
   return request({
-    url: '/capacityScope/getItemTree',
-    method: 'get'
-  })
+    url: "/capacityScope/getItemTree",
+    method: "get",
+  });
 }
 // 鏂板妫�娴嬪璞�
 export function addTestObject(query) {
   return request({
-    url: '/capacityScope/addTestObject',
-    method: 'post',
-    data: query
-  })
+    url: "/capacityScope/addTestObject",
+    method: "post",
+    data: query,
+  });
 }
 // 鍒犻櫎妫�娴嬪璞�
 export function delTestObject(query) {
   return request({
-    url: '/capacityScope/delTestObject',
-    method: 'delete',
-    params: query
-  })
+    url: "/capacityScope/delTestObject",
+    method: "delete",
+    params: query,
+  });
 }
 // 淇敼妫�娴嬪璞�
 export function upTestObject(query) {
   return request({
-    url: '/capacityScope/upTestObject',
-    method: 'post',
-    data: query
-  })
+    url: "/capacityScope/upTestObject",
+    method: "post",
+    data: query,
+  });
 }
 // 鏌ヨ妫�楠屽璞$殑浜у搧缁存姢鍒楄〃
 export function selectProductListByObjectId(query) {
   return request({
-    url: '/capacityScope/selectProductListByObjectId',
-    method: 'get',
-    params: query
-  })
+    url: "/capacityScope/selectProductListByObjectId",
+    method: "get",
+    params: query,
+  });
 }
 // 鏂板浜у搧
 export function addProduct(query) {
   return request({
-    url: '/capacityScope/addProduct',
-    method: 'post',
-    data: query
-  })
+    url: "/capacityScope/addProduct",
+    method: "post",
+    data: query,
+  });
 }
 // 鍒犻櫎浜у搧
 export function delProduct(query) {
   return request({
-    url: '/capacityScope/delProduct',
-    method: 'delete',
-    params: query
-  })
+    url: "/capacityScope/delProduct",
+    method: "delete",
+    params: query,
+  });
 }
 // 淇敼浜у搧
 export function upProduct(query) {
   return request({
-    url: '/capacityScope/upProduct',
-    method: 'post',
-    data: query
-  })
+    url: "/capacityScope/upProduct",
+    method: "post",
+    data: query,
+  });
 }
 // 鑾峰彇瀹為獙瀹ゅ悕绉�
 export function obtainItemParameterList() {
   return request({
-    url: '/laboratoryScope/obtainItemParameterList',
-    method: 'get',
-  })
+    url: "/laboratoryScope/obtainItemParameterList",
+    method: "get",
+  });
 }
 // 鏌ヨ鍘熷璁板綍妯℃澘鏋氫妇
 export function getStandardTemplate() {
   return request({
-    url: '/StandardTemplate/getStandardTemplate',
-    method: 'get',
-  })
+    url: "/StandardTemplate/getStandardTemplate",
+    method: "get",
+  });
 }
 // 鏍规嵁浜у搧id鏌ヨ鍘傚瀵嗗害缁戝畾
 export function selectSupplierDensityByProductId(query) {
   return request({
-    url: '/productSupplierDensity/selectSupplierDensityByProductId',
-    method: 'get',
-    params: query
-  })
+    url: "/productSupplierDensity/selectSupplierDensityByProductId",
+    method: "get",
+    params: query,
+  });
 }
 // 鏂板浜у搧鍘傚瀵嗗害缁戝畾
 export function addProductSupplierDensity(query) {
   return request({
-    url: '/productSupplierDensity/addProductSupplierDensity',
-    method: 'post',
-    data: query
-  })
+    url: "/productSupplierDensity/addProductSupplierDensity",
+    method: "post",
+    data: query,
+  });
 }
 // 淇敼浜у搧鍘傚瀵嗗害缁戝畾
 export function updateProductSupplierDensity(query) {
   return request({
-    url: '/productSupplierDensity/updateProductSupplierDensity',
-    method: 'post',
-    data: query
-  })
+    url: "/productSupplierDensity/updateProductSupplierDensity",
+    method: "post",
+    data: query,
+  });
 }
 // 鍒犻櫎浜у搧鍘傚瀵嗗害缁戝畾
 export function deleteProductSupplierDensity(query) {
   return request({
-    url: '/productSupplierDensity/deleteProductSupplierDensity',
-    method: 'delete',
-    params: query
-  })
+    url: "/productSupplierDensity/deleteProductSupplierDensity",
+    method: "delete",
+    params: query,
+  });
 }
diff --git a/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue b/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue
index d902911..84b7c89 100644
--- a/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue
+++ b/src/views/structural/capabilityAndLaboratory/capabilityComponents/EditForm.vue
@@ -30,9 +30,8 @@
           <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: 'name', 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 +44,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 +74,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,80 +100,72 @@
         <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>
         </el-row>
         <el-row>
           <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-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="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-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
           <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>
-        </el-row>
-        <el-row>
           <el-col :span="12">
             <el-form-item label="妫�楠岄」鍒嗙被锛�" prop="inspectionItemClass">
               <el-input v-model="editForm.inspectionItemClass" clearable size="small"></el-input>
             </el-form-item>
           </el-col>
+        </el-row>
+        <el-row>
           <el-col :span="12">
             <el-form-item label="妫�楠岄」鍒嗙被EN锛�" prop="inspectionItemClassEn">
               <el-input v-model="editForm.inspectionItemClassEn" clearable size="small"></el-input>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row>
           <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.label"></el-option>
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <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>
+              <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-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-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-form>
       <span slot="footer" class="dialog-footer">
         <el-button @click="closeDia">鍙� 娑�</el-button>
@@ -190,7 +184,8 @@
   obtainItemParameterList,
   upItemParameter
 } from "@/api/structural/capability";
-import {selectStandardMethods} from "@/api/standard/standardLibrary";
+import { selectStandardMethods } from "@/api/standard/standardLibrary";
+import { optionselect } from "@/api/system/dict/type";
 
 export default {
   name: "EditForm",
@@ -225,8 +220,7 @@
         inspectionItemClass: '', // 妫�楠岄」鍒嗙被
         inspectionItemClassEn: '', // 妫�楠岄」鍒嗙被EN
         method: '', // 璇曢獙鏂规硶
-        radiusList: [], // 鏉′欢
-        rates: '', // 鏉′欢
+        dic: '', //瀛楀吀绫诲瀷
       },
       sampleList: [], // 妫�楠屽璞′笅鎷夋
       laboratoryList: [], // 鍦烘墍涓嬫媺妗�
@@ -234,7 +228,6 @@
       dicList: [], // 瀛楀吀绫诲瀷涓嬫媺妗�
       templateIdList: [], // 鍘熷璁板綍妯℃澘涓嬫媺妗�
       methodList: [], // 璇曢獙鏂规硶涓嬫媺妗�
-      radiusListList: [], // 鏉′欢涓嬫媺妗�
       itemParameterData: {
         cascaderField: {
           sample: {
@@ -262,12 +255,15 @@
           { required: true, message: '璇烽�夋嫨鍘熷璁板綍妯℃澘', trigger: 'change' }
         ]
       },
-      operationType: ''
+      operationType: '',
     }
+  },
+  mounted() {
+    this.getDicList()
   },
   // 鏂规硶闆嗗悎
   methods: {
-    openDia (type, row) {
+    openDia(type, row) {
       this.operationType = type
       this.editFormDia = true
       this.obtainItemParameterList() // 鍦烘墍绫诲瀷
@@ -277,52 +273,45 @@
       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: '', // 璇曢獙鏂规硶
+          dic: '', //瀛楀吀绫诲瀷
         }
         this.resetForm('editForm')
       } else {
         this.editForm = this.HaveJson(row)
         this.editForm.sample = JSON.parse(this.editForm.sample)
-        this.editForm.radiusList = JSON.parse(this.editForm.radiusList)
         this.editForm.method = JSON.parse(this.editForm.method)
       }
     },
     // 鎻愪氦缂栬緫
-    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)
-          if (obj.radiusList?.length > 0) {
-            obj.radiusList = JSON.stringify(obj.radiusList)
-          } else {
-            obj.radiusList = null
-          }
-          if(obj.id){
+          if (obj.id) {
             // 淇敼
             upItemParameter(obj).then(res => {
               this.editLoad = false
@@ -335,7 +324,7 @@
             }).catch(e => {
               this.editLoad = false
             })
-          }else{
+          } else {
             // 鏂板
             addItemParameter(obj).then(res => {
               this.editLoad = false
@@ -353,31 +342,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)
@@ -387,28 +376,28 @@
     getSelectStandardMethods() {
       selectStandardMethods().then(res => {
         let data = []
-          if (res.data.length > 0) {
-            res.data.forEach(a => {
-              data.push({
-                label: a.code,
-                value: a.id,
-              })
+        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
       })
     },
@@ -425,6 +414,16 @@
         this.templateIdList = data
       })
     },
+    getDicList() {
+      optionselect().then(res => {
+        this.dicList = res.data.map(m => {
+          return {
+            value: m.dictType,
+            label: m.dictName
+          }
+        })
+      })
+    }
   },
 }
 </script>

--
Gitblit v1.9.3