فهرست منبع

修改客户修改字段

wxy 4 ماه پیش
والد
کامیت
d5deac1681
2فایلهای تغییر یافته به همراه128 افزوده شده و 114 حذف شده
  1. 5 5
      src/views/system/user/form.vue
  2. 123 109
      src/views/tariffManagement/customer/NewCustomerForm.vue

+ 5 - 5
src/views/system/user/form.vue

@@ -47,14 +47,14 @@
         <a-input v-model="form.name"   placeholder="请输入用户姓名" />
       </a-form-item>
 
-      <a-form-item
+      <!-- <a-form-item
       field="roleIds"
         label="账号角色"
         :rules="[{ required: false, message: '请选择账号角色' }]"
         :validate-trigger="['change', 'input', 'blur']"
       >
         <a-select v-model="form.roleIds" placeholder="请输入用户账号" style="width: 320px;" :options="form.roleList" multiple  :field-names="{ label: 'name', value: 'id' }" />
-      </a-form-item>
+      </a-form-item> -->
 
       <a-form-item field="state" label="账号状态" :rules="[{ required: true, message: '请选择账号状态' }]">
         <a-switch v-model="form.state" checked-value="1" unchecked-value="0" />
@@ -100,7 +100,7 @@ const handleSubmit = async (values) => {
       id: props.data.id,
       username: values.username,
       state: values.state,
-      roleIds: values.roleIds,
+      // roleIds: values.roleIds,
       name: values.name,
     };
     if (values.password !== '') {
@@ -113,7 +113,7 @@ const handleSubmit = async (values) => {
       password: encryptByDES(values.password),
       username: values.username,
       state: values.state,
-      roleIds: values.roleIds,
+      // roleIds: values.roleIds,
       name: values.name,
     };
     res = await userAdd(param); // 调用新增接口
@@ -142,7 +142,7 @@ const getRoleList = async () => {
 }
 
 const changeKeyName = async (value, cb) => {
-  const rgxText = '账号为数字或字母,长度6-20!'
+  const rgxText = '账号为数字或字母,长度5-20!'
   if (/^[0-9 | A-Z | a-z]{5,20}$/.test(value.toString())) {
     cb()
   } else {

+ 123 - 109
src/views/tariffManagement/customer/NewCustomerForm.vue

@@ -1,40 +1,40 @@
 <template>
   <a-modal :visible="visible" :title="editMode ? $t('customer.editCustomer') : $t('customer.addCustomer')"
-           :loading="loading" @ok="handleSubmit" @cancel="handleCancel" :width="720"  :okText="$t('form.Confirm')"
-           :cancelText="$t('form.Cancel')">
+    :loading="loading" @ok="handleSubmit" @cancel="handleCancel" :width="720" :okText="$t('form.Confirm')"
+    :cancelText="$t('form.Cancel')">
     <a-tabs>
       <!-- 基本信息 Tab -->
       <a-tab-pane key="1" :title="$t('customer.basicInfo')">
         <a-form :model="formData" :rules="rules" ref="formRef" :label-col-props="{ span: 6 }"
-                :wrapper-col-props="{ span: 18 }">
+          :wrapper-col-props="{ span: 18 }">
           <a-divider>{{ $t('customer.basicInfoSection') }}</a-divider>
           <!-- Customer Code -->
           <a-form-item field="zip" :label="$t('customer.customerCode')" required validate-trigger="blur">
             <a-input v-model="formData.zip" :placeholder="$t('customer.enterCustomerCode')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
 
           <a-form-item field="email" :label="$t('customer.emailName')" required validate-trigger="blur">
             <a-input v-model="formData.email" :placeholder="$t('customer.emailType')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <a-form-item field="phone" :label="$t('customer.phoneName')" required validate-trigger="blur">
-            <a-input v-model="formData.phone" :placeholder="$t('customer.phoneType')" show-word-limit/>
+            <a-input v-model="formData.phone" :placeholder="$t('customer.phoneType')" show-word-limit />
           </a-form-item>
           <!-- Customer Name -->
           <a-form-item field="name" :label="$t('customer.customerName')" required validate-trigger="blur">
             <a-input v-model="formData.name" :placeholder="$t('customer.enterCustomerName')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <!-- Account Number -->
           <a-form-item field="username" :label="$t('customer.accountNumber')" required validate-trigger="blur">
             <a-input v-model="formData.username" :placeholder="$t('customer.enterAccountNumber')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <!-- Password -->
           <a-form-item field="password" :label="$t('customer.password')" required validate-trigger="blur">
             <a-input-password v-model="formData.password" :placeholder="$t('customer.enterPassword')" :max-length="60"
-                              show-word-limit/>
+              show-word-limit />
             <a-button type="primary" @click="generatePassword">{{ $t('customer.generatePassword') }}</a-button>
           </a-form-item>
           <!--          role-->
@@ -53,17 +53,17 @@
           <!-- Remark -->
           <a-form-item field="note" :label="$t('customer.remark')" required validate-trigger="blur">
             <a-input v-model="formData.note" :placeholder="$t('customer.enterRemark')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <!-- Account Balance -->
           <a-form-item field="amount" :label="$t('customer.accountBalance')" required validate-trigger="blur">
             <a-input-number v-model="formData.amount" :min="0" :precision="2" :step="100"
-                            :suffix="$t('customer.currency')"/>
+              :suffix="$t('customer.currency')" />
           </a-form-item>
           <!-- Address -->
           <a-form-item field="addr" :label="$t('customer.address')" required validate-trigger="blur">
             <a-input v-model="formData.addr" :placeholder="$t('customer.addressMessage')" :max-length="50"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <!-- Status -->
           <a-form-item field="state" :label="$t('customer.statusName')" required validate-trigger="blur">
@@ -80,23 +80,23 @@
       <!-- SMS 信息 Tab -->
       <a-tab-pane key="2" :title="$t('customer.smsInfoSection')">
         <a-form :model="formData" :rules="rules" ref="formRef" :label-col-props="{ span: 6 }"
-                :wrapper-col-props="{ span: 18 }">
+          :wrapper-col-props="{ span: 18 }">
           <a-divider>{{ $t('customer.smsInfoSection') }}</a-divider>
           <a-form-item field="sms" :label="$t('customer.smsSubCode')" required validate-trigger="blur">
             <a-input v-model="formData.sms" :placeholder="$t('customer.enterSmsSubCode')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <a-form-item field="smsSignature" :label="$t('customer.smsName')" required validate-trigger="blur">
             <a-input v-model="formData.smsSignature" :placeholder="$t('customer.enterSmsName')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <a-form-item field="loginSms" :label="$t('customer.loginSmsTemplate')" required validate-trigger="blur">
             <a-input v-model="formData.loginSms" :placeholder="$t('customer.enterLoginSmsTemplate')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <a-form-item field="warnSms" :label="$t('customer.alarmSmsTemplate')" required validate-trigger="blur">
             <a-input v-model="formData.warnSms" :placeholder="$t('customer.enterAlarmSmsTemplate')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
         </a-form>
       </a-tab-pane>
@@ -104,43 +104,43 @@
       <!-- Billing Information Tab -->
       <a-tab-pane key="3" :title="$t('customer.billingInfo')">
         <a-form :model="formData" :rules="rules" ref="formRef" :label-col-props="{ span: 6 }"
-                :wrapper-col-props="{ span: 18 }">
+          :wrapper-col-props="{ span: 18 }">
           <a-divider>{{ $t('customer.InvoiceInformation') }}</a-divider>
           <a-form-item field="invoiceTitle" :label="$t('customer.invoiceTitle')" required validate-trigger="blur">
             <a-input v-model="formData.invoiceTitle" :placeholder="$t('customer.enterInvoiceTitle')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <a-form-item field="invoiceType" :label="$t('customer.invoice_vatTextType')" required validate-trigger="blur">
             <a-select v-model="formData.invoiceType" :style="{ width: '100%' }"
-                      :placeholder="$t('customer.invoice_vatTextTypeSelect')">
-              <a-option v-for="item of invoiceList" :value="item.value" :label="item.label"/>
+              :placeholder="$t('customer.invoice_vatTextTypeSelect')">
+              <a-option v-for="item of invoiceList" :value="item.value" :label="item.label" />
             </a-select>
           </a-form-item>
           <a-form-item field="invoiceAddr" :label="$t('customer.registeredAddress')" required validate-trigger="blur">
             <a-input v-model="formData.invoiceAddr" :placeholder="$t('customer.enterRegisteredAddress')"
-                     :max-length="60" show-word-limit/>
+              :max-length="60" show-word-limit />
           </a-form-item>
           <a-form-item field="invoiceZip" :label="$t('customer.invoiceCode')" required validate-trigger="blur">
             <a-input v-model="formData.invoiceZip" :placeholder="$t('customer.InvoiceCodeName')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <a-form-item field="invoiceEmail" :label="$t('customer.invoiceEmailName')" required validate-trigger="blur">
             <a-input v-model="formData.invoiceEmail" :placeholder="$t('customer.invoiceEmailNameType')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <a-form-item field="bankName" :label="$t('customer.bankName')" required validate-trigger="blur">
             <a-input v-model="formData.bankName" :placeholder="$t('customer.enterBankName')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <a-form-item field="bankAccount" :label="$t('customer.BankNumber')" required validate-trigger="blur">
             <a-input v-model="formData.bankAccount" :placeholder="$t('customer.BankNumberName')" :max-length="60"
-                     show-word-limit/>
+              show-word-limit />
           </a-form-item>
           <a-form-item field="bankBranch" :label="$t('customer.bank_branchName')" required validate-trigger="blur">
-            <a-input v-model="formData.bankBranch" :placeholder="$t('customer.bank_branchNameType')" show-word-limit/>
+            <a-input v-model="formData.bankBranch" :placeholder="$t('customer.bank_branchNameType')" show-word-limit />
           </a-form-item>
           <a-form-item field="businessLicense" :label="$t('customer.BusinessLicense')" required validate-trigger="blur">
-            <upload v-model="formData.businessLicense"/>
+            <upload v-model="formData.businessLicense" />
           </a-form-item>
         </a-form>
       </a-tab-pane>
@@ -148,67 +148,62 @@
       <!-- Tax Registration Tab -->
       <a-tab-pane key="4" :title="$t('customer.TaxRegistration')">
         <a-form :model="formData" :rules="rules" ref="formRef" :label-col-props="{ span: 8 }"
-                :wrapper-col-props="{ span: 16 }">
+          :wrapper-col-props="{ span: 16 }">
           <a-divider>{{ $t('customer.TaxRegistrationText') }}</a-divider>
           <a-form-item field="taxRegistrationCertificate" :label="$t('customer.photocopy')" required
-                       validate-trigger="blur">
-            <upload v-model:modelValue="formData.taxRegistrationCertificate"/>
+            validate-trigger="blur">
+            <upload v-model:modelValue="formData.taxRegistrationCertificate" />
           </a-form-item>
           <a-form-item field="taxpayerQualification" :label="$t('customer.CertificationQualification')" required
-                       validate-trigger="blur">
-            <upload v-model:modelValue="formData.taxpayerQualification"/>
+            validate-trigger="blur">
+            <upload v-model:modelValue="formData.taxpayerQualification" />
           </a-form-item>
         </a-form>
       </a-tab-pane>
 
       <a-tab-pane key="5" :title="$t('forewarning.forewarning')">
         <a-form :model="formData" :rules="rules" ref="formRef" :label-col-props="{ span: 4 }"
-                :wrapper-col-props="{ span: 20 }">
+          :wrapper-col-props="{ span: 20 }">
           <a-divider>{{ $t('forewarning.EarlyWarningSetting') }}</a-divider>
           <a-form-item field="amountWarn" :label="$t('forewarning.AccountBalanceAlarm')" required
-                       validate-trigger="blur">
-            <a-input v-model="formData.amountWarn" :placeholder="$t('form.datapoolForm.pleaseEnter')" :max-length="60" :style="{ width: '320px' }"
-                     show-word-limit/>
+            validate-trigger="blur">
+            <a-input v-model="formData.amountWarn" :placeholder="$t('form.datapoolForm.pleaseEnter')" :max-length="60"
+              :style="{ width: '320px' }" show-word-limit />
           </a-form-item>
-          <a-form-item field="arriveWarn" :label="$t('forewarning.ReachWarning')" required
-                       validate-trigger="blur">
+          <a-form-item field="arriveWarn" :label="$t('forewarning.ReachWarning')" required validate-trigger="blur">
             <a-input-number v-model="formData.arriveWarn" :style="{ width: '320px' }"
-                            :placeholder="$t('form.datapoolForm.pleaseEnter')" allow-clear hide-button>
+              :placeholder="$t('form.datapoolForm.pleaseEnter')" allow-clear hide-button>
               <template #suffix>
                 %
               </template>
             </a-input-number>
           </a-form-item>
-          <a-form-item field="arriveStop" :label=" $t('forewarning.ShutDown')" required
-                       validate-trigger="blur">
+          <a-form-item field="arriveStop" :label="$t('forewarning.ShutDown')" required validate-trigger="blur">
             <a-input-number v-model="formData.arriveStop" :style="{ width: '320px' }"
-                            :placeholder="$t('form.datapoolForm.pleaseEnter')" allow-clear hide-button>
+              :placeholder="$t('form.datapoolForm.pleaseEnter')" allow-clear hide-button>
               <template #suffix>
                 %
               </template>
             </a-input-number>
             <a-radio-group v-model="formData.arriveStopOperation" :options="reachList"></a-radio-group>
           </a-form-item>
-          <a-form-item field="arriveNetwork" :label="$t('forewarning.NetworkOutage')" required
-                       validate-trigger="blur">
+          <a-form-item field="arriveNetwork" :label="$t('forewarning.NetworkOutage')" required validate-trigger="blur">
             <a-input-number v-model="formData.arriveNetwork" :style="{ width: '320px' }"
-                            :placeholder="$t('form.datapoolForm.pleaseEnter')" allow-clear hide-button>
+              :placeholder="$t('form.datapoolForm.pleaseEnter')" allow-clear hide-button>
               <template #suffix>
                 %
               </template>
             </a-input-number>
             <a-radio-group v-model="formData.arriveStopNetwork" :options="reachList"></a-radio-group>
           </a-form-item>
-          <a-form-item field="warnPhone" :label="$t('forewarning.EarlyWarningPhone')" required
-                       validate-trigger="blur">
+          <a-form-item field="warnPhone" :label="$t('forewarning.EarlyWarningPhone')" required validate-trigger="blur">
             <a-input-number v-model="formData.warnPhone" :style="{ width: '320px' }"
-                            :placeholder="$t('form.datapoolForm.pleaseEnter')" allow-clear hide-button>
+              :placeholder="$t('form.datapoolForm.pleaseEnter')" allow-clear hide-button>
             </a-input-number>
           </a-form-item>
-          <a-form-item field="warnEmail" :label="$t('forewarning.WarningMailbox')" required
-                       validate-trigger="blur">
+          <a-form-item field="warnEmail" :label="$t('forewarning.WarningMailbox')" required validate-trigger="blur">
             <a-input-number v-model="formData.warnEmail" :style="{ width: '320px' }"
-                            :placeholder="$t('form.datapoolForm.pleaseEnter')" allow-clear hide-button>
+              :placeholder="$t('form.datapoolForm.pleaseEnter')" allow-clear hide-button>
             </a-input-number>
           </a-form-item>
         </a-form>
@@ -219,18 +214,16 @@
 
 
 <script setup>
-import {ref, watch, onMounted} from 'vue';
-import {Message} from '@arco-design/web-vue';
-import {useI18n} from 'vue-i18n';
-import {useSystemStore} from '@/store/modules/systemStore.js'
-import {dictionaryDetail} from '@/api/path/dict.js'
+import { ref, watch, onMounted } from 'vue';
+import { Message } from '@arco-design/web-vue';
+import { useI18n } from 'vue-i18n';
+import { dictionaryDetail } from '@/api/path/dict.js'
 import Upload from "@/components/upload/index.vue";
-import {systemFindRoleList} from "@/api/path/system.api.js";
-import {addCustomer, updateCustomer} from "@/api/customer.js";
+import { systemFindRoleList } from "@/api/path/system.api.js";
+import { addCustomer, updateCustomer } from "@/api/customer.js";
 
-const {t} = useI18n();
-const systemStore = useSystemStore()
-import {encryptByDES} from '@/utils/crypto.js'
+const { t } = useI18n();
+import { encryptByDES } from '@/utils/crypto.js'
 
 const props = defineProps({
   visible: Boolean,
@@ -242,22 +235,41 @@ const props = defineProps({
 const invoiceList = ref([])
 const roles = ref([])
 watch(
-    () => props.editData,
-    (newVal) => {
-      if (newVal && props.editMode) {
-        // 深拷贝编辑数据
-        const editDataCopy = JSON.parse(JSON.stringify(newVal));
-
-        // 将 formData 中嵌套的 info 展平为一层
-        const flattenedFormData = ref(Object.fromEntries(Object.entries(editDataCopy).flatMap(([key, value]) => typeof value === 'object' && value !== null && !Array.isArray(value) ? Object.entries(value) : [[key, value]])));
-        if (editDataCopy.info) {
-          delete editDataCopy.info;
-        }
-        const formDataList = {...editDataCopy, ...flattenedFormData.value}
-        formData.value = formDataList
+  () => props.editData,
+  (newVal) => {
+    if (newVal && props.editMode) {
+      // 深拷贝编辑数据
+      const editDataCopy = JSON.parse(JSON.stringify(newVal));
+      delete editDataCopy.alert.id
+      delete editDataCopy.alert.userId
+      delete editDataCopy.alert.createdAt
+      delete editDataCopy.alert.deletedAt
+      delete editDataCopy.alert.updatedAt
+      // 检查并展平嵌套的 info 对象
+      let flattenedFormData = {};
+      let flasAlert = {}
+      if (editDataCopy.info) {
+        flattenedFormData = { ...editDataCopy.info }; // 展平 info 的键值对
+        flasAlert = {...editDataCopy.alert}
+        delete editDataCopy.info; // 删除原始 info 字段
+        delete editDataCopy.alert; // 删除原始 info 字段
       }
-    },
-    {deep: true, immediate: true}
+
+      // 合并 editDataCopy 和 flattenedFormData
+      const formDataList = {
+        ...editDataCopy,
+        ...flattenedFormData, // 此处直接使用展开后的 flattenedFormData
+        ...flasAlert
+      };
+
+      // 更新 formData 的值
+      formData.value = formDataList;
+
+      console.log(formDataList);
+    }
+
+  },
+  { deep: true, immediate: true }
 );
 
 const emit = defineEmits(['update:visible', 'submit']);
@@ -293,7 +305,7 @@ const formData = ref({
   amountWarn: '',
   arriveWarn: '',
   arriveStop: '',
-  arriveNetwork:'',
+  arriveNetwork: '',
   arriveStopOperation: '',
   arriveStopNetwork: '',
   warnPhone: '',
@@ -301,42 +313,44 @@ const formData = ref({
 });
 
 const rules = {
-  userName: [{required: true, message: t('customer.enterAccountNumber')}],
-  state: [{required: true, message: t('customer.stateType')}],
-  name: [{required: true, message: t('customer.nameType')}],
-  password: [{required: true, message: t('customer.passwordRequired')}],
+  userName: [{ required: true, message: t('customer.enterAccountNumber') }],
+  state: [{ required: true, message: t('customer.stateType') }],
+  name: [{ required: true, message: t('customer.nameType') }],
+  password: [{ required: true, message: t('customer.passwordRequired') }],
   // roleIds: [{required: true, message: t('customer.roleIdsType')}],
   // userType: [{required: true, message: t('customer.userTypeType')}],
-  phone: [{required: true, message: t('customer.phoneType')}],
-  email: [{required: true, message: t('customer.emailType')}],
-  addr: [{required: true, message: t('customer.addressRequired')}],
-  amount: [{required: true, message: t('customer.amountRequired')}],
-  bankAccount: [{required: true, message: t('customer.bankAccountRequired')}],
-  bankBranch: [{required: true, message: t('customer.bankBranchRequired')}],
-  bankName: [{required: true, message: t('customer.bankNameRequired')}],
-  businessLicense: [{required: true, message: t('customer.businessLicenseRequired')}],
-  invoiceAddr: [{required: true, message: t('customer.invoiceAddressRequired')}],
-  invoiceEmail: [{required: true, message: t('customer.invoiceEmailRequired')}],
-  invoiceTitle: [{required: true, message: t('customer.invoiceTitleRequired')}],
-  invoiceType: [{required: true, message: t('customer.invoiceTypeRequired')}],
-  invoiceZip: [{required: true, message: t('customer.invoiceZipRequired')}],
-  loginSms: [{required: true, message: t('customer.loginSMSTemplateRequired')}],
-  note: [{required: true, message: t('customer.noteRequired')}],
-  sms: [{required: true, message: t('customer.smsRequired')}],
-  smsSignature: [{required: true, message: t('customer.smsSignatureRequired')}],
-  warnSms: [{required: true, message: t('customer.warnSMSTemplateRequired')}],
-  zip: [{required: true, message: t('customer.zipCodeRequired')}],
-  taxRegistrationCertificate: [{required: true, message: t('customer.taxRegistrationCertificateRequired')}],
-  taxpayerQualification: [{required: true, message: t('customer.taxpayerQualificationRequired')}],
+  phone: [{ required: true, message: t('customer.phoneType') }],
+  email: [{ required: true, message: t('customer.emailType') }],
+  addr: [{ required: true, message: t('customer.addressRequired') }],
+  amount: [{ required: true, message: t('customer.amountRequired') }],
+  bankAccount: [{ required: true, message: t('customer.bankAccountRequired') }],
+  bankBranch: [{ required: true, message: t('customer.bankBranchRequired') }],
+  bankName: [{ required: true, message: t('customer.bankNameRequired') }],
+  businessLicense: [{ required: true, message: t('customer.businessLicenseRequired') }],
+  invoiceAddr: [{ required: true, message: t('customer.invoiceAddressRequired') }],
+  invoiceEmail: [{ required: true, message: t('customer.invoiceEmailRequired') }],
+  invoiceTitle: [{ required: true, message: t('customer.invoiceTitleRequired') }],
+  invoiceType: [{ required: true, message: t('customer.invoiceTypeRequired') }],
+  invoiceZip: [{ required: true, message: t('customer.invoiceZipRequired') }],
+  loginSms: [{ required: true, message: t('customer.loginSMSTemplateRequired') }],
+  note: [{ required: true, message: t('customer.noteRequired') }],
+  sms: [{ required: true, message: t('customer.smsRequired') }],
+  smsSignature: [{ required: true, message: t('customer.smsSignatureRequired') }],
+  warnSms: [{ required: true, message: t('customer.warnSMSTemplateRequired') }],
+  zip: [{ required: true, message: t('customer.zipCodeRequired') }],
+  taxRegistrationCertificate: [{ required: true, message: t('customer.taxRegistrationCertificateRequired') }],
+  taxpayerQualification: [{ required: true, message: t('customer.taxpayerQualificationRequired') }],
 };
 
 
 const handleSubmit = () => {
   formRef.value.validate(async (errors) => {
     if (!errors) {
-      return;
-      let response;
       formData.value.password = encryptByDES(formData.value.password);
+      formData.value.amountWarn = Number(formData.value.amountWarn);
+      formData.value.warnPhone = String(formData.value.warnPhone);
+      formData.value.warnEmail = String(formData.value.warnEmail);
+      let response;
       if (props.editMode) {
         response = await updateCustomer(formData.value);
       } else {
@@ -373,14 +387,14 @@ const generatePassword = () => {
 
 
 const getDistList = async () => {
-  let code = ['invoiceVat','reach'];
+  let code = ['invoiceVat', 'reach'];
 
   for (let i = 0; i < code.length; i++) {
-    let res = await dictionaryDetail({typeKey: code[i]});
+    let res = await dictionaryDetail({ typeKey: code[i] });
     if (res.code === 200) {
-      if(i==0){
+      if (i == 0) {
         invoiceList.value = res.data;
-      }else{
+      } else {
         reachList.value = res.data;
       }