zhengyiming
22 小时以前 72ba293c1dfc0f4c7e0c9a3ca59c67e28904ce88
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,15 +143,11 @@
);
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(() =>
@@ -156,33 +157,67 @@
);
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: EnumElectronSignAccessList.value.map((value) =>
        electronSignSetting.electronSignAccesses.includes(value) ? value : null
      ),
      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[],
  },
});
@@ -198,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) {}
}
@@ -219,13 +281,16 @@
//     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() {