huangxw 4 luni în urmă
părinte
comite
7b84e79b94

+ 490 - 478
src/api/enterprise/recordCompany/types.ts

@@ -1,504 +1,516 @@
 export interface RecordCompanyVO {
-  /**
-   * Id
-   */
-  id: string | number;
-
-  /**
-   * 企业简称
-   */
-  cpyAbbreviation: string;
-
-  /**
-   * 企业名称
-   */
-  cpyName: string;
-
-  /**
-   * 法人身份证
-   */
-  cpyIdCard: string | number;
-
-  /**
-   * 电话
-   */
-  tel: string;
-
-  /**
-   * 法人
-   */
-  legalPerson: string;
-
-  /**
-   * 信用代码
-   */
-  creditCode: string;
-
-  /**
-   * 审核状态 字典:0未通过,1通过,-1待审核
-   */
-  status: number;
-
-  /**
-   * 企业状态 字典:0注销,1在业,2暂停营业
-   */
-  companyStatus: number;
-
-  /**
-   * 行政区划代码
-   */
-  adcdCode: string;
-
-  /**
-   * 门店照片
-   */
-  storePhoto: string;
-
-  /**
-   * 营业执照
-   */
-  businesPhoto: string;
-
-  /**
-   * 经营范围
-   */
-  businessScope: string;
-
-  /**
-   * 地址
-   */
-  address: string;
-
-  /**
-   * 联系人
-   */
-  contactPerson: string;
-
-  /**
-   * 经度
-   */
-  longitude: string;
-
-  /**
-   * 纬度
-   */
-  latitude: string;
-
-  /**
-   * 营业执照
-   */
-  licenseUrl: string;
-
-  /**
-   * 营业执照有效期
-   */
-  licenseValidity: string | number;
-
-  /**
-   * 追溯类型
-   */
-  recordTraceType: string;
-
-  /**
-   * 追溯环节
-   */
-  recordTraceLink: string;
-
-  /**
-   * 企业管理员
-   */
-  adminId: string | number;
-
-  /**
-   * 管理员姓名
-   */
-  adminName: string;
-
-  /**
-   * 上链标志
-   */
-  chainStatus: string;
-
-  /**
-   * 上联备注
-   */
-  chainRmk: string;
-
-  /**
-   * 营业执照开始日期
-   */
-  businessStartDate: string;
-
-  /**
-   * 营业执照有效期
-   */
-  deadline: string;
-
-  /**
-   * 加入的合作伙伴
-   */
-  joinPartner: string;
-
-  /**
-   * 合作伙伴ID
-   */
-  partnerId: string | number;
-
-  /**
-   * 申请者id
-   */
-  userid: string | number;
-
-  /**
-   * 创建人
-   */
-  createBy: string;
-
-  /**
-   * 创建时间
-   */
-  createTime: string;
-
-  /**
-   * 更新时间
-   */
-  updateTime: string;
+    /**
+     * Id
+     */
+    id: string | number;
+
+    /**
+     * 企业简称
+     */
+    cpyAbbreviation: string;
+
+    /**
+     * 企业名称
+     */
+    cpyName: string;
+
+    /**
+     * 法人身份证
+     */
+    cpyIdCard: string | number;
+
+    /**
+     * 电话
+     */
+    tel: string;
+
+    /**
+     * 法人
+     */
+    legalPerson: string;
+
+    /**
+     * 信用代码
+     */
+    creditCode: string;
+
+    /**
+     * 审核状态 字典:0未通过,1通过,-1待审核
+     */
+    status: number;
+
+    /**
+     * 企业状态 字典:0注销,1在业,2暂停营业
+     */
+    companyStatus: number;
+
+    /**
+     * 行政区划代码
+     */
+    adcdCode: string;
+
+    /**
+     * 门店照片
+     */
+    storePhoto: string;
+
+    /**
+     * 营业执照
+     */
+    businesPhoto: string;
+
+    /**
+     * 经营范围
+     */
+    businessScope: string;
+
+    /**
+     * 地址
+     */
+    address: string;
+
+    /**
+     * 联系人
+     */
+    contactPerson: string;
+
+    /**
+     * 经度
+     */
+    longitude: string;
+
+    /**
+     * 纬度
+     */
+    latitude: string;
+
+    /**
+     * 营业执照
+     */
+    licenseUrl: string;
+
+    /**
+     * 营业执照有效期
+     */
+    licenseValidity: string | number;
+
+    /**
+     * 追溯类型
+     */
+    recordTraceType: string;
+
+    /**
+     * 追溯环节
+     */
+    recordTraceLink: string;
+
+    /**
+     * 企业管理员
+     */
+    adminId: string | number;
+
+    /**
+     * 管理员姓名
+     */
+    adminName: string;
+
+    /**
+     * 上链标志
+     */
+    chainStatus: string;
+
+    /**
+     * 上联备注
+     */
+    chainRmk: string;
+
+    /**
+     * 营业执照开始日期
+     */
+    businessStartDate: string;
+
+    /**
+     * 营业执照有效期
+     */
+    deadline: string;
+
+    /**
+     * 加入的合作伙伴
+     */
+    joinPartner: string;
+
+    /**
+     * 合作伙伴ID
+     */
+    partnerId: string | number;
+
+    /**
+     * 申请者id
+     */
+    userid: string | number;
+
+    /**
+     * 创建人
+     */
+    createBy: string;
+
+    /**
+     * 创建时间
+     */
+    createTime: string;
+
+    /**
+     * 更新时间
+     */
+    updateTime: string;
 }
 
 export interface RecordCompanyForm extends BaseEntity {
-  /**
-   * Id
-   */
-  id?: string | number;
-
-  /**
-   * 企业名称
-   */
-  cpyName?: string;
-  /**
-   * 企业类型
-   */
-  cpyType?: string;
-
-  /**
-   * 电话
-   */
-  tel?: string;
-
-  /**
-   * 信用代码
-   */
-  creditCode?: string;
-
-  /**
-   * 审核状态 字典:0未通过,1通过,-1待审核
-   */
-  status?: number;
-
-  /**
-   * 行政区划代码
-   */
-  adcdCode?: string;
-
-  /**
-   * 企业logo
-   */
-  storePhoto?: string;
-
-  /**
-   * 地址
-   */
-  address?: string;
-
-  /**
-   * 联系人
-   */
-  contactPerson?: string;
-
-  /**
-   * 营业执照
-   */
-  license?: any;
-
-  /**
-   * 企业管理员
-   */
-  adminId?: string | number;
-
-  /**
-   * 管理员姓名
-   */
-  adminName?: string;
-
-  /**
-   * 申请者id
-   */
-  userid?: string | number;
+    /**
+     * Id
+     */
+    id?: string | number;
+
+    /**
+     * 企业名称
+     */
+    cpyName?: string;
+    /**
+     * 企业类型
+     */
+    cpyType?: string;
+
+    /**
+     * 电话
+     */
+    tel?: string;
+
+    /**
+     * 信用代码
+     */
+    creditCode?: string;
+
+    /**
+     * 审核状态 字典:0未通过,1通过,-1待审核
+     */
+    status?: number;
+
+    /**
+     * 行政区划代码
+     */
+    adcdCode?: string;
+
+    /**
+     * 企业logo
+     */
+    storePhoto?: string;
+
+    /**
+     * 地址
+     */
+    address?: string;
+
+    /**
+     * 联系人
+     */
+    contactPerson?: string;
+
+    /**
+     * 营业执照
+     */
+    license?: any;
+
+    /**
+     * 企业管理员
+     */
+    adminId?: string | number;
+
+    /**
+     * 管理员姓名
+     */
+    adminName?: string;
+
+    /**
+     * 申请者id
+     */
+    userid?: string | number;
+    /**
+     * 监管类型
+     */
+    supervisionType?: string;
+    /**
+     * 监管区域
+     */
+    supervisionArea?: string;
 }
 
 export interface RecordCompanyQuery extends PageQuery {
-  /**
-   * 企业简称
-   */
-  cpyAbbreviation?: string;
-
-  /**
-   * 企业名称
-   */
-  cpyName?: string;
-
-  /**
-   * 法人身份证
-   */
-  cpyIdCard?: string | number;
-
-  /**
-   * 电话
-   */
-  tel?: string;
-
-  /**
-   * 法人
-   */
-  legalPerson?: string;
-
-  /**
-   * 信用代码
-   */
-  creditCode?: string;
-
-  /**
-   * 审核状态 字典:0未通过,1通过,-1待审核
-   */
-  status?: number | string;
-
-  /**
-   * 企业状态 字典:0注销,1在业,2暂停营业
-   */
-  companyStatus?: number;
-
-  /**
-   * 行政区划代码
-   */
-  adcdCode?: string;
-
-  /**
-   * 门店照片
-   */
-  storePhoto?: string;
-
-  /**
-   * 营业执照
-   */
-  businesPhoto?: string;
-
-  /**
-   * 经营范围
-   */
-  businessScope?: string;
-
-  /**
-   * 地址
-   */
-  address?: string;
-
-  /**
-   * 联系人
-   */
-  contactPerson?: string;
-
-  /**
-   * 经度
-   */
-  longitude?: string;
-
-  /**
-   * 纬度
-   */
-  latitude?: string;
-
-  /**
-   * 营业执照
-   */
-  licenseUrl?: string;
-
-  /**
-   * 营业执照有效期
-   */
-  licenseValidity?: string | number;
-
-  /**
-   * 追溯类型
-   */
-  recordTraceType?: string;
-
-  /**
-   * 追溯环节
-   */
-  recordTraceLink?: string;
-
-  /**
-   * 企业管理员
-   */
-  adminId?: string | number;
-
-  /**
-   * 管理员姓名
-   */
-  adminName?: string;
-
-  /**
-   * 上链标志
-   */
-  chainStatus?: string;
-
-  /**
-   * 上联备注
-   */
-  chainRmk?: string;
-
-  /**
-   * 营业执照开始日期
-   */
-  businessStartDate?: string;
-
-  /**
-   * 营业执照有效期
-   */
-  deadline?: string;
-
-  /**
-   * 加入的合作伙伴
-   */
-  joinPartner?: string;
-
-  /**
-   * 合作伙伴ID
-   */
-  partnerId?: string | number;
-
-  /**
-   * 申请者id
-   */
-  userid?: string | number;
-
-  /**
-   * 日期范围参数
-   */
-  params?: any;
+    /**
+     * 企业简称
+     */
+    cpyAbbreviation?: string;
+
+    /**
+     * 企业名称
+     */
+    cpyName?: string;
+
+    /**
+     * 法人身份证
+     */
+    cpyIdCard?: string | number;
+
+    /**
+     * 电话
+     */
+    tel?: string;
+
+    /**
+     * 法人
+     */
+    legalPerson?: string;
+
+    /**
+     * 信用代码
+     */
+    creditCode?: string;
+
+    /**
+     * 审核状态 字典:0未通过,1通过,-1待审核
+     */
+    status?: number | string;
+
+    /**
+     * 企业状态 字典:0注销,1在业,2暂停营业
+     */
+    companyStatus?: number;
+
+    /**
+     * 行政区划代码
+     */
+    adcdCode?: string;
+
+    /**
+     * 门店照片
+     */
+    storePhoto?: string;
+
+    /**
+     * 营业执照
+     */
+    businesPhoto?: string;
+
+    /**
+     * 经营范围
+     */
+    businessScope?: string;
+
+    /**
+     * 地址
+     */
+    address?: string;
+
+    /**
+     * 联系人
+     */
+    contactPerson?: string;
+
+    /**
+     * 经度
+     */
+    longitude?: string;
+
+    /**
+     * 纬度
+     */
+    latitude?: string;
+
+    /**
+     * 营业执照
+     */
+    licenseUrl?: string;
+
+    /**
+     * 营业执照有效期
+     */
+    licenseValidity?: string | number;
+
+    /**
+     * 追溯类型
+     */
+    recordTraceType?: string;
+
+    /**
+     * 追溯环节
+     */
+    recordTraceLink?: string;
+
+    /**
+     * 企业管理员
+     */
+    adminId?: string | number;
+
+    /**
+     * 管理员姓名
+     */
+    adminName?: string;
+
+    /**
+     * 上链标志
+     */
+    chainStatus?: string;
+
+    /**
+     * 上联备注
+     */
+    chainRmk?: string;
+
+    /**
+     * 营业执照开始日期
+     */
+    businessStartDate?: string;
+
+    /**
+     * 营业执照有效期
+     */
+    deadline?: string;
+
+    /**
+     * 加入的合作伙伴
+     */
+    joinPartner?: string;
+
+    /**
+     * 合作伙伴ID
+     */
+    partnerId?: string | number;
+
+    /**
+     * 申请者id
+     */
+    userid?: string | number;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+    supervisionType?: string;
 }
 
 /**
  * BindInfoCpyListVo,绑定企业信息
  */
 export interface BindInfoCpyListVo {
-  /**
-   * 审核人
-   */
-  auditor?: number;
-  /**
-   * 审核人姓名
-   */
-  auditorName?: string;
-  /**
-   * 审核时间
-   */
-  auditorTime?: Date;
-  /**
-   * 企业ID
-   */
-  cpyid?: number;
-
-  cpyInfo?: RecordCompanyVO;
-  /**
-   * 创建人
-   */
-  createBy?: string;
-  /**
-   * 创建时间
-   */
-  createTime?: Date;
-  /**
-   * ID
-   */
-  id?: number;
-  /**
-   * 审核信息
-   */
-  msg?: string;
-  /**
-   * 通过时间
-   */
-  passTime?: Date;
-  /**
-   * 审核结果:0:等待审核,1:通过,2:不通过
-   */
-  res?: string;
-  /**
-   * 绑定类型:1企业备案绑定,2用户主动绑定
-   */
-  type?: string;
-  /**
-   * 申请者id
-   */
-  userid?: number;
-  /**
-   * 申请人名称
-   */
-  userName?: string;
-  /**
-   * 申请信息
-   */
-  wantMsg?: string;
-
+    /**
+     * 审核人
+     */
+    auditor?: number;
+    /**
+     * 审核人姓名
+     */
+    auditorName?: string;
+    /**
+     * 审核时间
+     */
+    auditorTime?: Date;
+    /**
+     * 企业ID
+     */
+    cpyid?: number;
+
+    cpyInfo?: RecordCompanyVO;
+    /**
+     * 创建人
+     */
+    createBy?: string;
+    /**
+     * 创建时间
+     */
+    createTime?: Date;
+    /**
+     * ID
+     */
+    id?: number;
+    /**
+     * 审核信息
+     */
+    msg?: string;
+    /**
+     * 通过时间
+     */
+    passTime?: Date;
+    /**
+     * 审核结果:0:等待审核,1:通过,2:不通过
+     */
+    res?: string;
+    /**
+     * 绑定类型:1企业备案绑定,2用户主动绑定
+     */
+    type?: string;
+    /**
+     * 申请者id
+     */
+    userid?: number;
+    /**
+     * 申请人名称
+     */
+    userName?: string;
+    /**
+     * 申请信息
+     */
+    wantMsg?: string;
+    /**
+     * 监管类型
+     */
+    supervisionType?: string;
 }
 /**
  * BindInfoRemoveBo,审核日志业务对象 st_bind_info
  */
 export interface BindInfoRemoveBo {
-  /**
-   * 企业ID
-   */
-  cpyid: number;
-  /**
-   * 成员ID
-   */
-  userids: number[];
+    /**
+     * 企业ID
+     */
+    cpyid: number;
+    /**
+     * 成员ID
+     */
+    userids: number[];
 }
 
 export interface AdminOperateUserBo {
-  /**
-   * 企业ID
-   */
-  cpyid: number;
-  /**
-   * 用户ID
-   */
-  userid: number;
+    /**
+     * 企业ID
+     */
+    cpyid: number;
+    /**
+     * 用户ID
+     */
+    userid: number;
 }
 /**
  * 查询用户申请绑定信息
  */
 export interface QueryUserBindInfoBo extends PageQuery {
-  /**
-   * 企业名称
-   */
-  cpyName: any;
-  /**
-   * 关键字
-   */
-  keywords: any;
-  /**
-   * 用户姓名
-   */
-  userName: any;
-  /**
-   * 状态
-   */
-  status: string;
-
-  /**
-   * 日期范围参数
-   */
-  params?: any;
-}
+    /**
+     * 企业名称
+     */
+    cpyName: any;
+    /**
+     * 关键字
+     */
+    keywords: any;
+    /**
+     * 用户姓名
+     */
+    userName: any;
+    /**
+     * 状态
+     */
+    status: string;
+
+    /**
+     * 日期范围参数
+     */
+    params?: any;
+}

