From 68e3ef3c7e93de361e04dd2fc5dc261ba436b652 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 11 九月 2025 15:57:58 +0800
Subject: [PATCH] fix: bug

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

diff --git a/src/views/EnterpriseManage/EnterpriseManageList.vue b/src/views/EnterpriseManage/EnterpriseManageList.vue
index 1ef6e37..3e21988 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>
 
@@ -61,12 +52,15 @@
   useTable,
   useFormDialog,
   FieldRadio,
+  UploadUserFile,
 } 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';
+import { convertWalletApiToFiles, convertWalletFilesToApi } from '@/utils';
 
 defineOptions({
   name: 'EnterpriseManageList',
@@ -99,6 +93,8 @@
 };
 
 const state = reactive({ ...BaseState });
+
+const { invalidateQueries } = useEnabledElectronSignSettings();
 
 onMounted(async () => {
   await getList();
@@ -138,45 +134,137 @@
       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.identity,
+        alipayMerchantId: alipayWallet.code,
+        signStatus: alipayWallet.signStatus,
+        expandindirectOrderStatus: alipayWallet.expandindirectOrderStatus,
+
+        name: alipayWallet.name,
+        scene: alipayWallet.scene || EnumEnterpriseWalletExpandindirectOrderScene.YONGJIN_BAOCHOU,
+        sceneDirections: alipayWallet.sceneDirections,
+        sceneFiles: convertWalletApiToFiles(
+          alipayWallet.files,
+          EnumEnterpriseWalletExpandindirectOrderFileType.Scene
+        ),
+        sceneQualificationFiles: convertWalletApiToFiles(
+          alipayWallet.files,
+          EnumEnterpriseWalletExpandindirectOrderFileType.SceneQualification
+        ),
+      });
+    } 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,
+
+    name: '',
+    scene: '' as any as EnumEnterpriseWalletExpandindirectOrderScene,
+    sceneDirections: '',
+    /**杞处鍦烘櫙鎴浘 */
+    sceneFiles: [] as UploadUserFile[],
+    /**鍟嗘埛琛屼笟璧勮川鍥剧墖鎴栧崗璁枃鏈� */
+    sceneQualificationFiles: [] as UploadUserFile[],
   },
 });
 
-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 (editForm.enterpriseConfigureType === EnterpriseConfigureType.AliPay) {
+      res = await enterpriseWalletExpandindirectCreate();
     }
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
       getList(paginationState.pageIndex);
       dialogState.dialogVisible = false;
     }
+  } catch (error) {}
+}
+
+async function enterpriseWalletExpandindirectCreate() {
+  try {
+    let params: API.EnterpriseWalletExpandindirectCreateCommand = {
+      enterpriseId: editForm.id,
+      identity: editForm.alipayAccount,
+      name: editForm.name,
+      scene: editForm.scene,
+      sceneDirections: editForm.sceneDirections,
+      sitesInfo: null,
+      files: [
+        ...convertWalletFilesToApi(
+          editForm.sceneFiles,
+          EnumEnterpriseWalletExpandindirectOrderFileType.Scene
+        ),
+        ...convertWalletFilesToApi(
+          editForm.sceneQualificationFiles,
+          EnumEnterpriseWalletExpandindirectOrderFileType.SceneQualification
+        ),
+      ],
+    };
+    return await enterpriseWalletServices.enterpriseWalletExpandindirectCreate(params);
   } catch (error) {}
 }
 
@@ -193,18 +281,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