更新采购申请文件模版下载

This commit is contained in:
吴红兵
2026-03-09 15:22:19 +08:00
parent 5963bbafd6
commit 03f10180dc
22 changed files with 333 additions and 364 deletions

View File

@@ -157,7 +157,7 @@
accept=".doc,.docx"
:disabled="isViewMode"
>
<el-button type="primary" :disabled="isViewMode">选择文件</el-button>
<el-button type="primary" :disabled="isViewMode">选择文件</el-button>
<template #tip>
<div class="el-upload__tip">仅支持 docdocx 格式单文件不超过 50MB上传后自动保存</div>
</template>
@@ -183,7 +183,7 @@
:disabled="isViewMode"
maxlength="500"
show-word-limit
/>
/>
</el-form-item>
</el-form>
</el-card>
@@ -221,7 +221,7 @@
<el-tag v-else type="warning">待设置</el-tag>
</div>
</template>
<el-form label-width="120px">
<el-form-item label="选择方式">
<el-radio-group v-model="representorSelectMode" :disabled="isViewMode">
@@ -232,13 +232,7 @@
<!-- 指定一人 -->
<el-form-item v-if="representorSelectMode === 'designate'" label="选择参与人">
<el-select
v-model="selectedRepresentor"
placeholder="请选择参与人"
filterable
:disabled="isViewMode"
style="width: 300px"
>
<el-select v-model="selectedRepresentor" placeholder="请选择参与人" filterable :disabled="isViewMode" style="width: 300px">
<el-option
v-for="member in deptMembers"
:key="member.teacherNo"
@@ -278,9 +272,7 @@
<!-- 已选中的参与人 -->
<el-form-item v-if="currentRepresentor" label="已选中参与人">
<el-tag type="success" size="large">
{{ currentRepresentor.realName }} ({{ currentRepresentor.teacherNo }})
</el-tag>
<el-tag type="success" size="large"> {{ currentRepresentor.realName }} ({{ currentRepresentor.teacherNo }}) </el-tag>
</el-form-item>
<!-- 参与人身份 -->
@@ -293,12 +285,7 @@
<!-- 保存按钮 -->
<el-form-item>
<el-button
type="primary"
:loading="saveRepresentorLoading"
:disabled="!canSaveRepresentor || isViewMode"
@click="handleSaveRepresentor"
>
<el-button type="primary" :loading="saveRepresentorLoading" :disabled="!canSaveRepresentor || isViewMode" @click="handleSaveRepresentor">
保存参与人信息
</el-button>
</el-form-item>
@@ -399,7 +386,7 @@ const isFileAudit = computed(() => currentUserRoleCodes.value.includes('PURCHASE
// 是否显示上传区域
const showUploadSection = computed(() => {
if (isViewMode.value) return false;
if (isAgent.value ) return true;
if (isAgent.value) return true;
if (isAsset.value || isDeptApply.value || isFileAudit.value) return true;
return false;
});
@@ -492,7 +479,7 @@ const effectivePurchaseId = computed(() => {
if (props.currJob?.orderId) {
return String(props.currJob.orderId);
}
return route.query.id as string || route.query.purchaseId as string || '';
return (route.query.id as string) || (route.query.purchaseId as string) || '';
});
// 是否可以提交(非查看模式即可提交,不强制要求上传文件)
@@ -630,25 +617,25 @@ const handleDownload = (row: any) => {
};
// 手动保存上传的招标文件
const handleSaveBidFile = async () => {
if (!uploadForm.fileId) {
ElMessage.warning('请先上传招标文件');
return;
}
const handleSaveBidFile = async () => {
if (!uploadForm.fileId) {
ElMessage.warning('请先上传招标文件');
return;
}
saveLoading.value = true;
try {
const saved = await saveUploadedFile();
if (saved) {
ElMessage.success('招标文件保存成功,版本已更新');
}
} finally {
saveLoading.value = false;
saveLoading.value = true;
try {
const saved = await saveUploadedFile();
if (saved) {
ElMessage.success('招标文件保存成功,版本已更新');
}
};
} finally {
saveLoading.value = false;
}
};
// 保存上传的招标文件
const saveUploadedFile = async () => {
// 保存上传的招标文件
const saveUploadedFile = async () => {
if (!uploadForm.fileId) {
ElMessage.warning('请先上传招标文件');
return false;
@@ -715,7 +702,7 @@ const handleFlowSave = async () => {
const saved = await saveUploadedFile();
if (!saved) return false;
}
// 自动调用暂存接口(可以没有文件)
try {
const params = {
@@ -724,7 +711,7 @@ const handleFlowSave = async () => {
fileName: uploadForm.fileName || '',
fileUrl: uploadForm.fileUrl || '',
comment: uploadForm.comment || '',
flowTarget: flowTarget.value || ''
flowTarget: flowTarget.value || '',
};
const res = await tempStoreBidFile(params);
@@ -735,8 +722,6 @@ const handleFlowSave = async () => {
currElTabIsSave(props.currJob, props.currElTab.id, true, emit);
}
return true;
} else {
ElMessage.error(res.msg || '暂存失败');
@@ -783,10 +768,7 @@ const handleRandomSelect = async () => {
try {
randomSelectLoading.value = true;
const res = await randomSelectRepresentor(
effectivePurchaseId.value,
randomCandidates.value.join(',')
);
const res = await randomSelectRepresentor(effectivePurchaseId.value, randomCandidates.value.join(','));
if (res.code === 0 && res.data) {
currentRepresentor.value = res.data;
ElMessage.success(`随机抽取成功:${res.data.realName}`);
@@ -816,12 +798,7 @@ const handleSaveRepresentor = async () => {
let res: any;
if (representorSelectMode.value === 'designate') {
res = await saveRepresentor(
Number(effectivePurchaseId.value),
selectedRepresentor.value,
undefined,
representorType.value
);
res = await saveRepresentor(Number(effectivePurchaseId.value), selectedRepresentor.value, undefined, representorType.value);
} else {
res = await saveRepresentor(
Number(effectivePurchaseId.value),
@@ -959,4 +936,4 @@ watch(
height: auto;
line-height: 1.5;
}
</style>
</style>