diff --git a/src/pages/approval/handle.vue b/src/pages/approval/handle.vue index c6f6b88..885daa1 100644 --- a/src/pages/approval/handle.vue +++ b/src/pages/approval/handle.vue @@ -12,9 +12,9 @@ const statusMap: { [key: number]: string } = { } const statusOptions = [ - { text: '已通过', value: 1 }, - { text: '待审核', value: 2 }, - { text: '已驳回', value: 3 } + { text: '待审核', value: 1 }, + { text: '通过', value: 2 }, + { text: '驳回', value: 3 } ] import axios from "axios" import { handleApprovalApi } from '@/common/apis/approval' @@ -44,8 +44,13 @@ const validateForm = () => { showConfirmDialog({ title: '错误', message: '审批单ID参数错误' }) return false } - if (formData.value.returnAmount < 0) { - showConfirmDialog({ title: '提示', message: '退款金额不能为负数' }) + if (formData.value.returnAmount <= 0) { + showConfirmDialog({ title: '提示', message: '退款金额需大于0' }) + return false + } + if (null != approvalStore.currentApproval && + formData.value.returnAmount > approvalStore.currentApproval.goodsPrice) { + showConfirmDialog({ title: '提示', message: '退款金额不能超过商品价格' }) return false } if (formData.value.status === 3 && !formData.value.auditRemark) { @@ -122,6 +127,24 @@ const previewImage = (url: string) => { onMounted(() => { if (!approvalStore.currentApproval) { router.push('/approval/list') + } else if (approvalStore.currentApproval.status !== 1) { + // 填充历史审批数据 + formData.value = { + ...formData.value, + status: approvalStore.currentApproval.status, + returnAmount: approvalStore.currentApproval.returnAmount, + auditRemark: approvalStore.currentApproval.auditRemark, + auditImages: approvalStore.currentApproval.auditImages + } + + // 处理文件回显 + if (approvalStore.currentApproval.auditImages) { + fileList.value = approvalStore.currentApproval.auditImages.split(',').map(url => ({ + url, + status: 'done', + message: '已上传' + })) + } } }) @@ -159,9 +182,20 @@ const handleSubmit = async () => {