提交代码

This commit is contained in:
2026-02-02 15:03:09 +08:00
parent 21562e57a6
commit 291ff5434b
17 changed files with 139 additions and 14 deletions

View File

@@ -422,6 +422,16 @@
</el-form-item>
</template>
<!-- 特殊情况紧急 -->
<template v-if="isUrgentSpecial">
<el-form-item label="会议纪要" prop="meetingMinutesUrgent" class="mb20">
<upload-file
v-model="dataForm.meetingMinutesUrgent"
:limit="5"
upload-file-url="/purchase/purchasingfiles/upload" />
</el-form-item>
</template>
<!-- 特殊情况单一来源 -->
<template v-if="dataForm.isSpecial === '2'">
<el-form-item
@@ -682,6 +692,7 @@ const dataForm = reactive({
purchaseRequirement: '',
meetingMinutes: '',
feasibilityReport: '',
meetingMinutesUrgent: '',
meetingMinutesSingle: '',
meetingMinutesImport: '',
singleSourceProof: '',
@@ -735,6 +746,13 @@ const isDeptPurchase = computed(() => {
return false;
});
// 判断是否为紧急情况ID: 6509b59e24c1c6568f4277e544f3e55e
const isUrgentSpecial = computed(() => {
const urgentItem = isSpecialList.value.find(item => item.id === '6509b59e24c1c6568f4277e544f3e55e');
if (!urgentItem) return false;
return dataForm.isSpecial === urgentItem.value;
});
// 第二步标题
const stepTwoTitle = computed(() => {
return isDeptPurchase.value ? '部门自行采购' : '学校统一采购';
@@ -885,7 +903,7 @@ const downloadTemplate = async (type: string) => {
'direct_select': { fileName: '服务商城项目需求模板(直选).doc', displayName: '服务商城项目需求模板(直选).doc' },
'public_select': { fileName: '服务商城项目需求模板(公开比选).doc', displayName: '服务商城项目需求模板(公开比选).doc' },
'invite_select': { fileName: '服务商城项目需求模板(邀请比选).doc', displayName: '服务商城项目需求模板(邀请比选).doc' },
'purchase_requirement': { fileName: '表1采购需求填报模板.xlsx', displayName: '采购需求填报模板.xlsx' },
'purchase_requirement': { fileName: '表1采购需求填报模板.doc', displayName: '采购需求填报模板.doc' },
'import_application': { fileName: '附件1进口产品申请及专家论证意见表.doc', displayName: '进口产品申请及专家论证意见表.doc' },
'single_source': { fileName: '表7单一来源论专家证附件.docx', displayName: '单一来源论专家证附件.docx' },
'feasibility_report': { fileName: '表6项目可行性论证报告模板.doc', displayName: '项目可行性论证报告模板.doc' },
@@ -987,7 +1005,14 @@ const prevStep = () => {
// 取消
const handleCancel = () => {
router.back();
// 如果是在 iframe 中,向父窗口发送关闭消息
if (window.parent !== window) {
window.parent.postMessage({
type: 'purchasingrequisition:close'
}, '*');
} else {
router.back();
}
};
// 获取品目树形数据
@@ -1207,8 +1232,8 @@ const handleSubmit = async () => {
'businessNegotiationTable', 'marketPurchaseMinutes', 'onlineMallMaterials',
'serviceDirectSelect', 'servicePublicSelect', 'purchaseRequirementTemplate',
'serviceInviteSelect', 'servicePublicSelectAuto', 'purchaseRequirement',
'meetingMinutes', 'feasibilityReport', 'meetingMinutesSingle',
'meetingMinutesImport', 'singleSourceProof', 'importApplication',
'meetingMinutes', 'feasibilityReport', 'meetingMinutesUrgent',
'meetingMinutesSingle', 'meetingMinutesImport', 'singleSourceProof', 'importApplication',
'governmentPurchaseIntent', 'servicePublicSelectSchool'
];
@@ -1220,7 +1245,15 @@ const handleSubmit = async () => {
await addObj(submitData);
useMessage().success('提交成功');
router.push('/finance/purchasingrequisition');
// 如果是在 iframe 中,向父窗口发送消息
if (window.parent !== window) {
window.parent.postMessage({
type: 'purchasingrequisition:submitSuccess'
}, '*');
} else {
router.push('/finance/purchasingrequisition');
}
} catch (err: any) {
useMessage().error(err.msg || '提交失败');
} finally {
@@ -1248,8 +1281,8 @@ const handleTempStore = async () => {
'businessNegotiationTable', 'marketPurchaseMinutes', 'onlineMallMaterials',
'serviceDirectSelect', 'servicePublicSelect', 'purchaseRequirementTemplate',
'serviceInviteSelect', 'servicePublicSelectAuto', 'purchaseRequirement',
'meetingMinutes', 'feasibilityReport', 'meetingMinutesSingle',
'meetingMinutesImport', 'singleSourceProof', 'importApplication',
'meetingMinutes', 'feasibilityReport', 'meetingMinutesUrgent',
'meetingMinutesSingle', 'meetingMinutesImport', 'singleSourceProof', 'importApplication',
'governmentPurchaseIntent', 'servicePublicSelectSchool'
];
@@ -1261,7 +1294,15 @@ const handleTempStore = async () => {
await tempStore(submitData);
useMessage().success('暂存成功');
router.push('/finance/purchasingrequisition');
// 如果是在 iframe 中,向父窗口发送消息
if (window.parent !== window) {
window.parent.postMessage({
type: 'purchasingrequisition:submitSuccess'
}, '*');
} else {
router.push('/finance/purchasingrequisition');
}
} catch (err: any) {
useMessage().error(err.msg || '暂存失败');
} finally {