From 58bd4b13b3c63dc4ddb7333771433bd1c5b8b5af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Fri, 27 Feb 2026 15:58:35 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E6=96=87=E4=BB=B6=E5=AE=A1?= =?UTF-8?q?=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/finance/purchasingdoc.ts | 131 +++++++ .../docAudit/AuditRecordList.vue | 65 ++++ .../docAudit/DocAuditDialog.vue | 323 ++++++++++++++++++ .../purchasingrequisition/docAudit/index.vue | 193 +++++++++++ .../finance/purchasingrequisition/index.vue | 19 ++ .../finance/purchasingtemplate/index.vue | 6 +- .../purchasingBusinessLeader/index.vue | 8 +- 7 files changed, 739 insertions(+), 6 deletions(-) create mode 100644 src/api/finance/purchasingdoc.ts create mode 100644 src/views/finance/purchasingrequisition/docAudit/AuditRecordList.vue create mode 100644 src/views/finance/purchasingrequisition/docAudit/DocAuditDialog.vue create mode 100644 src/views/finance/purchasingrequisition/docAudit/index.vue diff --git a/src/api/finance/purchasingdoc.ts b/src/api/finance/purchasingdoc.ts new file mode 100644 index 0000000..cb8e3ea --- /dev/null +++ b/src/api/finance/purchasingdoc.ts @@ -0,0 +1,131 @@ +/* + * Copyright (c) 2018-2025, cyweb All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the pig4cloud.com developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + */ + +import request from '/@/utils/request'; + +/** + * 获取采购文件列表(含历史版本) + * @param applyId 采购申请ID + */ +export function getDocList(applyId: number | string) { + return request({ + url: '/purchase/purchasingdoc/list/' + applyId, + method: 'get' + }); +} + +/** + * 上传采购文件(招标代理) + * @param data 文件信息 + */ +export function uploadDoc(data: any) { + return request({ + url: '/purchase/purchasingdoc/upload', + method: 'post', + data + }); +} + +/** + * 重新上传采购文件 + * @param data 文件信息 + */ +export function reuploadDoc(data: any) { + return request({ + url: '/purchase/purchasingdoc/reupload', + method: 'post', + data + }); +} + +/** + * 获取采购文件下载地址 + * @param id 采购文件ID + */ +export function getDocDownloadUrl(id: number | string) { + return `/purchase/purchasingdoc/download/${id}`; +} + +/** + * 确认无误 + * @param data 审核信息 + */ +export function confirmDoc(data: any) { + return request({ + url: '/purchase/purchasingdoc/confirm', + method: 'post', + data + }); +} + +/** + * 退回修改 + * @param data 审核信息 + */ +export function returnDoc(data: any) { + return request({ + url: '/purchase/purchasingdoc/return', + method: 'post', + data + }); +} + +/** + * 确认流程结束 + * @param applyId 采购申请ID + */ +export function completeDoc(applyId: number | string) { + return request({ + url: '/purchase/purchasingdoc/complete', + method: 'post', + params: { applyId } + }); +} + +/** + * 获取审核记录 + * @param applyId 采购申请ID + */ +export function getAuditRecords(applyId: number | string) { + return request({ + url: '/purchase/purchasingdoc/audit-records/' + applyId, + method: 'get' + }); +} + +/** + * 获取待审核列表 + * @param params 分页参数 + */ +export function getMyPending(params?: any) { + return request({ + url: '/purchase/purchasingdoc/my-pending', + method: 'get', + params + }); +} + +/** + * 获取可执行操作 + * @param applyId 采购申请ID + */ +export function getAvailableActions(applyId: number | string) { + return request({ + url: '/purchase/purchasingdoc/actions/' + applyId, + method: 'get' + }); +} \ No newline at end of file diff --git a/src/views/finance/purchasingrequisition/docAudit/AuditRecordList.vue b/src/views/finance/purchasingrequisition/docAudit/AuditRecordList.vue new file mode 100644 index 0000000..b645e5f --- /dev/null +++ b/src/views/finance/purchasingrequisition/docAudit/AuditRecordList.vue @@ -0,0 +1,65 @@ + + + \ No newline at end of file diff --git a/src/views/finance/purchasingrequisition/docAudit/DocAuditDialog.vue b/src/views/finance/purchasingrequisition/docAudit/DocAuditDialog.vue new file mode 100644 index 0000000..51ebe68 --- /dev/null +++ b/src/views/finance/purchasingrequisition/docAudit/DocAuditDialog.vue @@ -0,0 +1,323 @@ + + + + + \ No newline at end of file diff --git a/src/views/finance/purchasingrequisition/docAudit/index.vue b/src/views/finance/purchasingrequisition/docAudit/index.vue new file mode 100644 index 0000000..e105220 --- /dev/null +++ b/src/views/finance/purchasingrequisition/docAudit/index.vue @@ -0,0 +1,193 @@ + + + + + \ No newline at end of file diff --git a/src/views/finance/purchasingrequisition/index.vue b/src/views/finance/purchasingrequisition/index.vue index 3295698..7607516 100644 --- a/src/views/finance/purchasingrequisition/index.vue +++ b/src/views/finance/purchasingrequisition/index.vue @@ -391,6 +391,9 @@ + + + @@ -412,6 +415,7 @@ const ImplementForm = defineAsyncComponent(() => import('./implementForm.vue')); const ActionDropdown = defineAsyncComponent(() => import('/@/components/tools/action-dropdown.vue')); const PurchasingAcceptModal = defineAsyncComponent(() => import('./accept/PurchasingAcceptModal.vue')); const FlowCommentTimeline = defineAsyncComponent(() => import('/@/views/jsonflow/comment/timeline.vue')); +const DocAuditDialog = defineAsyncComponent(() => import('./docAudit/DocAuditDialog.vue')); // 字典数据和品目树数据 const dictData = ref({ @@ -431,6 +435,7 @@ const formDialogRef = ref() const acceptModalRef = ref() const searchFormRef = ref() const showSearch = ref(true) +const docAuditDialogRef = ref() /** 审批过程弹窗:是否显示、当前行对应的流程 job(供 Comment 组件用)、类型(申请单/文件) */ const showFlowComment = ref(false) const currFlowJob = ref<{ id?: number; flowInstId?: number } | null>(null) @@ -599,6 +604,11 @@ const handleImplement = (row: any) => { implementFormRef.value?.openDialog(row); }; +/** 打开采购文件审核 */ +const handleDocAudit = (row: any) => { + docAuditDialogRef.value?.open(row); +}; + /** * 删除当前行 * @param row - 当前行数据 @@ -692,6 +702,12 @@ const getActionMenuItems = (row: any) => { icon: Collection, visible: () => row?.purchaseMode === '2' || (row?.purchaseMode === '0' && row?.purchaseType === '4'), }, + { + command: 'docAudit', + label: '采购文件审核', + icon: DocumentChecked, + visible: () => row?.implementType === '2' && row?.agentId, + }, ]; }; @@ -725,6 +741,9 @@ const handleMoreCommand = (command: string, row: any) => { case 'assignAgent': openAssignAgentDialog(row); break; + case 'docAudit': + handleDocAudit(row); + break; } }; diff --git a/src/views/finance/purchasingtemplate/index.vue b/src/views/finance/purchasingtemplate/index.vue index fa99065..6fa6ead 100644 --- a/src/views/finance/purchasingtemplate/index.vue +++ b/src/views/finance/purchasingtemplate/index.vue @@ -9,9 +9,11 @@ 新增模板 - - + + 此处模版中的模版编码对应用户端下载模版匹配,请勿随意修改或删除。正常情况下如有发生模版变化,重新上传即可。如有新增模版,请联系管理员进行处理。 + + diff --git a/src/views/purchase/purchasingBusinessLeader/index.vue b/src/views/purchase/purchasingBusinessLeader/index.vue index 253c48d..08db499 100644 --- a/src/views/purchase/purchasingBusinessLeader/index.vue +++ b/src/views/purchase/purchasingBusinessLeader/index.vue @@ -46,7 +46,7 @@ icon="FolderAdd" type="primary" @click="formDialogRef.openDialog()" - v-auth="'purchase_purchasingBusinessLeader_add'"> + v-auth="'purchasing_bus_leader_add'"> 新增 删除 @@ -116,7 +116,7 @@ icon="Delete" link type="danger" - v-auth="'purchase_purchasingBusinessLeader_del'" + v-auth="'purchasing_bus_leader_del'" @click="handleDelete([scope.row.id])"> 删除