202 lines
10 KiB
Vue
202 lines
10 KiB
Vue
<template>
|
||
<div class="detail-popup">
|
||
<popup ref="popupRef" title="投标审查详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||
<el-card>
|
||
<el-descriptions title="基本信息" :column="3" border>
|
||
<el-descriptions-item label="标书编号" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.bid_document_no }}</el-descriptions-item>
|
||
<el-descriptions-item label="购买人员" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.buyer }}</el-descriptions-item>
|
||
<el-descriptions-item label="客户名称" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.custom_name }}</el-descriptions-item>
|
||
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.project_name }}</el-descriptions-item>
|
||
<el-descriptions-item label="招标公司名称" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.invite_tenders_company_name }}</el-descriptions-item>
|
||
<el-descriptions-item label="投标公司名称" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.bid_company_name }}</el-descriptions-item>
|
||
<el-descriptions-item label="购买标书金额" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.bid_document_amount }}</el-descriptions-item>
|
||
<el-descriptions-item label="招标项目资金来源" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.bidding_project_fund_source }}</el-descriptions-item>
|
||
<el-descriptions-item label="投标时间" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.bidding_time }}</el-descriptions-item>
|
||
<el-descriptions-item label="购买标书时间" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.buy_date }}</el-descriptions-item>
|
||
<el-descriptions-item label="招标方式" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.bid_type }}</el-descriptions-item>
|
||
<el-descriptions-item label="投标地址" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.bid_address }}</el-descriptions-item>
|
||
<el-descriptions-item label="是否需要保证金" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.is_margin }}</el-descriptions-item>
|
||
<el-descriptions-item label="保证金金额" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.margin_amount }}</el-descriptions-item>
|
||
<el-descriptions-item label="保证金退还时间" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.margin_amount_return_date }}</el-descriptions-item>
|
||
<el-descriptions-item label="开标日期" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.bid_opening_date }}</el-descriptions-item>
|
||
<el-descriptions-item label="招标项目概况" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.bid_project_overview }}</el-descriptions-item>
|
||
<el-descriptions-item label="项目简介" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.project_desc }}</el-descriptions-item>
|
||
|
||
</el-descriptions>
|
||
</el-card>
|
||
|
||
<el-card>
|
||
<el-descriptions title="技术审查" :column="1" border style="margin-top:30px">
|
||
<el-descriptions-item label="技术协议偏差" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.technical_protocol_deviation }}</el-descriptions-item>
|
||
<el-descriptions-item label="协议偏差处理方案" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.protocol_deviation_handling_plan }}</el-descriptions-item>
|
||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||
<annexLink :annex="formData.technical_review_annex"></annexLink>
|
||
</el-descriptions-item>
|
||
</el-descriptions>
|
||
</el-card>
|
||
|
||
<el-card>
|
||
<el-descriptions title="商务审查" :column="3" border style="margin-top:30px">
|
||
<el-descriptions-item label="总金额" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.total_amount }}</el-descriptions-item>
|
||
<el-descriptions-item label="税率" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.tax_rate }}</el-descriptions-item>
|
||
<el-descriptions-item label="付款方式" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.pay_type }}</el-descriptions-item>
|
||
<el-descriptions-item label="付款比例(%)" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.pay_rate }}</el-descriptions-item>
|
||
<el-descriptions-item label="商务合同偏差" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.business_contract_deviation }}</el-descriptions-item>
|
||
<el-descriptions-item label="偏差处理方案" label-align="left" align="left" label-class-name="my-label">{{
|
||
formData.business_contract_deviation_handling_plan }}</el-descriptions-item>
|
||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||
<annexLink :annex="formData.business_contract_deviation_annex"></annexLink>
|
||
</el-descriptions-item>
|
||
</el-descriptions>
|
||
</el-card>
|
||
<el-card>
|
||
<template #header>
|
||
<div class="card-header">
|
||
<span>产品明细</span>
|
||
</div>
|
||
</template>
|
||
<el-row>
|
||
<el-table :data="productList">
|
||
<el-table-column label="序号" type="index" width="55" />
|
||
<el-table-column label="产品名称" prop="product_name" show-overflow-tooltip />
|
||
<el-table-column label="型号规格" prop="product_specs" show-overflow-tooltip />
|
||
<el-table-column label="单位" prop="product_unit" show-overflow-tooltip />
|
||
<el-table-column label="数量" prop="num" show-overflow-tooltip />
|
||
<el-table-column label="成本单价" prop="cost_price" show-overflow-tooltip />
|
||
<el-table-column label="金额" prop="cost_amount" show-overflow-tooltip />
|
||
<el-table-column label="点数" prop="points" show-overflow-tooltip />
|
||
<el-table-column label="报价单价" prop="sale_price" show-overflow-tooltip />
|
||
<el-table-column label="报价金额" prop="sale_amount" show-overflow-tooltip />
|
||
</el-table>
|
||
</el-row>
|
||
</el-card>
|
||
|
||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||
:submitApi="apibidDocumentExaminationApprove" :id="formData?.id" @off="handleClose"></flowProcess>
|
||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||
<!-- import { apiBidDocumentExaminationDetailLists, apibidDocumentExaminationFlows, apibidDocumentExaminationApprove
|
||
} from '@/api/bid_document_examination_detail'
|
||
|
||
// 获取审批流程
|
||
|
||
const flows = ref([])
|
||
const getbidDocumentExaminationFlows = async () => {
|
||
if (formData?.approve_id) return
|
||
let res = await apibidDocumentExaminationFlows()
|
||
flows.value = res
|
||
} -->
|
||
|
||
</popup>
|
||
</div>
|
||
</template>
|
||
|
||
<script lang="ts" setup name="customdetail">
|
||
import Popup from '@/components/popup/index.vue'
|
||
import { apiBidDocumentExaminationDetailLists, apibidDocumentExaminationFlows, apibidDocumentExaminationApprove } from '@/api/bid_document_examination_detail'
|
||
import type { PropType } from 'vue'
|
||
|
||
defineProps({
|
||
dictData: {
|
||
type: Object as PropType<Record<string, any[]>>,
|
||
default: () => ({})
|
||
}
|
||
})
|
||
const emit = defineEmits(['success', 'close'])
|
||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||
const productList = ref([])
|
||
const total = ref('')
|
||
|
||
const pager1 = reactive({
|
||
page_size: 10,
|
||
page_no: 1,
|
||
bid_document_examination_id: ""
|
||
})
|
||
|
||
|
||
// 解决方案列表
|
||
const productLists = () => {
|
||
apiBidDocumentExaminationDetailLists(pager1).then((res) => {
|
||
productList.value = res.lists
|
||
total.value = res.count
|
||
})
|
||
}
|
||
|
||
// 表单数据
|
||
const formData = reactive({})
|
||
|
||
// 获取详情
|
||
const setFormData = async (data: Record<any, any>) => {
|
||
pager1.bid_document_examination_id = data.id
|
||
Object.assign(formData, data)
|
||
productLists()
|
||
getbidDocumentExaminationFlows()
|
||
}
|
||
|
||
|
||
|
||
|
||
// 提交按钮
|
||
const handleSubmit = async () => {
|
||
popupRef.value?.close()
|
||
|
||
}
|
||
|
||
//打开弹窗
|
||
const open = () => {
|
||
popupRef.value?.open()
|
||
}
|
||
|
||
// 关闭回调
|
||
const handleClose = () => {
|
||
emit('close')
|
||
}
|
||
|
||
// 获取审批流程
|
||
const flows = ref([])
|
||
const getbidDocumentExaminationFlows = async () => {
|
||
if (formData?.approve_id) return
|
||
let res = await apibidDocumentExaminationFlows()
|
||
flows.value = res
|
||
}
|
||
|
||
defineExpose({
|
||
open,
|
||
setFormData,
|
||
})
|
||
</script>
|
||
<style lang="scss" scoped>
|
||
.tit {
|
||
font-size: 1.2em;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
:deep(.my-label) {
|
||
width: 150px;
|
||
}
|
||
</style>
|