feat:模具出库/入库-修改审核按钮逻辑

main
黄伟杰 1 week ago
parent 49fb01e3b0
commit df07b2a194

@ -2856,6 +2856,9 @@ export default {
edit: 'Edit',
approve: 'Approve',
unapprove: 'Unapprove',
submit: 'Submit',
auditApprove: 'Pass',
auditReject: 'Reject',
delete: 'Delete',
export: 'Export',
add: 'Add',
@ -2898,6 +2901,12 @@ export default {
unapproveConfirm: 'Confirm unapprove this stock in order?',
approveSuccess: 'Approve successful',
unapproveSuccess: 'Unapprove successful',
submitConfirm: 'Confirm submit this stock in order?',
submitSuccess: 'Submit successful',
auditApproveConfirm: 'Confirm pass this stock in order?',
auditRejectConfirm: 'Confirm reject this stock in order?',
auditApproveSuccess: 'Pass successful',
auditRejectSuccess: 'Reject successful',
subMoldList: 'Sub Mold List',
moldGroupList: 'Mold Group & Sub Mold List',
moldGroupListTitle: 'Stock In Mold Group List'
@ -2918,6 +2927,9 @@ export default {
edit: 'Edit',
approve: 'Approve',
unapprove: 'Unapprove',
submit: 'Submit',
auditApprove: 'Pass',
auditReject: 'Reject',
delete: 'Delete',
export: 'Export',
add: 'Add',
@ -2956,6 +2968,12 @@ export default {
validatorItemWarehouseRequired: 'Warehouse can not be empty',
validatorItemMoldRequired: 'Mold can not be empty',
validatorItemCountRequired: 'Quantity can not be empty',
submitConfirm: 'Confirm submit this stock out order?',
submitSuccess: 'Submit successful',
auditApproveConfirm: 'Confirm pass this stock out order?',
auditRejectConfirm: 'Confirm reject this stock out order?',
auditApproveSuccess: 'Pass successful',
auditRejectSuccess: 'Reject successful',
moldGroupListTitle: 'Stock Out Mold Group List'
},

@ -2342,6 +2342,9 @@ export default {
edit: '编辑',
approve: '审批',
unapprove: '反审批',
submit: '提交',
auditApprove: '通过',
auditReject: '不通过',
delete: '删除',
export: '导出',
add: '新增',
@ -2384,6 +2387,12 @@ export default {
unapproveConfirm: '确定反审批该入库单吗?',
approveSuccess: '审批成功',
unapproveSuccess: '反审批成功',
submitConfirm: '确定提交该入库单吗?',
submitSuccess: '提交成功',
auditApproveConfirm: '确定通过该入库单吗?',
auditRejectConfirm: '确定不通过该入库单吗?',
auditApproveSuccess: '通过成功',
auditRejectSuccess: '不通过成功',
subMoldList: '子模具列表',
moldGroupList: '模具组及子模具列表',
moldGroupListTitle: '入库模具组清单'
@ -2404,6 +2413,9 @@ export default {
edit: '编辑',
approve: '审批',
unapprove: '反审批',
submit: '提交',
auditApprove: '通过',
auditReject: '不通过',
delete: '删除',
export: '导出',
add: '新增',
@ -2442,6 +2454,12 @@ export default {
validatorItemWarehouseRequired: '仓库不能为空',
validatorItemMoldRequired: '模具不能为空',
validatorItemCountRequired: '数量不能为空',
submitConfirm: '确定提交该出库单吗?',
submitSuccess: '提交成功',
auditApproveConfirm: '确定通过该出库单吗?',
auditRejectConfirm: '确定不通过该出库单吗?',
auditApproveSuccess: '通过成功',
auditRejectSuccess: '不通过成功',
moldGroupListTitle: '出库模具组清单'
},

@ -206,7 +206,7 @@
<dict-tag :type="DICT_TYPE.ERP_AUDIT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldGet.operate')" align="center" fixed="right" width="220">
<el-table-column :label="t('MoldManagement.MoldGet.operate')" align="center" fixed="right" width="300">
<template #default="scope">
<el-button
link
@ -220,34 +220,43 @@
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['erp:stock-out:update']"
v-if="scope.row.status === 10"
v-if="Number(scope.row.status) === 10"
>
{{ t('MoldManagement.MoldGet.edit') }}
</el-button>
<el-button
v-if="[0, 1].includes(Number(scope.row.status))"
link
type="primary"
@click="handleUpdateStatus(scope.row.id, 10)"
v-hasPermi="['erp:stock-out:update-status']"
>
{{ t('MoldManagement.MoldGet.submit') }}
</el-button>
<el-button
v-if="Number(scope.row.status) === 10"
link
type="primary"
@click="handleUpdateStatus(scope.row.id, 20)"
v-hasPermi="['erp:stock-out:update-status']"
v-if="scope.row.status === 10"
>
{{ t('MoldManagement.MoldGet.approve') }}
{{ t('MoldManagement.MoldGet.auditApprove') }}
</el-button>
<!-- <el-button
<el-button
v-if="Number(scope.row.status) === 10"
link
type="danger"
@click="handleUpdateStatus(scope.row.id, 10)"
@click="handleUpdateStatus(scope.row.id, 1)"
v-hasPermi="['erp:stock-out:update-status']"
v-else
>
{{ t('MoldManagement.MoldGet.unapprove') }}
</el-button> -->
{{ t('MoldManagement.MoldGet.auditReject') }}
</el-button>
<el-button
link
type="danger"
@click="handleDelete([scope.row.id])"
v-hasPermi="['erp:stock-out:delete']"
v-if="scope.row.status === 10"
v-if="Number(scope.row.status) === 10"
>
{{ t('MoldManagement.MoldGet.delete') }}
</el-button>
@ -366,14 +375,27 @@ const handleDelete = async (ids: number[]) => {
} catch {}
}
/** 审批/反审批操作 */
/** 状态更新操作 */
const handleUpdateStatus = async (id: number, status: number) => {
try {
//
await message.confirm(`确定${status === 20 ? '审批' : '反审批'}该出库单吗?`)
//
const actionMap: Record<number, { confirm: string; success: string }> = {
10: {
confirm: t('MoldManagement.MoldGet.submitConfirm'),
success: t('MoldManagement.MoldGet.submitSuccess')
},
20: {
confirm: t('MoldManagement.MoldGet.auditApproveConfirm'),
success: t('MoldManagement.MoldGet.auditApproveSuccess')
},
1: {
confirm: t('MoldManagement.MoldGet.auditRejectConfirm'),
success: t('MoldManagement.MoldGet.auditRejectSuccess')
}
}
const action = actionMap[status]
await message.confirm(action.confirm)
await StockOutApi.updateStockOutStatus(id, status)
message.success(`${status === 20 ? '审批' : '反审批'}成功`)
message.success(action.success)
//
await getList()
} catch {}

@ -129,7 +129,7 @@
<dict-tag :type="DICT_TYPE.ERP_AUDIT_STATUS" :value="scope.row.status" />
</template>
</el-table-column>
<el-table-column :label="t('MoldManagement.MoldReturn.operate')" align="center" fixed="right" width="220">
<el-table-column :label="t('MoldManagement.MoldReturn.operate')" align="center" fixed="right" width="300">
<template #default="scope">
<el-button link @click="openForm('detail', scope.row.id)" v-hasPermi="['erp:stock-out:query']">
{{ t('MoldManagement.MoldReturn.detail') }}
@ -138,18 +138,18 @@
v-hasPermi="['erp:stock-out:update']" :disabled="scope.row.status === 20">
{{ t('MoldManagement.MoldReturn.edit') }}
</el-button>
<el-button link type="primary" @click="handleUpdateStatus(scope.row.id, 10)"
v-hasPermi="['erp:stock-in:update-status']" v-if="[0, 1].includes(Number(scope.row.status))">
{{ t('MoldManagement.MoldReturn.submit') }}
</el-button>
<el-button link type="primary" @click="handleUpdateStatus(scope.row.id, 20)"
v-hasPermi="['erp:stock-out:update-status']" v-if="scope.row.status === 10">
{{ t('MoldManagement.MoldReturn.approve') }}
v-hasPermi="['erp:stock-in:update-status']" v-if="Number(scope.row.status) === 10">
{{ t('MoldManagement.MoldReturn.auditApprove') }}
</el-button>
<el-button link type="danger" @click="handleUpdateStatus(scope.row.id, 1)"
v-hasPermi="['erp:stock-in:update-status']" v-if="Number(scope.row.status) === 10">
{{ t('MoldManagement.MoldReturn.auditReject') }}
</el-button>
<!-- <el-button
link
type="danger"
@click="handleUpdateStatus(scope.row.id, 10)"
v-hasPermi="['erp:stock-out:update-status']"
>
{{ t('MoldManagement.MoldReturn.unapprove') }}
</el-button> -->
<el-button link type="danger" @click="handleDelete([scope.row.id])" v-hasPermi="['erp:stock-out:delete']">
{{ t('MoldManagement.MoldReturn.delete') }}
</el-button>
@ -262,14 +262,27 @@ const handleDelete = async (ids: number[]) => {
} catch { }
}
/** 审批/反审批操作 */
/** 状态更新操作 */
const handleUpdateStatus = async (id: number, status: number) => {
try {
const confirmText = status === 20 ? t('MoldManagement.MoldReturn.approveConfirm') : t('MoldManagement.MoldReturn.unapproveConfirm')
await message.confirm(confirmText)
const actionMap: Record<number, { confirm: string; success: string }> = {
10: {
confirm: t('MoldManagement.MoldReturn.submitConfirm'),
success: t('MoldManagement.MoldReturn.submitSuccess')
},
20: {
confirm: t('MoldManagement.MoldReturn.auditApproveConfirm'),
success: t('MoldManagement.MoldReturn.auditApproveSuccess')
},
1: {
confirm: t('MoldManagement.MoldReturn.auditRejectConfirm'),
success: t('MoldManagement.MoldReturn.auditRejectSuccess')
}
}
const action = actionMap[status]
await message.confirm(action.confirm)
await StockInApi.updateStockInStatus(id, status)
const successText = status === 20 ? t('MoldManagement.MoldReturn.approveSuccess') : t('MoldManagement.MoldReturn.unapproveSuccess')
message.success(successText)
message.success(action.success)
//
await getList()
} catch { }

Loading…
Cancel
Save