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 | 121 ++++++++++++++++++++++++++++++++-------- 1 files changed, 97 insertions(+), 24 deletions(-) diff --git a/src/views/EnterpriseManage/EnterpriseManageList.vue b/src/views/EnterpriseManage/EnterpriseManageList.vue index e27c0cd..3e21988 100644 --- a/src/views/EnterpriseManage/EnterpriseManageList.vue +++ b/src/views/EnterpriseManage/EnterpriseManageList.vue @@ -52,12 +52,15 @@ useTable, useFormDialog, FieldRadio, + UploadUserFile, } from '@bole-core/components'; import { useAccess, useGlobalEventContext } from '@/hooks'; 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', @@ -90,6 +93,8 @@ }; const state = reactive({ ...BaseState }); + +const { invalidateQueries } = useEnabledElectronSignSettings(); onMounted(async () => { await getList(); @@ -138,43 +143,81 @@ ); async function getEnterpriseElectronSignSetting(id: string) { - try { - return await enterpriseServices.getEnterpriseElectronSignSetting({ id: id }); - } catch (error) {} + return await enterpriseServices.getEnterpriseElectronSignSetting({ id: id }); } async function getEnterpriseSmsSetting(id: string) { - try { - return await enterpriseServices.getEnterpriseSmsSetting({ id: id }); - } catch (error) {} + return await enterpriseServices.getEnterpriseSmsSetting({ id: id }); } +const EnumElectronSignAccessList = computed(() => + Object.values(EnumElectronSignAccess) + .filter(Number) + .map((x) => Number(x)) +); + async function openDialog(row?: API.GetEnterprisesQueryResultItem) { - if (row) { - let electronSignSetting = await getEnterpriseElectronSignSetting(row.id); - let smsSetting = await getEnterpriseSmsSetting(row.id); - handleEdit({ - id: row.id, - enterpriseConfigureType: EnterpriseConfigureType.Electronic, - electronSignAccesses: electronSignSetting.electronSignAccesses, - smsAccess: smsSetting.smsAccess, - smsCost: smsSetting.smsCost, - }); - } else { - handleAdd({ - enterpriseConfigureType: EnterpriseConfigureType.Electronic, - }); - } + 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.Electronic, + 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[], }, }); @@ -190,11 +233,38 @@ 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) {} } @@ -211,13 +281,16 @@ // return await flexEnterpriseServices.createOrEditFlexEnterpriseBankSetting(params); // } catch (error) {} // } + async function createOrEditFlexEnterpriseSignSetting() { try { let params: API.SetEnterpriseElectronSignSettingCommand = { id: editForm.id, - electronSignAccesses: editForm.electronSignAccesses, + electronSignAccesses: editForm.electronSignAccesses.filter(Boolean), }; - return await enterpriseServices.setEnterpriseElectronSignSetting(params); + let res = await enterpriseServices.setEnterpriseElectronSignSetting(params); + invalidateQueries(); + return res; } catch (error) {} } async function createOrEditFlexEnterpriseMessageSetting() { -- Gitblit v1.9.1