From 24ec121f4ef02a4d9b91078347774a1947855ea9 Mon Sep 17 00:00:00 2001 From: jia <1451658316@qq.com> Date: Thu, 11 Jan 2024 17:31:15 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/bank_account.ts | 26 + src/api/project_subpackage_budget.ts | 26 + src/api/project_subpackage_budget_detail.ts | 27 + src/components/subpackage_budget/index.vue | 68 + .../subpackage_budget_detail/index.vue | 83 + src/views/bank_account/detail.vue | 159 ++ src/views/bank_account/edit.vue | 277 +++ src/views/bank_account/index.vue | 167 ++ src/views/custom/detail.vue | 100 +- src/views/custom/edit.vue | 6 +- src/views/finance_payment_plan/edit.vue | 11 +- src/views/procurement_contract/detail.vue | 173 +- src/views/procurement_contract/edit.vue | 45 +- src/views/procurement_contract/index.vue | 5 +- .../procurement_contract_detail/index.vue | 12 +- src/views/project/detail.vue | 1576 ++++++++++++++++- src/views/project/edit.vue | 48 +- src/views/project/index.vue | 5 + src/views/project_list/detail.vue | 403 ++++- src/views/project_material_budget/edit.vue | 160 +- .../project_subpackage_budget/detail.vue | 170 ++ src/views/project_subpackage_budget/edit.vue | 363 ++++ src/views/project_subpackage_budget/index.vue | 145 ++ .../detail.vue | 139 ++ .../project_subpackage_budget_detail/edit.vue | 187 ++ .../index.vue | 151 ++ src/views/subcontracting_contract/detail.vue | 381 +++- src/views/subcontracting_contract/edit.vue | 584 +++--- src/views/subcontracting_contract/index.vue | 36 +- .../subcontracting_contract_detail/detail.vue | 165 ++ .../subcontracting_contract_detail/index.vue | 53 +- .../edit.vue | 1 - .../index.vue | 2 +- 33 files changed, 5142 insertions(+), 612 deletions(-) create mode 100644 src/api/bank_account.ts create mode 100644 src/api/project_subpackage_budget.ts create mode 100644 src/api/project_subpackage_budget_detail.ts create mode 100644 src/components/subpackage_budget/index.vue create mode 100644 src/components/subpackage_budget_detail/index.vue create mode 100644 src/views/bank_account/detail.vue create mode 100644 src/views/bank_account/edit.vue create mode 100644 src/views/bank_account/index.vue create mode 100644 src/views/project_subpackage_budget/detail.vue create mode 100644 src/views/project_subpackage_budget/edit.vue create mode 100644 src/views/project_subpackage_budget/index.vue create mode 100644 src/views/project_subpackage_budget_detail/detail.vue create mode 100644 src/views/project_subpackage_budget_detail/edit.vue create mode 100644 src/views/project_subpackage_budget_detail/index.vue create mode 100644 src/views/subcontracting_contract_detail/detail.vue diff --git a/src/api/bank_account.ts b/src/api/bank_account.ts new file mode 100644 index 0000000..76a9f5e --- /dev/null +++ b/src/api/bank_account.ts @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 银行账户列表 +export function bankaccountLists(params: any) { + return request.get({ url: '/bank.bank_account/lists', params }) +} + +// 添加银行账户 +export function bankaccountAdd(params: any) { + return request.post({ url: '/bank.bank_account/add', params }) +} + +// 编辑银行账户 +export function bankaccountEdit(params: any) { + return request.post({ url: '/bank.bank_account/edit', params }) +} + +// 删除银行账户 +export function bankaccountDelete(params: any) { + return request.post({ url: '/bank.bank_account/delete', params }) +} + +//银行账户详情 +export function bankaccountDetail(params: any) { + return request.get({ url: '/bank.bank_account/detail', params }) +} \ No newline at end of file diff --git a/src/api/project_subpackage_budget.ts b/src/api/project_subpackage_budget.ts new file mode 100644 index 0000000..bcbc4f7 --- /dev/null +++ b/src/api/project_subpackage_budget.ts @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 分包预算表列表 +export function subpackagebudgetLists(params: any) { + return request.get({ url: '/project.project_subpackage_budget/lists', params }) +} + +// 添加分包预算 +export function subpackagebudgetAdd(params: any) { + return request.post({ url: '/project.project_subpackage_budget/add', params }) +} + +// 编辑分包预算 +export function subpackagebudgetEdit(params: any) { + return request.post({ url: '/project.project_subpackage_budget/edit', params }) +} + +// 删除分包预算 +export function subpackagebudgetDelete(params: any) { + return request.post({ url: '/project.project_subpackage_budget/delete', params }) +} + +// 分包预算详情 +export function subpackagebudgetDetail(params: any) { + return request.get({ url: '/project.project_subpackage_budget/detail', params }) +} diff --git a/src/api/project_subpackage_budget_detail.ts b/src/api/project_subpackage_budget_detail.ts new file mode 100644 index 0000000..c661c86 --- /dev/null +++ b/src/api/project_subpackage_budget_detail.ts @@ -0,0 +1,27 @@ + +import request from '@/utils/request' + +// 分包预算明细表列表 +export function subpackagdetailLists(params: any) { + return request.get({ url: '/project.project_subpackage_budget_detail/lists', params }) +} + +// 添加分包预算明细 +export function subpackagdetailAdd(params: any) { + return request.post({ url: '/project.project_subpackage_budget_detail/add', params }) +} + +// 编辑分包预算明细 +export function subpackagdetailEdit(params: any) { + return request.post({ url: '/project.project_subpackage_budget_detail/edit', params }) +} + +// 删除分包预算明细 +export function subpackagdetailDelete(params: any) { + return request.post({ url: '/project.project_subpackage_budget_detail/delete', params }) +} + +// 分包预算明细详情 +export function subpackagdetailDetail(params: any) { + return request.get({ url: '/project.project_subpackage_budget_detail/detail', params }) +} diff --git a/src/components/subpackage_budget/index.vue b/src/components/subpackage_budget/index.vue new file mode 100644 index 0000000..b64687c --- /dev/null +++ b/src/components/subpackage_budget/index.vue @@ -0,0 +1,68 @@ + + + \ No newline at end of file diff --git a/src/components/subpackage_budget_detail/index.vue b/src/components/subpackage_budget_detail/index.vue new file mode 100644 index 0000000..370d339 --- /dev/null +++ b/src/components/subpackage_budget_detail/index.vue @@ -0,0 +1,83 @@ + + + \ No newline at end of file diff --git a/src/views/bank_account/detail.vue b/src/views/bank_account/detail.vue new file mode 100644 index 0000000..ba03f7c --- /dev/null +++ b/src/views/bank_account/detail.vue @@ -0,0 +1,159 @@ + + + + + + + diff --git a/src/views/bank_account/edit.vue b/src/views/bank_account/edit.vue new file mode 100644 index 0000000..d811915 --- /dev/null +++ b/src/views/bank_account/edit.vue @@ -0,0 +1,277 @@ + + + diff --git a/src/views/bank_account/index.vue b/src/views/bank_account/index.vue new file mode 100644 index 0000000..5782bfc --- /dev/null +++ b/src/views/bank_account/index.vue @@ -0,0 +1,167 @@ + + + + diff --git a/src/views/custom/detail.vue b/src/views/custom/detail.vue index cca11d9..b22ee79 100644 --- a/src/views/custom/detail.vue +++ b/src/views/custom/detail.vue @@ -121,7 +121,44 @@ - Task + +
合同
+
+ + + + + + + + + + + + + + + +
+
+ +
+
合同洽商
+
+ + + + + + + + + +
+
+ +
+
Task Task Task @@ -162,6 +199,10 @@ import { apiProjectLists } from '@/api/project' import { apiQuotationLists } from '@/api/quotation' import { apiCustomDetail } from '@/api/custom' import { apiCustomServiceLists } from '@/api/custom_service' +import { apiCustomContactsLists } from '@/api/custom_contacts' +import { apiContractLists } from '@/api/contract' +import { apiContractNegotiationLists } from '@/api/contract_negotiation' + import { timeFormat } from '@/utils/util' import type { TabsPaneContext } from 'element-plus' import type { PropType } from 'vue' @@ -243,25 +284,30 @@ const total8 = ref(0) //条数 const handleSizeChange1 = (val: number) => { pager1.page_size = val + projectLists() + } const handleSizeChange2 = (val: number) => { pager2.page_size = val - estimateLists() + + quotationLists() } const handleSizeChange3 = (val: number) => { pager3.page_size = val - competitorLists() + customServiceLists() } const handleSizeChange4 = (val: number) => { pager4.page_size = val - competitorLists() + contractLists() + } const handleSizeChange5 = (val: number) => { pager5.page_size = val - competitorLists() + + negotiationLists() } const handleSizeChange6 = (val: number) => { @@ -273,27 +319,31 @@ const handleSizeChange6 = (val: number) => { const handleCurrentChange1 = (val: number) => { console.log(`current page: ${val}`) pager1.page_no = val - solutionLists() + projectLists() + } const handleCurrentChange2 = (val: number) => { console.log(`current page: ${val}`) pager2.page_no = val - estimateLists() + + quotationLists() } const handleCurrentChange3 = (val: number) => { pager3.page_no = val console.log(`current page: ${val}`) - competitorLists() + customServiceLists() } const handleCurrentChange4 = (val: number) => { pager4.page_no = val console.log(`current page: ${val}`) - competitorLists() + contractLists() + } const handleCurrentChange5 = (val: number) => { pager5page_no = val console.log(`current page: ${val}`) - competitorLists() + + negotiationLists() } const handleCurrentChange6 = (val: number) => { pager6.page_no = val @@ -317,7 +367,7 @@ const setFormData = async (data: Record) => { // } // } - + customContactsLists(data.id) Object.assign(formData, data) pager1.custom_id = data.id pager2.custom_id = data.id @@ -329,6 +379,8 @@ const setFormData = async (data: Record) => { projectLists() quotationLists() customServiceLists() + contractLists() + negotiationLists() } const getDetail = async (row: Record) => { @@ -355,7 +407,18 @@ const open = () => { const handleClose = () => { emit('close') } +//获取联系人信息 +const customContactsLists = (id) => { + apiCustomContactsLists({ + 'page_size': 1000, + 'page_no': 1, + 'custom_id': id + }).then((res) => { + contactsList.value = res.lists + + }) +} //项目信息 const projectLists = () => { @@ -379,6 +442,21 @@ const customServiceLists = () => { }) } +//获取合同信息 +const contractLists = () => { + apiContractLists(pager4).then((res) => { + tableData4.value = res.lists + total4.value = res.count + }) +} + +//获取合同洽商 +const negotiationLists = () => { + apiContractNegotiationLists(pager5).then((res) => { + tableData5.value = res.lists + total5.value = res.count + }) +} defineExpose({ open, setFormData, diff --git a/src/views/custom/edit.vue b/src/views/custom/edit.vue index 4188f17..af1715f 100644 --- a/src/views/custom/edit.vue +++ b/src/views/custom/edit.vue @@ -21,7 +21,7 @@ - + @@ -37,13 +37,13 @@ - + - + {{ item.name }} diff --git a/src/views/finance_payment_plan/edit.vue b/src/views/finance_payment_plan/edit.vue index 2274e4f..16394e8 100644 --- a/src/views/finance_payment_plan/edit.vue +++ b/src/views/finance_payment_plan/edit.vue @@ -12,7 +12,7 @@ - + @@ -134,6 +134,7 @@ const project_code = ref('') const project_amount = ref('') const contract_no = ref('') const supplier_name = ref('') +const supplier_code = ref('') const userInfo = userStore.userInfo console.log(userInfo, '222222') // 上传文件 @@ -196,7 +197,8 @@ const showDialog1 = ref(false) const customEvent = (e: any) => { formData.supplier_id = e.id; - supplier_name.value = e.name; + supplier_name.value = e.supplier_name; + supplier_code.value = e.supplier_code; showDialog.value = false; }; const customEvent1 = (e: any) => { @@ -270,9 +272,8 @@ const setFormData = async (data: Record) => { project_amount.value = data.contract.amount contract_name.value = data.contract.contract_name; contract_no.value = data.contract.contract_no - - - + supplier_code.value = data.supplier_code; + supplier_name.value = data.supplier_name; } const getDetail = async (row: Record) => { diff --git a/src/views/procurement_contract/detail.vue b/src/views/procurement_contract/detail.vue index 4fa0891..5ff0425 100644 --- a/src/views/procurement_contract/detail.vue +++ b/src/views/procurement_contract/detail.vue @@ -10,43 +10,43 @@ {{ formData.project_name }} {{ formData.project_code }} - {{ formData.contract_code }} - {{ formData.custom_name }} - {{ formData.contract_code }} - {{ formData.custom_name }} + {{ formData.contract_name }} + {{ formData.contract_no }} + {{ formData.supplier_code }} + {{ formData.supplier_name }} {{ formData.contract_type_text }} - - {{ formData.contract_type_text }} + + {{ formData.signing_date }} - {{ formData.contract_type_text }} + {{ formData.pay_type_text }} - {{ formData.contract_type_text }} + {{ formData.account_period_text }} - {{ formData.contract_type_text }} + {{ formData.contract_amount }} {{ formData.contract_type_text }} - {{ formData.contract_type_text }} + {{ formData.amount_excluding_tax }} - {{ formData.contract_type_text }} + {{ formData.retention_money_rate }} - {{ formData.contract_type_text }} + {{ formData.retention_money }} - {{ formData.contract_type_text }} + {{ formData.remark }}
@@ -64,19 +64,19 @@
- - - - - - - - - - - - - + + + + + + + + + + + + +
@@ -87,14 +87,14 @@
- - - - - - - - + + + + + + + +
@@ -105,10 +105,10 @@
- - - - + + + + @@ -131,7 +131,6 @@ - @@ -166,9 +165,12 @@ 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 { apiProcurementContractDetailLists } from '@/api/procurement_contract_detail' + +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 type { TabsPaneContext } from 'element-plus' @@ -185,27 +187,27 @@ defineProps({ const pager1 = reactive({ page_size: 10, page_no: 1, - customer_demand_id: "" + contract_id: "" }) const pager2 = reactive({ page_size: 10, page_no: 1, - customer_demand_id: "" + contract_id: "" }) const pager3 = reactive({ page_size: 10, page_no: 1, - customer_demand_id: "" + contract_id: "" }) const pager4 = reactive({ page_size: 10, page_no: 1, - customer_demand_id: "" + contract_id: "" }) const pager5 = reactive({ page_size: 10, page_no: 1, - customer_demand_id: "" + contract_id: "" }) const total = ref(0) @@ -241,89 +243,110 @@ const formData = reactive({ const handleSizeChange1 = (val: number) => { pager1.page_size = val - solutionLists() + procurementContractDetailLists() } const handleSizeChange2 = (val: number) => { pager2.page_size = val - estimateLists() + financereceiptLists() } const handleSizeChange3 = (val: number) => { pager3.page_size = val - competitorLists() + planLists() } const handleSizeChange4 = (val: number) => { pager4.page_size = val - competitorLists() + payapplyLists() + } const handleSizeChange5 = (val: number) => { pager5.page_size = val - competitorLists() + + financerefundLists() } + //分页 const handleCurrentChange1 = (val: number) => { console.log(`current page: ${val}`) pager1.page_no = val - solutionLists() + procurementContractDetailLists() } const handleCurrentChange2 = (val: number) => { console.log(`current page: ${val}`) pager2.page_no = val - estimateLists() + financereceiptLists() } const handleCurrentChange3 = (val: number) => { pager3.page_no = val console.log(`current page: ${val}`) - competitorLists() + planLists() } const handleCurrentChange4 = (val: number) => { pager4.page_no = val console.log(`current page: ${val}`) - competitorLists() + payapplyLists() + } const handleCurrentChange5 = (val: number) => { pager5.page_no = val console.log(`current page: ${val}`) - competitorLists() -} -// 解决方案列表 -const solutionLists = () => { - apiCustomerDemandSolutionLists(pager1).then((res) => { - tableData.value = res.lists + financerefundLists() +} +// 采购明细列表 +const procurementContractDetailLists = () => { + apiProcurementContractDetailLists(pager1).then((res) => { + tableData.value = res.lists total.value = res.count }) } -// 获取项目概算列表 -const estimateLists = () => { - apiProjectEstimateLists(pager2).then((res) => { +// 获取收票记录列表 +const financereceiptLists = () => { + apifinancereceiptLists(pager2).then((res) => { tableData1.value = res.lists total1.value = res.count }) } -// 获取竞争对手列表 -const competitorLists = () => { - apiCompetitorLists(pager3).then((res) => { +// 获取付款计划列表 +const planLists = () => { + paymentplanLists(pager3).then((res) => { tableData2.value = res.lists total2.value = res.count }) } +//获取付款记录 +const payapplyLists = () => { + paymentapplyLists(pager4).then((res) => { + tableData3.value = res.lists + total3.value = res.count + }) +} +//获取退款记录 +const financerefundLists = () => { + apiFinancerefundLists(pager4).then((res) => { + tableData4.value = res.lists + total4.value = res.count + }) +} + // 获取详情 const setFormData = async (data: Record) => { Object.assign(formData, data) - pager1.customer_demand_id = data.id - pager2.customer_demand_id = data.id - pager3.customer_demand_id = data.id + pager1.contract_id = data.id + pager2.contract_id = data.id + pager3.contract_id = data.id + pager4.contract_id = data.id + pager5.contract_id = data.id if (data.annex && data.annex.length > 0) { const arry1 = data.annex.map((item: any, index: any) => { return { @@ -333,9 +356,11 @@ const setFormData = async (data: Record) => { }); Object.assign(formDataannex, arry1) } - competitorLists() - solutionLists() - estimateLists() + planLists() + procurementContractDetailLists() + financereceiptLists() + payapplyLists() + financerefundLists() } const getDetail = async (row: Record) => { diff --git a/src/views/procurement_contract/edit.vue b/src/views/procurement_contract/edit.vue index 768307a..9743d3c 100644 --- a/src/views/procurement_contract/edit.vue +++ b/src/views/procurement_contract/edit.vue @@ -267,6 +267,7 @@ const project_name = ref('') const project_code = ref('') const supplier_name = ref('') const supplier_code = ref('') +const contract_no = ref('') const amount = ref('') const amount_excluding_tax = ref('') const amount_daxie = ref('') @@ -328,17 +329,17 @@ const popupTitle = computed(() => { const procurementList = (id) => { apiProcurementContractDetailLists({ 'page_no': 1, 'page_size': 5000, 'contract_id': id }).then((res) => { const data = res.lists.map((item: any) => ({ - 'id': res.lists[0].id, - 'material_purchase_request_detail_id': res.lists[0].material_purchase_request_detail_id, - 'material_name': res.lists[0].material_name, - 'material_code': res.lists[0].material_code, - 'material_unit': res.lists[0].material_unit, - 'material_brand': res.lists[0].material_brand, - 'material_purchase_request_code': res.lists[0].material_purchase_request_code, - 'material_specs': res.lists[0].material_specs, - 'num': res.lists[0].num, - 'price': res.lists[0].price, - 'tax_rate': props.dictData.tax_rate.find((item) => item.name == res.lists[0].tax_rate) + 'id': item.id, + 'material_purchase_request_detail_id': item.material_purchase_request_detail_id, + 'material_name': item.material_name, + 'material_code': item.material_code, + 'material_unit': item.material_unit, + 'material_brand': item.material_brand, + 'material_purchase_request_code': item.material_purchase_request_code, + 'material_specs': item.material_specs, + 'num': item.num, + 'price': item.price, + 'tax_rate': props.dictData.tax_rate.find((item) => item.name == item.tax_rate) })) materialList.splice(0, materialList.length, ...data); @@ -349,10 +350,10 @@ const procurementList = (id) => { const paymentplanList = (id: any) => { paymentplanLists({ 'page_no': 1, 'page_size': 5000, 'contract_type': 1, 'contract_id': id }).then((res) => { const data = res.lists.map((item: any) => ({ - 'period': res.lists[0].period, - 'pay_date': res.lists[0].pay_date, - 'amount': res.lists[0].amount, - 'remark': res.lists[0].remark, + 'period': item.period, + 'pay_date': item.pay_date, + 'amount': item.amount, + 'remark': item.remark, })) paymentList.splice(0, paymentList.length, ...data); @@ -396,7 +397,7 @@ const formData = reactive({ org_id: '', supplier_id: '', project_id: '', - contract_no: '', + contract_name: '', contract_type: '', signing_date: '', pay_type: '', @@ -499,9 +500,11 @@ const setFormData = async (data: Record) => { } procurementList(data.id) paymentplanList(data.id) - project_name.value = data.project.name - project_code.value = data.project.project_code - + project_name.value = data.project_name + project_code.value = data.project_code + contract_no.value = data.contract_no + supplier_name.value = data.supplier_name + supplier_code.value = data.supplier_code } @@ -527,13 +530,13 @@ const handleSubmit = async () => { } if (paymentList.length > 0) { - formData.payment_plan = JSON.stringify(JSON.stringify(paymentList.map((item) => ({ + formData.payment_plan = JSON.stringify(paymentList.map((item) => ({ 'id': item.id, 'period': item.period, 'remark': item.remark, 'amount': item.amount, 'pay_date': item.pay_date, - })))) + }))) } await formRef.value?.validate() const data = { ...formData, } diff --git a/src/views/procurement_contract/index.vue b/src/views/procurement_contract/index.vue index 9773a52..fa89ec3 100644 --- a/src/views/procurement_contract/index.vue +++ b/src/views/procurement_contract/index.vue @@ -35,7 +35,6 @@
- @@ -44,7 +43,7 @@ - + @@ -52,7 +51,7 @@ - +