From e176497ce3359d5f9d0362ff5d98608639498894 Mon Sep 17 00:00:00 2001 From: Lufaneng Date: Tue, 11 Nov 2025 22:57:40 +0800 Subject: [PATCH] 1 --- src/router/index.js | 6 + src/views/ModelApproval/HandleDialog.vue | 98 ++++++++----- src/views/ModelApproval/index.vue | 24 +++- src/views/RequirementManage/HandleDialog.vue | 136 +++++++++++++++++++ src/views/RequirementManage/index.vue | 109 +++++++++++++++ 5 files changed, 340 insertions(+), 33 deletions(-) create mode 100644 src/views/RequirementManage/HandleDialog.vue create mode 100644 src/views/RequirementManage/index.vue diff --git a/src/router/index.js b/src/router/index.js index a3b07ff..823c4d2 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -86,6 +86,12 @@ export const asyncRoutes = [ component: () => import('@/views/OrderManage/index.vue'), meta: { title: '订单管理', permissions: ['order_management'] }, }, + { + path: 'RequirementManage', + name: 'RequirementManage', + component: () => import('@/views/RequirementManage/index.vue'), + meta: { title: '需求管理', permissions: ['requirement_manage'] }, + }, { path: 'NoPermission', name: 'NoPermission', diff --git a/src/views/ModelApproval/HandleDialog.vue b/src/views/ModelApproval/HandleDialog.vue index cf12065..986f1fe 100644 --- a/src/views/ModelApproval/HandleDialog.vue +++ b/src/views/ModelApproval/HandleDialog.vue @@ -13,16 +13,20 @@ const emit = defineEmits(['closed', 'onSuccess']) const dialogVisible = ref(false) const isAdd = computed(() => props.type === 'add') +const isApprove = computed(() => props.type === 'approve') +const isReject = computed(() => props.type === 'reject') +const isApproval = computed(() => isApprove.value || isReject.value) onMounted(() => { dialogVisible.value = true }) const formRef = ref(null) -const formField = ref({ enabled: true, params: [] }) +const formField = ref({ enabled: true, params: [], remark: '' }) const formRules = reactive({ name: [{ required: true, message: '不可为空', trigger: 'change' }], code: [{ required: true, message: '不可为空', trigger: 'change' }], + remark: [{ required: true, message: '备注不可为空', trigger: 'change' }], }) const loading = ref(false) @@ -33,24 +37,45 @@ function closed() { const submitForm = async () => { await formRef.value.validate() - const api = isAdd.value ? '/vendor/create' : '/vendor/update' - const params = { - ...formField.value, - id: isAdd.value ? null : props.row.id, + + if (isApproval.value) { + // 审批逻辑 + const params = { + application_id: props.row.id, + action: isApprove.value ? 'approve' : 'reject', + remark: formField.value.remark + } + loading.value = true + RPC.post('/template_access_review', params) + .then((res) => { + ElMessage.success('操作成功') + emit('onSuccess') + emit('closed') + }) + .finally(() => { + loading.value = false + }) + } else { + // 原有的增删改逻辑 + const api = isAdd.value ? '/vendor/create' : '/vendor/update' + const params = { + ...formField.value, + id: isAdd.value ? null : props.row.id, + } + loading.value = true + RPC.post(api, params) + .then((res) => { + ElMessage.success('操作成功') + emit('onSuccess') + emit('closed') + }) + .finally(() => { + loading.value = false + }) } - loading.value = true - RPC.post(api, params) - .then((res) => { - ElMessage.success('操作成功') - emit('onSuccess') - emit('closed') - }) - .finally(() => { - loading.value = false - }) } -if (!isAdd.value) { +if (!isAdd.value && !isApproval.value) { formField.value = { ...props.row, } @@ -60,8 +85,8 @@ if (!isAdd.value) {