个人中心
This commit is contained in:
parent
054edc96ff
commit
7284d749cf
|
|
@ -37,6 +37,8 @@ declare module 'vue' {
|
|||
RouterLink: typeof import('vue-router')['RouterLink']
|
||||
RouterView: typeof import('vue-router')['RouterView']
|
||||
TableComponent: typeof import('./src/components/TableComponent/index.vue')['default']
|
||||
UploadCom: typeof import('./src/components/uploadComponent/uploadCom.vue')['default']
|
||||
UploadComponent: typeof import('./src/components/uploadComponent/index.vue')['default']
|
||||
UploadImg: typeof import('./src/components/uploadImg.vue')['default']
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,5 +7,14 @@ VITE_API_URL = '/proxyApi'
|
|||
# 开发环境接口地址
|
||||
# VITE_proxyTarget = 'http://10.40.92.66:9205' #盛旭
|
||||
|
||||
VITE_proxyTarget = 'http://10.40.92.185:9200' # 赵福海
|
||||
# VITE_proxyTarget = 'http://10.40.92.185:9200' # 赵福海 (登录)
|
||||
|
||||
# VITE_proxyTarget = 'http://10.40.92.185:9301' # 赵福海 (商品分类)
|
||||
|
||||
VITE_proxyTarget = 'http://10.40.92.253:8080' # 牛 (个人中心 基础信息企业申请认证)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,225 @@
|
|||
<template>
|
||||
<div>
|
||||
<!--action="/api/abk/web/v1/resource/file" -->
|
||||
<el-upload
|
||||
:action="actionUrl"
|
||||
:auto-upload="autoUpload"
|
||||
style="width: 100%"
|
||||
:on-success="(response, file) => successUpload(response, file)"
|
||||
:on-error="errorUpload"
|
||||
:accept="acceptTypeList.join(',')"
|
||||
:before-upload="beforeUpload"
|
||||
:multiple="multiple"
|
||||
:limit="maxLimit"
|
||||
:on-exceed="handleExceed"
|
||||
:file-list="fileList"
|
||||
:disabled="disabledFlag"
|
||||
:on-remove="(file, fileList) => removeFile(file, fileList)"
|
||||
:on-preview="(file) => preview(file)"
|
||||
:on-progress="(event, file, fileList) => onProgressFn(event, file, fileList)"
|
||||
list-type="picture-card">
|
||||
<!-- 上传的按钮 或者 icon 通过具名插槽的方式 -->
|
||||
<slot name="uploadBtn"></slot>
|
||||
</el-upload>
|
||||
<el-progress v-if="showProcessFlag && processFlag" :percentage="loadProcess"></el-progress>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, nextTick } from 'vue'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { Base64 } from 'js-base64'
|
||||
const props = defineProps({
|
||||
actionUrl: {
|
||||
//上传的地址
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
autoUpload: {
|
||||
//是否开启自动上传
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
acceptTypeList: {
|
||||
//接受的文件类型
|
||||
type: Array,
|
||||
default: () => {
|
||||
return ['.jpg', '.jpeg', '.png']
|
||||
// ['doc', 'docx', 'xlsx', 'xls', 'txt', 'pdf','jpg','jpeg','png','zip,'rar']
|
||||
}
|
||||
},
|
||||
multiple: {
|
||||
//是否开启多图上传
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
maxLimit: {
|
||||
// 最大上传个数限制
|
||||
type: Number || String,
|
||||
default: 1
|
||||
},
|
||||
maxSize: {
|
||||
// 文件上传的最大体积 M
|
||||
type: Number || String,
|
||||
default: 4
|
||||
},
|
||||
disabledFlag: {
|
||||
//是否禁用
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
fileList: {
|
||||
//文件列表
|
||||
type: Array,
|
||||
default: () => {
|
||||
return []
|
||||
}
|
||||
},
|
||||
listType: {
|
||||
type: String, //'text' | 'picture' | 'picture-card'
|
||||
default: 'picture'
|
||||
},
|
||||
extraData: {}, //上传时的额外参数 如 name等
|
||||
/*
|
||||
{
|
||||
name:'12321'
|
||||
}
|
||||
*/
|
||||
dragFlag: {
|
||||
type: Boolean,
|
||||
default: true //是否启用拖拽上传 此处默认启用 element 官方默认是 不启用的
|
||||
},
|
||||
downLoadTypeList: {
|
||||
//需要下载的文件类型
|
||||
type: Array,
|
||||
default: () => {
|
||||
return ['doc', 'docx', 'xlsx', 'xls', 'txt']
|
||||
}
|
||||
},
|
||||
preveiwTypeList: {
|
||||
//需要预览的文件类型
|
||||
type: Array,
|
||||
default: () => {
|
||||
return ['pdf', 'jpg', 'jpeg', 'png']
|
||||
}
|
||||
},
|
||||
officePreviewFlag: {
|
||||
//是否启用office在线预览
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
showProcessFlag: {
|
||||
//是否显示进度条
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
})
|
||||
// office预览
|
||||
// https://view.officeapps.live.com/op/view.aspx?src=
|
||||
// https://view.officeapps.live.com/op/view.aspx?src=文档地址
|
||||
//
|
||||
|
||||
const officeOnlineAddress = 'https://view.officeapps.live.com/op/view.aspx?src='
|
||||
const officeType = ['doc', 'docx', 'xlsx', 'xls']
|
||||
let processFlag = ref(false) //是否显示进度条
|
||||
let loadProcess = ref(0) //进度条的刻度值
|
||||
|
||||
// 上传图片 成功
|
||||
const successUpload = (response: any, file: any) => {
|
||||
console.log('successUpload', response, file)
|
||||
if (response.rt.status === 200) {
|
||||
props.fileList.push({
|
||||
url: response.data,
|
||||
name: file.name
|
||||
})
|
||||
} else {
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: response.data
|
||||
})
|
||||
}
|
||||
}
|
||||
const errorUpload = (res: any) => {
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: '上传失败请重试!'
|
||||
})
|
||||
}
|
||||
const beforeUpload = (file) => {
|
||||
const { name = '', size } = file
|
||||
if (size > props.maxSize * 1024 * 1000) {
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: `文件最大仅支持${props.maxSize}M`
|
||||
})
|
||||
return false
|
||||
}
|
||||
|
||||
if (!props.acceptTypeList.includes(name.split('.').pop()) + '.') {
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: `文件格式仅支持${props.acceptTypeList.join(',')}M`
|
||||
})
|
||||
return false
|
||||
}
|
||||
}
|
||||
const handleExceed = (files, fileList) => {
|
||||
ElMessage({
|
||||
type: 'warning',
|
||||
message: `当前限制选择 10 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
|
||||
files.length + fileList.length
|
||||
} 个文件`
|
||||
})
|
||||
}
|
||||
// 移除文件
|
||||
const removeFile = (file, data) => {
|
||||
console.log(file, data)
|
||||
props.fileList = data
|
||||
}
|
||||
// 预览
|
||||
const preview = (data) => {
|
||||
const { url, response = {} } = data || {}
|
||||
let name = data.name
|
||||
const downLoadTypeList = props.downLoadTypeList
|
||||
const preveiwTypeList = props.preveiwTypeList
|
||||
if (!name) {
|
||||
name = ''
|
||||
}
|
||||
const suffixFileType = name.split('.').pop()
|
||||
if (downLoadTypeList.includes(suffixFileType)) {
|
||||
//预览 'doc', 'docx', 'xlsx', 'xls', 'txt' 文件
|
||||
name = name.replace(/&/g, '') // & 不兼容
|
||||
const target = encodeURIComponent(
|
||||
Base64.encode(
|
||||
`${location.origin}/api/abk/web/v1/resource/file?fileId=${
|
||||
url || response.data
|
||||
}&fullfilename=${name}&sid=4AC67ADB4E264AB0A8B899A671072875`
|
||||
)
|
||||
)
|
||||
if (props.officePreviewFlag && officeType.includes(suffixFileType)) {
|
||||
// office预览的
|
||||
const preveiewURL = officeOnlineAddress + target
|
||||
window.open(preveiewURL)
|
||||
} else {
|
||||
// 非office预览
|
||||
window.open(`https://test/preview/onlinePreview?url=${target}`, '_blank')
|
||||
}
|
||||
} else if (preveiwTypeList.includes(suffixFileType)) {
|
||||
//新窗口打开 预览图片文件
|
||||
window.open('/api/abk/web/v1/resource/file?fileId=' + (url || response.data), '_blank')
|
||||
}
|
||||
}
|
||||
|
||||
const onProgressFn = (event, file, fileList) => {
|
||||
processFlag.value = true
|
||||
loadProcess.value = event.percent.toFixed(2)
|
||||
if (loadProcess.value >= 100) {
|
||||
loadProcess.value = 100
|
||||
nextTick(() => {
|
||||
processFlag.value = false
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
import { get, post } from '../../index'
|
||||
|
||||
export const getGoodsClassListApi = () => {
|
||||
return get('/maType/getEquipmentType', {})
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
// 个人中心 基础信息模块
|
||||
|
||||
import { get, post } from '../../index'
|
||||
|
||||
// 申请企业信息认证接口
|
||||
export const applyAttestationApi = (data: any) => {
|
||||
return post('/company_info/addCompanyInfo', data)
|
||||
}
|
||||
|
||||
|
|
@ -1,3 +1,5 @@
|
|||
import { get, post } from 'http/index'
|
||||
|
||||
export const useStore = defineStore('myUser', {
|
||||
state: () => {
|
||||
return {
|
||||
|
|
@ -7,7 +9,13 @@ export const useStore = defineStore('myUser', {
|
|||
{ title: '基础信息', name: 'baseInfo' },
|
||||
{ title: '订单管理', name: 'orderManagement' },
|
||||
{ title: '子账号管理', name: 'subAccount' }
|
||||
]
|
||||
],
|
||||
provinceList: [], // 省份信息
|
||||
marketList: [], // 市级信息
|
||||
areaList: [], // 区级信息
|
||||
idTypeList: [], // 证件类型
|
||||
companyTypeList: [],//企业类型
|
||||
companyLtdList: [] //企业所属
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
|
|
@ -26,6 +34,43 @@ export const useStore = defineStore('myUser', {
|
|||
editcurrentMenuList(val: any) {
|
||||
this.menuList = val
|
||||
},
|
||||
// 获取省份信息
|
||||
async getprovinceList() {
|
||||
const res: any = await post('/baseAddress/selectAddress', {})
|
||||
this.provinceList = res.data
|
||||
|
||||
},
|
||||
// 获取市级信息
|
||||
async getmarketList(val: any) {
|
||||
const res: any = await post('/baseAddress/selectAddress', { code: val })
|
||||
console.log(res, '市区信息');
|
||||
this.marketList = res.data
|
||||
|
||||
|
||||
},
|
||||
// 获取区级信息
|
||||
async getareaList(val: any) {
|
||||
const res: any = await post('/baseAddress/selectAddress', { code: val })
|
||||
this.areaList = res.data
|
||||
},
|
||||
// 获取证件类型
|
||||
async getIdTypeList() {
|
||||
const res: any = await post('/company_type/selectIdCard', {})
|
||||
console.log(res, '证件类型');
|
||||
this.idTypeList = res.rows
|
||||
},
|
||||
// 获取企业类型
|
||||
async getcompanyTypeList() {
|
||||
const res: any = await post('/company_type/selectCompanyTypeList', {})
|
||||
console.log(res, '企业类型');
|
||||
this.companyTypeList = res.rows
|
||||
},
|
||||
// 获取企业所属
|
||||
async getcompanyLtdList() {
|
||||
const res: any = await post('/company_type/selectCompanyLtd', {})
|
||||
console.log(res, '企业所属');
|
||||
this.companyLtdList = res.rows
|
||||
}
|
||||
},
|
||||
persist: {
|
||||
enabled: true, // 开启数据缓存
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@
|
|||
}
|
||||
|
||||
.erweima {
|
||||
// display: none;
|
||||
display: none;
|
||||
width: 100px;
|
||||
height: 80px;
|
||||
margin-left: -20px;
|
||||
|
|
|
|||
|
|
@ -12,81 +12,149 @@
|
|||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="企业名称">
|
||||
<el-input placeholder=""></el-input>
|
||||
<el-input
|
||||
placeholder="输入企业名称"
|
||||
clearable
|
||||
v-model.trim="applyParams.companyName"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="7">
|
||||
<el-form-item label="统一社会信用代码">
|
||||
<el-input placeholder=""></el-input>
|
||||
|
||||
<el-col :span="6">
|
||||
<el-form-item label="企业类型">
|
||||
<el-select
|
||||
placeholder="请选择企业类型"
|
||||
clearable
|
||||
v-model="applyParams.companyType"
|
||||
@change="changeProvince">
|
||||
<el-option
|
||||
v-for="item in selcompanyTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="企业所属">
|
||||
<el-select
|
||||
placeholder="请选择企业所属"
|
||||
clearable
|
||||
v-model="applyParams.companyLtd"
|
||||
@change="changeProvince">
|
||||
<el-option
|
||||
v-for="item in selcompanyLtdList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="10">
|
||||
<el-form-item label="统一社会信用代码">
|
||||
<el-input
|
||||
placeholder="请输入统一社会信用代码"
|
||||
clearable
|
||||
v-model.trim="applyParams.creditCode"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-form-item label="注册地址">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="3">
|
||||
<el-select v-model="thisValue" placeholder="请选择省份">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="5">
|
||||
<el-select
|
||||
placeholder="请选择省份"
|
||||
clearable
|
||||
v-model="applyParams.registerAddress"
|
||||
@change="changeProvince">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
v-for="item in selProvinceList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code + ',' + item.name"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<el-select v-model="thisValue" placeholder="请选择市">
|
||||
<el-col :span="5">
|
||||
<el-select
|
||||
v-model="applyParams.registerAddressProvince"
|
||||
placeholder="请选择市"
|
||||
@change="changeMarket"
|
||||
clearable>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
v-for="item in selMarketList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code + ',' + item.name"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<el-select v-model="thisValue" placeholder="请选择区">
|
||||
<el-col :span="5">
|
||||
<el-select
|
||||
v-model="applyParams.registerAddressArea"
|
||||
placeholder="请选择区"
|
||||
clearable
|
||||
@change="changeArea">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
v-for="item in selAreaList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code + ',' + item.name"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="15">
|
||||
<el-input placeholder="请输入实际办公地址"></el-input>
|
||||
<el-col :span="6">
|
||||
<el-input
|
||||
v-model="applyParams.registerRealityAddress"
|
||||
placeholder="请输入实际办公地址"
|
||||
clearable></el-input>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="经营地址">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="3">
|
||||
<el-select v-model="thisValue" placeholder="请选择省份">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="5">
|
||||
<el-select
|
||||
placeholder="请选择省份"
|
||||
clearable
|
||||
v-model="applyParams.operateAddress"
|
||||
@change="opeChangeProvince">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
v-for="item in selProvinceList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code + ',' + item.name"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<el-select v-model="thisValue" placeholder="请选择市">
|
||||
<el-col :span="5">
|
||||
<el-select
|
||||
v-model="applyParams.operateAddressProvince"
|
||||
placeholder="请选择市"
|
||||
@change="opeChangeMarket">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
v-for="item in selMarketList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code + ',' + item.name"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="3">
|
||||
<el-select v-model="thisValue" placeholder="请选择区">
|
||||
<el-col :span="5">
|
||||
<el-select
|
||||
v-model="applyParams.operateAddressArea"
|
||||
placeholder="请选择区"
|
||||
@change="opeChangeArea">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
v-for="item in selAreaList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code + ',' + item.name"></el-option>
|
||||
</el-select>
|
||||
</el-col>
|
||||
<el-col :span="15">
|
||||
<el-input placeholder="请输入实际办公地址"></el-input>
|
||||
<el-col :span="6">
|
||||
<el-input
|
||||
v-model="applyParams.operateRealityAddress"
|
||||
clearable
|
||||
placeholder="请输入实际办公地址"></el-input>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form-item>
|
||||
|
|
@ -94,19 +162,25 @@
|
|||
<el-row :gutter="20">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="法人证件类型">
|
||||
<el-select v-model="thisValue" placeholder="请选择省份">
|
||||
<el-select
|
||||
v-model="applyParams.certificatetype"
|
||||
clearable
|
||||
placeholder="请选法人证件类型">
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
v-for="item in selIdTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.name"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="7">
|
||||
<el-form-item label="法人证件号码">
|
||||
<el-input></el-input>
|
||||
<el-input
|
||||
placeholder="请输入法人证件号码"
|
||||
v-model.trim="applyParams.idNumber"
|
||||
clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
|
@ -144,24 +218,40 @@
|
|||
<el-row :gutter="20">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="法人姓名">
|
||||
<el-input></el-input>
|
||||
<el-input
|
||||
placeholder="请输入法人姓名"
|
||||
v-model.trim="applyParams.legalPerson"
|
||||
clearable>
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="邀请码">
|
||||
<el-input></el-input>
|
||||
<el-input
|
||||
placeholder="请输入邀请码"
|
||||
v-model.trim="applyParams.invitationCode"
|
||||
clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="邀请企业名称">
|
||||
<el-input></el-input>
|
||||
<el-input
|
||||
placeholder="请输入邀请企业名称"
|
||||
v-model.trim="applyParams.invitationCoName"
|
||||
clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="经营范围">
|
||||
<el-input type="textarea" :rows="5"></el-input>
|
||||
<el-input
|
||||
placeholder="请输入经营范围"
|
||||
v-model.trim="applyParams.businessScope"
|
||||
clearable
|
||||
type="textarea"
|
||||
:rows="5"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
|
@ -177,18 +267,27 @@
|
|||
<el-row :gutter="20">
|
||||
<el-col :span="5">
|
||||
<el-form-item label="被授权人姓名">
|
||||
<el-input></el-input>
|
||||
<el-input
|
||||
placeholder="请输入被授权人姓名"
|
||||
v-model.trim="applyParams.authPerson"
|
||||
clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="被授权人身份证">
|
||||
<el-input></el-input>
|
||||
<el-input
|
||||
placeholder="请输入被授权人身份证"
|
||||
v-model.trim="applyParams.authIdNumber"
|
||||
clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<el-form-item label="被授权人手机号">
|
||||
<div class="phone">
|
||||
<el-input></el-input>
|
||||
<el-input
|
||||
placeholder="请输入被授权人手机号"
|
||||
v-model.trim="applyParams.authPhone"
|
||||
clearable></el-input>
|
||||
<div class="tip">
|
||||
被授权人手机号修改且运营审核通过后,企业系统管理员权限将同步到修改后被授权手机号的登录账号。
|
||||
</div>
|
||||
|
|
@ -280,11 +379,166 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<el-row style="padding-top: 15px">
|
||||
<el-form-item>
|
||||
<el-button @click="handlerSubmitBtn">提 交</el-button>
|
||||
<el-button @click="handlerCloseBtn">关 闭</el-button>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import uploadImg from 'components/uploadImg.vue'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { reactive, ref } from 'vue'
|
||||
import { useStore } from 'store/user'
|
||||
const store = useStore()
|
||||
|
||||
import { applyAttestationApi } from 'http/api/usercenter/baseinfo'
|
||||
|
||||
onMounted(() => {
|
||||
// 获取省级数据
|
||||
store.getprovinceList()
|
||||
// 获取证件类型数据
|
||||
store.getIdTypeList()
|
||||
// 获取企业类型
|
||||
store.getcompanyTypeList()
|
||||
// 获取企业所属
|
||||
store.getcompanyLtdList()
|
||||
})
|
||||
|
||||
// 注册地址拼装
|
||||
const AssemblyRegisterAddress: any = reactive([])
|
||||
|
||||
// 经营地址拼装
|
||||
const AssemblyOperateAddress: any = reactive([])
|
||||
|
||||
// 申请认证参数
|
||||
const applyParams: any = reactive({
|
||||
companyName: '', // 企业名称
|
||||
companyType: '', // 企业类型
|
||||
companyLtd: '', // 企业所属
|
||||
creditCode: '', // 统一信用代码
|
||||
registerAddress: '', // 注册地址
|
||||
registerAddressProvince: '', // 注册地址(市级)
|
||||
registerAddressArea: '', // 注册地址(区级)
|
||||
registerRealityAddress: '', // 注册地址(实际地址)
|
||||
operateAddress: '', // 经营地址
|
||||
operateAddressProvince: '', // 经营地址(市级)
|
||||
operateAddressArea: '', // 经营地址(区级)
|
||||
operateRealityAddress: '', // 注册地址(实际地址)
|
||||
certificatetype: '', // 法人证件类型
|
||||
idNumber: '', // 法人证件号码
|
||||
businessLicense: '', // 营业执照
|
||||
// idNationUrl: '', // 身份证国徽面
|
||||
// idFaceUrl: '', // 身份证肖像
|
||||
legalPerson: '', // 法人姓名
|
||||
invitationCode: '', // 邀请码
|
||||
invitationCoName: '', // 邀请企业名称
|
||||
businessScope: '', // 经营范围
|
||||
authPerson: '', // 被授权人姓名
|
||||
authIdNumber: '', // 被授权身份证号
|
||||
authPhone: '', // 被授权手机号
|
||||
authDocument:
|
||||
'https://zlpt-1259760603.cos.ap-nanjing.myqcloud.com/488bab245180ebf9f1f3d7db5301be4.png', // 法人授权书
|
||||
idNationUrl:
|
||||
'https://zlpt-1259760603.cos.ap-nanjing.myqcloud.com/488bab245180ebf9f1f3d7db5301be4.png', // 被授权人国徽
|
||||
idFaceUrl:
|
||||
'vhttps://zlpt-1259760603.cos.ap-nanjing.myqcloud.com/488bab245180ebf9f1f3d7db5301be4.png' // 被授权人头像
|
||||
})
|
||||
// 省级数据源
|
||||
const selProvinceList: any = computed(() => {
|
||||
return store.provinceList
|
||||
})
|
||||
|
||||
// 省级下拉框选中时获取市级
|
||||
const changeProvince = (val: any) => {
|
||||
// console.log(val, '省选择**')
|
||||
store.getmarketList(val.split(',')[0])
|
||||
|
||||
AssemblyRegisterAddress[0] = val.split(',')[1]
|
||||
}
|
||||
|
||||
const opeChangeProvince = (val: any) => {
|
||||
// console.log(val, '省选择**')
|
||||
store.getmarketList(val.split(',')[0])
|
||||
|
||||
AssemblyOperateAddress[0] = val.split(',')[1]
|
||||
}
|
||||
|
||||
// 获取市级数据源
|
||||
const selMarketList: any = computed(() => {
|
||||
return store.marketList
|
||||
})
|
||||
|
||||
// 市级下拉框选中获取区级数据
|
||||
const changeMarket = (val: any) => {
|
||||
store.getareaList(val.split(',')[0])
|
||||
AssemblyRegisterAddress[1] = val.split(',')[1]
|
||||
}
|
||||
|
||||
const opeChangeMarket = (val: any) => {
|
||||
store.getareaList(val.split(',')[0])
|
||||
AssemblyOperateAddress[1] = val.split(',')[1]
|
||||
}
|
||||
|
||||
// 获取区级数据源
|
||||
const selAreaList: any = computed(() => {
|
||||
return store.areaList
|
||||
})
|
||||
|
||||
// 区级下拉框选中时
|
||||
const changeArea = (val: any) => {
|
||||
AssemblyRegisterAddress[2] = val.split(',')[1]
|
||||
}
|
||||
const opeChangeArea = (val: any) => {
|
||||
AssemblyOperateAddress[2] = val.split(',')[1]
|
||||
}
|
||||
|
||||
// 获取证件类型
|
||||
const selIdTypeList: any = computed(() => {
|
||||
return store.idTypeList
|
||||
})
|
||||
|
||||
// 获取企业类型
|
||||
const selcompanyTypeList: any = computed(() => {
|
||||
return store.companyTypeList
|
||||
})
|
||||
|
||||
// 获取企业所属
|
||||
|
||||
const selcompanyLtdList: any = computed(() => {
|
||||
return store.companyLtdList
|
||||
})
|
||||
|
||||
const emit = defineEmits(['closeAuthenticationDialog'])
|
||||
|
||||
// 提交认证按钮
|
||||
const handlerSubmitBtn = async () => {
|
||||
AssemblyRegisterAddress[3] = applyParams.registerRealityAddress
|
||||
AssemblyOperateAddress[3] = applyParams.operateRealityAddress
|
||||
|
||||
applyParams.registerAddress = AssemblyRegisterAddress.join(',')
|
||||
applyParams.operateAddress = AssemblyOperateAddress.join(',')
|
||||
|
||||
const res: any = await applyAttestationApi({
|
||||
bmCompanyInfo: applyParams,
|
||||
bmCoBank: {}
|
||||
})
|
||||
if (res.code === 200) {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
message: '申请成功'
|
||||
})
|
||||
// 关闭弹框
|
||||
emit('closeAuthenticationDialog', false)
|
||||
}
|
||||
}
|
||||
|
||||
// 关闭按钮
|
||||
const handlerCloseBtn = () => {
|
||||
emit('closeAuthenticationDialog', false)
|
||||
}
|
||||
|
||||
const options = reactive([
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,9 +1,17 @@
|
|||
<script setup lang="ts">
|
||||
import EquipCard from 'components/equipCard.vue'
|
||||
import Navmenu from 'components/Navmenu/index.vue'
|
||||
import NavMenu from 'components/Navmenu/index.vue'
|
||||
import { getGoodsClassListApi } from 'http/api/home'
|
||||
import { useStore } from 'store/main'
|
||||
const userStore = useStore()
|
||||
onMounted(() => {})
|
||||
|
||||
// 获取商品分类
|
||||
const getGoodsClassList = async () => {
|
||||
const res = await getGoodsClassListApi()
|
||||
console.log(res, '商品分类列表')
|
||||
}
|
||||
|
||||
getGoodsClassList()
|
||||
|
||||
const leftNavList = [
|
||||
{
|
||||
|
|
@ -222,7 +230,7 @@
|
|||
</ul>
|
||||
<div class="right-content">
|
||||
<!-- 轮播图上方导航按钮 -->
|
||||
<Navmenu />
|
||||
<NavMenu />
|
||||
<!-- 轮播图 -->
|
||||
<div class="swpier-img">
|
||||
<el-carousel :interval="5000" arrow="always" height="437px">
|
||||
|
|
@ -326,11 +334,12 @@
|
|||
justify-content: space-around;
|
||||
|
||||
.item-nav {
|
||||
text-align: left;
|
||||
padding-left: 50px;
|
||||
// text-align: left;
|
||||
// padding-left: 50px;
|
||||
color: #8b8b8b;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
text-align: center;
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,14 @@
|
|||
<script setup lang="ts">
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import EnterpriseCertification from '../../EnterpriseCertification.vue'
|
||||
import { el } from 'element-plus/es/locale'
|
||||
import { applyAttestationApi } from 'http/api/usercenter/baseinfo'
|
||||
|
||||
const applyParams: any = reactive({})
|
||||
|
||||
// 申请企业认证
|
||||
const applyAttestation = async () => {
|
||||
const res = await applyAttestationApi(applyParams.value)
|
||||
}
|
||||
// 旧手机号码
|
||||
const oldPhoneNumber = ref('15336652321')
|
||||
// 修改新手机号码的数据源
|
||||
|
|
@ -93,6 +100,10 @@
|
|||
orderConunt: 1
|
||||
}
|
||||
])
|
||||
// 认证弹框关闭
|
||||
const closeAuthenticationDialog = (val: any) => {
|
||||
certificationVisible.value = val
|
||||
}
|
||||
|
||||
const getImg = (imgUrl: string) => {
|
||||
return new URL(imgUrl, import.meta.url).href
|
||||
|
|
@ -175,7 +186,7 @@
|
|||
|
||||
<!-- 申请企业认证弹框 -->
|
||||
<el-dialog v-model="certificationVisible" title="申请企业认证" width="80%" align-center>
|
||||
<EnterpriseCertification />
|
||||
<EnterpriseCertification @closeAuthenticationDialog="closeAuthenticationDialog" />
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
|||
Loading…
Reference in New Issue