From 76b04cd5781ca062de6940959fd7403c5c99e8ea Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 09 十二月 2025 14:48:32 +0800
Subject: [PATCH] feat: 页面
---
src/views/CustomerManage/InsureProductConfigure.vue | 181 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 181 insertions(+), 0 deletions(-)
diff --git a/src/views/CustomerManage/InsureProductConfigure.vue b/src/views/CustomerManage/InsureProductConfigure.vue
new file mode 100644
index 0000000..f37befb
--- /dev/null
+++ b/src/views/CustomerManage/InsureProductConfigure.vue
@@ -0,0 +1,181 @@
+<template>
+ <LoadingLayout :loading="state.loading">
+ <AppContainer>
+ <ProTableQueryFilterBar @on-reset="reset">
+ <template #query>
+ <QueryFilterItem tip-content="鍚堜綔鐘舵��">
+ <FieldRadio
+ v-model="extraParamState.cooperationStatus"
+ :value-enum="EnumEnterpriseCooperationStatusText"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem tip-content="绛剧害鐘舵��">
+ <FieldRadio
+ v-model="extraParamState.signStatus"
+ :value-enum="EnumEnterpriseCooperationSignStatusText"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem>
+ <SearchInput
+ v-model="extraParamState.keywords"
+ style="width: 300px"
+ placeholder="浼佷笟鍚嶇О/淇$敤浠g爜/濮撳悕/鐢佃瘽"
+ @on-click-search="getList"
+ >
+ </SearchInput>
+ </QueryFilterItem>
+ </template>
+ <template #btn>
+ <el-button
+ v-if="checkSubModuleItemShow('pageButton', 'addBtn')"
+ @click="goAddOrEdit()"
+ icon="Plus"
+ type="primary"
+ >鏂板瀹㈡埛</el-button
+ >
+ </template>
+ </ProTableQueryFilterBar>
+ <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
+ </ProTableV2>
+ </AppContainer>
+ </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+ ProTableQueryFilterBar,
+ FieldRadio,
+ ProTableV2,
+ SearchInput,
+ LoadingLayout,
+ AppContainer,
+ QueryFilterItem,
+ useTable,
+} from '@bole-core/components';
+import * as enterpriseServices from '@/services/api/enterprise';
+import {
+ EnumEnterpriseCooperationStatusText,
+ EnumEnterpriseCooperationSignStatusText,
+} from '@/constants';
+
+defineOptions({
+ name: 'InsureProductConfigure',
+});
+
+const operationBtnMap: Record<string, OperationBtnType> = {
+ detailBtn: {
+ emits: {
+ onClick: (role) => goDetail(role),
+ },
+ },
+ editBtn: {
+ emits: {
+ onClick: (role) => goAddOrEdit(role),
+ },
+ },
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+ operationBtnMap,
+});
+
+const BaseState = {
+ loading: true,
+};
+
+const state = reactive({ ...BaseState });
+
+const eventContext = useGlobalEventContext();
+
+eventContext.addEvent('customerManage:add', () => {
+ getList();
+});
+
+eventContext.addEvent('customerManage:edit', () => {
+ getList(paginationState.pageIndex);
+});
+
+onMounted(async () => {
+ await getList();
+ state.loading = false;
+});
+
+const {
+ getDataSource: getList,
+ proTableProps,
+ paginationState,
+ extraParamState,
+ reset,
+} = useTable(
+ async ({ pageIndex, pageSize }, extraParamState) => {
+ try {
+ let params: API.GetPartyAEnterprisesQuery = {
+ pageModel: {
+ rows: pageSize,
+ page: pageIndex,
+ orderInput: extraParamState.orderInput,
+ },
+ keywords: extraParamState.keywords,
+ cooperationStatus: extraParamState.cooperationStatus,
+ signStatus: extraParamState.signStatus,
+ };
+
+ let res = await enterpriseServices.getPartyAEnterprises(params, {
+ showLoading: !state.loading,
+ });
+ return res;
+ } catch (error) {}
+ },
+ {
+ defaultExtraParams: {
+ keywords: '',
+ cooperationStatus: '' as any as EnumEnterpriseCooperationStatus,
+ signStatus: '' as any as EnumEnterpriseCooperationSignStatus,
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+ },
+ queryKey: ['enterpriseServices/getPartyAEnterprises'],
+ columnsRenderProps: {
+ cooperationStatus: { type: 'enum', valueEnum: EnumEnterpriseCooperationStatusText },
+ signStatus: { type: 'enum', valueEnum: EnumEnterpriseCooperationSignStatusText },
+ serviceFeeCollectType: {
+ type: 'enum',
+ valueEnum: EnumEnterpriseCooperationServiceFeeCollectTypeText,
+ },
+ invoiceTaxPointRate: {
+ formatter: (row: API.GetPartyAEnterprisesQueryResultItem) => {
+ if (row.invoiceTaxPointRate) {
+ return `${row.invoiceTaxPointRate}%`;
+ }
+ return '';
+ },
+ },
+ },
+ }
+);
+
+const router = useRouter();
+
+function goAddOrEdit(row?: API.GetPartyAEnterprisesQueryResultItem) {
+ router.push({
+ name: 'AddOrEditCustomer',
+ params: {
+ id: row?.id ?? '',
+ },
+ });
+}
+
+function goDetail(row: API.GetPartyAEnterprisesQueryResultItem) {
+ router.push({
+ name: 'CustomerDetail',
+ params: {
+ id: row?.id ?? '',
+ },
+ });
+}
+</script>
--
Gitblit v1.9.1