新购管理+新购配件

This commit is contained in:
bb_pan 2025-06-14 17:29:50 +08:00
parent 20c22b65e8
commit c96be871c3
8 changed files with 468 additions and 284 deletions

View File

@ -77,7 +77,14 @@ export function getCheckUserList(query) {
})
}
// 流程图
export function getSignListApi(query) {
return request({
url: '/material/purchase_check_info/getSignList',
method: 'get',
params: query
})
}

View File

@ -131,6 +131,7 @@ const user = {
// 存取用户的userId
sessionStorage.setItem('userId', res.user.userId)
sessionStorage.setItem('deptName', res.user?.dept?.deptName)
return res
})
.catch(error => Promise.reject(error))

View File

@ -1,202 +1,241 @@
<template>
<div class="app-container" id="acceptDetail">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="90px"
>
<el-form-item label="类型规格:" prop="partId">
<el-select
v-model="queryParams.partId"
placeholder="请选择类型规格"
clearable
<el-row :gutter="20">
<el-col :span="19" :offset="0">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="90px"
>
<el-option
v-for="dict in materialModelList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
<el-form-item label="类型规格:" prop="partId">
<el-select
v-model="queryParams.partId"
placeholder="请选择类型规格"
clearable
>
<el-option
v-for="dict in materialModelList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="机具厂家:" prop="supplierId">
<el-select v-model="queryParams.supplierId" placeholder="请选择机具厂家" clearable>
<el-option
v-for="dict in supplierList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item> -->
<el-form-item label="出厂日期:" prop="productionTime">
<el-date-picker
v-model="queryParams.productionTime"
placeholder="请选择出厂日期"
value-format="yyyy-MM-dd"
type="date"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查询</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
size="mini"
icon="el-icon-back"
@click="jumpList"
>配件验收</el-button
>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button
>
</el-col> -->
<el-col :span="1.5">
<el-button
type="success"
@click="batchPass"
icon="el-icon-check"
v-show="!isView"
size="mini"
>合格</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
@click="batchReject"
icon="el-icon-close"
v-show="!isView"
size="mini"
>不合格</el-button
>
</el-col>
</el-row>
<el-table
v-loading="loading"
:data="tableList"
ref="multipleTable"
>
<!-- <el-table-column
type="selection"
width="55"
align="center" :selectable="selectable"
:reserve-selection="true"
/> -->
<el-table-column label="序号" align="center" width="80" type="index">
</el-table-column>
<el-table-column
label="配件类型"
align="center"
prop="maName"
:show-overflow-tooltip="true"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="机具厂家:" prop="supplierId">
<el-select v-model="queryParams.supplierId" placeholder="请选择机具厂家" clearable>
<el-option
v-for="dict in supplierList"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item> -->
<el-form-item label="出厂日期:" prop="productionTime">
<el-date-picker
v-model="queryParams.productionTime"
placeholder="请选择出厂日期"
value-format="yyyy-MM-dd"
type="date"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查询</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
size="mini"
icon="el-icon-back"
@click="jumpList"
>配件验收</el-button
>
<el-table-column
label="配件名称"
align="center"
prop="maTypeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="规格型号"
align="center"
prop="partName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="到货数量"
align="center"
prop="purchaseNum"
:show-overflow-tooltip="true"
/>
<el-table-column
label="单位"
align="center"
prop="unitName"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column
label="供应商"
align="center"
prop="supplier"
:show-overflow-tooltip="true"
/> -->
<el-table-column
label="出厂日期"
align="center"
prop="productionTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="相关配套资料"
align="center"
prop=""
>
<template slot-scope="scope">
<div style="color: #02A7F0;cursor: pointer;" @click="openFileDialog(scope.row)" v-if="scope.row.isExitFile==1">报告管理</div>
<div style="color: red;cursor: pointer;" @click="openFileDialog(scope.row)" v-if="scope.row.isExitFile==0">报告管理</div>
</template>
</el-table-column>
<el-table-column
label="状态"
align="center"
prop="status"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<dict-tag
:options="dict.type.purchase_task_status"
:value="scope.row.status"
/>
</template>
</el-table-column>
<!-- <el-table-column label="操作" align="center" width="180" v-if="!isView">
<template slot-scope="scope">
<el-button size="mini" type="success" @click="pass(scope.row)" v-if="scope.row.status==0">
入库
</el-button>
<el-button size="mini" type="danger" @click="reject(scope.row)" v-if="scope.row.status==0">
驳回
</el-button>
</template>
</el-table-column> -->
</el-table>
</el-col>
<!-- <el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button
>
</el-col> -->
<el-col :span="5" :offset="0">
<div class="right-container">
<div class="right-title">
<div></div>
<div></div>
<div>流程记录</div>
</div>
<el-col :span="1.5">
<el-button
type="success"
@click="batchPass"
icon="el-icon-check"
v-show="!isView"
size="mini"
:disabled="multiple"
>合格</el-button
>
</el-col>
<div class="process-record">
<el-steps :space="120" direction="vertical">
<el-step v-for="(step, index) in auditingList" :key="index" :title="step.deptName">
<template slot="description">
<div class="custom-description">
审核结果:
<el-tag size="mini" type="primary" v-if="step.auditStatus == 0">待审核</el-tag>
<el-tag size="mini" type="success" v-if="step.auditStatus == 1">审核通过</el-tag>
<el-tag size="mini" type="danger" v-if="step.auditStatus == 2">审核驳回</el-tag>
</div>
<el-col :span="1.5">
<el-button
type="danger"
@click="batchReject"
icon="el-icon-close"
v-show="!isView"
size="mini"
:disabled="multiple"
>不合格</el-button
>
<div class="node-info" v-if="step.userName">
审核人:
{{ step.userName }}
</div>
<div class="node-info" v-if="step.createTime">
审核时间:
{{ step.createTime }}
</div>
<div class="node-info" v-if="step.auditRemark">
审核意见:
{{ step.auditRemark }}
</div>
</template>
</el-step>
</el-steps>
</div>
</div>
</el-col>
</el-row>
<el-table
v-loading="loading"
:data="tableList"
ref="multipleTable"
row-key="partId"
@selection-change="handleSelectionChange"
>
<el-table-column
type="selection"
width="55"
align="center" :selectable="selectable"
:reserve-selection="true"
/>
<el-table-column label="序号" align="center" width="80" type="index">
</el-table-column>
<el-table-column
label="配件类型"
align="center"
prop="maName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="配件名称"
align="center"
prop="maTypeName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="规格型号"
align="center"
prop="partName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="到货数量"
align="center"
prop="purchaseNum"
:show-overflow-tooltip="true"
/>
<el-table-column
label="单位"
align="center"
prop="unitName"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column
label="供应商"
align="center"
prop="supplier"
:show-overflow-tooltip="true"
/> -->
<el-table-column
label="出厂日期"
align="center"
prop="productionTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="相关配套资料"
align="center"
prop=""
>
<template slot-scope="scope">
<div style="color: #02A7F0;cursor: pointer;" @click="openFileDialog(scope.row)" v-if="scope.row.isExitFile==1">报告管理</div>
<div style="color: red;cursor: pointer;" @click="openFileDialog(scope.row)" v-if="scope.row.isExitFile==0">报告管理</div>
</template>
</el-table-column>
<el-table-column
label="状态"
align="center"
prop="status"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<dict-tag
:options="dict.type.purchase_task_status"
:value="scope.row.status"
/>
</template>
</el-table-column>
<!-- <el-table-column label="操作" align="center" width="180" v-if="!isView">
<template slot-scope="scope">
<el-button size="mini" type="success" @click="pass(scope.row)" v-if="scope.row.status==0">
入库
</el-button>
<el-button size="mini" type="danger" @click="reject(scope.row)" v-if="scope.row.status==0">
驳回
</el-button>
</template>
</el-table-column> -->
</el-table>
<!-- 验收弹窗 -->
<el-dialog title="验收" :visible.sync="confirmShow" width="600px" height="300px">
<div style="width: 100%; height: 80%; display: flex;margin-bottom: 10px;">
@ -287,6 +326,7 @@ import { getPartType,partTypeWarehouse,partTypeReject,innerVerify } from '@/api/
import { getPartTypeCheckInfo,getPartTypeFileList } from '@/api/part/partArrived';
import { downloadFile } from "@/utils/download";
import { getToken } from "@/utils/auth";
import { getSignListApi } from '@/api/purchase/goodsAccept'
export default {
name: "PartAcceptDetailTwo",
dicts: ["purchase_task_status"],
@ -352,6 +392,7 @@ export default {
},
fileListInfo:[],
dialogVisibleFile: false,
auditingList: []
};
},
mounted() {
@ -368,8 +409,40 @@ export default {
this.getPartType();
console.log(this.isView);
this.getList();
this.getSignList()
},
methods: {
//
async getSignList() {
try {
const res = await getSignListApi({ taskId: this.taskId })
console.log('🚀 ~ getSignList ~ res:', res)
// auditingList
if (res.code === 200 && res.data && res.data.length > 0) {
const kuGuanOrder = ['库管一班', '库管二班', '库管三班']
// deptName
const map = new Map()
res.data.forEach(item => map.set(item.deptName, { ...item }))
//
const kuGuanItem = kuGuanOrder.map(name => map.get(name)).find(Boolean)
//
this.auditingList = [
// userName ''
(() => {
const item = map.get('供应科') || { deptName: '供应科', auditStatus: 1 }
return { ...item, userName: item.userName || '姚士超' }
})(),
//
map.get('技术科') || { deptName: '技术科', auditStatus: 0 },
//
kuGuanItem || { deptName: '库管班', auditStatus: 0 }
]
console.log('🚀 ~ getSignList ~ this.auditingList:', this.auditingList)
}
} catch (error) {
console.log('🚀 ~ getSignList ~ error:', error)
}
},
//
selectable(row) {
console.log(row)
@ -468,15 +541,15 @@ export default {
//
batchPass() {
if(this.infos==0){
this.$modal.msgError("请选择配件");
return;
}
// if(this.infos==0){
// this.$modal.msgError("");
// return;
// }
this.taskStatus = "3";
this.checkResult = "合格";
this.verifyPass = true;
this.checkList = [];
this.checkList = this.ids.map((item) => {
this.checkList = this.tableList.map((item) => {
let obj = {
taskId: item.taskId,
partId: item.partId,
@ -489,15 +562,15 @@ export default {
//
batchReject() {
if(this.infos==0){
this.$modal.msgError("请选择配件");
return;
}
// if(this.infos==0){
// this.$modal.msgError("");
// return;
// }
this.taskStatus = "1";
this.checkResult = "不合格";
this.verifyPass = false;
this.checkList = [];
this.checkList = this.ids.map((item) => {
this.checkList = this.tableList.map((item) => {
let obj = {
taskId: item.taskId,
partId: item.partId,
@ -524,6 +597,8 @@ export default {
this.confirmShow = false;
this.getList();
this.$refs.multipleTable.clearSelection();
//
this.jumpList()
}
});
},
@ -651,4 +726,74 @@ export default {
display: none;
}
}
.right-container {
padding: 0 20px;
.right-title {
display: flex;
align-items: center;
font-size: 14px;
& div:first-child {
width: 16px;
height: 16px;
border-radius: 50%;
background-color: #19a4a0;
z-index: 9;
}
& div:nth-child(2) {
width: 16px;
height: 16px;
border-radius: 50%;
background-color: #b2e1e0;
transform: translateX(-50%);
}
}
.process-record {
margin-top: 20px;
// height: 60vh;
.node-info {
word-break: break-all;
white-space: pre-wrap;
}
}
}
.btn-container {
margin-top: 10px;
display: flex;
justify-content: space-around;
}
::v-deep .el-step__icon.is-text {
background-color: #19a4a0;
color: #19a4a0;
border: none;
width: 16px;
height: 16px;
}
::v-deep .el-step.is-vertical .el-step__line {
width: 2px;
top: 26px;
bottom: 8px;
left: 7px;
}
::v-deep .el-step__title.is-finish {
font-weight: bold;
color: #303133;
font-size: 16px;
}
::v-deep .el-step__title.is-wait {
font-weight: bold;
color: #303133;
font-size: 16px;
}
//
.cont-center {
display: flex;
justify-content: center;
align-items: center;
}
</style>

View File

@ -83,7 +83,7 @@
</el-button>
<el-button
size="mini"
type="primary" v-if="scope.row.taskStatusName == '未完成'"
type="primary" v-if="scope.row.taskStatusName == '未完成' && deptName.includes(signLevelDeptMap[scope.row.signLevel])"
@click="handleUpdate(scope.row)"
>
验收
@ -251,7 +251,6 @@ import { passAll, rejectAll } from '@/api/part/partAccept';
import vueEasyPrint from "vue-easy-print";
import { downloadFile } from '@/utils/download'
import { getToken } from '@/utils/auth'
import printJS from 'print-js'
export default {
name: "PartAcceptTwo",
dicts: ['part_task_status'],
@ -295,6 +294,11 @@ import printJS from 'print-js'
{ value: '1', label: '李四' },
{ value: '2', label: '王五' },
],
deptName: sessionStorage.getItem("deptName"),
signLevelDeptMap: {
'2': '技术科',
'3': '库管'
}
};
},
created() {
@ -415,16 +419,16 @@ import printJS from 'print-js'
});
},
//
print() {
// this.$refs.remarksPrintRef.print()
printJS({
printable: 'checkId',
type: 'html',
targetStyles: ['*'],
maxWidth:'1400'
//
});
},
// print() {
// // this.$refs.remarksPrintRef.print()
// printJS({
// printable: 'checkId',
// type: 'html',
// targetStyles: ['*'],
// maxWidth:'1400'
// //
// });
// },
handleExport() {
const formatTime = (date) => {
const year = date.getFullYear();

View File

@ -193,7 +193,7 @@
size="mini"
style="margin-bottom: 10px"
type="primary"
v-if="scope.row.taskStatusName == '未完成'"
v-show="scope.row.taskStatusName == '未完成'"
@click="handleUpdate(scope.row)"
v-hasPermi="['purchase:info:edit']"
>编辑</el-button
@ -209,6 +209,7 @@
>
<el-button
v-show="scope.row.taskStatusName == '未完成'"
size="mini"
type="danger"
@click="handleDeletePart(scope.row)"
@ -378,7 +379,7 @@
</el-col>
</el-row>
<el-table :data="getListPeople" width="600px" height="450" @selection-change="handleSelectionUser">
<el-table :data="getListPeople" width="600px" height="450" @selection-change="handleSelectionUser" row-key="id">
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"/>
<el-table-column label="人员名称" align="center" prop="userName" :show-overflow-tooltip="true"/>
<el-table-column label="所属机构" align="center" prop="deptName" :show-overflow-tooltip="true"/>

View File

@ -48,27 +48,13 @@
</el-col>
<el-col :span="1.5">
<el-button
type="success"
icon="el-icon-check"
size="mini"
@click="batchPass"
v-show="!isView"
:disabled="multiple"
>
<el-button type="success" icon="el-icon-check" size="mini" @click="batchPass" v-show="!isView">
合格
</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
icon="el-icon-close"
size="mini"
@click="batchReject"
v-show="!isView"
:disabled="multiple"
>
<el-button type="danger" icon="el-icon-close" size="mini" @click="batchReject" v-show="!isView">
不合格
</el-button>
</el-col>
@ -84,14 +70,14 @@
row-key="typeId"
@selection-change="handleSelectionChange"
>
<el-table-column
<!-- <el-table-column
type="selection"
width="55"
align="center"
:selectable="selectable"
:reserve-selection="true"
v-if="!isView"
/>
/> -->
<el-table-column label="序号" align="center" width="80" type="index"></el-table-column>
<el-table-column label="物资名称" align="center" prop="maTypeName" :show-overflow-tooltip="true" />
<el-table-column label="规格型号" align="center" prop="typeName" :show-overflow-tooltip="true" />
@ -159,18 +145,18 @@
<div class="process-record">
<el-steps :space="120" direction="vertical">
<el-step v-for="(step, index) in auditingList" :key="index" :title="step.nodeName">
<el-step v-for="(step, index) in auditingList" :key="index" :title="step.deptName">
<template slot="description">
<div class="custom-description">
审核结果:
<el-tag size="mini" type="primary" v-if="step.isAccept === 0">待审批</el-tag>
<el-tag size="mini" type="success" v-if="step.isAccept === 1">通过</el-tag>
<el-tag size="mini" type="danger" v-if="step.isAccept === 2">驳回</el-tag>
<el-tag size="mini" type="primary" v-if="step.auditStatus == 0">待审核</el-tag>
<el-tag size="mini" type="success" v-if="step.auditStatus == 1">审核通过</el-tag>
<el-tag size="mini" type="danger" v-if="step.auditStatus == 2">审核驳回</el-tag>
</div>
<div class="node-info" v-if="step.name">
<div class="node-info" v-if="step.userName">
审核人:
{{ step.name }}
{{ step.userName }}
</div>
<div class="node-info" v-if="step.createTime">
@ -178,9 +164,9 @@
{{ step.createTime }}
</div>
<div class="node-info" v-if="step.remark">
<div class="node-info" v-if="step.auditRemark">
审核意见:
{{ step.remark }}
{{ step.auditRemark }}
</div>
</template>
</el-step>
@ -280,7 +266,8 @@ import {
acceptInnerVerifyer,
getPurchaseFileList,
uploadPurchaseFile,
getCheckUserList
getCheckUserList,
getSignListApi
} from '@/api/purchase/goodsAccept'
import { downloadFile } from '@/utils/download'
import { getToken } from '@/utils/auth'
@ -348,11 +335,7 @@ export default {
},
checkUserList: [], //
checkUser: '', //
auditingList: [
{ nodeName: '供应科审核', isAccept: 1, name: '姚士超', createTime: '2025-05-21' },
{ nodeName: '技术科审核', isAccept: 0 },
{ nodeName: '库管班审核', isAccept: 0 }
]
auditingList: []
}
},
mounted() {
@ -371,8 +354,40 @@ export default {
console.log(this.isView)
this.getList()
this.getCheckUser()
this.getSignList()
},
methods: {
//
async getSignList() {
try {
const res = await getSignListApi({ taskId: this.taskId })
console.log('🚀 ~ getSignList ~ res:', res)
// auditingList
if (res.code === 200 && res.data && res.data.length > 0) {
const kuGuanOrder = ['库管一班', '库管二班', '库管三班']
// deptName
const map = new Map()
res.data.forEach(item => map.set(item.deptName, { ...item }))
//
const kuGuanItem = kuGuanOrder.map(name => map.get(name)).find(Boolean)
//
this.auditingList = [
// userName ''
(() => {
const item = map.get('供应科') || { deptName: '供应科', auditStatus: 1 }
return { ...item, userName: '姚士超' }
})(),
//
map.get('技术科') || { deptName: '技术科', auditStatus: 0 },
//
kuGuanItem || { deptName: '库管班', auditStatus: 0 }
]
console.log('🚀 ~ getSignList ~ this.auditingList:', this.auditingList)
}
} catch (error) {
console.log('🚀 ~ getSignList ~ error:', error)
}
},
//
async getCheckUser() {
try {
@ -498,7 +513,7 @@ export default {
this.checkResult = '合格'
this.verifyPass = true
this.checkList = []
this.checkList = this.ids.map(item => {
this.checkList = this.tableList.map(item => {
let obj = {
taskId: item.taskId,
typeId: item.typeId,
@ -516,7 +531,7 @@ export default {
this.checkResult = '不合格'
this.verifyPass = false
this.checkList = []
this.checkList = this.ids.map(item => {
this.checkList = this.tableList.map(item => {
let obj = {
taskId: item.taskId,
typeId: item.typeId,
@ -543,7 +558,9 @@ export default {
this.$modal.msgSuccess(response.msg)
this.confirmShow = false
this.getList()
this.getSignList()
this.$refs.multipleTable.clearSelection()
this.jumpList()
}
})
},
@ -627,17 +644,17 @@ export default {
},
/** 导出按钮操作 */
handleExport() {
const formatTime = (date) => {
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
const hours = String(date.getHours()).padStart(2, '0');
const minutes = String(date.getMinutes()).padStart(2, '0');
const seconds = String(date.getSeconds()).padStart(2, '0');
return `${year}${month}${day}_${hours}${minutes}${seconds}`;
};
const formatTime = date => {
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')
const hours = String(date.getHours()).padStart(2, '0')
const minutes = String(date.getMinutes()).padStart(2, '0')
const seconds = String(date.getSeconds()).padStart(2, '0')
return `${year}${month}${day}_${hours}${minutes}${seconds}`
}
const currentTime = formatTime(new Date());
const currentTime = formatTime(new Date())
this.download(
'/material/purchase_check_info/exportDetails',
{ taskId: this.taskId, taskStage: 2, id: this.Id },
@ -671,31 +688,35 @@ export default {
}
.right-container {
padding: 0 20px;
.right-title {
display: flex;
align-items: center;
font-size: 14px;
& div:first-child {
width: 16px;
height: 16px;
border-radius: 50%;
background-color: #19a4a0;
z-index: 9;
}
& div:nth-child(2) {
width: 16px;
height: 16px;
border-radius: 50%;
background-color: #b2e1e0;
transform: translateX(-50%);
}
}
.process-record {
margin-top: 20px;
// height: 60vh;
.node-info {
word-break: break-all;
white-space: pre-wrap;
}
}
}
.right-title {
display: flex;
align-items: center;
font-size: 14px;
& div:first-child {
width: 16px;
height: 16px;
border-radius: 50%;
background-color: #19a4a0;
z-index: 9;
}
& div:nth-child(2) {
width: 16px;
height: 16px;
border-radius: 50%;
background-color: #b2e1e0;
transform: translateX(-50%);
}
}
.process-record {
margin-top: 20px;
// height: 60vh;
}
.btn-container {
margin-top: 10px;

View File

@ -102,7 +102,7 @@
</el-button>
<el-button
size="mini"
type="primary" v-if="scope.row.taskStatusName == '未完成'"
type="primary" v-if="scope.row.taskStatusName == '未完成' && deptName.includes(signLevelDeptMap[scope.row.signLevel])"
@click="handleUpdate(scope.row)"
>
验收
@ -286,10 +286,15 @@
openPrint: false,
printData: {},
printTableData: [],
deptName: sessionStorage.getItem("deptName"),
signLevelDeptMap: {
'2': '技术科',
'3': '库管'
}
};
},
created() {
this.getList();
this.getList()
},
methods: {
//

View File

@ -509,7 +509,7 @@ export default {
},
//
showCheckForm(row) {
return [3, 4, 13, 14, 19, 21, 22].includes(Number(row.purchaseStatus))
return [3, 4, 12, 13, 14, 19, 21, 22].includes(Number(row.purchaseStatus))
},
//
showInboundForm(row) {