shenpi
This commit is contained in:
parent
e35c1d64d3
commit
1712af2535
@ -24,3 +24,12 @@ export function apiBidDocumentExaminationDetailDelete(params: any) {
|
||||
export function apiBidDocumentExaminationDetailDetail(params: any) {
|
||||
return request.get({ url: '/bid.bid_document_examination_detail/detail', params })
|
||||
}
|
||||
|
||||
// 标书审查-提交审批
|
||||
export function apibidDocumentExaminationApprove(params: any) {
|
||||
return request.post({ url: '/bid.bid_document_examination/approve', params })
|
||||
}
|
||||
// 标书审查-审批详情
|
||||
export function apibidDocumentExaminationFlows() {
|
||||
return request.get({ url: '/bid.bid_document_examination/flows' })
|
||||
}
|
||||
|
299
src/api/flowSet.ts
Normal file
299
src/api/flowSet.ts
Normal file
@ -0,0 +1,299 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 标书审查-提交审批
|
||||
export function apibidDocumentExaminationApprove(params: any) {
|
||||
return request.post({ url: '/bid.bid_document_examination/approve', params })
|
||||
}
|
||||
// 标书审查-审批详情
|
||||
export function apibidDocumentExaminationFlows() {
|
||||
return request.get({ url: '/bid.bid_document_examination/flows' })
|
||||
}
|
||||
|
||||
// 投标决策-提交审批
|
||||
export function apibid_bidding_decisionApprove(params: any) {
|
||||
return request.post({ url: '/bid.bid_bidding_decision/approve', params })
|
||||
}
|
||||
// 投标决策-审批详情
|
||||
export function apibid_bidding_decisionFlows() {
|
||||
return request.get({ url: '/bid.bid_bidding_decision/flows' })
|
||||
}
|
||||
|
||||
// 购买标书-提交审批
|
||||
export function apibid_buy_bidding_documentApprove(params: any) {
|
||||
return request.post({ url: '/bid.bid_buy_bidding_document/approve', params })
|
||||
}
|
||||
// 购买标书-审批详情
|
||||
export function apibid_buy_bidding_documentFlows() {
|
||||
return request.get({ url: '/bid.bid_buy_bidding_document/flows' })
|
||||
}
|
||||
// 项目合同-提交审批
|
||||
export function apicontractApprove(params: any) {
|
||||
return request.post({ url: '/contract.contract/approve', params })
|
||||
}
|
||||
// 项目合同-审批详情
|
||||
export function apicontractFlows() {
|
||||
return request.get({ url: '/contract.contract/flows' })
|
||||
}
|
||||
|
||||
// 合同洽商-提交审批
|
||||
export function apicontract_negotiationApprove(params: any) {
|
||||
return request.post({ url: '/contract.contract_negotiation/approve', params })
|
||||
}
|
||||
// 合同洽商-审批详情
|
||||
export function apicontract_negotiationFlows() {
|
||||
return request.get({ url: '/contract.contract_negotiation/flows' })
|
||||
}
|
||||
|
||||
// 采购合同-提交审批
|
||||
export function apiprocurement_contractApprove(params: any) {
|
||||
return request.post({ url: '/contract.procurement_contract/approve', params })
|
||||
}
|
||||
// 采购合同-审批详情
|
||||
export function apiprocurement_contractFlows() {
|
||||
return request.get({ url: '/contract.procurement_contract/flows' })
|
||||
}
|
||||
|
||||
|
||||
// 分包合同-提交审批
|
||||
export function apisubcontracting_contractApprove(params: any) {
|
||||
return request.post({ url: '/contract.subcontracting_contract/approve', params })
|
||||
}
|
||||
// 分包合同-审批详情
|
||||
export function apisubcontracting_contractFlows() {
|
||||
return request.get({ url: '/contract.subcontracting_contract/flows' })
|
||||
}
|
||||
|
||||
// 分包洽商-提交审批
|
||||
export function apisubcontracting_contract_negotiationApprove(params: any) {
|
||||
return request.post({ url: '/contract.subcontracting_contract_negotiation/approve', params })
|
||||
}
|
||||
// 分包洽商-审批详情
|
||||
export function apisubcontracting_contract_negotiationFlows() {
|
||||
return request.get({ url: '/contract.subcontracting_contract_negotiation/flows' })
|
||||
}
|
||||
|
||||
// 开票申请-提交审批
|
||||
export function apiInvoicingRequestsApprove(params: any) {
|
||||
return request.post({ url: '/finance.finance_invoice_apply/approve', params })
|
||||
}
|
||||
// 开票申请-审批详情
|
||||
export function apiInvoicingRequestsFlows() {
|
||||
return request.get({ url: '/finance.finance_invoice_apply/flows' })
|
||||
}
|
||||
|
||||
// 回款计划-提交审批
|
||||
export function apifinance_returned_moneyApprove(params: any) {
|
||||
return request.post({ url: '/finance.finance_returned_money/approve', params })
|
||||
}
|
||||
// 回款计划-审批详情
|
||||
export function apifinance_returned_moneyFlows() {
|
||||
return request.get({ url: '/finance.finance_returned_money/flows' })
|
||||
}
|
||||
|
||||
// 回款记录-提交审批
|
||||
export function apifinance_returned_recordApprove(params: any) {
|
||||
return request.post({ url: '/finance.finance_returned_record/approve', params })
|
||||
}
|
||||
// 回款记录-审批详情
|
||||
export function apifinance_returned_recordFlows() {
|
||||
return request.get({ url: '/finance.finance_returned_record/flows' })
|
||||
}
|
||||
// 退款申请-提交审批
|
||||
export function apifinance_refund_applyApprove(params: any) {
|
||||
return request.post({ url: '/finance.finance_refund_apply/approve', params })
|
||||
}
|
||||
// 退款申请-审批详情
|
||||
export function apifinance_refund_applydFlows() {
|
||||
return request.get({ url: '/finance.finance_refund_apply/flows' })
|
||||
}
|
||||
|
||||
// 收票记录-提交审批
|
||||
export function apifinance_receipt_recordApprove(params: any) {
|
||||
return request.post({ url: '/finance.finance_receipt_record/approve', params })
|
||||
}
|
||||
// 收票记录-审批详情
|
||||
export function apifinance_receipt_recordFlows() {
|
||||
return request.get({ url: '/finance.finance_receipt_record/flows' })
|
||||
}
|
||||
// 付款计划-提交审批
|
||||
export function apifinance_payment_planApprove(params: any) {
|
||||
return request.post({ url: '/finance.finance_payment_plan/approve', params })
|
||||
}
|
||||
// 付款计划-审批详情
|
||||
export function apifinance_payment_planFlows() {
|
||||
return request.get({ url: '/finance.finance_payment_plan/flows' })
|
||||
}
|
||||
|
||||
// 付款申请-提交审批
|
||||
export function apifinance_payment_applyApprove(params: any) {
|
||||
return request.post({ url: '/finance.finance_payment_apply/approve', params })
|
||||
}
|
||||
// 付款申请-审批详情
|
||||
export function apifinance_payment_applyFlows() {
|
||||
return request.get({ url: '/finance.finance_payment_apply/flows' })
|
||||
}
|
||||
|
||||
// 退款记录-提交审批
|
||||
export function apifinance_refund_recordApprove(params: any) {
|
||||
return request.post({ url: '/finance.finance_refund_record/approve', params })
|
||||
}
|
||||
// 退款记录-审批详情
|
||||
export function apifinance_refund_recordFlows() {
|
||||
return request.get({ url: '/finance.finance_refund_record/flows' })
|
||||
}
|
||||
// 保证金-提交审批
|
||||
export function apibid_security_applyApprove(params: any) {
|
||||
return request.post({ url: '/bid.bid_security_apply/approve', params })
|
||||
}
|
||||
// 保证金-审批详情
|
||||
export function apibid_security_applyFlows() {
|
||||
return request.get({ url: '/bid.bid_security_apply/flows' })
|
||||
}
|
||||
// 推投标保证金-提交审批
|
||||
export function apibid_security_refundApprove(params: any) {
|
||||
return request.post({ url: '/bid.bid_security_refund/approve', params })
|
||||
}
|
||||
// 推投标保证金-审批详情
|
||||
export function apbid_security_refundFlows() {
|
||||
return request.get({ url: '/bid.bid_security_refund/flows' })
|
||||
}
|
||||
// 项目结算-提交审批
|
||||
export function apiproject_settlementApprove(params: any) {
|
||||
return request.post({ url: '/project.project_settlement/approve', params })
|
||||
}
|
||||
// 项目结算-审批详情
|
||||
export function apiproject_settlementFlows() {
|
||||
return request.get({ url: '/project.project_settlement/flows' })
|
||||
}
|
||||
|
||||
// 分包结算-提交审批
|
||||
export function apiproject_subcontract_settlementApprove(params: any) {
|
||||
return request.post({ url: '/project.project_subcontract_settlement/approve', params })
|
||||
}
|
||||
// 分包结算-审批详情
|
||||
export function apiproject_subcontract_settlementFlows() {
|
||||
return request.get({ url: '/project.project_subcontract_settlement/flows' })
|
||||
}
|
||||
|
||||
|
||||
// 总预算-提交审批
|
||||
export function apiproject_total_budgetApprove(params: any) {
|
||||
return request.post({ url: '/project.project_total_budget/approve', params })
|
||||
}
|
||||
// 总预算-审批详情
|
||||
export function apiproject_total_budgetFlows() {
|
||||
return request.get({ url: '/project.project_total_budget/flows' })
|
||||
}
|
||||
|
||||
// 材料预算-提交审批
|
||||
export function apiproject_material_budgetApprove(params: any) {
|
||||
return request.post({ url: '/project.project_material_budget/approve', params })
|
||||
}
|
||||
// 材料预算-审批详情
|
||||
export function apiproject_material_budgetFlows() {
|
||||
return request.get({ url: '/project.project_material_budget/flows' })
|
||||
}
|
||||
|
||||
// 材料预算明细-提交审批
|
||||
export function apiproject_material_budget_detailApprove(params: any) {
|
||||
return request.post({ url: '/project.project_material_budget_detail/approve', params })
|
||||
}
|
||||
// 材料预算明细-审批详情
|
||||
export function apiproject_material_budget_detailFlows() {
|
||||
return request.get({ url: '/project.project_material_budget_detail/flows' })
|
||||
}
|
||||
|
||||
// 分包预算-提交审批
|
||||
export function apiproject_subpackage_budgetApprove(params: any) {
|
||||
return request.post({ url: '/project.project_subpackage_budget/approve', params })
|
||||
}
|
||||
// 分包预算-审批详情
|
||||
export function apiproject_subpackage_budgetFlows() {
|
||||
return request.get({ url: '/project.project_subpackage_budget/flows' })
|
||||
}
|
||||
|
||||
// 分包预算明细-提交审批
|
||||
export function apiproject_subpackage_budget_detailApprove(params: any) {
|
||||
return request.post({ url: '/project.project_subpackage_budget_detail/approve', params })
|
||||
}
|
||||
// 分包预算明细-审批详情
|
||||
export function approject_subpackage_budget_detailFlows() {
|
||||
return request.get({ url: '/project.project_subpackage_budget_detail/flows' })
|
||||
}
|
||||
|
||||
// 人工预算-提交审批
|
||||
export function apiproject_labor_budgetApprove(params: any) {
|
||||
return request.post({ url: '/project.project_labor_budget/approve', params })
|
||||
}
|
||||
// 人工预算-审批详情
|
||||
export function apiproject_labor_budgetFlows() {
|
||||
return request.get({ url: '/project.project_labor_budget/flows' })
|
||||
}
|
||||
// 机具预算-提交审批
|
||||
export function apiproject_equipment_budgetApprove(params: any) {
|
||||
return request.post({ url: '/project.project_equipment_budget/approve', params })
|
||||
}
|
||||
// 机具预算-审批详情
|
||||
export function apiproject_equipment_budgetFlows() {
|
||||
return request.get({ url: '/project.project_equipment_budget/flows' })
|
||||
}
|
||||
// 费用预算-提交审批
|
||||
export function apiproject_cost_budgetApprove(params: any) {
|
||||
return request.post({ url: '/project.project_cost_budget/approve', params })
|
||||
}
|
||||
// 费用预算-审批详情
|
||||
export function apiproject_cost_budgetFlows() {
|
||||
return request.get({ url: '/project.project_cost_budget/flows' })
|
||||
}
|
||||
|
||||
// 出差申请-提交审批
|
||||
export function apiproject_trip_applyApprove(params: any) {
|
||||
return request.post({ url: '/project.project_trip_apply/approve', params })
|
||||
}
|
||||
// 出差申请-审批详情
|
||||
export function apiproject_trip_applyFlows() {
|
||||
return request.get({ url: '/project.project_trip_apply/flows' })
|
||||
}
|
||||
|
||||
// 借款申请-提交审批
|
||||
export function apiproject_loan_applyApprove(params: any) {
|
||||
return request.post({ url: '/project.project_loan_apply/approve', params })
|
||||
}
|
||||
// 借款申请-审批详情
|
||||
export function apiproject_loan_applyFlows() {
|
||||
return request.get({ url: '/project.project_loan_apply/flows' })
|
||||
}
|
||||
// 成本调整-提交审批
|
||||
export function apiproject_cost_adjustmentApprove(params: any) {
|
||||
return request.post({ url: '/project.project_cost_adjustment/approve', params })
|
||||
}
|
||||
// 成本调整-审批详情
|
||||
export function apiproject_cost_adjustmentFlows() {
|
||||
return request.get({ url: '/project.project_cost_adjustment/flows' })
|
||||
}
|
||||
|
||||
// 差旅报销-提交审批
|
||||
export function apiproject_travel_reimbursementApprove(params: any) {
|
||||
return request.post({ url: '/project.project_travel_reimbursement/approve', params })
|
||||
}
|
||||
// 差旅报销-审批详情
|
||||
export function apiproject_travel_reimbursementFlows() {
|
||||
return request.get({ url: '/project.project_travel_reimbursement/flows' })
|
||||
}
|
||||
// 差旅报销-提交审批
|
||||
export function apiproject_expense_reimbursementApprove(params: any) {
|
||||
return request.post({ url: '/project.project_expense_reimbursement/approve', params })
|
||||
}
|
||||
// 差旅报销-审批详情
|
||||
export function apiproject_expense_reimbursementFlows() {
|
||||
return request.get({ url: '/project.project_expense_reimbursement/flows' })
|
||||
}
|
||||
|
||||
// 采购申请-提交审批
|
||||
export function apimaterial_purchase_requestApprove(params: any) {
|
||||
return request.post({ url: '/material.material_purchase_request/approve', params })
|
||||
}
|
||||
// 采购申请-审批详情
|
||||
export function apimaterial_purchase_requestFlows() {
|
||||
return request.get({ url: '/material.material_purchase_request/flows' })
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="edit-popup">
|
||||
<el-card>
|
||||
<el-descriptions :column="3" title="审21批详情" border>
|
||||
<el-descriptions :column="3" title="审批详情" border>
|
||||
<el-descriptions-item label="审批主题" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.title }}
|
||||
</el-descriptions-item>
|
||||
@ -29,14 +29,17 @@
|
||||
</el-steps>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="审批记录" label-align="left" align="left">
|
||||
<div class="steps-cls">
|
||||
<el-steps direction="vertical" :active="formData.record.length" :align-center="true" :space="50"
|
||||
style="margin-top: 20px">
|
||||
<el-step :title="item.check_time + item.title" v-for="(item, index) in formData.record"
|
||||
:key="index" />
|
||||
</el-steps>
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
|
||||
<div v-if="formData?.current_check_user_ids?.includes(String(userInfo.id))">
|
||||
|
||||
<div v-if="formData?.current_check_user_ids?.includes(String(userInfo.id)) && formData.check_status != 3">
|
||||
<el-descriptions-item label="操作" label-align="left" align="left">
|
||||
<el-form-item label="意见">
|
||||
<el-input v-model="remark" clearable placeholder="请输入" type="textarea" />
|
||||
@ -48,18 +51,13 @@
|
||||
<el-button @click="checkFn(2)">
|
||||
拒绝
|
||||
</el-button>
|
||||
<el-button @click="revokeFn"
|
||||
v-if="(formData?.check_status == 0 && formData.create_user == userInfo.id) && (formData.check_status != 3)">
|
||||
撤销
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-descriptions-item>
|
||||
</div>
|
||||
<el-descriptions-item label="操作" label-align="left" align="left"
|
||||
v-if="formData?.check_status == 0 && formData.create_user == userInfo.id">
|
||||
<el-form-item label="意见">
|
||||
<el-input v-model="remark" clearable placeholder="请输入" type="textarea" />
|
||||
</el-form-item>
|
||||
<el-button @click="revokeFn">
|
||||
撤销
|
||||
</el-button>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
</div>
|
||||
@ -74,10 +72,11 @@ const userStore = useUserStore()
|
||||
const userInfo = computed(() => userStore.userInfo)
|
||||
|
||||
const props = defineProps({
|
||||
approve_id: Number
|
||||
approve_id: Number,
|
||||
})
|
||||
let activeStep = ref(0)
|
||||
const remark = ref('')
|
||||
const remark2 = ref('')
|
||||
|
||||
const emit = defineEmits(['off'])
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
@ -156,6 +155,7 @@ const checkFn = async (i: Number) => {
|
||||
}
|
||||
|
||||
const getStep = (item: Object, index: Number) => {
|
||||
|
||||
if (index == 0) { return formData.create_user_name + '创建' }
|
||||
else { return item?.flow_step_text }
|
||||
}
|
||||
@ -165,7 +165,6 @@ flowapproveDetail({ id: props.approve_id }).then(res => {
|
||||
setFormData(res)
|
||||
})
|
||||
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
@ -177,4 +176,9 @@ defineExpose({
|
||||
.el-step.is-simple .el-step__icon {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.steps-cls {
|
||||
max-height: 200px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
</style>
|
@ -10,9 +10,9 @@
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="审批流程" prop="flow_cate">
|
||||
<el-select class="flex-1" v-model="formData.flow_path" clearable @change="getDetail"
|
||||
<el-select class="flex-1" v-model="formData.flow_id" clearable @change="getDetail"
|
||||
placeholder="请选择审批类型">
|
||||
<el-option v-for="(item, index) in flowTypeList" :key="index" :label="item.name"
|
||||
<el-option v-for="(item, index) in flows" :key="index" :label="item.name"
|
||||
:value="parseInt(item.id)" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -37,7 +37,7 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-button @click="submit" type="primary" :disabled="!formData.flow_path">
|
||||
<el-button @click="submit" type="primary" :disabled="!formData.flow_id">
|
||||
提交
|
||||
</el-button>
|
||||
</el-row>
|
||||
@ -52,45 +52,48 @@ import { useRoute } from "vue-router"
|
||||
|
||||
const route = useRoute()
|
||||
const props = defineProps({
|
||||
id: Number
|
||||
id: Number,
|
||||
flows: Object,
|
||||
submitApi: Object,
|
||||
})
|
||||
|
||||
const emit = defineEmits(['off'])
|
||||
|
||||
|
||||
const formData = reactive({
|
||||
flow_path: "",
|
||||
path: route.path
|
||||
flow_id: "",
|
||||
path: route.path,
|
||||
id: props.id
|
||||
})
|
||||
|
||||
|
||||
|
||||
// 审批流程
|
||||
const flowTypeList = ref([{
|
||||
"id": 1,
|
||||
"name": "fgfdgd",
|
||||
"flow_cate": "1212",
|
||||
"check_type": "固定审批流",
|
||||
"remark": "vcggfhfghfg",
|
||||
"status": "启用",
|
||||
"flow_type": "财务",
|
||||
"org_name": "海之农",
|
||||
"dept_name": "技术部,张伟自己的部门"
|
||||
}])
|
||||
// // 审批流程
|
||||
// const flowTypeList = ref([{
|
||||
// "id": 1,
|
||||
// "name": "fgfdgd",
|
||||
// "flow_cate": "1212",
|
||||
// "check_type": "固定审批流",
|
||||
// "remark": "vcggfhfghfg",
|
||||
// "status": "启用",
|
||||
// "flow_type": "财务",
|
||||
// "org_name": "海之农",
|
||||
// "dept_name": "技术部,张伟自己的部门"
|
||||
// }])
|
||||
|
||||
|
||||
const getFlowTypeList = async () => {
|
||||
// const getFlowTypeList = async () => {
|
||||
|
||||
// let res = await apiFlowLists({ id: 1 })
|
||||
// flowTypeList.value = res
|
||||
// // let res = await apiFlowLists({ id: 1 })
|
||||
// // flowTypeList.value = res
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
|
||||
// 获取流程详情
|
||||
const flowDetail = ref({})
|
||||
const getDetail = async () => {
|
||||
let res = await apiFlowDetail({ id: formData.flow_path })
|
||||
let res = await apiFlowDetail({ id: formData.flow_id })
|
||||
flowDetail.value = res
|
||||
}
|
||||
|
||||
@ -99,10 +102,12 @@ const getDescr = (item) => { return item.flow_step == 1 ? "当前部门负责人
|
||||
|
||||
// 提交审批
|
||||
const submit = async () => {
|
||||
// await apiFlowLists({
|
||||
await props.submitApi({
|
||||
...formData
|
||||
// id: props.id,
|
||||
// flow_id:
|
||||
// as: { ...formData }
|
||||
// })
|
||||
})
|
||||
emit('off')
|
||||
|
||||
|
||||
@ -113,5 +118,5 @@ const numberToChinese = (num) => {
|
||||
let chineseNum = ["零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"];
|
||||
return chineseNum[num];
|
||||
}
|
||||
getFlowTypeList()
|
||||
// getFlowTypeList()
|
||||
</script>
|
@ -92,7 +92,18 @@
|
||||
|
||||
|
||||
</el-descriptions>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiInvoicingRequestsApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiInvoicingRequestsApprove, apiInvoicingRequestsFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apisubcontracting_contract_negotiationFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
@ -104,7 +115,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apiInvoicingRequestsApprove, apiInvoicingRequestsFlows } from '@/api/flowSet.ts'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -116,11 +127,7 @@ const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
const formDataannex = reactive([])
|
||||
const datas = reactive({
|
||||
provinceOptions: [],
|
||||
cityOptions: [],
|
||||
areaOptions: [],
|
||||
});
|
||||
|
||||
|
||||
|
||||
// 表单数据
|
||||
@ -134,7 +141,6 @@ const formData = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
if (data.annex && data.annex.length > 0) {
|
||||
|
||||
const arry1 = data.annex.map((item: any, index: any) => {
|
||||
return {
|
||||
name: `文件${index + 1}`,
|
||||
@ -142,22 +148,9 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
};
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
}
|
||||
|
||||
// for (const key in formData) {
|
||||
// if (data[key] != null && data[key] != undefined) {
|
||||
// //@ts-ignore
|
||||
// formData[key] = data[key]
|
||||
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
Object.assign(formData, data)
|
||||
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -187,7 +180,13 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiInvoicingRequestsFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -4,59 +4,86 @@
|
||||
<template>
|
||||
<div class="detail-popup">
|
||||
<popup ref="popupRef" title="投标决策详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-card>
|
||||
<el-descriptions :column="3" border>
|
||||
<el-descriptions-item label="流程编号" label-align="left" align="left" label-class-name="my-label">{{ formData.code }}</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.project_code }}</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_estimation }}</el-descriptions-item>
|
||||
<el-descriptions-item label="流程编号" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.code }}</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.project_code }}</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_estimation }}</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_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.bidding_time }}</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_type }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="竞争对手" label-align="left" align="left" label-class-name="my-label">{{ formData.competitor }}</el-descriptions-item>
|
||||
<el-descriptions-item label="竞争对手" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.competitor }}</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.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.bid_opening_date }}</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.margin_amount_return_date }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="有无内部资源" label-align="left" align="left" label-class-name="my-label">{{ formData.is_internal_resources }}</el-descriptions-item>
|
||||
<el-descriptions-item label="有无内部资源" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.is_internal_resources }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="项目把握度" label-align="left" align="left" label-class-name="my-label">{{ formData.project_assurance }}</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_assurance }}</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-item label="项目简介" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.project_desc }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formDataannex.length > 0">
|
||||
<div v-for="(item, index) in formDataannex" style="margin-left: 5px;display: block;">
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri" target="_blank">{{ item.name }}</a>
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri"
|
||||
target="_blank">{{ item.name }}</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>暂无附件</div>
|
||||
</el-descriptions-item>
|
||||
|
||||
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apibid_bidding_decisionApprove" :id="formData?.id" @off="handleClose"></flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apibid_bidding_decisionApprove, apibid_bidding_decisionFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apibid_bidding_decisionFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
|
||||
import { apibid_bidding_decisionApprove, apibid_bidding_decisionFlows } from '@/api/flowSet.ts'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -65,35 +92,18 @@ defineProps({
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
const formDataannex = reactive([])
|
||||
const datas = reactive({
|
||||
provinceOptions: [],
|
||||
cityOptions: [],
|
||||
areaOptions: [],
|
||||
});
|
||||
|
||||
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
|
||||
|
||||
})
|
||||
|
||||
const formData = reactive({})
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
// for (const key in formData) {
|
||||
// if (data[key] != null && data[key] != undefined) {
|
||||
// //@ts-ignore
|
||||
// formData[key] = data[key]
|
||||
|
||||
// }
|
||||
|
||||
// }
|
||||
if (data.annex && data.annex.length > 0) {
|
||||
|
||||
const arry1 = data.annex.map((item: any, index: any) => {
|
||||
return {
|
||||
name: `文件${index + 1}`,
|
||||
@ -101,19 +111,9 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
};
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
}
|
||||
Object.assign(formData, data)
|
||||
console.log(formData, '2222222222')
|
||||
|
||||
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiCustomDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
|
||||
@ -125,7 +125,6 @@ const handleSubmit = async () => {
|
||||
|
||||
//打开弹窗
|
||||
const open = () => {
|
||||
console.log('1111111')
|
||||
popupRef.value?.open()
|
||||
}
|
||||
|
||||
@ -136,15 +135,17 @@ const handleClose = () => {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apibid_bidding_decisionFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
@ -139,30 +139,19 @@ const handleAdd = async () => {
|
||||
editRef.value?.open('add')
|
||||
}
|
||||
|
||||
// // 编辑
|
||||
// const handleEdit = async (data: any) => {
|
||||
// let res = await apiBidBiddingDecisionDetail({ id: data.id })
|
||||
// showEdit.value = true
|
||||
// await nextTick()
|
||||
// editRef.value?.open('edit')
|
||||
// editRef.value?.setFormData(res)
|
||||
// }
|
||||
|
||||
// // 删除
|
||||
// const handleDelete = async (id: number | any[]) => {
|
||||
// await feedback.confirm('确定要删除?')
|
||||
// await apiBidBiddingDecisionDelete({ id })
|
||||
// getLists()
|
||||
// }
|
||||
//详情
|
||||
const handledetail = async (data: any) => {
|
||||
let res = await apiBidBiddingDecisionDetail({ id: data.id })
|
||||
showDtail.value = true
|
||||
await nextTick()
|
||||
|
||||
detailRef.value?.open()
|
||||
detailRef.value?.setFormData(res)
|
||||
}
|
||||
getLists()
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
</script>
|
||||
|
||||
|
@ -4,6 +4,7 @@
|
||||
<template>
|
||||
<div class="detail-popup">
|
||||
<popup ref="popupRef" title="购买标书详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-card>
|
||||
<el-descriptions :column="3" border>
|
||||
<el-descriptions-item label="项目名称" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.project_name }}</el-descriptions-item>
|
||||
@ -46,9 +47,20 @@
|
||||
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-item label="保证金金额(元)" label-align="left" align="left" label-class-name="my-label"></el-descriptions-item> -->
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apibid_buy_bidding_documentApprove" :id="formData?.id" @off="handleClose"></flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apibid_bidding_decisionApprove, apibid_bidding_decisionFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apibid_bidding_decisionFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -60,6 +72,7 @@ import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import type { PropType } from 'vue'
|
||||
import { apibid_buy_bidding_documentApprove, apibid_buy_bidding_documentFlows } from '@/api/flowSet.ts'
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
@ -86,16 +99,7 @@ const formData = reactive({
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
// for (const key in formData) {
|
||||
// if (data[key] != null && data[key] != undefined) {
|
||||
// //@ts-ignore
|
||||
// formData[key] = data[key]
|
||||
|
||||
// }
|
||||
|
||||
// }
|
||||
if (data.annex && data.annex.length > 0) {
|
||||
|
||||
const arry1 = data.annex.map((item: any, index: any) => {
|
||||
return {
|
||||
name: `文件${index + 1}`,
|
||||
@ -106,8 +110,7 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
|
||||
}
|
||||
Object.assign(formData, data)
|
||||
console.log(formData, '2222222222')
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -127,7 +130,7 @@ const handleSubmit = async () => {
|
||||
|
||||
//打开弹窗
|
||||
const open = () => {
|
||||
console.log('1111111')
|
||||
|
||||
popupRef.value?.open()
|
||||
}
|
||||
|
||||
@ -136,13 +139,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apibid_buy_bidding_documentFlows()
|
||||
flows.value = res
|
||||
}
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
|
@ -167,6 +167,11 @@ const projectlist = async () => {
|
||||
projectList.value = res.lists
|
||||
|
||||
}
|
||||
import { useRoute } from "vue-router";
|
||||
const route = useRoute()
|
||||
if (route.query?.listId) {
|
||||
handledetail({ id: route.query.listId })
|
||||
}
|
||||
projectlist()
|
||||
getLists()
|
||||
</script>
|
||||
|
@ -4,6 +4,7 @@
|
||||
<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>
|
||||
@ -51,6 +52,9 @@
|
||||
<div v-else> 暂无附件</div>
|
||||
</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>
|
||||
@ -62,12 +66,14 @@
|
||||
style="margin-left: 5px;display: block;">
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
|
||||
target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div v-else> 暂无附件</div>
|
||||
</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>
|
||||
@ -89,15 +95,18 @@
|
||||
style="margin-left: 5px;display: block;">
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
|
||||
target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div v-else> 暂无附件</div>
|
||||
</el-descriptions-item>
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
<div class="tit" style="margin-top:30px;color:#000;font-size: 16px;">产品明细</div>
|
||||
</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" />
|
||||
@ -112,8 +121,22 @@
|
||||
<el-table-column label="报价金额" prop="sale_amount" show-overflow-tooltip />
|
||||
</el-table>
|
||||
</el-row>
|
||||
<flowProcess v-if="false" :id="formData?.id" @off="handleClose"></flowProcess>
|
||||
<flowDetail :approve_id="formData?.approve_id" @off="handleClose" v-else />
|
||||
</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>
|
||||
@ -121,9 +144,9 @@
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { apiBidDocumentExaminationDetailLists } from '@/api/bid_document_examination_detail'
|
||||
import { apiBidDocumentExaminationDetailLists, apibidDocumentExaminationFlows, apibidDocumentExaminationApprove } from '@/api/bid_document_examination_detail'
|
||||
import type { PropType } from 'vue'
|
||||
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
@ -147,31 +170,21 @@ const productLists = () => {
|
||||
apiBidDocumentExaminationDetailLists(pager1).then((res) => {
|
||||
productList.value = res.lists
|
||||
total.value = res.count
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
|
||||
|
||||
})
|
||||
|
||||
const formData = reactive({})
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
pager1.bid_document_examination_id = data.id
|
||||
Object.assign(formData, data)
|
||||
productLists()
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
const data = await apiCustomDetail({
|
||||
id: row.id
|
||||
})
|
||||
setFormData(data)
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 提交按钮
|
||||
@ -190,17 +203,17 @@ 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,
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
|
@ -522,9 +522,6 @@ const handleSubmit = async () => {
|
||||
}))
|
||||
formData.quotation_detail = data1
|
||||
}
|
||||
|
||||
|
||||
|
||||
await formRef.value?.validate()
|
||||
const data = { ...formData, }
|
||||
mode.value == 'edit'
|
||||
|
@ -62,7 +62,18 @@
|
||||
<el-descriptions-item label="开户名称" label-align="left" align="left" label-class-name="my-label">{{ formData.account_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label">{{ formData.account }}</el-descriptions-item>
|
||||
</el-descriptions> -->
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apibid_security_applyApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apibid_security_applyApprove, apibid_security_applyFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apibid_security_applyFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</popup>
|
||||
</div>
|
||||
@ -73,7 +84,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apibid_security_applyApprove, apibid_security_applyFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -102,9 +113,7 @@ const formData = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -132,12 +141,12 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apibid_security_applyFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
|
@ -143,7 +143,17 @@
|
||||
@size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
|
||||
</div>
|
||||
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apicontractApprove" :id="formData?.id" @off="handleClose"></flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apibid_bidding_decisionApprove, apibid_bidding_decisionFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apicontractFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
@ -155,12 +165,8 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { apiCustomerDemandSolutionLists } from '@/api/customer_demand_solution'
|
||||
import { apiProjectEstimateLists } from '@/api/project_estimate'
|
||||
import { apiCompetitorLists } from '@/api/competitor'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apireturnedLists } from "@/api/remittance.ts"
|
||||
|
||||
import { apicontractApprove, apicontractFlows } from '@/api/flowSet.ts'
|
||||
import type { TabsPaneContext } from 'element-plus'
|
||||
|
||||
|
||||
@ -241,6 +247,7 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
}
|
||||
// competitorLists()
|
||||
solutionLists()
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -268,14 +275,13 @@ const open = () => {
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apicontractFlows()
|
||||
flows.value = res
|
||||
}
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
|
@ -3,9 +3,8 @@
|
||||
<div class="detail-popup">
|
||||
<popup ref="popupRef" title="合同洽商详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="120px">
|
||||
<el-card>
|
||||
<el-descriptions :column="2" border>
|
||||
|
||||
|
||||
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_name
|
||||
}}</el-descriptions-item>
|
||||
@ -51,11 +50,13 @@
|
||||
formData.negotiation_type_text
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="成本金额(人工)" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
<el-descriptions-item label="成本金额(人工)" label-align="left" align="left" label-class-name="my-label">
|
||||
{{
|
||||
formData.labor_costs
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="成本金额(材料)" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
<el-descriptions-item label="成本金额(材料)" label-align="left" align="left" label-class-name="my-label">
|
||||
{{
|
||||
formData.material_costs
|
||||
|
||||
}}</el-descriptions-item>
|
||||
@ -64,7 +65,8 @@
|
||||
|
||||
}}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="洽商质保到期时间" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
<el-descriptions-item label="洽商质保到期时间" label-align="left" align="left" label-class-name="my-label">
|
||||
{{
|
||||
formData.warranty_expire_date
|
||||
|
||||
}}</el-descriptions-item>
|
||||
@ -115,7 +117,20 @@
|
||||
</div>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
</el-card>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apicontract_negotiationApprove" :id="formData?.id" @off="handleClose"></flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apibid_bidding_decisionApprove, apibid_bidding_decisionFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apicontract_negotiationFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
@ -127,7 +142,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apicontract_negotiationApprove, apicontract_negotiationFlows } from '@/api/flowSet.ts'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -147,18 +162,12 @@ const datas = reactive({
|
||||
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
|
||||
})
|
||||
|
||||
|
||||
const formData = reactive({})
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -177,7 +186,7 @@ const handleSubmit = async () => {
|
||||
|
||||
//打开弹窗
|
||||
const open = () => {
|
||||
console.log('1111111')
|
||||
|
||||
popupRef.value?.open()
|
||||
}
|
||||
|
||||
@ -186,8 +195,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apicontract_negotiationFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -146,7 +146,18 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apifinance_payment_applyApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apifinance_payment_applyApprove, apifinance_payment_applyFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_payment_applyFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</el-form>
|
||||
|
||||
@ -159,7 +170,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apifinance_payment_applyApprove, apifinance_payment_applyFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -182,6 +193,7 @@ const formData = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (formData: Record<string, any>) => {
|
||||
@ -208,13 +220,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_payment_applyFlows()
|
||||
flows.value = res
|
||||
}
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
|
@ -85,7 +85,18 @@
|
||||
|
||||
</el-row>
|
||||
</el-card>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apifinance_payment_planApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apifinance_payment_planApprove, apifinance_payment_planFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_payment_planFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
@ -99,6 +110,7 @@ import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import type { PropType } from 'vue'
|
||||
import { apifinance_payment_planApprove, apifinance_payment_planFlows } from '@/api/flowSet.ts'
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
@ -137,8 +149,7 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
}
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -166,14 +177,13 @@ const open = () => {
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_payment_planFlows()
|
||||
flows.value = res
|
||||
}
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
|
@ -101,7 +101,18 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apifinance_receipt_recordApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apifinance_receipt_recordApprove, apifinance_receipt_recordFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_receipt_recordFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
@ -113,7 +124,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apifinance_receipt_recordApprove, apifinance_receipt_recordFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -125,13 +136,6 @@ const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
|
||||
const datas = reactive({
|
||||
provinceOptions: [],
|
||||
cityOptions: [],
|
||||
areaOptions: [],
|
||||
});
|
||||
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({
|
||||
|
||||
@ -142,10 +146,7 @@ const formData = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
console.log(data, "data")
|
||||
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -173,7 +174,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_receipt_recordFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -114,6 +114,18 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apifinance_refund_recordApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apifinance_refund_recordApprove, apifinance_refund_recordFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_refund_recordFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
@ -124,7 +136,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apifinance_refund_recordApprove, apifinance_refund_recordFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -145,47 +157,12 @@ const datas = reactive({
|
||||
|
||||
// 表单数据
|
||||
const formData = reactive({}
|
||||
// {
|
||||
// "id": 0,
|
||||
// "supplier_id": 1,
|
||||
// "project_id": 1,
|
||||
// "contract_type": 1,
|
||||
// "contract_id": 2,
|
||||
// "refund_amount": "",
|
||||
// "refund_date": "2024-01-16",
|
||||
// "refund_type": 1,
|
||||
// "reason": "",
|
||||
// "remark": "",
|
||||
// "annex": [
|
||||
|
||||
// ],
|
||||
// "bank_account_id": 3,
|
||||
// "supplier_name": "某某供应商",
|
||||
// "supplier_code": "SC-20240108-564041",
|
||||
// "project_name": "测试工程test",
|
||||
// "project_code": "P-20240113-600036",
|
||||
// "contract_no": "CGHT-20240110-412306",
|
||||
// "contract_name": "11",
|
||||
// "contract_type_text": "采购合同",
|
||||
// "refund_type_text": "支票",
|
||||
// "bank_account_info": {
|
||||
// "account_sn": "BANK-20240116-881909",
|
||||
// "deposit_bank": "邮政",
|
||||
// "account_name": "龙马邮政支行",
|
||||
// "account": "26263515351565"
|
||||
// }
|
||||
// }
|
||||
)
|
||||
|
||||
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
console.log(formData, 'formdata')
|
||||
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -215,7 +192,13 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_refund_recordFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -53,8 +53,18 @@
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total"
|
||||
@size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
|
||||
</div>
|
||||
<flowDetail :approve_id="formData?.approve_id" />
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apimaterial_purchase_requestApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apimaterial_purchase_requestApprove, apimaterial_purchase_requestFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apimaterial_purchase_requestFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -64,7 +74,7 @@ import { materialrequestDetailLists } from '@/api/material_purchase_request_deta
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apimaterial_purchase_requestApprove, apimaterial_purchase_requestFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -130,9 +140,8 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
};
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
|
||||
}
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
|
||||
}
|
||||
@ -162,7 +171,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apimaterial_purchase_requestFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -183,4 +198,5 @@ defineExpose({
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}</style>
|
||||
}
|
||||
</style>
|
||||
|
@ -173,6 +173,19 @@
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiprocurement_contractApprove" :id="formData?.id" @off="handleClose"></flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apibid_bidding_decisionApprove, apibid_bidding_decisionFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiprocurement_contractFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
@ -189,7 +202,7 @@ import { apifinancereceiptLists } from '@/api/receiptrecord'
|
||||
import { paymentplanLists } from '@/api/paymentplan'
|
||||
import { paymentapplyLists } from '@/api/paymentrequest'
|
||||
import { apiFinancerefundLists } from '@/api/refundrecord'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apiprocurement_contractApprove, apiprocurement_contractFlows } from '@/api/flowSet'
|
||||
import type { TabsPaneContext } from 'element-plus'
|
||||
|
||||
const activeName = ref('demo-tabs-1')
|
||||
@ -387,6 +400,7 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
financereceiptLists()
|
||||
payapplyLists()
|
||||
financerefundLists()
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -415,7 +429,13 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiprocurement_contractFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card class="!border-none mb-4" shadow="never">
|
||||
<!-- <el-card class="!border-none mb-4" shadow="never">
|
||||
<el-form class="mb-[-16px]" :model="queryParams" inline>
|
||||
<el-form-item label="采购合同id" prop="procurement_contract_id">
|
||||
<el-input class="w-[280px]" v-model="queryParams.procurement_contract_id" clearable
|
||||
@ -17,7 +17,7 @@
|
||||
:page-size="pager.size" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
</el-card> -->
|
||||
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
|
||||
<!-- <el-button v-perms="['procurement_contract_detail/add']" type="primary" @click="handleAdd">
|
||||
<template #icon>
|
||||
|
@ -16,13 +16,25 @@
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_cost_adjustmentApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_cost_adjustmentApprove, apiproject_cost_adjustmentFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_cost_adjustmentFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { ref, reactive } from "vue"
|
||||
import { apiproject_cost_adjustmentApprove, apiproject_cost_adjustmentFlows } from '@/api/flowSet'
|
||||
const descriptionList = reactive([
|
||||
{
|
||||
lable: "项目名称",
|
||||
@ -61,6 +73,7 @@ const formData: any = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
@ -72,7 +85,13 @@ const open = () => {
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_cost_adjustmentFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
defineExpose({
|
||||
|
@ -44,13 +44,25 @@
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total"
|
||||
@size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
|
||||
</div>
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_cost_budgetApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_cost_budgetApprove, apiproject_cost_budgetFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_cost_budgetFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { apiProjectCostBudgetDetailLists } from '@/api/project_cost_budget_detail.ts'
|
||||
|
||||
import { apiproject_cost_budgetApprove, apiproject_cost_budgetFlows } from '@/api/flowSet'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
@ -122,7 +134,7 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
|
||||
|
||||
}
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -151,7 +163,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_cost_budgetFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -45,13 +45,25 @@
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total"
|
||||
@size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
|
||||
</div>
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_equipment_budgetApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_equipment_budgetApprove, apiproject_equipment_budgetFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_equipment_budgetFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { apiProjectEquipmentBudgetDetailLists } from '@/api/project_equipment_budget_detail'
|
||||
|
||||
import { apiproject_equipment_budgetApprove, apiproject_equipment_budgetFlows } from '@/api/flowSet'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
@ -120,11 +132,8 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
};
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -153,7 +162,13 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_equipment_budgetFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -10,13 +10,25 @@
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_expense_reimbursementApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_expense_reimbursementApprove, apiproject_expense_reimbursementFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_expense_reimbursementFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { ref, reactive } from "vue"
|
||||
import { apiproject_expense_reimbursementApprove, apiproject_expense_reimbursementFlows } from '@/api/flowSet'
|
||||
const descriptionList = reactive([
|
||||
{
|
||||
lable: "项目名称",
|
||||
@ -92,6 +104,7 @@ const formData: any = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
@ -104,7 +117,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_expense_reimbursementFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
|
@ -43,13 +43,26 @@
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total"
|
||||
@size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
|
||||
</div>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_labor_budgetApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_labor_budgetApprove, apiproject_labor_budgetFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_labor_budgetFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { apiProjectLaborBudgetDetailLists } from '@/api/project_labor_budget_detail'
|
||||
|
||||
import { apiproject_labor_budgetApprove, apiproject_labor_budgetFlows } from '@/api/flowSet'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
@ -118,11 +131,8 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
};
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -150,7 +160,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// / 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_labor_budgetFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -76,7 +76,6 @@ const baseData2 = reactive({
|
||||
]
|
||||
})
|
||||
|
||||
|
||||
const baseData3 = reactive({
|
||||
fetchFun: apiFinancerefundLists,
|
||||
delApi: apiFinancerefundDelete,
|
||||
|
@ -16,13 +16,25 @@
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_loan_applyApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_loan_applyApprove, apiproject_loan_applyFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_loan_applyFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { ref, reactive } from "vue"
|
||||
import { apiproject_loan_applyApprove, apiproject_loan_applyFlows } from '@/api/flowSet'
|
||||
const descriptionList = reactive([
|
||||
{
|
||||
lable: "项目名称",
|
||||
@ -93,6 +105,7 @@ const formData: any = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
@ -104,7 +117,13 @@ const open = () => {
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_loan_applyFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
defineExpose({
|
||||
|
@ -17,8 +17,6 @@
|
||||
<el-date-picker class="flex-1 !flex" v-model="formData.loan_date" clearable value-format="YYYY-MM-DD "
|
||||
placeholder="选择日期">
|
||||
</el-date-picker>
|
||||
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="借款金额" prop="loan_amount">
|
||||
<el-input v-model="formData.loan_amount" clearable placeholder="请输入借款金额" />
|
||||
@ -68,9 +66,6 @@
|
||||
<el-form-item label="开户账号">
|
||||
<el-input v-model="formData.bank_account.account" readonly />
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
</el-form>
|
||||
|
||||
<el-dialog v-model="showDialog" title="选择项目" width="70%">
|
||||
@ -110,7 +105,6 @@ const mode = ref('add')
|
||||
const showDialog = ref(false)
|
||||
const showDialog1 = ref(false)
|
||||
|
||||
|
||||
// 弹窗标题
|
||||
const popupTitle = computed(() => {
|
||||
return mode.value == 'edit' ? '编辑项目财务-借款申请' : '新增项目财务-借款申请'
|
||||
@ -149,7 +143,6 @@ const handleAvatarSuccess_four = (response: any) => {
|
||||
response.code != 0 ? formData.annex.push({ uri: response.data.uri, name: response.data.name }) : ElMessage.error(response.msg);
|
||||
};
|
||||
const customEvent = (e: any) => {
|
||||
console.log(e)
|
||||
formData.project_id = e.id
|
||||
formData.project_name = e.name
|
||||
showDialog.value = false
|
||||
@ -222,8 +215,6 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
formData[key] = data[key]
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -256,8 +247,6 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
|
@ -51,6 +51,18 @@
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total"
|
||||
@size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
|
||||
</div>
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_material_budgetApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_material_budgetApprove, apiproject_material_budgetFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_material_budgetFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -60,7 +72,7 @@ import { MaterialbudgetDetailLists } from '@/api/project_material_budget_detail'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apiproject_material_budgetApprove, apiproject_material_budgetFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -118,7 +130,6 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
budgetDetailLists(data.id)
|
||||
if (data.annex && data.annex.length > 0) {
|
||||
|
||||
const arry1 = data.annex.map((item: any, index: any) => {
|
||||
return {
|
||||
name: `文件${index + 1}`,
|
||||
@ -126,10 +137,8 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
};
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
|
||||
}
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -158,7 +167,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_material_budgetFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -179,4 +194,5 @@ defineExpose({
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}</style>
|
||||
}
|
||||
</style>
|
||||
|
@ -44,21 +44,29 @@
|
||||
formData.remark
|
||||
}}</el-descriptions-item>
|
||||
|
||||
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_material_budget_detailApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_material_budget_detailApprove, apiproject_material_budget_detailFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_material_budget_detailFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { MaterialbudgetDetailLists } from '@/api/project_material_budget_detail'
|
||||
import { apiproject_material_budget_detailApprove, apiproject_material_budget_detailFlows } from '@/api/flowSet'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -89,7 +97,6 @@ const formData = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
|
||||
if (data.annex && data.annex.length > 0) {
|
||||
|
||||
const arry1 = data.annex.map((item: any, index: any) => {
|
||||
@ -100,9 +107,8 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
|
||||
}
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -131,7 +137,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_material_budget_detailFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -144,11 +156,13 @@ defineExpose({
|
||||
getDetail
|
||||
})
|
||||
</script>
|
||||
<style lang="scss" scoped>.tit {
|
||||
<style lang="scss" scoped>
|
||||
.tit {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}</style>
|
||||
}
|
||||
</style>
|
||||
|
@ -78,6 +78,19 @@
|
||||
|
||||
</el-row>
|
||||
</el-card>
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_settlementApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_settlementApprove, apiproject_settlementFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_settlementFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
@ -87,7 +100,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apiproject_settlementApprove, apiproject_settlementFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -119,7 +132,6 @@ const formData = reactive({
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
if (data.annex && data.annex.length > 0) {
|
||||
|
||||
const arry1 = data.annex.map((item: any, index: any) => {
|
||||
return {
|
||||
name: `文件${index + 1}`,
|
||||
@ -127,10 +139,8 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
};
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
|
||||
}
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -161,7 +171,13 @@ const handleClose = () => {
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_settlementFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -77,7 +77,20 @@
|
||||
|
||||
</el-row>
|
||||
</el-card>
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_subcontract_settlementApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_subcontract_settlementApprove, apiproject_subcontract_settlementFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_subcontract_settlementFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</el-form>
|
||||
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -87,7 +100,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apiproject_subcontract_settlementApprove, apiproject_subcontract_settlementFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -119,7 +132,6 @@ const formData = reactive({
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
if (data.annex && data.annex.length > 0) {
|
||||
|
||||
const arry1 = data.annex.map((item: any, index: any) => {
|
||||
return {
|
||||
name: `文件${index + 1}`,
|
||||
@ -127,10 +139,8 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
};
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
|
||||
}
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -159,7 +169,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_subcontract_settlementFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -4,17 +4,22 @@
|
||||
<popup ref="popupRef" title="分包预算详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-descriptions :column="2" border>
|
||||
|
||||
<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.project_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="分包预算单号" label-align="left" align="left" label-class-name="my-label"> {{ formData.subpackage_budget_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{ formData.remark
|
||||
<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.project_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="分包预算单号" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.subpackage_budget_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.remark
|
||||
}}</el-descriptions-item>
|
||||
|
||||
|
||||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formData.annex && formData.annex.length > 0">
|
||||
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item" target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
|
||||
target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
@ -36,8 +41,23 @@
|
||||
</el-table>
|
||||
</div>
|
||||
<div style="margin: 10px 0;">
|
||||
<el-pagination v-model:current-page="pager1.page_no" v-model:page-size="pager1.page_size" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
|
||||
<el-pagination v-model:current-page="pager1.page_no" v-model:page-size="pager1.page_size"
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total"
|
||||
@size-change="handleSizeChange1" @current-change="handleCurrentChange1" />
|
||||
</div>
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_subpackage_budgetApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_subpackage_budgetApprove, apiproject_subpackage_budgetFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_subpackage_budgetFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -47,7 +67,7 @@ import { subpackagdetailLists } from '@/api/project_subpackage_budget_detail'
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apiproject_subpackage_budgetApprove, apiproject_subpackage_budgetFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -113,11 +133,8 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
};
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -146,7 +163,13 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_subpackage_budgetFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -52,7 +52,18 @@
|
||||
|
||||
</el-descriptions>
|
||||
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_subpackage_budget_detailApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_subpackage_budget_detailApprove, approject_subpackage_budget_detailFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await approject_subpackage_budget_detailFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -62,7 +73,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apiproject_subpackage_budget_detailApprove, approject_subpackage_budget_detailFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -96,7 +107,7 @@ const formData = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
|
||||
}
|
||||
@ -127,7 +138,13 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await approject_subpackage_budget_detailFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -4,20 +4,30 @@
|
||||
<popup ref="popupRef" title="项目总预算详情" :async="true" width="80%" @confirm="handleSubmit" @close="handleClose">
|
||||
<el-descriptions :column="2" title="基本信息" border>
|
||||
|
||||
<el-descriptions-item label="部门名称" label-align="left" align="left" label-class-name="my-label"> {{ formData.dept_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.project_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目利润(元)" label-align="left" align="left" label-class-name="my-label"> {{ formData.profit }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目利润率(%)" label-align="left" align="left" label-class-name="my-label"> {{ formData.profit_rate }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同金额" label-align="left" align="left" label-class-name="my-label"> {{ formData.contract_amount }}</el-descriptions-item>
|
||||
<el-descriptions-item label="部门名称" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.dept_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.project_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目利润(元)" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.profit }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目利润率(%)" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.profit_rate }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同金额" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.contract_amount }}</el-descriptions-item>
|
||||
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{ formData.remark }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目经理" label-align="left" align="left" label-class-name="my-label"> {{ formData.project_manager }}</el-descriptions-item>
|
||||
<el-descriptions-item label="预算日期" label-align="left" align="left" label-class-name="my-label"> {{ formData.budget_date }}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.remark }}</el-descriptions-item>
|
||||
<el-descriptions-item label="项目经理" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.project_manager }}</el-descriptions-item>
|
||||
<el-descriptions-item label="预算日期" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.budget_date }}</el-descriptions-item>
|
||||
<el-descriptions-item label="预算清单" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formData.budget_list && formData.budget_list.length > 0">
|
||||
<div v-for="(item, index) in formData.budget_list" style="margin-left: 5px;display: block;">
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri" target="_blank">文件{{ index + 1 }} 查看</a>
|
||||
<a style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item.uri"
|
||||
target="_blank">文件{{ index + 1 }} 查看</a>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
@ -34,24 +44,29 @@
|
||||
<div>{{ row.text }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="预算成本" prop="cost" show-overflow-tooltip />
|
||||
|
||||
|
||||
<el-table-column label="成本占比" prop="rate" width="156" show-overflow-tooltip />
|
||||
|
||||
</el-table>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_total_budgetApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_total_budgetApprove, apiproject_total_budgetFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_total_budgetFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apiproject_total_budgetApprove, apiproject_total_budgetFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -60,14 +75,7 @@ defineProps({
|
||||
}
|
||||
})
|
||||
const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
const formDataannex = reactive([])
|
||||
const datas = reactive({
|
||||
provinceOptions: [],
|
||||
cityOptions: [],
|
||||
areaOptions: [],
|
||||
});
|
||||
|
||||
const tableData = reactive([{
|
||||
name: "材料/设备成本(元)",
|
||||
@ -117,7 +125,7 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
tableData[2].rate = (Number(data.rg_cost) / data.total_cost).toFixed(2) + '%'
|
||||
tableData[3].rate = (Number(data.fy_cost) / data.total_cost).toFixed(2) + '%'
|
||||
tableData[4].rate = (Number(data.jj_cost) / data.total_cost).toFixed(2) + '%'
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
// console.log(tableData)
|
||||
|
||||
}
|
||||
@ -147,7 +155,12 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_total_budgetFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -16,13 +16,25 @@
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_travel_reimbursementApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_travel_reimbursementApprove, apiproject_travel_reimbursementFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_travel_reimbursementFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { ref, reactive } from "vue"
|
||||
import { apiproject_travel_reimbursementApprove, apiproject_travel_reimbursementFlows } from '@/api/flowSet'
|
||||
const descriptionList = reactive([
|
||||
{
|
||||
lable: "项目名称",
|
||||
@ -132,6 +144,7 @@ const formData: any = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
@ -143,7 +156,13 @@ const open = () => {
|
||||
const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_travel_reimbursementFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
defineExpose({
|
||||
|
@ -16,13 +16,25 @@
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apiproject_trip_applyApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiproject_trip_applyApprove, apiproject_trip_applyFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_trip_applyFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
import { ref, reactive } from "vue"
|
||||
import { apiproject_trip_applyApprove, apiproject_trip_applyFlows } from '@/api/flowSet'
|
||||
const descriptionList = reactive([
|
||||
{
|
||||
lable: "项目名称",
|
||||
@ -76,28 +88,11 @@ const popupRef = ref(null)
|
||||
|
||||
// 表单数据
|
||||
const formData: any = reactive({
|
||||
// "id": 9,
|
||||
// "project_id": 18,
|
||||
// "trip_apply_code": "项目出差-20240201-116911",
|
||||
// "origin_address": "上海",
|
||||
// "target_address": "北京",
|
||||
// "traffic": 3,
|
||||
// "start_date": "2024-02-01",
|
||||
// "end_date": "2024-02-10",
|
||||
// "reason": "商务洽谈",
|
||||
// "days": 9,
|
||||
// "remark": "",
|
||||
// "annex": "",
|
||||
// "traffic_text": "飞机",
|
||||
// "project_name": "第一个项目",
|
||||
// "project_code": "P-20240126-717033",
|
||||
// "project_manager": "",
|
||||
// "approve_id": null
|
||||
|
||||
})
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
//打开弹窗
|
||||
@ -110,7 +105,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apiproject_trip_applyFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
|
@ -6,54 +6,52 @@
|
||||
<el-card class="mb-2">
|
||||
|
||||
<el-descriptions :column="2" border>
|
||||
|
||||
<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.quotation_date }}</el-descriptions-item>
|
||||
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{ formData.custom_master_name }}</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.quotation_date }}</el-descriptions-item>
|
||||
<el-descriptions-item label="联系人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.custom_master_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="联系电话" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.custom_master_phone
|
||||
{{ formData.custom_master_phone }}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="制单人" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.create_user
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="制单人" label-align="left" align="left" label-class-name="my-label"> {{ formData.create_user
|
||||
<el-descriptions-item label="发票类型" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.invoice_type_text
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="发票类型" label-align="left" align="left" label-class-name="my-label"> {{ formData.invoice_type_text
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="订单金额" label-align="left" align="left" label-class-name="my-label"> {{ formData.amount_including_tax
|
||||
|
||||
<el-descriptions-item label="订单金额" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.amount_including_tax
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="订单金额大写" label-align="left" align="left" label-class-name="my-label"> {{ formData.competitive_power
|
||||
|
||||
}}</el-descriptions-item> -->
|
||||
<el-descriptions-item label="运费" label-align="left" align="left" label-class-name="my-label"> {{ formData.freight
|
||||
|
||||
<el-descriptions-item label="运费" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.freight
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="其它费用" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.other_fee
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="其它费用" label-align="left" align="left" label-class-name="my-label"> {{ formData.other_fee
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<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.total_amount }}</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="合计金额大写" label-align="left" align="left" label-class-name="my-label"> {{ formData.competitor_disadvantages
|
||||
|
||||
}}</el-descriptions-item> -->
|
||||
<el-descriptions-item label="客户需求" label-align="left" align="left" label-class-name="my-label"> {{ formData.customer_require
|
||||
<el-descriptions-item label="客户需求" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.customer_require
|
||||
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{ formData.remark
|
||||
|
||||
<el-descriptions-item label="备注" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.remark
|
||||
}}</el-descriptions-item>
|
||||
|
||||
|
||||
|
||||
<el-descriptions-item label="附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formData.annex.length > 0">
|
||||
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item" target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
|
||||
target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
@ -79,7 +77,9 @@
|
||||
<el-table-column label="备注" prop="remark" show-overflow-tooltip />
|
||||
</el-table>
|
||||
<div style="margin: 10px 0;">
|
||||
<el-pagination v-model:current-page="pager.page_no" v-model:page-size="pager.page_size" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
|
||||
<el-pagination v-model:current-page="pager.page_no" v-model:page-size="pager.page_size"
|
||||
:page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
|
||||
</div>
|
||||
</el-row>
|
||||
</el-card>
|
||||
|
@ -22,7 +22,8 @@
|
||||
<el-col :span="8">
|
||||
<el-form-item label="联系人" prop="custom_master_name">
|
||||
<el-input v-model="formData.custom_master_name" disabled clearable placeholder="请输入联系人" />
|
||||
</el-form-item></el-col>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="联系电话" prop="custom_master_phone"
|
||||
:rules="[{ validator: isMobileNumber, trigger: 'blur' }]">
|
||||
@ -37,7 +38,6 @@
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="8">
|
||||
<el-form-item label="制单人" prop="create_user">
|
||||
<el-input v-model="formData.create_user" clearable placeholder="请输入制单人" />
|
||||
@ -52,12 +52,14 @@
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col> <el-col :span="8">
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="含税金额" prop="amount_including_tax"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
||||
<el-input v-model="formData.amount_including_tax" disabled clearable placeholder="请输入含税金额"
|
||||
@input="amountinput" />
|
||||
</el-form-item></el-col>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="含税金额大写" prop="amount_including_tax"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'change' }]">
|
||||
@ -88,10 +90,13 @@
|
||||
<el-form-item label="客户需求" prop="customer_require"
|
||||
:rules="[{ required: true, message: '不可为空', trigger: 'blur' }]">
|
||||
<el-input v-model="formData.customer_require" clearable placeholder="请输入客户需求" />
|
||||
</el-form-item></el-col><el-col :span="8">
|
||||
</el-form-item></el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="formData.remark" clearable placeholder="请输入备注" />
|
||||
</el-form-item></el-col><el-col :span="8">
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="附件" prop="field127">
|
||||
<el-upload
|
||||
accept="doc, docx, xls, xlsx, ppt, pptx, pdf, txt, zip, rar, tar, jpg, png, gif, jpeg, webp, wmv, avi, mpg, mpeg, 3gp, mov, mp4, flv, f4v, rmvb, mkv"
|
||||
@ -110,9 +115,6 @@
|
||||
<span style="cursor: pointer;margin-left: 5px;" @click="delFileFn(index)">x</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -123,7 +125,6 @@
|
||||
<el-table :data="tableData">
|
||||
<el-table-column label="序号">
|
||||
<template #default="{ row }">
|
||||
|
||||
<!-- <el-button @click="handleAdd(row)" size="small">+</el-button> -->
|
||||
<el-button @click="handleDelete(row)" size="small">-</el-button>
|
||||
</template>
|
||||
@ -186,21 +187,15 @@
|
||||
<el-input v-model="row.remark" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
||||
|
||||
</el-table>
|
||||
</div>
|
||||
<!-- <div>
|
||||
<reviewprocess></reviewprocess>
|
||||
</div> -->
|
||||
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
|
||||
<el-dialog v-model="showDialog" title="选择客户" width="70%">
|
||||
|
||||
<customDialog @customEvent="customEvent"></customDialog>
|
||||
</el-dialog>
|
||||
|
||||
@ -232,6 +227,7 @@ const props = defineProps({
|
||||
default: () => ({})
|
||||
}
|
||||
})
|
||||
|
||||
const emit = defineEmits(['success', 'close'])
|
||||
const formRef = shallowRef<FormInstance>()
|
||||
const popupRef = shallowRef<InstanceType<typeof Popup>>()
|
||||
@ -367,7 +363,6 @@ const customEvent1 = (e: any) => {
|
||||
};
|
||||
// 表单验证
|
||||
const formRules = reactive<any>({
|
||||
|
||||
})
|
||||
|
||||
const handleAdd = (row: any) => {
|
||||
@ -381,6 +376,7 @@ const handleDelete = (row: any) => {
|
||||
const index = tableData.value.indexOf(row);
|
||||
tableData.value.splice(index, 1);
|
||||
};
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
if (data.annex && data.annex.length > 0) {
|
||||
@ -418,9 +414,6 @@ const getDetail = async (row: Record<string, any>) => {
|
||||
id: row.id
|
||||
})
|
||||
console.log(data)
|
||||
|
||||
|
||||
|
||||
setFormData(data)
|
||||
}
|
||||
const isMobileNumber = (rule: any, value: string | number | any[], callback: (arg0: Error | undefined) => void) => {
|
||||
|
@ -4,9 +4,9 @@
|
||||
<el-form class="mb-[-16px]" :model="queryParams" label-width="auto" inline>
|
||||
<el-form-item label="客户" prop="custom_id">
|
||||
<el-select class="w-[280px]" v-model="queryParams.custom_id" clearable placeholder="请选择客户">
|
||||
<el-option v-for="(item, index) in customerList" :key="index" :label="item.name" :value="parseInt(item.id)" />
|
||||
<el-option v-for="(item, index) in customerList" :key="index" :label="item.name"
|
||||
:value="parseInt(item.id)" />
|
||||
</el-select>
|
||||
|
||||
</el-form-item>
|
||||
<el-form-item label="编码" prop="code">
|
||||
<el-input class="w-[280px]" v-model="queryParams.code" clearable placeholder="请输入编码" />
|
||||
@ -17,8 +17,10 @@
|
||||
<el-form-item label="发票类型" prop="create_user">
|
||||
<el-select class="w-[280px]" v-model="queryParams.invoice_type" clearable placeholder="请选择发票类型">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option v-for="(item, index) in dictData.invoice_type" :key="index" :label="item.name" :value="item.value" />
|
||||
</el-select> </el-form-item>
|
||||
<el-option v-for="(item, index) in dictData.invoice_type" :key="index" :label="item.name"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">
|
||||
查询</el-button>
|
||||
@ -66,7 +68,7 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="flex mt-4 justify-end">
|
||||
<div class="flex justify-end mt-4">
|
||||
<pagination v-model="pager" @change="getLists" />
|
||||
</div>
|
||||
</el-card>
|
||||
@ -88,11 +90,9 @@ const detailRef = shallowRef<InstanceType<typeof DetailPopup>>()
|
||||
const editRef = shallowRef<InstanceType<typeof EditPopup>>()
|
||||
// 是否显示编辑框
|
||||
const showEdit = ref(false)
|
||||
|
||||
const showDtail = ref(false)
|
||||
const customerList = ref([])
|
||||
|
||||
|
||||
// 查询条件
|
||||
const queryParams = reactive({
|
||||
custom_id: '',
|
||||
@ -132,11 +132,6 @@ const handleEdit = async (data: any) => {
|
||||
await nextTick()
|
||||
editRef.value?.open('edit')
|
||||
editRef.value?.setFormData(res)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// 删除
|
||||
@ -145,6 +140,7 @@ const handleDelete = async (id: number | any[]) => {
|
||||
await apiQuotationDelete({ id })
|
||||
getLists()
|
||||
}
|
||||
|
||||
// 详情
|
||||
const handleDetail = async (data: any) => {
|
||||
let res = await apiQuotationDetail({ id: data.id })
|
||||
|
@ -70,17 +70,27 @@
|
||||
formData.bank_account_info.account }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apifinance_returned_recordApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiInvoicingRequestsApprove, apiInvoicingRequestsFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_returned_recordFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="customdetail">
|
||||
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apifinance_returned_recordApprove, apifinance_returned_recordFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -105,7 +115,6 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
@ -120,7 +129,7 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
}
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -148,7 +157,12 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_returned_recordFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -169,4 +183,5 @@ defineExpose({
|
||||
|
||||
:deep(.my-label) {
|
||||
width: 150px;
|
||||
}</style>
|
||||
}
|
||||
</style>
|
||||
|
@ -5,12 +5,17 @@
|
||||
<el-form ref="formRef" :model="formData" label-width="160px">
|
||||
<el-descriptions title="基本信息" :column="2" border>
|
||||
|
||||
<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.project_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label">{{ formData.contract_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同编号" label-align="left" align="left" label-class-name="my-label">{{ formData.contract_code }}</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.project_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.contract_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同编号" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.contract_code }}</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.custom_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="退款原因" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.reason }}
|
||||
</el-descriptions-item>
|
||||
@ -34,7 +39,8 @@
|
||||
<el-descriptions-item label="合同附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formData.annex.length > 0">
|
||||
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item" target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
|
||||
target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -45,16 +51,32 @@
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="付款账户信息" :column="3" style="margin: 20px 0;" border>
|
||||
<el-descriptions-item label="账户编码" label-align="left" align="left" label-class-name="my-label"> {{ formData.bank_account_info.account_sn }}</el-descriptions-item>
|
||||
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label"> {{ formData.bank_account_info.deposit_bank }}</el-descriptions-item>
|
||||
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label">{{ formData.bank_account_info.account }}</el-descriptions-item>
|
||||
<el-descriptions-item label="账户编码" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.bank_account_info.account_sn }}</el-descriptions-item>
|
||||
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.bank_account_info.deposit_bank }}</el-descriptions-item>
|
||||
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.bank_account_info.account }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<el-descriptions title="收款账户信息" :column="3" style="margin: 20px 0;" border>
|
||||
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label"> {{ formData.collection_bank }}</el-descriptions-item>
|
||||
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label">{{ formData.collection_account }}</el-descriptions-item>
|
||||
<el-descriptions-item label="开户银行" label-align="left" align="left" label-class-name="my-label"> {{
|
||||
formData.collection_bank }}</el-descriptions-item>
|
||||
<el-descriptions-item label="账号" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.collection_account }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apifinance_refund_applyApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiInvoicingRequestsApprove, apiInvoicingRequestsFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_refund_applydFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
@ -65,7 +87,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apifinance_refund_applyApprove, apifinance_refund_applydFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -94,9 +116,7 @@ const formData = reactive({
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -124,12 +144,12 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_refund_applydFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
open,
|
||||
|
@ -80,6 +80,18 @@
|
||||
formData.account_name }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apibid_security_refundApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apibid_security_refundApprove, apbid_security_refundFlows } from '@/api/flowSet'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apbid_security_refundFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</popup>
|
||||
</div>
|
||||
@ -90,7 +102,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apibid_security_refundApprove, apbid_security_refundFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -115,13 +127,10 @@ const formData = reactive({
|
||||
})
|
||||
|
||||
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -149,7 +158,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apbid_security_refundFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -5,12 +5,17 @@
|
||||
<el-form ref="formRef" :model="formData" label-width="auto">
|
||||
<el-descriptions title="基本信息" :column="2" border>
|
||||
|
||||
<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.project_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label">{{ formData.contract_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同编号" label-align="left" align="left" label-class-name="my-label">{{ formData.contract_code }}</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.project_code }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同名称" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.contract_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="合同编号" label-align="left" align="left" label-class-name="my-label">{{
|
||||
formData.contract_code }}</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.custom_name }}</el-descriptions-item>
|
||||
<el-descriptions-item label="期次" label-align="left" align="left" label-class-name="my-label">
|
||||
{{ formData.period }}
|
||||
</el-descriptions-item>
|
||||
@ -44,7 +49,8 @@
|
||||
<el-descriptions-item label="合同附件" label-align="left" align="left" label-class-name="my-label">
|
||||
<div v-if="formData.annex.length > 0">
|
||||
<div v-for="(item, index) in formData.annex" style="margin-left: 5px;display: block;">
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item" target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
<el-link style="margin-left: 10px; color: #4a5dff; align-self: flex-start" :href="item"
|
||||
target="_blank">文件{{ index + 1 }}查看</el-link>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -54,6 +60,18 @@
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-form>
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apifinance_returned_moneyApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apiInvoicingRequestsApprove, apiInvoicingRequestsFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_returned_moneyFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
</popup>
|
||||
</div>
|
||||
</template>
|
||||
@ -63,7 +81,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apifinance_returned_moneyApprove, apifinance_returned_moneyFlows } from '@/api/flowSet.ts'
|
||||
import type { PropType } from 'vue'
|
||||
defineProps({
|
||||
dictData: {
|
||||
@ -93,7 +111,6 @@ const formData = reactive({
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
if (data.annex && data.annex.length > 0) {
|
||||
|
||||
const arry1 = data.annex.map((item: any, index: any) => {
|
||||
return {
|
||||
name: `文件${index + 1}`,
|
||||
@ -101,9 +118,8 @@ const setFormData = async (data: Record<any, any>) => {
|
||||
};
|
||||
});
|
||||
Object.assign(formDataannex, arry1)
|
||||
|
||||
}
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
}
|
||||
|
||||
@ -132,12 +148,13 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apifinance_returned_moneyFlows()
|
||||
flows.value = res
|
||||
}
|
||||
defineExpose({
|
||||
open,
|
||||
setFormData,
|
||||
|
@ -179,6 +179,20 @@
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
|
||||
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apisubcontracting_contractApprove" :id="formData?.id" @off="handleClose"></flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apibid_bidding_decisionApprove, apibid_bidding_decisionFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apisubcontracting_contractFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
@ -189,7 +203,7 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { apiProcurementContractDetailLists } from '@/api/procurement_contract_detail'
|
||||
import { apisubcontracting_contractApprove, apisubcontracting_contractFlows } from '@/api/flowSet.ts'
|
||||
import { apifinancereceiptLists } from '@/api/receiptrecord'
|
||||
import { paymentplanLists } from '@/api/paymentplan'
|
||||
import { paymentapplyLists } from '@/api/paymentrequest'
|
||||
@ -420,9 +434,15 @@ const handleClose = () => {
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apisubcontracting_contractFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
|
||||
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
<el-button v-perms="['contract.subcontracting_contract/delete']" :disabled="!selectData.length" @click="handleDelete(selectData)">
|
||||
删除
|
||||
</el-button> -->
|
||||
<export-data class="ml-2.5" :fetch-fun="apiSubcontractingContractDetailLists" :params="queryParams"
|
||||
<export-data class="ml-2.5 float-right" :fetch-fun="apiSubcontractingContractDetailLists" :params="queryParams"
|
||||
:page-size="pager.size" />
|
||||
<div class="mt-4">
|
||||
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
|
||||
|
@ -84,6 +84,19 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-card>
|
||||
<flowProcess v-if="!formData?.approve_id || formData.approve_check_status == 4" :flows="flows"
|
||||
:submitApi="apisubcontracting_contract_negotiationApprove" :id="formData?.id" @off="handleClose">
|
||||
</flowProcess>
|
||||
<flowDetail v-else :approve_id="formData?.approve_id" @off="handleClose" />
|
||||
<!-- import { apibid_bidding_decisionApprove, apibid_bidding_decisionFlows } from '@/api/flowSet.ts'
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apisubcontracting_contract_negotiationFlows()
|
||||
flows.value = res
|
||||
} -->
|
||||
|
||||
</el-form>
|
||||
</popup>
|
||||
</div>
|
||||
@ -94,8 +107,9 @@
|
||||
import type { FormInstance } from 'element-plus'
|
||||
import Popup from '@/components/popup/index.vue'
|
||||
import { apiCustomDetail } from '@/api/custom'
|
||||
import { timeFormat } from '@/utils/util'
|
||||
import { apisubcontracting_contract_negotiationApprove, apisubcontracting_contract_negotiationFlows } from '@/api/flowSet'
|
||||
import type { PropType } from 'vue'
|
||||
|
||||
defineProps({
|
||||
dictData: {
|
||||
type: Object as PropType<Record<string, any[]>>,
|
||||
@ -118,15 +132,10 @@ const formData = reactive({
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
// 获取详情
|
||||
const setFormData = async (data: Record<any, any>) => {
|
||||
Object.assign(formData, data)
|
||||
// console.log(data)
|
||||
|
||||
|
||||
|
||||
getbidDocumentExaminationFlows()
|
||||
}
|
||||
|
||||
const getDetail = async (row: Record<string, any>) => {
|
||||
@ -154,7 +163,13 @@ const handleClose = () => {
|
||||
emit('close')
|
||||
}
|
||||
|
||||
|
||||
// 获取审批流程
|
||||
const flows = ref([])
|
||||
const getbidDocumentExaminationFlows = async () => {
|
||||
if (formData?.approve_id) return
|
||||
let res = await apisubcontracting_contract_negotiationFlows()
|
||||
flows.value = res
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -82,7 +82,6 @@
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
import { useDictData } from '@/hooks/useDictOptions'
|
||||
import { apinegotiationLists, apinegotiationDelete, apinegotiationDetail } from '@/api/subcontractor'
|
||||
const protype = reactive([])
|
||||
import feedback from '@/utils/feedback'
|
||||
import EditPopup from './edit.vue'
|
||||
import DetailPopup from './detail.vue'
|
||||
|
Loading…
x
Reference in New Issue
Block a user