招标文件

This commit is contained in:
吴红兵
2026-03-15 18:56:27 +08:00
parent 7e0371134b
commit 98799a2555
3 changed files with 5 additions and 110 deletions

View File

@@ -459,57 +459,10 @@
<!-- 采购合同详情弹窗 -->
<PurchaseContractDetailDialog ref="purchaseContractDetailDialogRef" />
<!-- 招标文件审核弹窗 -->
<!-- <DocAuditDialog ref="docAuditDialogRef" @refresh="getDataList" />-->
<!-- 采购代表弹窗 -->
<el-dialog v-model="representorDialogVisible" title="设置采购代表" width="500px" destroy-on-close>
<el-form label-width="100px">
<el-form-item label="身份">
<el-radio-group v-model="representorForm.identity">
<el-radio label="purchase_rep">采购代表</el-radio>
<el-radio label="judge">评委</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="选择方式">
<el-radio-group v-model="representorForm.mode">
<el-radio label="single">指定采购代表人</el-radio>
<el-radio label="multi">部门多人系统抽取</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="representorForm.mode === 'single'" label="采购代表人">
<el-select v-model="representorForm.teacherNo" placeholder="请选择" clearable filterable style="width: 100%">
<el-option
v-for="m in representorDeptMembers"
:key="m.userId || m.teacherNo || m.id"
:label="m.realName || m.name || m.teacherNo"
:value="m.userId || m.teacherNo || m.id"
/>
</el-select>
</el-form-item>
<el-form-item v-else label="部门多人">
<el-select
v-model="representorForm.multiIds"
multiple
placeholder="请选择多人,系统将自动抽取一人"
clearable
filterable
style="width: 100%"
>
<el-option
v-for="m in representorDeptMembers"
:key="m.userId || m.teacherNo || m.id"
:label="m.realName || m.name || m.teacherNo"
:value="m.userId || m.teacherNo || m.id"
/>
</el-select>
</el-form-item>
</el-form>
<template #footer>
<el-button @click="representorDialogVisible = false">取消</el-button>
<el-button type="primary" :loading="representorSubmitting" @click="handleSaveRepresentor">确定</el-button>
</template>
</el-dialog>
</div>
</template>
@@ -523,10 +476,6 @@ import {
submitObj,
getApplyTemplateDownloadUrl,
getFileApplyTemplateDownloadUrl,
getDeptMembers,
saveRepresentor,
listDownloadUrls,
updateFiles,
exportPurchaseApply,
} from '/@/api/purchase/purchasingrequisition';
import { useMessage, useMessageBox } from '/@/hooks/message';
@@ -675,52 +624,10 @@ const representorForm = reactive({
multiIds: [] as string[],
identity: 'purchase_rep' as 'purchase_rep' | 'judge',
});
const representorDeptMembers = ref<any[]>([]);
const representorSubmitting = ref(false);
const openRepresentorDialog = async (row: any) => {
representorCurrentRow.value = row;
representorForm.mode = 'single';
representorForm.teacherNo = '';
representorForm.multiIds = [];
representorDialogVisible.value = true;
try {
const res = await getDeptMembers();
representorDeptMembers.value = res?.data || [];
} catch (_) {
representorDeptMembers.value = [];
}
};
const handleSaveRepresentor = async () => {
const row = representorCurrentRow.value;
const id = row?.id ?? row?.purchaseId;
if (id == null || id === '') {
useMessage().warning('无法获取申请单ID');
return;
}
if (representorForm.mode === 'single' && !representorForm.teacherNo) {
useMessage().warning('请选择采购代表人');
return;
}
if (representorForm.mode === 'multi' && !representorForm.multiIds.length) {
useMessage().warning('请选择部门多人');
return;
}
representorSubmitting.value = true;
try {
const teacherNo = representorForm.mode === 'single' ? representorForm.teacherNo : undefined;
const multiIds = representorForm.mode === 'multi' ? representorForm.multiIds.join(',') : undefined;
await saveRepresentor(Number(id), teacherNo, multiIds, representorForm.identity);
useMessage().success('保存采购代表成功');
representorDialogVisible.value = false;
getDataList();
} catch (e: any) {
useMessage().error(e?.msg || '保存采购代表失败');
} finally {
representorSubmitting.value = false;
}
};
/**
* 定义响应式表格数据