浏览代码

修改客户资料

huangbin 4 年之前
父节点
当前提交
fdc516bb78

+ 3 - 1
src/common/export/commonTable.ts

@@ -1,12 +1,14 @@
 import BtnList from '@/common/components/btnList/index.vue';
-import MtpTableButton from '@/common/components/tableButton/index.vue';
 import contextMenu from '@/common/components/contextMenu/temp.vue';
+import MtpTableButton from '@/common/components/tableButton/index.vue';
 import { ModalEnum } from '@/common/constants/modalNameEnum';
 import { ComposeTableParam, handleComposeTable } from '@/common/setup/table/compose';
 import { queryTableList } from '@/common/setup/table/index';
 import { defineAsyncComponent, defineComponent } from 'vue';
 
+export { useRouteName } from '@/hooks/route';
 export { queryTableList, BtnList, MtpTableButton, contextMenu, defineAsyncComponent, defineComponent, ModalEnum, handleComposeTable };
 export type { ComposeTableParam };
 
 
+

+ 1 - 1
src/common/setup/table/button.ts

@@ -264,7 +264,7 @@ export function getButtonList(menuType: EnumRouterName, hasDetail: boolean) {
 /**
  * 根据code权限获取按钮列表
  */
-export function getTableButton(codes: string[]): BtnListType[] {
+export function getTableButton(codes: string[] = []): BtnListType[] {
     const { meta } = useRoute();
     const auth = meta.auth as OperationTabMenuAuth[];
 

+ 1 - 1
src/common/setup/table/index.ts

@@ -5,8 +5,8 @@ import { getTableColumns } from './clolumn';
 import { getTableEvent } from './event';
 import { queryTableList } from './list';
 
-
 export { getTableColumns, getTableEvent, getBtnList, _getBtnList, queryTableList };
 export type { Column, ColumnType };
 
 
+

+ 9 - 0
src/hooks/route/index.ts

@@ -0,0 +1,9 @@
+import { useRoute } from 'vue-router';
+export const useRouteName = () => {
+    // 路由名
+    const { name: routeName } = useRoute();
+    function isRouterName(code: string) {
+        return routeName === code
+    }
+    return { routeName, isRouterName }
+}

+ 64 - 34
src/views/business/exposure/list/realTime/index.vue

@@ -1,39 +1,68 @@
 <template>
-    <!-- 实时敞口-->
-    <div class="exposure-real-time table-height" :loading="loading">
-        <div class="real-time-header" v-if="isPingAnOem()">
-            <span class="dialogSpan">每隔</span>
-            <a-select class="typeSelect real-time-select" style="width: 100px" v-model:value="timer" @change="timerChange" placeholder="请选择间隔时间">
-                <a-select-option :value="item.id" v-for="item in diffTimes" :key="item.id">
-                    {{ item.name }}
-                </a-select-option>
-            </a-select>
-            <span class="dialogSpan">刷新一次,倒计时 </span> <span class="red">{{ num }}</span>
-            <a-button type="button" class="operBtn ant-btn" @click="setTimerAction">{{ isStart ? '停止监控' : '开始监控' }}</a-button>
-        </div>
-        <filterCustomTable @search="updateColumn" v-else> </filterCustomTable>
-        <a-table :columns="columns" class="topOrderTable" :pagination="false" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" rowKey="key" :data-source="tableList" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
-            <template v-if="isPingAnOem()" #index="{ index }">
-                <span>{{ index + 1 }}</span>
-            </template>
-        </a-table>
-        <!-- 明细 -->
-        <Description v-if="visible" @close="closeDrawer" @changeTab="changeTab" :tabList="tabList">
-            <a-table :columns="columnsDetail" class="topTable" :pagination="false" rowKey="key" :data-source="detailTableList" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
-                <!-- 套保品种/代码 -->
-                <template #middlegoodsname="{ record }" v-if="!isPingAnOem()">
-                    <span>{{ record.middlegoodsname + '/' + record.middlegoodscode }}</span>
-                </template>
-                <template v-if="isPingAnOem()" #index="{ index }">
-                    <span>{{ index + 1 }}</span>
-                </template>
-                <!-- 类型 -->
-                <template #contracttype="{ record }">
-                    <span>{{ getPlanContractType(record.contracttype) }}</span>
-                </template>
-            </a-table>
-        </Description>
+  <!-- 实时敞口-->
+  <div class="exposure-real-time table-height"
+       :loading="loading">
+    <div class="real-time-header"
+         v-if="isPingAnOem()">
+      <span class="dialogSpan">每隔</span>
+      <a-select class="typeSelect real-time-select"
+                style="width: 100px"
+                v-model:value="timer"
+                @change="timerChange"
+                placeholder="请选择间隔时间">
+        <a-select-option :value="item.id"
+                         v-for="item in diffTimes"
+                         :key="item.id">
+          {{ item.name }}
+        </a-select-option>
+      </a-select>
+      <span class="dialogSpan">刷新一次,倒计时 </span> <span class="red">{{ num }}</span>
+      <a-button type="button"
+                class="operBtn ant-btn"
+                @click="setTimerAction">{{ isStart ? '停止监控' : '开始监控' }}</a-button>
     </div>
+    <filterCustomTable @search="updateColumn"
+                       v-else> </filterCustomTable>
+    <a-table :columns="columns"
+             class="topOrderTable"
+             :pagination="false"
+             :expandedRowKeys="expandedRowKeys"
+             :customRow="Rowclick"
+             rowKey="key"
+             :data-source="tableList"
+             :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
+      <template v-if="isPingAnOem()"
+                #index="{ index }">
+        <span>{{ index + 1 }}</span>
+      </template>
+    </a-table>
+    <!-- 明细 -->
+    <Description v-if="visible"
+                 @close="closeDrawer"
+                 @changeTab="changeTab"
+                 :tabList="tabList">
+      <a-table :columns="columnsDetail"
+               class="topTable"
+               :pagination="false"
+               rowKey="key"
+               :data-source="detailTableList"
+               :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }">
+        <!-- 套保品种/代码 -->
+        <template #middlegoodsname="{ record }"
+                  v-if="!isPingAnOem()">
+          <span>{{ record.middlegoodsname + '/' + record.middlegoodscode }}</span>
+        </template>
+        <template v-if="isPingAnOem()"
+                  #index="{ index }">
+          <span>{{ index + 1 }}</span>
+        </template>
+        <!-- 类型 -->
+        <template #contracttype="{ record }">
+          <span>{{ getPlanContractType(record.contracttype) }}</span>
+        </template>
+      </a-table>
+    </Description>
+  </div>
 </template>
 
 <script lang="ts">
@@ -155,6 +184,7 @@ export default defineComponent({
                 columns.value = listColumns;
             }
         });
+
         // 切换明细
         function changeTab(index: number, current: TabList) {
             const { code, lable } = current;

+ 340 - 200
src/views/information/custom/compoments/add/index.vue

@@ -1,218 +1,359 @@
 <template>
-    <!-- 平安客户资料 -->
-    <a-modal class="add-custom" title="新增客户资料" v-model:visible="visible" @cancel="cancel" centered :maskClosable="false" v-if="isPingAnOem()" width="890px">
-        <template #footer>
-            <a-button key="submit" class="cancelBtn" :loading="loading" :disabled="loading" @click="submit(1)">完成 </a-button>
+  <!-- 平安客户资料 -->
+  <a-modal class="add-custom"
+           title="新增客户资料"
+           v-model:visible="visible"
+           @cancel="cancel"
+           centered
+           :maskClosable="false"
+           v-if="isPingAnOem()"
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                class="cancelBtn"
+                :loading="loading"
+                :disabled="loading"
+                @click="submit(1)">完成 </a-button>
+    </template>
+    <a-form class="inlineForm"
+            ref="formRef"
+            :model="formState"
+            :rules="rules">
+      <a-row :gutter="24">
+        <a-col :span="12">
+          <a-form-item label="客户类型"
+                       name="userinfotype">
+            <a-select class="typeSelect"
+                      style="width: 200px"
+                      v-model:value="formState.userinfotype"
+                      placeholder="请选择客户类型">
+              <a-select-option value="1"> 个人 </a-select-option>
+              <a-select-option value="2"> 企业 </a-select-option>
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <template v-if="!isPersonal()">
+          <a-col :span="12">
+            <a-form-item label="企业名称"
+                         name="customername">
+              <a-input class="dialogInput"
+                       v-model:value="formState.customername"
+                       style="width: 200px"
+                       placeholder="请输入企业名称" />
+            </a-form-item>
+          </a-col>
         </template>
-        <a-form class="inlineForm" ref="formRef" :model="formState" :rules="rules">
-            <a-row :gutter="24">
-                <a-col :span="12">
-                    <a-form-item label="客户类型" name="userinfotype">
-                        <a-select class="typeSelect" style="width: 200px" v-model:value="formState.userinfotype" placeholder="请选择客户类型">
-                            <a-select-option value="1"> 个人 </a-select-option>
-                            <a-select-option value="2"> 企业 </a-select-option>
-                        </a-select>
-                    </a-form-item>
-                </a-col>
-                <template v-if="!isPersonal()">
-                    <a-col :span="12">
-                        <a-form-item label="企业名称" name="customername">
-                            <a-input class="dialogInput" v-model:value="formState.customername" style="width: 200px" placeholder="请输入企业名称" />
-                        </a-form-item>
-                    </a-col>
-                </template>
-                <template v-else>
-                    <a-col :span="12">
-                        <a-form-item label="姓名" name="username">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.username" placeholder="请输入姓名" />
-                        </a-form-item>
-                    </a-col>
-                </template>
-                <a-col :span="12">
-                    <a-form-item label="点价联系人" name="contactname">
-                        <a-input class="dialogInput" style="width: 200px" v-model:value="formState.contactname" placeholder="请输入联系人" />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="12">
-                    <a-form-item label="联系人手机号" name="mobilephone">
-                        <a-input class="dialogInput" style="width: 200px" v-model:value="formState.mobilephone" placeholder="请输入联系人手机号" />
-                    </a-form-item>
-                </a-col>
-            </a-row>
-        </a-form>
-    </a-modal>
-    <!-- 其他项目客户资料 -->
-    <a-modal class="add-custom" v-else title="新增客户资料" v-model:visible="visible" @cancel="cancel" centered :maskClosable="false" width="890px">
-        <template #footer>
-            <a-button key="submit" class="cancelBtn" :loading="loading" :disabled="loading" @click="submit(1)">保存草稿 </a-button>
-            <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit(2)">提交审核 </a-button>
+        <template v-else>
+          <a-col :span="12">
+            <a-form-item label="姓名"
+                         name="username">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.username"
+                       placeholder="请输入姓名" />
+            </a-form-item>
+          </a-col>
         </template>
-        <a-form class="inlineForm" ref="formRef" :model="formState" :rules="rules">
-            <a-row :gutter="24">
-                <a-col :span="12">
-                    <a-form-item label="客户类型" name="userinfotype">
-                        <a-select class="typeSelect" style="width: 200px" v-model:value="formState.userinfotype" placeholder="请选择客户类型">
-                            <a-select-option value="1"> 个人 </a-select-option>
-                            <a-select-option value="2"> 企业 </a-select-option>
-                        </a-select>
-                    </a-form-item>
-                </a-col>
-                <template v-if="!isPersonal()">
-                    <a-col :span="12">
-                        <a-form-item label="企业名称" name="customername">
-                            <a-input class="dialogInput" v-model:value="formState.customername" style="width: 200px" placeholder="请输入企业名称" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="企业简称" name="nickname">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.nickname" placeholder="请输入企业简称" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="证件类型" name="cardtype">
-                            <a-select class="inlineFormSelect" v-model:value="formState.cardtype" style="width: 200px" placeholder="请选择证件类型">
-                                <a-select-option :value="item.enumitemname" v-for="item in cardTypeList" :key="item.autoid">
-                                    {{ item.enumdicname }}
-                                </a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="法定代表人" name="legalpersonname">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.legalpersonname" placeholder="请输入法定代表人" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="证件号码" name="cardnum">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.cardnum" placeholder="请输入证件号码" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="纳税人识别号" name="taxpayernum">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.taxpayernum" placeholder="请输入纳税人识别号" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="营业执照">
-                            <UploadImg :visible="visible" @upload="attachmentUpLoad" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="联系人" name="contactname">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.contactname" placeholder="请输入联系人" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="联系人手机号" name="mobilephone">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.mobilephone" placeholder="请输入联系人手机号" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="联系电话" name="telphone">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.telphone" placeholder="请输入联系电话" />
-                        </a-form-item>
-                    </a-col>
-                </template>
-                <template v-else>
-                    <a-col :span="12">
-                        <a-form-item label="姓名" name="username">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.username" placeholder="请输入姓名" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="身份证号码" name="cardnum">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.cardnum" placeholder="请输入身份证号码" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="手机号码" name="mobilephone">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.mobilephone" placeholder="请输入手机号码" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="身份证正面照" name="cardbackphotourl">
-                            <UploadImg :visible="visible" @upload="cardfrontphotourlUpLoad" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="邮箱" name="email">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.email" placeholder="请输入邮箱" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="24">
-                        <a-form-item label="身份证反面照" name="cardfrontphotourl">
-                            <UploadImg :visible="visible" @upload="cardbackphotourlUpLoad" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="联系电话" name="telphone">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.telphone" placeholder="请输入联系电话" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item> &nbsp; </a-form-item>
-                    </a-col>
-                </template>
-                <a-col :span="24">
-                    <a-form-item label="通讯地址">
-                        <a-select class="inlineFormSelect" style="width: 205px" v-model:value="formState.provinceid" @change="getCityList" placeholder="请选择省">
-                            <a-select-option v-for="item in provinceList" :key="item.autoid" :value="item.autoid">
-                                {{ item.divisionname }}
-                            </a-select-option>
-                        </a-select>
-                        <a-select class="inlineFormSelect ml9" style="width: 205px" v-model:value="formState.cityid" @change="getDistrictList" placeholder="请选择市">
-                            <a-select-option v-for="item in cityList" :key="item.autoid" :value="item.autoid">
-                                {{ item.divisionname }}
-                            </a-select-option>
-                        </a-select>
-                        <a-select class="inlineFormSelect ml9" v-model:value="formState.districtid" style="width: 205px" placeholder="请选择县(区)">
-                            <a-select-option v-for="item in districtList" :key="item.autoid" :value="item.autoid">
-                                {{ item.divisionname }}
-                            </a-select-option>
-                        </a-select>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="24">
-                    <a-form-item label="&nbsp;" name="cardaddress">
-                        <a-input class="dialogInput" style="width: 635px" v-model:value="formState.cardaddress" placeholder="请输入详细地址" />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="24">
-                    <a-form-item label="备注" name="remark">
-                        <a-input class="dialogInput" style="width: 635px" v-model:value="formState.remark" placeholder="请输入备注" />
-                    </a-form-item>
-                </a-col>
-            </a-row>
-        </a-form>
-    </a-modal>
+        <a-col :span="12">
+          <a-form-item label="点价联系人"
+                       name="contactname">
+            <a-input class="dialogInput"
+                     style="width: 200px"
+                     v-model:value="formState.contactname"
+                     placeholder="请输入联系人" />
+          </a-form-item>
+        </a-col>
+        <a-col :span="12">
+          <a-form-item label="联系人手机号"
+                       name="mobilephone">
+            <a-input class="dialogInput"
+                     style="width: 200px"
+                     v-model:value="formState.mobilephone"
+                     placeholder="请输入联系人手机号" />
+          </a-form-item>
+        </a-col>
+      </a-row>
+    </a-form>
+  </a-modal>
+  <!-- 其他项目客户资料 -->
+  <a-modal class="add-custom"
+           v-else
+           title="新增客户资料"
+           v-model:visible="visible"
+           @cancel="cancel"
+           centered
+           :maskClosable="false"
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                class="cancelBtn"
+                :loading="loading"
+                :disabled="loading"
+                @click="submit(1)">保存草稿 </a-button>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                :disabled="loading"
+                @click="submit(2)">提交审核 </a-button>
+    </template>
+    <a-form class="inlineForm"
+            ref="formRef"
+            :model="formState"
+            :rules="rules">
+      <a-row :gutter="24">
+        <a-col :span="12">
+          <a-form-item label="客户类型"
+                       name="userinfotype">
+            <a-select class="typeSelect"
+                      style="width: 200px"
+                      v-model:value="formState.userinfotype"
+                      placeholder="请选择客户类型">
+              <a-select-option value="1"> 个人 </a-select-option>
+              <a-select-option value="2"> 企业 </a-select-option>
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <template v-if="!isPersonal()">
+          <a-col :span="12">
+            <a-form-item label="企业名称"
+                         name="customername">
+              <a-input class="dialogInput"
+                       v-model:value="formState.customername"
+                       style="width: 200px"
+                       placeholder="请输入企业名称" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="企业简称"
+                         name="nickname">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.nickname"
+                       placeholder="请输入企业简称" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="证件类型"
+                         name="cardtype">
+              <a-select class="inlineFormSelect"
+                        v-model:value="formState.cardtype"
+                        style="width: 200px"
+                        placeholder="请选择证件类型">
+                <a-select-option :value="item.enumitemname"
+                                 v-for="item in cardTypeList"
+                                 :key="item.autoid">
+                  {{ item.enumdicname }}
+                </a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="法定代表人"
+                         name="legalpersonname">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.legalpersonname"
+                       placeholder="请输入法定代表人" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="证件号码"
+                         name="cardnum">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.cardnum"
+                       placeholder="请输入证件号码" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="纳税人识别号"
+                         name="taxpayernum">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.taxpayernum"
+                       placeholder="请输入纳税人识别号" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="营业执照">
+              <UploadImg :visible="visible"
+                         @upload="attachmentUpLoad" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="联系人"
+                         name="contactname">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.contactname"
+                       placeholder="请输入联系人" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="联系人手机号"
+                         name="mobilephone">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.mobilephone"
+                       placeholder="请输入联系人手机号" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="联系电话"
+                         name="telphone">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.telphone"
+                       placeholder="请输入联系电话" />
+            </a-form-item>
+          </a-col>
+        </template>
+        <template v-else>
+          <a-col :span="12">
+            <a-form-item label="姓名"
+                         name="username">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.username"
+                       placeholder="请输入姓名" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="身份证号码"
+                         name="cardnum">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.cardnum"
+                       placeholder="请输入身份证号码" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="手机号码"
+                         name="mobilephone">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.mobilephone"
+                       placeholder="请输入手机号码" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="身份证正面照"
+                         name="cardbackphotourl">
+              <UploadImg :visible="visible"
+                         @upload="cardfrontphotourlUpLoad" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="邮箱"
+                         name="email">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.email"
+                       placeholder="请输入邮箱" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-item label="身份证反面照"
+                         name="cardfrontphotourl">
+              <UploadImg :visible="visible"
+                         @upload="cardbackphotourlUpLoad" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="联系电话"
+                         name="telphone">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.telphone"
+                       placeholder="请输入联系电话" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item> &nbsp; </a-form-item>
+          </a-col>
+        </template>
+        <a-col :span="24">
+          <a-form-item label="通讯地址">
+            <a-select class="inlineFormSelect"
+                      style="width: 205px"
+                      v-model:value="formState.provinceid"
+                      @change="getCityList"
+                      placeholder="请选择省">
+              <a-select-option v-for="item in provinceList"
+                               :key="item.autoid"
+                               :value="item.autoid">
+                {{ item.divisionname }}
+              </a-select-option>
+            </a-select>
+            <a-select class="inlineFormSelect ml9"
+                      style="width: 205px"
+                      v-model:value="formState.cityid"
+                      @change="getDistrictList"
+                      placeholder="请选择市">
+              <a-select-option v-for="item in cityList"
+                               :key="item.autoid"
+                               :value="item.autoid">
+                {{ item.divisionname }}
+              </a-select-option>
+            </a-select>
+            <a-select class="inlineFormSelect ml9"
+                      v-model:value="formState.districtid"
+                      style="width: 205px"
+                      placeholder="请选择县(区)">
+              <a-select-option v-for="item in districtList"
+                               :key="item.autoid"
+                               :value="item.autoid">
+                {{ item.divisionname }}
+              </a-select-option>
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item label="&nbsp;"
+                       name="cardaddress">
+            <a-input class="dialogInput"
+                     style="width: 635px"
+                     v-model:value="formState.cardaddress"
+                     placeholder="请输入详细地址" />
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item label="备注"
+                       name="remark">
+            <a-input class="dialogInput"
+                     style="width: 635px"
+                     v-model:value="formState.remark"
+                     placeholder="请输入备注" />
+          </a-form-item>
+        </a-col>
+      </a-row>
+    </a-form>
+  </a-modal>
 </template>
 
 <script lang="ts">
-import { closeModal } from '@/common/setup/modal/index';
-import { defineComponent, ref } from 'vue';
-import { getCardType, handleForm } from './setup';
-import { AllEnums } from '@/services/go/commonService/interface';
-import { FormState } from './interface';
-import { getAddress } from '@/services/go/adress';
-import { AddUserInfoApplyReq } from '@/services/go/ermcp/customInfo/interface';
-import { getUserId } from '@/services/bus/account';
+import UploadImg from '@/common/components/uploadImg/index.vue';
+import { isPingAnOem } from '@/common/config/projectName';
 import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { QueryAddUserInfoApply } from '@/services/go/ermcp/customInfo';
 import { validateAction } from '@/common/setup/form';
-import UploadImg from '@/common/components/uploadImg/index.vue';
+import { _closeModal } from '@/common/setup/modal/modal';
 import { getUploadImg } from '@/common/setup/upload';
+import { getUserId } from '@/services/bus/account';
+import { getAddress } from '@/services/go/adress';
+import { AllEnums } from '@/services/go/commonService/interface';
 import { addCustomerInfoOperate } from '@/services/proto/accountinfo';
 import { CustomerInfoOperateReq } from '@/services/proto/accountinfo/interface';
-import { getAreaUserId } from '@/services/bus/user';
-import { isPingAnOem } from '@/common/config/projectName';
+import { defineComponent, ref } from 'vue';
+import { FormState } from './interface';
+import { getCardType, handleForm } from './setup';
 
 export default defineComponent({
     name: 'add-custom',
-    emits: ['refresh'],
+    emits: ['cancel', 'update'],
     components: { UploadImg },
     setup(props, context) {
         // 控制关闭弹窗
-        const { visible, cancel } = closeModal('custom_info_btn_add');
+        const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
         // 证件类型
         const cardTypeList = ref<AllEnums[]>(getCardType());
@@ -261,8 +402,7 @@ export default defineComponent({
                     proxystatementurl: '',
                 };
                 requestResultLoadingAndInfo(addCustomerInfoOperate, reqParam, loading, OperateType === 1 ? ['保存草稿成功', '保存草稿失败:'] : ['新增客户资料成功', '新增客户资料失败:']).then(() => {
-                    cancel();
-                    context.emit('refresh');
+                    cancel(true);
                 });
             });
         }

+ 29 - 17
src/views/information/custom/compoments/cancel/index.vue

@@ -1,26 +1,39 @@
 <template>
-    <!-- 撤销客户资料-->
-    <a-modal class="commonModal custom_info_btn_cancel" title="撤销客户资料" v-model:visible="visible" @cancel="cancel" centered width="890px">
-        <template #footer>
-            <a-button key="submit" class="cancelBtn" :loading="loading" :disabled="loading" @click="cancel">取消</a-button>
-            <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit">确认撤销</a-button>
-        </template>
-        <Detail :selectedRow="selectedRow" />
-    </a-modal>
+  <!-- 撤销客户资料-->
+  <a-modal class="commonModal custom_info_btn_cancel"
+           title="撤销客户资料"
+           v-model:visible="visible"
+           @cancel="cancel"
+           centered
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                class="cancelBtn"
+                :loading="loading"
+                :disabled="loading"
+                @click="cancel">取消</a-button>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                :disabled="loading"
+                @click="submit">确认撤销</a-button>
+    </template>
+    <Detail :selectedRow="selectedRow" />
+  </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
-import { Modal } from 'ant-design-vue';
-import { ModifyUserInfoReq, QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
 import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { _closeModal } from '@/common/setup/modal/modal';
 import { QueryModifyUserInfo } from '@/services/go/ermcp/customInfo';
+import { ModifyUserInfoReq, QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
+import { Modal } from 'ant-design-vue';
+import { defineComponent, PropType, ref } from 'vue';
 import Detail from '../common-detail/index.vue';
 
 export default defineComponent({
-    name: 'custom_info_btn_cancel',
-    emits: ['refresh'],
+    name: 'custom_cancel',
+    emits: ['cancel', 'update'],
     components: { Detail },
     props: {
         selectedRow: {
@@ -29,7 +42,7 @@ export default defineComponent({
         },
     },
     setup(props, context) {
-        const { visible, cancel } = closeModal('custom_info_btn_cancel');
+        const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
         function submit() {
             loading.value = true;
@@ -44,8 +57,7 @@ export default defineComponent({
                         userstate: 1, //开户状态 - 1:未提交 2: 待初审 3:初审拒绝 4:待复审 5:复审拒绝 6:测评不通过 (必填)
                     };
                     requestResultLoadingAndInfo(QueryModifyUserInfo, reqParam, loading, ['撤销成功', '撤销失败:']).then(() => {
-                        cancel();
-                        context.emit('refresh');
+                        cancel(true);
                     });
                 },
                 onCancel() {

+ 35 - 22
src/views/information/custom/compoments/check/index.vue

@@ -1,29 +1,44 @@
 <template>
-    <!-- 审核客户资料-->
-    <a-modal class="commonModal custom_info_btn_check" title="审核客户资料" v-model:visible="visible" @cancel="cancel" centered width="890px">
-        <template #footer>
-            <a-button key="submit" class="cancelBtn" @click="cancel">取消 </a-button>
-            <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit">审核通过 </a-button>
-            <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="refuseSubmit">审核拒绝 </a-button>
-        </template>
-        <Detail :selectedRow="selectedRow" />
-    </a-modal>
+  <!-- 审核客户资料-->
+  <a-modal class="commonModal custom_info_btn_check"
+           title="审核客户资料"
+           v-model:visible="visible"
+           @cancel="cancel"
+           centered
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                class="cancelBtn"
+                @click="cancel">取消 </a-button>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                :disabled="loading"
+                @click="submit">审核通过 </a-button>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                :disabled="loading"
+                @click="refuseSubmit">审核拒绝 </a-button>
+    </template>
+    <Detail :selectedRow="selectedRow" />
+  </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
-import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
-import { AuditWskhUserInfoReq, UserInfoCheckMangeReq } from '@/services/proto/accountinfo/interface';
+import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { _closeModal } from '@/common/setup/modal/modal';
 import { getUserId } from '@/services/bus/account';
+import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
+import { auditWskhUserInfo } from '@/services/proto/accountinfo';
+import { AuditWskhUserInfoReq } from '@/services/proto/accountinfo/interface';
 import { Modal } from 'ant-design-vue';
-import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { auditWskhUserInfo, userInfoCheck } from '@/services/proto/accountinfo';
+import { defineComponent, PropType, ref } from 'vue';
 import Detail from '../common-detail/index.vue';
 
 export default defineComponent({
-    name: 'custom_info_btn_check',
-    emits: ['refresh'],
+    name: 'custom_check',
+    emits: ['cancel', 'update'],
     components: { Detail },
     props: {
         selectedRow: {
@@ -33,7 +48,7 @@ export default defineComponent({
     },
     setup(props, context) {
         const loading = ref<boolean>(false);
-        const { visible, cancel } = closeModal('custom_info_btn_check');
+        const { visible, cancel } = _closeModal(context);
 
         // 审核通过
         function submit() {
@@ -49,8 +64,7 @@ export default defineComponent({
                         AuditRemark: '',
                     };
                     requestResultLoadingAndInfo(auditWskhUserInfo, reqParam, loading, ['审核成功', '审核失败:']).then(() => {
-                        cancel();
-                        context.emit('refresh');
+                        cancel(true);
                     });
                 },
                 onCancel() {},
@@ -71,8 +85,7 @@ export default defineComponent({
                         AuditRemark: '',
                     };
                     requestResultLoadingAndInfo(auditWskhUserInfo, reqParam, loading, ['审核拒绝成功', '审核拒绝失败:']).then(() => {
-                        cancel();
-                        context.emit('refresh');
+                        cancel(true);
                     });
                 },
                 onCancel() {},

+ 24 - 16
src/views/information/custom/compoments/delete/index.vue

@@ -1,25 +1,34 @@
 <template>
-    <!-- 删除客户资料-->
-    <a-modal class="commonModal recover-custom" title="删除客户资料" v-model:visible="visible" @cancel="cancel" centered width="890px">
-        <template #footer>
-            <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit">删除客户资料 </a-button>
-        </template>
-        <Detail :selectedRow="selectedRow" />
-    </a-modal>
+  <!-- 删除客户资料-->
+  <a-modal class="commonModal recover-custom"
+           title="删除客户资料"
+           v-model:visible="visible"
+           @cancel="cancel"
+           centered
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                :disabled="loading"
+                @click="submit">删除客户资料 </a-button>
+    </template>
+    <Detail :selectedRow="selectedRow" />
+  </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
-import { DeleteUserReq, QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
-import { Modal } from 'ant-design-vue';
 import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { _closeModal } from '@/common/setup/modal/modal';
 import { QueryDeleteUserInfoApply } from '@/services/go/ermcp/customInfo';
+import { DeleteUserReq, QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
+import { Modal } from 'ant-design-vue';
+import { defineComponent, PropType, ref } from 'vue';
 import Detail from '../common-detail/index.vue';
 
 export default defineComponent({
-    name: 'recover-custom',
-    emits: ['refresh'],
+    name: 'delete-custom',
+    emits: ['cancel', 'update'],
     components: { Detail },
     props: {
         selectedRow: {
@@ -28,7 +37,7 @@ export default defineComponent({
         },
     },
     setup(props, context) {
-        const { visible, cancel } = closeModal('custom_info_btn_delete');
+        const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
         console.log('是否确认删除客户资料');
         function submit() {
@@ -41,8 +50,7 @@ export default defineComponent({
                         userID: props.selectedRow.userid,
                     };
                     requestResultLoadingAndInfo(QueryDeleteUserInfoApply, reqParams, loading, ['删除成功', '删除失败:']).then(() => {
-                        cancel();
-                        context.emit('refresh');
+                        cancel(true);
                     });
                 },
                 onCancel() {},

+ 4 - 3
src/views/information/custom/compoments/detail/index.vue

@@ -18,13 +18,14 @@
 </template>
 
 <script lang="ts">
-import { computed, defineComponent, PropType, ref } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
+import { _closeModal } from '@/common/setup/modal/modal';
 import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
+import { defineComponent, PropType, ref } from 'vue';
 import Detail from '../common-detail/index.vue';
 
 export default defineComponent({
     name: 'custom-detail',
+    emits: ['cancel', 'update'],
     components: { Detail },
     props: {
         selectedRow: {
@@ -33,7 +34,7 @@ export default defineComponent({
         },
     },
     setup(props, context) {
-        const { visible, cancel } = closeModal('detail');
+        const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
         const maskClosableFlag = ref<boolean>(false);
         return {

+ 29 - 16
src/views/information/custom/compoments/disable/index.vue

@@ -1,26 +1,40 @@
 <template>
-    <!-- 停用客户资料-->
-    <a-modal class="commonModal warehouse-disable" title="停用客户资料" v-model:visible="visible" centered :maskClosable="false" @cancel="cancel" width="890px">
-        <template #footer>
-            <a-button key="submit" class="cancelBtn" :loading="loading" :disabled="loading" @click="cancel">取消 </a-button>
-            <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit">确认停用 </a-button>
-        </template>
-        <Detail :selectedRow="selectedRow" />
-    </a-modal>
+  <!-- 停用客户资料-->
+  <a-modal class="commonModal warehouse-disable"
+           title="停用客户资料"
+           v-model:visible="visible"
+           centered
+           :maskClosable="false"
+           @cancel="cancel"
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                class="cancelBtn"
+                :loading="loading"
+                :disabled="loading"
+                @click="cancel">取消 </a-button>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                :disabled="loading"
+                @click="submit">确认停用 </a-button>
+    </template>
+    <Detail :selectedRow="selectedRow" />
+  </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
-import { QueryCustomInfoType, UpdateUserAccountReq } from '@/services/go/ermcp/customInfo/interface';
-import { Modal } from 'ant-design-vue';
 import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { _closeModal } from '@/common/setup/modal/modal';
 import { UpdateUserAccountStatus } from '@/services/go/ermcp/customInfo';
+import { QueryCustomInfoType, UpdateUserAccountReq } from '@/services/go/ermcp/customInfo/interface';
+import { Modal } from 'ant-design-vue';
+import { defineComponent, PropType, ref } from 'vue';
 import Detail from '../common-detail/index.vue';
 
 export default defineComponent({
     name: 'custom-disable',
-    emits: ['refresh'],
+    emits: ['cancel', 'update'],
     components: { Detail },
     props: {
         selectedRow: {
@@ -29,7 +43,7 @@ export default defineComponent({
         },
     },
     setup(props, context) {
-        const { visible, cancel } = closeModal('custom_info_btn_disable');
+        const { visible, cancel } = _closeModal(context);
         const maskClosableFlag = ref<boolean>(false);
         const loading = ref<boolean>(false);
 
@@ -44,8 +58,7 @@ export default defineComponent({
                         accountStatus: 6,
                     };
                     requestResultLoadingAndInfo(UpdateUserAccountStatus, reqParams, loading, ['停用成功', '停用失败:']).then(() => {
-                        cancel();
-                        context.emit('refresh');
+                        cancel(true);
                     });
                 },
                 onCancel() {},

+ 289 - 181
src/views/information/custom/compoments/modify/index.vue

@@ -1,164 +1,275 @@
 <template>
-    <!-- 修改客户资料 -->
-    <a-modal class="commonModal modify-custom" title="修改客户资料" v-if="visible" v-model:visible="visible" centered :maskClosable="false" @cancel="cancel" width="890px">
-        <template #footer>
-            <a-button key="submit" class="cancelBtn" :loading="loading" :disabled="loading" @click="submit(1)">保存草稿</a-button>
-            <a-button key="submit" type="primary" :loading="loading" :disabled="loading" @click="submit(2)">提交修改</a-button>
+  <!-- 修改客户资料 -->
+  <a-modal class="commonModal modify-custom"
+           title="修改客户资料"
+           v-if="visible"
+           v-model:visible="visible"
+           centered
+           :maskClosable="false"
+           @cancel="cancel"
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                class="cancelBtn"
+                :loading="loading"
+                :disabled="loading"
+                @click="submit(1)">保存草稿</a-button>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                :disabled="loading"
+                @click="submit(2)">提交修改</a-button>
+    </template>
+    <a-form class="inlineForm"
+            ref="formRef"
+            :model="formState"
+            :rules="rules">
+      <a-row :gutter="24">
+        <a-col :span="12">
+          <a-form-item label="客户类型"
+                       name="userinfotype">
+            <a-select class="typeSelect"
+                      style="width: 200px"
+                      v-model:value="formState.userinfotype"
+                      placeholder="请选择客户类型">
+              <a-select-option value="1">个人</a-select-option>
+              <a-select-option value="2">企业</a-select-option>
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <template v-if="!isPersonal()">
+          <a-col :span="12">
+            <a-form-item label="企业名称"
+                         name="customername">
+              <a-input class="dialogInput"
+                       v-model:value="formState.customername"
+                       style="width: 200px"
+                       placeholder="请输入企业名称" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="企业简称"
+                         name="nickname">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.nickname"
+                       placeholder="请输入企业简称" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="证件类型"
+                         name="cardtype">
+              <a-select class="inlineFormSelect"
+                        v-model:value="formState.cardtype"
+                        style="width: 200px"
+                        placeholder="请选择证件类型">
+                <a-select-option :value="item.enumitemname"
+                                 v-for="item in cardTypeList"
+                                 :key="item.autoid">{{ item.enumdicname }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="法定代表人"
+                         name="legalpersonname">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.legalpersonname"
+                       placeholder="请输入法定代表人" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="证件号码"
+                         name="cardnum">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.cardnum"
+                       placeholder="请输入证件号码" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="纳税人识别号"
+                         name="taxpayernum">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.taxpayernum"
+                       placeholder="请输入纳税人识别号" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="营业执照">
+              <UploadImg :visible="visible"
+                         :imgList="attachmentImgList"
+                         @upload="attachmentUpload" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="联系人"
+                         name="contactname">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.contactname"
+                       placeholder="请输入联系人" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="联系人手机号"
+                         name="mobilephone">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.mobilephone"
+                       placeholder="请输入联系人手机号" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="联系电话"
+                         name="telphone">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.telphone"
+                       placeholder="请输入联系电话" />
+            </a-form-item>
+          </a-col>
         </template>
-        <a-form class="inlineForm" ref="formRef" :model="formState" :rules="rules">
-            <a-row :gutter="24">
-                <a-col :span="12">
-                    <a-form-item label="客户类型" name="userinfotype">
-                        <a-select class="typeSelect" style="width: 200px" v-model:value="formState.userinfotype" placeholder="请选择客户类型">
-                            <a-select-option value="1">个人</a-select-option>
-                            <a-select-option value="2">企业</a-select-option>
-                        </a-select>
-                    </a-form-item>
-                </a-col>
-                <template v-if="!isPersonal()">
-                    <a-col :span="12">
-                        <a-form-item label="企业名称" name="customername">
-                            <a-input class="dialogInput" v-model:value="formState.customername" style="width: 200px" placeholder="请输入企业名称" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="企业简称" name="nickname">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.nickname" placeholder="请输入企业简称" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="证件类型" name="cardtype">
-                            <a-select class="inlineFormSelect" v-model:value="formState.cardtype" style="width: 200px" placeholder="请选择证件类型">
-                                <a-select-option :value="item.enumitemname" v-for="item in cardTypeList" :key="item.autoid">{{ item.enumdicname }}</a-select-option>
-                            </a-select>
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="法定代表人" name="legalpersonname">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.legalpersonname" placeholder="请输入法定代表人" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="证件号码" name="cardnum">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.cardnum" placeholder="请输入证件号码" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="纳税人识别号" name="taxpayernum">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.taxpayernum" placeholder="请输入纳税人识别号" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="营业执照">
-                            <UploadImg :visible="visible" :imgList="attachmentImgList" @upload="attachmentUpload" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="联系人" name="contactname">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.contactname" placeholder="请输入联系人" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="联系人手机号" name="mobilephone">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.mobilephone" placeholder="请输入联系人手机号" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="联系电话" name="telphone">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.telphone" placeholder="请输入联系电话" />
-                        </a-form-item>
-                    </a-col>
-                </template>
-                <template v-else>
-                    <a-col :span="12">
-                        <a-form-item label="姓名" name="username">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.username" placeholder="请输入姓名" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="身份证号码" name="cardnum">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.cardnum" placeholder="请输入身份证号码" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="手机号码" name="mobilephone">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.mobilephone" placeholder="请输入手机号码" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="身份证正面照" name="cardbackphotourl">
-                            <UploadImg :visible="visible" :imgList="cardfrontImgList" @upload="cardfrontUpload" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="邮箱" name="email">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.email" placeholder="请输入邮箱" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="24">
-                        <a-form-item label="身份证反面照" name="cardfrontphotourl">
-                            <UploadImg :visible="visible" :imgList="cardbackImgList" @upload="cardbackUpload" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item label="联系电话" name="telphone">
-                            <a-input class="dialogInput" style="width: 200px" v-model:value="formState.telphone" placeholder="请输入联系电话" />
-                        </a-form-item>
-                    </a-col>
-                    <a-col :span="12">
-                        <a-form-item>&nbsp;</a-form-item>
-                    </a-col>
-                </template>
-                <a-col :span="24">
-                    <a-form-item label="通讯地址">
-                        <a-select class="inlineFormSelect" style="width: 205px" v-model:value="formState.provinceid" @change="getCityList" placeholder="请选择省">
-                            <a-select-option v-for="item in provinceList" :key="item.autoid" :value="item.autoid">{{ item.divisionname }}</a-select-option>
-                        </a-select>
-                        <a-select class="inlineFormSelect ml9" style="width: 205px" v-model:value="formState.cityid" @change="getDistrictList" placeholder="请选择市">
-                            <a-select-option v-for="item in cityList" :key="item.autoid" :value="item.autoid">{{ item.divisionname }}</a-select-option>
-                        </a-select>
-                        <a-select class="inlineFormSelect ml9" v-model:value="formState.districtid" style="width: 205px" placeholder="请选择县(区)">
-                            <a-select-option v-for="item in districtList" :key="item.autoid" :value="item.autoid">{{ item.divisionname }}</a-select-option>
-                        </a-select>
-                    </a-form-item>
-                </a-col>
-                <a-col :span="24">
-                    <a-form-item label="&nbsp;" name="cardaddress">
-                        <a-input class="dialogInput" style="width: 635px" v-model:value="formState.cardaddress" placeholder="请输入详细地址" />
-                    </a-form-item>
-                </a-col>
-                <a-col :span="24">
-                    <a-form-item label="备注" name="remark">
-                        <a-input class="dialogInput" style="width: 635px" v-model:value="formState.remark" placeholder="请输入备注" />
-                    </a-form-item>
-                </a-col>
-            </a-row>
-        </a-form>
-    </a-modal>
+        <template v-else>
+          <a-col :span="12">
+            <a-form-item label="姓名"
+                         name="username">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.username"
+                       placeholder="请输入姓名" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="身份证号码"
+                         name="cardnum">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.cardnum"
+                       placeholder="请输入身份证号码" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="手机号码"
+                         name="mobilephone">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.mobilephone"
+                       placeholder="请输入手机号码" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="身份证正面照"
+                         name="cardbackphotourl">
+              <UploadImg :visible="visible"
+                         :imgList="cardfrontImgList"
+                         @upload="cardfrontUpload" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="邮箱"
+                         name="email">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.email"
+                       placeholder="请输入邮箱" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-item label="身份证反面照"
+                         name="cardfrontphotourl">
+              <UploadImg :visible="visible"
+                         :imgList="cardbackImgList"
+                         @upload="cardbackUpload" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item label="联系电话"
+                         name="telphone">
+              <a-input class="dialogInput"
+                       style="width: 200px"
+                       v-model:value="formState.telphone"
+                       placeholder="请输入联系电话" />
+            </a-form-item>
+          </a-col>
+          <a-col :span="12">
+            <a-form-item>&nbsp;</a-form-item>
+          </a-col>
+        </template>
+        <a-col :span="24">
+          <a-form-item label="通讯地址">
+            <a-select class="inlineFormSelect"
+                      style="width: 205px"
+                      v-model:value="formState.provinceid"
+                      @change="getCityList"
+                      placeholder="请选择省">
+              <a-select-option v-for="item in provinceList"
+                               :key="item.autoid"
+                               :value="item.autoid">{{ item.divisionname }}</a-select-option>
+            </a-select>
+            <a-select class="inlineFormSelect ml9"
+                      style="width: 205px"
+                      v-model:value="formState.cityid"
+                      @change="getDistrictList"
+                      placeholder="请选择市">
+              <a-select-option v-for="item in cityList"
+                               :key="item.autoid"
+                               :value="item.autoid">{{ item.divisionname }}</a-select-option>
+            </a-select>
+            <a-select class="inlineFormSelect ml9"
+                      v-model:value="formState.districtid"
+                      style="width: 205px"
+                      placeholder="请选择县(区)">
+              <a-select-option v-for="item in districtList"
+                               :key="item.autoid"
+                               :value="item.autoid">{{ item.divisionname }}</a-select-option>
+            </a-select>
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item label="&nbsp;"
+                       name="cardaddress">
+            <a-input class="dialogInput"
+                     style="width: 635px"
+                     v-model:value="formState.cardaddress"
+                     placeholder="请输入详细地址" />
+          </a-form-item>
+        </a-col>
+        <a-col :span="24">
+          <a-form-item label="备注"
+                       name="remark">
+            <a-input class="dialogInput"
+                     style="width: 635px"
+                     v-model:value="formState.remark"
+                     placeholder="请输入备注" />
+          </a-form-item>
+        </a-col>
+      </a-row>
+    </a-form>
+  </a-modal>
 </template>
 
 <script lang="ts">
-import { closeModal } from '@/common/setup/modal/index';
-import { defineComponent, PropType, ref, watchEffect } from 'vue';
-import { getCardType, handleForm, initFormState } from '../add/setup';
-import { AllEnums } from '@/services/go/commonService/interface';
-import { FormState } from '../add/interface';
-import { getAddress } from '@/services/go/adress';
-import { ModifyUserInfoApplyReq, QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
-import { getUserId } from '@/services/bus/account';
+import UploadImg from '@/common/components/uploadImg/index.vue';
 import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
-import { QueryModifyUserInfoApply } from '@/services/go/ermcp/customInfo';
-import { mergeTwoObj } from '@/utils/objHandle';
 import { validateAction } from '@/common/setup/form';
-import { delAddress } from '@/services/socket/address';
-import UploadImg from '@/common/components/uploadImg/index.vue';
+import { _closeModal } from '@/common/setup/modal/modal';
 import { getUploadImg } from '@/common/setup/upload';
+import { getUserId } from '@/services/bus/account';
+import { getAddress } from '@/services/go/adress';
+import { AllEnums } from '@/services/go/commonService/interface';
+import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
 import { addCustomerInfoOperate } from '@/services/proto/accountinfo';
 import { CustomerInfoOperateReq } from '@/services/proto/accountinfo/interface';
+import { mergeTwoObj } from '@/utils/objHandle';
+import { defineComponent, PropType, ref } from 'vue';
+import { FormState } from '../add/interface';
+import { getCardType, handleForm, initFormState } from '../add/setup';
 
 export default defineComponent({
     name: 'modify-custom',
-    emits: ['refresh'],
+    emits: ['cancel', 'update'],
     components: { UploadImg },
     props: {
         selectedRow: {
@@ -167,7 +278,7 @@ export default defineComponent({
         },
     },
     setup(props, context) {
-        const { visible, cancel } = closeModal('custom_info_btn_modify');
+        const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
         // 证件类型
         const cardTypeList = ref<AllEnums[]>(getCardType());
@@ -188,36 +299,34 @@ export default defineComponent({
 
         const userid = ref<number>(0);
         const countryid = ref<number>(0);
-        watchEffect(() => {
-            if (visible.value) {
-                userid.value = props.selectedRow.userid;
-                countryid.value = props.selectedRow.countryid;
-                mergeTwoObj(formState, props.selectedRow);
-                formState.userinfotype = formState.userinfotype.toString();
-                if (isPersonal()) {
-                    formState.username = props.selectedRow.customername;
-                } else {
-                    formState.username = props.selectedRow.username;
-                }
-                const { provinceid, cityid, address, mobile, attachment1, cardfrontphotourl, cardbackphotourl } = props.selectedRow;
-                formState.cardaddress = address;
-                formState.mobilephone = mobile;
-                provinceid ? getCityList(provinceid) : (formState.provinceid = undefined);
-                cityid ? getDistrictList(cityid) : ((formState.cityid = undefined), (formState.districtid = undefined));
-                if (cardfrontphotourl) {
-                    // 营业执照
-                    attachmentImgList.value = attachmentHandle(cardfrontphotourl);
-                }
-                if (cardbackphotourl) {
-                    // 背面证件照地址
-                    cardbackImgList.value = cardbackHandle(cardbackphotourl);
-                }
-                if (cardbackphotourl) {
-                    // 正面证件照地址
-                    cardfrontImgList.value = cardfrontHandle(cardbackphotourl);
-                }
-            }
-        });
+
+        userid.value = props.selectedRow.userid;
+        countryid.value = props.selectedRow.countryid;
+        mergeTwoObj(formState, props.selectedRow);
+        formState.userinfotype = formState.userinfotype.toString();
+        if (isPersonal()) {
+            formState.username = props.selectedRow.customername;
+        } else {
+            formState.username = props.selectedRow.username;
+        }
+        const { provinceid, cityid, address, mobile, attachment1, cardfrontphotourl, cardbackphotourl } = props.selectedRow;
+        formState.cardaddress = address;
+        formState.mobilephone = mobile;
+        provinceid ? getCityList(provinceid) : (formState.provinceid = undefined);
+        cityid ? getDistrictList(cityid) : ((formState.cityid = undefined), (formState.districtid = undefined));
+        if (cardfrontphotourl) {
+            // 营业执照
+            attachmentImgList.value = attachmentHandle(cardfrontphotourl);
+        }
+        if (cardbackphotourl) {
+            // 背面证件照地址
+            cardbackImgList.value = cardbackHandle(cardbackphotourl);
+        }
+        if (cardbackphotourl) {
+            // 正面证件照地址
+            cardfrontImgList.value = cardfrontHandle(cardbackphotourl);
+        }
+
         function submit(OperateType: 1 | 2) {
             validateAction<FormState>(formRef, formState).then((param) => {
                 const reqParam: CustomerInfoOperateReq = {
@@ -247,8 +356,7 @@ export default defineComponent({
                     proxystatementurl: '',
                 };
                 requestResultLoadingAndInfo(addCustomerInfoOperate, reqParam, loading, OperateType === 1 ? ['保存草稿成功', '保存草稿失败:'] : ['新增客户资料成功', '新增客户资料失败:']).then(() => {
-                    cancel();
-                    context.emit('refresh');
+                    cancel(true);
                 });
             });
         }

+ 26 - 17
src/views/information/custom/compoments/recover/index.vue

@@ -1,26 +1,36 @@
 <template>
-    <!-- 恢复客户资料-->
-    <a-modal class="commonModal warehouse-disable" title="恢复客户资料" v-model:visible="visible" @cancel="cancel" centered width="890px">
-        <template #footer>
-            <a-button key="submit" class="cancelBtn" @click="cancel">取消 </a-button>
-            <a-button key="submit" type="primary" :loading="loading" @click="recover">完成 </a-button>
-        </template>
-        <Detail :selectedRow="selectedRow" />
-    </a-modal>
+  <!-- 恢复客户资料-->
+  <a-modal class="commonModal warehouse-disable"
+           title="恢复客户资料"
+           v-model:visible="visible"
+           @cancel="cancel"
+           centered
+           width="890px">
+    <template #footer>
+      <a-button key="submit"
+                class="cancelBtn"
+                @click="cancel">取消 </a-button>
+      <a-button key="submit"
+                type="primary"
+                :loading="loading"
+                @click="recover">完成 </a-button>
+    </template>
+    <Detail :selectedRow="selectedRow" />
+  </a-modal>
 </template>
 
 <script lang="ts">
-import { defineComponent, PropType, ref } from 'vue';
-import { closeModal } from '@/common/setup/modal/index';
-import { QueryCustomInfoType, UpdateUserAccountReq } from '@/services/go/ermcp/customInfo/interface';
-import { Modal } from 'ant-design-vue';
 import { requestResultLoadingAndInfo } from '@/common/methods/request/resultInfo';
+import { _closeModal } from '@/common/setup/modal/modal';
 import { UpdateUserAccountStatus } from '@/services/go/ermcp/customInfo';
+import { QueryCustomInfoType, UpdateUserAccountReq } from '@/services/go/ermcp/customInfo/interface';
+import { Modal } from 'ant-design-vue';
+import { defineComponent, PropType, ref } from 'vue';
 import Detail from '../common-detail/index.vue';
 
 export default defineComponent({
-    name: 'modify-custom',
-    emits: ['refresh'],
+    name: 'recover-custom',
+    emits: ['cancel', 'update'],
     components: { Detail },
     props: {
         selectedRow: {
@@ -29,7 +39,7 @@ export default defineComponent({
         },
     },
     setup(props, context) {
-        const { visible, cancel } = closeModal('custom_info_btn_recover');
+        const { visible, cancel } = _closeModal(context);
         const loading = ref<boolean>(false);
         // 恢复方法
         function recover() {
@@ -43,8 +53,7 @@ export default defineComponent({
                         accountStatus: 4,
                     };
                     requestResultLoadingAndInfo(UpdateUserAccountStatus, reqParams, loading, ['恢复成功', '恢复失败:']).then(() => {
-                        cancel();
-                        context.emit('refresh');
+                        cancel(true);
                     });
                 },
                 onCancel() {},

+ 116 - 0
src/views/information/custom/index.vue

@@ -0,0 +1,116 @@
+<template>
+  <!-- 客户资料 -->
+  <div class="plan_uncommitted"
+       :loading="loading">
+    <Filter @search="updateColumn">
+      <mtp-table-button class="btn-list-sticky"
+                        :buttons="addButton"
+                        @click="openComponent" />
+    </Filter>
+    <a-table :columns="isPingAnOem() ? pingan_custom_column() : columns"
+             class="srcollYTable"
+             :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
+             :pagination="false"
+             :loading="loading"
+             :expandedRowKeys="expandedRowKeys"
+             :customRow="Rowclick"
+             rowKey="key"
+             :data-source="tableList">
+      <!-- 额外的展开行 -->
+      <template #expandedRowRender="{ record }">
+        <mtp-table-button class="btn-list-sticky"
+                          :buttons="buttons"
+                          :record="record"
+                          @click="openComponent" />
+      </template>
+      <template #contracttype="{ text }">
+        <a>{{ getPlanContractType(text) }}</a>
+      </template>
+      <template #hedgeplanstatus="{ text }">
+        <a>{{ getPlanStatusName(text) }}</a>
+      </template>
+    </a-table>
+    <!-- 右键 -->
+    <contextMenu :contextMenu="contextMenu"
+                 @cancel="closeContext"
+                 :list="buttons"> </contextMenu>
+    <component :is="componentId"
+               v-if="componentId"
+               :selectedRow="selectedRow"
+               @cancel="closeComponent"> </component>
+  </div>
+</template>
+
+<script lang="ts">
+import { isPingAnOem } from '@/common/config/projectName';
+import { EnumRouterName } from '@/common/constants/enumRouterName';
+import { ComposeTableParam, contextMenu, defineAsyncComponent, defineComponent, handleComposeTable, MtpTableButton, queryTableList, useRouteName } from '@/common/export/commonTable';
+import { getTableButton } from '@/common/setup/table/button';
+import { QueryCustomInfo } from '@/services/go/ermcp/customInfo';
+import { QueryCustomInfoType } from '@/services/go/ermcp/customInfo/interface';
+import { getPlanContractType, getPlanStatusName } from '@/views/business/plan/setup';
+import Filter from './compoments/filterTable/index.vue';
+import { pingan_custom_column } from './setup';
+
+export default defineComponent({
+    name: EnumRouterName.plan_audit,
+    components: {
+        contextMenu,
+        MtpTableButton,
+        Filter,
+        detail: defineAsyncComponent(() => import('./compoments/detail/index.vue')), // 详情
+        add: defineAsyncComponent(() => import('./compoments/add/index.vue')), // 新增
+        check: defineAsyncComponent(() => import('./compoments/check/index.vue')), // 审核
+        delete: defineAsyncComponent(() => import('./compoments/delete/index.vue')), // 删除
+        modify: defineAsyncComponent(() => import('./compoments/modify/index.vue')), // 修改
+        recover: defineAsyncComponent(() => import('./compoments/recover/index.vue')), // 恢复
+        disable: defineAsyncComponent(() => import('./compoments/disable/index.vue')), // 停用
+        cancel: defineAsyncComponent(() => import('./compoments/cancel/index.vue')), // 撤销
+    },
+    setup() {
+        const { isRouterName } = useRouteName();
+        // 表格列表数据
+        const { loading, tableList, queryTable } = queryTableList<QueryCustomInfoType>();
+
+        // 获取列表数据
+        const queryTableAction = () => {
+            if (isRouterName('custom_checkpending')) {
+                // 待审核
+                queryTable(QueryCustomInfo, 2);
+            } else if (isRouterName('custom_normal')) {
+                // 正常
+                queryTable(QueryCustomInfo, 3);
+            } else if (isRouterName('custom_disabled')) {
+                // 停用
+                queryTable(QueryCustomInfo, 4);
+            }
+        };
+
+        // 表格通用逻辑
+        const param: ComposeTableParam = {
+            queryFn: queryTableAction,
+            menuType: EnumRouterName.plan_audit,
+            tableName: 'table_pcweb_userinfo',
+            tableFilterKey: ['userinfotype', 'nickname', 'customername', 'mobile'],
+            isDetail: true,
+        };
+
+        // 权限按钮
+        const buttons = getTableButton().filter((e) => e.code !== 'add');
+        // 新增
+        const addButton = getTableButton(['add']);
+
+        return {
+            ...handleComposeTable<QueryCustomInfoType>(param),
+            loading,
+            tableList,
+            getPlanStatusName,
+            getPlanContractType,
+            buttons,
+            addButton,
+            pingan_custom_column,
+            isPingAnOem,
+        };
+    },
+});
+</script>

+ 39 - 29
src/views/information/custom/list/checkpending/index.vue

@@ -1,34 +1,43 @@
 <template>
-    <div style="background: red; color: #fff; padding: 5px 0">待修改</div>
-    <!-- 客户信息: 正常 -->
-    <div class="custom_info_checkpending" :loading="loading">
-        <filterCustomTable @search="updateColumn">
-            <BtnList :btnList="commonBtn" />
-        </filterCustomTable>
-        <contextMenu :contextMenuList="forDataBtn">
-            <a-table :columns="columns" class="srcollYTable" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }" :pagination="false" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" rowKey="key" :data-source="tableList">
-                <!-- 额外的展开行 -->
-                <template #expandedRowRender="{}">
-                    <BtnList :btnList="forDataBtn" />
-                </template>
-                <template #userinfotype="{ text }">
-                    <a>{{ text === 2 ? '企业' : '个人' }}</a>
-                </template>
-                <!-- 客户名称 -->
-                <template #customername="{ record }">
-                    <a>{{ record.userinfotype === 2 ? record.customername : record.username }}</a>
-                </template>
+  <div style="background: red; color: #fff; padding: 5px 0">待修改</div>
+  <!-- 客户信息: 正常 -->
+  <div class="custom_info_checkpending"
+       :loading="loading">
+    <filterCustomTable @search="updateColumn">
+      <BtnList :btnList="commonBtn" />
+    </filterCustomTable>
+    <contextMenu :contextMenuList="forDataBtn">
+      <a-table :columns="columns"
+               class="srcollYTable"
+               :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }"
+               :pagination="false"
+               :expandedRowKeys="expandedRowKeys"
+               :customRow="Rowclick"
+               rowKey="key"
+               :data-source="tableList">
+        <!-- 额外的展开行 -->
+        <template #expandedRowRender="{}">
+          <BtnList :btnList="forDataBtn" />
+        </template>
+        <template #userinfotype="{ text }">
+          <a>{{ text === 2 ? '企业' : '个人' }}</a>
+        </template>
+        <!-- 客户名称 -->
+        <template #customername="{ record }">
+          <a>{{ record.userinfotype === 2 ? record.customername : record.username }}</a>
+        </template>
 
-                <template #status="{ text }">
-                    <a>{{ getStatusName(text) }}</a>
-                </template>
-                <template #cardtype="{ text }">
-                    <a>{{ getCardTypeEnumItemName(text) }}</a>
-                </template>
-            </a-table>
-        </contextMenu>
-        <Middle :selectedRow="selectedRow" @refresh="queryTable" />
-    </div>
+        <template #status="{ text }">
+          <a>{{ getStatusName(text) }}</a>
+        </template>
+        <template #cardtype="{ text }">
+          <a>{{ getCardTypeEnumItemName(text) }}</a>
+        </template>
+      </a-table>
+    </contextMenu>
+    <Middle :selectedRow="selectedRow"
+            @refresh="queryTable" />
+  </div>
 </template>
 
 <script lang="ts">
@@ -57,6 +66,7 @@ export default defineComponent({
         const { commonBtn, forDataBtn } = getBtnList('custom_info_checkpending', true);
         // 表格列表数据
         const { loading, tableList, queryTable } = queryTableList(2);
+
         initData(() => {
             // 获取列表数据
             queryTable();

+ 65 - 0
src/views/information/custom/setup.ts

@@ -0,0 +1,65 @@
+// 平安 客户资料 表头
+export function pingan_custom_column() {
+    return [
+        {
+            key: '9th',
+            dataIndex: 'index',
+            title: '序号',
+            align: 'center',
+            slots: {
+                customRender: 'index',
+            },
+            width: 80
+        },
+        {
+            key: '0th',
+            dataIndex: 'status',
+            title: '状态',
+            align: 'center',
+            slots: {
+                customRender: 'status',
+            },
+            width: 120
+        },
+        {
+            key: '1th',
+            dataIndex: 'userinfotype',
+            title: '客户类型',
+            align: 'center',
+            slots: {
+                customRender: 'userinfotype',
+            },
+            width: 120
+        },
+        {
+            key: '3th',
+            dataIndex: 'customername',
+            title: '客户名称',
+            align: 'center',
+            slots: {
+                customRender: 'customername',
+            },
+            width: 120
+        },
+        {
+            key: '6th',
+            dataIndex: 'contactname',
+            title: '点价联系人',
+            align: 'center',
+            slots: {
+                customRender: 'contactname',
+            },
+            width: 120
+        },
+        {
+            key: '7th',
+            dataIndex: 'mobile',
+            title: '联系人手机号码',
+            align: 'center',
+            slots: {
+                customRender: 'mobile',
+            },
+            width: 120
+        },
+    ]
+}

文件差异内容过多而无法显示
+ 800 - 640
yarn.lock


部分文件因为文件数量过多而无法显示