修改实施采购

This commit is contained in:
吴红兵
2026-03-15 12:18:05 +08:00
parent b273c44104
commit 1ca0e3c452
2 changed files with 31 additions and 8 deletions

View File

@@ -10,10 +10,15 @@
</div> </div>
<div class="step-content"> <div class="step-content">
<el-form-item label="实施采购途径" required> <el-form-item label="实施采购途径" required>
<el-radio-group v-model="implementType" :disabled="step1Completed && !isEditingStep1"> <el-select
<el-radio :label="IMPLEMENT_TYPE.SELF_ORGANIZED">自行组织采购</el-radio> v-model="implementType"
<el-radio :label="IMPLEMENT_TYPE.ENTRUST_AGENT">委托代理采购</el-radio> placeholder="请选择实施采购途径"
</el-radio-group> clearable
:disabled="step1Completed && !isEditingStep1"
style="width: 300px"
>
<el-option v-for="item in IMPLEMENT_TYPE_OPTIONS" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item> </el-form-item>
<!-- 步骤一未完成显示保存按钮 --> <!-- 步骤一未完成显示保存按钮 -->
<el-form-item v-if="!step1Completed"> <el-form-item v-if="!step1Completed">
@@ -97,12 +102,24 @@ import { Session } from '/@/utils/storage';
// ==================== 常量定义(与后端枚举保持一致) ==================== // ==================== 常量定义(与后端枚举保持一致) ====================
/** 实施采购途径(与后端 ImplementTypeEnum 一致) */ /** 实施采购途径(与后端 ImplementTypeEnum 及 add.vue 一致) */
const IMPLEMENT_TYPE_OPTIONS = [
{ value: '1', label: '自行组织采购' },
{ value: '2', label: '委托代理采购' },
{ value: '140', label: '框架协议' },
{ value: '170', label: '网上商城' },
] as const;
/** 实施采购途径值 */
const IMPLEMENT_TYPE = { const IMPLEMENT_TYPE = {
/** 自行组织采购 */ /** 自行组织采购 */
SELF_ORGANIZED: '1', SELF_ORGANIZED: '1',
/** 委托代理采购 */ /** 委托代理采购 */
ENTRUST_AGENT: '2', ENTRUST_AGENT: '2',
/** 框架协议 */
FRAMEWORK_AGREEMENT: '140',
/** 网上商城 */
ONLINE_MALL: '170',
} as const; } as const;
/** 采购形式(与后端 PurchaseModeEnum 一致) */ /** 采购形式(与后端 PurchaseModeEnum 一致) */

View File

@@ -155,7 +155,11 @@
<template #default="scope"> <template #default="scope">
<div class="project-name-cell"> <div class="project-name-cell">
<!-- 特殊情况标记 --> <!-- 特殊情况标记 -->
<el-tooltip v-if="scope.row.isSpecial && String(scope.row.isSpecial) !== '0'" :content="getSpecialTooltip(scope.row.isSpecial)" placement="top"> <el-tooltip
v-if="scope.row.isSpecial && String(scope.row.isSpecial) !== '0'"
:content="getSpecialTooltip(scope.row.isSpecial)"
placement="top"
>
<span :class="['special-badge', `special-${scope.row.isSpecial}`]">{{ getSpecialBadgeText(scope.row.isSpecial) }}</span> <span :class="['special-badge', `special-${scope.row.isSpecial}`]">{{ getSpecialBadgeText(scope.row.isSpecial) }}</span>
</el-tooltip> </el-tooltip>
<!-- 集采标记 --> <!-- 集采标记 -->
@@ -214,7 +218,7 @@
{{ scope.row.budget ? Number(scope.row.budget).toLocaleString() : '-' }} {{ scope.row.budget ? Number(scope.row.budget).toLocaleString() : '-' }}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="purchaseMode" label="采购形式" width="160" align="center"> <el-table-column prop="purchaseMode" label="采购形式" width="160" align="center">
<template #header> <template #header>
<el-icon> <el-icon>
@@ -1009,7 +1013,9 @@ const getActionMenuItems = (row: any) => {
command: 'implement', command: 'implement',
label: '实施采购', label: '实施采购',
icon: Upload, icon: Upload,
visible: () => isCompleted && hasAuth('purchase_implement'), // 学校统一采购 或 部门自行采购+委托采购中心采购 时显示
visible: () =>
isCompleted && hasAuth('purchase_implement') && (row.purchaseMode === '2' || (row.purchaseMode === '1' && row.purchaseChannel === '2')),
}, },
{ {
command: 'archive', command: 'archive',