From fcbba75febaa36d23c6c49473ab5bcee0e1a2c04 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 08 四月 2025 09:37:11 +0800
Subject: [PATCH] 检验项目新增是否委托要求字段
---
src/views/business/reliabilityPlan/index.vue | 68 +++++++++++++++++++++++++++------
1 files changed, 55 insertions(+), 13 deletions(-)
diff --git a/src/views/business/reliabilityPlan/index.vue b/src/views/business/reliabilityPlan/index.vue
index c989737..a0d9c30 100644
--- a/src/views/business/reliabilityPlan/index.vue
+++ b/src/views/business/reliabilityPlan/index.vue
@@ -97,12 +97,16 @@
<el-cascader v-model="materialForm.materialName" :options="itemParameterData.cascaderField.sample.tree"
:props="{ value: 'name', label: 'name', checkStrictly: false, multiple: false, emitPath: false }"
:show-all-levels="false" clearable filterable placeholder="璇烽�夋嫨鍘熻緟鏉愬悕绉�" size="small" style="width: 100%;"
- :disabled="operationType === 'review' || operationType === 'submit'">
+ :disabled="operationType === 'review' || operationType === 'submit'" @change="handleMaterialNameChange">
</el-cascader>
</el-form-item>
<el-form-item label="闆朵欢鍙�" prop="partNo">
- <el-input v-model="materialForm.partNo" placeholder="璇峰~鍐欓浂浠跺彿"
- :disabled="operationType === 'review' || operationType === 'submit'"></el-input>
+ <el-select v-model="materialForm.partNo" placeholder="璇烽�夋嫨" clearable filterable
+ :disabled="operationType === 'review' || !materialForm.materialName || operationType === 'submit'"
+ style="width: 100%;">
+ <el-option v-for="item in materialPartNoOption" :key="item.id" :label="item.partNo" :value="item.partNo">
+ </el-option>
+ </el-select>
</el-form-item>
<!-- <el-form-item label="瀹℃牳浜�" prop="reviewerId">
<el-select v-model="proPlanForm.reviewerId" clearable filterable size="small" style="width: 50%;"
@@ -159,6 +163,7 @@
tableData: [],
typeOption: [],
partNoOption: [], // 娣诲姞浜у搧鍨嬪彿閫夐」鏁版嵁
+ materialPartNoOption:[],
tableLoading: false,
itemParameterData: {
cascaderField: {
@@ -470,19 +475,56 @@
}
} else {
this.materialDia = true
- if (this.operationType === 'add') {
- this.materialForm = {
- id: '',
- materialName: '',
- partNo: '',
- state: '',
- reviewerId: ''
+ if (this.operationType === 'add') {
+ this.materialForm = {
+ id: '',
+ materialName: '',
+ partNo: '',
+ state: '',
+ reviewerId: ''
+ }
+ } else {
+ this.materialForm = { ...row }
+ // 缂栬緫鏃惰幏鍙栭�変腑鑺傜偣鐨処D骞跺姞杞界浉鍏虫暟鎹�
+ const selectedNode = this.findNodeById(this.itemParameterData.cascaderField.sample.tree, row.materialName)
+ if (selectedNode) {
+ this.getMaterialPartNoOptions(selectedNode.id)
+ }
}
- } else {
- this.materialForm = { ...row }
- }
}
},
+
+ //鍘熻緟鏉愰浂浠跺彿閫夋嫨
+ handleMaterialNameChange(value) {
+ if (value) {
+ const selectedNode = this.findNodeById(this.itemParameterData.cascaderField.sample.tree, value)
+ if (selectedNode) {
+ this.getMaterialPartNoOptions(selectedNode.id)
+ }
+ } else {
+ this.materialPartNoOption = []
+ this.materialForm.partNo = ''
+ }
+ },
+
+ // 鑾峰彇鍘熻緟鏉愰浂浠跺彿鍒楄〃
+ getMaterialPartNoOptions(materialId) {
+ if (!materialId) {
+ this.materialPartNoOption = []
+ return
+ }
+ getPartNoList({ productId: materialId }).then(res => {
+ if (res.code === 200) {
+ this.materialPartNoOption = res.data || []
+ if (this.materialPartNoOption.length === 0) {
+ this.materialForm.partNo = ''
+ }
+ }
+ }).catch(() => {
+ this.materialPartNoOption = []
+ this.materialForm.partNo = ''
+ })
+ },
// 鎴愬搧淇℃伅鎻愪氦
submitProForm(state) {
this.submitProLoading = true
--
Gitblit v1.9.3