+ 41 - 15
src/views/components/AreaCascader.vue

@@ -21,19 +21,28 @@ const cascadeRef = ref();
 const props = defineProps({
     modelValue: [String, Array],
     zlevel: propTypes.number.def(3),
-    multiple: propTypes.bool.def(false)
+    multiple: propTypes.bool.def(false),
+    checkStrictly: propTypes.bool.def(false)
 });
 const value = ref();
 const propsJson: CascaderProps = {
     lazy: true,
     multiple: props.multiple,
+    checkStrictly: props.checkStrictly,
     lazyLoad(node, resolve) {
         console.log(node);
         const { level, value } = node;
         let nodes = [];
         if (!level) {
-            nodes = citys.map(({ label, value }) => ({ label, value }));
-            resolve(nodes);
+            listChildrenByCode({ adcdCode: '000000', leval: 1, pageSize: 1000 }).then((res) => {
+                const rows = res.rows;
+                nodes = rows.map(({ adcdName, adcdCode }: any) => ({ label: adcdName, value: adcdCode, leaf: level >= props.zlevel }));
+                if (nodes.length) {
+                    resolve(nodes);
+                } else {
+                    resolve(citys.map(({ label, value }: any) => ({ label, value, leaf: level >= props.zlevel })));
+                }
+            });
         } else {
             listChildrenByCode({ adcdCode: value, leval: (level as number) + 1, pageSize: 1000 }).then((res) => {
                 const rows = res.rows;
@@ -43,24 +52,42 @@ const propsJson: CascaderProps = {
         }
     }
 };
+// 传入code判断该code在那一级
+const getLevel = (code: string) => {
+    // 去掉code末尾后面的00,再根据长度判断是那一级
+    const trimmedCode = code.replace(/00+$/, '');
+    const length = trimmedCode.length;
+    if (length === 2) {
+        return 1; // 省级
+    } else if (length === 4) {
+        return 2; // 市级
+    } else if (length === 6) {
+        return 3; // 区县级
+    } else if (length === 9) {
+        return 4; // 镇级
+    }
+    return 0; // 未知级别
+};
 watch(
     () => props.modelValue,
-    (val) => {
+    (val: any) => {
         if (val) {
             if (!props.multiple) {
                 const c8 = val.slice(0, 9);
                 const c6 = val.slice(0, 6);
                 const c4 = val.slice(0, 4);
                 const c2 = val.slice(0, 2);
-                if (props.zlevel === 3) {
-                    value.value = [c2 + '0000', c4 + '00000000', c6 + '000000', val];
+                if (getLevel(val) === 1) {
+                    value.value = [c2 + '0000'];
                 }
-                if (props.zlevel === 4) {
-                    value.value = [c2 + '0000', c4 + '00000000', c6 + '000000', c8 + '000', val];
+                if (getLevel(val) === 2) {
+                    value.value = [c2 + '0000', c4 + '00000000'];
                 }
-                if (props.zlevel === 2) {
+                if (getLevel(val) === 3) {
                     value.value = [c2 + '0000', c4 + '00000000', c6 + '000000'];
-                    console.log(value.value);
+                }
+                if (getLevel(val) === 4) {
+                    value.value = [c2 + '0000', c4 + '00000000', c6 + '000000', c8 + '000'];
                 }
             } else {
                 if (Array.isArray(val)) {
@@ -72,7 +99,7 @@ watch(
                 }
             }
         } else {
-            value.value = []
+            value.value = [];
         }
     },
     { immediate: true }
@@ -87,19 +114,18 @@ const change = (event: any) => {
                 vl.push(e[e.length - 1]);
             });
             checkedNodes.forEach((e: any) => {
-                address.push(e.pathLabels.join(''))
+                address.push(e.pathLabels.join(''));
             });
             emit('update:modelValue', vl);
-            console.log(address.toString());
             emit('change', { value, vl, name: address.toString() });
         } else {
             emit('update:modelValue', null);
         }
     } else {
         if (event && event.length) {
-            const labels = checkedNodes[0].pathLabels
+            const labels = checkedNodes[0].pathLabels;
             emit('update:modelValue', event[event.length - 1]);
-            emit('change', { value: event[event.length - 1], name: labels.join(''),  labels});
+            emit('change', { value: event[event.length - 1], name: labels.join(''), labels });
         } else {
             emit('update:modelValue', null);
         }

+ 32 - 35
src/views/enterprise/recordCompany/index.vue

@@ -1,34 +1,28 @@
 <template>
     <div class="p-2">
-        <transition :enter-active-class="proxy?.animate.searchAnimate.enter"
-            :leave-active-class="proxy?.animate.searchAnimate.leave">
+        <transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
             <div class="search" v-show="showSearch">
                 <el-form :model="queryParams" ref="queryFormRef" label-width="100px">
                     <el-row :gutter="15">
                         <el-col :xl="6" :lg="8" :sm="12">
                             <el-form-item label="企业名称" prop="cpyName">
-                                <el-input v-model="queryParams.cpyName" placeholder="请输入企业名称" clearable
-                                    @keyup.enter="handleQuery" />
+                                <el-input v-model="queryParams.cpyName" placeholder="请输入企业名称" clearable @keyup.enter="handleQuery" />
                             </el-form-item>
                         </el-col>
                         <el-col :xl="6" :lg="8" :sm="12">
                             <el-form-item label="电话" prop="tel">
-                                <el-input v-model="queryParams.tel" placeholder="请输入电话" clearable
-                                    @keyup.enter="handleQuery" />
+                                <el-input v-model="queryParams.tel" placeholder="请输入电话" clearable @keyup.enter="handleQuery" />
                             </el-form-item>
                         </el-col>
                         <el-col :xl="6" :lg="8" :sm="12">
                             <el-form-item label="信用代码" prop="creditCode">
-                                <el-input v-model="queryParams.creditCode" placeholder="请输入信用代码" clearable
-                                    @keyup.enter="handleQuery" />
+                                <el-input v-model="queryParams.creditCode" placeholder="请输入信用代码" clearable @keyup.enter="handleQuery" />
                             </el-form-item>
                         </el-col>
                         <el-col :xl="6" :lg="8" :sm="12">
                             <el-form-item label="审核状态" prop="status">
-                                <el-select v-model="queryParams.status" style="width: 100%;" placeholder="请选择审核状态"
-                                    clearable>
-                                    <el-option v-for="dict in cpy_res_status" :key="dict.value" :label="dict.label"
-                                        :value="dict.value" />
+                                <el-select v-model="queryParams.status" style="width: 100%;" placeholder="请选择审核状态" clearable>
+                                    <el-option v-for="dict in cpy_res_status" :key="dict.value" :label="dict.label" :value="dict.value" />
                                 </el-select>
                             </el-form-item>
                         </el-col>
@@ -123,38 +117,30 @@
                         <div>{{ selectDictLabel(cpy_res_status, row.status) }}</div>
                     </template>
                 </el-table-column>
-                <el-table-column label="操作" align="center" min-width="160" fixed="right"
-                    class-name="small-padding fixed-width">
+                <el-table-column label="操作" align="center" min-width="160" fixed="right" class-name="small-padding fixed-width">
                     <template #default="scope">
                         <el-tooltip content="修改" placement="top">
-                            <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
-                                v-hasPermi="['enterprise:recordCompany:edit']"></el-button>
+                            <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['enterprise:recordCompany:edit']"></el-button>
                         </el-tooltip>
                         <el-tooltip content="删除" placement="top">
-                            <el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)"
-                                v-hasPermi="['enterprise:recordCompany:remove']"></el-button>
+                            <el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['enterprise:recordCompany:remove']"></el-button>
                         </el-tooltip>
                         <template v-if="scope.row.status * 1 === 0">
                             <el-tooltip content="审核通过" placement="top">
-                                <el-button link type="primary" icon="CircleCheck"
-                                    @click="handleApproval(scope.row, '1')"
-                                    v-hasPermi="['enterprise:recordCompany:edit']"></el-button>
+                                <el-button link type="primary" icon="CircleCheck" @click="handleApproval(scope.row, '1')" v-hasPermi="['enterprise:recordCompany:edit']"></el-button>
                             </el-tooltip>
                             <el-tooltip content="审核不通过" placement="top">
-                                <el-button link type="danger" icon="CircleClose" @click="handleApproval(scope.row, '2')"
-                                    v-hasPermi="['enterprise:recordCompany:edit']"></el-button>
+                                <el-button link type="danger" icon="CircleClose" @click="handleApproval(scope.row, '2')" v-hasPermi="['enterprise:recordCompany:edit']"></el-button>
                             </el-tooltip>
                         </template>
                     </template>
                 </el-table-column>
             </el-table>
 
-            <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
-                v-model:limit="queryParams.pageSize" @pagination="getList" />
+            <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
         </el-card>
         <!-- 添加或修改企业备案信息对话框 -->
-        <el-dialog :close-on-click-modal="false" :title="dialog.title" v-model="dialog.visible" width="700px"
-            append-to-body>
+        <el-dialog :close-on-click-modal="false" :title="dialog.title" v-model="dialog.visible" width="700px" append-to-body>
             <el-form ref="recordCompanyFormRef" :model="form" :rules="rules" label-width="auto">
                 <div class="mb20">
                     <UploadAvatar title="企业logo" v-model="form.storePhoto"></UploadAvatar>
@@ -165,18 +151,28 @@
                 </el-form-item>
                 <el-form-item prop="cpyType" label="企业类型">
                     <el-radio-group v-model="form.cpyType">
-                        <el-radio v-for="item in cpy_type" :key="item.value" :label="item.value" :value="item.value">{{
-                            item.label }}</el-radio>
+                        <el-radio v-for="item in cpy_type" :key="item.value" :label="item.value" :value="item.value">
+                            {{
+                            item.label }}
+                        </el-radio>
                     </el-radio-group>
                 </el-form-item>
+                <template v-if="form.cpyType === '13'">
+                    <el-form-item prop="supervisionType" label="具体类型">
+                        <el-radio-group v-model="form.supervisionType">
+                            <el-radio v-for="item in supervision_type" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
+                        </el-radio-group>
+                    </el-form-item>
+                    <el-form-item prop="supervisionArea" label="监管区域">
+                        <AreaCascader :zlevel="2" v-model="form.supervisionArea" checkStrictly></AreaCascader>
+                    </el-form-item>
+                </template>
                 <el-form-item prop="creditCode" label="统一社会信用代码">
-                    <el-input v-model="form.creditCode" maxlength="18" class="base-input"
-                        placeholder="请填写18位统一社会信用代码" />
+                    <el-input v-model="form.creditCode" maxlength="18" class="base-input" placeholder="请填写18位统一社会信用代码" />
                 </el-form-item>
                 <el-form-item prop="license" label="营业执照">
                     <div class="flex1">
-                        <FileUpload v-model="form.license" :isFile="false" :span="20" :limit="1"
-                            :fileType="['png', 'jpg', 'jpeg']"></FileUpload>
+                        <FileUpload v-model="form.license" :isFile="false" :span="20" :limit="1" :fileType="['png', 'jpg', 'jpeg']"></FileUpload>
                     </div>
                 </el-form-item>
                 <el-form-item prop="adcdCode" label="所在行政区">
@@ -216,7 +212,7 @@ import { AreaCascader, UploadAvatar, AreaView } from '@/views/components';
 import { CircleCheck, CircleClose } from '@element-plus/icons-vue';
 import { Action } from 'element-plus';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const { cpy_res_status, cpy_type } = toRefs<any>(proxy?.useDict('cpy_res_status', 'cpy_type'));
+const { cpy_res_status, cpy_type, supervision_type } = toRefs<any>(proxy?.useDict('cpy_res_status', 'cpy_type', 'supervision_type'));
 const recordCompanyList = ref<RecordCompanyVO[]>([]);
 const buttonLoading = ref(false);
 const loading = ref(true);
@@ -243,7 +239,8 @@ const initFormData: RecordCompanyForm = {
     adcdCode: undefined,
     address: undefined,
     contactPerson: undefined,
-    tel: undefined
+    tel: undefined,
+    supervisionType: undefined
 };
 const data = reactive<PageData<RecordCompanyForm, RecordCompanyQuery>>({
     form: { ...initFormData },

+ 7 - 2
src/views/settled/cpy/index.vue

@@ -13,7 +13,12 @@
                     </template>
                 </el-descriptions-item>
                 <el-descriptions-item label="企业名称">{{ form.cpyName }}</el-descriptions-item>
-                <el-descriptions-item label="企业类型">{{ selectDictLabel(cpy_type, form.cpyType) }}</el-descriptions-item>
+                <el-descriptions-item label="企业类型">
+                    {{ selectDictLabel(cpy_type, form.cpyType) }}
+                    <template v-if="form.supervisionType">
+                        {{ '>' + selectDictLabel(supervision_type, form.supervisionType) }}
+                    </template>
+                </el-descriptions-item>
                 <el-descriptions-item label="统一社会信用代码">{{ form.creditCode }}</el-descriptions-item>
                 <el-descriptions-item label="营业执照" class="d-flex a-c">
                     <template #default>
@@ -55,7 +60,7 @@ import { AreaView } from '@/views/components';
 import { FileLook } from '@/views/models';
 import { editCpy, baseAuthInfo, specialAuthInfo, authApp } from '@/views/settled';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const { cpy_res_status, cpy_type } = toRefs<any>(proxy?.useDict('cpy_res_status', 'cpy_type'));
+const { cpy_res_status, cpy_type, supervision_type } = toRefs<any>(proxy?.useDict('cpy_res_status', 'cpy_type', 'supervision_type'));
 const { query } = useRoute();
 const form = ref<any>({});
 const show1 = ref(false);

+ 11 - 1
src/views/settled/model/editCpy.vue

@@ -13,6 +13,16 @@
                     <el-radio v-for="item in cpy_type" :key="item.value" :label="item.value" :value="item.value">{{ item.label }}</el-radio>
                 </el-radio-group>
             </el-form-item>
+            <template v-if="form.cpyType === '13'">
+                <el-form-item prop="supervisionType" label="具体类型">
+                    <el-radio-group v-model="form.supervisionType">
+                        <el-radio v-for="item in supervision_type" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
+                    </el-radio-group>
+                </el-form-item>
+                <el-form-item prop="supervisionArea" label="监管区域">
+                    <AreaCascader :zlevel="2" v-model="form.supervisionArea" checkStrictly></AreaCascader>
+                </el-form-item>
+            </template>
             <el-form-item prop="creditCode" label="统一社会信用代码">
                 <el-input v-model="form.creditCode" maxlength="18" class="base-input" placeholder="请填写18位统一社会信用代码" />
             </el-form-item>
@@ -47,7 +57,7 @@ import { addRecordCompany, updateRecordCompany } from '@/api/enterprise/recordCo
 import { propTypes } from '@/utils/propTypes';
 import { AreaCascader, UploadAvatar } from '@/views/components';
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
-const { cpy_res_status, cpy_type } = toRefs<any>(proxy?.useDict('cpy_res_status', 'cpy_type'));
+const { cpy_res_status, cpy_type, supervision_type } = toRefs<any>(proxy?.useDict('cpy_res_status', 'cpy_type', 'supervision_type'));
 const emit = defineEmits(['update:show', 'seccess']);
 const props = defineProps({
     title: propTypes.string.def(''),