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/materialOrder/index.vue | 212 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 159 insertions(+), 53 deletions(-)
diff --git a/src/views/business/materialOrder/index.vue b/src/views/business/materialOrder/index.vue
index b6232e1..98a7af4 100644
--- a/src/views/business/materialOrder/index.vue
+++ b/src/views/business/materialOrder/index.vue
@@ -49,7 +49,7 @@
</el-select>
</el-form-item>
<el-form-item label="涓嬪彂鏃堕棿" prop="date" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
- <el-date-picker v-model="entity.date" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡"
+ <el-date-picker v-model="entity.date" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" @change="goSearch"
range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" type="daterange" value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
@@ -59,15 +59,15 @@
<div class="table-tab">
<div>
<ul class="tab">
- <li :class="{ active: tabIndex === 0 }" @click="handleTab(0)">寰呬笅鍗�</li>
- <li :class="{ active: tabIndex === 1 }" @click="handleTab(1)">妫�楠屼腑</li>
- <li :class="{ active: tabIndex === 2 }" @click="handleTab(2)">宸叉楠�</li>
- <li :class="{ active: tabIndex === 4 }" @click="handleTab(4)">瀛e害妫�楠�</li>
+ <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:raw:await'])" @click="handleTab(0)">寰呬笅鍗�</li>
+ <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:raw:testing'])" @click="handleTab(1)">妫�楠屼腑</li>
+ <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:raw:check'])" @click="handleTab(2)">宸叉楠�</li>
+ <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:raw:quarterCheck'])" @click="handleTab(4)">瀛e害妫�楠�</li>
<li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:Ifs:ByAll'])" @click="handleTab(3)">鍏ㄩ儴</li>
</ul>
</div>
<div>
- <el-button v-show="tabIndex === 3 || tabIndex === 2" :loading="outLoading" size="small" type="primary"
+ <el-button v-show="tabIndex === 3" :loading="outLoading" size="small" type="primary"
@click="handleOut">瀵煎嚭</el-button>
<el-button v-if="tabIndex === 0" size="small" type="primary" @click="copper">閾滄潗鏂欎笅鍗�</el-button>
<el-button v-if="tabIndex !== 0" size="small" type="primary" @click="openPrint">鏍囩鎵撳嵃</el-button>
@@ -76,9 +76,8 @@
<!--寰呬笅鍗�-->
<div class="table">
<lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0" @pagination="pagination"
- ref="tableData"
- :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'" key="tableData" :page="page"
- :tableLoading="tableLoading"></lims-table>
+ ref="tableData" :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'"
+ key="tableData" :page="page" :tableLoading="tableLoading"></lims-table>
</div>
<!--妫�楠屼腑-->
<div class="table">
@@ -240,7 +239,7 @@
}
}
},
- { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+ { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' },
{ label: '鍗曚綅', prop: 'buyUnitMeas' },
{ label: '璁㈠崟鍙�', prop: 'orderNo' },
{ label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
@@ -275,7 +274,7 @@
],
page: {
total: 0,
- size: 10,
+ size: 20,
current: 1
},
tableData1: [],
@@ -320,7 +319,7 @@
}
}
},
- { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+ { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' },
{ label: '鍗曚綅', prop: 'buyUnitMeas' },
{ label: '璁㈠崟鍙�', prop: 'orderNo' },
{ label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
@@ -356,7 +355,7 @@
],
page1: {
total: 0,
- size: 10,
+ size: 20,
current: 1
},
tableData2: [],
@@ -405,14 +404,32 @@
}
},
{ label: '璁㈠崟鍙�', prop: 'orderNo' },
- { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+ { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' },
{ label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
{ label: '鎵瑰彿', prop: 'updateBatchNo' },
{ label: '闆朵欢鍙�', prop: 'partNo' },
{ label: '闆朵欢鎻忚堪', prop: 'partDesc' },
{ label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
{ label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc' },
- { label: '鍏嶆', prop: 'isExemption' },
+ {
+ dataType: 'tag',
+ label: '鍏嶆',
+ prop: 'isExemption',
+ formatData: (params) => {
+ if (params == 1) {
+ return '鍏嶆'
+ } else {
+ return null
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return 'success'
+ } else {
+ return null
+ }
+ }
+ },
{
label: '鏍峰搧鍚嶇О',
prop: 'sampleName',
@@ -458,6 +475,11 @@
disabled: (row) => {
return row.isQuarter == 0
},
+ showHide: (row) => {
+ return this.checkPermi([
+ "get:raw:check:operation",
+ ]);
+ },
},
{
name: '鏁版嵁鏌ョ湅',
@@ -471,14 +493,14 @@
type: 'text',
clickFun: (row) => {
this.handleFileLook(row);
- },
+ }
},
{
name: '鎶ュ憡涓嬭浇',
type: 'text',
clickFun: (row) => {
this.download(row);
- },
+ }
},
{
name: '鍘熷璁板綍',
@@ -499,6 +521,11 @@
disabled: (row) => {
return row.inspectStatus != 2
},
+ showHide: (row) => {
+ return this.checkPermi([
+ "get:raw:check:operation",
+ ]);
+ },
},
{
name: '瀛e害鎾ら攢',
@@ -509,13 +536,18 @@
disabled: (row) => {
return row.quarterOrderId == null || row.quarterReportId != null
},
+ showHide: (row) => {
+ return this.checkPermi([
+ "get:raw:check:operation",
+ ]);
+ },
},
]
}
],
page2: {
total: 0,
- size: 10,
+ size: 20,
current: 1
},
tableData3: [],
@@ -558,14 +590,32 @@
}
},
{ label: '璁㈠崟鍙�', prop: 'orderNo' },
- { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+ { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' },
{ label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
{ label: '鎵瑰彿', prop: 'updateBatchNo' },
{ label: '闆朵欢鍙�', prop: 'partNo' },
{ label: '闆朵欢鎻忚堪', prop: 'partDesc' },
{ label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
{ label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc' },
- { label: '鍏嶆', prop: 'isExemption' },
+ {
+ dataType: 'tag',
+ label: '鍏嶆',
+ prop: 'isExemption',
+ formatData: (params) => {
+ if (params == 1) {
+ return '鍏嶆'
+ } else {
+ return null
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return 'success'
+ } else {
+ return null
+ }
+ }
+ },
{
label: '鏍峰搧鍚嶇О',
prop: 'sampleName',
@@ -621,7 +671,7 @@
],
page3: {
total: 0,
- size: 10,
+ size: 20,
current: 1
},
tableData4: [],
@@ -664,14 +714,32 @@
}
},
{ label: '璁㈠崟鍙�', prop: 'orderNo' },
- { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+ { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' },
{ label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
{ label: '鎵瑰彿', prop: 'updateBatchNo' },
{ label: '闆朵欢鍙�', prop: 'partNo' },
{ label: '闆朵欢鎻忚堪', prop: 'partDesc' },
{ label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
{ label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc' },
- { label: '鍏嶆', prop: 'isExemption' },
+ {
+ dataType: 'tag',
+ label: '鍏嶆',
+ prop: 'isExemption',
+ formatData: (params) => {
+ if (params == 1) {
+ return '鍏嶆'
+ } else {
+ return null
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return 'success'
+ } else {
+ return null
+ }
+ }
+ },
{
label: '鏍峰搧鍚嶇О',
prop: 'sampleName',
@@ -744,7 +812,7 @@
],
page4: {
total: 0,
- size: 10,
+ size: 20,
current: 1
},
entity: {
@@ -782,7 +850,7 @@
}
],
more: false,
- tabIndex: 0,
+ tabIndex: '',
multipleSelection: [],
active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪�
orderType: 0, //0锛氬師鏉愭枡涓嬪崟锛�1锛氬搴︽楠屼笅鍗�
@@ -827,6 +895,14 @@
...mapGetters(['nickName'])
},
mounted() {
+ if (this.checkPermi(['get:raw:await'])) {
+ this.tabIndex = 0
+ } else {
+ this.tabIndex = 2
+ }
+ this.refreshTable()
+ },
+ activated () {
this.refreshTable()
},
// 鏂规硶闆嗗悎
@@ -1032,31 +1108,57 @@
let inspectorList = []
inspectorList.push(this.nickName)
this.InspectInfoDialog = false
- this.$router.push({
- path: "/inspectionTask/inspection",
- query: {
- sonLaboratory: '鍘熸潗鏂�',
- state: 3,
- typeSource: this.insInfo.typeSource,
- orderId: this.insInfo.enterOrderId,
- inspectorList: inspectorList,
- },
- })
+ if (this.checkPermi(['business:inspectionView'])) {
+ this.$router.push({
+ name: "InspectionView",
+ query: {
+ sonLaboratory: '鍘熸潗鏂�',
+ state: 3,
+ typeSource: this.insInfo.typeSource,
+ orderId: this.insInfo.enterOrderId,
+ inspectorList: inspectorList,
+ },
+ })
+ } else {
+ this.$router.push({
+ path: "/inspectionTask/inspection",
+ query: {
+ sonLaboratory: '鍘熸潗鏂�',
+ state: 3,
+ typeSource: this.insInfo.typeSource,
+ orderId: this.insInfo.enterOrderId,
+ inspectorList: inspectorList,
+ },
+ })
+ }
},
viewInsInfo1() {
let inspectorList = []
inspectorList.push(this.nickName)
this.InspectInfoDialog = false
- this.$router.push({
- path: "/inspectionTask/inspection",
- query: {
- sonLaboratory: '鍘熸潗鏂�',
- state: 3,
- typeSource: this.insInfo.typeSource,
- orderId: this.insInfo.quarterOrderId,
- inspectorList: inspectorList,
- },
- })
+ if (this.checkPermi(['business:inspectionView'])) {
+ this.$router.push({
+ name: "InspectionView",
+ query: {
+ sonLaboratory: '鍘熸潗鏂�',
+ state: 3,
+ typeSource: this.insInfo.typeSource,
+ orderId: this.insInfo.quarterOrderId,
+ inspectorList: inspectorList,
+ },
+ })
+ } else {
+ this.$router.push({
+ path: "/inspectionTask/inspection",
+ query: {
+ sonLaboratory: '鍘熸潗鏂�',
+ state: 3,
+ typeSource: this.insInfo.typeSource,
+ orderId: this.insInfo.quarterOrderId,
+ inspectorList: inspectorList,
+ },
+ })
+ }
},
goback() {
this.state = 0
@@ -1068,7 +1170,6 @@
},
// 閾滄潗鏂欎笅鍗�
copper() {
- this.$router.push("/materialOrder/copperOrder");
this.$router.push({ path: "/materialOrder/copperOrder", query: { active: 1 } });
},
// 鎵撳紑鏍囩鎵撳嵃寮规
@@ -1089,20 +1190,20 @@
},
// 涓嬪崟
playOrder(row) {
- this.$router.push({ path: "/materialOrder/customsInspection", query: { orderType: 0, customsInspection: row, active: 1 } });
+ this.$router.push({ path: "/materialOrder/customsInspectionOrder", query: { orderType: 0, customsInspection: row, active: 1 } });
},
// 瀛e害妫�楠屼笅鍗�
playOrderSec(row) {
- this.$router.push({ path: "/materialOrder/customsInspection", query: { orderType: 1, customsInspection: row, active: 1 } });
+ this.$router.push({ path: "/materialOrder/customsInspectionOrder", query: { orderType: 1, customsInspection: row, active: 1 } });
},
// 鐐瑰嚮鏍峰搧鍚嶇О鏌ョ湅璇︽儏
selectAllByOne(row) {
if (row.isCopper == 1) {
this.currentId = row.enterOrderId
- this.$router.push({ path: "/materialOrder/copperOrder", query: { customsInspection: row, active: 2, currentId: this.currentId } });
+ this.$router.push({ path: "/materialOrder/CopperView", query: { customsInspection: row, active: 2, currentId: this.currentId } });
} else {
this.currentId = row.insOrderId
- this.$router.push({ path: "/materialOrder/customsInspection", query: { customsInspection: row, active: 2, currentId: this.currentId } });
+ this.$router.push({ path: "/materialOrder/customsInspectionView", query: { customsInspection: row, active: 2, currentId: this.currentId } });
}
},
// 鎵撳紑鍏嶆寮规
@@ -1249,10 +1350,14 @@
},
// 瀵煎嚭
handleOut() {
- let entity = this.tabIndex === 3 ? { ...this.entity, isInspect: 2 } : { ...this.entity, state: 2, orderState: 4, }
- delete entity.orderBy
this.outLoading = true
- rawAllExport({ entity: entity }).then(res => {
+ let params = {}
+ if (this.multipleSelection.length > 0) {
+ params.ids = this.multipleSelection.map(item => item.id).join(',');
+ } else {
+ params = {...this.entity}
+ }
+ rawAllExport(params).then(res => {
this.outLoading = false
const blob = new Blob([res], { type: 'application/octet-stream' });
this.$download.saveAs(blob, '鍘熸潗鏂欐娴嬩俊鎭鍑�.xlsx');
@@ -1280,6 +1385,7 @@
// 鍒囨崲涓嬪崟tab琛ㄦ牸
handleTab(m) {
this.tabIndex = m;
+ this.multipleSelection = []
this.refreshTable()
},
// 琛ㄦ牸閫夋嫨鏂规硶
--
Gitblit v1.9.3