From dab59f7624a2fb8d4114bb67b554ff09d91f810c Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 10 四月 2025 13:07:36 +0800
Subject: [PATCH] Merge branch 'radio-frequency-cable' of http://114.132.189.42:9002/r/lims-ruoyi-before into radio-frequency-cable
---
src/views/business/inspectionTask/inspection.vue | 235 +++++++++++++++++++++++++++++++---------------------------
1 files changed, 124 insertions(+), 111 deletions(-)
diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index 3a77d1f..e83d703 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -18,14 +18,11 @@
</el-col>
<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"
+ <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 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>
@@ -73,7 +70,7 @@
</el-form-item>
<el-form-item label="澶囨敞:">
<!-- <span style="color:red">{{ insOrder.remark?insOrder.remark:'-' }}</span>-->
- <el-input v-model="insOrder.remark" :disabled="state !== 1" clearable placeholder="璇疯緭鍏�" size="small"
+ <el-input v-model="insOrder.remark" :disabled="state != 1" clearable placeholder="璇疯緭鍏�" size="small"
@blur="subOtherForm(insOrder.remark, 'remark')"></el-input>
<!-- <el-tag v-if="currentKey">{{ insOrder.remark }}</el-tag> -->
</el-form-item>
@@ -94,8 +91,8 @@
</el-radio-group>
</div>
<div style="display: flex; align-items: center">
- <el-button v-if="state === 1" size="small" type="primary" @click="openAddUnpass">鏂板涓嶅悎鏍煎娴�</el-button>
- <el-button v-if="state === 1" size="small" type="primary" @click="unpassCheck">涓嶅悎鏍煎娴�</el-button>
+ <el-button v-if="state == 1" size="small" type="primary" @click="openAddUnpass">鏂板涓嶅悎鏍煎娴�</el-button>
+ <el-button v-if="state == 1" size="small" type="primary" @click="unpassCheck">涓嶅悎鏍煎娴�</el-button>
<el-button v-if="state > 1" size="small" type="primary" @click="viewUnpassCheck">鏌ョ湅涓嶅悎鏍煎娴�</el-button>
<span v-if="cableTagList.length > 0"> 鐢电紗閰嶇疆锛�</span>
<el-select v-if="cableTagList.length > 0" v-model="currentTab" clearable placeholder="璇烽�夋嫨" size="small"
@@ -150,8 +147,7 @@
</div>
<!-- 甯歌妫�楠屽師濮嬭褰� -->
<div id="nav" v-loading="tableLoading" class="center-box">
- <template v-if="
- tableLists.find((m) => m.templateId == currentTable)">
+ <template v-if="tableLists.find((m) => m.templateId == currentTable)">
<table v-for="(item, index) in tableList" :key="index + currentTable + currentSample.id" border="1"
cellpadding="10" class="tables" id="myTable">
<tbody>
@@ -170,8 +166,7 @@
};`">
<div :class="`content-h-${n.v.ht} content-v-${n.v.vt}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]
}px;`" class="content">
- <template v-if="
- n.v.ps != undefined &&
+ <template v-if="n.v.ps != undefined &&
typeof n.v.ps.value === 'string' &&
n.v.ps.value.includes('妫�楠屽��') &&
state == 1
@@ -226,7 +221,7 @@
<el-select v-if="
(getInspectionValueType(n.i) == 2 ||
getInspectionValueType(n.i) == 5) &&
- state == 1
+ state == 1 && (n.u != userId && n.u != undefined && n.u != '')
" v-model="n.v.v" class="table_input" @change="(m) =>
changeInput(
m,
@@ -257,8 +252,7 @@
<span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span>
</template>
</template>
- <template v-else-if="
- n.v.ps != undefined &&
+ <template v-else-if="n.v.ps != undefined &&
n.v.ps.value === '璁惧缂栫爜' &&
state == 1
">
@@ -267,8 +261,9 @@
<template v-else-if="
n.v.ps != undefined && n.v.ps.value === '璁惧鍚嶇О'
">
- <el-select v-model="n.v.v" :disabled="state > 1" class="table_input" filterable multiple
- placeholder="璁惧" remote @change="(val) => changeEquip(val, n)"
+ <el-select v-model="n.v.v"
+ :disabled="state > 1 || (n.u != userId && n.u != undefined && n.u != '')" class="table_input"
+ filterable multiple placeholder="璁惧" remote @change="(val) => changeEquip(val, n)"
@visible-change="(e) => getEquipOptions(e, n.i)">
<el-option v-for="item in equipOptions" :key="item.value" :label="item.label"
:value="item.value">
@@ -276,8 +271,7 @@
</el-option>
</el-select>
</template>
- <template v-else-if="
- n.v.ps != undefined &&
+ <template v-else-if="n.v.ps != undefined &&
n.v.ps.value === '瑕佹眰鍊�' &&
state == 1
">
@@ -291,7 +285,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 === '鏈�缁堝��' &&
@@ -301,8 +295,7 @@
toFixed(n.v.v, n.v.ct)
}}</span>
</template>
- <template v-else-if="
- n.v.ps != undefined && n.v.ps.value === '鏍峰搧缂栧彿'
+ <template v-else-if="n.v.ps != undefined && n.v.ps.value === '鏍峰搧缂栧彿'
">
<div :title="currentSample.sampleCode" style="
display: flex;
@@ -318,15 +311,27 @@
<i class="el-icon-caret-right table_caret" style="width: 16px" @click="caretSample(1)"></i>
</div>
</template>
- <template v-else-if="
- n.v.ps != undefined && n.v.ps.value === '鏍峰搧鍨嬪彿'
+ <template v-else-if="n.v.ps != undefined && n.v.ps.value === '鏍峰搧鍨嬪彿'
">
- <div v-if="
- currentSample.model !== undefined &&
+ <div v-if="currentSample.model !== undefined &&
currentSample.model !== null
" :style="`font-family:${n.v.ff} !important;`">
{{ currentSample.model }}
</div>
+ </template>
+ <template v-else-if="n.v.ps != undefined && n.v.ps.value === '璧峰鏃堕棿'
+ ">
+ <span v-if="state > 1 || (n.u != userId && n.u != undefined && n.u != '')">{{ n.v.v }}</span>
+ <el-date-picker v-else v-model="n.v.v" type="datetime" placeholder="" format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss">
+ </el-date-picker>
+ </template>
+ <template v-else-if="n.v.ps != undefined && n.v.ps.value === '缁堟鏃堕棿'
+ ">
+ <span v-if="state > 1 || (n.u != userId && n.u != undefined && n.u != '')">{{ n.v.v }}</span>
+ <el-date-picker v-else v-model="n.v.v" type="datetime" placeholder="" format="yyyy-MM-dd HH:mm:ss"
+ value-format="yyyy-MM-dd HH:mm:ss">
+ </el-date-picker>
</template>
<span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)"></span>
</div>
@@ -338,7 +343,7 @@
</div>
<el-upload v-if="state == 1" ref="upload" :action="action" :before-upload="beforeUpload" :data="{
orderId: id,
- }" :headers="headers" :on-error="onError" :on-success="handleSuccessUp" :show-file-list="false"
+ }" :headers="uploadHeader" :on-error="onError" :on-success="handleSuccessUp" :show-file-list="false"
accept=".jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar"
style="width: 80px !important;margin-top: 10px;">
<el-button v-if="state == 1" size="small" type="primary">闄勪欢涓婁紶</el-button></el-upload>
@@ -347,8 +352,9 @@
</div>
<el-drawer :size="550" :visible.sync="sampleVisible" title="鏍峰搧鍒囨崲">
<el-table v-if="sampleVisible" ref="productTable" :current-row-key="currentKey" :data="sampleProduct"
- :row-class-name="tableRowClassName" :row-key="(record) => record.index" border class="el-table" height="100%"
- highlight-current-row tooltip-effect="dark" @row-click="handleChangeSample">
+ :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">
</el-table-column>
<el-table-column label="鏍峰搧缂栧彿" min-width="100px" prop="sampleCode" show-overflow-tooltip></el-table-column>
@@ -359,7 +365,6 @@
size="medium" style="margin-right: 5px">{{ item.label }}</el-tag>
</template>
</el-table-column>
- <el-table-column label="妫�楠屼汉" min-width="80px" prop="checkName" show-overflow-tooltip></el-table-column>
<el-table-column align="center" label="鏄惁鐣欐牱" prop="isLeave" show-overflow-tooltip width="95px">
<template slot-scope="scope">
<span>{{ scope.row.isLeave == 0 ? "鍚�" : "鏄�" }}</span>
@@ -508,20 +513,22 @@
@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"
+ <InspectionWord v-if="unPassCheck" :inspectorList="inspectorList" :orderId="orderId"
:rawMaterialTag="rawMaterialTag" :sonLaboratory="sonLaboratory" :state="state" :typeSource="typeSource"
- :unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" /> -->
- <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId"
+ :unPassCheck="unPassCheck" @closeUnPassCheckDialog="closeUnPassCheckDialog" @refreshView="refreshView" />
+ <purchase-verification v-if="purchaseDialog" ref="purchaseDialog" :orderId="orderId" :workShopId="workShopId"
: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 InspectionWord from "./components/InspectionWord.vue";
import PurchaseVerification from "../unpass/components/PurchaseVerification.vue";
import {
doInsOrder,
@@ -542,23 +549,25 @@
delfile,
inspectionOrderDetailsTaskSwitching
} from "@/api/business/inspectionTask.js";
-import InspectionWorker from '../../../InspectionWorker.worker';
-import DataWorker from '../../../DataWorker.worker';
+import InspectionWorker from '../../../workers/InspectionWorker.worker';
+import DataWorker from '../../../workers/DataWorker.worker';
import html2canvas from "html2canvas";
import { mapGetters } from "vuex";
-import { getToken } from "@/utils/auth";
+import viewManHourDia from "@/views/business/inspectionTask/components/viewManHourDia.vue";
export default {
- name: 'inspection',
+ name: 'Inspection',
components: {
+ viewManHourDia,
PurchaseVerification,
AddUnPass,
limsTable,
UnPassDialog,
- // InspectionWord,
+ InspectionWord,
},
data() {
return {
sonLaboratory: null,
+ workShopId: null,
orderId: null,
state: null,
inspectorList: null,
@@ -770,18 +779,14 @@
// 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
computed: {
...mapGetters(["userId"]),
- headers() {
- return {
- 'Authorization': "Bearer " + getToken()
- };
- },
action() {
return this.javaApi + "/insOrderPlan/uploadFile";
},
},
created() {
- let { sonLaboratory, orderId, state, inspectorList, typeSource } =
+ let { sonLaboratory, orderId, state, inspectorList, typeSource, workShopId } =
this.$route.query;
+ this.workShopId = workShopId
this.sonLaboratory = sonLaboratory;
this.orderId = orderId;
this.id = this.orderId;
@@ -794,9 +799,17 @@
this.getInsStateDicts();
this.getComparisonList();
this.getAuthorizedPerson();
- // this.getPower();
this.startWorker();
- this.getList0()
+ // this.getList0() // 浠诲姟鍒囨崲
+ this.scrollInit();
+ },
+ activated() {
+ this.getTypeDicts(); // 鑾峰彇绱ф�ョ▼搴︿笅鎷夋閫夐」
+ this.getInsStateDicts();
+ this.getComparisonList();
+ this.getAuthorizedPerson();
+ this.startWorker();
+ // this.getList0() // 浠诲姟鍒囨崲
this.scrollInit();
},
watch: {
@@ -897,15 +910,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(() => { });
},
// 鏂囦欢绠$悊--缁撴潫
@@ -1071,7 +1081,7 @@
},
// 鎵撳紑杩涜揣楠岃瘉寮规
openPurchase() {
- const operationType = this.state === 1 ? "add" : "view";
+ const operationType = this.state == 1 ? "add" : "view";
this.purchaseDialog = true;
const item = {
id: this.currentSample.id,
@@ -1133,7 +1143,6 @@
this.dataAcquisitionInfo = {};
this.getData = [];
for (let i in this.objectOrder(data)) {
- console.log("i---", i);
let obj = {};
if (i.includes("@")) {
obj = {
@@ -1476,12 +1485,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("淇濆瓨鎴愬姛");
});
},
@@ -1500,34 +1507,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({
@@ -1982,7 +1961,13 @@
(a.template[b].v.ps.value === "璇曢獙鏂规硶" ||
a.template[b].v.ps.value === "妫�娴嬫柟娉�")
) {
- a.template[b].v.v = id.product.methodS;
+ a.template[b].v.v = id.product.method;
+ }
+ if (
+ a.template[b].v.ps != undefined &&
+ a.template[b].v.ps.value === "璇曢獙鏉′欢"
+ ) {
+ a.template[b].v.v = id.product.radius;
}
}
}
@@ -2045,6 +2030,10 @@
this.$set(b.v, "v", "");
// b.v.v = ''
b.u = "";
+ let obj = this.currentSample.insProduct.find(m => m.id == b.i)
+ if (obj) {
+ this.$set(b, "u", obj.checkUserId);
+ }
b.i && this.param[b.i] && this.param[b.i].insValue.push(b);
}
if (b.v.ps != undefined && b.v.ps.value === "璁$畻鍊�") {
@@ -2059,8 +2048,33 @@
}
if (b.v.ps != undefined && b.v.ps.value === "璁惧鍚嶇О") {
this.$set(b.v, "v", "");
+ b.u = "";
+ let obj = this.currentSample.insProduct.find(m => m.id == b.i)
+ if (obj) {
+ this.$set(b, "u", obj.checkUserId);
+ }
// b.v.v = ''
b.i && this.param[b.i] && this.param[b.i].equipName.push(b);
+ }
+ if (b.v.ps != undefined && b.v.ps.value === "璧峰鏃堕棿") {
+ this.$set(b.v, "v", "");
+ b.u = "";
+ let obj = this.currentSample.insProduct.find(m => m.id == b.i)
+ if (obj) {
+ this.$set(b, "u", obj.checkUserId);
+ }
+ // b.v.v = ''
+ // b.i && this.param[b.i] && this.param[b.i].equipName.push(b);
+ }
+ if (b.v.ps != undefined && b.v.ps.value === "缁堟鏃堕棿") {
+ this.$set(b.v, "v", "");
+ b.u = "";
+ let obj = this.currentSample.insProduct.find(m => m.id == b.i)
+ if (obj) {
+ this.$set(b, "u", obj.checkUserId);
+ }
+ // b.v.v = ''
+ // b.i && this.param[b.i] && this.param[b.i].equipName.push(b);
}
if (b.v.ps != undefined && b.v.ps.value === "鏈�缁堝��") {
// b.v.v = ''
@@ -2074,6 +2088,11 @@
}
}
if (b.v.ps != undefined && b.v.ps.value === "缁撹") {
+ b.u = "";
+ let obj = this.currentSample.insProduct.find(m => m.id == b.i)
+ if (obj) {
+ this.$set(b, "u", obj.checkUserId);
+ }
if (
b.i !== undefined &&
this.param[b.i] &&
@@ -2585,6 +2604,13 @@
this.$message.error("鏈緭鍏ヤ笉閫氳繃鍘熷洜");
}
},
+ // 鏌ョ湅宸ユ椂
+ viewManHour() {
+ this.$refs.viewManHourDia.showDialog(this.id, 99);
+ },
+ openAddVerifyDia() {
+ this.addVerifyDia = true;
+ },
submit() {
if (this.verifyUser === null || this.verifyUser === "") {
this.$message.error("璇锋寚瀹氬鏍镐汉鍛�");
@@ -2702,10 +2728,6 @@
orderId: this.orderId,
sonLaboratory: this.sonLaboratory
}).then((res) => {
- if (res.code == 201) {
- this.$message.error("淇濆瓨澶辫触");
- return;
- }
this.$message.success("宸蹭繚瀛�");
});
// 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫
@@ -2773,7 +2795,7 @@
}
},
getAuthorizedPerson() {
- selectUserCondition({ type: 0 }).then((res) => {
+ selectUserCondition({ type: 1 }).then((res) => {
let data = [];
res.data.forEach((a) => {
data.push({
@@ -2857,7 +2879,7 @@
this.upLoading = false;
if (response.code == 200) {
this.$message.success("涓婁紶鎴愬姛");
- this.$refs.fileList.selectList();
+ this.getList();
}
},
beforeUpload(file) {
@@ -2876,16 +2898,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) => { });
},
@@ -2910,7 +2923,7 @@
}
},
goback() {
- this.$tab.closeOpenPage({ path: "/business/inspectionTask" });
+ this.$router.go(-1)
}
},
};
@@ -3047,7 +3060,7 @@
}
.content-h-2 {
- justify-content: end;
+ justify-content: flex-end;
}
.content-v-0 {
@@ -3118,7 +3131,7 @@
align-items: center;
}
</style>
-<style>
+<style scoped>
/* .inspection .el-form-item__label {
color: #000;
} */
--
Gitblit v1.9.3