From 12c8999bab7206bc652fd69ac4f364d84c9e7153 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 12 六月 2026 18:07:46 +0800
Subject: [PATCH] 不合格处理:支持多生产批次提交oa;oa流程查看调整
---
src/components/Table/lims-table.vue | 5
src/api/business/unpass.js | 9
src/api/business/unqualifiedHandler.js | 7
src/views/business/unpass/components/unPassDialog.vue | 193 ++++---
src/views/business/inspectionTask/inspection.vue | 7
src/views/business/unpass/components/OAProcess.vue | 46 +
src/views/business/unpass/index-manage.vue | 1230 ++++++++++++++++++++++++++----------------------
7 files changed, 835 insertions(+), 662 deletions(-)
diff --git a/src/api/business/unpass.js b/src/api/business/unpass.js
index 0bc71d9..49ee349 100644
--- a/src/api/business/unpass.js
+++ b/src/api/business/unpass.js
@@ -46,6 +46,15 @@
});
}
+// 鏌ヨ妫�楠屼笅鍗曞唴瀹硅鎯呭垪琛�
+export function getInsOrderList(data) {
+ return request({
+ url: "/insOrder/getInsOrderList",
+ method: "post",
+ data: data,
+ });
+}
+
// 鏌ョ湅OA璇︽儏
export function getUnqualifiedHandler(query) {
return request({
diff --git a/src/api/business/unqualifiedHandler.js b/src/api/business/unqualifiedHandler.js
index 196e2b2..6904bd9 100644
--- a/src/api/business/unqualifiedHandler.js
+++ b/src/api/business/unqualifiedHandler.js
@@ -42,3 +42,10 @@
responseType: "blob",
});
}
+// 鏌ヨ涓嶅悎鏍煎鐞嗚褰�
+export function getList() {
+ return request({
+ url: "/unqualifiedHandler/getList",
+ method: "get",
+ });
+}
diff --git a/src/components/Table/lims-table.vue b/src/components/Table/lims-table.vue
index ef3af96..769e168 100644
--- a/src/components/Table/lims-table.vue
+++ b/src/components/Table/lims-table.vue
@@ -316,6 +316,7 @@
this.tableData.forEach((_, index) => {
this.$set(this.uploadKeys, index, Date.now());
});
+ this.calculateSpanInfo();
this.refreshTableLayout();
},
immediate: true
@@ -471,13 +472,15 @@
calculateSpanInfo() {
// 鍒濆鍖栨瘡鍒楃殑鍚堝苟淇℃伅
this.spanList = [];
+ // 璁$畻鏁版嵁鍒楀湪el-table涓殑鐪熷疄璧峰绱㈠紩锛氬簭鍙峰垪(1鍒�) + 鍙�夌殑閫夋嫨鍒�(1鍒�)
+ const colOffset = this.isSelection ? 2 : 1;
this.column.forEach((m, i) => {
if (m.mergeCol) {
this.spanList.push({
arr: [],
position: 0,
name: m.prop,
- index: i + 1,
+ index: i + colOffset,
});
}
});
diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index d4c101b..9cce797 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -1150,7 +1150,7 @@
<UnPassDialog
v-if="unPassDialog"
ref="unPassDialog"
- :orderId="orderId"
+ :selectOrderIds="[orderId]"
:unPassDialog="unPassDialog"
@resetForm="resetForm"
></UnPassDialog>
@@ -4065,11 +4065,6 @@
display: inline-flex;
align-items: center;
}
-</style>
-<style scoped>
-/* .inspection .el-form-item__label {
- color: #000;
-} */
.inspection .el-drawer__header::before {
content: "";
diff --git a/src/views/business/unpass/components/OAProcess.vue b/src/views/business/unpass/components/OAProcess.vue
index 7b4e8e6..53b774d 100644
--- a/src/views/business/unpass/components/OAProcess.vue
+++ b/src/views/business/unpass/components/OAProcess.vue
@@ -12,6 +12,7 @@
<el-timeline-item
placement="top"
v-for="node in isOldData?oldNodes:newNodes"
+ v-if="(node.classType && node.classType===classType) || node.classType==='-1'"
:key="node.id"
:timestamp="node.name"
:icon="node.hasData ? 'el-icon-check' : 'el-icon-time'"
@@ -29,7 +30,7 @@
<span class="value">{{ node.time || "-" }}</span>
</div>
<div class="detail-item">
- <span class="label">{{node.name && node.name==='1妫�楠屽憳'?'涓嶅悎鏍兼弿杩帮細':'澶勭悊鎰忚锛�'}}</span>
+ <span class="label">{{node.infoTitle}}</span>
<span class="value">{{ node.info || "-" }}</span>
</div>
</div>
@@ -67,6 +68,7 @@
id: 1,
name: "1妫�楠屽憳",
info: "",
+ infoTitle:"涓嶅悎鏍兼儏鍐垫弿杩�:",
time: "",
operator: "",
operation: "",
@@ -75,6 +77,7 @@
{
id: 2,
name: "2妫�娴嬩富绠$‘璁�",
+ infoTitle:"澶勭悊鎰忚:",
info: "",
time: "",
operator: "",
@@ -84,6 +87,7 @@
{
id: 3,
name: "3鐗╂祦閮ㄧ‘璁�",
+ infoTitle:"澶勭悊鎰忚:",
info: "",
time: "",
operator: "",
@@ -93,6 +97,7 @@
{
id: 4,
name: "4浜у搧宸ョ▼甯堝鐞嗘剰瑙�",
+ infoTitle:"澶勭悊鎰忚:",
info: "",
time: "",
operator: "",
@@ -102,6 +107,7 @@
{
id: 5,
name: "5.鎬诲伐鎴栬�呭壇缁忕悊鐨勫鐞嗘剰瑙�",
+ infoTitle:"澶勭悊鎰忚:",
info: "",
time: "",
operator: "",
@@ -111,6 +117,7 @@
{
id: 6,
name: "6璐ㄩ噺閮ㄥ鐞嗘剰瑙�",
+ infoTitle:"澶勭悊鎰忚:",
info: "",
time: "",
operator: "",
@@ -120,6 +127,7 @@
{
id: 7,
name: "7璐ㄩ噺閮ㄧ粡鐞�",
+ infoTitle:"澶勭悊鎰忚:",
info: "",
time: "",
operator: "",
@@ -129,6 +137,7 @@
{
id: 8,
name: "8鏍哥畻鍛�",
+ infoTitle:"澶勭悊鎰忚:",
info: "",
time: "",
operator: "",
@@ -138,6 +147,7 @@
{
id: 9,
name: "9鐗╂祦閮ㄧ储璧旂粨鏋�",
+ infoTitle:"澶勭悊鎰忚:",
info: "",
time: "",
operator: "",
@@ -149,8 +159,10 @@
newNodes:[
{
id: 1,
+ classType: "-1",
name: "1鐢宠",
info: "",
+ infoTitle:"涓嶅悎鏍兼儏鍐垫弿杩�:",
time: "",
operator: "",
operation: "",
@@ -158,8 +170,10 @@
},
{
id: 2,
- name: "2璐ㄩ噺閮ㄧ粡鐞�",
+ classType: "-1",
+ name: "2璐ㄩ噺缁忕悊",
info: "",
+ infoTitle:"瀵逛笉鍚堟牸浜у搧鐨勫鐞嗚姹�:",
time: "",
operator: "",
operation: "",
@@ -167,7 +181,9 @@
},
{
id: 3,
+ classType: "0",
name: "3宸ヨ壓锛堜竴绫讳笉鍚堟牸锛�",
+ infoTitle:"鏀硅繘瑕佹眰:",
info: "",
time: "",
operator: "",
@@ -176,7 +192,9 @@
},
{
id: 4,
+ classType: "1",
name: "3宸ヨ壓锛堜簩绫讳笉鍚堟牸锛�",
+ infoTitle:"鏀硅繘瑕佹眰:",
info: "",
time: "",
operator: "",
@@ -185,8 +203,10 @@
},
{
id: 5,
+ classType: "0",
name: "4鎶�鏈粡鐞嗭紙涓�绫讳笉鍚堟牸锛�",
info: "",
+ infoTitle:"鎺柦瑕佹眰:",
time: "",
operator: "",
operation: "",
@@ -194,8 +214,10 @@
},
{
id: 6,
+ classType: "1",
name: "4鎶�鏈粡鐞嗭紙浜岀被涓嶅悎鏍硷級",
info: "",
+ infoTitle:"鎺柦瑕佹眰:",
time: "",
operator: "",
operation: "",
@@ -203,8 +225,10 @@
},
{
id: 7,
+ classType: "0",
name: "5鏍哥畻锛堜竴绫讳笉鍚堟牸锛�",
info: "",
+ infoTitle:"绱㈣禂瑕佹眰(浜烘皯甯丷MB锟�):",
time: "",
operator: "",
operation: "",
@@ -212,8 +236,10 @@
},
{
id: 8,
+ classType: "1",
name: "5鎬荤粡鐞嗭紙浜岀被涓嶅悎鏍硷級",
info: "",
+ infoTitle:"鏈�缁堝鐞嗘剰瑙�:",
time: "",
operator: "",
operation: "",
@@ -221,8 +247,10 @@
},
{
id: 9,
+ classType: "0",
name: "6褰掓。锛堜竴绫讳笉鍚堟牸锛�",
info: "",
+ infoTitle:"澶勭悊鎰忚:",
time: "",
operator: "",
operation: "",
@@ -230,8 +258,10 @@
},
{
id: 10,
+ classType: "1",
name: "6鏍哥畻锛堜簩绫讳笉鍚堟牸锛�",
info: "",
+ infoTitle:"绱㈣禂瑕佹眰(浜烘皯甯丷MB锟�):",
time: "",
operator: "",
operation: "",
@@ -239,19 +269,23 @@
},
{
id: 11,
+ classType: "1",
name: "7褰掓。锛堜簩绫讳笉鍚堟牸锛�",
info: "",
+ infoTitle:"澶勭悊鎰忚:",
time: "",
operator: "",
operation: "",
hasData: false,
},
- ]
+ ],
+ classType:null,
};
},
// 鏂规硶闆嗗悎
methods: {
- getInfo(id,unqualifiedDesc) {
+ getInfo(id,unqualifiedDesc,classType) {
+ if(classType)this.classType = classType;
getOaFlow({
id: id,
})
@@ -264,7 +298,7 @@
const node = nodes.find((n) => n.name === item.nodeName);
if (node) {
node.time = item.approvalDate + " " + item.approvalTime;
- if(item.nodeName && item.nodeName==="1妫�楠屽憳"){
+ if(item.nodeName && ['1妫�楠屽憳','1鐢宠'].includes(item.nodeName)){
node.info=unqualifiedDesc;
}else{
node.info = item.approvalOpinion;
@@ -318,7 +352,7 @@
font-weight: 500;
color: #606266;
margin-right: 8px;
- min-width: 90px;
+ min-width: 110px;
}
.value {
diff --git a/src/views/business/unpass/components/unPassDialog.vue b/src/views/business/unpass/components/unPassDialog.vue
index af51b98..b6c79ae 100644
--- a/src/views/business/unpass/components/unPassDialog.vue
+++ b/src/views/business/unpass/components/unPassDialog.vue
@@ -1,65 +1,99 @@
<template>
<div>
- <el-dialog :title="type==='view'?'涓嶅悎鏍煎鐞嗚鎯�':'涓嶅悎鏍煎鐞嗘彁浜�'" :visible.sync="isShow" width="740px" :show-close="false" :close-on-click-modal="false"
- :close-on-press-escape="false">
- <div class="search">
- <el-form :inline="true" :model="unPassForm" :rules="unPassFormRules" ref="unPassForm" class="form-inline"
+ <el-dialog :title="type==='view'?'涓嶅悎鏍煎鐞嗚鎯�':'涓嶅悎鏍煎鐞嗘彁浜�'" :visible.sync="isShow" width="40%" :show-close="false" :close-on-click-modal="false"
+ :close-on-press-escape="false" append-to-body>
+ <div>
+ <el-form :model="unPassForm" :rules="unPassFormRules" ref="unPassForm"
label-width="120px">
- <div>
- <el-form-item class="headLine" label="鏍囬:" style="width: 100%" prop="headline">
- <el-input clearable v-model="unPassForm.headline" size="small" :disabled="type === 'view'" type="textarea"
- placeholder="璇疯緭鍏�"></el-input>
- </el-form-item>
- </div>
- <el-form-item label="渚涘簲鍟嗗悕绉�:">
- <el-input clearable v-model="unPassForm.supplierName" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
- </el-form-item>
- <el-form-item label="鐗╂枡鍚嶇О:" prop="materialName">
- <el-tooltip class="item" effect="dark" placement="top" :content="unPassForm.materialName">
- <el-input clearable v-model="unPassForm.materialName" :disabled="type==='view'" size="small" placeholder="璇疯緭鍏�"></el-input>
- </el-tooltip>
- </el-form-item>
- <el-form-item label="鐢熶骇鎵规:">
- <el-input clearable v-model="unPassForm.productionBatch" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
- </el-form-item>
- <el-form-item label="鍒拌揣鏁伴噺:">
- <el-input clearable v-model="unPassForm.cargoQuantity" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
- </el-form-item>
- <el-form-item label="瑙勬牸鍨嬪彿:">
- <el-input clearable v-model="unPassForm.specsModels" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
- </el-form-item>
- <el-form-item label="鎶ユ鏃堕棿:">
- <el-date-picker v-model="unPassForm.inspectTime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" size="small"
- disabled style="width: 175px" type="date" placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </el-form-item>
- <el-form-item label="鍙嶉浜�:">
- <el-input clearable v-model="unPassForm.feedbackUser" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
- </el-form-item>
- <el-form-item label="鍙嶉鏃堕棿:" prop="feedbackTime">
- <el-date-picker :picker-options="{ disabledDate: this.disabledDate }" v-model="unPassForm.feedbackTime" :disabled="type === 'view'" format="yyyy-MM-dd"
- value-format="yyyy-MM-dd" size="small" style="width: 175px" type="date" placeholder="閫夋嫨鏃ユ湡">
- </el-date-picker>
- </el-form-item>
- <el-form-item label="鍒嗙被:" prop="classification">
- <el-select v-model="unPassForm.classification" :disabled="type === 'view' || !unPassForm.id" size="small" placeholder="璇烽�夋嫨">
- <el-option v-for="item in classificationOptions" :key="item.value" :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="涓嶅悎鏍煎綊灞�:" prop="offGradeAscription">
- <el-select v-model="unPassForm.offGradeAscription" :disabled="type === 'view'" size="small"
- placeholder="璇烽�夋嫨">
- <el-option v-for="item in offGradeAscriptionOptions" :key="item.value" :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="涓嶅悎鏍兼儏鍐垫弿杩�:" prop="unqualifiedDesc">
- <el-input clearable type="textarea" v-model="unPassForm.unqualifiedDesc" :disabled="type === 'view'"
- style="width: 484px" size="small" placeholder="璇疯緭鍏�"></el-input>
- </el-form-item>
+ <el-row >
+ <el-col :span="24">
+ <el-form-item label="鏍囬" prop="headline">
+ <el-input style="width:100%" clearable v-model="unPassForm.headline" size="small" :disabled="type === 'view'" type="textarea"
+ placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row >
+ <el-col :span="12">
+ <el-form-item label="渚涘簲鍟嗗悕绉�">
+ <el-input style="width:100%" clearable v-model="unPassForm.supplierName" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鐗╂枡鍚嶇О" prop="materialName">
+ <el-input style="width:100%" clearable v-model="unPassForm.materialName" :disabled="type==='view'" size="small" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row >
+ <el-col :span="12">
+ <el-form-item label="鐢熶骇鎵规">
+ <el-input style="width:100%" clearable v-model="unPassForm.productionBatch" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍒拌揣鏁伴噺">
+ <el-input style="width:100%" clearable v-model="unPassForm.cargoQuantity" disabled size="small" placeholder="璇疯緭鍏�" >
+ <template slot="append">{{unPassForm.buyUnitMeas}}</template>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row >
+ <el-col :span="12">
+ <el-form-item label="瑙勬牸鍨嬪彿">
+ <el-input style="width:100%" clearable v-model="unPassForm.specsModels" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鎶ユ鏃堕棿">
+ <el-date-picker style="width:100%" v-model="unPassForm.inspectTime" format="yyyy-MM-dd" value-format="yyyy-MM-dd" size="small"
+ disabled type="date" placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row >
+ <el-col :span="12">
+ <el-form-item label="鍙嶉浜�">
+ <el-input style="width:100%" clearable v-model="unPassForm.feedbackUser" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍙嶉鏃堕棿" prop="feedbackTime">
+ <el-date-picker style="width:100%" :picker-options="{ disabledDate: this.disabledDate }" v-model="unPassForm.feedbackTime" :disabled="type === 'view'" format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd" size="small" type="date" placeholder="閫夋嫨鏃ユ湡">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row >
+ <el-col :span="12">
+ <el-form-item label="鍒嗙被" prop="classification">
+ <el-select style="width:100%" v-model="unPassForm.classification" :disabled="type === 'view' || !unPassForm.id" size="small" placeholder="璇烽�夋嫨">
+ <el-option v-for="item in classificationOptions" :key="item.value" :label="item.label"
+ :value="item.value"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="涓嶅悎鏍煎綊灞�" prop="offGradeAscription">
+ <el-select style="width:100%" v-model="unPassForm.offGradeAscription" :disabled="type === 'view'" size="small"
+ placeholder="璇烽�夋嫨">
+ <el-option v-for="item in offGradeAscriptionOptions" :key="item.value" :label="item.label"
+ :value="item.value"></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row >
+ <el-col :span="24">
+ <el-form-item label="涓嶅悎鏍兼儏鍐垫弿杩�" prop="unqualifiedDesc">
+ <el-input style="width:100%" clearable type="textarea" v-model="unPassForm.unqualifiedDesc" :disabled="type === 'view'"
+ size="small" placeholder="璇疯緭鍏�"></el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-form>
<el-upload v-if="type !== 'view'" ref="upload" :action="action2" :on-change="beforeUpload" :on-error="onError"
:on-remove="handleRemoveFile" :on-success="getUnpassUrl" :headers="uploadHeader" :file-list="unPassFilesList">
@@ -84,7 +118,7 @@
</template>
<script>
-import { getInsOrder, getUnqualifiedHandler, downFile, addUnqualifiedHandler,reSubmitPushOa } from '@/api/business/unpass.js'
+import { getInsOrder,getInsOrderList, getUnqualifiedHandler, downFile, addUnqualifiedHandler,reSubmitPushOa } from '@/api/business/unpass.js'
import {mapGetters} from "vuex";
export default {
name: "unPassDialog",
@@ -95,9 +129,11 @@
type: Boolean,
default: () => false
},
- orderId: {
- type: String,
- default: () => null
+ selectOrderIds: {
+ type: Array,
+ default: () => {
+ return []
+ }
},
},
data() {
@@ -152,21 +188,22 @@
this.type = type
if (type === 'add') {
// 璧嬪�奸粯璁ゆ暟鎹�
- getInsOrder({
- orderId: this.orderId
+ getInsOrderList({
+ selectOrderIds: this.selectOrderIds
}).then(res => {
if (res.code === 200) {
this.unPassForm.feedbackTime = new Date().toISOString().substring(0, 10) // 鎶ユ鏃堕棿
- this.unPassForm.headline = `No.0020-涓ぉ鑰愪笣-渚涘簲鍟嗚川閲忓紓甯稿弽棣堟祦绋�-${res.data.insOrderTemplate.supplierName}-${this.unPassForm.feedbackTime}` // 鏍囬
+ this.unPassForm.headline = `No.0020-涓ぉ鑰愪笣-渚涘簲鍟嗚川閲忓紓甯稿弽棣堟祦绋�-${res.data.supplierName}-${this.unPassForm.feedbackTime}` // 鏍囬
this.unPassForm.feedbackUser = this.nickName // 鍙嶉浜�
- this.unPassForm.insOrderId = res.data.insOrder.id // 璁㈠崟id
- this.unPassForm.materialName = res.data.insOrder.sampleType // 鐗╂枡鍚嶇О
- this.unPassForm.specsModels = res.data.insOrder.partDetail // 瑙勬牸鍨嬪彿
- this.unPassForm.inventoryQuantityId = res.data.insOrderTemplate.inventoryQuantityId // 鍘熸潗鏂檌d
- this.unPassForm.supplierName = res.data.insOrderTemplate.supplierName // 渚涘簲鍟嗗悕绉�
- this.unPassForm.productionBatch = res.data.insOrderTemplate.updateBatchNo // 鐢熶骇鎵规
- this.unPassForm.cargoQuantity = res.data.insOrderTemplate.qtyArrived + res.data.insOrderTemplate.buyUnitMeas // 鍒拌揣鏁伴噺
- this.unPassForm.inspectTime = res.data.insOrderTemplate.sendTime.substring(0, 10) // 鎶ユ鏃堕棿
+ // this.unPassForm.insOrderId = res.data.insOrder.id // 璁㈠崟id
+ this.unPassForm.materialName = res.data.sampleType // 鐗╂枡鍚嶇О
+ this.unPassForm.specsModels = res.data.partDetail // 瑙勬牸鍨嬪彿
+ // this.unPassForm.inventoryQuantityId = res.data.inventoryQuantityId // 鍘熸潗鏂檌d
+ this.unPassForm.supplierName = res.data.supplierName // 渚涘簲鍟嗗悕绉�
+ this.unPassForm.productionBatch = res.data.updateBatchNo // 鐢熶骇鎵规
+ this.unPassForm.cargoQuantity = res.data.qtyArrived // 鍒拌揣鏁伴噺
+ this.unPassForm.buyUnitMeas = res.data.buyUnitMeas // 閲囪喘鍗曚綅
+ this.unPassForm.inspectTime = res.data.sendTime // 鎶ユ鏃堕棿
}
})
} else {
@@ -201,7 +238,10 @@
delete item.orderBy
})
this.handlunPassLoading = true
- addUnqualifiedHandler(this.unPassForm).then(res => {
+ addUnqualifiedHandler({
+ ...this.unPassForm,
+ selectOrderIds: this.selectOrderIds
+ }).then(res => {
if (res.code === 200) {
this.$message.success('鎻愪氦鎴愬姛')
this.$emit('resetForm')
@@ -288,7 +328,4 @@
</script>
<style scoped>
-.headLine>>>.el-form-item__content {
- width: 68%;
-}
</style>
diff --git a/src/views/business/unpass/index-manage.vue b/src/views/business/unpass/index-manage.vue
index d5da046..bac9723 100644
--- a/src/views/business/unpass/index-manage.vue
+++ b/src/views/business/unpass/index-manage.vue
@@ -4,39 +4,85 @@
<div>
<el-form :model="entity" ref="entity" size="small" :inline="true">
<el-form-item label="IFS鍩�" prop="contract">
- <el-select @keyup.enter.native="refreshTable" v-model="entity.contract" clearable placeholder="璇烽�夋嫨" size="small">
- <el-option label="ZTNS" value="ZTNS"/>
- <el-option label="KJNS" value="KJNS"/>
+ <el-select
+ @keyup.enter.native="refreshTable"
+ v-model="entity.contract"
+ clearable
+ placeholder="璇烽�夋嫨"
+ size="small"
+ >
+ <el-option label="ZTNS" value="ZTNS" />
+ <el-option label="KJNS" value="KJNS" />
</el-select>
</el-form-item>
<el-form-item label="鎵瑰彿" prop="updateBatchNo">
- <el-input v-model="entity.updateBatchNo" clearable placeholder="璇疯緭鍏�" size="small"
- @keyup.enter.native="refreshTable()">
+ <el-input
+ v-model="entity.updateBatchNo"
+ clearable
+ placeholder="璇疯緭鍏�"
+ size="small"
+ @keyup.enter.native="refreshTable()"
+ >
</el-input>
</el-form-item>
<el-form-item label="璁㈠崟缂栧彿" prop="no">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="entity.no"
- @keyup.enter.native="refreshTable()"></el-input>
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="entity.no"
+ @keyup.enter.native="refreshTable()"
+ ></el-input>
</el-form-item>
<el-form-item label="瑙勬牸鍨嬪彿" prop="specsModels">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="entity.specsModels"
- @keyup.enter.native="refreshTable()"></el-input>
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="entity.specsModels"
+ @keyup.enter.native="refreshTable()"
+ ></el-input>
</el-form-item>
<el-form-item label="鏍峰搧鍚嶇О" prop="sample">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="entity.sample"
- @keyup.enter.native="refreshTable()"></el-input>
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="entity.sample"
+ @keyup.enter.native="refreshTable()"
+ ></el-input>
</el-form-item>
<el-form-item label="鐗╂枡灞炴��" prop="materialProp">
- <el-select clearable size="small" v-model="entity.materialProp" style="width: 100%" @change="refreshTable()">
- <el-option v-for="dict in dict.type.material_prop_type" :key="dict.value" :label="dict.label"
- :value="dict.value">
+ <el-select
+ clearable
+ size="small"
+ v-model="entity.materialProp"
+ style="width: 100%"
+ @change="refreshTable()"
+ >
+ <el-option
+ v-for="dict in dict.type.material_prop_type"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ >
</el-option>
</el-select>
</el-form-item>
<el-form-item label="OA瀹℃牳鐘舵��" prop="operation">
- <el-select clearable size="small" v-model="entity.operation" style="width: 100%" @change="refreshTable()">
- <el-option v-for="dict in dict.type.oa_workflow_state" :key="dict.value" :label="dict.label"
- :value="dict.value">
+ <el-select
+ clearable
+ size="small"
+ v-model="entity.operation"
+ style="width: 100%"
+ @change="refreshTable()"
+ >
+ <el-option
+ v-for="dict in dict.type.oa_workflow_state"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
+ >
</el-option>
</el-select>
</el-form-item>
@@ -49,26 +95,47 @@
clearable
value-format="yyyy-MM-dd"
v-model="entity.feedbackDateTime"
- @keyup.enter.native="refreshTable()">
+ @keyup.enter.native="refreshTable()"
+ >
</el-date-picker>
</el-form-item>
<el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
- <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="entity.supplierName"
- @keyup.enter.native="refreshTable()"></el-input>
+ <el-input
+ size="small"
+ placeholder="璇疯緭鍏�"
+ clearable
+ v-model="entity.supplierName"
+ @keyup.enter.native="refreshTable()"
+ ></el-input>
</el-form-item>
<el-form-item>
- <el-button type="primary" size="mini" @click="refreshTable">鏌ヨ</el-button>
+ <el-button type="primary" size="mini" @click="refreshTable"
+ >鏌ヨ</el-button
+ >
<el-button size="mini" @click="refresh">閲嶇疆</el-button>
- <el-button :loading="exportLoading" type="success" size="mini" @click="exportUnqualifiedHandler">瀵煎嚭</el-button>
- <el-button type="primary" size="mini" @click="openInsOrderDialog">鏂板涓嶅悎鏍煎鐞�</el-button>
+ <el-button
+ :loading="exportLoading"
+ type="success"
+ size="mini"
+ @click="exportUnqualifiedHandler"
+ >瀵煎嚭</el-button
+ >
+ <el-button type="primary" size="mini" @click="openInsOrderDialog"
+ >鏂板涓嶅悎鏍煎鐞�</el-button
+ >
</el-form-item>
</el-form>
</div>
</div>
<div>
- <lims-table :tableData="tableData" :column="column"
- :more="true" @pagination="pagination"
- :page="page" :tableLoading="tableLoading"></lims-table>
+ <lims-table
+ :tableData="tableData"
+ :column="column"
+ :more="true"
+ @pagination="pagination"
+ :page="page"
+ :tableLoading="tableLoading"
+ ></lims-table>
</div>
<el-dialog
title="鎻愪氦"
@@ -76,24 +143,14 @@
:close-on-press-escape="false"
:close-on-click-modal="false"
:visible.sync="dialogVisible"
- width="30%">
+ width="30%"
+ >
<span>鏄惁纭鎻愪氦OA锛�</span>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="submitOA" :loading="submitOALoading">纭� 瀹�</el-button>
- </span>
- </el-dialog>
- <el-dialog
- title="鍒犻櫎"
- :show-close="false"
- :close-on-press-escape="false"
- :close-on-click-modal="false"
- :visible.sync="deleteVisible"
- width="30%">
- <span>鏄惁纭<span style="color: #FF4902">鍒犻櫎</span>OA锛�</span>
- <span slot="footer" class="dialog-footer">
- <el-button @click="deleteVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="cancelOA" :loading="cancelOALoading">纭� 瀹�</el-button>
+ <el-button type="primary" @click="submitOA" :loading="submitOALoading"
+ >纭� 瀹�</el-button
+ >
</span>
</el-dialog>
<el-dialog
@@ -102,408 +159,437 @@
:close-on-click-modal="false"
:visible.sync="insOrderVisible"
@closed="resetInsOrderForm"
- width="50%">
- <el-row :gutter="20" style="margin-bottom:10px">
+ @open="getListData"
+ width="50%"
+ >
+ <el-row :gutter="20" style="margin-bottom: 10px">
<el-col :span="12">
- <el-input clearable size="small" v-model="lotBatchNo" placeholder="璇疯緭鍏ユ壒娆″彿"></el-input>
+ <el-input
+ clearable
+ size="small"
+ v-model="lotBatchNo"
+ placeholder="璇疯緭鍏ユ壒娆″彿"
+ ></el-input>
</el-col>
<el-col :span="12">
- <el-button size="small" type="primary" @click="searchInsOrderList">鎼滅储</el-button>
+ <el-button size="small" type="primary" @click="searchInsOrderList"
+ >鎼滅储</el-button
+ >
</el-col>
</el-row>
<el-tabs v-model="activeName" @tab-click="searchInsOrderList">
<el-tab-pane label="鍘熸潗鏂欎笅鍗�" name="raw">
- <lims-table ref="rawInsOrderTable"
- v-if="activeName==='raw'"
- :tableData="insOrderDataList"
- :column="insOrderTableDataColumn"
- :isSelection="true"
- :selectionSelectable="insOrderSelectable"
- :handleSelectionChange="selectRawMethod"
- :rowClassName="insOrderRowClassName"
- @pagination="insOrderPageination"
- :height="500"
- :page="insOrderPage"
- :tableLoading="insOrderTableLoading">
+ <lims-table
+ ref="rawInsOrderTable"
+ v-if="activeName === 'raw'"
+ :tableData="insOrderDataList"
+ :column="insOrderTableDataColumn"
+ :isSelection="true"
+ :selectionSelectable="insOrderSelectable"
+ :handleSelectionChange="handlerSelection"
+ :rowClassName="insOrderRowClassName"
+ @pagination="insOrderPageination"
+ :height="500"
+ :page="insOrderPage"
+ :tableLoading="insOrderTableLoading"
+ >
</lims-table>
</el-tab-pane>
<el-tab-pane label="澶栬喘涓嬪崟" name="wg">
- <lims-table ref="wgInsOrderTable"
- v-if="activeName==='wg'"
- :tableData="wgInsOrderDataList"
- :column="wgInsOrderTableDataColumn"
- :isSelection="true"
- :selectionSelectable="insOrderSelectable"
- :handleSelectionChange="selectWgMethod"
- :rowClassName="insOrderRowClassName"
- @pagination="wgInsOrderPageination"
- :height="500"
- :page="wgInsOrderPage"
- :tableLoading="insOrderTableLoading">
+ <lims-table
+ ref="wgInsOrderTable"
+ v-if="activeName === 'wg'"
+ :tableData="wgInsOrderDataList"
+ :column="wgInsOrderTableDataColumn"
+ :isSelection="true"
+ :selectionSelectable="insOrderSelectable"
+ :handleSelectionChange="handlerSelection"
+ :rowClassName="insOrderRowClassName"
+ @pagination="wgInsOrderPageination"
+ :height="500"
+ :page="wgInsOrderPage"
+ :tableLoading="insOrderTableLoading"
+ >
</lims-table>
</el-tab-pane>
</el-tabs>
<span slot="footer" class="dialog-footer">
<el-button @click="resetInsOrderForm">鍙� 娑�</el-button>
- <el-button type="primary" @click="openAddUnqualifiedHandlerView">纭� 瀹�</el-button>
+ <el-button type="primary" @click="openAddUnqualifiedHandlerView"
+ >纭� 瀹�</el-button
+ >
</span>
</el-dialog>
- <UnPassDialog ref="unPassDialog" v-if="unPassDialog"
- :orderId="orderId"
- @resetForm="resetForm1"
- :unPassDialog="unPassDialog"></UnPassDialog>
- <OAProcess ref="OAProcess"
- :OAProcess="OAProcess"
- :isOldData="isOldData"
- @closeOAProcess="closeOAProcess"
- v-if="OAProcess"></OAProcess>
+ <UnPassDialog
+ ref="unPassDialog"
+ v-if="unPassDialog"
+ :selectOrderIds="selectOrderIds"
+ @resetForm="resetForm1"
+ :unPassDialog="unPassDialog"
+ ></UnPassDialog>
+ <OAProcess
+ ref="OAProcess"
+ :OAProcess="OAProcess"
+ :isOldData="isOldData"
+ @closeOAProcess="closeOAProcess"
+ v-if="OAProcess"
+ ></OAProcess>
</div>
</template>
<script>
-import {getIfsByAll} from "@/api/business/rawMaterialOrder";
-import { getIfsByAll as getIfsByWgAll } from "@/api/business/outsourcingFinishProductInspection";
+import { getIfsByAll } from "@/api/business/rawMaterialOrder";
+import { getIfsByAll as getIfsByWgAll } from "@/api/business/outsourcingFinishProductInspection";
import UnPassDialog from "./components/unPassDialog.vue";
import OAProcess from "./components/OAProcess.vue";
import limsTable from "@/components/Table/lims-table.vue";
-import {deleteUnqualifiedHandler, page, pushOA,exportUnqualifiedHandler} from "@/api/business/unqualifiedHandler";
-import {transformExcel} from '@/utils/file'
+import {
+ deleteUnqualifiedHandler,
+ page,
+ pushOA,
+ exportUnqualifiedHandler,
+ getList
+} from "@/api/business/unqualifiedHandler";
+import { transformExcel } from "@/utils/file";
export default {
components: {
limsTable,
OAProcess,
UnPassDialog,
},
- dicts: ['material_prop_type','oa_workflow_state','categories_no_conformities','attribution_no_conformities'],
+ dicts: [
+ "material_prop_type",
+ "oa_workflow_state",
+ "categories_no_conformities",
+ "attribution_no_conformities",
+ ],
data() {
return {
- activeName: 'raw',
- lotBatchNo:null,
- insOrderVisible:false,
- insOrderTableLoading:false,
- insOrderDataList:[],
- insOrderTableDataColumn:[
+ activeName: "raw",
+ lotBatchNo: null,
+ insOrderVisible: false,
+ insOrderTableLoading: false,
+ insOrderDataList: [],
+ insOrderTableDataColumn: [
{
- label: 'IFS鍩�',
- prop: 'contract',
- width: '120px',
- dataType: 'tag',
+ label: "IFS鍩�",
+ prop: "contract",
+ width: "120px",
+ dataType: "tag",
formatData: (params) => {
- return params
+ return params;
},
formatType: (params) => {
- if (params === 'ZTNS') {
- return ''
- } else if (params === 'KJNS') {
- return 'success'
- }else {
- return null
+ if (params === "ZTNS") {
+ return "";
+ } else if (params === "KJNS") {
+ return "success";
+ } else {
+ return null;
}
- }
-
+ },
},
- { label: '濮旀墭缂栧彿', prop: 'entrustCode', width: "160px", },
+ { label: "濮旀墭缂栧彿", prop: "entrustCode", width: "160px" },
{
- dataType: 'tag',
- label: '妫�楠岀姸鎬�',
- prop: 'inspectStatus',
+ dataType: "tag",
+ label: "妫�楠岀姸鎬�",
+ prop: "inspectStatus",
formatData: (params) => {
if (params == 0) {
- return '妫�楠屼腑'
+ return "妫�楠屼腑";
} else if (params == 1) {
- return '鍚堟牸'
+ return "鍚堟牸";
} else if (params == 2) {
- return '涓嶅悎鏍�'
+ return "涓嶅悎鏍�";
} else if (params == 3) {
- return '鏈笅鍗�'
+ return "鏈笅鍗�";
} else if (params == 4) {
- return '璁╂鏀捐'
+ return "璁╂鏀捐";
} else {
- return null
+ return null;
}
},
formatType: (params) => {
if (params == 0) {
- return 'warning'
+ return "warning";
} else if (params == 1) {
- return 'success'
+ return "success";
} else if (params == 2) {
- return 'danger'
+ return "danger";
} else if (params == 3) {
- return 'info'
+ return "info";
} else if (params == 4) {
- return ''
+ return "";
} else {
- return null
+ return null;
}
- }
+ },
},
- { label: '璁㈠崟鍙�', prop: 'orderNo' },
- { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' ,width:'160' },
- { label: '涓嬪彂鏃堕棿', prop: 'sendTime',width:'160' },
- { label: '鎵瑰彿', prop: 'updateBatchNo',width:'160' },
- { label: '闆朵欢鍙�', prop: 'partNo',width:'140' },
- { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
- { label: '渚涘簲鍟嗙紪鐮�', prop: 'supplierId',width:'140' },
- { label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName',width:'140' },
+ { label: "璁㈠崟鍙�", prop: "orderNo" },
+ { label: "鎶佃揪鐨勯噰璐暟閲�", prop: "purQtyInStore", width: "160" },
+ { label: "涓嬪彂鏃堕棿", prop: "sendTime", width: "160" },
+ { label: "鎵瑰彿", prop: "updateBatchNo", width: "160" },
+ { label: "闆朵欢鍙�", prop: "partNo", width: "140" },
+ { label: "闆朵欢鎻忚堪", prop: "partDesc" },
+ { label: "渚涘簲鍟嗙紪鐮�", prop: "supplierId", width: "140" },
+ { label: "渚涘簲鍟嗗悕绉�", prop: "supplierName", width: "140" },
{
- dataType: 'tag',
- label: '鍏嶆',
- prop: 'isExemption',
+ dataType: "tag",
+ label: "鍏嶆",
+ prop: "isExemption",
formatData: (params) => {
if (params == 1) {
- return '鍏嶆'
+ return "鍏嶆";
} else {
- return null
+ return null;
}
},
formatType: (params) => {
if (params == 1) {
- return 'success'
+ return "success";
} else {
- return null
- }
- }
- },
- {
- label: '鏍峰搧鍚嶇О',
- prop: 'sampleName',
- width: "160px"
- },
- { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
- { label: '妫�楠屼汉', prop: 'userName' },
- {
- label: '鐗╂枡灞炴��',
- prop: 'materialProp',
- formatData: (params) => {
- if (!params) return null
-
- for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
- const item = this.dict.type.material_prop_type[i]
- if (item.value == params) {
- return item.label
- }
- }
- return null
- }
- },
- {
- dataType: 'tag',
- label: '鐗╂枡绫诲瀷',
- prop: 'isExpire',
- formatData: (params) => {
- if (params == 1) {
- return '杩囨湡鐗╂枡'
- } else {
- return null
+ return null;
}
},
- formatType: (params) => {
- if (params == 1) {
- return 'info'
- } else {
- return null
- }
- }
- },
- { label: '鍗曚綅', prop: 'buyUnitMeas' },
- { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate',width:'160' },
- { label: '鎶ユ鏃堕棿', prop: 'declareDate',width:'160' },
- ],
- insOrderPage:{
- total: 0,
- size: 20,
- current: 1
- },
- wgInsOrderTableDataColumn:[
- {
- label: 'IFS鍩�',
- prop: 'contract',
- width: '120px',
- dataType: 'tag',
- formatData: (params) => {
- return params
- },
- formatType: (params) => {
- if (params === 'ZTNS') {
- return ''
- } else if (params === 'KJNS') {
- return 'success'
- }else {
- return null
- }
- }
-
- },
- { label: '濮旀墭缂栧彿', prop: 'entrustCode', width: "160px", },
- {
- dataType: 'tag',
- label: '妫�楠岀姸鎬�',
- prop: 'inspectStatus',
- formatData: (params) => {
- if (params == 0) {
- return '妫�楠屼腑'
- } else if (params == 1) {
- return '鍚堟牸'
- } else if (params == 2) {
- return '涓嶅悎鏍�'
- } else if (params == 3) {
- return '鏈笅鍗�'
- } else if (params == 4) {
- return '璁╂鏀捐'
- } else {
- return null
- }
- },
- formatType: (params) => {
- if (params == 0) {
- return 'warning'
- } else if (params == 1) {
- return 'success'
- } else if (params == 2) {
- return 'danger'
- } else if (params == 3) {
- return 'info'
- } else if (params == 4) {
- return ''
- } else {
- return null
- }
- }
- },
- { label: '璁㈠崟鍙�', prop: 'orderNo' },
- { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore', width: '130px' },
- { label: '涓嬪彂鏃堕棿', prop: 'sendTime', width: '130px' },
- { label: '鎵瑰彿', prop: 'updateBatchNo', width: '130px' },
- { label: '闆朵欢鍙�', prop: 'partNo', width: '140px' },
- { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
- { label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
- {
- 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',
+ label: "鏍峰搧鍚嶇О",
+ prop: "sampleName",
width: "160px",
},
- { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
- { label: '妫�楠屼汉', prop: 'userName' },
+ { label: "鏍峰搧鍨嬪彿", prop: "sampleModel" },
+ { label: "妫�楠屼汉", prop: "userName" },
{
- label: '鐗╂枡灞炴��',
- prop: 'materialProp',
+ label: "鐗╂枡灞炴��",
+ prop: "materialProp",
formatData: (params) => {
- if (!params) return null
+ if (!params) return null;
for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
- const item = this.dict.type.material_prop_type[i]
+ const item = this.dict.type.material_prop_type[i];
if (item.value == params) {
- return item.label
+ return item.label;
}
}
- return null
- }
+ return null;
+ },
},
{
- dataType: 'tag',
- label: '鐗╂枡绫诲瀷',
- prop: 'isExpire',
+ dataType: "tag",
+ label: "鐗╂枡绫诲瀷",
+ prop: "isExpire",
formatData: (params) => {
if (params == 1) {
- return '杩囨湡鐗╂枡'
+ return "杩囨湡鐗╂枡";
} else {
- return null
+ return null;
}
},
formatType: (params) => {
if (params == 1) {
- return 'info'
+ return "info";
} else {
- return null
+ return null;
}
- }
+ },
},
- { label: '鍗曚綅', prop: 'buyUnitMeas' },
- { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
- { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
+ { label: "鍗曚綅", prop: "buyUnitMeas" },
+ { label: "鎺ユ敹鏃堕棿", prop: "receiverDate", width: "160" },
+ { label: "鎶ユ鏃堕棿", prop: "declareDate", width: "160" },
],
- wgInsOrderPage:{
+ insOrderPage: {
total: 0,
size: 20,
- current: 1
+ current: 1,
},
- wgInsOrderTableLoading:false,
- wgInsOrderDataList:[],
+ wgInsOrderTableDataColumn: [
+ {
+ label: "IFS鍩�",
+ prop: "contract",
+ width: "120px",
+ dataType: "tag",
+ formatData: (params) => {
+ return params;
+ },
+ formatType: (params) => {
+ if (params === "ZTNS") {
+ return "";
+ } else if (params === "KJNS") {
+ return "success";
+ } else {
+ return null;
+ }
+ },
+ },
+ { label: "濮旀墭缂栧彿", prop: "entrustCode", width: "160px" },
+ {
+ dataType: "tag",
+ label: "妫�楠岀姸鎬�",
+ prop: "inspectStatus",
+ formatData: (params) => {
+ if (params == 0) {
+ return "妫�楠屼腑";
+ } else if (params == 1) {
+ return "鍚堟牸";
+ } else if (params == 2) {
+ return "涓嶅悎鏍�";
+ } else if (params == 3) {
+ return "鏈笅鍗�";
+ } else if (params == 4) {
+ return "璁╂鏀捐";
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ if (params == 0) {
+ return "warning";
+ } else if (params == 1) {
+ return "success";
+ } else if (params == 2) {
+ return "danger";
+ } else if (params == 3) {
+ return "info";
+ } else if (params == 4) {
+ return "";
+ } else {
+ return null;
+ }
+ },
+ },
+ { label: "璁㈠崟鍙�", prop: "orderNo" },
+ { label: "鎶佃揪鐨勯噰璐暟閲�", prop: "purQtyInStore", width: "130px" },
+ { label: "涓嬪彂鏃堕棿", prop: "sendTime", width: "130px" },
+ { label: "鎵瑰彿", prop: "updateBatchNo", width: "130px" },
+ { label: "闆朵欢鍙�", prop: "partNo", width: "140px" },
+ { label: "闆朵欢鎻忚堪", prop: "partDesc" },
+ { label: "渚涘簲鍟嗗悕绉�", prop: "supplierName" },
+ {
+ 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",
+ width: "160px",
+ },
+ { label: "鏍峰搧鍨嬪彿", prop: "sampleModel" },
+ { label: "妫�楠屼汉", prop: "userName" },
+ {
+ label: "鐗╂枡灞炴��",
+ prop: "materialProp",
+ formatData: (params) => {
+ if (!params) return null;
+
+ for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
+ const item = this.dict.type.material_prop_type[i];
+ if (item.value == params) {
+ return item.label;
+ }
+ }
+ return null;
+ },
+ },
+ {
+ dataType: "tag",
+ label: "鐗╂枡绫诲瀷",
+ prop: "isExpire",
+ formatData: (params) => {
+ if (params == 1) {
+ return "杩囨湡鐗╂枡";
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ if (params == 1) {
+ return "info";
+ } else {
+ return null;
+ }
+ },
+ },
+ { label: "鍗曚綅", prop: "buyUnitMeas" },
+ { label: "鎺ユ敹鏃堕棿", prop: "receiverDate" },
+ { label: "鎶ユ鏃堕棿", prop: "declareDate" },
+ ],
+ wgInsOrderPage: {
+ total: 0,
+ size: 20,
+ current: 1,
+ },
+ wgInsOrderTableLoading: false,
+ wgInsOrderDataList: [],
handlerId: null,
- contract:null,
+ contract: null,
+ groupId: null,
entity: {
contract: null,
sample: null,
specsModels: null,
supplierName: null,
- feedbackDateTime:[],
+ feedbackDateTime: [],
materialProp: null,
- operation:null
+ operation: null,
},
tableData: [],
tableLoading: false,
column: [
{
- label: 'IFS鍩�',
- prop: 'contract',
- width: '80px',
- dataType: 'tag',
+ label: "IFS鍩�",
+ prop: "contract",
+ width: "80px",
+ dataType: "tag",
formatData: (params) => {
- return params
+ return params;
},
formatType: (params) => {
- if (params === 'ZTNS') {
- return ''
- } else if (params === 'KJNS') {
- return 'success'
- }else {
- return null
+ if (params === "ZTNS") {
+ return "";
+ } else if (params === "KJNS") {
+ return "success";
+ } else {
+ return null;
}
- }
-
+ },
},
- { label: '缂栧彿', prop: 'no', width: "160px", },
+ { label: "缂栧彿", prop: "no", width: "160px" },
{
label: "OA瀹℃牳鐘舵��",
prop: "operation",
width: "100px",
dataType: "tag",
formatData: (params) => {
- return params
+ return params;
},
formatType: (params) => {
- if(params){
- this.dict.type.oa_workflow_state.forEach(item => {
- if(item.value === params){
- params = item.raw.listClass
+ if (params) {
+ this.dict.type.oa_workflow_state.forEach((item) => {
+ if (item.value === params) {
+ params = item.raw.listClass;
}
});
}
- return params
+ return params;
},
},
- { label: '璁㈠崟鍙�', prop: 'orderNo' },
+ { label: "璁㈠崟鍙�", prop: "orderNo" },
{
label: "闆朵欢鍙�",
prop: "partNo",
@@ -511,388 +597,390 @@
dataType: "link",
linkMethod: "openUnPassDialog",
},
- { label: '闆朵欢鎻忚堪', prop: 'partDesc',width: "160px" },
+ { label: "闆朵欢鎻忚堪", prop: "partDesc", width: "160px" },
{
- label: '鐗╂枡灞炴��',
- prop: 'materialProp',
+ label: "鐗╂枡灞炴��",
+ prop: "materialProp",
formatData: (params) => {
- if (!params) return null
+ if (!params) return null;
for (let i = 0; i < this.dict.type.material_prop_type.length; i++) {
- const item = this.dict.type.material_prop_type[i]
+ const item = this.dict.type.material_prop_type[i];
if (item.value == params) {
- return item.label
+ return item.label;
}
}
- return null
- }
+ return null;
+ },
},
- { label: '鐗╂枡鍚嶇О', prop: 'materialName',width: "160px" },
- { label: '鐢熶骇鎵规', prop: 'productionBatch',width: "160px" },
- { label: '鍒拌揣鏁伴噺', prop: 'cargoQuantity' },
- { label: '瑙勬牸鍨嬪彿', prop: 'specsModels',width:'140' },
- { label: '鎶ユ鏃ユ湡', prop: 'inspectTime',width:'120' },
- { label: '鐘舵��', prop: 'statusDB' },
- { label: '鍙嶉浜�', prop: 'feedbackUser' },
- { label: '瑕佹楠岀殑閲囪喘鏁伴噺', prop: 'qtyToInspect',width: "140px" },
- { label: '鍙嶉鏃ユ湡', prop: 'feedbackTime',width: "100px" },
+ { label: "鐗╂枡鍚嶇О", prop: "materialName", width: "160px" },
+ { label: "鐢熶骇鎵规", prop: "productionBatch", width: "160px" },
+ { label: "鍒拌揣鏁伴噺",prop: "cargoQuantity"},
+ { label: "閲囪喘鍗曚綅",prop: "buyUnitMeas"},
+ { label: "瑙勬牸鍨嬪彿", prop: "specsModels", width: "140" },
+ { label: "鎶ユ鏃ユ湡", prop: "inspectTime", width: "120" },
+ { label: "鐘舵��", prop: "statusDB" },
+ { label: "鍙嶉浜�", prop: "feedbackUser" },
+ { label: "瑕佹楠岀殑閲囪喘鏁伴噺", prop: "qtyToInspect", width: "140px" },
+ { label: "鍙嶉鏃ユ湡", prop: "feedbackTime", width: "100px" },
{
label: "鍒嗙被",
prop: "classification",
width: "100px",
dataType: "tag",
formatData: (params) => {
- let label = null
- this.dict.type.categories_no_conformities.forEach(item=>{
- if(item.raw.dictValue==params){
- label = item.raw.dictLabel
+ let label = null;
+ this.dict.type.categories_no_conformities.forEach((item) => {
+ if (item.raw.dictValue == params) {
+ label = item.raw.dictLabel;
}
- })
- return label
+ });
+ return label;
},
formatType: (params) => {
- let type = null
- this.dict.type.categories_no_conformities.forEach(item=>{
- if(item.raw.dictValue==params){
- type = item.raw.listClass
+ let type = null;
+ this.dict.type.categories_no_conformities.forEach((item) => {
+ if (item.raw.dictValue == params) {
+ type = item.raw.listClass;
}
- })
- return type
+ });
+ return type;
},
},
- { label: '渚涘簲鍟嗙紪鐮�', prop: 'supplierId',width:'140' },
- { label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName',width:'140' },
+ { label: "渚涘簲鍟嗙紪鐮�", prop: "supplierId", width: "140" },
+ { label: "渚涘簲鍟嗗悕绉�", prop: "supplierName", width: "140" },
{
label: "涓嶅悎鏍煎綊灞�",
prop: "offGradeAscription",
width: "120px",
dataType: "tag",
formatData: (params) => {
- let label = params
- this.dict.type.attribution_no_conformities.forEach(item=>{
- if(item.raw.dictValue==params){
- label = item.raw.dictLabel
+ let label = params;
+ this.dict.type.attribution_no_conformities.forEach((item) => {
+ if (item.raw.dictValue == params) {
+ label = item.raw.dictLabel;
}
- })
- return label
+ });
+ return label;
},
formatType: (params) => {
- let type = null
- this.dict.type.attribution_no_conformities.forEach(item=>{
- if(item.raw.dictValue==params){
- type = item.raw.listClass
+ let type = null;
+ this.dict.type.attribution_no_conformities.forEach((item) => {
+ if (item.raw.dictValue == params) {
+ type = item.raw.listClass;
}
- })
- return type
+ });
+ return type;
},
},
- { label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc',width: "160px" },
+ { label: "涓嶅悎鏍兼弿杩�", prop: "unqualifiedDesc", width: "160px" },
{
- dataType: 'action',
- fixed: 'right',
- label: '鎿嶄綔',
- width: '220px',
+ dataType: "action",
+ fixed: "right",
+ label: "鎿嶄綔",
+ prop:'groupId',
+ mergeCol:true,
+ width: "220px",
operation: [
{
- name: (row)=>{
- return row.requestId !== null && row.operation==='閫�鍥�' ? '閲嶆柊鎻愪氦' : '鎻愪氦OA'
+ name: (row) => {
+ return row.requestId !== null && row.operation === "閫�鍥�"
+ ? "閲嶆柊鎻愪氦"
+ : "鎻愪氦OA";
},
- type: 'text',
+ type: "text",
clickFun: (row) => {
this.openOA(row);
},
disabled: (row, index) => {
- return row.requestId !== null && row.operation!=='閫�鍥�' // 鏈塺equestId璇存槑宸茬粡鎻愪氦杩嘜A锛屼笉鍙啀娆℃彁浜�
- }
+ return row.requestId !== null && row.operation !== "閫�鍥�"; // 鏈塺equestId璇存槑宸茬粡鎻愪氦杩嘜A锛屼笉鍙啀娆℃彁浜�
+ },
},
{
- name: '鏌ョ湅OA娴佺▼',
- type: 'text',
+ name: "鏌ョ湅OA娴佺▼",
+ type: "text",
clickFun: (row) => {
this.OAView(row);
},
},
{
- name: '鍒犻櫎',
- type: 'text',
+ name: "鍒犻櫎",
+ type: "text",
clickFun: (row) => {
this.deleteOA(row);
},
disabled: (row, index) => {
- return row.requestId !== null && row.operation!=='閫�鍥�' // 鏈塺equestId璇存槑宸茬粡鎻愪氦杩嘜A锛屼笉鍙啀娆℃彁浜�
- }
+ return row.requestId !== null && row.operation !== "閫�鍥�"; // 鏈塺equestId璇存槑宸茬粡鎻愪氦杩嘜A锛屼笉鍙啀娆℃彁浜�
+ },
},
- ]
- }
+ ],
+ },
],
page: {
total: 0,
size: 20,
- current: 1
+ current: 1,
},
statusList: [],
dialogVisible: false, // 纭鎻愪氦OA寮规
unPassDialog: false, // 涓嶅悎鏍煎鐞嗗脊妗�
- orderId: '',
+ selectOrderIds: [],
+ multipleSelection: [],
OAProcess: false, // OA娴佺▼寮规
submitOALoading: false, // OA娴佺▼寮规鎻愪氦鎸夐挳loading
- deleteVisible: false, // OA娴佺▼鍒犻櫎寮规
- cancelOALoading: false, // OA娴佺▼鍒犻櫎寮规鎻愪氦鎸夐挳loading
- exportLoading:false,
- isOldData: true,//鏄惁鏄棫鏁版嵁
+ exportLoading: false,
+ isOldData: true, //鏄惁鏄棫鏁版嵁
+ insOrderIds: [],
+ rowColSplitNodes: [],
};
},
mounted() {
- this.refreshTable()
+ this.refreshTable();
},
methods: {
- getInsOrderRowId(row) {
- if (!row) {
- return ''
- }
- const currentId = row.enterOrderId || row.insOrderId || row.orderId || row.id
- return currentId ? String(currentId) : ''
- },
- getExistingInsOrderIds() {
- const ids = new Set()
- this.tableData.forEach(row => {
- ['insOrderId'].forEach(key => {
- if (row[key] !== undefined && row[key] !== null && row[key] !== '') {
- ids.add(String(row[key]))
- }
- })
+ getListData(){
+ getList().then(res => {
+ this.insOrderIds = [];
+ if(res.code === 200){
+ this.insOrderIds = res.data;
+ }
+ }).catch(err => {
+ console.error(err)
})
- return ids
- },
- isDisabledInsOrderRow(row) {
- const currentId = this.getInsOrderRowId(row)
- if (!currentId) {
- return false
- }
- return this.getExistingInsOrderIds().has(currentId)
},
insOrderSelectable(row) {
- return !this.isDisabledInsOrderRow(row)
+ const existsInMain = this.insOrderIds.some(
+ (id) => id === row.enterOrderId
+ );
+ return !existsInMain;
},
insOrderRowClassName({ row }) {
- return this.isDisabledInsOrderRow(row) ? 'disabled-selection-row' : ''
+ const existsInMain = this.insOrderIds.some(
+ (id) => id === row.enterOrderId
+ );
+ return existsInMain ? "disabled-selection-row" : "";
},
- resetInsOrderForm(){
- this.activeName = 'raw'
- this.insOrderDataList = []
- this.wgInsOrderDataList = []
- this.lotBatchNo = null
- this.orderId = ''
+ resetInsOrderForm() {
+ this.activeName = "raw";
+ this.insOrderDataList = [];
+ this.wgInsOrderDataList = [];
+ this.lotBatchNo = null;
+ this.multipleSelection = [];
this.insOrderPage = {
total: 0,
size: 20,
current: 1,
- }
+ };
this.wgInsOrderPage = {
total: 0,
size: 20,
current: 1,
- }
- this.$nextTick(()=>{
- this.insOrderVisible = false
- })
+ };
+ this.$nextTick(() => {
+ this.insOrderVisible = false;
+ });
},
- openInsOrderDialog(){
- this.insOrderVisible = true
+ openInsOrderDialog() {
+ this.insOrderVisible = true;
},
- searchInsOrderList(){
- this.insOrderTableLoading = true
+ searchInsOrderList() {
+ this.multipleSelection = [];
+ this.insOrderTableLoading = true;
const params = {
updateBatchNo: this.lotBatchNo,
isInspect: 1,
- }
- if(this.activeName==='raw'){
- getIfsByAll({...params,...this.insOrderPage}).then(res => {
- this.insOrderTableLoading = false
- if (res.code === 200) {
- this.insOrderDataList = res.data.records
- this.insOrderPage.total = res.data.total
- }
- }).catch(err => {
- this.insOrderTableLoading = false
- })
- }else if(this.activeName==='wg'){
- getIfsByWgAll({...params,...this.wgInsOrderPage}).then(res => {
- this.insOrderTableLoading = false
- if (res.code === 200) {
- this.wgInsOrderDataList = res.data.records
- this.wgInsOrderPage.total = res.data.total
- }
- }).catch(err => {
- this.insOrderTableLoading = false
- })
+ };
+ if (this.activeName === "raw") {
+ getIfsByAll({ ...params, ...this.insOrderPage })
+ .then((res) => {
+ this.insOrderTableLoading = false;
+ if (res.code === 200) {
+ this.insOrderDataList = res.data.records;
+ this.insOrderPage.total = res.data.total;
+ }
+ })
+ .catch((err) => {
+ this.insOrderTableLoading = false;
+ });
+ } else if (this.activeName === "wg") {
+ getIfsByWgAll({ ...params, ...this.wgInsOrderPage })
+ .then((res) => {
+ this.insOrderTableLoading = false;
+ if (res.code === 200) {
+ this.wgInsOrderDataList = res.data.records;
+ this.wgInsOrderPage.total = res.data.total;
+ }
+ })
+ .catch((err) => {
+ this.insOrderTableLoading = false;
+ });
}
},
- insOrderPageination(page){
- this.insOrderPage.size = page.limit
- this.searchInsOrderList()
+ insOrderPageination(page) {
+ this.insOrderPage.size = page.limit;
+ this.searchInsOrderList();
},
- wgInsOrderPageination(page){
- this.wgInsOrderPage.size = page.limit
- this.searchInsOrderList()
+ wgInsOrderPageination(page) {
+ this.wgInsOrderPage.size = page.limit;
+ this.searchInsOrderList();
},
- selectRawMethod(val){
+ handlerSelection(val) {
if (!val || val.length === 0) {
- this.orderId = ''
- return
- }
-
- const currentRow = val[val.length - 1]
- this.orderId = this.getInsOrderRowId(currentRow)
-
- if (val.length > 1 && this.$refs.rawInsOrderTable && this.$refs.rawInsOrderTable.$refs.multipleTable) {
- this.$refs.rawInsOrderTable.$refs.multipleTable.clearSelection()
- this.$refs.rawInsOrderTable.$refs.multipleTable.toggleRowSelection(currentRow, true)
- }
- },
- selectWgMethod(val){
- if (!val || val.length === 0) {
- this.orderId = ''
- return
- }
-
- const currentRow = val[val.length - 1]
- this.orderId = this.getInsOrderRowId(currentRow)
-
- if (val.length > 1 && this.$refs.wgInsOrderTable && this.$refs.wgInsOrderTable.$refs.multipleTable) {
- this.$refs.wgInsOrderTable.$refs.multipleTable.clearSelection()
- this.$refs.wgInsOrderTable.$refs.multipleTable.toggleRowSelection(currentRow, true)
- }
- },
- //鎵撳紑鏂板涓嶅悎鏍煎鐞嗗脊妗�
- openAddUnqualifiedHandlerView(){
- if(!this.orderId){
- this.$message.warning("璇烽�夋嫨涓�鏉¤鍗曡褰�")
+ this.multipleSelection = [];
return;
}
+ this.multipleSelection = val
+ },
+ //鎵撳紑鏂板涓嶅悎鏍煎鐞嗗脊妗�
+ openAddUnqualifiedHandlerView() {
+ if (!this.multipleSelection || this.multipleSelection.length === 0) {
+ this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉¤鍗曡褰�");
+ return;
+ }
+ const contracts = [...new Set(this.multipleSelection.map(item=>{return item.contract}))]
+ if(contracts && contracts.length>1){
+ this.$message.warning("璇烽�夋嫨鐩稿悓IFS鍩熺殑璁㈠崟");
+ return;
+ }
+ const partNos = [...new Set(this.multipleSelection.map(item=>{return item.partNo}))]
+ if(partNos && partNos.length>1){
+ this.$message.warning("璇烽�夋嫨鐩稿悓闆朵欢鐨勮鍗�");
+ return;
+ }
+ this.selectOrderIds = this.multipleSelection.map(item=>{return item.enterOrderId})
this.insOrderVisible = false
this.unPassDialog = true;
this.$nextTick(() => {
- this.$refs.unPassDialog.getInsOrder('add');
+ this.$refs.unPassDialog.getInsOrder("add");
});
},
- exportUnqualifiedHandler(){
- this.exportLoading = true
- const newEntity = { ...this.entity }
+ exportUnqualifiedHandler() {
+ this.exportLoading = true;
+ const newEntity = { ...this.entity };
if (newEntity.feedbackDateTime && newEntity.feedbackDateTime.length > 0) {
- newEntity.feedbackStartTime = newEntity.feedbackDateTime[0]
- newEntity.feedbackEndTime = newEntity.feedbackDateTime[1]
+ newEntity.feedbackStartTime = newEntity.feedbackDateTime[0];
+ newEntity.feedbackEndTime = newEntity.feedbackDateTime[1];
}
- exportUnqualifiedHandler({...newEntity}).then(res=>{
- transformExcel(res,'涓嶅悎鏍煎鐞嗚褰�.xlsx')
- this.exportLoading = false
- }).catch(error=>{
- console.error(error)
- })
+ exportUnqualifiedHandler({ ...newEntity })
+ .then((res) => {
+ transformExcel(res, "涓嶅悎鏍煎鐞嗚褰�.xlsx");
+ this.exportLoading = false;
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
refreshTable() {
- this.tableLoading = true
- const newEntity = { ...this.entity }
+ this.tableLoading = true;
+ const newEntity = { ...this.entity };
if (newEntity.feedbackDateTime && newEntity.feedbackDateTime.length > 0) {
- newEntity.feedbackStartTime = newEntity.feedbackDateTime[0]
- newEntity.feedbackEndTime = newEntity.feedbackDateTime[1]
+ newEntity.feedbackStartTime = newEntity.feedbackDateTime[0];
+ newEntity.feedbackEndTime = newEntity.feedbackDateTime[1];
}
- page({ ...this.page, ...newEntity }).then(res => {
- this.tableLoading = false
- this.tableData = res.data.records
- this.page.total = res.data.total
- }).catch(err => {
- this.tableLoading = false
- })
+ page({ ...this.page, ...newEntity })
+ .then((res) => {
+ this.tableLoading = false;
+ this.tableData = res.data.records;
+ this.page.total = res.data.total;
+ })
+ .catch((err) => {
+ this.tableLoading = false;
+ });
},
// 閲嶇疆
refresh() {
- this.resetForm('entity')
- this.refreshTable()
+ this.resetForm("entity");
+ this.refreshTable();
},
// 鍒嗛〉鍒囨崲
pagination(page) {
- this.page.size = page.limit
- this.refreshTable()
+ this.page.size = page.limit;
+ this.refreshTable();
},
// 鎵撳紑涓嶅悎鏍煎鐞嗗脊妗�
- openUnPassDialog (row) {
- this.unPassDialog = true
+ openUnPassDialog(row) {
+ this.unPassDialog = true;
this.$nextTick(() => {
- this.$refs.unPassDialog.getInsOrder('view', row)
- })
- },
- // 鍏抽棴涓嶅悎鏍煎鐞嗗脊妗�
- resetForm1 () {
- this.$refs.unPassDialog.$refs['unPassForm'].resetFields();
- this.unPassDialog = false
- this.$nextTick(()=>{
- this.refreshTable('page')
- })
- },
- // 鎵撳紑鍒犻櫎OA纭寮规
- deleteOA (row) {
- this.handlerId = row.handlerId
- this.deleteVisible = true
- },
- // 鎻愪氦鍒犻櫎鐢宠
- cancelOA () {
- this.de = true
- deleteUnqualifiedHandler({id: this.handlerId,}).then(res => {
- this.cancelOALoading = false
- if (res.code === 200) {
- this.deleteVisible = false
- this.$message.success('鍒犻櫎鎴愬姛')
- this.refreshTable('page')
- }
- }).catch(error => {
- this.cancelOALoading = false
- console.error(error);
+ this.$refs.unPassDialog.getInsOrder("view", row);
});
},
+ // 鍏抽棴涓嶅悎鏍煎鐞嗗脊妗�
+ resetForm1() {
+ this.$refs.unPassDialog.$refs["unPassForm"].resetFields();
+ this.unPassDialog = false;
+ this.$nextTick(() => {
+ this.refreshTable("page");
+ });
+ },
+ // 鍒犻櫎OA纭寮规
+ deleteOA(row) {
+ this.$confirm('鏄惁纭鍒犻櫎褰撳墠OA娴佺▼?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ deleteUnqualifiedHandler({ groupId: row.groupId })
+ .then((res) => {
+ if (res.code === 200) {
+ this.$message.success("鍒犻櫎鎴愬姛");
+ this.refreshTable("page");
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
+ }).catch(() => { });
+ },
// 鏌ョ湅鎻愪氦OA鐨勬暟鎹�
- openOA (row) {
- this.handlerId = row.handlerId
- this.contract = row.contract
- if(row && row.requestId !== null ){
+ openOA(row) {
+ this.handlerId = row.handlerId;
+ this.contract = row.contract;
+ this.groupId = row.groupId;
+ if (row && row.requestId !== null) {
// 閲嶆柊鎻愪氦OA,鎵撳紑缂栬緫寮规
- this.unPassDialog = true
+ this.unPassDialog = true;
this.$nextTick(() => {
- this.$refs.unPassDialog.getInsOrder('resubmit', row)
- })
- }else{
- this.dialogVisible = true
+ this.$refs.unPassDialog.getInsOrder("resubmit", row);
+ });
+ } else {
+ this.dialogVisible = true;
}
},
// 鏌ョ湅OA娴佺▼
- OAView (row) {
- this.OAProcess = true
- this.isOldData = row.isOldData
+ OAView(row) {
+ this.OAProcess = true;
+ this.isOldData = row.isOldData;
this.$nextTick(() => {
- this.$refs.OAProcess.getInfo(row.handlerId,row?row.unqualifiedDesc:"")
- })
+ this.$refs.OAProcess.getInfo(
+ row.handlerId,
+ row ? row.unqualifiedDesc : "",
+ row.classification
+ );
+ });
},
// 鍏抽棴鏌ョ湅OA娴佺▼鐨勫脊妗�
- closeOAProcess () {
- this.OAProcess = false
+ closeOAProcess() {
+ this.OAProcess = false;
},
//鎻愪氦OA
submitOA(row) {
// 鎻愪氦OA
- this.submitOALoading = true
- pushOA({handlerId: this.handlerId,contract:this.contract}).then(res => {
- this.submitOALoading = false
- if (res.code === 200) {
- this.dialogVisible = false
- this.$message.success('鎻愪氦鎴愬姛')
- this.refreshTable('page')
- }
- }).catch(error => {
- this.submitOALoading = false
- console.error(error);
- });
- }
- }
+ this.submitOALoading = true;
+ pushOA({ handlerId: this.handlerId, contract: this.contract,groupId: this.groupId })
+ .then((res) => {
+ this.submitOALoading = false;
+ if (res.code === 200) {
+ this.dialogVisible = false;
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.refreshTable("page");
+ }
+ })
+ .catch((error) => {
+ this.submitOALoading = false;
+ console.error(error);
+ });
+ },
+ },
};
</script>
--
Gitblit v1.9.3