Merge branch 'developer' of ssh://code.cyweb.top:30033/scj/zhxy/v3/cloud-ui into developer

This commit is contained in:
zhoutianchi
2026-02-27 11:52:09 +08:00

View File

@@ -83,22 +83,22 @@
<div class="mb20 form-section-compact" v-if="showPurchaseDetailBlocks && isDeptPurchase"> <div class="mb20 form-section-compact" v-if="showPurchaseDetailBlocks && isDeptPurchase">
<div class="step-title mb12">部门自行采购</div> <div class="step-title mb12">部门自行采购</div>
<el-row :gutter="16"> <el-row :gutter="16">
<el-col :span="8" class="mb12"> <el-col :span="8" class="mb12">
<el-form-item label="采购途径" prop="purchaseChannel"> <el-form-item label="采购途径" prop="purchaseChannel">
<el-select v-model="dataForm.purchaseChannel" placeholder="请选择采购途径" clearable :disabled="flowFieldDisabled('purchaseChannel')" style="width: 100%"> <el-select v-model="dataForm.purchaseChannel" placeholder="请选择采购途径" clearable :disabled="flowFieldDisabled('purchaseChannel')" style="width: 100%">
<el-option :label="'自行采购'" :value="PURCHASE_CHANNEL.SELF" /> <el-option :label="'自行采购'" :value="PURCHASE_CHANNEL.SELF" />
<el-option :label="'委托采购中心采购'" :value="PURCHASE_CHANNEL.ENTRUST_CENTER" /> <el-option :label="'委托采购中心采购'" :value="PURCHASE_CHANNEL.ENTRUST_CENTER" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" class="mb12" v-if="!isEntrustCenterChannel || (isFlowEmbed && isPurchaseCenter)"> <el-col :span="8" class="mb12" v-if="!isEntrustCenterChannel || (isFlowEmbed && isPurchaseCenter)">
<el-form-item label="采购方式" prop="purchaseType" required class="mb16"> <el-form-item label="采购方式" prop="purchaseType" required>
<el-select <el-select
v-model="dataForm.purchaseType" v-model="dataForm.purchaseType"
placeholder="请选择采购方式" placeholder="请选择采购方式"
clearable clearable
:disabled="(isFlowEmbed && isPurchaseCenter) ? false : isAutoSelectPurchaseType" :disabled="(isFlowEmbed && isPurchaseCenter) ? false : (isDeptSelfMallLocked || isAutoSelectPurchaseType)"
style="width: 100%"> style="width: 100%">
<el-option <el-option
v-for="item in purchaseTypeDeptList" v-for="item in purchaseTypeDeptList"
:key="item.value" :key="item.value"
@@ -214,9 +214,9 @@
<!-- <div v-if="schoolUnifiedPurchaseFormDefault != null" class="template-note mt5"><el-text type="info" size="small">根据预算金额与是否集采由系统自动选择</el-text></div> --> <!-- <div v-if="schoolUnifiedPurchaseFormDefault != null" class="template-note mt5"><el-text type="info" size="small">根据预算金额与是否集采由系统自动选择</el-text></div> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8" class="mb12" v-if="isDeptPurchase || isFlowEmbed"> <el-col :span="8" class="mb12" v-if="isDeptPurchase || isFlowEmbed">
<el-form-item label="采购方式" prop="purchaseType" :required="!isDeptPurchase"> <el-form-item label="采购方式" prop="purchaseType" :required="!isDeptPurchase">
<el-select v-model="dataForm.purchaseType" placeholder="请选择采购方式" clearable :disabled="(isFlowEmbed && isPurchaseCenter) ? false : (isAutoSelectPurchaseTypeUnion || flowFieldDisabled('purchaseType'))" style="width: 100%"> <el-select v-model="dataForm.purchaseType" placeholder="请选择采购方式" clearable :disabled="(isFlowEmbed && isPurchaseCenter) ? false : (isAutoSelectPurchaseTypeUnion || flowFieldDisabled('purchaseType'))" style="width: 100%">
<el-option v-for="item in purchaseTypeUnionList" :key="item.value" :label="item.label" :value="item.value" /> <el-option v-for="item in purchaseTypeUnionList" :key="item.value" :label="item.label" :value="item.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
@@ -372,8 +372,7 @@
</li> </li>
<li> <li>
<strong>部门自行采购 - 自动网上商城</strong> <strong>部门自行采购 - 自动网上商城</strong>
部门自行采购且为服务类特殊品目满足服务类且为商城/项目服务 部门自行采购且为服务类特殊品目系统会自动将采购方式推荐为网上商城服务同时要求上传相应模板文件
5 预算金额 &lt; 40 {{ BUDGET_PUBLIC_SELECT_THRESHOLD }} 系统会自动将采购方式推荐为网上商城同时要求上传相应模板文件
</li> </li>
<li> <li>
<strong>学校统一采购 - 自动邀请/公开比选模板</strong> <strong>学校统一采购 - 自动邀请/公开比选模板</strong>
@@ -388,7 +387,7 @@
</li> </li>
<li> <li>
<strong>政府采购意向表</strong> <strong>政府采购意向表</strong>
当预算金额 100 {{ BUDGET_GOV_PURCHASE_THRESHOLD }} 且为学校统一采购时需要填写政府采购意向表并上传对应模板文件 当预算金额 100 {{ BUDGET_GOV_PURCHASE_THRESHOLD }} 需要填写政府采购意向表并上传对应模板文件
</li> </li>
<li> <li>
<strong>委托采购中心采购</strong> <strong>委托采购中心采购</strong>
@@ -834,6 +833,11 @@ const isSpecialServiceCategory = computed(() => {
return Number(category.isMallService) === 1 || Number(category.isProjectService) === 1; return Number(category.isMallService) === 1 || Number(category.isProjectService) === 1;
}); });
// 部门自行采购 & 采购途径=自行采购 & 特殊服务类目 → 采购方式固定网上商城
const isDeptSelfMallLocked = computed(() => {
return isDeptPurchase.value && !isEntrustCenterChannel.value && isSpecialServiceCategory.value;
});
// 委托采购中心方式自动判断: // 委托采购中心方式自动判断:
// - 服务类:若末级节点 isMallService=0 且 isMallProject=0则选“其他方式”否则选“服务类网上商城” // - 服务类:若末级节点 isMallService=0 且 isMallProject=0则选“其他方式”否则选“服务类网上商城”
// - 非服务类:默认选“其他方式” // - 非服务类:默认选“其他方式”
@@ -950,7 +954,17 @@ watch(
return; return;
} }
// 部门自行采购 & 采购途径为“自行采购”:自动设置网上商城 // 部门自行采购 & 采购途径为“自行采购” & 特殊服务类目:固定网上商城(无论金额区间)
if (isDeptSelfMallLocked.value) {
const onlineMallOption = purchaseTypeDeptList.value.find(item => item.value === DEPT_PURCHASE_TYPE.ONLINE_MALL);
if (onlineMallOption && dataForm.purchaseType !== onlineMallOption.value) {
dataForm.purchaseType = onlineMallOption.value;
}
// 已锁定网上商城,不再走后续自动推荐逻辑
return;
}
// 其他部门自行采购 & 采购途径为“自行采购”:在金额区间内自动推荐网上商城
if (isAutoSelectPurchaseType.value && isDeptPurchase.value && !isEntrustCenterChannel.value) { if (isAutoSelectPurchaseType.value && isDeptPurchase.value && !isEntrustCenterChannel.value) {
const onlineMallOption = purchaseTypeDeptList.value.find(item => item.value === DEPT_PURCHASE_TYPE.ONLINE_MALL); const onlineMallOption = purchaseTypeDeptList.value.find(item => item.value === DEPT_PURCHASE_TYPE.ONLINE_MALL);
if (onlineMallOption && dataForm.purchaseType !== onlineMallOption.value) { if (onlineMallOption && dataForm.purchaseType !== onlineMallOption.value) {