wupengfei
7 天以前 61c935836c947aaf3421731045d024d064cc6688
feat: 企业
9个文件已修改
412 ■■■■ 已修改文件
.eslintrc-auto-import.json 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
auto-imports.d.ts 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/constants/enterprise.ts 60 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/dictionary.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/index.ts 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/typings.d.ts 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseManage/EnterpriseManageList.vue 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseManage/components/AddOrEditEnterpriseView.vue 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseManage/components/ConfigureDialog.vue 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.eslintrc-auto-import.json
@@ -24,12 +24,14 @@
    "EnumMenuVisitLevel": true,
    "EnumPagedListOrder": true,
    "EnumRealAccess": true,
    "EnumRealAccessText": true,
    "EnumResourceController": true,
    "EnumResourceMethod": true,
    "EnumRoleWebApiDataPower": true,
    "EnumRoleWebApiDataPowerText": true,
    "EnumRoleWebApiDataPowerTextForFilter": true,
    "EnumSmsAccess": true,
    "EnumSmsAccessText": true,
    "EnumUserInfoStatus": true,
    "EnumUserInfoStatusText": true,
    "EnumUserType": true,
@@ -44,8 +46,6 @@
    "FastPageButtonList": true,
    "FlexEnterpriseCertificationStatus": true,
    "FlexEnterpriseCertificationStatusText": true,
    "FlexEnterpriseSettingStatus": true,
    "FlexEnterpriseSettingStatusText": true,
    "FlexTaskWorkerHireEnum": true,
    "FlexTaskWorkerHireEnumText": true,
    "FlexWorkerEleSignEnum": true,
@@ -56,11 +56,11 @@
    "GlobalEventContext": true,
    "GlobalEventListener": true,
    "InjectionKey": true,
    "IsConfiguredText": true,
    "IsRealText": true,
    "MaybeRef": true,
    "MaybeRefOrGetter": true,
    "MenuSvgIconMap": true,
    "MessageChannelEnum": true,
    "MessageChannelEnumText": true,
    "ModuleColumns": true,
    "MyRegExp": true,
    "OSSBaseURL": true,
@@ -79,8 +79,6 @@
    "PropType": true,
    "Ref": true,
    "RoleClientType": true,
    "SignChannelEnum": true,
    "SignChannelEnumText": true,
    "Slot": true,
    "Slots": true,
    "SubModuleKey": true,
auto-imports.d.ts
@@ -30,12 +30,14 @@
  const EnumMenuVisitLevel: typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel']
  const EnumPagedListOrder: typeof import('./src/constants/apiEnum')['EnumPagedListOrder']
  const EnumRealAccess: typeof import('./src/constants/apiEnum')['EnumRealAccess']
  const EnumRealAccessText: typeof import('./src/constants/enterprise')['EnumRealAccessText']
  const EnumResourceController: typeof import('./src/constants/apiEnum')['EnumResourceController']
  const EnumResourceMethod: typeof import('./src/constants/apiEnum')['EnumResourceMethod']
  const EnumRoleWebApiDataPower: typeof import('./src/constants/apiEnum')['EnumRoleWebApiDataPower']
  const EnumRoleWebApiDataPowerText: typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerText']
  const EnumRoleWebApiDataPowerTextForFilter: typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerTextForFilter']
  const EnumSmsAccess: typeof import('./src/constants/apiEnum')['EnumSmsAccess']
  const EnumSmsAccessText: typeof import('./src/constants/enterprise')['EnumSmsAccessText']
  const EnumUserInfoStatus: typeof import('./src/constants/apiEnum')['EnumUserInfoStatus']
  const EnumUserInfoStatusText: typeof import('./src/constants/user')['EnumUserInfoStatusText']
  const EnumUserType: typeof import('./src/constants/apiEnum')['EnumUserType']
