From 2e4c2b6e96022dc4fd197ac374c7a596a78f4223 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期六, 15 二月 2025 13:31:25 +0800 Subject: [PATCH] 能力范围联调 --- src/components/capability/EditForm.vue | 466 +++++++++++++++++++++++++++------------------------------- 1 files changed, 216 insertions(+), 250 deletions(-) diff --git a/src/components/capability/EditForm.vue b/src/components/capability/EditForm.vue index 10842ec..2a74a3f 100644 --- a/src/components/capability/EditForm.vue +++ b/src/components/capability/EditForm.vue @@ -2,152 +2,176 @@ <div> <el-dialog :title="operationType === 'add' ? '鏂板' : '缂栬緫'" :visible.sync="editFormDia" width="60%" @close="closeDia"> <el-form ref="editForm" :model="editForm" :rules="editFormRules" label-width="140px"> - <el-col :span="12"> - <el-form-item label="妫�楠岄」锛�" prop="inspectionItem"> - <el-input v-model="editForm.inspectionItem" clearable size="small"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="妫�楠岄」EN锛�" prop="inspectionItemEn"> - <el-input v-model="editForm.inspectionItemEn" clearable size="small"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="妫�楠屽瓙椤癸細" prop="inspectionItemSubclass"> - <el-input v-model="editForm.inspectionItemSubclass" clearable size="small"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="妫�楠屽瓙椤笶N锛�" prop="inspectionItemSubclassEn"> - <el-input v-model="editForm.inspectionItemSubclassEn" clearable size="small"></el-input> - </el-form-item> - </el-col> - <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> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="鍗曚环(鍏�)锛�" prop="price"> - <el-input v-model="editForm.price" clearable size="small"></el-input> - </el-form-item> - </el-col> - <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-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 sonLaboratoryList" :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="askTell"> - <el-input v-model="editForm.askTell" clearable size="small"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="瑕佹眰鍊硷細" prop="ask"> - <el-input v-model="editForm.ask" clearable size="small"></el-input> - </el-form-item> - </el-col> - <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 unitList" :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="宸ユ椂(H)锛�" prop="manHour"> - <el-input v-model="editForm.manHour" clearable size="small"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="棰勮鏃堕棿(H)锛�" prop="manDay"> - <el-input v-model="editForm.manDay" clearable size="small"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="宸ユ椂鍒嗙粍锛�" prop="manHourGroup"> - <el-input v-model="editForm.manHourGroup" clearable size="small"></el-input> - </el-form-item> - </el-col> - <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 inspectionItemTypeList" :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 inspectionValueTypeList" :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-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 bsmList" :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-select> - </el-form-item> - </el-col> - <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-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-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> - </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> - </el-form-item> - </el-col> - <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="inspectionItem"> + <el-input v-model="editForm.inspectionItem" clearable size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="妫�楠岄」EN锛�" prop="inspectionItemEn"> + <el-input v-model="editForm.inspectionItemEn" clearable size="small"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="妫�楠屽瓙椤癸細" prop="inspectionItemSubclass"> + <el-input v-model="editForm.inspectionItemSubclass" clearable size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="妫�楠屽瓙椤笶N锛�" prop="inspectionItemSubclassEn"> + <el-input v-model="editForm.inspectionItemSubclassEn" clearable size="small"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <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> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鍗曚环(鍏�)锛�" prop="price"> + <el-input v-model="editForm.price" clearable size="small"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <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-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-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="瑕佹眰鎻忚堪锛�" prop="askTell"> + <el-input v-model="editForm.askTell" clearable size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="瑕佹眰鍊硷細" prop="ask"> + <el-input v-model="editForm.ask" clearable size="small"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <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-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="宸ユ椂(H)锛�" prop="manHour"> + <el-input v-model="editForm.manHour" clearable size="small"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="棰勮鏃堕棿(H)锛�" prop="manDay"> + <el-input v-model="editForm.manDay" clearable size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="宸ユ椂鍒嗙粍锛�" prop="manHourGroup"> + <el-input v-model="editForm.manHourGroup" clearable size="small"></el-input> + </el-form-item> + </el-col> + </el-row> + <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> + </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> + </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-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-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-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.value"></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> + </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> @@ -159,10 +183,20 @@ <script> +import { + addItemParameter, + getItemTree, + getStandardTemplate, + obtainItemParameterList, + upItemParameter +} from "@/api/structural/capability"; +import {selectStandardMethods} from "@/api/structural/standardMethod"; + export default { name: "EditForm", // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� components: {}, + dicts: ['sys_sub_lab', 'inspection_item_type', 'sys_unit', 'inspection_value_type', 'inspection_bsm'], data() { // 杩欓噷瀛樻斁鏁版嵁 return { @@ -196,12 +230,8 @@ }, sampleList: [], // 妫�楠屽璞′笅鎷夋 laboratoryList: [], // 鍦烘墍涓嬫媺妗� - sonLaboratoryList: [], // 璇曢獙瀹や笅鎷夋 - unitList: [], // 璁¢噺鍗曚綅涓嬫媺妗� inspectionItemTypeList: [], // 妫�楠岄」绫诲瀷涓嬫媺妗� - inspectionValueTypeList: [], // 妫�楠屽�肩被鍨嬩笅鎷夋 dicList: [], // 瀛楀吀绫诲瀷涓嬫媺妗� - bsmList: [], // 鐗规畩鏍囪瘑涓嬫媺妗� templateIdList: [], // 鍘熷璁板綍妯℃澘涓嬫媺妗� methodList: [], // 璇曢獙鏂规硶涓嬫媺妗� radiusListList: [], // 鏉′欢涓嬫媺妗� @@ -240,15 +270,9 @@ openDia (type, row) { this.operationType = type this.editFormDia = true - this.selectEnumByCategory() // 妫�楠岄」绫诲瀷 - this.selectEnumByCategoryForSpecial() // 鐗规畩鏍囪瘑 - this.selectEnumByCategoryForInspectionValueType() // 妫�楠屽�肩被鍨� this.obtainItemParameterList() // 鍦烘墍绫诲瀷 - this.selectEnumByCategoryForSLaboratory() // 瀛愬疄楠屽 this.getStandardTemplate() // 鍘熷璁板綍妯℃澘涓嬫媺妗� - this.selectEnumByCategoryForUnit() // 璁¢噺鍗曚綅 - this.selectStandardMethods() // 璇曢獙鏂规硶 - this.selectDocUnit() // 瀛楀吀绫诲瀷 + this.getSelectStandardMethods() // 璇曢獙鏂规硶 this.selectTestObjectByName() // 妫�楠屽璞� if (type === 'add') { this.editForm = { @@ -277,7 +301,7 @@ radiusList: [], // 鏉′欢 rates: '', // 鏉′欢 } - this.$refs.editForm.resetFields() + this.resetForm('editForm') } else { this.editForm = this.HaveJson(row) this.editForm.sample = JSON.parse(this.editForm.sample) @@ -293,45 +317,34 @@ let obj = this.HaveJson(this.editForm) obj.method = JSON.stringify(obj.method) obj.sample = JSON.stringify(obj.sample) - console.log('obj.radiusList---', obj.radiusList) if (obj.radiusList !== null && obj.radiusList.length > 0) { obj.radiusList = JSON.stringify(obj.radiusList) } if(obj.id){ // 淇敼 - this.$axios.post(this.$api.capacityScope.upItemParameter, obj, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { + upItemParameter(obj).then(res => { this.editLoad = false - if (res.code === 201) { + if (res.code === 500) { return } this.$message.success('淇敼鎴愬姛') this.editFormDia = false - this.$parent.refreshTable('page') + this.$emit('refreshTable') }).catch(e => { this.editLoad = false - this.editFormDia = false }) }else{ // 鏂板 - this.$axios.post(this.$api.capacityScope.addItemParameter, obj, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { + addItemParameter(obj).then(res => { this.editLoad = false - if (res.code === 201) { + if (res.code === 500) { return } this.$message.success('娣诲姞鎴愬姛') this.editFormDia = false - this.$parent.refreshTable('page') + this.$emit('refreshTable') }).catch(e => { this.editLoad = false - this.editFormDia = false }) } } @@ -343,13 +356,13 @@ this.$refs.editForm.resetFields() }, selectTestObjectByName() { - this.$axios.get(this.$api.capacityScope.getItemTree).then(res => { - res.data.forEach(a=>{ - this.cascaderFieldData(a) - }) - this.itemParameterData.cascaderField.sample.tree = res.data - // this.sampleTree = res.data - // console.log(2222,res.data) + getItemTree().then(res => { + if (res.data.length > 0) { + res.data.forEach(a=>{ + this.cascaderFieldData(a) + }) + this.itemParameterData.cascaderField.sample.tree = res.data + } }) }, cascaderFieldData(val){ @@ -369,62 +382,36 @@ }) } }, - selectStandardMethods() { - this.$axios.get(this.$api.standardMethod.selectStandardMethods).then(res => { + getSelectStandardMethods() { + selectStandardMethods().then(res => { let data = [] - res.data.forEach(a => { - data.push({ - label: a.code, - value: a.code - }) - }) - this.methodList = data - }) - }, - selectDocUnit() { - this.$axios.post(this.$api.enums.getDic).then(res => { - this.dicList = res.data.map(m => { - return { - label: m, - value: m + if (res.data.length > 0) { + res.data.forEach(a => { + data.push({ + label: a.code, + value: a.code + }) + }) + this.methodList = data } - }) }) }, obtainItemParameterList() { - this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => { + obtainItemParameterList().then(res => { let data = [] - // let data0 = [] - res.data.forEach(a => { - data.push({ - label: a.laboratoryName, - value: a.id - }) - // data0.push({ - // label: a.laboratoryName, - // value: a.laboratoryName - // }) - }) + if (res.data.length > 0) { + res.data.forEach(a => { + data.push({ + label: a.laboratoryName, + value: a.id + }) + }) + } this.laboratoryList = data }) }, - selectEnumByCategory() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "妫�楠岄」绫诲瀷" - }).then(res => { - res.data[1].type = 'info' - this.inspectionItemTypeList = res.data - }) - }, - selectEnumByCategoryForInspectionValueType() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "妫�楠屽�肩被鍨�" - }).then(res => { - this.inspectionValueTypeList = res.data - }) - }, getStandardTemplate() { - this.$axios.get(this.$api.StandardTemplate.getStandardTemplate).then(res => { + getStandardTemplate().then(res => { let data = [] res.data.forEach(a => { data.push({ @@ -436,33 +423,12 @@ this.templateIdList = data }) }, - selectEnumByCategoryForSpecial() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "鏄惁" - }).then(res => { - this.bsmList = res.data - }) - }, - selectEnumByCategoryForSLaboratory() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "瀛愬疄楠屽" - }).then(res => { - this.sonLaboratoryList = res.data - }) - }, - selectEnumByCategoryForUnit() { - this.$axios.post(this.$api.enums.selectEnumByCategory, { - category: "鍗曚綅" - }).then(res => { - this.unitList = res.data - }) - }, }, } </script> <style scoped> ->>>.el-dialog__body { +::v-deep .el-dialog__body { height: 620px; overflow-y: auto; } -- Gitblit v1.9.3