| | |
| | | getBidListByProject, createBid, withdrawBid, |
| | | getQuoteList, createQuote, updateQuote, |
| | | createBidOpen, getBidOpen, |
| | | getEvaluationList, createBidEvaluation, calculateRanking, |
| | | createAward, getAward, getAwardByProject, approveAward, generatePurchaseOrder, |
| | | getEvaluationList, createBidEvaluation, updateBidEvaluation, calculateRanking, |
| | | createAward, deleteAward, getAward, getAwardByProject, approveAward, generatePurchaseOrder, |
| | | } from '#/api/srm/tender'; |
| | | import { getSupplierSimpleList } from '#/api/srm/supplier'; |
| | | import { getItemSimpleList } from '#/api/mdm/item'; |
| | |
| | | try { evaluationList.value = await getEvaluationList(projectId); } finally { evalLoading.value = false; } |
| | | } |
| | | async function handleCreateEvaluation() { |
| | | await createBidEvaluation(evalForm.value); |
| | | if (evalForm.value.id) { |
| | | await updateBidEvaluation(evalForm.value); |
| | | } else { |
| | | await createBidEvaluation(evalForm.value); |
| | | } |
| | | evalFormVisible.value = false; |
| | | loadEvaluations(); |
| | | loadProject(); |
| | |
| | | loadAward(); |
| | | loadProject(); |
| | | } |
| | | async function handleDeleteAward() { |
| | | if (!award.value?.id) return; |
| | | await deleteAward(award.value.id); |
| | | message.success('定标已删除'); |
| | | award.value = undefined; |
| | | } |
| | | |
| | | async function handleGeneratePurchaseOrder() { |
| | | if (!award.value?.id) return; |
| | | await generatePurchaseOrder(award.value.id); |
| | |
| | | </template> |
| | | <template v-else> |
| | | <div class="text-center py-8"> |
| | | <a-result status="info" title="尚未开标" sub-title="执行开标后项目进入投标阶段,供应商可正式投标"> |
| | | <template #extra> |
| | | <a-button type="primary" @click="handleCreateBidOpen"> |
| | | <template #icon><IconifyIcon icon="ant-design:thunderbolt-outlined" /></template> |
| | | 执行开标 |
| | | </a-button> |
| | | </template> |
| | | </a-result> |
| | | <a-result status="info" title="尚未开标" sub-title="执行开标后项目进入投标阶段,供应商可正式投标" /> |
| | | <br /> |
| | | <a-button type="primary" @click="handleCreateBidOpen"> |
| | | <template #icon><IconifyIcon icon="ant-design:thunderbolt-outlined" /></template> |
| | | 执行开标 |
| | | </a-button> |
| | | </div> |
| | | </template> |
| | | </a-tab-pane> |
| | |
| | | </a-col> |
| | | <a-col :span="8" class="flex items-center justify-center"> |
| | | <template v-if="award.awardStatus === AWARD_STATUS.ORDER_GENERATED"> |
| | | <a-result status="success" title="订单已生成" class="p-0"> |
| | | <template #sub-title> |
| | | <span class="text-sm">采购订单 ID: {{ award.purchaseOrderId }}</span> |
| | | </template> |
| | | </a-result> |
| | | <div class="text-center"> |
| | | <a-result status="success" title="订单已生成" class="p-0"> |
| | | <template #sub-title> |
| | | <span class="text-sm">采购订单 ID: {{ award.purchaseOrderId }}</span> |
| | | </template> |
| | | </a-result> |
| | | <a-popconfirm title="确定删除该定标记录?" ok-text="确定" cancel-text="取消" @confirm="handleDeleteAward"> |
| | | <a-button type="link" danger size="small" class="mt-2">删除定标</a-button> |
| | | </a-popconfirm> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="award.awardStatus === AWARD_STATUS.AWARDED"> |
| | | <div class="text-center"> |
| | |
| | | <template #icon><IconifyIcon icon="ant-design:shopping-cart-outlined" /></template> |
| | | 生成采购订单 |
| | | </a-button> |
| | | <a-popconfirm title="确定删除该定标记录?" ok-text="确定" cancel-text="取消" @confirm="handleDeleteAward"> |
| | | <a-button type="link" danger size="small" class="mt-2">删除定标</a-button> |
| | | </a-popconfirm> |
| | | </div> |
| | | </template> |
| | | <template v-else> |
| | |
| | | <template #icon><IconifyIcon icon="ant-design:check-outlined" /></template> |
| | | 审批通过 |
| | | </a-button> |
| | | <a-popconfirm title="确定删除该定标记录?" ok-text="确定" cancel-text="取消" @confirm="handleDeleteAward"> |
| | | <a-button type="link" danger size="small" class="mt-2">删除定标</a-button> |
| | | </a-popconfirm> |
| | | </div> |
| | | </template> |
| | | </a-col> |
| | |
| | | </template> |
| | | <template v-else> |
| | | <div class="text-center py-8"> |
| | | <a-result status="info" title="尚未定标" sub-title="基于评标排名选择中标供应商并创建定标"> |
| | | <template #extra> |
| | | <a-button type="primary" @click="awardForm = { tenderProjectId: projectId, supplierId: 0, bidId: 0, awardNo: '' }; awardFormVisible = true"> |
| | | <template #icon><IconifyIcon icon="ant-design:plus-outlined" /></template> |
| | | 创建定标 |
| | | </a-button> |
| | | </template> |
| | | </a-result> |
| | | <a-result status="info" title="尚未定标" sub-title="基于评标排名选择中标供应商并创建定标" /> |
| | | <br /> |
| | | <a-button type="primary" @click="awardForm = { tenderProjectId: projectId, supplierId: 0, bidId: 0, awardNo: '' }; awardFormVisible = true"> |
| | | <template #icon><IconifyIcon icon="ant-design:plus-outlined" /></template> |
| | | 创建定标 |
| | | </a-button> |
| | | </div> |
| | | </template> |
| | | </a-tab-pane> |