From f03cf23f3acbd5582a16c263aa6bf83b260ec906 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 28 九月 2026 09:53:19 +0800
Subject: [PATCH] feat(inspection): 接口
---
src/views/business/inspectionTask/components/InspectionWord.vue | 97 ++++++++++++++++++++----------------------------
1 files changed, 41 insertions(+), 56 deletions(-)
diff --git a/src/views/business/inspectionTask/components/InspectionWord.vue b/src/views/business/inspectionTask/components/InspectionWord.vue
index 666c720..f8dbf8e 100644
--- a/src/views/business/inspectionTask/components/InspectionWord.vue
+++ b/src/views/business/inspectionTask/components/InspectionWord.vue
@@ -33,11 +33,6 @@
style="width: 90px" @change="m => subOtherForm(m, 'temperature')"></el-input>
<span class="template-panel__unit">鈩�</span>
</el-form-item>
- <el-form-item label="婀垮害:">
- <el-input v-model="currentOtherForm.humidity" :disabled="state > 1" placeholder="" size="small"
- style="width: 90px" @change="m => subOtherForm(m, 'humidity')"></el-input>
- <span class="template-panel__unit">%RH</span>
- </el-form-item>
<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"
@@ -48,13 +43,23 @@
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')">
<el-option v-for="device in deviceOptions" :key="device.id" :label="device.label"
:value="device.id" />
</el-select>
+ </el-form-item>
+ </el-form>
+ <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"
+ @change="m => subOtherForm(m, 'insResult')">
+ <el-radio :label="1">鍚堟牸</el-radio>
+ <el-radio :label="0">涓嶅悎鏍�</el-radio>
+ </el-radio-group>
</el-form-item>
</el-form>
</div>
@@ -105,9 +110,9 @@
</el-select>
</template>
<template v-else-if="n.v.ps != undefined && n.v.ps.value === '璁$畻鍊�' && state == 1"><span
- :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v, n.v.ct) }}</span></template>
+ :style="`font-family:${n.v.ff} !important;`">{{ n.v.v }}</span></template>
<template v-else-if="n.v.ps != undefined && n.v.ps.value === '鏈�缁堝��' && state == 1">
- <span :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v, n.v.ct) }}</span>
+ <span :style="`font-family:${n.v.ff} !important;`">{{ n.v.v }}</span>
</template>
<template v-else-if="n.v.ps != undefined && n.v.ps.value === '鏍峰搧缂栧彿'">
<div :title="currentSample.sampleCode"
@@ -373,7 +378,7 @@
numOptions: [],
temperatureOptions: [],
wareTableData: [],
- // 妫�娴嬫潯浠舵寜妯℃澘 id 鍒嗙粍锛歿 [templateId]: { temperature, humidity, detectionTime, detectionPlace, deviceIds } }
+ // 妫�娴嬫潯浠舵寜妯℃澘 id 鍒嗙粍锛歿 [templateId]: { temperature, detectionTime, detectionPlace, deviceIds } }
otherForm: {},
deviceOptions: [],
equipForm: {
@@ -455,10 +460,10 @@
currentOtherForm() {
return this.otherForm[this.currentTable] || {
temperature: null,
- humidity: null,
detectionTime: null,
detectionPlace: null,
- deviceIds: []
+ deviceIds: [],
+ insResult: null
}
}
},
@@ -501,19 +506,17 @@
conditionList.forEach(item => {
this.$set(this.otherForm, item.templateId, {
temperature: item.temperature != null ? item.temperature : null,
- humidity: item.humidity != null ? item.humidity : null,
detectionTime: item.detectionTime != null ? item.detectionTime : null,
detectionPlace: item.detectionPlace != null ? item.detectionPlace : null,
- deviceIds: Array.isArray(item.deviceIds) ? [...item.deviceIds] : []
+ deviceIds: Array.isArray(item.deviceIds) ? [...item.deviceIds] : [],
+ insResult: item.insResult != null ? item.insResult : null
})
})
if (this.typeSource == '1') {
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) {
@@ -567,7 +570,7 @@
if (this.tableLists && this.tableLists.length > 0) {
this.tableList = null;
this.tableList = this.tableLists.filter(m => m.templateId == val1)
- // 妯℃澘闆嗗悎鍙兘鍙樺寲锛岃ˉ榻愭俯搴︺�佹箍搴︽Ы浣�
+ // 妯℃澘闆嗗悎鍙兘鍙樺寲锛岃ˉ榻愭俯搴︽Ы浣�
this.tableLists.forEach(m => this.ensureOtherForm(m.templateId))
// 瀵规ā鏉胯繘琛屽鐞�
this.handleTableData()
@@ -900,7 +903,7 @@
this.tableList = null;
this.tableList = [this.tableLists[0]]
this.currentTable = this.tableLists[0].templateId;
- // 琛ラ綈姣忎釜妯℃澘鐨勬俯搴︺�佹箍搴︽Ы浣�
+ // 琛ラ綈姣忎釜妯℃澘鐨勬俯搴︽Ы浣�
this.tableLists.forEach(m => this.ensureOtherForm(m.templateId))
// 澶勭悊椤甸潰鍒楄〃鏁版嵁
this.handleTableData()
@@ -931,7 +934,7 @@
this.tableList = [this.tableLists[0]]
this.currentTable = this.tableLists[0].templateId;
this.currentSample.insProduct = this.HaveJson(list)
- // 琛ラ綈姣忎釜妯℃澘鐨勬俯搴︺�佹箍搴︽Ы浣�
+ // 琛ラ綈姣忎釜妯℃澘鐨勬俯搴︽Ы浣�
this.tableLists.forEach(m => this.ensureOtherForm(m.templateId))
// 澶勭悊椤甸潰鍒楄〃鏁版嵁
this.handleTableData()
@@ -1232,13 +1235,6 @@
getValue(v) {
// 瀵归〉闈㈠睍绀烘暟鎹繘琛屽鐞�,@,浠h〃鎹㈣
let str = v.v ? v.v : (v.v === 0 ? v.v : (v.ct && v.ct.s ? v.ct.s.length > 0 && v.ct.s[0].v.replace(new RegExp('\n', 'g'), '<br/>').replace(new RegExp('@', 'g'), '<br/>') : ''))
- // 瀵规暟鎹繚鐣欏皬鏁扮偣杩涜澶勭悊
- if (v.ct && v.ct.fa && v.ct.fa.includes('.') && str) {
- let num = 0
- let str0 = v.ct.fa.split('.')[1]
- num = str0.length
- str = Number(str).toFixed(num)
- }
if (v.v && typeof v.v == 'string' && v.v.includes('@')) {
str = v.v.replace(new RegExp('@', 'g'), '<br/>')
}
@@ -1345,11 +1341,6 @@
})
}
},
- // 鏂拌仛鐩存帴缁戝畾妯℃澘鐨勫崟鎹紝璁惧鎸夋ā鏉块�夋嫨
- isDirectTemplateOrder() {
- return this.sonLaboratory === '鏂拌仛' && this.currentSample &&
- (this.currentSample.insProduct || []).some(product => product.templateRowIndex != null)
- },
loadDeviceOptions() {
search({ status: 0 }).then(res => {
this.deviceOptions = (res.data || []).map(device => ({
@@ -1369,13 +1360,23 @@
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 (missingIndex > -1) {
+ this.$message.error(`璇烽�夋嫨銆�${this.tableLists[missingIndex].templateName}銆嶇殑妫�楠岀粨璁篳)
+ return
+ }
this.reviewLoading = true;
verifyPlan({
orderId: this.orderId,
type: 1,
laboratory: this.sonLaboratory,
tell: null,
- userId: this.checkUser
+ userId: this.checkUser,
+ insResult: insResults.every(result => result === 1) ? 1 : 0
}).then(res => {
if (res.code === 200) {
this.$message.success("鎿嶄綔鎴愬姛")
@@ -1420,10 +1421,10 @@
if (!this.otherForm[templateId]) {
this.$set(this.otherForm, templateId, {
temperature: null,
- humidity: null,
detectionTime: null,
detectionPlace: null,
- deviceIds: []
+ deviceIds: [],
+ insResult: null
})
}
},
@@ -1453,10 +1454,9 @@
this.tableLists.forEach(m => {
const form = this.otherForm[m.templateId] || {}
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.deviceIds || form.deviceIds.length === 0) {
missing.push(`璇烽�夋嫨銆�${m.templateName}銆嶇殑璁惧`)
}
})
@@ -1723,26 +1723,6 @@
}).catch(error => {
})
- },
- /**
- * 灏嗘暟鍊紇淇濈暀ct.fa涓�'##'鍚庣殑鎸囧畾灏忔暟浣嶆暟锛屽苟杩斿洖鏍煎紡鍖栧悗鐨勫瓧绗︿覆銆�
- *
- * @param v 瑕佹牸寮忓寲鐨勬暟鍊�
- * @param ct 鍖呭惈鏍煎紡鍖栭厤缃殑瀵硅薄
- * @param ct.fa 鏍煎紡鍖栭厤缃瓧绗︿覆锛岃嫢鍖呭惈'##'鍒欐寜鐓у叾鍚庣殑鍐呭纭畾灏忔暟浣嶆暟
- * @returns 鏍煎紡鍖栧悗鐨勫瓧绗︿覆鎴栧師濮嬫暟鍊硷紙鑻ラ厤缃笉绗﹀悎瑕佹眰锛�
- */
- toFixed(v, ct) {
- if (v && ct && ct.fa) {
- if (ct.fa.includes('.')) {
- let num = ct.fa.slice(4).length
- return Number(v).toFixed(num)
- } else {
- return v
- }
- } else {
- return v
- }
}
}
}
@@ -1817,6 +1797,11 @@
color: #606266;
}
+.template-panel__conclusion--divided {
+ border-top: 1px dashed #e4e7ed;
+ padding-top: 12px;
+}
+
.center {
width: calc(100% - 40px);
/* max-height: 580px; */
--
Gitblit v1.9.3