From 7a24356ca37e364a1f2474aabb9b3ac2aa0e3831 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 10 四月 2025 16:42:40 +0800
Subject: [PATCH] 检验任务-联调起始时间、终止时间
---
src/views/business/productOrder/index.vue | 181 ++++++++++++++++++++++++++------------------
1 files changed, 106 insertions(+), 75 deletions(-)
diff --git a/src/views/business/productOrder/index.vue b/src/views/business/productOrder/index.vue
index 40b66c7..80e631e 100644
--- a/src/views/business/productOrder/index.vue
+++ b/src/views/business/productOrder/index.vue
@@ -32,21 +32,27 @@
</el-form-item>
<el-form-item>
<el-button :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text"
- @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button>
- <el-button size="small" @click="refresh()">閲� 缃�</el-button>
- <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+ @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button>
+ <el-button size="mini" type="primary" @click="refreshTable()">鏌ヨ</el-button>
+ <el-button size="mini" @click="refresh()">閲嶇疆</el-button>
</el-form-item>
</el-form>
</div>
<div class="table-tab">
<div>
<ul class="tab">
- <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">寰呭鏍�</li>
- <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">妫�楠屼腑</li>
- <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" @click="handleTab(2)">濮旀墭宸叉</li>
- <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">鎶芥牱宸叉</li>
- <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">閫�鍥�</li>
- <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">鎾ら攢</li>
+ <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">寰呭鏍�
+ </li>
+ <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">妫�楠屼腑
+ </li>
+ <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])"
+ @click="handleTab(2)">濮旀墭宸叉</li>
+ <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">
+ 鎶芥牱宸叉</li>
+ <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">閫�鍥�
+ </li>
+ <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">
+ 鎾ら攢</li>
<li :class="{ active: tabIndex === 6 }" v-if="checkPermi(['get:insOrder:all'])" @click="handleTab(6)">鍏ㄩ儴</li>
</ul>
</div>
@@ -86,8 +92,8 @@
</el-dialog>
<!-- 鎾ら攢 -->
<el-dialog :before-close="handleClose" :visible.sync="quashDialogVisible" title="涓嬪崟鎾ら攢" width="30%">
- <p v-if="!isQuash" style="font-size:16px;color:#333333">濮旀墭缂栧彿<span
- style="color:#34BD66">{{ this.insOrderRow.entrustCode }}</span>鐨勪俊鎭槸鍚︽挙閿�</p>
+ <p v-if="!isQuash" style="font-size:16px;color:#333333">濮旀墭缂栧彿<span style="color:#34BD66">{{
+ this.insOrderRow.entrustCode }}</span>鐨勪俊鎭槸鍚︽挙閿�</p>
<el-form v-else ref="ruleForm" :label-position="labelPosition" :model="formData" label-width="150px">
<el-form-item label="璇疯緭鍏ユ挙閿�鍘熷洜锛�">
<el-input v-model="formData.specificationModel" size="small" style="width:60%"></el-input>
@@ -105,7 +111,7 @@
</span>
</el-dialog>
<!-- 涓嬪彂 -->
- <el-dialog :before-close="handleClose" :visible.sync="issuedDialogVisible" title="妫�楠屽垎閰�" width="400px">
+ <!-- <el-dialog :before-close="handleClose" :visible.sync="issuedDialogVisible" title="妫�楠屽垎閰�" width="400px">
<div class="body" style="max-height: 60vh;">
<el-row>
<el-col class="search_thing" style="width: 95%;">
@@ -145,7 +151,7 @@
<el-button :loading="upLoad" type="primary" @click="submitForm2">纭� 瀹�</el-button>
</el-row>
</span>
- </el-dialog>
+ </el-dialog> -->
<el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%" @close="closeDia">
<div v-if="dataDialogVisible">
<lims-table :tableData="tableDataLook" :column="tableDataLookColumn" @pagination="tableDataLookPagination"
@@ -168,7 +174,8 @@
<span slot="footer" class="dialog-footer">
<el-row>
<el-button @click="handleNo">{{ deleteTilte == '鎾ら攢' ? '鍙� 娑�' : '涓嶉�氳繃' }}</el-button>
- <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '鎾ら攢' ? '纭� 瀹�' : '閫氳繃'}}</el-button>
+ <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '鎾ら攢' ? '纭� 瀹�' :
+ '閫氳繃' }}</el-button>
</el-row>
</span>
</el-dialog>
@@ -263,8 +270,8 @@
<el-row style="margin-top: 0.01cm;font-size: 0.20cm;">
<el-col style="display: flex;align-items: center;"><span>鏍峰搧鐘舵��:
</span>
- <span style="white-space: nowrap;"><span v-if="item.insState == 0">鈭�</span><span v-if="item.insState != 0"
- class="scor"></span>寰呮
+ <span style="white-space: nowrap;"><span v-if="item.insState == 0">鈭�</span><span
+ v-if="item.insState != 0" class="scor"></span>寰呮
<span v-if="item.insState == 1">鈭�</span><span v-if="item.insState != 1" class="scor"></span>鍦ㄦ
<span v-if="item.insState == 2">鈭�</span><span v-if="item.insState != 2" class="scor"></span>宸叉
<span v-if="item.isLeave == 1">鈭�</span><span v-if="item.isLeave != 1" class="scor"></span>鐣欐牱</span>
@@ -293,6 +300,7 @@
@closePrintDialog="closePrintDialog"></print-dialog>
<!--娣诲姞閬楁紡妫�楠岄」寮规-->
<add-inspection-dia v-if="addInspectionDia" ref="addInspectionDia"></add-inspection-dia>
+ <issuedDialog ref="issuedDialog" />
<!-- <Inspection v-if="state>0" :key="InspectionKey" :inspectorList="inspectorList" :orderId="orderId"-->
<!-- :sonLaboratory="sonLaboratory" :state="state"-->
<!-- :typeSource="typeSource" @goback="goback" @refreshView="refreshView"/>-->
@@ -305,6 +313,7 @@
import PrintDialog from "@/views/business/productOrder/components/printDialog.vue";
import AddInspectionDia from "@/views/business/productOrder/components/addInspectionDia.vue";
import limsTable from "@/components/Table/lims-table.vue";
+import issuedDialog from './components/issuedDialog.vue'
import {
checkUpdate, delInsOrder,
rawAllInsOrderExport,
@@ -314,14 +323,15 @@
} from "@/api/business/productOrder";
import { selectUserCondition } from "@/api/performance/class";
import { downFile, getFileList, selectSampleAndProductByOrderId } from "@/api/business/rawMaterialOrder";
-import {mapGetters} from "vuex";
+import { mapGetters } from "vuex";
export default {
name: 'ProductOrder',
components: {
limsTable,
AddInspectionDia,
PrintDialog,
- vueQr
+ vueQr,
+ issuedDialog
},
data() {
return {
@@ -333,9 +343,21 @@
tableData: [],
tableLoading: false,
column: [
- { label: '濮旀墭缂栧彿', prop: 'entrustCode', width: '160px' },
+ {
+ label: "濮旀墭缂栧彿",
+ prop: "entrustCode",
+ width: "160px",
+ dataType: "link",
+ linkMethod: "changeEntrustCode",
+ },
{ label: '濮旀墭鍗曚綅', prop: 'company' },
- { label: '鏍峰搧鍚嶇О', prop: 'sampleName' },
+ {
+ label: "鏍峰搧鍚嶇О",
+ prop: "sampleName",
+ width: "160px",
+ dataType: "link",
+ linkMethod: "selectAllByOne",
+ },
{ label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
{ label: '鏍峰搧鏁伴噺', prop: 'sampleNum' },
{ label: '妫�楠屼汉', prop: 'testingName' },
@@ -486,7 +508,7 @@
this.handleIssued(row);
},
disabled: (row, index) => {
- return row.state != 1 || !!row.assign
+ return row.state != 1
},
showHide: (row) => {
return this.tabIndex === 1
@@ -517,7 +539,7 @@
],
page: {
total: 0,
- size: 10,
+ size: 20,
current: 1
},
state: 0,// 0:鍙拌处椤碉紝1锛氭楠岄〉闈�,2妫�楠岄〉闈�(澶嶆牳)锛岄粯璁や负0,3鏁版嵁鏌ョ湅
@@ -546,7 +568,7 @@
tableDataLook: [],
tableDataLookPage: {
total: 0,
- size: 10,
+ size: 20,
current: 1
},
tableDataLookColumn: [
@@ -588,6 +610,7 @@
}
}
},
+ { label: "妫�楠屼汉", prop: "checkUserName" },
],
filesDialogVisible: false, // 闄勪欢鏌ョ湅寮规
tableDataFile: [],
@@ -637,7 +660,7 @@
],
pageFile: {
total: 0,
- size: 10,
+ size: 20,
current: 1
},
formData: {},
@@ -654,7 +677,7 @@
entrustCodeInfo: {},
submitCodeLoading: false,
// 浜哄憳鍒楄〃
- personList: [],
+ // personList: [],
orderId: '',
revocationInsProductIds: '',
componentDataDelete: [],
@@ -674,7 +697,7 @@
],
pageDelete: {
total: 0,
- size: 10,
+ size: 20,
current: 1
},
deleteDialogVisible: false,
@@ -741,7 +764,7 @@
},
mounted() {
this.refreshTable()
- this.getAuthorizedPerson()
+ // this.getAuthorizedPerson()
},
activated() {
this.refreshTable()
@@ -760,7 +783,7 @@
}
const params = { ...this.entity, state: this.tabList[this.tabIndex].value }
this.tableLoading = true
- selectInsOrderParameter({...this.page,...params}).then(res => {
+ selectInsOrderParameter({ ...this.page, ...params }).then(res => {
this.upIndex++
this.tableLoading = false
if (res.code === 200) {
@@ -781,6 +804,9 @@
},
// 鎵撳紑淇敼濮旀墭缂栧彿寮规
changeEntrustCode(row) {
+ if (this.tabIndex !== 1) {
+ return
+ }
this.entrustCodeVisible = true
this.entrustCodeInfo = { ...row }
},
@@ -899,18 +925,18 @@
this.printDialog = false
},
// 鑾峰彇鎸囨淳浜哄憳涓嬫媺鍒楄〃
- getAuthorizedPerson() {
- selectUserCondition({ type: 1 }).then(res => {
- let data = []
- res.data.forEach(a => {
- data.push({
- label: a.name,
- value: a.id
- })
- })
- this.personList = data
- })
- },
+ // getAuthorizedPerson() {
+ // selectUserCondition({ type: 1 }).then(res => {
+ // let data = []
+ // res.data.forEach(a => {
+ // data.push({
+ // label: a.name,
+ // value: a.id
+ // })
+ // })
+ // this.personList = data
+ // })
+ // },
handleClose() {
this.verifyDialogVisible = false;
this.quashDialogVisible = false;
@@ -927,15 +953,14 @@
},
// 璇︽儏
selectAllByOne(row) {
- this.active = 2;
- // console.log(row);
- // //鎵撳紑寮规
- // this.dialogVisible = true;
- // //row = 鐐瑰嚮瀵瑰簲琛屽��
- // //澶嶅埗缁檉ormData
- // this.formData = this.HaveJson(row);
- this.currentId = row.id
- this.examine = 1
+ this.$router.push({
+ path: "/productOrder/add", query: {
+ examine: 1,
+ active: 2,
+ currentId: row.id,
+ tabIndex: this.tabIndex,
+ }
+ });
},
// 鏁版嵁鏌ョ湅
handleDataLook(row) {
@@ -960,10 +985,10 @@
this.tableDataLookPage.size = page.limit
this.getDataTableList(this.currentRow)
},
- closeDia () {
+ closeDia() {
this.tableDataLookPage = {
total: 0,
- size: 10,
+ size: 20,
current: 1
}
this.dataDialogVisible = false
@@ -1003,7 +1028,12 @@
download(row) {
let url = row.urlS ? row.urlS : row.url;
if (url) {
- this.$download.saveAs(url, row.entrustCode);
+ url = url.split('.')[0] + '.pdf'
+ const link = document.createElement('a');
+ link.href = this.javaApi + url;
+ link.target = '_blank';
+ document.body.appendChild(link);
+ link.click();
}
},
// 鎾ら攢
@@ -1021,7 +1051,7 @@
},
getDeleteList() {
this.tableLoadingDelete = true
- selectNoProducts({ orderId: this.orderId, revocationInsProductIds: this.revocationInsProductIds }).then(res => {
+ selectNoProducts({ orderId: this.orderId, revocationInsProductIds: this.revocationInsProductIds, ...this.pageDelete }).then(res => {
this.tableLoadingDelete = false
this.componentDataDelete = res.data.records
this.pageDelete.total = res.data.total
@@ -1085,28 +1115,29 @@
},
// 涓嬪彂
handleIssued(row) {
- this.issuedDialogVisible = true;
- selectOrderManDay({
- id: row.id
- }).then(res => {
- this.distributeData.orderId = row.id
- this.distributeData.sampleId = row.sampleId
- this.distributeData.appointed = res.data
- this.distributeData.type = row.type
- })
- upPlanUser2({
- orderId: row.id,
- }).then(res => {
- if (res.code === 200 && res.data.length > 0) {
- this.sonLaboratoryList = [];
- res.data.forEach(m => {
- this.sonLaboratoryList.push({
- value: m,
- label: m
- })
- })
- }
- })
+ // this.issuedDialogVisible = true;
+ this.$refs.issuedDialog.init(row)
+ // selectOrderManDay({
+ // id: row.id
+ // }).then(res => {
+ // this.distributeData.orderId = row.id
+ // this.distributeData.sampleId = row.sampleId
+ // this.distributeData.appointed = res.data
+ // this.distributeData.type = row.type
+ // })
+ // upPlanUser2({
+ // orderId: row.id,
+ // }).then(res => {
+ // if (res.code === 200 && res.data.length > 0) {
+ // this.sonLaboratoryList = [];
+ // res.data.forEach(m => {
+ // this.sonLaboratoryList.push({
+ // value: m,
+ // label: m
+ // })
+ // })
+ // }
+ // })
},
submitForm2() {
if (this.distributeData.appointed == null || this.distributeData.appointed == '') {
--
Gitblit v1.9.3