From 0f102473c642142976d537af4c505b8a7161d6c5 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 31 十月 2025 15:30:17 +0800
Subject: [PATCH] 原材料报检拆分功能V1
---
src/views/business/inspectionTask/inspection.vue | 234 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 116 insertions(+), 118 deletions(-)
diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index 697a551..243371d 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -19,9 +19,10 @@
<el-col :span="16" style="text-align: right">
<el-button size="small" type="primary" @click="refreshView">鍒锋柊</el-button>
<el-button v-if="typeSource == 1" size="small" type="primary" @click="openPurchase">杩涜揣楠岃瘉</el-button>
- <el-button v-if="state == 1 && typeSource == 1" size="small" type="primary" @click="openUnPassDialog('add')">涓嶅悎鏍煎鐞�</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 && typeSource == 1" size="small" type="primary"
+ @click="openUnPassDialog('add')">涓嶅悎鏍煎鐞�</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>
<!-- 澶嶆牳 -->
<el-button v-if="state == 2" size="medium" type="primary" @click="openAddCheck">閫氳繃</el-button>
@@ -287,7 +288,7 @@
state == 1
"><span :style="`font-family:${n.v.ff} !important;`">{{
toFixed(n.v.v, n.v.ct)
- }}</span></template>
+ }}</span></template>
<template v-else-if="
n.v.ps != undefined &&
n.v.ps.value === '鏈�缁堝��' &&
@@ -343,6 +344,7 @@
</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
:row-class-name="tableRowClassName" :row-key="(record) => record.index" border class="el-table" height="100%"
highlight-current-row tooltip-effect="dark" @row-click="handleChangeSample">
<el-table-column :key="Math.random()" align="center" label="搴忓彿" type="index" width="70px">
@@ -499,22 +501,29 @@
<el-button :loading="reviewLoading" type="primary" @click="upInsReview(1)">纭� 瀹�</el-button>
</span>
</el-dialog>
+ <!-- 娣诲姞涓嶅悎鏍煎娴嬪脊妗�-->
<add-un-pass v-if="addUnPassDialog" ref="addUnPassDialog" :addUnPassDialog="addUnPassDialog"
@resetAddUnPass="resetAddUnPass"></add-un-pass>
+ <!-- 涓嶅悎鏍煎鐞嗗脊妗�-->
<UnPassDialog v-if="unPassDialog" ref="unPassDialog" :orderId="orderId" :unPassDialog="unPassDialog"
@resetForm="resetForm"></UnPassDialog>
+ <!-- 涓嶅悎鏍煎娴嬪脊妗�-->
<InspectionWord v-if="unPassCheck" :inspectorList="inspectorList" :orderId="orderId"
+ :cableTag="temCableTag" :repetitionTag="repetitionTag"
:rawMaterialTag="rawMaterialTag" :sonLaboratory="sonLaboratory" :state="state" :typeSource="typeSource"
:unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" />
+ <!-- 杩涜揣楠岃瘉寮规-->
<purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId"
:purchaseDialog="purchaseDialog" @resetPurchaseDialog="resetPurchaseDialog"></purchase-verification>
+ <!--鏌ョ湅宸ユ椂寮规-->
+ <viewManHourDia ref="viewManHourDia" @submit="openAddVerifyDia"></viewManHourDia>
</div>
</template>
<script>
import excelFunction from "@/utils/excelFountion";
import limsTable from "@/components/Table/lims-table.vue";
-import UnPassDialog from "../unpass/components/addUnPass.vue";
+import UnPassDialog from "../unpass/components/unPassDialog.vue";
import AddUnPass from "../unpass/components/addUnPass.vue";
import InspectionWord from "./components/InspectionWord.vue";
import PurchaseVerification from "../unpass/components/PurchaseVerification.vue";
@@ -537,13 +546,15 @@
delfile,
inspectionOrderDetailsTaskSwitching
} from "@/api/business/inspectionTask.js";
-import InspectionWorker from '../../../InspectionWorker.worker';
-import DataWorker from '../../../DataWorker.worker';
+import InspectionWorker from '@/workers/InspectionWorker.worker.js';
+import DataWorker from '@/workers/DataWorker.worker.js';
import html2canvas from "html2canvas";
import { mapGetters } from "vuex";
+import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue";
export default {
- name: 'inspection',
+ name: 'Inspection',
components: {
+ viewManHourDia,
PurchaseVerification,
AddUnPass,
limsTable,
@@ -724,7 +735,6 @@
size: 10,
current: 0,
},
- tableLoading: false,
// 鏂囦欢鍒楄〃鐩稿叧--缁撴潫
// 浠诲姟鍒囨崲鍒楄〃--寮�濮�
tableData0: [],
@@ -759,6 +769,7 @@
},
tableLoading0: false,
// 浠诲姟鍒囨崲鍒楄〃--缁撴潫
+ isSplit: 0, // 鏄惁鏄媶鍗曡繃鏉ョ殑
};
},
// 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
@@ -769,7 +780,7 @@
},
},
created() {
- let { sonLaboratory, orderId, state, inspectorList, typeSource } =
+ let { sonLaboratory, orderId, state, inspectorList, typeSource,isSplit } =
this.$route.query;
this.sonLaboratory = sonLaboratory;
this.orderId = orderId;
@@ -777,13 +788,22 @@
this.state = state;
this.inspectorList = inspectorList;
this.typeSource = typeSource;
+ this.isSplit = isSplit;
},
mounted() {
this.getTypeDicts(); // 鑾峰彇绱ф�ョ▼搴︿笅鎷夋閫夐」
this.getInsStateDicts();
this.getComparisonList();
this.getAuthorizedPerson();
- // this.getPower();
+ this.startWorker();
+ // this.getList0() // 浠诲姟鍒囨崲
+ this.scrollInit();
+ },
+ activated() {
+ this.getTypeDicts(); // 鑾峰彇绱ф�ョ▼搴︿笅鎷夋閫夐」
+ this.getInsStateDicts();
+ this.getComparisonList();
+ this.getAuthorizedPerson();
this.startWorker();
// this.getList0() // 浠诲姟鍒囨崲
this.scrollInit();
@@ -886,15 +906,12 @@
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning",
- })
- .then(() => {
- delfile({ id: row.id }).then((res) => {
- if (res.code == 201) return;
- this.$message.success("鍒犻櫎鎴愬姛");
- this.refresh();
- });
- })
- .catch(() => { });
+ }).then(() => {
+ delfile({ id: row.id }).then((res) => {
+ this.$message.success("鍒犻櫎鎴愬姛");
+ this.getList();
+ });
+ }).catch(() => { });
},
// 鏂囦欢绠$悊--缁撴潫
@@ -1027,8 +1044,9 @@
id: this.currentSample.id,
type: this.type,
laboratory: this.sonLaboratory,
- cableTag: "",
+ cableTag: this.temCableTag,
rawMaterialTag: this.rawMaterialTag,
+ repetitionTag: this.repetitionTag,
};
this.$nextTick(() => {
this.$refs.addUnPassDialog.getInsOrder(info);
@@ -1122,7 +1140,6 @@
this.dataAcquisitionInfo = {};
this.getData = [];
for (let i in this.objectOrder(data)) {
- console.log("i---", i);
let obj = {};
if (i.includes("@")) {
obj = {
@@ -1465,12 +1482,10 @@
},
// 淇濆瓨婀垮害銆佹俯搴︽暟鎹�
subOtherForm(m, type) {
- console.log("m---", m);
write({
[type]: type === "remark" ? m : Number(m),
id: this.insOrder.id,
}).then((res) => {
- if (res.code == 201) return;
this.$message.success("淇濆瓨鎴愬姛");
});
},
@@ -1489,34 +1504,6 @@
a.download = "table.png";
a.click();
});
- },
- // 鏉冮檺鑾峰彇
- getPower() {
- let power = JSON.parse(sessionStorage.getItem("power"));
- let fileDel = false;
- let fileAdd = false;
- let collected = false;
- let temDataAcquisition = false;
- for (var i = 0; i < power.length; i++) {
- if (power[i].menuMethod == "uploadFile") {
- fileAdd = true;
- }
- if (power[i].menuMethod == "delfile") {
- fileDel = true;
- }
- if (power[i].menuMethod == "isItAllowedToModifyTheCollectedValues") {
- collected = true;
- }
- if (power[i].menuMethod == "temDataAcquisition") {
- temDataAcquisition = true;
- }
- }
- if (!fileDel) {
- // this.componentData0.do.splice(1, 1);
- }
- this.fileAdd = fileAdd;
- this.collected = collected;
- this.temDataAcquisition = temDataAcquisition;
},
uploadSample() {
doInsOrder({
@@ -1655,20 +1642,6 @@
this.comparisonList = this.dictToValue(response.data);
});
},
- // 鑾峰彇妫�楠屽�间负涓嬫媺鏃剁殑涓嬫媺鍒楄〃
- // selectEnumByCategoryOfSelect(val) {
- // this.enumList = [];
- // if (val === undefined || val === null) {
- // return;
- // }
- // this.$axios
- // .post(this.$api.enums.selectEnumByCategory, {
- // category: val,
- // })
- // .then((res) => {
- // this.enumList = res.data;
- // });
- // },
tableRowClassName({ row, rowIndex }) {
row.index = rowIndex + 1;
},
@@ -2574,6 +2547,33 @@
this.$message.error("鏈緭鍏ヤ笉閫氳繃鍘熷洜");
}
},
+ // 鏌ョ湅宸ユ椂
+ viewManHour() {
+ this.$refs.viewManHourDia.showDialog(this.id, 99);
+ },
+ openAddVerifyDia() {
+ this.addVerifyDia = true;
+ },
+ confirmSubmit(registerInsResults){
+ submitPlan({
+ orderId: this.orderId,
+ laboratory: this.sonLaboratory,
+ verifyUser: this.verifyUser,
+ entrustCode: this.insOrder.entrustCode,
+ registerInsResults: registerInsResults
+ }).then((res) => {
+ if (res.code === 200) {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.goback();
+ this.submitLoading = false;
+ this.addVerifyDia = false;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ this.submitLoading = false;
+ });
+ },
submit() {
if (this.verifyUser === null || this.verifyUser === "") {
this.$message.error("璇锋寚瀹氬鏍镐汉鍛�");
@@ -2593,25 +2593,24 @@
laboratory: this.sonLaboratory,
}).then((res) => {
if (res.code === 200) {
- if (!res.data || res.data.length == 0) {
+ if (!res.data || res.data.errorMsg.length == 0) {
this.submitLoading = true;
- submitPlan({
- orderId: this.orderId,
- laboratory: this.sonLaboratory,
- verifyUser: this.verifyUser,
- entrustCode: this.insOrder.entrustCode,
- }).then((res) => {
- if (res.code === 200) {
- this.$message.success("鎿嶄綔鎴愬姛");
- this.goback();
- this.submitLoading = false;
- this.addVerifyDia = false;
- }
- })
- .catch((error) => {
- console.error(error);
- this.submitLoading = false;
+ //妫�楠岀被鍨嬩负鍘熸潗鏂�
+ if(this.typeSource==1 && res.data.unInsOrderCount==0 && this.isSplit==1){
+ const htmlStr = "鏄惁鐧昏IFS閲囪喘妫�楠岀粨鏋滃苟绉诲簱锛熻鎿嶄綔浼氱櫥璁�<span style='color:#ff4949'>鍚屼竴闆朵欢鍚屼竴璁㈠崟鐨勬墍鏈夋媶鍒嗘壒娆�</span>锛岃璋ㄦ厧閫夋嫨銆�"
+ this.$confirm(htmlStr, '鎻愮ず', {
+ confirmButtonText: '鏄�',
+ cancelButtonText: '鍚�',
+ type: 'warning',
+ dangerouslyUseHTMLString: true
+ }).then(() => {
+ this.confirmSubmit(true)
+ }).catch(() => {
+ this.confirmSubmit(false)
});
+ }else{
+ this.confirmSubmit(false)
+ }
} else {
let newData = [];
const h = this.$createElement;
@@ -2647,22 +2646,23 @@
})
.then(() => {
this.submitLoading = true;
- submitPlan({
- orderId: this.orderId,
- laboratory: this.sonLaboratory,
- verifyUser: this.verifyUser,
- }).then((res) => {
- if (res.code === 200) {
- this.$message.success("鎿嶄綔鎴愬姛");
- this.addVerifyDia = false;
- this.goback();
- }
- this.submitLoading = false;
- })
- .catch((error) => {
- console.error(error);
- this.submitLoading = false;
- });
+ this.confirmSubmit(false)
+ // submitPlan({
+ // orderId: this.orderId,
+ // laboratory: this.sonLaboratory,
+ // verifyUser: this.verifyUser,
+ // }).then((res) => {
+ // if (res.code === 200) {
+ // this.$message.success("鎿嶄綔鎴愬姛");
+ // this.addVerifyDia = false;
+ // this.goback();
+ // }
+ // this.submitLoading = false;
+ // })
+ // .catch((error) => {
+ // console.error(error);
+ // this.submitLoading = false;
+ // });
})
.catch(() => { });
}
@@ -2684,17 +2684,24 @@
} else {
param = this.param;
}
+ let isNoTestValue = ''
+ for (let key in param) {
+ if (param[key]) {
+ if (param[key].insValue?.length === 0) {
+ isNoTestValue = 1
+ } else {
+ isNoTestValue = ''
+ }
+ }
+ }
saveInsContext({
param: JSON.stringify(param),
currentTable: this.currentTable,
sampleId: this.currentSample.id,
orderId: this.orderId,
- sonLaboratory: this.sonLaboratory
+ sonLaboratory: this.sonLaboratory,
+ isNoTestValue: isNoTestValue
}).then((res) => {
- if (res.code == 201) {
- this.$message.error("淇濆瓨澶辫触");
- return;
- }
this.$message.success("宸蹭繚瀛�");
});
// 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫
@@ -2762,7 +2769,7 @@
}
},
getAuthorizedPerson() {
- selectUserCondition({ type: 0 }).then((res) => {
+ selectUserCondition({ type: 1 }).then((res) => {
let data = [];
res.data.forEach((a) => {
data.push({
@@ -2846,7 +2853,7 @@
this.upLoading = false;
if (response.code == 200) {
this.$message.success("涓婁紶鎴愬姛");
- this.$refs.fileList.selectList();
+ this.getList();
}
},
beforeUpload(file) {
@@ -2865,16 +2872,7 @@
},
handleDown(row) {
downFile({ id: row.id }).then((res) => {
- if (res.code === 200) {
- let url = "";
- if (res.data.type == 1) {
- url = this.javaApi + "/img/" + res.data.fileUrl;
- this.$download.saveAs(url, row.fileName)
- } else {
- url = this.javaApi + "/word/" + res.data.fileUrl;
- this.$download.saveAs(url, row.fileName)
- }
- }
+ this.$download.saveAs(res.data.fileUrl, row.fileName)
})
.catch((error) => { });
},
@@ -2899,7 +2897,7 @@
}
},
goback() {
- this.$tab.closeOpenPage({ path: "/business/inspectionTask" });
+ this.$router.go(-1)
}
},
};
@@ -3036,7 +3034,7 @@
}
.content-h-2 {
- justify-content: end;
+ justify-content: flex-end;
}
.content-v-0 {
--
Gitblit v1.9.3