This commit is contained in:
2026-02-03 10:59:14 +08:00
parent a158c29b66
commit fd92b6ef54

View File

@@ -155,7 +155,7 @@
<!-- 商务洽谈 --> <!-- 商务洽谈 -->
<el-form-item <el-form-item
v-if="dataForm.purchaseType === PURCHASE_TYPE_IDS.BUSINESS_NEGOTIATION" v-if="isPurchaseType(PURCHASE_TYPE_IDS.BUSINESS_NEGOTIATION)"
label="商务洽谈表" label="商务洽谈表"
prop="businessNegotiationTable" prop="businessNegotiationTable"
class="mb20"> class="mb20">
@@ -176,7 +176,7 @@
<!-- 市场采购 --> <!-- 市场采购 -->
<el-form-item <el-form-item
v-if="dataForm.purchaseType === PURCHASE_TYPE_IDS.MARKET_PURCHASE" v-if="isPurchaseType(PURCHASE_TYPE_IDS.MARKET_PURCHASE)"
label="市场采购纪要" label="市场采购纪要"
prop="marketPurchaseMinutes" prop="marketPurchaseMinutes"
class="mb20"> class="mb20">
@@ -197,7 +197,7 @@
<!-- 网上商城 --> <!-- 网上商城 -->
<el-form-item <el-form-item
v-if="dataForm.purchaseType === PURCHASE_TYPE_IDS.ONLINE_MALL" v-if="isPurchaseType(PURCHASE_TYPE_IDS.ONLINE_MALL)"
label="网上商城采购相关材料" label="网上商城采购相关材料"
prop="onlineMallMaterials" prop="onlineMallMaterials"
class="mb20"> class="mb20">
@@ -209,7 +209,7 @@
</el-form-item> </el-form-item>
<!-- 委托采购中心 --> <!-- 委托采购中心 -->
<template v-if="dataForm.purchaseType === PURCHASE_TYPE_IDS.ENTRUST_CENTER"> <template v-if="isPurchaseType(PURCHASE_TYPE_IDS.ENTRUST_CENTER)">
<el-form-item label="委托采购中心方式" prop="entrustCenterType" class="mb20"> <el-form-item label="委托采购中心方式" prop="entrustCenterType" class="mb20">
<el-radio-group v-model="dataForm.entrustCenterType"> <el-radio-group v-model="dataForm.entrustCenterType">
<el-radio label="service_online">服务类网上商城</el-radio> <el-radio label="service_online">服务类网上商城</el-radio>
@@ -484,7 +484,7 @@
</template> </template>
<!-- 特殊情况单一来源 --> <!-- 特殊情况单一来源 -->
<template v-if="dataForm.isSpecial === '2'"> <template v-if="isSpecialType('2')">
<el-form-item <el-form-item
label="单一来源论专家证附件" label="单一来源论专家证附件"
prop="singleSourceProof" prop="singleSourceProof"
@@ -513,7 +513,7 @@
</template> </template>
<!-- 特殊情况进口 --> <!-- 特殊情况进口 -->
<template v-if="dataForm.isSpecial === '3'"> <template v-if="isSpecialType('3')">
<el-form-item <el-form-item
label="进口产品申请及专家论证意见表" label="进口产品申请及专家论证意见表"
prop="importApplication" prop="importApplication"
@@ -808,6 +808,34 @@ const PURCHASE_TYPE_IDS = {
ENTRUST_CENTER: '981bf052a0b30b028a4a89ae490c9b1d' // 委托采购中心 ENTRUST_CENTER: '981bf052a0b30b028a4a89ae490c9b1d' // 委托采购中心
}; };
// 辅助函数:判断当前采购方式是否为指定类型(通过 id 或 value 匹配)
const isPurchaseType = (purchaseTypeId: string) => {
if (!dataForm.purchaseType) return false;
// 在字典中查找匹配的项
const item = purchaseTypeDeptList.value.find(item =>
item.id === purchaseTypeId || item.value === purchaseTypeId
);
if (item) {
return dataForm.purchaseType === item.value;
}
// 如果字典中找不到,直接比较 value兼容性处理
return dataForm.purchaseType === purchaseTypeId;
};
// 辅助函数:判断特殊情况是否为指定类型(通过 id 或 value 匹配)
const isSpecialType = (specialIdOrValue: string) => {
if (!dataForm.isSpecial) return false;
// 在字典中查找匹配的项
const item = isSpecialList.value.find(item =>
item.id === specialIdOrValue || item.value === specialIdOrValue
);
if (item) {
return dataForm.isSpecial === item.value;
}
// 如果字典中找不到,直接比较 value兼容性处理
return dataForm.isSpecial === specialIdOrValue;
};
// 判断是否为部门自行采购 // 判断是否为部门自行采购
// 条件:特殊情况=否 且 集采=否 且 预算金额<5万 → 部门自行采购 // 条件:特殊情况=否 且 集采=否 且 预算金额<5万 → 部门自行采购
// 其他情况 → 学校统一采购 // 其他情况 → 学校统一采购
@@ -978,7 +1006,7 @@ const isAutoSelectPurchaseTypeUnion = computed(() => {
watch([() => dataForm.categoryCode, () => dataForm.budget], () => { watch([() => dataForm.categoryCode, () => dataForm.budget], () => {
// 部门自行采购:自动设置网上商城 // 部门自行采购:自动设置网上商城
if (isAutoSelectPurchaseType.value && isDeptPurchase.value) { if (isAutoSelectPurchaseType.value && isDeptPurchase.value) {
// 查找网上商城选项(通过 id 或 label 匹配) // 查找网上商城选项(通过 id、value 或 label 匹配)
const onlineMallOption = purchaseTypeDeptList.value.find(item => { const onlineMallOption = purchaseTypeDeptList.value.find(item => {
const label = item.label || item.dictLabel || item.name || ''; const label = item.label || item.dictLabel || item.name || '';
return item.id === PURCHASE_TYPE_IDS.ONLINE_MALL || return item.id === PURCHASE_TYPE_IDS.ONLINE_MALL ||