From e81667dd6befdd9aa2bb130ceac18eed03fb45b0 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 12 十二月 2025 15:22:24 +0800
Subject: [PATCH] feat: 保险
---
src/views/CustomerManage/InsureProductConfigure.vue | 144 +++++++++++++----------------------------------
1 files changed, 40 insertions(+), 104 deletions(-)
diff --git a/src/views/CustomerManage/InsureProductConfigure.vue b/src/views/CustomerManage/InsureProductConfigure.vue
index f37befb..dfb22c7 100644
--- a/src/views/CustomerManage/InsureProductConfigure.vue
+++ b/src/views/CustomerManage/InsureProductConfigure.vue
@@ -1,46 +1,6 @@
<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>
@@ -48,35 +8,33 @@
</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 { ProTableV2, LoadingLayout, AppContainer, useTable } from '@bole-core/components';
+import * as enterpriseInsuranceProductServices from '@/services/api/enterpriseInsuranceProduct';
import {
EnumEnterpriseCooperationStatusText,
EnumEnterpriseCooperationSignStatusText,
} from '@/constants';
+import { Message } from '@bole-core/core';
defineOptions({
name: 'InsureProductConfigure',
});
const operationBtnMap: Record<string, OperationBtnType> = {
- detailBtn: {
+ enableBtn: {
emits: {
- onClick: (role) => goDetail(role),
+ onClick: (role) => setDisabledEnterpriseInsuranceProducts(role),
+ },
+ extraProps: {
+ hide: (role: API.GetEnterpriseInsuranceProductsQueryResultItem) => !role.isDisabled,
},
},
- editBtn: {
+ disableBtn: {
emits: {
- onClick: (role) => goAddOrEdit(role),
+ onClick: (role) => setDisabledEnterpriseInsuranceProducts(role),
+ },
+ extraProps: {
+ hide: (role: API.GetEnterpriseInsuranceProductsQueryResultItem) => role.isDisabled,
},
},
};
@@ -85,21 +43,14 @@
operationBtnMap,
});
+const route = useRoute();
+const enterpriseCooperationId = (route.params.id as string) ?? '';
+
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();
@@ -115,18 +66,16 @@
} = useTable(
async ({ pageIndex, pageSize }, extraParamState) => {
try {
- let params: API.GetPartyAEnterprisesQuery = {
+ let params: API.GetEnterpriseInsuranceProductsQuery = {
pageModel: {
rows: pageSize,
page: pageIndex,
orderInput: extraParamState.orderInput,
},
- keywords: extraParamState.keywords,
- cooperationStatus: extraParamState.cooperationStatus,
- signStatus: extraParamState.signStatus,
+ enterpriseCooperationId: enterpriseCooperationId,
};
- let res = await enterpriseServices.getPartyAEnterprises(params, {
+ let res = await enterpriseInsuranceProductServices.getEnterpriseInsuranceProducts(params, {
showLoading: !state.loading,
});
return res;
@@ -134,48 +83,35 @@
},
{
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 '';
- },
+ isDisabled: {
+ formatter: (row: API.GetEnterpriseInsuranceProductsQueryResultItem) =>
+ row.isDisabled ? '绂佺敤' : '鍚敤',
},
},
}
);
-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 ?? '',
- },
- });
+async function setDisabledEnterpriseInsuranceProducts(
+ row: API.GetEnterpriseInsuranceProductsQueryResultItem
+) {
+ try {
+ await Message.tipMessage(`纭瑕�${row.isDisabled ? '鍚敤' : '绂佺敤'}璇ヤ繚闄╀骇鍝佸悧锛焋);
+ let params: API.SetDisabledEnterpriseInsuranceProductsCommand = {
+ enterpriseCooperationId: enterpriseCooperationId,
+ ids: [row.id],
+ isDisabled: !row.isDisabled,
+ };
+ let res = await enterpriseInsuranceProductServices.setDisabledEnterpriseInsuranceProducts(
+ params
+ );
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
}
</script>
--
Gitblit v1.9.1