zhangwei
8 天以前 157476e37c39931ee026a2ca6fde0d09383884d3
Web/src/views/Customer/fBS_CusExtend/component/editDialog.vue
@@ -4,6 +4,7 @@
import type { FormRules } from "element-plus";
import { formatDate } from '/@/utils/formatTime';
import { useFBS_CusExtendApi } from '/@/api/Customer/fBS_CusExtend';
import { deepClone } from '/@/utils/other'
//父级传递来的函数,用于回调
const emit = defineEmits(["reloadTable"]);
@@ -17,6 +18,8 @@
   ruleForm: {} as any,
   stores: {},
   dropdownData: {} as any,
   enterpriseList:[],
   roleList:[]
});
// 自行添加其他规则
@@ -46,10 +49,13 @@
});
// 打开弹窗
const openDialog = async (row: any, title: string) => {
const openDialog = async (row: any, title: string, qiyeList,roleList) => {
   state.roleList = roleList
   state.enterpriseList = qiyeList
   state.title = title;
   row = row ?? {  };
   state.ruleForm = row.id ? await fBS_CusExtendApi.detail(row.id).then(res => res.data.result) : JSON.parse(JSON.stringify(row));
   state.ruleForm.enterpriseType = state.ruleForm.enterpriseType.split(",");
   state.showDialog = true;
};
@@ -74,13 +80,30 @@
      }
   });
};
const isLeaf = data => {
  data.forEach(item => {
    if (!item.child) {
      item.leaf = true;
    }
  });
};
const loadNode = (node, resolve) => {
  if (node.level === 0) {
    isLeaf(node.data);
    return resolve(node.data);
  } else if (node.level > 0 && node.data.child) {
    isLeaf(node.data.child);
    return resolve(node.data.child);
  } else {
    return resolve([]);
  }
};
//将属性或者函数暴露给父组件
defineExpose({ openDialog });
</script>
<template>
   <div class="fBS_CusExtend-container">
      <el-dialog v-model="state.showDialog" :width="800" draggable :close-on-click-modal="false">
      <el-dialog v-model="state.showDialog" :width="'80%'" draggable :close-on-click-modal="false">
         <template #header>
            <div style="color: #fff">
               <span>{{ state.title }}</span>
