From 35e9974890fa82bd4c700f3c34c2292cd7fb1489 Mon Sep 17 00:00:00 2001
From: zmj <1493694146@qq.com>
Date: Fri, 12 Apr 2024 15:32:23 +0800
Subject: [PATCH] add
---
src/api/flowSet.ts | 15 +
src/components/detailPage/index.vue | 13 +-
.../dialogTable/dialogTableConfig.ts | 29 ++
src/hooks/usePaging.ts | 4 +-
src/views/bid_bidding_decision/detail.vue | 8 -
src/views/bidbbond/index.vue | 23 +-
src/views/build_plan/index.vue | 48 ++-
src/views/build_report/index.vue | 25 +-
src/views/build_report_detail/index.vue | 28 +-
.../contract_ticket_difference/index.vue | 6 +-
src/views/finance_receipt_record/index.vue | 28 +-
src/views/marketing_bid_evaluation/detail.vue | 243 ++++++++++++
src/views/marketing_bid_evaluation/edit.vue | 350 +++++++++++++-----
src/views/marketing_bid_evaluation/index.vue | 88 +++--
.../marketing_business_opportunity/detail.vue | 186 ++++++++++
.../marketing_business_opportunity/edit.vue | 268 ++++++++------
.../marketing_business_opportunity/index.vue | 106 ++++--
.../marketing_framework_agreement/index.vue | 6 +-
.../index.vue | 50 ++-
src/views/procurement_contract/index.vue | 25 +-
.../procurement_contract_detail/index.vue | 2 +-
src/views/project_attendance_detail/index.vue | 46 ++-
src/views/project_attendance_record/index.vue | 20 +-
src/views/project_cost_temp_set/index.vue | 15 +-
src/views/project_document_set/index.vue | 13 +-
.../project_equipment_budget_detail/index.vue | 14 +-
.../project_expense_reimbursement/index.vue | 26 +-
.../index.vue | 17 +-
.../index.vue | 28 +-
src/views/project_labor_contract/index.vue | 22 +-
src/views/project_list/index.vue | 29 +-
.../project_material_budget_detail/index.vue | 40 +-
src/views/project_personnel/index.vue | 15 +-
src/views/project_salary_detail/index.vue | 20 +-
src/views/project_settlement/index.vue | 24 +-
src/views/project_stakeholder/index.vue | 22 +-
.../index.vue | 29 +-
.../project_travel_reimbursement/index.vue | 25 +-
.../index.vue | 14 +-
.../index.vue | 19 +-
src/views/project_trip_apply/index.vue | 18 +-
src/views/project_wbs_set/index.vue | 12 +-
src/views/quality_accept/index.vue | 12 +-
src/views/quality_accident/index.vue | 29 +-
src/views/quality_check/index.vue | 19 +-
src/views/quality_detection/index.vue | 46 ++-
src/views/quality_modify/index.vue | 31 +-
src/views/remittance/index.vue | 3 +-
src/views/safety_accident/index.vue | 29 +-
src/views/safety_check/index.vue | 42 ++-
src/views/safety_emergency_plan/index.vue | 10 +-
src/views/safety_evaluate/index.vue | 12 +-
src/views/safety_event/index.vue | 17 +-
src/views/safety_hazard/index.vue | 47 ++-
src/views/safety_modify/index.vue | 37 +-
src/views/safety_product_month/index.vue | 26 +-
src/views/safety_rehearsal/index.vue | 12 +-
src/views/safety_supervise/index.vue | 12 +-
src/views/safety_target/index.vue | 13 +-
src/views/supplier/index.vue | 28 +-
src/views/supplier_contacts/index.vue | 26 +-
61 files changed, 1719 insertions(+), 751 deletions(-)
create mode 100644 src/views/marketing_bid_evaluation/detail.vue
create mode 100644 src/views/marketing_business_opportunity/detail.vue
diff --git a/src/api/flowSet.ts b/src/api/flowSet.ts
index 0dbbba9..9928f4c 100644
--- a/src/api/flowSet.ts
+++ b/src/api/flowSet.ts
@@ -404,3 +404,18 @@ export function apimarketing_supplementary_agreementApprove(params: any) {
params,
});
}
+
+// 合同列表
+export function apimarketing_business_opportunitytFlows() {
+ return request.get({
+ url: "/marketing.marketing_business_opportunity/flows",
+ });
+}
+
+// 框架协议-提交审批
+export function apimarketing_supplementary_agreementtApprove(params: any) {
+ return request.post({
+ url: "/marketing.marketing_business_opportunity/approve",
+ params,
+ });
+}
diff --git a/src/components/detailPage/index.vue b/src/components/detailPage/index.vue
index f50f188..3e170f3 100644
--- a/src/components/detailPage/index.vue
+++ b/src/components/detailPage/index.vue
@@ -1,7 +1,6 @@
-
+
diff --git a/src/components/dialogTable/dialogTableConfig.ts b/src/components/dialogTable/dialogTableConfig.ts
index dd4685a..827b6b0 100644
--- a/src/components/dialogTable/dialogTableConfig.ts
+++ b/src/components/dialogTable/dialogTableConfig.ts
@@ -914,3 +914,32 @@ export const marketing_project_filing: Iconfig = {
{ remark: "备注" },
],
};
+
+import { apiMarketingBusinessOpportunityLists } from "@/api/marketing_business_opportunity";
+
+export const marketing_business_opportunity: Iconfig = {
+ fetchFn: apiMarketingBusinessOpportunityLists,
+ serchList: [
+ {
+ label: "项目名称",
+ value: "project_name",
+ },
+ {
+ label: "项目编号",
+ value: "project_code",
+ },
+ ],
+ tableList: [
+ { project_name: "项目名称" },
+ { project_code: "项目编号" },
+ { bid_date: "预计招标日期" },
+ { construct_company_name: "建设单位" },
+ { construct_company_name: "建设管理单位" },
+ { business_nature_text: "业务性质" },
+ { industry_nature_text: "行业性质" },
+ { total_investment: "工程总投资" },
+ { dept_name: "负责部门" },
+ { status_text: "投标状态" },
+ { approve_status_text: "流程状态" },
+ ],
+};
diff --git a/src/hooks/usePaging.ts b/src/hooks/usePaging.ts
index 37f756a..7572683 100644
--- a/src/hooks/usePaging.ts
+++ b/src/hooks/usePaging.ts
@@ -49,11 +49,13 @@ export function usePaging(options: Options) {
lists: [] as any[],
extend: {} as Record,
calcWidth: ({ column }: Icolumn) => {
+ console.log(column);
+
if (!pager.lists?.length) return column.label;
let propWidth = column.label.length * 14 + 30;
let list = pager.lists.map((item: Object) =>
- column.property.includes(
+ column.property?.includes(
"."
) /**用于el-columnc传入深层次的对象属性,如projectInfo.contract */
? (item as any)[column.property.split(".")[0]][
diff --git a/src/views/bid_bidding_decision/detail.vue b/src/views/bid_bidding_decision/detail.vue
index 4431b5f..77bca78 100644
--- a/src/views/bid_bidding_decision/detail.vue
+++ b/src/views/bid_bidding_decision/detail.vue
@@ -58,14 +58,6 @@
-
diff --git a/src/views/bidbbond/index.vue b/src/views/bidbbond/index.vue
index fafda69..bcd1218 100644
--- a/src/views/bidbbond/index.vue
+++ b/src/views/bidbbond/index.vue
@@ -36,15 +36,20 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/views/build_plan/index.vue b/src/views/build_plan/index.vue
index 1c25acd..3f21e33 100644
--- a/src/views/build_plan/index.vue
+++ b/src/views/build_plan/index.vue
@@ -35,26 +35,38 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/build_report/index.vue b/src/views/build_report/index.vue
index 661897c..86e00fc 100644
--- a/src/views/build_report/index.vue
+++ b/src/views/build_report/index.vue
@@ -36,15 +36,22 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/views/build_report_detail/index.vue b/src/views/build_report_detail/index.vue
index 9c5bcca..3624bfa 100644
--- a/src/views/build_report_detail/index.vue
+++ b/src/views/build_report_detail/index.vue
@@ -5,17 +5,23 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/contract_ticket_difference/index.vue b/src/views/contract_ticket_difference/index.vue
index ba351c8..7bc65db 100644
--- a/src/views/contract_ticket_difference/index.vue
+++ b/src/views/contract_ticket_difference/index.vue
@@ -20,8 +20,10 @@
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/src/views/marketing_bid_evaluation/detail.vue b/src/views/marketing_bid_evaluation/detail.vue
new file mode 100644
index 0000000..b136342
--- /dev/null
+++ b/src/views/marketing_bid_evaluation/detail.vue
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+
diff --git a/src/views/marketing_bid_evaluation/edit.vue b/src/views/marketing_bid_evaluation/edit.vue
index af5676d..47a7d7b 100644
--- a/src/views/marketing_bid_evaluation/edit.vue
+++ b/src/views/marketing_bid_evaluation/edit.vue
@@ -1,90 +1,223 @@
@@ -94,17 +227,25 @@ import type { FormInstance } from 'element-plus'
import Popup from '@/components/popup/index.vue'
import { apiMarketingBidEvaluationAdd, apiMarketingBidEvaluationEdit, apiMarketingBidEvaluationDetail } from '@/api/marketing_bid_evaluation'
import type { PropType } from 'vue'
-defineProps({
+import { marketing_business_opportunity } from "@/components/dialogTable/dialogTableConfig";
+import { apiMarketingBusinessOpportunityDetail } from '@/api/marketing_business_opportunity'
+
+
+let prop = defineProps({
dictData: {
type: Object as PropType>,
default: () => ({})
- }
+ },
+ marketing_business_opportunity_id: Number,
+ deptList: Array
})
const emit = defineEmits(['success', 'close'])
const formRef = shallowRef()
const popupRef = shallowRef>()
const mode = ref('add')
-
+const showDialog = ref(false)
+const showDialog1 = ref(false)
+const personnel = ref(null)
// 弹窗标题
const popupTitle = computed(() => {
@@ -115,6 +256,7 @@ const popupTitle = computed(() => {
const formData = reactive({
id: '',
business_opportunity_id: '',
+ business_opportunity_name: '',
bid_type: '',
bid__nature: '',
bid_code: '',
@@ -129,15 +271,41 @@ const formData = reactive({
bid_agency_address: '',
bid_agency_contacts: '',
bid_agency_telephone: '',
- annex: '',
+ annex: [],
})
+const customEvent = (e) => {
+ formData.business_opportunity_id = e.id
+ formData.business_opportunity_name = e.project_name
+ const { head_name, dept_name, leader_name, project_name, contacts, project_code, construct_company_name, management_company, industry_nature_text, business_nature_text, const_area_text, project_address, info_sources_text, fund_sources_text, total_investment, jianan_investment, project_overview } = e
+ Object.assign(formData, { head_name, dept_name, leader_name, project_name, contacts, project_name, project_code, construct_company_name, management_company, industry_nature_text, business_nature_text, const_area_text, project_address, info_sources_text, fund_sources_text, total_investment, jianan_investment, project_overview })
+ showDialog.value = false
+}
+
+let val: string;
+const userclick = async (value: string) => {
+ val = value
+ showDialog1.value = true
+ await nextTick()
+ personnel.value.open()
+
+}
+
+//确认
+const submituser = (e: any) => {
+ formData[val] = e.id;
+ formData[val + '_name'] = e.name;
+ console.log(formData, val)
+ showDialog1.value = false
+}
+
+
// 表单验证
const formRules = reactive({
- business_opportunity_id: [{
+ business_opportunity_name: [{
required: true,
- message: '请输入业务机会id',
+ message: '选择业务机会',
trigger: ['blur']
}],
bid_type: [{
@@ -245,9 +413,13 @@ const handleSubmit = async () => {
}
//打开弹窗
-const open = (type = 'add') => {
+const open = async (type = 'add') => {
mode.value = type
popupRef.value?.open()
+ if (prop.marketing_business_opportunity_id) {
+ let res = await apiMarketingBusinessOpportunityDetail({ id: prop.marketing_business_opportunity_id })
+ customEvent(res)
+ }
}
// 关闭回调
diff --git a/src/views/marketing_bid_evaluation/index.vue b/src/views/marketing_bid_evaluation/index.vue
index edbc279..6ccf59c 100644
--- a/src/views/marketing_bid_evaluation/index.vue
+++ b/src/views/marketing_bid_evaluation/index.vue
@@ -2,15 +2,17 @@
-
-
-
-
+
+
+
-
+
+
+
@@ -35,23 +37,16 @@
-
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -61,6 +56,11 @@
@click="handleDelete(row.id)">
删除
+
+ 详情
+
+
@@ -69,30 +69,36 @@
-
+
+
+
diff --git a/src/views/marketing_business_opportunity/detail.vue b/src/views/marketing_business_opportunity/detail.vue
new file mode 100644
index 0000000..08c137c
--- /dev/null
+++ b/src/views/marketing_business_opportunity/detail.vue
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
diff --git a/src/views/marketing_business_opportunity/edit.vue b/src/views/marketing_business_opportunity/edit.vue
index 562a0e7..701c65e 100644
--- a/src/views/marketing_business_opportunity/edit.vue
+++ b/src/views/marketing_business_opportunity/edit.vue
@@ -2,126 +2,146 @@