Web/src/api/Customer/fBS_CusExtend.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Web/src/api/base/index.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Web/src/views/Customer/fBS_CusExtend/component/editDialog.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Web/src/views/Customer/fBS_CusExtend/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Web/src/views/Customer/fBS_CusExtendExamine/component/editDialog.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
Web/src/views/Customer/fBS_CusExtendExamine/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Web/src/api/Customer/fBS_CusExtend.ts
@@ -12,6 +12,8 @@ add: baseApi.add, // 更新企业资料 update: baseApi.update, getParam: baseApi.getParam, changeSteps:baseApi.changeSteps, // 删除企业资料 delete: baseApi.delete, // 批量删除企业资料 Web/src/api/base/index.ts
@@ -28,6 +28,19 @@ data: { id }, }, cancel); }, getParam: function (id: any, cancel: boolean = false) { return request({ url: baseUrl + "getParam", method: 'get', data: { id }, }, cancel); }, changeSteps: function (id: any, step, cancel: boolean = false) { return request({ url: baseUrl + `changeSteps/${id}/${step}`, method: 'get', }, cancel); }, dropdownData: function (data: any, cancel: boolean = false) { return request({ url: baseUrl + "dropdownData", 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> Web/src/views/Customer/fBS_CusExtend/index.vue
@@ -8,8 +8,12 @@ import printDialog from '/@/views/system/print/component/hiprint/preview.vue' import ModifyRecord from '/@/components/table/modifyRecord.vue'; import ImportData from "/@/components/table/importData.vue"; import { useFBS_ExRoleApi } from '/@/api/Customer/fBS_ExRole'; import { formatDate } from '/@/utils/formatTime'; const fBS_CusExtendApi = useFBS_CusExtendApi(); const fBS_ExRoleApi = useFBS_ExRoleApi(); const printDialogRef = ref(); const editDialogRef = ref(); const importDataRef = ref(); @@ -29,12 +33,33 @@ order: 'descending', // 排序方向 descStr: 'descending', // 降序排序的关键字符 }, tableParams1: { page: 1, pageSize: 20, total: 0, field: 'createTime', // 默认的排序字段 order: 'descending', // 排序方向 descStr: 'descending', // 降序排序的关键字符 }, tableData: [], roleList: [], qiyeList:[], shenheList:[] }); // 页面加载时 onMounted(async () => { handleQueryRole() getParamList() }); const getParamList = async()=>{ let res = await fBS_CusExtendApi.getParam().then(res => res.data.result); state.qiyeList = res.enterpriseTypes state.shenheList = res.stepsTypeItems console.log(res,state.qiyeList,state.shenheList); } // 查询操作 const handleQuery = async (params: any = {}) => { @@ -44,6 +69,12 @@ state.tableParams.total = result?.total; state.tableData = result?.items ?? []; state.tableLoading = false; }; // 查询角色 const handleQueryRole = async (params: any = {}) => { const result = await fBS_ExRoleApi.page(Object.assign({}, state.tableParams1)).then(res => res.data.result); state.roleList = result?.items ?? []; }; // 列排序 @@ -104,129 +135,84 @@ <template> <div class="fBS_CusExtend-container" v-loading="state.exportLoading"> <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> <el-form :model="state.tableQueryParams" ref="queryForm" labelWidth="90"> <el-form :model="state.tableQueryParams" ref="queryForm" labelWidth="120"> <el-row> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10"> <el-form-item label="关键字"> <el-input v-model="state.tableQueryParams.keyword" clearable placeholder="请输入模糊查询关键字"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="用户ID"> <el-input v-model="state.tableQueryParams.customerId" clearable placeholder="请输入用户ID"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> </el-col> --> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业类型 "> <el-input v-model="state.tableQueryParams.enterpriseType" clearable placeholder="请输入企业类型 "/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="交易主体code"> <el-input v-model="state.tableQueryParams.transactionCode" clearable placeholder="请输入交易主体code"/> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="交易主体"> <el-input v-model="state.tableQueryParams.transactionCode" clearable placeholder="请输入交易主体"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="营业执照文件路径"> <el-input v-model="state.tableQueryParams.businessLicense" clearable placeholder="请输入营业执照文件路径"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业名称"> <el-input v-model="state.tableQueryParams.enterpriseName" clearable placeholder="请输入企业名称"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="统一社会信用代码"> <el-input v-model="state.tableQueryParams.unifiedSocialCreditCode" clearable placeholder="请输入统一社会信用代码"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="注册资金"> <el-input v-model="state.tableQueryParams.registeredCapital" clearable placeholder="请输入注册资金"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="法定代表人姓名"> <el-input v-model="state.tableQueryParams.legalRepresentativeName" clearable placeholder="请输入法定代表人姓名"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="法定代表人身份证文件路径"> <el-input v-model="state.tableQueryParams.legalRepresentativeIdCard" clearable placeholder="请输入法定代表人身份证文件路径"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="法定代表人姓名"> <el-input v-model="state.tableQueryParams.legalRepresentativeIdNumber" clearable placeholder="请输入法定代表人姓名"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> </el-col> --> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="法定代表人姓名"> <el-input v-model="state.tableQueryParams.legalRepresentativePhone" clearable placeholder="请输入法定代表人姓名"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业住所"> <el-input v-model="state.tableQueryParams.residence" clearable placeholder="请输入企业住所"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业联系电话"> <el-input v-model="state.tableQueryParams.enterprisePhone" clearable placeholder="请输入企业联系电话"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业成立时间"> <el-date-picker type="daterange" v-model="state.tableQueryParams.establishmentTimeRange" value-format="YYYY-MM-DD HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> </el-col> --> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业主营业务"> <el-input v-model="state.tableQueryParams.mainBusiness" clearable placeholder="请输入企业主营业务"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业邮箱"> <el-input v-model="state.tableQueryParams.enterpriseEmail" clearable placeholder="请输入企业邮箱"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> </el-col> --> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="业务经办人姓名"> <el-input v-model="state.tableQueryParams.operatorName" clearable placeholder="请输入业务经办人姓名"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="业务经办人身份证文件路径或标识"> <el-input v-model="state.tableQueryParams.operatorIdCard" clearable placeholder="请输入业务经办人身份证文件路径或标识"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="法定代表人姓名"> <el-input v-model="state.tableQueryParams.operatorIdNumber" clearable placeholder="请输入法定代表人姓名"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="法定代表人姓名"> <el-input v-model="state.tableQueryParams.operatorPhone" clearable placeholder="请输入法定代表人姓名"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="法定代表人姓名"> <el-input v-model="state.tableQueryParams.bankName" clearable placeholder="请输入法定代表人姓名"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="法定代表人姓名"> <el-input v-model="state.tableQueryParams.bankAccount" clearable placeholder="请输入法定代表人姓名"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="审核步骤"> <g-sys-dict v-model="state.tableQueryParams.steps" code="CusExtendStep" render-as="select" placeholder="请选择审核步骤" clearable filterable /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> </el-col> --> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10"> <el-form-item > <el-button-group style="display: flex; align-items: center;"> <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'fBS_CusExtend:page'" v-reclick="1000"> 查询 </el-button> @@ -253,45 +239,102 @@ </el-form> </el-card> <el-card class="full-table" shadow="hover" style="margin-top: 5px"> <el-table :data="state.tableData" @selection-change="(val: any[]) => { state.selectData = val; }" style="width: 100%" v-loading="state.tableLoading" tooltip-effect="light" row-key="id" @sort-change="sortChange" border> <el-table :data="state.tableData" @selection-change="(val: any[]) => { state.selectData = val; }" fit style="width: 100%" v-loading="state.tableLoading" tooltip-effect="light" row-key="id" @sort-change="sortChange" border> <el-table-column type="selection" width="40" align="center" v-if="auth('fBS_CusExtend:batchDelete') || auth('fBS_CusExtend:export')" /> <el-table-column type="index" label="序号" width="55" align="center"/> <el-table-column prop='customerId' label='用户ID' show-overflow-tooltip /> <!-- <el-table-column prop='customerId' label='用户ID' show-overflow-tooltip /> --> <el-table-column prop='enterpriseType' label='企业类型 ' show-overflow-tooltip /> <el-table-column prop='transactionCode' label='交易主体code' show-overflow-tooltip /> <el-table-column prop='businessLicense' label='营业执照文件路径' show-overflow-tooltip /> <el-table-column prop='enterpriseName' label='企业名称' show-overflow-tooltip /> <el-table-column prop='unifiedSocialCreditCode' label='统一社会信用代码' show-overflow-tooltip /> <el-table-column prop='registeredCapital' label='注册资金' show-overflow-tooltip /> <el-table-column prop='legalRepresentativeName' label='法定代表人姓名' show-overflow-tooltip /> <el-table-column prop='legalRepresentativeIdCard' label='法定代表人身份证文件路径' show-overflow-tooltip /> <el-table-column prop='legalRepresentativeIdNumber' label='法定代表人姓名' show-overflow-tooltip /> <el-table-column prop='legalRepresentativePhone' label='法定代表人姓名' show-overflow-tooltip /> <el-table-column prop='residence' label='企业住所' show-overflow-tooltip /> <el-table-column prop='enterprisePhone' label='企业联系电话' show-overflow-tooltip /> <el-table-column prop='establishmentTime' label='企业成立时间' show-overflow-tooltip /> <el-table-column prop='mainBusiness' label='企业主营业务' show-overflow-tooltip /> <el-table-column prop='enterpriseEmail' label='企业邮箱' show-overflow-tooltip /> <el-table-column prop='operatorName' label='业务经办人姓名' show-overflow-tooltip /> <el-table-column prop='operatorIdCard' label='业务经办人身份证文件路径或标识' show-overflow-tooltip /> <el-table-column prop='operatorIdNumber' label='业务经办人姓名' show-overflow-tooltip /> <el-table-column prop='operatorPhone' label='业务经办人电话' show-overflow-tooltip /> <el-table-column prop='bankName' label='开户行名称' show-overflow-tooltip /> <el-table-column prop='bankAccount' label='开户行账号' show-overflow-tooltip /> <el-table-column prop='steps' label='审核步骤' show-overflow-tooltip> <template #default="scope"> <g-sys-dict v-model="scope.row.steps" code="CusExtendStep" /> <el-table-column prop='transactionCode' label='交易主体' show-overflow-tooltip width="100"> <template v-slot="scope"> <span v-for="(item, index) in state.roleList" :key="index"> <span v-if="item.code == scope.row.transactionCode">{{ item.name }}</span> </span> </template> </el-table-column> <el-table-column label="修改记录" width="100" align="center" show-overflow-tooltip> <el-table-column prop='businessLicense' label='营业执照' show-overflow-tooltip width="120"> <template v-slot="scope"> <el-image :src="scope.row.businessLicense" :zoom-rate="1.2" :preview-src-list="[scope.row.businessLicense]" preview-teleported fit="cover" /> </template> </el-table-column> <el-table-column prop='enterpriseName' label='企业名称' show-overflow-tooltip width="180"/> <el-table-column prop='unifiedSocialCreditCode' label='统一社会信用代码' show-overflow-tooltip width="150"/> <el-table-column prop='registeredCapital' label='注册资金' show-overflow-tooltip /> <el-table-column prop='enterprisePhone' label='联系电话' show-overflow-tooltip width="100"/> <el-table-column prop='establishmentTime' label='成立时间' show-overflow-tooltip > <template #default="scope"> {{ formatDate(new Date(scope.row.establishmentTime), 'YYYY-mm-dd') }} </template> </el-table-column> <!-- <el-table-column prop='mainBusiness' label='企业主营业务' show-overflow-tooltip /> --> <el-table-column prop='enterpriseEmail' label='企业邮箱' show-overflow-tooltip width="150"/> <el-table-column prop='legalRepresentativeName' label='法定代表人姓名' show-overflow-tooltip width="110"/> <el-table-column prop='legalRepresentativeIdCard' label='法定代表人身份证' show-overflow-tooltip width="120"> <template v-slot="scope"> <el-image :src="scope.row.legalRepresentativeIdCard" :zoom-rate="1.2" :preview-src-list="[scope.row.legalRepresentativeIdCard]" preview-teleported fit="cover" /> </template></el-table-column> <!-- <el-table-column prop='legalRepresentativeIdNumber' label='法定代表人身份证号码' show-overflow-tooltip width="120"/> --> <el-table-column prop='legalRepresentativePhone' label='法定代表人联系电话' show-overflow-tooltip width="130"/> <!-- <el-table-column prop='residence' label='企业住所' show-overflow-tooltip /> --> <el-table-column prop='operatorName' label='业务经办人姓名' show-overflow-tooltip width="110"/> <el-table-column prop='operatorIdCard' label='业务经办人身份证' show-overflow-tooltip width="120"> <template v-slot="scope"> <el-image :src="scope.row.operatorIdCard" :zoom-rate="1.2" :preview-src-list="[scope.row.operatorIdCard]" preview-teleported fit="cover" /> </template> </el-table-column> <!-- <el-table-column prop='operatorIdNumber' label='业务经办人身份证号码' show-overflow-tooltip width="120"/> --> <el-table-column prop='operatorPhone' label='业务经办人电话' show-overflow-tooltip width="120"/> <!-- <el-table-column prop='bankName' label='开户行名称' show-overflow-tooltip /> --> <!-- <el-table-column prop='bankAccount' label='开户行账号' show-overflow-tooltip width="120"/> --> <el-table-column prop='steps' label='审核步骤' show-overflow-tooltip> <template v-slot="scope"> <span v-for="(item, index) in state.shenheList" :key="index"> <el-tag v-if="item.value == scope.row.steps">{{ item.description }}</el-tag> </span> </template> <!-- <template #default="scope"> <el-tag v-if="scope.row.steps==0" type='warning'> 待审核 </el-tag> <el-tag v-else-if="scope.row.steps==1" type='primary'> 更改 </el-tag> <el-tag v-else-if="scope.row.steps==2" type='success'> 通过 </el-tag> <el-tag v-else-if="scope.row.steps==3" type='error'> 未通过 </el-tag> </template> --> </el-table-column> <!-- <el-table-column label="修改记录" width="100" align="center" show-overflow-tooltip> <template #default="scope"> <ModifyRecord :data="scope.row" /> </template> </el-table-column> <el-table-column label="操作" width="140" align="center" fixed="right" show-overflow-tooltip v-if="auth('fBS_CusExtend:update') || auth('fBS_CusExtend:delete')"> </el-table-column> --> <el-table-column label="操作" width="70" align="center" fixed="right" show-overflow-tooltip v-if="auth('fBS_CusExtend:update') || auth('fBS_CusExtend:delete')"> <template #default="scope"> <el-button icon="ele-Edit" size="small" text type="primary" @click="editDialogRef.openDialog(scope.row, '编辑企业资料')" v-auth="'fBS_CusExtend:update'"> 编辑 </el-button> <el-button icon="ele-Delete" size="small" text type="primary" @click="delFBS_CusExtend(scope.row)" v-auth="'fBS_CusExtend:delete'"> 删除 </el-button> <el-button icon="ele-Edit" size="small" text type="primary" @click="editDialogRef.openDialog(scope.row, '编辑企业资料', state.qiyeList,state.roleList)" v-auth="'fBS_CusExtend:update'"> </el-button> <el-button icon="ele-Delete" size="small" text type="primary" @click="delFBS_CusExtend(scope.row)" v-auth="'fBS_CusExtend:delete'"> </el-button> </template> </el-table-column> </el-table> Web/src/views/Customer/fBS_CusExtendExamine/component/editDialog.vue
New file @@ -0,0 +1,273 @@ <script lang="ts" name="fBS_CusExtend" setup> import { ref, reactive, onMounted } from "vue"; import { ElMessage } from "element-plus"; import type { FormRules } from "element-plus"; import { formatDate } from '/@/utils/formatTime'; import { useFBS_CusExtendApi } from '/@/api/Customer/fBS_CusExtend'; import type { ImageInstance } from 'element-plus' //父级传递来的函数,用于回调 const emit = defineEmits(["reloadTable"]); const fBS_CusExtendApi = useFBS_CusExtendApi(); const ruleFormRef = ref(); const state = reactive({ title: '', loading: false, showDialog: false, ruleForm: {} as any, stores: {}, dropdownData: {} as any, enterpriseList:[], roleList:[], shenheList:[], srcList:[] }); // 自行添加其他规则 const rules = ref<FormRules>({ customerId: [{required: true, message: '请选择用户ID!', trigger: 'blur',},], enterpriseType: [{required: true, message: '请选择企业类型 !', trigger: 'blur',},], transactionCode: [{required: true, message: '请选择交易主体code!', trigger: 'blur',},], businessLicense: [{required: true, message: '请选择营业执照文件路径!', trigger: 'blur',},], enterpriseName: [{required: true, message: '请选择企业名称!', trigger: 'blur',},], unifiedSocialCreditCode: [{required: true, message: '请选择统一社会信用代码!', trigger: 'blur',},], registeredCapital: [{required: true, message: '请选择注册资金!', trigger: 'blur',},], legalRepresentativeName: [{required: true, message: '请选择法定代表人姓名!', trigger: 'blur',},], legalRepresentativeIdCard: [{required: true, message: '请选择法定代表人身份证文件路径!', trigger: 'blur',},], legalRepresentativeIdNumber: [{required: true, message: '请选择法定代表人姓名!', trigger: 'blur',},], legalRepresentativePhone: [{required: true, message: '请选择法定代表人姓名!', trigger: 'blur',},], residence: [{required: true, message: '请选择企业住所!', trigger: 'blur',},], enterprisePhone: [{required: true, message: '请选择企业联系电话!', trigger: 'blur',},], establishmentTime: [{required: true, message: '请选择企业成立时间!', trigger: 'change',},], enterpriseEmail: [{required: true, message: '请选择企业邮箱!', trigger: 'blur',},], bankName: [{required: true, message: '请选择法定代表人姓名!', trigger: 'blur',},], bankAccount: [{required: true, message: '请选择法定代表人姓名!', trigger: 'blur',},], steps: [{required: true, message: '请选择审核步骤!', trigger: 'change',},], }); // 页面加载时 onMounted(async () => { }); // 打开弹窗 const openDialog = async (row: any, title: string, qiyeList,roleList,shenheList) => { state.roleList = roleList state.enterpriseList = qiyeList state.shenheList = shenheList 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; }; // 关闭弹窗 const closeDialog = () => { emit("reloadTable"); state.showDialog = false; }; // 提交 const submit = async () => { let values = state.ruleForm; await fBS_CusExtendApi.changeSteps(values.id,values.steps); closeDialog(); }; const isLeaf = data => { data.forEach(item => { if (!item.child) { item.leaf = true; } }); }; const showPreview = ref(false) const showImg = name => { showPreview.value=true state.srcList = [state.ruleForm[name]] }; 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="'80%'" draggable :close-on-click-modal="false"> <template #header> <div style="color: #fff"> <span>{{ state.title }}</span> </div> </template> <div class="mb10"> <el-row :gutter="10" justify="end"> <span>是否通过:</span> <el-col :span="4"> <el-select v-model="state.ruleForm.steps" placeholder="请选择交易主体" clearable > <el-option v-for="item in state.shenheList" :key="item.key" :label="item.description" :value="item.value" /> </el-select> </el-col> <!-- <el-col :span="1"><el-button type="primary">审核</el-button></el-col> --> </el-row> </div> <el-descriptions class="margin-top" title="" :column="3" border> <el-descriptions-item :span="3"> <template #label> <div class="cell-item">交易主体</div> </template> <!-- {{ state.ruleForm.transactionName }} --> <span v-for="(item, index) in state.roleList" :key="index"> <span v-if="item.code == state.ruleForm.transactionCode">{{ item.name }}</span> </span> </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">企业名称</div> </template> {{ state.ruleForm.enterpriseName }} <span @click="showImg('businessLicense')"> <el-link type="primary" underline>查看营业执照</el-link> </span> </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">统一社会信用代码</div> </template> {{ state.ruleForm.unifiedSocialCreditCode }} </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">注册资金</div> </template> {{ state.ruleForm.registeredCapital }} </el-descriptions-item> <el-descriptions-item :span="2"> <template #label> <div class="cell-item">企业类型</div> </template> {{ state.ruleForm.enterpriseType }} </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">住所地</div> </template> {{ state.ruleForm.residence }} </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">联系电话</div> </template> {{ state.ruleForm.legalRepresentativePhone }} </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">成立时间</div> </template> {{ formatDate(new Date(state.ruleForm.establishmentTime), 'YYYY-mm-dd') }} </el-descriptions-item> <el-descriptions-item :span="2"> <template #label> <div class="cell-item">电子邮箱</div> </template> {{ state.ruleForm.enterpriseEmail }} </el-descriptions-item> <el-descriptions-item :span="3" label-width="100"> <template #label> <div class="cell-item">主营业务</div> </template> {{ state.ruleForm.mainBusiness }} </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">法定代表人</div> </template> {{ state.ruleForm.legalRepresentativeName }} </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">身份证</div> </template> {{ state.ruleForm.legalRepresentativeIdNumber }} <span @click="showImg('legalRepresentativeIdCard')"> <el-link type="primary" underline>查看身份证</el-link> </span> </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">联系电话</div> </template> {{ state.ruleForm.legalRepresentativePhone }} </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">业务经办人</div> </template> {{ state.ruleForm.operatorName }} </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">身份证</div> </template> <el-image-viewer v-if="showPreview" :url-list="state.srcList" show-progress @close="showPreview = false" /> {{ state.ruleForm.operatorIdNumber }} <span style="margin-right: auto" @click="showImg('operatorIdCard')"> <el-link type="primary" underline>查看身份证</el-link> </span> </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">联系电话</div> </template> {{ state.ruleForm.operatorPhone }} </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">开户银行</div> </template> {{ state.ruleForm.bankName }} </el-descriptions-item> <el-descriptions-item> <template #label> <div class="cell-item">银行账号</div> </template> {{ state.ruleForm.bankAccount }} </el-descriptions-item> </el-descriptions> <template #footer> <span class="dialog-footer"> <el-button @click="() => state.showDialog = false">取 消</el-button> <el-button @click="submit" type="primary" v-reclick="1000">审 核</el-button> </span> </template> </el-dialog> </div> </template> <style lang="scss" scoped> :deep(.el-select), :deep(.el-input-number) { width: 100%; } </style> Web/src/views/Customer/fBS_CusExtendExamine/index.vue
New file @@ -0,0 +1,361 @@ <script lang="ts" setup name="fBS_CusExtend"> import { ref, reactive, onMounted } from "vue"; import { auth } from '/@/utils/authFunction'; import { ElMessageBox, ElMessage } from "element-plus"; import { downloadStreamFile } from "/@/utils/download"; import { useFBS_CusExtendApi } from '/@/api/Customer/fBS_CusExtend'; import editDialog from '/@/views/Customer/fBS_CusExtendExamine/component/editDialog.vue' import printDialog from '/@/views/system/print/component/hiprint/preview.vue' import ModifyRecord from '/@/components/table/modifyRecord.vue'; import ImportData from "/@/components/table/importData.vue"; import { useFBS_ExRoleApi } from '/@/api/Customer/fBS_ExRole'; import { formatDate } from '/@/utils/formatTime'; const fBS_CusExtendApi = useFBS_CusExtendApi(); const fBS_ExRoleApi = useFBS_ExRoleApi(); const printDialogRef = ref(); const editDialogRef = ref(); const importDataRef = ref(); const state = reactive({ exportLoading: false, tableLoading: false, stores: {}, showAdvanceQueryUI: false, dropdownData: {} as any, selectData: [] as any[], tableQueryParams: {} as any, tableParams: { page: 1, pageSize: 20, total: 0, field: 'createTime', // 默认的排序字段 order: 'descending', // 排序方向 descStr: 'descending', // 降序排序的关键字符 }, tableParams1: { page: 1, pageSize: 20, total: 0, field: 'createTime', // 默认的排序字段 order: 'descending', // 排序方向 descStr: 'descending', // 降序排序的关键字符 }, tableData: [], roleList: [], qiyeList:[], shenheList:[] }); // 页面加载时 onMounted(async () => { handleQueryRole() getParamList() }); const getParamList = async()=>{ let res = await fBS_CusExtendApi.getParam().then(res => res.data.result); state.qiyeList = res.enterpriseTypes state.shenheList = res.stepsTypeItems console.log(res,state.qiyeList,state.shenheList); } // 查询操作 const handleQuery = async (params: any = {}) => { state.tableLoading = true; state.tableParams = Object.assign(state.tableParams, params); const result = await fBS_CusExtendApi.page(Object.assign(state.tableQueryParams, state.tableParams)).then(res => res.data.result); state.tableParams.total = result?.total; state.tableData = result?.items ?? []; state.tableLoading = false; }; // 查询角色 const handleQueryRole = async (params: any = {}) => { const result = await fBS_ExRoleApi.page(Object.assign({}, state.tableParams1)).then(res => res.data.result); state.roleList = result?.items ?? []; }; // 列排序 const sortChange = async (column: any) => { state.tableParams.field = column.prop; state.tableParams.order = column.order; await handleQuery(); }; // 删除 const delFBS_CusExtend = (row: any) => { ElMessageBox.confirm(`确定要删除吗?`, "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }).then(async () => { await fBS_CusExtendApi.delete({ id: row.id }); handleQuery(); ElMessage.success("删除成功"); }).catch(() => {}); }; // 批量删除 const batchDelFBS_CusExtend = () => { ElMessageBox.confirm(`确定要删除${state.selectData.length}条记录吗?`, "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }).then(async () => { await fBS_CusExtendApi.batchDelete(state.selectData.map(u => ({ id: u.id }) )).then(res => { ElMessage.success(`成功批量删除${res.data.result}条记录`); handleQuery(); }); }).catch(() => {}); }; // 导出数据 const exportFBS_CusExtendCommand = async (command: string) => { try { state.exportLoading = true; if (command === 'select') { const params = Object.assign({}, state.tableQueryParams, state.tableParams, { selectKeyList: state.selectData.map(u => u.id) }); await fBS_CusExtendApi.exportData(params).then(res => downloadStreamFile(res)); } else if (command === 'current') { const params = Object.assign({}, state.tableQueryParams, state.tableParams); await fBS_CusExtendApi.exportData(params).then(res => downloadStreamFile(res)); } else if (command === 'all') { const params = Object.assign({}, state.tableQueryParams, state.tableParams, { page: 1, pageSize: 99999999 }); await fBS_CusExtendApi.exportData(params).then(res => downloadStreamFile(res)); } } finally { state.exportLoading = false; } } handleQuery(); </script> <template> <div class="fBS_CusExtend-container" v-loading="state.exportLoading"> <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> <el-form :model="state.tableQueryParams" ref="queryForm" labelWidth="120"> <el-row> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10"> <el-form-item label="关键字"> <el-input v-model="state.tableQueryParams.keyword" clearable placeholder="请输入模糊查询关键字"/> </el-form-item> </el-col> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="用户ID"> <el-input v-model="state.tableQueryParams.customerId" clearable placeholder="请输入用户ID"/> </el-form-item> </el-col> --> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业类型 "> <el-input v-model="state.tableQueryParams.enterpriseType" clearable placeholder="请输入企业类型 "/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="交易主体"> <el-input v-model="state.tableQueryParams.transactionCode" clearable placeholder="请输入交易主体"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业名称"> <el-input v-model="state.tableQueryParams.enterpriseName" clearable placeholder="请输入企业名称"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="统一社会信用代码"> <el-input v-model="state.tableQueryParams.unifiedSocialCreditCode" clearable placeholder="请输入统一社会信用代码"/> </el-form-item> </el-col> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="注册资金"> <el-input v-model="state.tableQueryParams.registeredCapital" clearable placeholder="请输入注册资金"/> </el-form-item> </el-col> --> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="法定代表人姓名"> <el-input v-model="state.tableQueryParams.legalRepresentativePhone" clearable placeholder="请输入法定代表人姓名"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业住所"> <el-input v-model="state.tableQueryParams.residence" clearable placeholder="请输入企业住所"/> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业联系电话"> <el-input v-model="state.tableQueryParams.enterprisePhone" clearable placeholder="请输入企业联系电话"/> </el-form-item> </el-col> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业成立时间"> <el-date-picker type="daterange" v-model="state.tableQueryParams.establishmentTimeRange" value-format="YYYY-MM-DD HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" /> </el-form-item> </el-col> --> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业主营业务"> <el-input v-model="state.tableQueryParams.mainBusiness" clearable placeholder="请输入企业主营业务"/> </el-form-item> </el-col> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="企业邮箱"> <el-input v-model="state.tableQueryParams.enterpriseEmail" clearable placeholder="请输入企业邮箱"/> </el-form-item> </el-col> --> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="业务经办人姓名"> <el-input v-model="state.tableQueryParams.operatorName" clearable placeholder="请输入业务经办人姓名"/> </el-form-item> </el-col> <!-- <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10" v-if="state.showAdvanceQueryUI"> <el-form-item label="审核步骤"> <g-sys-dict v-model="state.tableQueryParams.steps" code="CusExtendStep" render-as="select" placeholder="请选择审核步骤" clearable filterable /> </el-form-item> </el-col> --> <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="4" class="mb10"> <el-form-item > <el-button-group style="display: flex; align-items: center;"> <el-button type="primary" icon="ele-Search" @click="handleQuery" v-auth="'fBS_CusExtend:page'" v-reclick="1000"> 查询 </el-button> <el-button icon="ele-Refresh" @click="() => state.tableQueryParams = {}"> 重置 </el-button> <el-button icon="ele-ZoomIn" @click="() => state.showAdvanceQueryUI = true" v-if="!state.showAdvanceQueryUI" style="margin-left:5px;"> 高级查询 </el-button> <el-button icon="ele-ZoomOut" @click="() => state.showAdvanceQueryUI = false" v-if="state.showAdvanceQueryUI" style="margin-left:5px;"> 隐藏 </el-button> <!-- <el-button type="danger" style="margin-left:5px;" icon="ele-Delete" @click="batchDelFBS_CusExtend" :disabled="state.selectData.length == 0" v-auth="'fBS_CusExtend:batchDelete'"> 删除 </el-button> --> <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="editDialogRef.openDialog(null, '新增企业资料')" v-auth="'fBS_CusExtend:add'"> 新增 </el-button> --> <el-dropdown :show-timeout="70" :hide-timeout="50" @command="exportFBS_CusExtendCommand"> <el-button type="primary" style="margin-left:5px;" icon="ele-FolderOpened" v-reclick="20000" v-auth="'fBS_CusExtend:export'"> 导出 </el-button> <template #dropdown> <el-dropdown-menu> <el-dropdown-item command="select" :disabled="state.selectData.length == 0">导出选中</el-dropdown-item> <el-dropdown-item command="current">导出本页</el-dropdown-item> <el-dropdown-item command="all">导出全部</el-dropdown-item> </el-dropdown-menu> </template> </el-dropdown> <el-button type="warning" style="margin-left:5px;" icon="ele-MostlyCloudy" @click="importDataRef.openDialog()" v-auth="'fBS_CusExtend:import'"> 导入 </el-button> </el-button-group> </el-form-item> </el-col> </el-row> </el-form> </el-card> <el-card class="full-table" shadow="hover" style="margin-top: 5px"> <el-table :data="state.tableData" @selection-change="(val: any[]) => { state.selectData = val; }" fit style="width: 100%" v-loading="state.tableLoading" tooltip-effect="light" row-key="id" @sort-change="sortChange" border> <el-table-column type="selection" width="40" align="center" v-if="auth('fBS_CusExtend:batchDelete') || auth('fBS_CusExtend:export')" /> <el-table-column type="index" label="序号" width="55" align="center"/> <!-- <el-table-column prop='customerId' label='用户ID' show-overflow-tooltip /> --> <el-table-column prop='enterpriseType' label='企业类型 ' show-overflow-tooltip /> <el-table-column prop='transactionCode' label='交易主体' show-overflow-tooltip width="100"> <template v-slot="scope"> <span v-for="(item, index) in state.roleList" :key="index"> <span v-if="item.code == scope.row.transactionCode">{{ item.name }}</span> </span> </template> </el-table-column> <el-table-column prop='businessLicense' label='营业执照' show-overflow-tooltip width="120"> <template v-slot="scope"> <el-image :src="scope.row.businessLicense" :zoom-rate="1.2" :preview-src-list="[scope.row.businessLicense]" preview-teleported fit="cover" /> </template> </el-table-column> <el-table-column prop='enterpriseName' label='企业名称' show-overflow-tooltip width="180"/> <el-table-column prop='unifiedSocialCreditCode' label='统一社会信用代码' show-overflow-tooltip width="150"/> <el-table-column prop='registeredCapital' label='注册资金' show-overflow-tooltip /> <el-table-column prop='enterprisePhone' label='联系电话' show-overflow-tooltip width="100"/> <el-table-column prop='establishmentTime' label='成立时间' show-overflow-tooltip > <template #default="scope"> {{ formatDate(new Date(scope.row.establishmentTime), 'YYYY-mm-dd') }} </template> </el-table-column> <!-- <el-table-column prop='mainBusiness' label='企业主营业务' show-overflow-tooltip /> --> <el-table-column prop='enterpriseEmail' label='企业邮箱' show-overflow-tooltip width="150"/> <el-table-column prop='legalRepresentativeName' label='法定代表人姓名' show-overflow-tooltip width="110"/> <el-table-column prop='legalRepresentativeIdCard' label='法定代表人身份证' show-overflow-tooltip width="120"> <template v-slot="scope"> <el-image :src="scope.row.legalRepresentativeIdCard" :zoom-rate="1.2" :preview-src-list="[scope.row.legalRepresentativeIdCard]" preview-teleported fit="cover" /> </template></el-table-column> <!-- <el-table-column prop='legalRepresentativeIdNumber' label='法定代表人身份证号码' show-overflow-tooltip width="120"/> --> <el-table-column prop='legalRepresentativePhone' label='法定代表人联系电话' show-overflow-tooltip width="130"/> <!-- <el-table-column prop='residence' label='企业住所' show-overflow-tooltip /> --> <el-table-column prop='operatorName' label='业务经办人姓名' show-overflow-tooltip width="110"/> <el-table-column prop='operatorIdCard' label='业务经办人身份证' show-overflow-tooltip width="120"> <template v-slot="scope"> <el-image :src="scope.row.operatorIdCard" :zoom-rate="1.2" :preview-src-list="[scope.row.operatorIdCard]" preview-teleported fit="cover" /> </template> </el-table-column> <!-- <el-table-column prop='operatorIdNumber' label='业务经办人身份证号码' show-overflow-tooltip width="120"/> --> <el-table-column prop='operatorPhone' label='业务经办人电话' show-overflow-tooltip width="120"/> <!-- <el-table-column prop='bankName' label='开户行名称' show-overflow-tooltip /> --> <!-- <el-table-column prop='bankAccount' label='开户行账号' show-overflow-tooltip width="120"/> --> <el-table-column prop='steps' label='审核步骤' show-overflow-tooltip> <template v-slot="scope"> <span v-for="(item, index) in state.shenheList" :key="index"> <el-tag v-if="item.value == scope.row.steps">{{ item.description }}</el-tag> </span> </template> <!-- <template #default="scope"> <el-tag v-if="scope.row.steps==0" type='warning'> 待审核 </el-tag> <el-tag v-else-if="scope.row.steps==1" type='primary'> 更改 </el-tag> <el-tag v-else-if="scope.row.steps==2" type='success'> 通过 </el-tag> <el-tag v-else-if="scope.row.steps==3" type='error'> 未通过 </el-tag> </template> --> </el-table-column> <!-- <el-table-column label="修改记录" width="100" align="center" show-overflow-tooltip> <template #default="scope"> <ModifyRecord :data="scope.row" /> </template> </el-table-column> --> <el-table-column label="操作" width="70" align="center" fixed="right" show-overflow-tooltip v-if="auth('fBS_CusExtend:update') || auth('fBS_CusExtend:delete')"> <template #default="scope"> <el-button icon="ele-Check" size="small" text type="primary" @click="editDialogRef.openDialog(scope.row, '审核企业资料', state.qiyeList,state.roleList,state.shenheList)" v-auth="'fBS_CusExtend:update'"> </el-button> <!-- <el-button icon="ele-Delete" size="small" text type="primary" @click="delFBS_CusExtend(scope.row)" v-auth="'fBS_CusExtend:delete'"> </el-button> --> </template> </el-table-column> </el-table> <el-pagination v-model:currentPage="state.tableParams.page" v-model:page-size="state.tableParams.pageSize" @size-change="(val: any) => handleQuery({ pageSize: val })" @current-change="(val: any) => handleQuery({ page: val })" layout="total, sizes, prev, pager, next, jumper" :page-sizes="[10, 20, 50, 100, 200, 500]" :total="state.tableParams.total" size="small" background /> <ImportData ref="importDataRef" :import="fBS_CusExtendApi.importData" :download="fBS_CusExtendApi.downloadTemplate" v-auth="'fBS_CusExtend:import'" @refresh="handleQuery"/> <printDialog ref="printDialogRef" :title="'打印企业资料'" @reloadTable="handleQuery" /> <editDialog ref="editDialogRef" @reloadTable="handleQuery" /> </el-card> </div> </template> <style scoped> :deep(.el-input), :deep(.el-select), :deep(.el-input-number) { width: 100%; } </style>