@@ -91,121 +114,170 @@
               <el-form-item v-show="false">
                  <el-input v-model="state.ruleForm.id" />
               </el-form-item>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <!-- <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="用户ID" prop="customerId">
                     <el-input v-model="state.ruleForm.customerId" placeholder="请输入用户ID" maxlength="19" show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               </el-col> -->
               <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" >
                  <el-form-item label="企业类型 " prop="enterpriseType">
                     <el-input v-model="state.ruleForm.enterpriseType" placeholder="请输入企业类型 " maxlength="255" show-word-limit clearable />
                     <el-tree-select
                        v-model="state.ruleForm.enterpriseType"
                        :data="state.enterpriseList"
                        multiple
                        node-key="name"
                        :render-after-expand="false"
                        show-checkbox
                        check-strictly
                        check-on-click-node
                        :load="loadNode"
                        lazy
                        :props="{ label: 'name', children: 'child', isLeaf: 'leaf' }"
                        />
                     <!-- <el-input v-model="state.ruleForm.enterpriseType" placeholder="请输入企业类型 "  show-word-limit clearable /> -->
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="交易主体code" prop="transactionCode">
                     <el-input v-model="state.ruleForm.transactionCode" placeholder="请输入交易主体code" maxlength="255" show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="营业执照文件路径" prop="businessLicense">
                     <el-input v-model="state.ruleForm.businessLicense" placeholder="请输入营业执照文件路径" maxlength="255" show-word-limit clearable />
               <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" >
                  <el-form-item label="营业执照" prop="businessLicense">
                     <el-image
                        :src="state.ruleForm.businessLicense"
                        :zoom-rate="1.2"
                        :preview-src-list="[state.ruleForm.businessLicense]"
                        preview-teleported
                        fit="cover"
                        style="width:200px;height:150px"
                     />
                     <!-- <el-input v-model="state.ruleForm.businessLicense" placeholder="请输入营业执照文件路径"  show-word-limit clearable /> -->
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="企业名称" prop="enterpriseName">
                     <el-input v-model="state.ruleForm.enterpriseName" placeholder="请输入企业名称" maxlength="255" show-word-limit clearable />
                     <el-input v-model="state.ruleForm.enterpriseName" placeholder="请输入企业名称"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8" class="mb20" >
                  <el-form-item label="统一社会信用代码" prop="unifiedSocialCreditCode">
                     <el-input v-model="state.ruleForm.unifiedSocialCreditCode" placeholder="请输入统一社会信用代码" maxlength="255" show-word-limit clearable />
                     <el-input v-model="state.ruleForm.unifiedSocialCreditCode" placeholder="请输入统一社会信用代码"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="交易主体" prop="transactionCode">
                      <el-select
                        v-model="state.ruleForm.transactionCode"
                        placeholder="请选择交易主体"
                        clearable
                     >
                        <el-option
                        v-for="item in state.roleList"
                        :key="item.id"
                        :label="item.name"
                        :value="item.code"
                        />
                     </el-select>
                     <!-- <el-input v-model="state.ruleForm.transactionCode" placeholder="请输入交易主体"  show-word-limit clearable /> -->
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="注册资金" prop="registeredCapital">
                     <el-input v-model="state.ruleForm.registeredCapital" placeholder="请输入注册资金" maxlength="255" show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="法定代表人姓名" prop="legalRepresentativeName">
                     <el-input v-model="state.ruleForm.legalRepresentativeName" placeholder="请输入法定代表人姓名" maxlength="255" show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="法定代表人身份证文件路径" prop="legalRepresentativeIdCard">
                     <el-input v-model="state.ruleForm.legalRepresentativeIdCard" placeholder="请输入法定代表人身份证文件路径" maxlength="255" show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="法定代表人姓名" prop="legalRepresentativeIdNumber">
                     <el-input v-model="state.ruleForm.legalRepresentativeIdNumber" placeholder="请输入法定代表人姓名" maxlength="255" show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="法定代表人姓名" prop="legalRepresentativePhone">
                     <el-input v-model="state.ruleForm.legalRepresentativePhone" placeholder="请输入法定代表人姓名" maxlength="255" show-word-limit clearable />
                     <el-input v-model="state.ruleForm.registeredCapital" placeholder="请输入注册资金"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="企业住所" prop="residence">
                     <el-input v-model="state.ruleForm.residence" placeholder="请输入企业住所" maxlength="255" show-word-limit clearable />
                     <el-input v-model="state.ruleForm.residence" placeholder="请输入企业住所"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="企业联系电话" prop="enterprisePhone">
                     <el-input v-model="state.ruleForm.enterprisePhone" placeholder="请输入企业联系电话" maxlength="255" show-word-limit clearable />
                     <el-input v-model="state.ruleForm.enterprisePhone" placeholder="请输入企业联系电话"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="企业成立时间" prop="establishmentTime">
                     <el-date-picker v-model="state.ruleForm.establishmentTime" type="date" placeholder="企业成立时间" />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="企业主营业务" prop="mainBusiness">
                     <el-input v-model="state.ruleForm.mainBusiness" placeholder="请输入企业主营业务" show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="企业邮箱" prop="enterpriseEmail">
                     <el-input v-model="state.ruleForm.enterpriseEmail" placeholder="请输入企业邮箱" maxlength="255" show-word-limit clearable />
                     <el-input v-model="state.ruleForm.enterpriseEmail" placeholder="请输入企业邮箱"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" >
                  <el-form-item label="企业主营业务" prop="mainBusiness">
                     <el-input type="textarea" autosize v-model="state.ruleForm.mainBusiness" placeholder="请输入企业主营业务" show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" >
                  <el-form-item label="法定代表人身份证" prop="legalRepresentativeIdCard">
                     <el-image
                        :src="state.ruleForm.legalRepresentativeIdCard"
                        :zoom-rate="1.2"
                        :preview-src-list="[state.ruleForm.legalRepresentativeIdCard]"
                        preview-teleported
                        fit="cover"
                        style="width:200px;height:150px"
                     />
                     <!-- <el-input v-model="state.ruleForm.legalRepresentativeIdCard" placeholder="请输入法定代表人身份证文件路径"  show-word-limit clearable /> -->
                  </el-form-item>
               </el-col>
               <el-col  :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="法定代表人姓名" prop="legalRepresentativeName">
                     <el-input v-model="state.ruleForm.legalRepresentativeName" placeholder="请输入法定代表人姓名"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8" class="mb20" >
                  <el-form-item label="法定代表人身份证号码" prop="legalRepresentativeIdNumber">
                     <el-input v-model="state.ruleForm.legalRepresentativeIdNumber" placeholder="请输入法定代表人姓名"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="法定代表人联系电话" prop="legalRepresentativePhone">
                     <el-input v-model="state.ruleForm.legalRepresentativePhone" placeholder="请输入法定代表人姓名"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" >
                  <el-form-item label="业务经办人身份证" prop="operatorIdCard">
                     <el-image
                        :src="state.ruleForm.operatorIdCard"
                        :zoom-rate="1.2"
                        :preview-src-list="[state.ruleForm.operatorIdCard]"
                        preview-teleported
                        fit="cover"
                        style="width:200px;height:150px"
                     />
                     <!-- <el-input v-model="state.ruleForm.operatorIdCard" placeholder="请输入业务经办人身份证文件路径或标识"  show-word-limit clearable /> -->
                  </el-form-item>
               </el-col>
               <el-col  :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="业务经办人姓名" prop="operatorName">
                     <el-input v-model="state.ruleForm.operatorName" placeholder="请输入业务经办人姓名" maxlength="255" show-word-limit clearable />
                     <el-input v-model="state.ruleForm.operatorName" placeholder="请输入业务经办人姓名"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="业务经办人身份证文件路径或标识" prop="operatorIdCard">
                     <el-input v-model="state.ruleForm.operatorIdCard" placeholder="请输入业务经办人身份证文件路径或标识" maxlength="255" show-word-limit clearable />
               <el-col  :xs="24" :sm="12" :md="12" :lg="8" :xl="8" class="mb20" >
                  <el-form-item label="业务经办人身份证号码" prop="operatorIdNumber">
                     <el-input v-model="state.ruleForm.operatorIdNumber" placeholder="请输入业务经办人身份证号"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
                  <el-form-item label="业务经办人身号" prop="operatorIdNumber">
                     <el-input v-model="state.ruleForm.operatorIdNumber" placeholder="请输入业务经办人身份证号" maxlength="255" show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <el-col  :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="业务经办人电话" prop="operatorPhone">
                     <el-input v-model="state.ruleForm.operatorPhone" placeholder="请输入业务经办人电话" maxlength="255" show-word-limit clearable />
                     <el-input v-model="state.ruleForm.operatorPhone" placeholder="请输入业务经办人电话"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <el-col  :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="开户行" prop="bankName">
                     <el-input v-model="state.ruleForm.bankName" placeholder="请输入开户行" maxlength="255" show-word-limit clearable />
                     <el-input v-model="state.ruleForm.bankName" placeholder="请输入开户行"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <el-col  :xs="24" :sm="12" :md="12" :lg="8" :xl="8" class="mb20" >
                  <el-form-item label="银行账号" prop="bankAccount">
                     <el-input v-model="state.ruleForm.bankAccount" placeholder="请输入银行账号" maxlength="255" show-word-limit clearable />
                     <el-input v-model="state.ruleForm.bankAccount" placeholder="请输入银行账号"  show-word-limit clearable />
                  </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" >
               <!-- <el-col  :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb20" >
                  <el-form-item label="审核步骤" prop="steps">
                     <g-sys-dict v-model="state.ruleForm.steps" code="CusExtendStep" render-as="select" placeholder="请选择审核步骤" clearable filterable />
                  </el-form-item>
               </el-col>
               </el-col> -->
            </el-row>
         </el-form>
         <template #footer>