From 3bc3b3afb6a8a380186d3b0554f0cfedef4926d8 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 16 九月 2026 15:34:38 +0800
Subject: [PATCH] 新疆——新聚lims 1.检验任务的温湿度改为每个检验模版都填单独的温湿度 2.报告编制列表操作栏功能删除 3.检验单详情检验值输入框改为可以填汉字及数值
---
src/views/business/inspectionTask/inspection.vue | 113 ++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 77 insertions(+), 36 deletions(-)
diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index 68b3a9a..0020801 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -2,17 +2,17 @@
<div v-loading="loading" class="inspection" style="background-color: rgb(245, 247, 251);">
<el-row class="title">
<el-col v-if="insOrder.ifsOrderType!=='02wg'" :span="8" style="text-align: left">
- <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px"
+ <el-form :inline="true" :model="currentOtherForm" class="form-inline" label-width="50px"
style="text-align: right; padding-top: 0; display: inline">
<el-form-item label="娓╁害:" style="margin-bottom: 0">
- <el-input v-model="otherForm.temperature" :disabled="state > 1" placeholder="" size="small"
+ <el-input v-model="currentOtherForm.temperature" :disabled="state > 1" placeholder="" size="small"
style="width: 90px; line-height: 60px" @change="(m) => subOtherForm(m, 'temperature')"></el-input>
<span style="margin-left: 4px">鈩�</span>
</el-form-item>
<el-form-item label="婀垮害:" style="margin-bottom: 0">
- <el-input v-model="otherForm.humidity" :disabled="state > 1" placeholder="" size="small"
+ <el-input v-model="currentOtherForm.humidity" :disabled="state > 1" placeholder="" size="small"
style="width: 90px; line-height: 60px" @change="(m) => subOtherForm(m, 'humidity')"></el-input>
- <span style="margin-left: 4px">%</span>
+ <span style="margin-left: 4px">%RH</span>
</el-form-item>
</el-form>
</el-col>
@@ -22,7 +22,7 @@
<el-button v-if="typeSource == 1" size="small" type="primary" @click="openPurchase">杩涜揣楠岃瘉</el-button>
<el-button v-if="state == 1 && [0,1].includes(Number(typeSource))" size="small" type="primary"
@click="openUnPassDialog('add')">涓嶅悎鏍煎鐞�</el-button>
- <el-button size="small" type="primary" @click="sampleVisible = true; uploadSample();">鏍峰搧鍒囨崲</el-button>
+ <!-- <el-button size="small" type="primary" @click="sampleVisible = true; uploadSample();">鏍峰搧鍒囨崲</el-button> -->
<!-- <el-button v-if="state == 1" size="small" type="primary" @click="taskVisible = true">浠诲姟鍒囨崲</el-button>-->
<el-button v-if="state == 1" size="small" type="primary" @click="addVerifyDia = true">鎻愪氦</el-button>
<!-- 澶嶆牳 -->
@@ -301,12 +301,12 @@
align-items: center;
width: 100%;
">
- <i class="el-icon-caret-left table_caret" style="width: 16px" @click="caretSample(-1)"></i>
+ <!-- <i class="el-icon-caret-left table_caret" style="width: 16px" @click="caretSample(-1)"></i> -->
<div
:style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">
{{ currentSample.sampleCode }}
</div>
- <i class="el-icon-caret-right table_caret" style="width: 16px" @click="caretSample(1)"></i>
+ <!-- <i class="el-icon-caret-right table_caret" style="width: 16px" @click="caretSample(1)"></i> -->
</div>
</template>
<template v-else-if="
@@ -336,6 +336,7 @@
<lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
:height="'calc(100vh - 290px)'" @pagination="pagination" style="height: 100%; margin-top: 16px"></lims-table>
</div>
+ <!-- 鏍峰搧鍒囨崲宸插仠鐢�
<el-drawer :size="550" :visible.sync="sampleVisible" title="鏍峰搧鍒囨崲">
<el-table v-if="sampleVisible" ref="productTable" :current-row-key="currentKey" :data="sampleProduct"
:header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
@@ -356,7 +357,9 @@
<span>{{ scope.row.isLeave == 0 ? "鍚�" : "鏄�" }}</span>
</template>
</el-table-column>
+ -->
<!-- 妫�楠屽崟浼氭湁涓�涓槸鍚︽湁閰嶅鏍峰搧瀛楁鎺у埗鏄剧ず -->
+ <!--
<el-table-column v-if="insOrder.mating > 0" label="閰嶅鏍峰搧鍨嬪彿" min-width="130px" prop="joinModel"
show-overflow-tooltip></el-table-column>
<el-table-column v-if="insOrder.mating > 0" label="閰嶅鏍峰搧鍚嶇О" min-width="130px" prop="joinName"
@@ -365,6 +368,7 @@
show-overflow-tooltip></el-table-column>
</el-table>
</el-drawer>
+ -->
<el-drawer :size="500" :visible.sync="taskVisible" title="浠诲姟鍒囨崲">
<lims-table :tableData="tableData0" :column="column0" :page="page0" :tableLoading="tableLoading0"
:height="'calc(100vh - 90px)'" :currentChange="handleChangeTask"></lims-table>
@@ -685,10 +689,8 @@
inspectionItem: 1,
inspectionItemSubclass: "20(甯告俯)",
},
- otherForm: {
- humidity: null,
- temperature: null,
- },
+ // 娓╁害銆佹箍搴︽寜妯℃澘 id 鍒嗙粍锛歿 [templateId]: { temperature, humidity } }
+ otherForm: {},
equipForm: {
value0: null,
code0: null,
@@ -841,6 +843,15 @@
action() {
return this.javaApi + "/insOrderPlan/uploadFile";
},
+ // 褰撳墠妯℃澘瀵瑰簲鐨勬俯搴︺�佹箍搴�
+ currentOtherForm() {
+ return (
+ this.otherForm[this.currentTable] || {
+ temperature: null,
+ humidity: null,
+ }
+ );
+ },
},
created() {
this.saveQueue = Promise.resolve();
@@ -915,6 +926,8 @@
this.tableList = this.tableLists.filter(
(m) => m.templateId == val1
);
+ // 妯℃澘闆嗗悎鍙兘鍙樺寲锛岃ˉ榻愭俯搴︺�佹箍搴︽Ы浣�
+ this.tableLists.forEach((m) => this.ensureOtherForm(m.templateId));
// 瀵规ā鏉胯繘琛屽鐞�
this.handleTableData();
}
@@ -1102,13 +1115,15 @@
this.sampleProduct = res.data.sampleProduct;
this.currentSample = this.HaveJson(this.sampleProduct[0]);
let insProduct = this.HaveJson(this.currentSample.insProduct);
- // 娓╁害銆佹箍搴﹁祴鍊�
- this.otherForm = {
- temperature: this.insOrder.temperature
- ? this.insOrder.temperature
- : null,
- humidity: this.insOrder.humidity ? this.insOrder.humidity : null,
- };
+ // 娓╁害銆佹箍搴﹁祴鍊硷細鎸夋ā鏉� id 鍒嗙粍鍥炴樉
+ this.otherForm = {};
+ (this.insOrder.templateConditions || []).forEach((item) => {
+ this.$set(this.otherForm, item.templateId, {
+ temperature: item.temperature != null ? item.temperature : null,
+ humidity: item.humidity != null ? item.humidity : null,
+ });
+ });
+ this.tableLists.forEach((m) => this.ensureOtherForm(m.templateId));
if (this.typeSource == "1") {
this.getRawMaterialTag(this.currentSample.id); // 鍘熸潗鏂欑殑妫�楠屼换鍔℃煡璇㈡壒鏁�
this.rawMaterialTag = "1";
@@ -1614,12 +1629,26 @@
this.worker0 = null;
}
},
- // 淇濆瓨婀垮害銆佹俯搴︽暟鎹�
+ // 淇濊瘉妯℃澘鐨勬俯搴︺�佹箍搴︽Ы浣嶅瓨鍦�
+ ensureOtherForm(templateId) {
+ if (templateId == null) return;
+ if (!this.otherForm[templateId]) {
+ this.$set(this.otherForm, templateId, {
+ temperature: null,
+ humidity: null,
+ });
+ }
+ },
+ // 淇濆瓨褰撳墠妯℃澘鐨勬俯搴︺�佹箍搴︼紱澶囨敞鏄崟鎹骇锛屼笉甯︽ā鏉�
subOtherForm(m, type) {
- write({
- [type]: type === "remark" ? m : Number(m),
- id: this.insOrder.id,
- }).then((res) => {
+ const payload = { id: this.insOrder.id };
+ if (type === "remark") {
+ payload.remark = m;
+ } else {
+ payload.templateId = this.currentTable;
+ payload[type] = Number(m);
+ }
+ write(payload).then((res) => {
this.$message.success("淇濆瓨鎴愬姛");
});
},
@@ -1786,6 +1815,8 @@
this.tableList = null;
this.tableList = [this.tableLists[0]];
this.currentTable = this.tableLists[0].templateId;
+ // 琛ラ綈姣忎釜妯℃澘鐨勬俯搴︺�佹箍搴︽Ы浣�
+ this.tableLists.forEach((m) => this.ensureOtherForm(m.templateId));
// 澶勭悊椤甸潰鍒楄〃鏁版嵁
this.handleTableData();
}
@@ -2132,14 +2163,18 @@
// 瀵硅緭鍏ュ�艰繘琛屾牸寮忔牎楠�
handleInput(n) {
try {
- n.v.v = n.v.v.replace(/[^\d.^e>锛炩墺鈮�<锛滄柇瑁傝剢鍖朶-/+]/g, "");
- n.v.v = n.v.v.replace(/\.{2,}/g, "."); //鍙繚鐣欑涓�涓�. 娓呴櫎澶氫綑鐨�
- n.v.v = n.v.v
+ const v = n.v.v;
+ // 鑳藉姏鑼冨洿宸插簾寮�,妫�楠屽�肩被鍨嬩笉鍐嶄綔涓哄垽鏂緷鎹�傛暣涓插彧鐢辩畻寮忓瓧绗︾粍鎴愭椂鎵嶈鑼冨寲鏍煎紡,
+ // 鍑虹幇涓枃绛夊叾瀹冨瓧绗﹀嵆鎸夋枃鏈鐞嗗師鏍蜂繚鐣�,鍚﹀垯鏂囧瓧浼氳閫愬瓧鍒犳帀
+ if (typeof v !== "string" || /[^\d.^e>锛炩墺鈮�<锛滄柇瑁傝剢鍖朶-/+]/.test(v)) {
+ return;
+ }
+ n.v.v = v
+ .replace(/\.{2,}/g, ".") //鍙繚鐣欑涓�涓�. 娓呴櫎澶氫綑鐨�
.replace(".", "$#$")
.replace(/\./g, "")
- .replace("$#$", ".");
- n.v.v = n.v.v.replace(/\/{2,}/g, "/"); //鍙繚鐣欑涓�涓�/娓呴櫎澶氫綑鐨�
- n.v.v = n.v.v
+ .replace("$#$", ".")
+ .replace(/\/{2,}/g, "/") //鍙繚鐣欑涓�涓�/娓呴櫎澶氫綑鐨�
.replace("/", "$#$")
.replace(/\//g, "")
.replace("$#$", "/");
@@ -2267,13 +2302,19 @@
this.$message.error("璇烽�夋嫨璁惧");
return;
}
- if (!this.otherForm.humidity && this.insOrder.ifsOrderType!=='02wg') {
- this.$message.error("璇疯緭鍏ユ箍搴�");
- return;
- }
- if (!this.otherForm.temperature && this.insOrder.ifsOrderType!=='02wg') {
- this.$message.error("璇疯緭鍏ユ俯搴�");
- return;
+ if (this.insOrder.ifsOrderType !== "02wg") {
+ const labels = { temperature: "娓╁害", humidity: "婀垮害" };
+ const missing = [];
+ this.tableLists.forEach((m) => {
+ const form = this.otherForm[m.templateId] || {};
+ ["temperature", "humidity"].forEach((key) => {
+ if (!form[key]) missing.push(`銆�${m.templateName}銆嶇殑${labels[key]}`);
+ });
+ });
+ if (missing.length > 0) {
+ this.$message.error(`璇峰~鍐�${missing[0]}`);
+ return;
+ }
}
if (!this.insOrder.lotPartId && this.insOrder.ifsOrderType==='02wg') {
this.$message.error("璇峰~鍐橧FS搴撳瓨鐗╂枡鎵规灞炴��");
--
Gitblit v1.9.3