Commit 795fbd97 authored by lvweichao's avatar lvweichao

Merge remote-tracking branch 'origin/dev'

parents 6c8aba04 250d7a46
const API_INTERNAL_URI = require("../config.js").API_INTERNAL_URI; const API_INTERNAL_URI = require("../config.js").API_INTERNAL_URI;
const req = require("../utils/request").httpReq; const req = require("../utils/request").httpReq;
const controller_utils = require("./utils");
// 获取企业信息列表 // 获取企业信息列表
exports.auditList = async ctx => { exports.auditList = async ctx => {
...@@ -46,6 +47,37 @@ exports.getRecordInfo = async ctx => { ...@@ -46,6 +47,37 @@ exports.getRecordInfo = async ctx => {
json: true, json: true,
body: ctx.request.body body: ctx.request.body
}; };
let permission = await controller_utils.getUserPermission(ctx);
permission = JSON.parse(permission);
const request = await req(ctx, opts);
if (permission.is_sensitive_data !== 1) {
request.result.record.entterprise_image = null; // 营业执照照片
request.result.record.legal_person = "********"; // 法人姓名
request.result.record.legal_id_card = "********"; // 法人身份证号
request.result.record.legal_validity_start_time = "********"; // 法人身份证开始时间
request.result.record.legal_validity_end_time = "********"; // 法人身份证结束时间
request.result.record.legal_front_id_card = null; // 法人身份证正面照
request.result.record.legal_back_id_card = null; // 法人身份证反面照
request.result.record.legal_id_card_hash = "********"; // 法人身份证哈希值
request.result.record.enterprice_address = "********"; // 企业地址
request.result.record.legal_issued_by = "********"; // 法人身份证地址
request.result.record.legal_nationality = "********"; // 法人民族
request.result.record.mobile = "********"; // 法人电话
request.result.record.sensitiveWord = false; // 是否有查看敏感词权限
} else {
request.result.record.sensitiveWord = true; // 是否有查看敏感词权限
}
ctx.body = request;
};
exports.onUpload = async ctx => {
const url = `${API_INTERNAL_URI}/merchant/lifeinner/upload`;
const opts = {
url,
method: "POST",
json: true,
body: ctx.request.body
};
ctx.body = await req(ctx, opts); ctx.body = await req(ctx, opts);
}; };
...@@ -61,9 +93,33 @@ exports.getLog = async ctx => { ...@@ -61,9 +93,33 @@ exports.getLog = async ctx => {
ctx.body = await req(ctx, opts); ctx.body = await req(ctx, opts);
}; };
// 企业信息提交 // 企业资料审核
exports.entCommit = async ctx => { exports.postAudit = async ctx => {
const url = `${API_INTERNAL_URI}/merchant/inner/ent_commit`; const url = `${API_INTERNAL_URI}/merchant/inner/audit`;
const opts = {
url,
method: "POST",
json: true,
body: ctx.request.body
};
ctx.body = await req(ctx, opts);
};
// 商户上传营业执照信息
exports.postBusiness = async ctx => {
const url = `${API_INTERNAL_URI}/merchant/enterprise/business`;
const opts = {
url,
method: "POST",
json: true,
body: ctx.request.body
};
ctx.body = await req(ctx, opts);
};
// 商户信息代提交(op后台)
exports.opCommit = async ctx => {
const url = `${API_INTERNAL_URI}/merchant/inner/op_commit`;
const opts = { const opts = {
url, url,
method: "POST", method: "POST",
......
...@@ -29,11 +29,14 @@ router.post(`${API_VERSION}/merchant/authority/get_role_info`, role.get_role_inf ...@@ -29,11 +29,14 @@ router.post(`${API_VERSION}/merchant/authority/get_role_info`, role.get_role_inf
router.post(`${API_VERSION}/merchant/authority/delete_role`, role.getDelete_role) router.post(`${API_VERSION}/merchant/authority/delete_role`, role.getDelete_role)
/* 企业认证 */ /* 企业认证 */
router.post(`${API_VERSION}/certification`, enterprise.auditList); router.post(`${API_VERSION}/certification`, enterprise.auditList);
router.post(`${API_VERSION}/emterprise_commit`, enterprise.entCommit);
router.post(`${API_VERSION}/send_code`, enterprise.sendCode); router.post(`${API_VERSION}/send_code`, enterprise.sendCode);
router.post(`${API_VERSION}/check_code`, enterprise.checkCode); router.post(`${API_VERSION}/check_code`, enterprise.checkCode);
router.post(`${API_VERSION}/get_record_info`, enterprise.getRecordInfo); router.post(`${API_VERSION}/get_record_info`, enterprise.getRecordInfo);
router.post(`${API_VERSION}/get_log`, enterprise.getLog); router.post(`${API_VERSION}/get_log`, enterprise.getLog);
router.post(`${API_VERSION}/audit`, enterprise.postAudit);
router.post(`${API_VERSION}/business`, enterprise.postBusiness)
router.post(`${API_VERSION}/op_commit`, enterprise.opCommit);
router.post(`${API_VERSION}/upload`, enterprise.onUpload);
router.get(`${API_VERSION}/image/get_image_id`, image.get_obj_id) router.get(`${API_VERSION}/image/get_image_id`, image.get_obj_id)
router.get(`${API_VERSION}/image/get_bucket`, image.get_bucket) router.get(`${API_VERSION}/image/get_bucket`, image.get_bucket)
......
...@@ -29,6 +29,9 @@ ...@@ -29,6 +29,9 @@
background-color: lightblue; background-color: lightblue;
color: #000; color: #000;
} }
.audit .history_area {
margin-bottom: 20px;
}
.mgtb20 { .mgtb20 {
margin: 20px 0; margin: 20px 0;
} }
...@@ -30,6 +30,9 @@ ...@@ -30,6 +30,9 @@
color: #000; color: #000;
} }
} }
.history_area{
margin-bottom: 20px;
}
} }
.mgtb20{ .mgtb20{
margin: 20px 0; margin: 20px 0;
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
border border
:data="messageList" :data="messageList"
> >
<!-- 审核状态 -->
<el-table-column <el-table-column
align="center" align="center"
label="审核状态" label="审核状态"
...@@ -28,30 +29,36 @@ ...@@ -28,30 +29,36 @@
<span v-if="scope.row.audit_status === 30">审核失败</span> <span v-if="scope.row.audit_status === 30">审核失败</span>
</template> </template>
</el-table-column> </el-table-column>
<!-- 企业ID -->
<el-table-column <el-table-column
align="center" align="center"
label="企业ID" label="企业ID"
prop="enterprise_auth_record_id" prop="enterprise_auth_record_id"
></el-table-column> ></el-table-column>
<!-- 企业注册名称 -->
<el-table-column <el-table-column
align="center" align="center"
label="企业注册名称" label="企业注册名称"
prop="name" prop="name"
></el-table-column> ></el-table-column>
<!-- 注册码 -->
<el-table-column <el-table-column
align="center" align="center"
label="注册码" label="注册码"
prop="code" prop="code"
></el-table-column> ></el-table-column>
<!-- 企业营业执照照片 -->
<el-table-column <el-table-column
align="center" align="center"
label="企业营业执照照片" label="企业营业执照照片"
> >
<template #default="scope"> <template #default="scope">
<el-image <el-image
v-if="scope.row.entterprise_image"
fit="fill" fit="fill"
:src="scope.row.entterprise_image" :src="scope.row.entterprise_image"
></el-image> ></el-image>
<span v-else>无权限</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -70,9 +77,11 @@ ...@@ -70,9 +77,11 @@
> >
<template #default="scope"> <template #default="scope">
<el-image <el-image
v-if="scope.row.legal_front_id_card"
:src="scope.row.legal_front_id_card" :src="scope.row.legal_front_id_card"
fit="fill" fit="fill"
></el-image> ></el-image>
<span v-else>无权限</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -81,106 +90,21 @@ ...@@ -81,106 +90,21 @@
> >
<template #default="scope"> <template #default="scope">
<el-image <el-image
v-if="scope.row.legal_back_id_card"
fit="fill" fit="fill"
:src="scope.row.legal_back_id_card" :src="scope.row.legal_back_id_card"
></el-image> ></el-image>
<span v-else>无权限</span>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 修改详情页 --> <!-- 修改详情页 -->
<!-- <el-form <enterprise-form
:dataForm="messageForm"
:enterpriseId="auditId"
v-if="pageStatus === 'EDIT'" v-if="pageStatus === 'EDIT'"
:rules="messageLishRules" ></enterprise-form>
label-width="240px"
ref="establish_form"
:model="messageList[0]"
>
<el-form-item
label="商户类型"
prop="merchantsType"
>
<el-select v-model="messageList[0].merchantsType">
<el-option
label="个体工商户"
:value="1"
></el-option>
<el-option
label="普通企业"
:value="2"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label="营业执照:"
ref="licenseChange"
prop="businessLicense"
>
<el-upload
action=""
multiple
show-file-list
:limit="4"
:auto-upload="false"
:file-list="messageList[0].licenseList"
:on-change="onLicenseChange"
:on-remove="onLicenseRemove"
>
<el-button
size="small"
type="primary"
>点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item
label="企业注册名称:"
prop="registeredName"
>
<el-input v-model.trim="messageList[0].registeredName"></el-input>
</el-form-item>
<el-form-item
label="统一社会信用代码(注册码):"
prop="registrationCode"
>
<el-input v-model.trim="messageList[0].registrationCode"></el-input>
</el-form-item>
<el-form-item
label="经营者(法人)身份证照片:"
ref="idcardPhotoChange"
prop="legalPhoto"
>
<el-upload
action=""
multiple
show-file-list
:auto-upload="false"
:file-list="messageList[0].idcardPhoto"
:on-change="onIdPhoneChange"
:on-remove="onIdPhoneRemove"
>
<el-button
size="small"
type="primary"
>点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item
label="经营者(法人)姓名:"
prop="legalName"
>
<el-input v-model.trim="messageList[0].legalName"></el-input>
</el-form-item>
<el-form-item
label="经营者(法人)身份证号:"
prop="idcardNumber"
>
<el-input v-model.trim="messageList[0].idcardNumber"></el-input>
</el-form-item>
</el-form> -->
</el-card> </el-card>
<!-- 审核/查看详情/修改详情__提交信息 --> <!-- 审核/查看详情/修改详情__提交信息 -->
...@@ -223,32 +147,36 @@ ...@@ -223,32 +147,36 @@
<el-table-column <el-table-column
align="center" align="center"
label="提交审核时间" label="提交审核时间"
prop="subDate" prop="commit_time"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
align="center" align="center"
label="提交人" label="提交人"
prop="author" prop="commit_name"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
align="center" align="center"
label="审核时间" label="审核时间"
prop="auditDate" prop="create_time"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
align="center" align="center"
label="审核人" label="审核人"
prop="auditer" prop="opt_user_name"
></el-table-column> ></el-table-column>
<el-table-column <el-table-column
align="center" align="center"
label="审核状态" label="审核状态"
prop="status" >
></el-table-column> <template #default="scope">
<span v-if="scope.row.audit_status === 20">通过</span>
<span v-if="scope.row.audit_status === 30">审核不通过</span>
</template>
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
label="审核意见" label="审核意见"
prop="address" prop="audit_opinion"
></el-table-column> ></el-table-column>
</el-table> </el-table>
</el-card> </el-card>
...@@ -270,10 +198,15 @@ ...@@ -270,10 +198,15 @@
></textarea> ></textarea>
<h5 class="mgtb20">审核结果</h5> <h5 class="mgtb20">审核结果</h5>
<div class="button_area"> <div class="button_area">
<el-button type="primary">通过</el-button>
<el-button <el-button
:disabled="!permission.get('audit')"
type="primary"
@click="auditResult(20)"
>通过</el-button>
<el-button
:disabled="!permission.get('audit')"
type="danger" type="danger"
@click="auditRefuse" @click="auditResult(30)"
>拒绝</el-button> >拒绝</el-button>
</div> </div>
</el-card> </el-card>
...@@ -315,21 +248,6 @@ ...@@ -315,21 +248,6 @@
></el-table-column> ></el-table-column>
</el-table> </el-table>
</el-card> </el-card>
<!-- 修改详情__提交表单或取消提交 -->
<div
class="edit_button_area"
v-if="pageStatus === 'EDIT'"
>
<el-button
@click="handelCancel('establish_form')"
type="danger"
>取消</el-button>
<el-button
@click="handelSubmit('establish_form')"
type="primary"
>提交审核</el-button>
</div>
</div> </div>
</layout> </layout>
</template> </template>
...@@ -338,10 +256,11 @@ ...@@ -338,10 +256,11 @@
<script> <script>
import Layout from "@/layouts"; import Layout from "@/layouts";
import { getRecordInfo, getLog } from "@/service/enterprise"; import { getRecordInfo, getLog, postAudit } from "@/service/enterprise";
import EnterpriseForm from "../components/enterpriseForm.vue";
export default { export default {
name: "Audit", name: "Audit",
components: { Layout }, components: { Layout, EnterpriseForm },
beforeRouteEnter (to, from, next) { beforeRouteEnter (to, from, next) {
to.params.pageStatus && to.params.auditId to.params.pageStatus && to.params.auditId
? next() ? next()
...@@ -353,128 +272,27 @@ export default { ...@@ -353,128 +272,27 @@ export default {
this.auditId = parseInt(auditId); this.auditId = parseInt(auditId);
this.pageStatus = pageStatus; this.pageStatus = pageStatus;
this.getInfo(); this.getInfo();
this.getHistory() this.getHistory();
console.log(this.$store);
}, },
data () { data () {
// 营业执照校验规则
let businessRules = (rule, value, callback) => {
if (this.messageList[0].licenseList.length === 0) {
callback(new Error("请上传营业执照"));
} else {
callback();
}
};
// 身份证照片校验规则
let idPhotoRules = (rule, value, callback) => {
if (this.messageList[0].idcardPhoto.length === 0) {
callback(new Error("请上传身份证照片"));
} else {
callback();
}
};
// 身份证号校验规则
let idcardNumberRules = (rule, value, callback) => {
let IDRe18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
let IDre15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/;
let idNumber = this.messageList[0].idcardNumber;
if (idNumber.length === 0) {
callback(new Error("身份证号不可为空"));
} else if (!(IDRe18.test(idNumber) || IDre15.test(idNumber))) {
callback(new Error("身份证号格式不正确"));
} else {
callback();
}
};
return { return {
pageStatus: null, // 哪个按钮进入 pageStatus: null, // 哪个按钮进入
auditId: null, // 传入的企业id auditId: null, // 传入的企业id
// 审核/修改详情/查看详情-企业信息 // 审核/修改详情/查看详情-企业信息
messageList: [ messageList: [],
{
merchantsType: null,
status: 1,
id: 1221,
code: 112211,
registeredName: "一点资讯", // 企业名称
registrationCode: 1221, // 注册码
licenseList: [], // 营业执照
legalName: "蒙文昊", // 法人姓名
idcardNumber: 150402199704132713, // 法人身份证号
idcardPhoto: [] // 身份证照片
}
],
// 审核-提交历史
historyList: [
{
subDate: "2021-05-26",
author: "蒙文昊",
auditDate: "2021-05-26",
auditer: "蒙文昊",
status: 1,
address: "请求通过,可以提交审核"
}
],
// 审核-审核意见 messageForm: {}, // 修改信息表单
opinionArea: "",
// 生活号-生活号信息 // 生活号列表信息
lifeList: [], lifeList: [],
// 修改详情-表单校验规则 // 审核-提交历史
messageLishRules: { historyList: [],
// 营业执照
businessLicense: [
{ required: true, validator: businessRules, trigger: "change" }
],
// 企业注册名称
registeredName: [
{ required: true, message: "请输入企业注册名称", trigger: "blur" }
],
// 注册码
registrationCode: [
{
required: true,
message: "请输入统一社会信用代码(注册码)",
trigger: "blur"
}
],
// 法人照片
legalPhoto: [
{ required: true, validator: idPhotoRules, trigger: "change" }
],
// 法人姓名
legalName: [
{
required: true,
message: "请输入经营者(法人)姓名",
trigger: "blur"
}
],
// 法人身份证号
idcardNumber: [
{
required: true,
validator: idcardNumberRules,
trigger: "blur"
}
],
// 商户类型
merchantsType: [
{
required: true,
message: "请选择商户类型",
trigger: "change"
}
]
},
// 生活号状态 // 审核-审核意见
lifeStatus: false, opinionArea: ""
// 生活号错误信息
lifeErrorMessage: ""
}; };
}, },
...@@ -487,6 +305,13 @@ export default { ...@@ -487,6 +305,13 @@ export default {
} else { } else {
return "查看详情页"; return "查看详情页";
} }
},
permission () {
const modulePermissions =
this.$store.getters.moduleSubPermissions("enterprise") || [];
console.log("Current page func-permissions:", modulePermissions);
return new Map(modulePermissions.map(ele => [ele.name, true]));
} }
}, },
...@@ -498,11 +323,13 @@ export default { ...@@ -498,11 +323,13 @@ export default {
const params = { enterprise_auth_record_id: this.auditId }; const params = { enterprise_auth_record_id: this.auditId };
try { try {
const res = await getRecordInfo(params); const res = await getRecordInfo(params);
if (res.code !== 0) return this.$message.error(res.result); if (res.code !== 0) return this.$message.error(res.reason);
this.messageForm = res.result.record;
this.messageList.push(res.result.record); this.messageList.push(res.result.record);
this.lifeList.push(res.result.life); this.lifeList.push(res.result.life);
console.log(this.lifeList); console.log("messageForm=1-2=310=-203", this.messageForm);
console.log(this.messageList); console.log("lifeLIST======", this.lifeList);
console.log("messageList", this.messageList);
console.log(res); console.log(res);
} catch (error) { } catch (error) {
this.$message.error("发生未知错误,请稍后再试一下吧~~~"); this.$message.error("发生未知错误,请稍后再试一下吧~~~");
...@@ -513,63 +340,41 @@ export default { ...@@ -513,63 +340,41 @@ export default {
// 获取提交日志信息(历史提交) // 获取提交日志信息(历史提交)
async getHistory () { async getHistory () {
const res = await getLog({ enterprise_auth_record_id: this.auditId }); const res = await getLog({ enterprise_auth_record_id: this.auditId });
console.log("提交历史记录", res); if (res.code !== 0) return this.$message.error(res.reason);
this.historyList = [...res.result];
}, },
// 审核-拒绝审核 // 审核-拒绝审核
auditRefuse () { async auditResult (status) {
console.log(this.$store.state.userInfo.userid);
const params = {
audit_status: status,
audit_user_name: this.$store.state.userInfo.name,
audit_user_id: this.$store.state.userInfo.userid,
enterprise_auth_record_id: this.auditId,
audit_opinion: this.opinionArea
};
// 审核通过
if (status === 20) {
const res = await postAudit(params);
if (res.code !== 0) return this.$message.error(res.reason);
this.$message.success("审核通过成功!");
this.$router.replace({ name: "Certification" });
}
// 拒绝审核通过
else {
if (this.opinionArea.length === 0) if (this.opinionArea.length === 0)
return this.$message.error("请填写拒绝原因"); return this.$message.error("请填写审核意见");
const res = await postAudit(params);
if (res.code !== 0) return this.$message.error(res.reason);
this.$message.warning("拒绝审核通过成功!");
this.$router.replace({ name: "Certification" });
}
}, },
// 返回上一页 // 返回上一页
goBack () { goBack () {
this.$router.replace({ name: "Certification" }); this.$router.replace({ name: "Certification" });
},
// 生活号-创建生活号弹框显示
// onCreateLife (params) {
// console.log(params);
// this.isDialogShow = true;
// this.lifeStatus = true;
// },
// 修改详情-提交审核
handelSubmit (formName) {
this.$refs[formName].validate(valid => {
console.log(valid);
});
},
// 修改详情-取消修改表单
handelCancel () {
this.$router.replace({ name: "Certification" });
},
// 修改详情-执照列表更改时
onLicenseChange (file, fileList) {
this.messageList[0].licenseList = fileList;
this.$refs["licenseChange"].clearValidate();
console.log("licenseList", this.messageList[0].licenseList);
},
// 修改详情-身份证照片更改时
onIdPhoneChange (file, fileList) {
this.messageList[0].idcardPhoto = fileList;
this.$refs["idcardPhotoChange"].clearValidate();
console.log("idcardPhoto:", this.messageList[0].idcardPhoto);
},
// 修改详情-删除上传的营业执照
onLicenseRemove (file, fileList) {
console.log("file", file);
console.log("fileList", fileList);
this.messageList[0].licenseList = fileList;
console.log("licenseList", this.messageList[0].licenseList);
},
// 修改详情-删除上传的身份证照片
onIdPhoneRemove (file, fileList) {
this.messageList[0].idcardPhoto = fileList;
console.log("idCarPhoto:", this.messageList[0].idcardPhoto);
} }
} }
}; };
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<layout> <layout>
<!-- 企业信息提交 --> <!-- 企业信息提交 -->
<el-button <el-button
:disabled="!permission.get('create')"
type="primary" type="primary"
class="setUp" class="setUp"
@click="goEstablish" @click="goEstablish"
...@@ -17,19 +18,28 @@ ...@@ -17,19 +18,28 @@
> >
<!-- 查询信息区域 --> <!-- 查询信息区域 -->
<div class="formItem"> <div class="formItem">
<el-form-item label="企业注册名称:"> <el-form-item
label="企业注册名称:"
prop="name"
>
<el-input v-model="enterpriseForm.name"></el-input> <el-input v-model="enterpriseForm.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="注册码:"> <el-form-item
label="注册码:"
prop="code"
>
<el-input v-model="enterpriseForm.code"></el-input> <el-input v-model="enterpriseForm.code"></el-input>
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="法人或经营者姓名:" label="法人或经营者姓名:"
prop="userName" prop="legal_person"
> >
<el-input v-model="enterpriseForm.legal_person"></el-input> <el-input v-model="enterpriseForm.legal_person"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="审核状态:"> <el-form-item
label="审核状态:"
prop="audit_status"
>
<el-select <el-select
placeholder="请选择审核状态" placeholder="请选择审核状态"
v-model="enterpriseForm.audit_status" v-model="enterpriseForm.audit_status"
...@@ -42,9 +52,12 @@ ...@@ -42,9 +52,12 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="提交类型:"> <el-form-item
label="提交类型:"
prop="data_from"
>
<el-select <el-select
v-model="enterpriseForm.data_form" v-model="enterpriseForm.data_from"
placeholder="请选择提交类型" placeholder="请选择提交类型"
> >
<el-option <el-option
...@@ -55,7 +68,10 @@ ...@@ -55,7 +68,10 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="提交人账号:"> <el-form-item
label="提交人账号:"
prop="proxy_user_name"
>
<el-input v-model="enterpriseForm.proxy_user_name"></el-input> <el-input v-model="enterpriseForm.proxy_user_name"></el-input>
</el-form-item> </el-form-item>
</div> </div>
...@@ -92,7 +108,7 @@ ...@@ -92,7 +108,7 @@
> >
<template #default="scope"> <template #default="scope">
<span v-if="scope.row.audit_status === 5">编辑中</span> <span v-if="scope.row.audit_status === 5">编辑中</span>
<span v-if="scope.row.audit_status === 10">身份证校验通过待平台审核</span> <span v-if="scope.row.audit_status === 10">审核</span>
<span v-if="scope.row.audit_status === 20">审核成功</span> <span v-if="scope.row.audit_status === 20">审核成功</span>
<span v-if="scope.row.audit_status === 30">审核失败</span> <span v-if="scope.row.audit_status === 30">审核失败</span>
</template> </template>
...@@ -141,9 +157,12 @@ ...@@ -141,9 +157,12 @@
<el-button <el-button
size="mini" size="mini"
type="primary" type="primary"
:disabled="!permission.get('audit')"
@click="goAuditPage('AUDIT', scope.row.enterprise_auth_record_id)" @click="goAuditPage('AUDIT', scope.row.enterprise_auth_record_id)"
>审核</el-button> >审核</el-button>
<!-- || scope.row.audit_status !== 30 ? true : false -->
<el-button <el-button
:disabled="!permission.get('edit') "
size="mini" size="mini"
type="success" type="success"
@click="goAuditPage('EDIT', scope.row.enterprise_auth_record_id)" @click="goAuditPage('EDIT', scope.row.enterprise_auth_record_id)"
...@@ -206,11 +225,11 @@ export default { ...@@ -206,11 +225,11 @@ export default {
code: "", code: "",
legal_person: "", legal_person: "",
audit_status: null, audit_status: null,
data_form: null, data_from: null,
proxy_user_name: null, proxy_user_name: null,
statusOptions: [ statusOptions: [
{ value: 5, label: "编辑中" }, { value: 5, label: "编辑中" },
{ value: 10, label: "身份证校验通过待平台审核" }, { value: 10, label: "审核" },
{ value: 20, label: "审核成功" }, { value: 20, label: "审核成功" },
{ value: 30, label: "审核失败" } { value: 30, label: "审核失败" }
], ],
...@@ -237,11 +256,12 @@ export default { ...@@ -237,11 +256,12 @@ export default {
created () { created () {
this.getEnterpriseList(); this.getEnterpriseList();
console.log(this.$store);
}, },
computed: { computed: {
// 使用示例: permission.get("audit") 获取是否有审核权限 // 使用示例: permission.get("audit") 获取是否有审核权限
permission() { permission () {
const modulePermissions = this.$store.getters.moduleSubPermissions('enterprise') || []; const modulePermissions = this.$store.getters.moduleSubPermissions('enterprise') || [];
console.log('Current page func-permissions:', modulePermissions); console.log('Current page func-permissions:', modulePermissions);
return new Map(modulePermissions.map(ele => [ele.name, true])) return new Map(modulePermissions.map(ele => [ele.name, true]))
...@@ -257,7 +277,7 @@ export default { ...@@ -257,7 +277,7 @@ export default {
code, code,
legal_person, legal_person,
audit_status, audit_status,
data_form, data_from,
proxy_user_name proxy_user_name
} = this.enterpriseForm; } = this.enterpriseForm;
const params = { const params = {
...@@ -267,7 +287,7 @@ export default { ...@@ -267,7 +287,7 @@ export default {
code, // 注册码 code, // 注册码
legal_person, // 法人或经营者姓名 legal_person, // 法人或经营者姓名
audit_status, // 审核状态 audit_status, // 审核状态
data_form, // 提交类型 data_from, // 提交类型
proxy_user_name // 提交人账号 proxy_user_name // 提交人账号
}; };
try { try {
...@@ -285,6 +305,7 @@ export default { ...@@ -285,6 +305,7 @@ export default {
// 重置表单 // 重置表单
resetForm (formName) { resetForm (formName) {
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
this.getEnterpriseList();
}, },
// 跳转到企业信息提交 // 跳转到企业信息提交
...@@ -317,22 +338,18 @@ export default { ...@@ -317,22 +338,18 @@ export default {
if (this.checkIsCode.length === 0) { if (this.checkIsCode.length === 0) {
return this.$message.error("验证码不可为空"); return this.$message.error("验证码不可为空");
} else { } else {
try {
const parasm = { const parasm = {
enterprise_auth_record_id: this.auditId, enterprise_auth_record_id: this.auditId,
code: parseInt(this.checkIsCode) code: parseInt(this.checkIsCode)
}; };
const res = await checkCode(parasm); const res = await checkCode(parasm);
console.log(res); console.log(res);
if (res.code !== 0) return this.$message.error(res.reason); // if (res.code !== 0) return this.$message.error(res.reason);
this.$message.success("验证码校验成功!"); this.$message.success("验证码校验成功!");
this.$router.push({ this.$router.push({
name: "Audit", name: "Audit",
params: { pageStatus: "EDIT", auditId: this.auditId } params: { pageStatus: "EDIT", auditId: this.auditId }
}); });
} catch (error) {
console.log(error);
}
} }
}, },
......
...@@ -7,280 +7,7 @@ ...@@ -7,280 +7,7 @@
@back="goBack" @back="goBack"
></el-page-header> ></el-page-header>
<div class="establish"> <enterprise-form :type="'SUBMIT'"></enterprise-form>
<el-form
:rules="establishRules"
label-width="240px"
ref="establishFormRef"
:model="establishForm"
>
<h3>营业执照信息</h3>
<!-- 商户类型 -->
<el-form-item
label="商户类型"
prop="dataType"
>
<el-select
placeholder="请选择商户类型"
v-model="establishForm.dataType"
>
<el-option
label="个体工商户"
:value="1"
></el-option>
<el-option
label="普通企业"
:value="2"
></el-option>
</el-select>
</el-form-item>
<!-- 营业执照金山云key -->
<el-form-item
label="营业执照:"
ref="licenseChange"
prop="businessLicense"
>
<el-upload
action=""
multiple
show-file-list
:auto-upload="false"
:file-list="establishForm.licenseList"
:on-change="onLicenseChange"
:on-remove="onLicenseRemove"
>
<el-button
size="small"
type="primary"
>点击上传</el-button>
</el-upload>
</el-form-item>
<!-- 企业注册名称 -->
<el-form-item
label="企业注册名称:"
prop="name"
>
<el-input v-model.trim="establishForm.name"></el-input>
</el-form-item>
<!-- 企业代码 -->
<el-form-item
label="统一社会信用代码(注册码:"
prop="code"
>
<el-input v-model.trim="establishForm.code"></el-input>
</el-form-item>
<!-- 数据来源 -->
<el-form-item
label="数据来源:"
prop="data_from"
>
<el-select
v-model="establishForm.data_from"
placeholder="请选择数据来源"
>
<el-option
label="C端"
:value="1"
></el-option>
<el-option
label="B端"
:value="2"
></el-option>
<el-option
label="OP后台代提交"
:value="3"
></el-option>
</el-select>
</el-form-item>
<!-- 代提交人手机号 -->
<el-form-item
label="待提交人手机号:"
prop="mobile"
>
<el-input v-model.number="establishForm.mobile"></el-input>
</el-form-item>
<el-form-item
label="代提交标识"
prop="is_agent"
>
<el-select v-model="establishForm.is_agent">
<el-option
label="代提交"
:value="1"
></el-option>
</el-select>
</el-form-item>
<!-- =================普通企业法人/个体工商户身份认证信息========== -->
<h3>身份信息</h3>
<!-- 企业营业执照号 -->
<el-form-item
label="企业营业执照号"
prop="enterpriseCode"
>
<el-input
placeholder="请输入企业营业执照号"
v-model="establishForm.enterpriseCode"
></el-input>
</el-form-item>
<!-- 身份证正面照片 -->
<el-form-item
label="身份证正面照"
prop="front_img"
>
<el-upload
action=""
multiple
show-file-list
:auto-upload="false"
:file-list="establishForm.licenseList"
:on-change="onLicenseChange"
:on-remove="onLicenseRemove"
>
<el-button
size="small"
type="primary"
>点击上传</el-button>
</el-upload>
</el-form-item>
<!-- 身份证反面照片 -->
<el-form-item
label="身份证反面照"
prop="bak_img"
>
<el-upload
action=""
multiple
show-file-list
:auto-upload="false"
:file-list="establishForm.licenseList"
:on-change="onLicenseChange"
:on-remove="onLicenseRemove"
>
<el-button
size="small"
type="primary"
>点击上传</el-button>
</el-upload>
</el-form-item>
<!-- orc照片正面完整度 -->
<el-form-item
label="orc正面完整度"
prop="front_completeness"
>
<el-input v-model="establishForm.front_completeness"></el-input>
</el-form-item>
<!-- orc照片反面完整度 -->
<el-form-item
label="orc反面完整度"
prop="bak_completeness"
>
<el-input v-model="establishForm.bak_completeness"></el-input>
</el-form-item>
<!-- 身份证号 -->
<el-form-item
label="身份证号"
prop="idcard_number"
>
<el-input v-model="establishForm.idcard_number"></el-input>
</el-form-item>
<!-- 姓名 -->
<el-form-item
label="经营者(法人)姓名"
prop="userName"
>
<el-input v-model="establishForm.userName"></el-input>
</el-form-item>
<!-- ====================== 非必填项 =============================== -->
<!-- 营业执照企业类型 -->
<!-- <el-form-item label="营业执照上企业类型:">
<el-input
placeholder="如:有限责任公司,个体工商户等文字描述"
v-model.trim="establishForm.type"
></el-input>
</el-form-item> -->
<!-- 企业注册地址 -->
<!-- <el-form-item label="企业注册地址:">
<el-input v-model.trim="establishForm.addr"></el-input>
</el-form-item> -->
<!-- 经营范围 -->
<!-- <el-form-item label="经营范围:">
<el-input v-model.trim="establishForm.scope"></el-input>
</el-form-item> -->
<!-- 有效期 -->
<!-- <el-form-item label="有效期:">
<el-input v-model.trim="establishForm.time"></el-input>
</el-form-item> -->
<!-- 注册资本 -->
<!-- <el-form-item label="注册资本:">
<el-input v-model.trim="establishForm.regi"></el-input>
</el-form-item> -->
<!-- 主管单位 -->
<!-- <el-form-item label="主管单位:">
<el-input v-model.trim="establishForm.organizer"></el-input>
</el-form-item> -->
<!-- 成立时间 -->
<!-- <el-form-item label="成立时间:">
<el-input v-model.trim="establishForm.date"></el-input>
</el-form-item> -->
<!-- 登记机关 -->
<!-- <el-form-item label="登记机关:">
<el-input v-model.trim="establishForm.comp"></el-input>
</el-form-item> -->
<!-- 登记号 -->
<!-- <el-form-item label="登记号:">
<el-input v-model.trim="establishForm.num"></el-input>
</el-form-item> -->
<!-- 组成形式 -->
<!-- <el-form-item label="组成形式:">
<el-input v-model.trim="establishForm.form"></el-input>
</el-form-item> -->
<!-- 经费来源 -->
<!-- <el-form-item label="经费来源:">
<el-input v-model.trim="establishForm.funding"></el-input>
</el-form-item> -->
<!-- 发证日期 -->
<!-- <el-form-item label="发证日期:">
<el-input v-model.trim="establishForm.issue_date"></el-input>
</el-form-item> -->
<!-- 生活号id -->
<!-- <el-form-item label="生活号id:">
<el-input v-model.trim="establishForm.life_account_id"></el-input>
</el-form-item> -->
<!-- 代提交人名 -->
<!-- <el-form-item label="代提交人名:">
<el-input v-model.trim="establishForm.proxy_user_name"></el-input>
</el-form-item> -->
<!-- 代提交,被提交人手机号 -->
<!-- <el-form-item label="代提交/被提交用户手机号:">
<el-input v-model.trim="establishForm.phone"></el-input>
</el-form-item> -->
<!-- 代提交标识位 -->
<!-- <el-form-item label="发证日期:">
<el-select
placeholder="是否为代提交"
v-model="establishForm.is_agent"
>
<el-option
label="代提交"
:value="1"
></el-option>
<el-option
label="非代提交"
:value="null"
></el-option>
</el-select>
</el-form-item> -->
<el-form-item>
<el-button @click="handelCancel('establishFormRef')">取消</el-button>
<el-button
@click="handelSubmit('establishFormRef')"
type="primary"
>提交审核</el-button>
</el-form-item>
</el-form>
</div>
</layout> </layout>
</template> </template>
...@@ -288,141 +15,16 @@ ...@@ -288,141 +15,16 @@
<script> <script>
import Layout from "@/layouts"; import Layout from "@/layouts";
import { entCommit } from "../../../service/enterprise"; import EnterpriseForm from "../components/enterpriseForm.vue";
export default { export default {
name: "Establish", name: "Establish",
components: { Layout }, components: { Layout, EnterpriseForm },
data () {
// 营业执照校验规则 created () {
let businessRules = (rule, value, callback) => {
if (this.establishForm.licenseList.length === 0) {
callback(new Error("请上传营业执照"));
} else {
callback();
}
};
/* // 身份证照片校验规则
let idPhotoRules = (rule, value, callback) => {
if (this.establishForm.idcardPhoto.length === 0) {
callback(new Error("请上传身份证照片"));
} else {
callback();
}
}; */
// 身份证号校验规则
let idcardNumberRules = (rule, value, callback) => {
let IDRe18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
let IDre15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/;
let idNumber = this.establishForm.idcard_number;
if (idNumber.length === 0) {
callback(new Error("身份证号不可为空"));
} else if (!(IDRe18.test(idNumber) || IDre15.test(idNumber))) {
callback(new Error("身份证号格式不正确"));
} else {
callback();
}
};
return {
// 表单输入项
establishForm: {
user_id: null, // 用户id(!)
code: null, // 企业代码(!)
name: null, // 企业名称(!)
entterprise_image: null, // 金山云key(!)
data_from: null, // 数据来源(!)
dataType: null, // 企业认证类型(!)
type: null, // 营业执照上的企业类型
addr: null, // 企业注册地址
pers: null, // 法人
scope: null, // 经营范围
time: null, // 有效期
regi: null, // 注册资本
organizer: null, // 主管单位
date: null, // 成立时间
comp: null, // 登记机关
num: null, // 登记号,
form: null, // 组成形式
funding: null, // 经费来源
issue_date: null, // 发证日期
life_account_id: null, // 生活号id
proxy_user_name: null, // OP后台代提交人姓名
phone: null, // 代提交 被提交用户手机号
is_agent: null, // 代提交标识位
/* *********身份认证信息********* */
enterpriseCode: "", // 企业营业执照(!)
front_img: "", // 身份证正面照的金山云objectid(!)
bak_img: "", // 身份证反面照的尖山云objeid(!)
front_completeness: "", // ocr识别身份证正面照的完整度(!)
bak_completeness: "", // ocr识别身份证反面的完整度(!)
idcard_number: "", // 身份证号(!) 用户填写的
gender: "", // 性别(身份证识别的:男/女)
userName: "", // 姓名 用户填写的(!)
address: "", // 地址
nationality: "", // 民族
valid_date_start: "", // 身份证有效期开始时间
valid_date_end: "", // 身份证有效期结束时间
issued_by: "" // 签发机关
}, },
// 表单校验规则 data () {
establishRules: { return {};
// 营业执照
businessLicense: [
{ required: true, validator: businessRules, trigger: "change" }
],
// 企业注册名称
name: [
{ required: true, message: "请输入企业注册名称", trigger: "blur" }
],
// 注册码
code: [
{
required: true,
message: "请输入统一社会信用代码(注册码)",
trigger: "blur"
}
],
// 商户类型
dataType: [
{ required: true, message: "请选择商户类型", trigger: "change" }
],
// 数据来源
data_from: [
{ required: true, message: "请选择数据来源", trigger: "change" }
],
/* ****************法人/个体用户身份校验***************** */
// 企业营业执照号
enterpriseCode: [
{ required: true, message: "请输入企业营业执照号", trigger: "blur" }
],
// 身份证正面照
front_img: [
{ required: true, message: "请上传身份证正面照", trigger: "change" }
],
// 身份证反面照
bak_img: [
{ required: true, message: "请上传身份证反面照", trigger: "change" }
],
// 正面完整度
front_completeness: [
{ required: true, message: "请填写orc正面完整度", trigger: "blur" }
],
// 反面完整度
bak_completeness: [
{ required: true, message: "请填写orc反面完整度", trigger: "blur" }
],
// 身份证号
idcard_number: [
{ required: true, validator: idcardNumberRules, trigger: "blur" }
],
// 经营者/法人姓名
userName: [
{ required: true, message: "请填写经营者(法人姓名)", trigger: "blur" }
],
mobile: [{ required: true, message: "请填写待提交人手机号", trigger: "blur" }],
is_agent: [{ required: true, message: "请填写是否代提交", trigger: "change" }]
}
};
}, },
methods: { methods: {
...@@ -430,72 +32,6 @@ export default { ...@@ -430,72 +32,6 @@ export default {
goBack () { goBack () {
this.$router.replace({ name: "Certification" }); this.$router.replace({ name: "Certification" });
}, },
// 执照列表更改时
onLicenseChange (file, fileList) {
this.establishForm.licenseList = fileList;
this.$refs["licenseChange"].clearValidate();
},
// 身份证照片更改时
onIdPhoneChange (file, fileList) {
this.establishForm.idcardPhoto = fileList;
this.$refs["idcardPhotoChange"].clearValidate();
},
// 删除上传的营业执照
onLicenseRemove (file, fileList) {
this.establishForm.licenseList = fileList;
},
// 删除上传的身份证照片
onIdPhoneRemove (file, fileList) {
this.establishForm.idcardPhoto = fileList;
},
// 取消创建表单
handelCancel () {
this.$router.go(-1);
},
// 提交表单
handelSubmit (formName) {
this.$refs[formName].validate(async valid => {
console.log(valid);
const query = {
user_id: 510232747179, // 用户id
code: parseInt(this.establishForm.code), // 企业代码
name: this.establishForm.name, // 企业名称
type: "", // 企业类型
addr: "", // 企业注册地址
pers: "", // 法人
scope: "", // 经营范围
time: "", // 有效期
regi: "", // 注册资本
organizer: "", // 主管单位(!)
date: "", // 成立时间(!)
comp: "", // 登记机关(!)
num: "", // 登记号(!)
form: "", // 组成形式(!)
funding: "", // 经费来源(!)
issue_date: "", // 发证日期(!)
entterprise_image: "", // 金山云key
data_from: "", // 数据来源,1C端,2B端,3 OP后台代提交
proxy_user_name: "" // OP后台代提交 代提交人名(!)
};
if (valid) {
const res = await entCommit(query);
if (res.code !== 0) {
return this.$message.error(res.reason);
} else {
this.$message({ type: "success", message: "信息提交成功!" });
}
console.log(res);
} else {
this.$message.error("表单未填写完整!");
}
});
}
} }
}; };
</script> </script>
<template>
<div class="establish">
<el-form
:rules="establishRules"
label-width="240px"
ref="establishFormRef"
:model="establishForm"
>
<h3>营业执照信息</h3>
<!-- 商户类型 -->
<el-form-item
label="商户类型"
prop="data_type"
>
<el-select
placeholder="请选择商户类型"
v-model="establishForm.data_type"
>
<el-option
label="个体工商户"
:value="1"
></el-option>
<el-option
label="普通企业"
:value="2"
></el-option>
</el-select>
</el-form-item>
<!-- 营业执照金山云key -->
<el-form-item
label="营业执照:"
ref="licenseChange"
prop="businessLicense"
>
<el-image
v-if="establishForm.entterprise_image"
style="width:100px;height:100px;border-radius:10px"
:src="establishForm.entterprise_image"
fit="cover"
></el-image>
<el-upload
:show-file-list="false"
action="http://bp-dev.ini.yidian-inc.com/merchant/lifeinner/upload"
:limit="1"
:accept="'image/*'"
auto-upload
:on-success="handleSuccess"
:on-error="handleError"
>
<el-button
size="small"
type="primary"
>点击上传</el-button>
</el-upload>
</el-form-item>
<!-- 企业注册名称 -->
<el-form-item
label="企业注册名称:"
prop="name"
>
<el-input v-model.trim="establishForm.name"></el-input>
</el-form-item>
<!-- 企业代码 -->
<el-form-item
label="统一社会信用代码(注册码):"
prop="code"
>
<el-input v-model.trim="establishForm.code"></el-input>
</el-form-item>
<!-- 数据来源 -->
<el-form-item
label="数据来源:"
prop="data_from"
>
<el-select
v-model="establishForm.data_from"
placeholder="请选择数据来源"
>
<el-option
label="C端"
:value="1"
></el-option>
<el-option
label="B端"
:value="2"
></el-option>
<el-option
label="OP后台代提交"
:value="3"
></el-option>
</el-select>
</el-form-item>
<!-- =================普通企业法人/个体工商户身份认证信息========== -->
<h3>身份信息</h3>
<!-- 身份证正面照片 -->
<el-form-item
label="经营者(法人)身份证正面照"
prop="front_img"
>
<el-image
v-if="establishForm.front_img"
style="width:100px;height:100px;border-radius:10px"
:src="establishForm.front_img"
fit="cover"
></el-image>
<el-upload
action=""
multiple
show-file-list
:limit="1"
:auto-upload="false"
:file-list="establishForm.idcardFontPhoto"
:on-change="onIdPhoneFontChange"
:on-remove="onIdPhoneRemove"
>
<el-button
size="small"
type="primary"
>点击上传</el-button>
</el-upload>
</el-form-item>
<!-- 身份证反面照片 -->
<el-form-item
label="经营者(法人)身份证反面照"
prop="bak_img"
>
<el-image
v-if="establishForm.bak_img"
style="width:100px;height:100px;border-radius:10px"
:src="establishForm.bak_img"
fit="cover"
></el-image>
<el-upload
action=""
multiple
show-file-list
:limit="1"
:auto-upload="false"
:file-list="establishForm.idcardBackPhoto"
:on-change="onIdPhoneBackChange"
:on-remove="onIdPhoneRemove"
>
<el-button
size="small"
type="primary"
>点击上传</el-button>
</el-upload>
</el-form-item>
<!-- 经营者(法人)姓名 -->
<el-form-item
label="经营者(法人)姓名:"
prop="userName"
>
<el-input v-model="establishForm.userName"></el-input>
</el-form-item>
<!-- 经营者(法人)手机号 -->
<el-form-item
label="经营者(法人)手机号:"
prop="mobile"
v-if="isMobbileRequired"
>
<el-input v-model="establishForm.mobile"></el-input>
</el-form-item>
<el-form-item
label="经营者(法人)手机号:"
v-else
>
<el-input v-model="establishForm.mobile"></el-input>
</el-form-item>
<!-- 经营者(法人)身份证号 -->
<el-form-item
label="经营者(法人)身份证号:"
prop="idcard_number"
>
<el-input v-model="establishForm.idcard_number"></el-input>
</el-form-item>
<!-- 用户手机号 -->
<!-- <el-form-item
label="用户手机号:"
prop="mobile"
>
<el-input v-model.number="establishForm.mobile"></el-input>
</el-form-item> -->
<el-form-item>
<el-button @click="handelCancel('establishFormRef')">取消</el-button>
<el-button
@click="handelSubmit('establishFormRef')"
type="primary"
>提交审核</el-button>
</el-form-item>
</el-form>
</div>
</template>
<style lang="less" scoped>
// 主体区域
.establish {
padding: 0;
display: flex;
justify-content: center;
}
</style>
<script>
import { postBusiness, opCommit } from "@/service/enterprise";
export default {
props: {
enterpriseId: { type: Number },
dataForm: { type: Object }
},
data () {
// 营业执照校验规则
const businessRules = (rule, value, callback) => {
if (!this.establishForm.entterprise_image) {
callback(new Error("请上传营业执照"));
} else {
callback();
}
};
// 身份证照片正面校验规则
const idPhotoFontRules = (rule, value, callback) => {
if (this.establishForm.idcardFontPhoto.length === 0) {
callback(new Error("请上传身份正面证照片"));
} else {
callback();
}
};
// 身份证照片反面校验规则
const idPhotoBackRules = (rule, value, callback) => {
if (this.establishForm.idcardBackPhoto.length === 0) {
callback(new Error("请上传身份反面证照片"));
} else {
callback();
}
};
// 身份证号校验规则
const idcardNumberRules = (rule, value, callback) => {
const IDRe18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
const IDre15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/;
const { idcard_number } = this.establishForm;
if (idcard_number.length === 0) {
callback(new Error("身份证号不可为空"));
} else if (!(IDRe18.test(idcard_number) || IDre15.test(idcard_number))) {
callback(new Error("身份证号格式不正确"));
} else {
callback();
}
};
// 手机号校验规则
const mobileRules = (rule, value, callback) => {
const phoneReg = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
const { mobile } = this.establishForm;
if (mobile.length === 0) {
callback(new Error("手机号码不可为空"));
} else if (!phoneReg.test(mobile)) {
callback(new Error("手机号格式不正确"));
}
// if (!phoneReg.test(legal_mobile)) {
// callback(new Error("手机号格式不正确"));
// }
callback();
};
return {
// 表单输入项
establishForm: {
code: null, // 企业代码(!)
name: null, // 企业名称(!)
entterprise_image: null, // 金山云key(!)
data_from: null, // 数据来源(!)
/* *********身份认证信息********* */
record_id: null, // 企业认证id
front_img: "", // 身份证正面照的金山云objectid(!)
bak_img: "", // 身份证反面照的尖山云objeid(!)
idcard_number: "", // 身份证号(!)
userName: "", // 用户姓名(!)
mobile: null, // 用户手机号
data_type: null // 企业类型(!)
},
// 表单回显信息
callbackForm: null,
// 表单校验规则
establishRules: {
// 营业执照
businessLicense: [
{ required: true, validator: businessRules, trigger: "change" }
],
// 企业注册名称
name: [
{ required: true, message: "请输入企业注册名称", trigger: "blur" }
],
// 注册码
code: [{ required: true, message: "请输入企业代码", trigger: "blur" }],
// 商户类型
data_type: [
{ required: true, message: "请选择商户类型", trigger: "change" }
],
// 数据来源
data_from: [
{ required: true, message: "请选择数据来源", trigger: "change" }
],
/* ****************法人/个体用户身份校验***************** */
// 身份证正面照
front_img: [
{ required: true, validator: idPhotoFontRules, trigger: "change" }
],
// 身份证反面照
bak_img: [
{ required: true, validator: idPhotoBackRules, trigger: "change" }
],
// 身份证号
idcard_number: [
{ required: true, validator: idcardNumberRules, trigger: "blur" }
],
// 经营者/法人姓名
userName: [
{ required: true, message: "请填写经营者(法人姓名)", trigger: "blur" }
],
// 法人手机号
mobile: [{ required: true, validator: mobileRules, trigger: "blur" }]
/* // 法人手机号
legal_mobile: [{ required: true, validator: mobileRules, trigger: "blur" }] */
}
};
},
computed: {
isMobbileRequired () {
return this.establishForm.data_type === 2 ? true : false;
}
},
watch: {
// 监听异步传过来的表单值做修改
dataForm (val) {
this.establishForm.data_type = val.data_type;
this.establishForm.data_from = val.data_from;
this.establishForm.name = val.name;
this.establishForm.code = val.code;
this.establishForm.entterprise_image = val.entterprise_image;
this.establishForm.front_img = val.legal_front_id_card;
this.establishForm.bak_img = val.legal_back_id_card;
this.establishForm.idcard_number = val.legal_id_card;
this.establishForm.userName = val.legal_person;
this.establishForm.mobile = val.mobile;
}
},
methods: {
// 上传营业执照时
handleSuccess (res) {
if (res.code !== 0) return this.$message.error(res.reason);
this.establishForm.entterprise_image = `http://${res.result.file_url}`
},
handleError (error, file, fileList) {
console.log("error", error);
console.log("file", file);
console.log("fileList", fileList);
},
// 身份证正面照片更改时
onIdPhoneFontChange (file, fileList) {
this.establishForm.idcardFontPhoto = fileList;
},
// 身份证照片反面更改时
onIdPhoneBackChange (file, fileList) {
this.establishForm.idcardBackPhoto = fileList;
},
// 删除上传的身份证照片
onIdPhoneRemove (file, fileList) {
this.establishForm.idcardFontPhoto = fileList;
},
// 取消创建表单
handelCancel () {
this.$router.replace({ name: "Certification" });
},
// 提交表单
async handelSubmit () {
// 企业信息提交参数
const {
code,
name,
entterprise_image,
data_from,
data_type,
front_img,
bak_img,
idcard_number,
userName,
mobile
} = this.establishForm;
const enterpriseQuery = {
code,
name,
entterprise_image,
data_from,
data_type
};
// 法人信息提交参数
const legalQuery = {
record_id: this.enterpriseId ? this.enterpriseId : "",
front_img,
bak_img,
front_completeness: 0,
bak_completeness: 0,
idcard_number,
name: userName,
mobile,
data_type,
user_id: parseInt(this.$store.state.userInfo.userid)
};
const res = await postBusiness(enterpriseQuery);
const result = await opCommit(legalQuery);
console.log("res", res);
console.log("result", result);
if (res.code !== 0) return this.$message.error(res.reason);
if (result.code !== 0) return this.$message.error(result.reason);
if (!this.enterpriseId) {
this.$message.success("企业信息代提交成功!");
this.$router.replace({ name: "Certification" });
} else {
this.$message.success("企业信息修改成功!");
this.$router.replace({ name: "Certification" });
}
}
}
};
</script>
...@@ -48,8 +48,34 @@ export async function getLog (params) { ...@@ -48,8 +48,34 @@ export async function getLog (params) {
return res; return res;
} }
// 发送企业信息认证 /**
export async function entCommit (query) { * 企业资料审核
const res = await axios.post(`/api/v1/emterprise_commit`, query); * @param param 企业资料审核参数
*/
export async function postAudit (params) {
const res = axios.post(`/api/v1/audit`, params);
return res;
}
/**
* 商户上传营业执照信息
* @param query 上传执照参数信息
*/
export async function postBusiness (query) {
const res = await axios.post(`/api/v1/business`, query);
return res;
}
/**
* 提交法人信息
* @param params 法人信息
*/
export async function opCommit (params) {
const res = await axios.post(`/api/v1/op_commit`, params);
return res;
}
export async function onUpload (params) {
const res = await axios.post(`/api/v1/upload`, params);
return res; return res;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment