From 15b1d4f07e5a0cc5b77fca5adf1c043bee3c4585 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 09 九月 2025 13:54:56 +0800
Subject: [PATCH] fix: bug

---
 src/views/EnterpriseManage/EnterpriseManageList.vue |   99 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 72 insertions(+), 27 deletions(-)

diff --git a/src/views/EnterpriseManage/EnterpriseManageList.vue b/src/views/EnterpriseManage/EnterpriseManageList.vue
index 1ef6e37..95f5447 100644
--- a/src/views/EnterpriseManage/EnterpriseManageList.vue
+++ b/src/views/EnterpriseManage/EnterpriseManageList.vue
@@ -6,16 +6,7 @@
           <QueryFilterItem tip-content="閰嶇疆鐘舵��">
             <FieldRadio
               v-model="extraParamState.isConfigured"
-              :value-enum="[
-                {
-                  value: true,
-                  label: '宸查厤缃�',
-                },
-                {
-                  value: false,
-                  label: '鏈厤缃�',
-                },
-              ]"
+              :value-enum="IsConfiguredText"
               buttonStyle
               showAllBtn
               @change="getList()"
@@ -24,7 +15,7 @@
           <QueryFilterItem>
             <SearchInput
               v-model="extraParamState.keywords"
-              style="width: 200px"
+              style="width: 300px"
               placeholder="浼佷笟鍚嶇О/娉曚汉/鑱旂郴浜�"
               @on-click-search="getList"
               @keyup.enter="getList()"
@@ -45,7 +36,7 @@
       <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
       </ProTableV2>
     </AppContainer>
-    <!-- <ConfigureDialog v-bind="dialogProps" /> -->
+    <ConfigureDialog v-bind="dialogProps" />
   </LoadingLayout>
 </template>
 
@@ -63,10 +54,11 @@
   FieldRadio,
 } from '@bole-core/components';
 import { useAccess, useGlobalEventContext } from '@/hooks';
-import { EnterpriseConfigureType } from '@/constants';
+import { EnterpriseConfigureType, IsConfiguredText } from '@/constants';
 import ConfigureDialog from './components/ConfigureDialog.vue';
 import { Message } from '@bole-core/core';
 import * as enterpriseServices from '@/services/api/enterprise';
+import * as enterpriseWalletServices from '@/services/api/enterpriseWallet';
 
 defineOptions({
   name: 'EnterpriseManageList',
@@ -99,6 +91,8 @@
 };
 
 const state = reactive({ ...BaseState });
+
+const { invalidateQueries } = useEnabledElectronSignSettings();
 
 onMounted(async () => {
   await getList();
@@ -138,38 +132,83 @@
       orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
       isConfigured: '' as any as boolean,
     },
-    queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
-    columnsRenderProps: {},
+    queryKey: ['enterpriseServices/getEnterprises'],
+    columnsRenderProps: {
+      isReal: { type: 'enum', valueEnum: IsRealText },
+      isConfigured: { type: 'enum', valueEnum: IsConfiguredText },
+    },
   }
 );
 
-function openDialog(row?: API.GetEnterprisesQueryResultItem) {
-  if (row) {
-    handleEdit({
-      id: row.id,
-    });
-  } else {
-    handleAdd();
-  }
+async function getEnterpriseElectronSignSetting(id: string) {
+  return await enterpriseServices.getEnterpriseElectronSignSetting({ id: id });
+}
+
+async function getEnterpriseSmsSetting(id: string) {
+  return await enterpriseServices.getEnterpriseSmsSetting({ id: id });
+}
+
+const EnumElectronSignAccessList = computed(() =>
+  Object.values(EnumElectronSignAccess)
+    .filter(Number)
+    .map((x) => Number(x))
+);
+
+async function openDialog(row?: API.GetEnterprisesQueryResultItem) {
+  try {
+    if (row) {
+      let electronSignSetting = await getEnterpriseElectronSignSetting(row.id);
+      let smsSetting = await getEnterpriseSmsSetting(row.id);
+      let alipayWallet = await enterpriseWalletServices.getEnterpriseWallet({
+        enterpriseId: row.id,
+        access: EnumEnterpriseWalletAccess.Alipay,
+      });
+      handleEdit({
+        id: row.id,
+        enterpriseConfigureType: EnterpriseConfigureType.AliPay,
+        electronSignAccesses: EnumElectronSignAccessList.value.map((value) =>
+          electronSignSetting.electronSignAccesses.includes(value) ? value : null
+        ),
+        smsAccess: smsSetting.smsAccess,
+        smsCost: smsSetting.smsCost,
+        alipayAccount: alipayWallet.account,
+        alipayMerchantId: alipayWallet.merchantId,
+        signStatus: alipayWallet.signStatus,
+        expandindirectOrderStatus: alipayWallet.expandindirectOrderStatus,
+      });
+    } else {
+      handleAdd({
+        enterpriseConfigureType: EnterpriseConfigureType.AliPay,
+      });
+    }
+  } catch (error) {}
 }
 
 const { dialogProps, handleAdd, handleEdit, editForm, dialogState } = useFormDialog({
   onConfirm: handleAddOrEdit,
   defaultFormParams: {
     id: '',
+    enterpriseConfigureType: EnterpriseConfigureType.AliPay,
+    electronSignAccesses: [] as EnumElectronSignAccess[],
+    smsAccess: '' as any as EnumSmsAccess,
+    smsCost: 0,
+    alipayAccount: '',
+    alipayMerchantId: '',
+    signStatus: '' as any as EnumEnterpriseWalletSignStatus,
+    expandindirectOrderStatus: '' as any as EnumEnterpriseWalletExpandindirectOrderStatus,
   },
 });
 
-async function handleAddOrEdit(type: EnterpriseConfigureType) {
+async function handleAddOrEdit() {
   try {
     let res;
     // if (type === EnterpriseConfigureType.Bank) {
     //   res = await createOrEditFlexEnterpriseBankSetting();
     // }
-    if (type === EnterpriseConfigureType.Electronic) {
+    if (editForm.enterpriseConfigureType === EnterpriseConfigureType.Electronic) {
       res = await createOrEditFlexEnterpriseSignSetting();
     }
-    if (type === EnterpriseConfigureType.ShortMessage) {
+    if (editForm.enterpriseConfigureType === EnterpriseConfigureType.ShortMessage) {
       res = await createOrEditFlexEnterpriseMessageSetting();
     }
     if (res) {
@@ -193,18 +232,24 @@
 //     return await flexEnterpriseServices.createOrEditFlexEnterpriseBankSetting(params);
 //   } catch (error) {}
 // }
+
 async function createOrEditFlexEnterpriseSignSetting() {
   try {
     let params: API.SetEnterpriseElectronSignSettingCommand = {
       id: editForm.id,
+      electronSignAccesses: editForm.electronSignAccesses.filter(Boolean),
     };
-    return await enterpriseServices.setEnterpriseElectronSignSetting(params);
+    let res = await enterpriseServices.setEnterpriseElectronSignSetting(params);
+    invalidateQueries();
+    return res;
   } catch (error) {}
 }
 async function createOrEditFlexEnterpriseMessageSetting() {
   try {
     let params: API.SetEnterpriseSmsSettingCommand = {
       id: editForm.id,
+      smsAccess: editForm.smsAccess,
+      smsCost: editForm.smsCost,
     };
     return await enterpriseServices.setEnterpriseSmsSetting(params);
   } catch (error) {}

--
Gitblit v1.9.1