修改履约验收

This commit is contained in:
吴红兵
2026-03-15 11:56:08 +08:00
parent 7497986573
commit b273c44104

View File

@@ -35,16 +35,12 @@
</el-form-item> </el-form-item>
<el-form-item label="是否集采" prop="isCentralized"> <el-form-item label="是否集采" prop="isCentralized">
<el-select v-model="state.queryForm.isCentralized" placeholder="请选择是否集采" clearable style="width: 200px"> <el-select v-model="state.queryForm.isCentralized" placeholder="请选择是否集采" clearable style="width: 200px">
<el-option label="否" value="0" /> <el-option v-for="item in dictData.isCentralizedList" :key="item.value" :label="item.label" :value="item.value" />
<el-option label="是" value="1" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否特殊" prop="isSpecial"> <el-form-item label="是否特殊" prop="isSpecial">
<el-select v-model="state.queryForm.isSpecial" placeholder="请选择是否特殊" clearable style="width: 200px"> <el-select v-model="state.queryForm.isSpecial" placeholder="请选择是否特殊" clearable style="width: 200px">
<el-option label="否" value="0" /> <el-option v-for="item in dictData.isSpecialList" :key="item.value" :label="item.label" :value="item.value" />
<el-option label="紧急" value="1" />
<el-option label="单一" value="2" />
<el-option label="进口" value="3" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="采购形式" prop="purchaseMode"> <el-form-item label="采购形式" prop="purchaseMode">
@@ -149,12 +145,25 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="projectName" label="采购项目名称" min-width="200" show-overflow-tooltip> <el-table-column prop="projectName" label="项目名称" min-width="200" show-overflow-tooltip>
<template #header> <template #header>
<el-icon> <el-icon>
<Document /> <Document />
</el-icon> </el-icon>
<span style="margin-left: 4px">采购项目名称</span> <span style="margin-left: 4px">项目名称</span>
</template>
<template #default="scope">
<div class="project-name-cell">
<!-- 特殊情况标记 -->
<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>
</el-tooltip>
<!-- 集采标记 -->
<el-tooltip v-if="scope.row.isCentralized && String(scope.row.isCentralized) !== '0'" content="政府集中采购" placement="top">
<span class="centralized-badge"></span>
</el-tooltip>
<span class="project-name-text">{{ scope.row.projectName }}</span>
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="applyDate" label="填报日期" width="120" align="center" show-overflow-tooltip> <el-table-column prop="applyDate" label="填报日期" width="120" align="center" show-overflow-tooltip>
@@ -205,34 +214,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="isSpecial" label="是否特殊" width="80" align="center">
<template #header>
<el-icon>
<Warning />
</el-icon>
<span style="margin-left: 4px">特殊</span>
</template>
<template #default="scope">
<el-tag v-if="String(scope.row.isSpecial) === '1'" type="warning">紧急</el-tag>
<el-tag v-else-if="String(scope.row.isSpecial) === '2'" type="danger">单一</el-tag>
<el-tag v-else-if="String(scope.row.isSpecial) === '3'" type="info">进口</el-tag>
<el-tag v-else-if="String(scope.row.isSpecial) === '0'" type="info"></el-tag>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column prop="isCentralized" label="集采" width="80" align="center">
<template #header>
<el-icon>
<CircleCheck />
</el-icon>
<span style="margin-left: 4px">集采</span>
</template>
<template #default="scope">
<el-tag v-if="String(scope.row.isCentralized) === '1'" type="success"></el-tag>
<el-tag v-else-if="String(scope.row.isCentralized) === '0'" type="info"></el-tag>
<span v-else>-</span>
</template>
</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>
@@ -841,6 +823,26 @@ const getSupplementTooltip = (row: any) => {
return '未补充材料,点击查看'; return '未补充材料,点击查看';
}; };
/** 获取特殊情况标记文字 */
const getSpecialBadgeText = (isSpecial: string): string => {
const map: Record<string, string> = {
'1': '紧',
'2': '单',
'3': '进',
};
return map[String(isSpecial)] || '';
};
/** 获取特殊情况完整提示文字 */
const getSpecialTooltip = (isSpecial: string): string => {
const map: Record<string, string> = {
'1': '紧急采购',
'2': '单一来源采购',
'3': '进口产品采购',
};
return map[String(isSpecial)] || '';
};
const handleShowSupplement = (row: any) => { const handleShowSupplement = (row: any) => {
const id = row?.id ?? row?.purchaseId; const id = row?.id ?? row?.purchaseId;
if (!id) { if (!id) {
@@ -1497,4 +1499,64 @@ onMounted(() => {
color: #c75b5b; color: #c75b5b;
} }
} }
/* 项目名称单元格样式 */
.project-name-cell {
display: flex;
align-items: center;
gap: 6px;
.project-name-text {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
/* 特殊情况圆形标记 */
.special-badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
border-radius: 50%;
font-size: 12px;
font-weight: 600;
color: #fff;
flex-shrink: 0;
cursor: default;
/* 紧急 - 橙色 */
&.special-1 {
background-color: #f59e0b;
}
/* 单一 - 红色 */
&.special-2 {
background-color: #ef4444;
}
/* 进口 - 蓝色 */
&.special-3 {
background-color: #3b82f6;
}
}
/* 集采圆形标记 */
.centralized-badge {
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
border-radius: 50%;
font-size: 12px;
font-weight: 600;
color: #fff;
background-color: #10b981;
flex-shrink: 0;
cursor: default;
}
</style> </style>