@@ -57,6 +59,8 @@
  const FlexWorkerEleSignEnumText: typeof import('./src/constants/cPerson')['FlexWorkerEleSignEnumText']
  const Gender: typeof import('./src/constants/enum')['Gender']
  const GenderText: typeof import('./src/constants/enum')['GenderText']
  const IsConfiguredText: typeof import('./src/constants/enterprise')['IsConfiguredText']
  const IsRealText: typeof import('./src/constants/enterprise')['IsRealText']
  const MenuSvgIconMap: typeof import('./src/constants/menu')['MenuSvgIconMap']
  const MessageChannelEnum: typeof import('./src/constants/enterprise')['MessageChannelEnum']
  const MessageChannelEnumText: typeof import('./src/constants/enterprise')['MessageChannelEnumText']
@@ -204,7 +208,7 @@
  export type { EditorType, EditorType } from './src/constants/editor'
  import('./src/constants/editor')
  // @ts-ignore
  export type { EnterpriseConfigureType, FlexEnterpriseSettingStatus, VerifyStatus, FlexEnterpriseCertificationStatus, MessageChannelEnum, SignChannelEnum, ChargeTypeEnum, EnterpriseConfigureType, FlexEnterpriseSettingStatus, VerifyStatus, FlexEnterpriseCertificationStatus, MessageChannelEnum, SignChannelEnum, ChargeTypeEnum } from './src/constants/enterprise'
  export type { EnterpriseConfigureType, VerifyStatus, FlexEnterpriseCertificationStatus, ChargeTypeEnum, EnterpriseConfigureType, VerifyStatus, FlexEnterpriseCertificationStatus, ChargeTypeEnum } from './src/constants/enterprise'
  import('./src/constants/enterprise')
  // @ts-ignore
  export type { AreaType, AuthorizeType, Gender, AreaType, AuthorizeType, Gender } from './src/constants/enum'
@@ -251,12 +255,14 @@
    readonly EnumMenuVisitLevel: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel']>
    readonly EnumPagedListOrder: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumPagedListOrder']>
    readonly EnumRealAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumRealAccess']>
    readonly EnumRealAccessText: UnwrapRef<typeof import('./src/constants/enterprise')['EnumRealAccessText']>
    readonly EnumResourceController: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumResourceController']>
    readonly EnumResourceMethod: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumResourceMethod']>
    readonly EnumRoleWebApiDataPower: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumRoleWebApiDataPower']>
    readonly EnumRoleWebApiDataPowerText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerText']>
    readonly EnumRoleWebApiDataPowerTextForFilter: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerTextForFilter']>
    readonly EnumSmsAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsAccess']>
    readonly EnumSmsAccessText: UnwrapRef<typeof import('./src/constants/enterprise')['EnumSmsAccessText']>
    readonly EnumUserInfoStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumUserInfoStatus']>
    readonly EnumUserInfoStatusText: UnwrapRef<typeof import('./src/constants/user')['EnumUserInfoStatusText']>
    readonly EnumUserType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumUserType']>
@@ -267,17 +273,15 @@
    readonly FastPageButtonList: UnwrapRef<typeof import('./src/constants/module')['FastPageButtonList']>
    readonly FlexEnterpriseCertificationStatus: UnwrapRef<typeof import('./src/constants/enterprise')['FlexEnterpriseCertificationStatus']>
    readonly FlexEnterpriseCertificationStatusText: UnwrapRef<typeof import('./src/constants/enterprise')['FlexEnterpriseCertificationStatusText']>
    readonly FlexEnterpriseSettingStatus: UnwrapRef<typeof import('./src/constants/enterprise')['FlexEnterpriseSettingStatus']>
    readonly FlexEnterpriseSettingStatusText: UnwrapRef<typeof import('./src/constants/enterprise')['FlexEnterpriseSettingStatusText']>
    readonly FlexTaskWorkerHireEnum: UnwrapRef<typeof import('./src/constants/cPerson')['FlexTaskWorkerHireEnum']>
    readonly FlexTaskWorkerHireEnumText: UnwrapRef<typeof import('./src/constants/cPerson')['FlexTaskWorkerHireEnumText']>
    readonly FlexWorkerEleSignEnum: UnwrapRef<typeof import('./src/constants/cPerson')['FlexWorkerEleSignEnum']>
    readonly FlexWorkerEleSignEnumText: UnwrapRef<typeof import('./src/constants/cPerson')['FlexWorkerEleSignEnumText']>
    readonly Gender: UnwrapRef<typeof import('./src/constants/enum')['Gender']>
    readonly GenderText: UnwrapRef<typeof import('./src/constants/enum')['GenderText']>
    readonly IsConfiguredText: UnwrapRef<typeof import('./src/constants/enterprise')['IsConfiguredText']>
    readonly IsRealText: UnwrapRef<typeof import('./src/constants/enterprise')['IsRealText']>
    readonly MenuSvgIconMap: UnwrapRef<typeof import('./src/constants/menu')['MenuSvgIconMap']>
    readonly MessageChannelEnum: UnwrapRef<typeof import('./src/constants/enterprise')['MessageChannelEnum']>
    readonly MessageChannelEnumText: UnwrapRef<typeof import('./src/constants/enterprise')['MessageChannelEnumText']>
    readonly ModuleColumns: UnwrapRef<typeof import('./src/constants/module')['ModuleColumns']>
    readonly MyRegExp: UnwrapRef<typeof import('./src/constants/regExp')['MyRegExp']>
    readonly OSSBaseURL: UnwrapRef<typeof import('./src/constants/oss')['OSSBaseURL']>
