Commit 9b7b966c authored by mengwenhao's avatar mengwenhao

feat: 企业认证管理页UI完成

parent 6f677b4c
...@@ -9,6 +9,10 @@ const headerConfig = { ...@@ -9,6 +9,10 @@ const headerConfig = {
{ {
path: '/about', path: '/about',
name: '关于' name: '关于'
},
{
path: '/enterprise/certification',
name: '企业认证管理'
} }
], ],
// miscellaneous: { // miscellaneous: {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<el-menu <el-menu
class="el-menu-demo" class="el-menu-demo"
mode="horizontal" mode="horizontal"
router=true router
@select="handleSelect" @select="handleSelect"
background-color="#545c64" background-color="#545c64"
text-color="#fff" text-color="#fff"
...@@ -20,6 +20,12 @@ ...@@ -20,6 +20,12 @@
{{ item.name }} {{ item.name }}
<!-- <router-link :to="item.path" class="menu-router">{{ item.name }}</router-link> --> <!-- <router-link :to="item.path" class="menu-router">{{ item.name }}</router-link> -->
</el-menu-item> </el-menu-item>
<el-button
type="primary"
class="setUp"
@click="goEstablish"
>企业信息提交</el-button>
</el-menu> </el-menu>
</div> </div>
</template> </template>
...@@ -30,7 +36,7 @@ const { menuItems } = headerConfig; ...@@ -30,7 +36,7 @@ const { menuItems } = headerConfig;
export default { export default {
name: "PageHeader", name: "PageHeader",
data() { data () {
return { return {
menuItems, menuItems,
activeMenu: "", activeMenu: "",
...@@ -38,17 +44,28 @@ export default { ...@@ -38,17 +44,28 @@ export default {
}; };
}, },
methods: { methods: {
handleSelect(path) { handleSelect (path) {
this.activeMenu = path; this.activeMenu = path;
}, },
// 跳转到企业信息提交
goEstablish () {
this.$router.push({ name: 'Establish' })
}
}, },
}; };
</script> </script>
<style lang="less"> <style lang="less">
.menu-router { .menu-router {
display: inline-block; display: inline-block;
line-height: 60px; line-height: 60px;
width: 100%; width: 100%;
} position: relative;
}
.setUp {
position: absolute;
right: 0;
transform: translate(-50%, 25%);
}
</style> </style>
.audit {
padding: 50px;
}
.audit .submit_area {
margin: 20px 0;
}
.audit .audit_area {
margin-bottom: 20px;
}
.audit{
padding: 50px;
.submit_area{
margin: 20px 0;
}
.audit_area{
margin-bottom: 20px;
}
}
\ No newline at end of file
<template>
<div class="audit">
<el-card class="message_area">
<h4 style="margin-bottom:20px;">企业信息</h4>
<el-table
border
:data="messageList"
>
<el-table-column
align="center"
label="审核状态"
prop="status"
></el-table-column>
<el-table-column
align="center"
label="企业ID"
prop="id"
></el-table-column>
<el-table-column
align="center"
label="企业注册名称"
prop="name"
></el-table-column>
<el-table-column
align="center"
label="注册码"
prop="code"
></el-table-column>
<el-table-column
align="center"
label="企业营业执照照片"
prop="picture"
>
<template #default="scope">
<el-image
fit="fill"
:src="scope.row.picture"
></el-image>
</template>
</el-table-column>
<el-table-column
align="center"
label="法人或经营者姓名"
prop="userName"
></el-table-column>
<el-table-column
align="center"
label="法人或经营者身份证号"
prop="idNumber"
></el-table-column>
<el-table-column
align="center"
label="身份证照片"
>
<template #default="scope">
<el-image
:src="scope.row.idPicture"
fit="fill"
></el-image>
</template>
</el-table-column>
</el-table>
</el-card>
<el-card class="submit_area">
<h4 style="margin-bottom:20px;">提交信息</h4>
<el-table :data="submitList">
<el-table-column
align="center"
label="提交类型"
prop="type"
></el-table-column>
<el-table-column
align="center"
label="提交时间"
prop="date"
></el-table-column>
<el-table-column
align="center"
label="提交人账号"
prop="account"
></el-table-column>
</el-table>
</el-card>
<el-card class="audit_area">
<h4 style="margin-bottom:20px;">审核区域</h4>
</el-card>
<el-card class="history_area">
<h4 style="margin-bottom:20px;">提交历史</h4>
</el-card>
</div>
</template>
<style lang="less" src="./index.less"></style>
<script>
export default {
data () {
return {
messageList: [
{
status: 1,
id: 1221,
name: '一点资讯',
code: 1221,
picture: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2F1812.img.pp.sohu.com.cn%2Fimages%2Fblog%2F2009%2F11%2F18%2F18%2F8%2F125b6560a6ag214.jpg&refer=http%3A%2F%2F1812.img.pp.sohu.com.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1624586640&t=b27aa012d8ca07eb9ab800ea43c5b218',
userName: '蒙文昊',
idNumber: 1232131,
idPicture: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2F2c.zol-img.com.cn%2Fproduct%2F124_500x2000%2F748%2FceZOdKgDAFsq2.jpg&refer=http%3A%2F%2F2c.zol-img.com.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1624586640&t=a1036d947c1c60f17b178a52d1f8c3f7'
}
],
submitList: [
{
type: 1,
date: '2021-05-26',
account: 492148618
}
]
};
}
};
</script>
.enterprise_card {
padding: 50px;
}
.enterprise_card .enterprise_form {
display: flex;
flex-direction: column;
justify-content: center;
}
.enterprise_card .enterprise_form .formItem {
display: flex;
justify-content: space-between;
}
.enterprise_card .enterprise_form .formButton {
display: flex;
justify-content: flex-end;
}
.enterprise_card .enterprise_form .formButton .inquire {
margin-right: 10px;
}
.enterprise_card{
padding: 50px;
.enterprise_form{
display: flex;
flex-direction: column;
justify-content: center;
.formItem{
display: flex;
justify-content: space-between;
}
.formButton{
display: flex;
justify-content: flex-end;
.inquire{
margin-right: 10px;
}
}
}
}
\ No newline at end of file
<template>
<div>
<el-card class="enterprise_card">
<!-- 企业认证筛选 -->
<el-form
ref="enterpriseForm"
class="enterprise_form"
:model="enterpriseForm"
inline
>
<!-- 查询信息区域 -->
<div class="formItem">
<el-form-item
label="企业注册名称:"
prop="name"
>
<el-input v-model="enterpriseForm.name"></el-input>
</el-form-item>
<el-form-item
label="注册码:"
prop="code"
>
<el-input v-model="enterpriseForm.code"></el-input>
</el-form-item>
<el-form-item
label="法人或经营者姓名:"
prop="userName"
>
<el-input v-model="enterpriseForm.userName"></el-input>
</el-form-item>
<el-form-item
label="审核状态:"
prop="statusValue"
>
<el-select
placeholder="请选择审核状态"
v-model="enterpriseForm.statusValue"
>
<el-option
v-for="item in enterpriseForm.statusOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label="提交类型:"
prop="typeValue"
>
<el-select
v-model="enterpriseForm.typeValue"
placeholder="请选择提交类型"
>
<el-option
v-for="item in enterpriseForm.typeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label="提交人账号:"
prop="number"
>
<el-input
type="number"
v-model="enterpriseForm.number"
></el-input>
</el-form-item>
</div>
<!-- 按钮区域 -->
<div class="formButton">
<el-form-item>
<el-button
type="primary"
class="inquire"
>查询</el-button>
</el-form-item>
<el-form-item>
<el-button @click="resetForm('enterpriseForm')">重置</el-button>
</el-form-item>
</div>
</el-form>
<!-- 展示列表 -->
<el-table
stripe
style="width:100%"
:data="enterpriseList"
border
>
<el-table-column
label="ID"
prop="id"
align="center"
></el-table-column>
<el-table-column
label="审核状态"
prop="status"
align="center"
></el-table-column>
<el-table-column
label="企业注册名称"
prop="name"
align="center"
></el-table-column>
<el-table-column
label="注册码"
prop="code"
align="center"
></el-table-column>
<el-table-column
label="法人或经营者姓名"
prop="userName"
align="center"
></el-table-column>
<el-table-column
label="提交日期"
prop="date"
align="center"
></el-table-column>
<el-table-column
label="提交类型"
prop="type"
align="center"
></el-table-column>
<el-table-column
label="提交人账号"
prop="number"
align="center"
></el-table-column>
<el-table-column
label="操作"
width="280"
align="center"
>
<template #default="scope">
<el-button
size="mini"
type="primary"
@click="goAuditPage(scope.row)"
>审核</el-button>
<el-button
size="mini"
type="success"
@click="handleClick(scope.row)"
>修改提交</el-button>
<el-button
size="mini"
type="warning"
@click="handleClick(scope.row)"
>查看详情</el-button>
</template>
</el-table-column>
</el-table>
</el-card>
</div>
</template>
<style lang="less" src="./index.less"></style>
<script>
export default {
data () {
return {
// 表单数据
enterpriseForm: {
name: "",
code: "",
userName: "",
status: "",
type: "",
number: "",
statusOptions: [
{ value: 1, label: "待审核" },
{ value: 2, label: "通过" },
{ value: 3, label: "拒绝" }
],
statusValue: "",
typeOptions: [
{ value: 1, label: "生活圈c端" },
{ value: 2, label: "销售端b端" },
{ value: 3, label: "内部代提交" }
]
},
// 表格信息
enterpriseList: [
{
id: 1,
status: 1,
code: 1,
name: "一点资讯",
userName: "蒙文昊",
date: "2021-05-24",
type: 1,
number: 18147683288
}
]
};
},
created () {
},
methods: {
// 获取商户认证检查信息
// 重置表单
resetForm (formName) {
this.$refs[formName].resetFields();
},
// 跳转到审核页面
goAuditPage (params) {
this.$router.push({ name: "Audit", params });
},
// 点击跳转页面
handleClick (params) {
console.log(params.id);
}
}
};
</script>
.establish{
padding: 50px;
}
\ No newline at end of file
<template>
<div class="establish">
<el-form
:rules="establish_rules"
label-width="240px"
ref="establish_form"
:model="establishForm"
>
<el-form-item
label="营业执照:"
:rules="[
{ required: true, message: '请上传营业执照', trigger: 'change' }
]"
>
<el-upload
action=""
ref="licenseChange"
multiple
show-file-list
:limit="4"
:auto-upload="false"
:http-request="onLicenseUpload"
: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="registeredName"
:rules="[{ required: true, message: '请输入企业注册名称' }]"
>
<el-input v-model="establishForm.registeredName"></el-input>
</el-form-item>
<el-form-item
label="统一社会信用代码(注册码):"
prop="registrationCode"
:rules="[
{ required: true, message: '请输入统一社会信用代码(注册码)' }
]"
>
<el-input v-model="establishForm.registrationCode"></el-input>
</el-form-item>
<el-form-item
label="经营者(法人)身份证照片:"
:rules="[{ required: true, message: '请上传经营者(法人)身份证照片' }]"
>
<el-upload
action=""
ref="licenseChange"
multiple
show-file-list
:limit="4"
:auto-upload="false"
:http-request="onLicenseUpload"
:file-list="establishForm.licenseList"
:on-change="onLicenseChange"
>
<el-button
size="small"
type="primary"
>点击上传</el-button>
</el-upload>
</el-form-item>
<el-form-item
label="经营者(法人)姓名:"
prop="legalName"
:rules="[{ required: true, message: '请输入经营者(法人)姓名' }]"
>
<el-input v-model="establishForm.legalName"></el-input>
</el-form-item>
<el-form-item
label="经营者(法人)身份证号:"
prop="idcardNumber"
:rules="[
{ required: true, message: '请输入经营者(法人)身份证号' },
{ type: 'number', message: '身份证号必须为数字' }
]"
>
<el-input v-model.number="establishForm.idcardNumber"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="handelCancel('establish_form')">取消</el-button>
<el-button
@click="handelSubmit('establish_form')"
type="primary"
>提交审核</el-button>
</el-form-item>
</el-form>
</div>
</template>
<style lang="less" src="./index.less"></style>
<script>
export default {
data () {
return {
// 表单输入项
establishForm: {
licenseList: [],// 营业执照
registeredName: "", // 注册名称
registrationCode: "", // 注册码
idcardPhoto: [], // 身份证照片
legalName: "", // 法人姓名
idcardNumber: "" // 法人身份证号
},
// 表单校验规则
establish_rules: {
legal_name: [
{
required: true,
message: "请输入经营者(法人)姓名",
trigger: "blur"
}
],
idcard_number: [
{
required: true,
message: "请输入经营者(法人)身份证号",
trigger: "blur"
}
]
}
};
},
methods: {
// 上传执照更改
onLicenseUpload (file) {
console.log("file:", file);
},
// 执照列表更改时
onLicenseChange (file, fileList) {
console.log('file:', file);
console.log('fileList:', fileList);
this.establishForm.licenseList = fileList
console.log('licenseList', this.establishForm.licenseList);
},
// 取消选择执照
onLicenseRemove (file, fileList) {
console.log('file', file);
console.log('fileList', fileList);
this.establishForm.licenseList = fileList
console.log('licenseList', this.establishForm.licenseList);
},
// 取消创建表单
handelCancel () {
this.$router.go(-1);
},
// 提交表单
handelSubmit (formName) {
this.$refs[formName].validate(valid => {
console.log(valid);
});
}
}
};
</script>
...@@ -12,6 +12,21 @@ const routes = [ ...@@ -12,6 +12,21 @@ const routes = [
name: 'About', name: 'About',
component: () => import(/* webpackChunkName: "about" */ '../pages/About'), component: () => import(/* webpackChunkName: "about" */ '../pages/About'),
}, },
{
path: '/enterprise/certification',
name: 'Enterprise',
component: () => import(/* webpackChunkName: "enterprise" */ '../pages/Enterprise/Certification')
},
{
path: '/enterprise/audit',
name: 'Audit',
component: () => import(/* webpackChunkName: "enterprise" */ '../pages/Enterprise/Audit')
},
{
path: '/enterprise/establish',
name: 'Establish',
component: () => import(/* webpackChunkName: "enterprise" */ '../pages/Enterprise/Establish')
}
]; ];
const router = createRouter({ const router = createRouter({
......
/** /**
* axios封装 * axios封装
*/ */
import axios from 'axios'; import axios from "axios";
import { ElMessage } from 'element-plus'; import { ElMessage } from "element-plus";
import { setToken, formatDate } from '/@/libs/utils'; // import { APP_URI } from "../config/app.config";
import { APP_URI } from '../config/app.config';
import config from '/@/config';
import router from '/@/router';
import md5 from 'js-md5';
/** /**
* show error tip * show error tip
* @param mgs * @param mgs
*/ */
const showErrorMessage = (mgs) => { const showErrorMessage = mgs => {
ElMessage({ ElMessage({
message: mgs, message: mgs,
type: 'error', type: "error",
showClose: true showClose: true
}); });
}; };
...@@ -25,7 +21,7 @@ const showErrorMessage = (mgs) => { ...@@ -25,7 +21,7 @@ const showErrorMessage = (mgs) => {
* default axios config * default axios config
*/ */
export const defaultConfig = { export const defaultConfig = {
baseURL: APP_URI, // baseURL: APP_URI,
timeout: 10000 timeout: 10000
// baseURL: '/', // baseURL: '/',
}; };
...@@ -34,8 +30,8 @@ export const defaultConfig = { ...@@ -34,8 +30,8 @@ export const defaultConfig = {
* default params * default params
* @returns {} * @returns {}
*/ */
const getDefaultParams = () => {}; const getDefaultParams = () => { };
const getDefaultHeaders = () => {}; const getDefaultHeaders = () => { };
/** /**
* axios instance * axios instance
...@@ -50,18 +46,18 @@ instance.interceptors.request.use( ...@@ -50,18 +46,18 @@ instance.interceptors.request.use(
function (config) { function (config) {
// network error // network error
if (navigator.onLine !== undefined && navigator.onLine === false) { if (navigator.onLine !== undefined && navigator.onLine === false) {
return Promise.reject({ message: '网络未链接', code: -1 }); return Promise.reject({ message: "网络未链接", code: -1 });
} }
/** /**
* merge headers * merge headers
*/ */
config.headers = {...getDefaultHeaders(), ...config.headers} config.headers = { ...getDefaultHeaders(), ...config.headers };
/** /**
* merge params * merge params
*/ */
config.params = { ...getDefaultParams(), ...config.params } config.params = { ...getDefaultParams(), ...config.params };
return config; return config;
}, },
...@@ -79,21 +75,21 @@ instance.interceptors.response.use( ...@@ -79,21 +75,21 @@ instance.interceptors.response.use(
const { data = {} } = response; const { data = {} } = response;
const code = data.code ?? -1; const code = data.code ?? -1;
if (code !== 0) { if (code !== 0) {
const msg = data.reason || '未定义错误'; const msg = data.reason || "未定义错误";
showErrorMessage(data.reason); showErrorMessage(data.reason);
return Promise.reject({ code, msg }); return Promise.reject({ code, msg });
} }
if (data.message) { if (data.message) {
Message({ Message({
message: data.reason, message: data.reason,
type: 'info', type: "info",
showClose: true showClose: true
}); });
} }
return data; return data;
}, },
function (error) { function (error) {
if (!(error.code && error.code === -1)) error.message = '接口请求错误'; if (!(error.code && error.code === -1)) error.message = "接口请求错误";
showErrorMessage(error.message); showErrorMessage(error.message);
return Promise.reject(error); return Promise.reject(error);
} }
...@@ -107,7 +103,7 @@ instance.interceptors.response.use( ...@@ -107,7 +103,7 @@ instance.interceptors.response.use(
export const get = (url, params) => { export const get = (url, params) => {
return instance.request({ return instance.request({
url, url,
method: 'get', method: "get",
params params
}); });
}; };
...@@ -120,7 +116,7 @@ export const get = (url, params) => { ...@@ -120,7 +116,7 @@ export const get = (url, params) => {
export const post = (url, data) => { export const post = (url, data) => {
return instance.request({ return instance.request({
url, url,
method: 'post', method: "post",
data data
}); });
}; };
......
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