From d6723c2a0b2d5262ae156d71eadde66a884084eb Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 17 九月 2026 15:15:16 +0800
Subject: [PATCH] 新疆——新聚lims 1.检验单详情展示修改 2.委托单详情展示优化
---
src/views/business/inspectionTask/components/InspectionWord.vue | 21 ++-----
src/views/business/productOrder/components/addView.vue | 49 ----------------
src/views/business/inspectionView/index.vue | 63 ++++++++++-----------
src/views/business/inspectionTask/inspection.vue | 25 +++-----
4 files changed, 45 insertions(+), 113 deletions(-)
diff --git a/src/views/business/inspectionTask/components/InspectionWord.vue b/src/views/business/inspectionTask/components/InspectionWord.vue
index 19b5037..54ddbd0 100644
--- a/src/views/business/inspectionTask/components/InspectionWord.vue
+++ b/src/views/business/inspectionTask/components/InspectionWord.vue
@@ -48,7 +48,7 @@
placeholder="璇疯緭鍏ユ娴嬪湴鐐�" size="small" style="width: 200px"
@change="m => subOtherForm(m, 'detectionPlace')"></el-input>
</el-form-item>
- <el-form-item v-if="isDirectTemplateOrder()" label="璁惧:">
+ <el-form-item label="璁惧:">
<el-select v-model="currentOtherForm.deviceIds" :disabled="state != 1" multiple filterable clearable
size="small" placeholder="璇烽�夋嫨璁惧" style="width: 360px"
@change="m => subOtherForm(m, 'deviceIds')">
@@ -523,9 +523,7 @@
this.retestTag = '1'
}
this.getEquipOptions(1)
- if (this.sonLaboratory === '鏂拌仛') {
- this.loadDeviceOptions()
- }
+ this.loadDeviceOptions()
// 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
let list = await this.getCurrentProduct(this.currentSample.id, 0)
if (list === undefined) {
@@ -1357,12 +1355,6 @@
})
}
},
- // 鏂拌仛鐩存帴缁戝畾妯℃澘鐨勫崟鎹紝璁惧鎸夋ā鏉块�夋嫨
- isDirectTemplateOrder() {
- return this.sonLaboratory === '鏂拌仛' &&
- Array.isArray(this.insOrder.templateConditions) &&
- this.insOrder.templateConditions.length > 0
- },
loadDeviceOptions() {
search({ status: 0 }).then(res => {
this.deviceOptions = (res.data || []).map(device => ({
@@ -1382,11 +1374,12 @@
upInsReview(e) {
if (e == 1) {
// 閫氳繃
+ // 姣忎釜妯℃澘閮借鏈夌粨璁猴紱鍏ㄩ儴鍚堟牸鎵嶇畻鏁村崟鍚堟牸
const insResults = this.tableLists.map(
item => (this.otherForm[item.templateId] || {}).insResult
)
const missingIndex = insResults.findIndex(result => result !== 0 && result !== 1)
- if (this.isDirectTemplateOrder() && missingIndex > -1) {
+ if (missingIndex > -1) {
this.$message.error(`璇烽�夋嫨銆�${this.tableLists[missingIndex].templateName}銆嶇殑妫�楠岀粨璁篳)
return
}
@@ -1397,9 +1390,7 @@
laboratory: this.sonLaboratory,
tell: null,
userId: this.checkUser,
- insResult: this.isDirectTemplateOrder()
- ? (insResults.every(result => result === 1) ? 1 : 0)
- : this.insOrder.insResult
+ insResult: insResults.every(result => result === 1) ? 1 : 0
}).then(res => {
if (res.code === 200) {
this.$message.success("鎿嶄綔鎴愬姛")
@@ -1481,7 +1472,7 @@
if (!form.humidity) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑婀垮害`)
if (!form.detectionTime) missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑妫�娴嬫椂闂碻)
if (!form.detectionPlace) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑妫�娴嬪湴鐐筦)
- if (this.isDirectTemplateOrder() && (!form.deviceIds || form.deviceIds.length === 0)) {
+ if (!form.deviceIds || form.deviceIds.length === 0) {
missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑璁惧`)
}
})
diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index 342b500..c05b7fa 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -177,7 +177,7 @@
</div>
<!-- 褰撳墠妫�楠屾ā鏉跨殑妫�娴嬫潯浠朵笌妫�楠岀粨璁� -->
<div class="template-panel">
- <el-form v-if="showTemplateConditions" :inline="true" :model="currentOtherForm" class="form-inline"
+ <el-form :inline="true" :model="currentOtherForm" class="form-inline"
size="small" label-width="84px">
<el-form-item v-if="insOrder.ifsOrderType!=='02wg'" label="娓╁害:">
<el-input v-model="currentOtherForm.temperature" :disabled="state > 1" placeholder="" size="small"
@@ -189,16 +189,16 @@
style="width: 90px" @change="(m) => subOtherForm(m, 'humidity')"></el-input>
<span class="template-panel__unit">%RH</span>
</el-form-item>
- <el-form-item v-if="insOrder.ifsOrderType!=='02wg'" label="妫�娴嬫椂闂�:">
+ <el-form-item label="妫�娴嬫椂闂�:">
<el-date-picker v-model="currentOtherForm.detectionTime" :disabled="state > 1" type="date"
value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鏃ユ湡" size="small" style="width: 160px"
@change="(m) => subOtherForm(m, 'detectionTime')"></el-date-picker>
</el-form-item>
- <el-form-item v-if="insOrder.ifsOrderType!=='02wg'" label="妫�娴嬪湴鐐�:">
+ <el-form-item label="妫�娴嬪湴鐐�:">
<el-input v-model="currentOtherForm.detectionPlace" :disabled="state > 1" clearable placeholder="璇疯緭鍏ユ娴嬪湴鐐�"
size="small" style="width: 200px" @change="(m) => subOtherForm(m, 'detectionPlace')"></el-input>
</el-form-item>
- <el-form-item v-if="isDirectTemplateOrder()" label="璁惧:">
+ <el-form-item label="璁惧:">
<el-select v-model="currentOtherForm.deviceIds" :disabled="state != 1" multiple filterable clearable
size="small" placeholder="璇烽�夋嫨璁惧" style="width: 360px"
@change="(m) => subOtherForm(m, 'deviceIds')">
@@ -207,8 +207,7 @@
</el-form-item>
</el-form>
<!-- 澶嶆牳鏃舵墠鑳介�� -->
- <el-form :inline="true" :model="currentOtherForm"
- :class="['form-inline', { 'template-panel__conclusion--divided': showTemplateConditions }]"
+ <el-form :inline="true" :model="currentOtherForm" class="form-inline template-panel__conclusion--divided"
size="small" label-width="84px">
<el-form-item label="妫�楠岀粨璁�:">
<el-radio-group v-model="currentOtherForm.insResult" :disabled="state != 2"
@@ -870,10 +869,6 @@
}
);
},
- // 02wg 鍗曟病鏈夋俯婀垮害锛涙柊鑱氱洿鎺ョ粦瀹氭ā鏉跨殑鍗曞彧鏈夎澶�
- showTemplateConditions() {
- return this.insOrder.ifsOrderType !== "02wg" || this.isDirectTemplateOrder();
- },
},
created() {
this.saveQueue = Promise.resolve();
@@ -1159,9 +1154,7 @@
this.rawMaterialTag = "1";
}
this.getEquipOptions(1);
- if (this.sonLaboratory === "鏂拌仛") {
- this.loadDeviceOptions();
- }
+ this.loadDeviceOptions();
// 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
let list = await this.getCurrentProduct(this.currentSample.id, 0);
this.currentSample.insProduct = this.HaveJson(list);
@@ -2364,10 +2357,10 @@
if (this.insOrder.ifsOrderType !== "02wg") {
if (!form.temperature) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑娓╁害`);
if (!form.humidity) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑婀垮害`);
- if (!form.detectionTime) missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑妫�娴嬫椂闂碻);
- if (!form.detectionPlace) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑妫�娴嬪湴鐐筦);
}
- if (this.isDirectTemplateOrder() && (!form.deviceIds || form.deviceIds.length === 0)) {
+ if (!form.detectionTime) missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑妫�娴嬫椂闂碻);
+ if (!form.detectionPlace) missing.push(`璇峰~鍐欍��${m.templateName}銆嶇殑妫�娴嬪湴鐐筦);
+ if (!form.deviceIds || form.deviceIds.length === 0) {
missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑璁惧`);
}
});
diff --git a/src/views/business/inspectionView/index.vue b/src/views/business/inspectionView/index.vue
index eec9fe9..5a520f1 100644
--- a/src/views/business/inspectionView/index.vue
+++ b/src/views/business/inspectionView/index.vue
@@ -21,13 +21,18 @@
<el-form-item label="濮旀墭缂栧彿:">
<el-input v-model="insOrder.entrustCode" clearable disabled placeholder="璇疯緭鍏�" size="small"></el-input>
</el-form-item>
+ <el-form-item label="妫�娴嬩緷鎹�:">
+ <el-tooltip :content="standardDisplayName(insOrder.sample)" :disabled="!insOrder.sample">
+ <el-input :value="standardDisplayName(insOrder.sample)" clearable disabled size="small"></el-input>
+ </el-tooltip>
+ </el-form-item>
+ <el-form-item label="鏍峰搧鍚嶇О:">
+ <el-input :value="insOrder.sampleView || '-'" clearable disabled size="small"></el-input>
+ </el-form-item>
<el-form-item label="鏍峰搧缂栧彿:">
<el-tooltip :content="currentSample.sampleCode" :disabled="!currentSample.sampleCode">
<el-input v-model="currentSample.sampleCode" clearable disabled placeholder="璇疯緭鍏�" size="small"></el-input>
</el-tooltip>
- </el-form-item>
- <el-form-item label="鏍峰搧鍚嶇О:">
- <el-input v-model="currentSample.sample" clearable disabled placeholder="璇疯緭鍏�" size="small"></el-input>
</el-form-item>
<el-form-item label="鏍峰搧鏁伴噺:">
<el-input v-model="insOrder.testQuantity" clearable disabled placeholder="璇疯緭鍏�" size="small"></el-input>
@@ -132,7 +137,7 @@
</div>
<!-- 褰撳墠妫�楠屾ā鏉跨殑妫�娴嬫潯浠朵笌妫�楠岀粨璁� -->
<div class="template-panel">
- <el-form v-if="showTemplateConditions" :inline="true" :model="currentOtherForm" class="form-inline"
+ <el-form :inline="true" :model="currentOtherForm" class="form-inline"
size="small" label-width="84px">
<el-form-item v-if="insOrder.ifsOrderType !== '02wg'" label="娓╁害:">
<el-input v-model="currentOtherForm.temperature" :disabled="state > 1" size="small"
@@ -144,17 +149,17 @@
style="width: 90px" @change="m => subOtherForm(m, 'humidity')" />
<span class="template-panel__unit">%RH</span>
</el-form-item>
- <el-form-item v-if="insOrder.ifsOrderType !== '02wg'" label="妫�娴嬫椂闂�:">
+ <el-form-item label="妫�娴嬫椂闂�:">
<el-date-picker v-model="currentOtherForm.detectionTime" :disabled="state > 1" type="date"
value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨鏃ユ湡" size="small" style="width: 160px"
@change="m => subOtherForm(m, 'detectionTime')" />
</el-form-item>
- <el-form-item v-if="insOrder.ifsOrderType !== '02wg'" label="妫�娴嬪湴鐐�:">
+ <el-form-item label="妫�娴嬪湴鐐�:">
<el-input v-model="currentOtherForm.detectionPlace" :disabled="state > 1" clearable
placeholder="璇疯緭鍏ユ娴嬪湴鐐�" size="small" style="width: 200px"
@change="m => subOtherForm(m, 'detectionPlace')" />
</el-form-item>
- <el-form-item v-if="isDirectTemplateOrder()" label="璁惧:">
+ <el-form-item label="璁惧:">
<el-select v-model="currentOtherForm.deviceIds" :disabled="state != 1" multiple filterable clearable
placeholder="璇烽�夋嫨璁惧" size="small" style="width: 360px"
@change="m => subOtherForm(m, 'deviceIds')">
@@ -163,8 +168,7 @@
</el-select>
</el-form-item>
</el-form>
- <el-form :inline="true" :model="currentOtherForm"
- :class="['form-inline', { 'template-panel__conclusion--divided': showTemplateConditions }]"
+ <el-form :inline="true" :model="currentOtherForm" class="form-inline template-panel__conclusion--divided"
size="small" label-width="84px">
<el-form-item label="妫�楠岀粨璁�:">
<el-radio-group v-model="currentOtherForm.insResult" :disabled="state != 2"
@@ -579,7 +583,6 @@
reviewLoading: false,
reviewDia: false,
noReason: "",
- reviewInsResult: null,
tableWidth: 1000,
currentTable: null,
tableLists: [],
@@ -757,9 +760,6 @@
insResult: null,
};
},
- showTemplateConditions() {
- return this.insOrder.ifsOrderType !== "02wg" || this.isDirectTemplateOrder();
- },
},
created() {
this.saveQueue = Promise.resolve();
@@ -918,7 +918,6 @@
laboratory: this.sonLaboratory,
}).then(async (res) => {
this.insOrder = res.data.insOrder;
- this.reviewInsResult = this.insOrder.insResult;
this.supplierDensity = res.data.supplierDensity;
this.getList()
this.urgentList.forEach((m) => {
@@ -952,9 +951,7 @@
this.rawMaterialTag = "1";
}
this.getEquipOptions(1);
- if (this.sonLaboratory === "鏂拌仛") {
- this.loadDeviceOptions();
- }
+ this.loadDeviceOptions();
// 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
let list = await this.getCurrentProduct(this.currentSample.id, 0);
this.currentSample.insProduct = this.HaveJson(list);
@@ -2042,21 +2039,16 @@
upInsReview(e) {
if (e == 1) {
// 閫氳繃
- let finalInsResult = this.reviewInsResult;
- if (this.isDirectTemplateOrder()) {
- const insResults = this.tableLists.map(
- item => (this.otherForm[item.templateId] || {}).insResult
- );
- const missingIndex = insResults.findIndex(result => result !== 0 && result !== 1);
- if (missingIndex > -1) {
- this.$message.error(`璇烽�夋嫨銆�${this.tableLists[missingIndex].templateName}銆嶇殑妫�楠岀粨璁篳);
- return;
- }
- finalInsResult = insResults.every(result => result === 1) ? 1 : 0;
- } else if (finalInsResult !== 0 && finalInsResult !== 1) {
- this.$message.error("璇烽�夋嫨妫�楠岀粨璁�");
+ // 姣忎釜妯℃澘閮借鏈夌粨璁猴紱鍏ㄩ儴鍚堟牸鎵嶇畻鏁村崟鍚堟牸
+ const insResults = this.tableLists.map(
+ item => (this.otherForm[item.templateId] || {}).insResult
+ );
+ const missingIndex = insResults.findIndex(result => result !== 0 && result !== 1);
+ if (missingIndex > -1) {
+ this.$message.error(`璇烽�夋嫨銆�${this.tableLists[missingIndex].templateName}銆嶇殑妫�楠岀粨璁篳);
return;
}
+ const finalInsResult = insResults.every(result => result === 1) ? 1 : 0;
this.reviewLoading = true;
verifyPlan({
orderId: this.orderId,
@@ -2123,10 +2115,10 @@
if (this.insOrder.ifsOrderType !== "02wg") {
if (!form.temperature) missing.push(`璇峰~鍐欍��${item.templateName}銆嶇殑娓╁害`);
if (!form.humidity) missing.push(`璇峰~鍐欍��${item.templateName}銆嶇殑婀垮害`);
- if (!form.detectionTime) missing.push(`璇烽�夋嫨銆�${item.templateName}銆嶇殑妫�娴嬫椂闂碻);
- if (!form.detectionPlace) missing.push(`璇峰~鍐欍��${item.templateName}銆嶇殑妫�娴嬪湴鐐筦);
}
- if (this.isDirectTemplateOrder() && (!form.deviceIds || form.deviceIds.length === 0)) {
+ if (!form.detectionTime) missing.push(`璇烽�夋嫨銆�${item.templateName}銆嶇殑妫�娴嬫椂闂碻);
+ if (!form.detectionPlace) missing.push(`璇峰~鍐欍��${item.templateName}銆嶇殑妫�娴嬪湴鐐筦);
+ if (!form.deviceIds || form.deviceIds.length === 0) {
missing.push(`璇烽�夋嫨銆�${item.templateName}銆嶇殑璁惧`);
}
});
@@ -2348,6 +2340,11 @@
// 閫夋嫨銆佺Щ闄ゃ�佹竻绌哄潎鐢� change 浜嬩欢瑙﹀彂锛岀珛鍗充繚瀛樸��
this.saveInsContext();
},
+ standardDisplayName(value) {
+ if (!value) return "-";
+ const separatorIndex = value.indexOf(" - ");
+ return separatorIndex > -1 ? value.slice(0, separatorIndex) : value;
+ },
isDirectTemplateOrder() {
return this.sonLaboratory === "鏂拌仛" &&
Array.isArray(this.insOrder.templateConditions) &&
diff --git a/src/views/business/productOrder/components/addView.vue b/src/views/business/productOrder/components/addView.vue
index 366be7c..48765fb 100644
--- a/src/views/business/productOrder/components/addView.vue
+++ b/src/views/business/productOrder/components/addView.vue
@@ -60,38 +60,6 @@
</el-descriptions-item>
<el-descriptions-item label="澶囨敞" :span="4">{{ addObj.remark || '-' }}</el-descriptions-item>
</el-descriptions>
- <el-form class="newju-order-form" :model="addObj" label-width="108px" label-position="right">
- <el-row>
- <el-col :span="6"><el-form-item label="浜у搧鍚嶇О"><el-input v-model="addObj.sample" disabled size="small" /></el-form-item></el-col>
- <el-col :span="6"><el-form-item label="鐢熶骇鍗曚綅"><el-input v-model="addObj.production" disabled size="small" /></el-form-item></el-col>
- <el-col :span="6"><el-form-item label="濮旀墭鍗曚綅"><el-input v-model="addObj.company" disabled size="small" /></el-form-item></el-col>
- <el-col :span="6"><el-form-item label="妫�楠岀被鍒�"><el-select v-model="addObj.orderType" disabled size="small"><el-option v-for="item in dict.type.check_type1" :key="item.value" :label="item.label" :value="item.value" /></el-select></el-form-item></el-col>
- </el-row>
- <el-row v-if="boundTemplateList.length">
- <el-col :span="24">
- <el-form-item label="鍘熷璁板綍妯℃澘">
- <div class="template-tag-list">
- <el-tag v-for="item in boundTemplateList" :key="item.templateId" size="small" effect="plain">{{ item.name }}</el-tag>
- </div>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="6"><el-form-item label="鏍峰搧鏁伴噺"><el-input v-model="addObj.testQuantity" disabled size="small" /></el-form-item></el-col>
- <el-col :span="6"><el-form-item label="鏍峰搧缂栧彿"><el-input v-model="sampleCode" disabled size="small" /></el-form-item></el-col>
- <el-col :span="6"><el-form-item label="鏍峰搧澶栬"><el-input v-model="addObj.sampleStatus" disabled size="small" /></el-form-item></el-col>
- <el-col :span="6"><el-form-item label="閫佹牱浜�"><el-input v-model="addObj.prepareUser" disabled size="small" /></el-form-item></el-col>
- </el-row>
- <el-row>
- <el-col :span="6"><el-form-item label="鐢熶骇鏃ユ湡"><el-date-picker v-model="addObj.productionDate" type="date" value-format="yyyy-MM-dd" disabled size="small" /></el-form-item></el-col>
- <el-col :span="6"><el-form-item label="鐢熶骇鎵瑰彿"><el-input v-model="addObj.productionBatch" disabled size="small" /></el-form-item></el-col>
- <el-col :span="6"><el-form-item label="閫佹牱鏃ユ湡"><el-date-picker v-model="addObj.sampleDate" type="date" value-format="yyyy-MM-dd" disabled size="small" /></el-form-item></el-col>
- <el-col :span="6"><el-form-item label="鑱旂郴鏂瑰紡"><el-input v-model="addObj.phone" disabled size="small" /></el-form-item></el-col>
- </el-row>
- <el-row>
- <el-col :span="12"><el-form-item label="澶囨敞"><el-input v-model="addObj.remark" disabled size="small" style="width: 520px" /></el-form-item></el-col>
- </el-row>
- </el-form>
<el-form v-show="false" ref="addObj" :inline="true" :model="addObj" :rules="addObjRules" label-width="108px" label-position="right">
<el-row>
<el-col :span="6">
@@ -2306,22 +2274,5 @@
}
.order-detail__empty {
color: #c0c4cc;
-}
-.newju-order-form >>> .el-form-item {
- display: flex;
- margin-right: 0;
-}
-.newju-order-form >>> .el-form-item__label {
- flex: 0 0 108px;
-}
-.newju-order-form >>> .el-form-item__content {
- flex: 1;
- min-width: 0;
- margin-left: 0 !important;
-}
-.newju-order-form >>> .el-input,
-.newju-order-form >>> .el-select,
-.newju-order-form >>> .el-date-editor {
- width: 100%;
}
</style>
--
Gitblit v1.9.3