@@ -294,8 +298,6 @@
    readonly OssUser: UnwrapRef<typeof import('./src/constants/oss')['OssUser']>
    readonly OssUserSign: UnwrapRef<typeof import('./src/constants/oss')['OssUserSign']>
    readonly RoleClientType: UnwrapRef<typeof import('./src/constants/role')['RoleClientType']>
    readonly SignChannelEnum: UnwrapRef<typeof import('./src/constants/enterprise')['SignChannelEnum']>
    readonly SignChannelEnumText: UnwrapRef<typeof import('./src/constants/enterprise')['SignChannelEnumText']>
    readonly SubModuleKey: UnwrapRef<typeof import('./src/constants/module')['SubModuleKey']>
    readonly SubModuleTitle: UnwrapRef<typeof import('./src/constants/module')['SubModuleTitle']>
    readonly SubModuleType: UnwrapRef<typeof import('./src/constants/module')['SubModuleType']>
src/constants/enterprise.ts
@@ -14,25 +14,9 @@
}
export const EnterpriseConfigureTypeText = {
  [EnterpriseConfigureType.Bank]: '银行信息配置',
  // [EnterpriseConfigureType.Bank]: '银行信息配置',
  [EnterpriseConfigureType.Electronic]: '电子签配置',
  [EnterpriseConfigureType.ShortMessage]: '短信通道配置',
};
export enum FlexEnterpriseSettingStatus {
  /**
   * 未配置
   */
  NotSetting = -10,
  /**
   * 已配置
   */
  IsSetting = 10,
}
export const FlexEnterpriseSettingStatusText = {
  [FlexEnterpriseSettingStatus.NotSetting]: '未配置',
  [FlexEnterpriseSettingStatus.IsSetting]: '已配置',
};
export enum VerifyStatus {
@@ -71,36 +55,13 @@
  [FlexEnterpriseCertificationStatus.HasCertification]: '已认证',
};
export enum MessageChannelEnum {
  /**
   * 阿里云
   */
  Alipay = 10,
  /**
   * 网易
   */
  NetEasy = 20,
}
export const MessageChannelEnumText = {
  [MessageChannelEnum.Alipay]: '阿里云',
  [MessageChannelEnum.NetEasy]: '网易',
export const EnumSmsAccessText = {
  [EnumSmsAccess.AliyunSms]: '阿里云',
};
export enum SignChannelEnum {
  /**
   * 上上签
   */
  BestSign = 10,
  /**
   * 支付宝电子签
   */
  Alipay = 20,
}
export const SignChannelEnumText = {
  [SignChannelEnum.BestSign]: '上上签',
  [SignChannelEnum.Alipay]: '支付宝电子签',
export const EnumRealAccessText = {
  [EnumRealAccess.BestSign]: '上上签',
  [EnumRealAccess.AlipaySign]: '支付宝电子签',
};
export enum ChargeTypeEnum {
@@ -118,3 +79,12 @@
  [ChargeTypeEnum.Group]: '组合计费',
  [ChargeTypeEnum.Merge]: '一口价',
};
export const IsRealText = {
  false: '未实名',
  true: '已实名',
};
export const IsConfiguredText = {
  false: '未配置',
  true: '已配置',
};
src/services/api/dictionary.ts
@@ -41,7 +41,7 @@
  params: API.APIgetDictionaryCategorySelectParams,
  options?: API.RequestConfig
) {
  return request<API.SelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOption[]>(
  return request<API.SelectOptionGuidGetDictionaryCategorySelectQueryOption[]>(
    '/api/main/dictionary/getDictionaryCategorySelect',
    {
      method: 'GET',
@@ -79,7 +79,7 @@
  params: API.APIgetDictionaryDataSelectParams,
  options?: API.RequestConfig
) {
  return request<API.SelectQueryResultOptionGuidGetDictionaryDataSelectQueryResultOption[]>(
  return request<API.SelectOptionGuidGetDictionaryDataSelectQueryResultOption[]>(
    '/api/main/dictionary/getDictionaryDataSelect',
    {
      method: 'GET',
src/services/api/index.ts
@@ -2,19 +2,19 @@
/* eslint-disable */
// API 更新时间:
// API 唯一标识:
import * as userInfo from './userInfo';
import * as auth from './auth';
import * as menu from './menu';
import * as dictionary from './dictionary';
import * as menu from './menu';
import * as resource from './resource';
import * as role from './role';
import * as userInfo from './userInfo';
import * as enterprise from './enterprise';
export default {
  userInfo,
  auth,
  menu,
  dictionary,
  menu,
  resource,
  role,
  userInfo,
  enterprise,
};
src/services/api/typings.d.ts
@@ -454,7 +454,7 @@
    timestamp?: number;
  }
  interface FriendlyResultListSelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOption {
  interface FriendlyResultListSelectOptionGuidGetDictionaryCategorySelectQueryOption {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
@@ -462,7 +462,7 @@
    /** 错误码 */
    errorCode?: string;
    /** 数据 */
    data?: SelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOption[];
    data?: SelectOptionGuidGetDictionaryCategorySelectQueryOption[];
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
@@ -473,7 +473,7 @@
    timestamp?: number;
  }
  interface FriendlyResultListSelectQueryResultOptionGuidGetDictionaryDataSelectQueryResultOption {
  interface FriendlyResultListSelectOptionGuidGetDictionaryDataSelectQueryResultOption {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
@@ -481,7 +481,7 @@
    /** 错误码 */
    errorCode?: string;
    /** 数据 */
    data?: SelectQueryResultOptionGuidGetDictionaryDataSelectQueryResultOption[];
    data?: SelectOptionGuidGetDictionaryDataSelectQueryResultOption[];
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
@@ -697,10 +697,16 @@
    legalPerson?: string;
    /** 法人身份证号 */
    legalIdentity?: string;
    /** 所在省份Id */
    provinceId?: string;
    /** 所在省份 */
    provinceContent?: string;
    /** 所在城市Id */
    cityId?: string;
    /** 所在城市 */
    cityContent?: string;
    /** 所属行业Id */
    industryTypeId?: string;
    /** 所属行业 */
    industryTypeContent?: string;
    /** 主营业务 */
@@ -1291,7 +1297,7 @@
    resources?: GetRoleQueryResultResource[];
  }
  interface SelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOption {
  interface SelectOptionGuidGetDictionaryCategorySelectQueryOption {
    /** 值 */
    value?: string;
    /** 标签 */
@@ -1300,7 +1306,7 @@
    data?: any;
  }
  interface SelectQueryResultOptionGuidGetDictionaryDataSelectQueryResultOption {
  interface SelectOptionGuidGetDictionaryDataSelectQueryResultOption {
    /** 值 */
    value?: string;
    /** 标签 */
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,7 +54,7 @@
  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';
@@ -138,18 +129,47 @@
      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) {
async function getEnterpriseElectronSignSetting(id: string) {
  try {
    return await enterpriseServices.getEnterpriseElectronSignSetting({ id: id });
  } catch (error) {}
}
async function getEnterpriseSmsSetting(id: string) {
  try {
    return await enterpriseServices.getEnterpriseSmsSetting({ id: id });
  } catch (error) {}
}
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,
      realAccess: electronSignSetting.realAccess,
      realVerifyCost: electronSignSetting.realVerifyCost,
      signCost: electronSignSetting.signCost,
      mergeSignCost: electronSignSetting.mergeSignCost,
      smsAccess: smsSetting.smsAccess,
      chargeType: ChargeTypeEnum.Group,
      smsCost: smsSetting.smsCost,
    });
  } else {
    handleAdd();
    handleAdd({
      enterpriseConfigureType: EnterpriseConfigureType.Electronic,
      chargeType: ChargeTypeEnum.Group,
    });
  }
}
@@ -157,19 +177,27 @@
  onConfirm: handleAddOrEdit,
  defaultFormParams: {
    id: '',
    enterpriseConfigureType: EnterpriseConfigureType.Electronic,
    realAccess: '' as any as EnumRealAccess,
    realVerifyCost: 0,
    signCost: 0,
    mergeSignCost: 0,
    chargeType: ChargeTypeEnum.Group,
    smsAccess: '' as any as EnumSmsAccess,
    smsCost: 0,
  },
});
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) {
@@ -197,6 +225,10 @@
  try {
    let params: API.SetEnterpriseElectronSignSettingCommand = {
      id: editForm.id,
      realAccess: editForm.realAccess,
      realVerifyCost: editForm.realVerifyCost,
      signCost: editForm.signCost,
      mergeSignCost: editForm.mergeSignCost,
    };
    return await enterpriseServices.setEnterpriseElectronSignSetting(params);
  } catch (error) {}
@@ -205,6 +237,8 @@
  try {
    let params: API.SetEnterpriseSmsSettingCommand = {
      id: editForm.id,
      smsAccess: editForm.smsAccess,
      smsCost: editForm.smsCost,
    };
    return await enterpriseServices.setEnterpriseSmsSetting(params);
  } catch (error) {}
src/views/EnterpriseManage/components/AddOrEditEnterpriseView.vue
@@ -4,7 +4,7 @@
      <ChunkCell title="企业基本信息">
        <ProForm :model="form" ref="formRef" label-width="140px" :is-read="isDetail">
          <ProFormCol>
            <ProFormColItem :span="12">
            <ProFormColItem :span="8">
              <ProFormItemV2
                label="企业名称:"
                prop="enterpriseName"
@@ -17,9 +17,7 @@
                />
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="12">
            <ProFormColItem :span="8">
              <ProFormItemV2 label="法人姓名:" prop="legalPerson">
                <ProFormText
                  v-model.trim="form.legalPerson"
@@ -28,9 +26,7 @@
                />
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="12">
            <ProFormColItem :span="8">
              <ProFormItemV2 label="法人身份证号:" prop="legalIdentity">
                <ProFormText
                  v-model.trim="form.legalIdentity"
@@ -41,7 +37,7 @@
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="12">
            <ProFormColItem :span="8">
              <ProFormItemV2
                label="统一社会信用代码:"
                prop="societyCreditCode"
@@ -53,40 +49,31 @@
                />
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="12">
              <ProFormItemV2 label="所在省份:" prop="proviceId">
                <ProFormText
                  v-model.trim="form.proviceId"
                  :maxlength="30"
                  placeholder="请输入所在省份"
            <!-- <ProFormColItem :span="8">
              <ProFormItemV2
                label="所在地区:"
                prop="areaList"
                :check-rules="[
                  {
                    type: 'array',
                    message: '请选择',
                  },
                ]"
              >
                <ProFromAddressSelectV2
                  v-model:areaList="form.areaList"
                  areaListPlaceholder="请选择"
                />
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="12">
            </ProFormColItem> -->
            <ProFormColItem :span="8">
              <ProFormItemV2 label="所属行业:" prop="industryTypeId">
                <ProFormSelect
                  v-model="form.industryTypeId"
                  placeholder="请选择所属行业"
                  :value-enum="typeList"
                  enum-value-key="id"
                  enum-label-key="name"
                  :value-enum="dictionaryDataList"
                  clearable
                ></ProFormSelect>
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="12">
              <ProFormItemV2 label="所在城市:" prop="cityId">
                <ProFormText
                  v-model.trim="form.cityId"
                  :maxlength="30"
                  placeholder="请输入所在城市"
                />
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
@@ -162,7 +149,7 @@
          :is-read="isDetail"
        >
          <ProFormCol>
            <ProFormColItem :span="12">
            <ProFormColItem :span="8">
              <ProFormItemV2
                label="账号:"
                prop="userName"
@@ -172,6 +159,19 @@
                  v-model.trim="form.userName"
                  :maxlength="30"
                  placeholder="请输入账号"
                />
              </ProFormItemV2>
            </ProFormColItem>
            <ProFormColItem :span="8" v-if="!isEdit">
              <ProFormItemV2
                label="密码:"
                prop="password"
                :check-rules="[{ message: '请输入密码' }]"
              >
                <ProFormText
                  v-model.trim="form.password"
                  :maxlength="30"
                  placeholder="请输入密码"
                />
              </ProFormItemV2>
            </ProFormColItem>
@@ -210,25 +210,25 @@
type Props = {
  isDetail: boolean;
  id?: string;
  emitAddEvent?: keyof GlobalEvent;
  emitEditEvent?: keyof GlobalEvent;
  backRouteName?: string;
};
const props = withDefaults(defineProps<Props>(), {
  id: '',
  emitAddEvent: 'enterprise:add',
  emitEditEvent: 'enterprise:edit',
  backRouteName: 'EnterpriseManageList',
});
const route = useRoute();
const isEdit = computed(() => !!props.id);
const id = route.params.id as string;
const isEdit = computed(() => !!id);
const { dictionaryDataList } = useDictionaryDataSelect({
  categoryCode: computed(() => CategoryCode.IndustryCategory),
});
const { closeViewPush } = useRouteView();
const eventContext = useGlobalEventContext();
const typeList = ref([]);
const form = reactive({
  id: '',
@@ -238,28 +238,40 @@
  societyCreditCode: '',
  industryTypeId: '',
  mainBusiness: '',
  proviceId: '',
  cityId: '',
  areaList: [130000, 131000] as number[],
  contacts: '',
  contactPhoneNumber: '',
  contactEmail: '',
  userName: '',
  password: '',
});
onMounted(async () => {});
const { isLoading } = useQuery({
  queryKey: ['enterpriseServices/getEnterprise', props.id],
  queryKey: ['enterpriseServices/getEnterprise', id],
  queryFn: async () => {
    return await enterpriseServices.getEnterprise(
      { id: props.id },
      { id: id },
      {
        showLoading: false,
      }
    );
  },
  onSuccess(data) {},
  enabled: computed(() => !!props.id),
  onSuccess(data) {
    form.id = data.id;
    form.enterpriseName = data.enterpriseName;
    form.legalPerson = data.legalPerson;
    form.legalIdentity = data.legalIdentity;
    form.societyCreditCode = data.societyCreditCode;
    form.industryTypeId = data.industryTypeId;
    form.mainBusiness = data.mainBusiness;
    form.contacts = data.contacts;
    form.contactPhoneNumber = data.contactPhoneNumber;
    form.contactEmail = data.contactEmail;
    form.userName = data.userName;
  },
  enabled: computed(() => !!id),
});
const formRef = ref<FormInstance>();
@@ -286,17 +298,18 @@
      legalPerson: form.legalPerson,
      legalIdentity: form.legalIdentity,
      societyCreditCode: form.societyCreditCode,
      provinceId: form.proviceId,
      cityId: form.cityId,
      provinceId: '',
      cityId: '',
      industryTypeId: form.industryTypeId,
      mainBusiness: form.mainBusiness,
      contacts: form.contacts,
      contactPhoneNumber: form.contactPhoneNumber,
      contactEmail: form.contactEmail,
      userName: form.userName,
      password: form.password,
    };
    if (isEdit.value) {
      params.id = props.id;
      params.id = id;
    }
    let res = await enterpriseServices.saveEnterprise(params);
    if (res) {
src/views/EnterpriseManage/components/ConfigureDialog.vue
@@ -1,24 +1,24 @@
<template>
  <ProDialog title="配置" v-model="innerVisible" @close="onDialogClose" destroy-on-close draggable>
    <ProForm :model="innerForm" ref="dialogForm" label-width="100px">
  <ProDialog title="配置" v-model="visible" @close="onDialogClose" destroy-on-close draggable>
    <ProForm :model="form" ref="dialogForm" label-width="100px">
      <ProFormItemV2 label="" prop="enterpriseConfigureType" label-width="0">
        <ProFormRadio
          v-model="innerForm.enterpriseConfigureType"
          v-model="form.enterpriseConfigureType"
          :value-enum="EnterpriseConfigureTypeText"
          buttonStyle
        />
      </ProFormItemV2>
      <template v-if="innerForm.enterpriseConfigureType === EnterpriseConfigureType.Bank">
      <!-- <template v-if="form.enterpriseConfigureType === EnterpriseConfigureType.Bank">
        <ProFormItemV2 label="开户总行:" prop="openBank">
          <ProFormText
            v-model.trim="innerForm.openBank"
            v-model.trim="form.openBank"
            placeholder="请输入开户总行"
            :maxlength="40"
          />
        </ProFormItemV2>
        <ProFormItemV2 label="开户支行:" prop="openBranchBank">
          <ProFormText
            v-model.trim="innerForm.openBranchBank"
            v-model.trim="form.openBranchBank"
            placeholder="请输入开户支行"
            :maxlength="40"
          />
@@ -31,25 +31,25 @@
            { message: '银行账户仅支持数字', pattern: BoleRegExp.RegNumber },
          ]"
        >
          <ProFormText v-model.trim="innerForm.bankAccount" placeholder="请输入银行账户" />
          <ProFormText v-model.trim="form.bankAccount" placeholder="请输入银行账户" />
        </ProFormItemV2>
        <ProFormItemV2 label="银行账户:" prop="verifyStatus">
          {{ VerifyStatusText[innerForm.verifyStatus] }}
          {{ VerifyStatusText[form.verifyStatus] }}
          <el-button style="margin-left: 40px" type="primary" link @click="handleCheckBankAccount"
            >校验</el-button
          >
        </ProFormItemV2>
      </template>
      <template v-if="innerForm.enterpriseConfigureType === EnterpriseConfigureType.Electronic">
      </template> -->
      <template v-if="form.enterpriseConfigureType === EnterpriseConfigureType.Electronic">
        <div class="configure-dialog-form-title">通道配置</div>
        <ProFormItemV2
          label="名称:"
          prop="signChannel"
          prop="realAccess"
          :checkRules="[{ message: '请选择电子签通道' }]"
        >
          <ProFormSelect
            v-model="form.signChannel"
            :valueEnum="SignChannelEnumText"
            v-model="form.realAccess"
            :valueEnum="EnumRealAccessText"
            placeholder="请选择电子签通道"
          >
          </ProFormSelect>
@@ -62,15 +62,15 @@
        >
          <ProFormRadio
            :button-style="false"
            v-model="innerForm.chargeType"
            v-model="form.chargeType"
            :value-enum="ChargeTypeEnumText"
          />
        </ProFormItemV2>
        <template v-if="innerForm.chargeType === ChargeTypeEnum.Group">
        <template v-if="form.chargeType === ChargeTypeEnum.Group">
          <ProFormItemV2 label="实名费用:" prop="realVerifyCost">
            <ProFormInputNumber
              :controls="false"
              v-model="innerForm.realVerifyCost"
              v-model="form.realVerifyCost"
              placeholder="请输入"
              unit="元/条"
            />
@@ -78,42 +78,42 @@
          <ProFormItemV2 label="签约费用:" prop="signCost">
            <ProFormInputNumber
              :controls="false"
              v-model="innerForm.signCost"
              v-model="form.signCost"
              placeholder="请输入"
              unit="元/份"
            />
          </ProFormItemV2>
        </template>
        <template v-if="innerForm.chargeType === ChargeTypeEnum.Merge">
        <template v-if="form.chargeType === ChargeTypeEnum.Merge">
          <ProFormItemV2 label="统一电子签:" prop="mergeSignCost">
            <ProFormInputNumber
              :controls="false"
              v-model="innerForm.mergeSignCost"
              v-model="form.mergeSignCost"
              placeholder="请输入"
              unit="元/份"
            />
          </ProFormItemV2>
        </template>
      </template>
      <template v-if="innerForm.enterpriseConfigureType === EnterpriseConfigureType.ShortMessage">
      <template v-if="form.enterpriseConfigureType === EnterpriseConfigureType.ShortMessage">
        <div class="configure-dialog-form-title">通道配置</div>
        <ProFormItemV2
        <!-- <ProFormItemV2
          label="名称:"
          prop="messageChannel"
          :checkRules="[{ message: '请选择短信通道' }]"
        >
          <ProFormSelect
            v-model="form.messageChannel"
            :valueEnum="MessageChannelEnumText"
            :valueEnum="EnumSmsAccessText"
            placeholder="请选择短信通道"
          >
          </ProFormSelect>
        </ProFormItemV2>
        </ProFormItemV2> -->
        <div class="configure-dialog-form-title">费用配置</div>
        <ProFormItemV2 label="短信费用:" prop="messageCost">
        <ProFormItemV2 label="短信费用:" prop="smsCost">
          <ProFormInputNumber
            :controls="false"
            v-model="innerForm.messageCost"
            v-model="form.smsCost"
            placeholder="请输入"
            unit="元/条"
          />
@@ -146,66 +146,41 @@
  EnterpriseConfigureTypeText,
  ChargeTypeEnum,
  ChargeTypeEnumText,
  SignChannelEnum,
  SignChannelEnumText,
  EnumRealAccessText,
  VerifyStatusText,
  VerifyStatus,
  MessageChannelEnum,
  MessageChannelEnumText,
  EnumSmsAccessText,
  EnumRealAccess,
} from '@/constants';
defineOptions({
  name: 'ConfigureDialog',
});
type Props = {
  modelValue: boolean;
  form?: {
    enterpriseConfigureType: EnterpriseConfigureType;
    openBank: string;
    openBranchBank: string;
    bankAccount: string;
    verifyStatus: VerifyStatus;
    signChannel: SignChannelEnum;
    chargeType: ChargeTypeEnum;
    realVerifyCost: number;
    signCost: number;
    mergeSignCost: number;
    messageCost: number;
    messageChannel: MessageChannelEnum;
  };
type Form = {
  enterpriseConfigureType: EnterpriseConfigureType;
  // openBank: string;
  // openBranchBank: string;
  // bankAccount: string;
  // verifyStatus: VerifyStatus;
  chargeType: ChargeTypeEnum;
  realAccess: EnumRealAccess;
  realVerifyCost: number;
  signCost: number;
  mergeSignCost: number;
  smsAccess: EnumSmsAccess;
  smsCost: number;
};
const props = withDefaults(defineProps<Props>(), {
  modelValue: false,
});
const form = defineModel<Form>('form');
const visible = defineModel({ type: Boolean });
const emit = defineEmits<{
  (e: 'update:modelValue', value: boolean): void;
  (e: 'update:form', value: Props['form']): void;
  (e: 'onConfirm'): void;
  (e: 'onCancel'): void;
}>();
const dialogForm = ref<FormInstance>();
const innerVisible = computed({
  get() {
    return props.modelValue;
  },
  set(val) {
    emit('update:modelValue', val);
  },
});
const innerForm = computed({
  get() {
    return props.form;
  },
  set(val) {
    emit('update:form', val);
  },
});
function handleCheckBankAccount() {}