个人中心
This commit is contained in:
parent
054edc96ff
commit
7284d749cf
|
|
@ -37,6 +37,8 @@ declare module 'vue' {
|
||||||
RouterLink: typeof import('vue-router')['RouterLink']
|
RouterLink: typeof import('vue-router')['RouterLink']
|
||||||
RouterView: typeof import('vue-router')['RouterView']
|
RouterView: typeof import('vue-router')['RouterView']
|
||||||
TableComponent: typeof import('./src/components/TableComponent/index.vue')['default']
|
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']
|
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.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', {
|
export const useStore = defineStore('myUser', {
|
||||||
state: () => {
|
state: () => {
|
||||||
return {
|
return {
|
||||||
|
|
@ -7,7 +9,13 @@ export const useStore = defineStore('myUser', {
|
||||||
{ title: '基础信息', name: 'baseInfo' },
|
{ title: '基础信息', name: 'baseInfo' },
|
||||||
{ title: '订单管理', name: 'orderManagement' },
|
{ title: '订单管理', name: 'orderManagement' },
|
||||||
{ title: '子账号管理', name: 'subAccount' }
|
{ title: '子账号管理', name: 'subAccount' }
|
||||||
]
|
],
|
||||||
|
provinceList: [], // 省份信息
|
||||||
|
marketList: [], // 市级信息
|
||||||
|
areaList: [], // 区级信息
|
||||||
|
idTypeList: [], // 证件类型
|
||||||
|
companyTypeList: [],//企业类型
|
||||||
|
companyLtdList: [] //企业所属
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
|
|
@ -26,6 +34,43 @@ export const useStore = defineStore('myUser', {
|
||||||
editcurrentMenuList(val: any) {
|
editcurrentMenuList(val: any) {
|
||||||
this.menuList = val
|
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: {
|
persist: {
|
||||||
enabled: true, // 开启数据缓存
|
enabled: true, // 开启数据缓存
|
||||||
|
|
|
||||||
|
|
@ -227,7 +227,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.erweima {
|
.erweima {
|
||||||
// display: none;
|
display: none;
|
||||||
width: 100px;
|
width: 100px;
|
||||||
height: 80px;
|
height: 80px;
|
||||||
margin-left: -20px;
|
margin-left: -20px;
|
||||||
|
|
|
||||||
|
|
@ -12,81 +12,149 @@
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="企业名称">
|
<el-form-item label="企业名称">
|
||||||
<el-input placeholder=""></el-input>
|
<el-input
|
||||||
|
placeholder="输入企业名称"
|
||||||
|
clearable
|
||||||
|
v-model.trim="applyParams.companyName"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="7">
|
|
||||||
<el-form-item label="统一社会信用代码">
|
<el-col :span="6">
|
||||||
<el-input placeholder=""></el-input>
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</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-form-item label="注册地址">
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="20">
|
||||||
<el-col :span="3">
|
<el-col :span="5">
|
||||||
<el-select v-model="thisValue" placeholder="请选择省份">
|
<el-select
|
||||||
|
placeholder="请选择省份"
|
||||||
|
clearable
|
||||||
|
v-model="applyParams.registerAddress"
|
||||||
|
@change="changeProvince">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in selProvinceList"
|
||||||
:key="item.value"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.name"
|
||||||
:value="item.value"></el-option>
|
:value="item.code + ',' + item.name"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="3">
|
<el-col :span="5">
|
||||||
<el-select v-model="thisValue" placeholder="请选择市">
|
<el-select
|
||||||
|
v-model="applyParams.registerAddressProvince"
|
||||||
|
placeholder="请选择市"
|
||||||
|
@change="changeMarket"
|
||||||
|
clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in selMarketList"
|
||||||
:key="item.value"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.name"
|
||||||
:value="item.value"></el-option>
|
:value="item.code + ',' + item.name"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="3">
|
<el-col :span="5">
|
||||||
<el-select v-model="thisValue" placeholder="请选择区">
|
<el-select
|
||||||
|
v-model="applyParams.registerAddressArea"
|
||||||
|
placeholder="请选择区"
|
||||||
|
clearable
|
||||||
|
@change="changeArea">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in selAreaList"
|
||||||
:key="item.value"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.name"
|
||||||
:value="item.value"></el-option>
|
:value="item.code + ',' + item.name"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="15">
|
<el-col :span="6">
|
||||||
<el-input placeholder="请输入实际办公地址"></el-input>
|
<el-input
|
||||||
|
v-model="applyParams.registerRealityAddress"
|
||||||
|
placeholder="请输入实际办公地址"
|
||||||
|
clearable></el-input>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="经营地址">
|
<el-form-item label="经营地址">
|
||||||
<el-row :gutter="10">
|
<el-row :gutter="20">
|
||||||
<el-col :span="3">
|
<el-col :span="5">
|
||||||
<el-select v-model="thisValue" placeholder="请选择省份">
|
<el-select
|
||||||
|
placeholder="请选择省份"
|
||||||
|
clearable
|
||||||
|
v-model="applyParams.operateAddress"
|
||||||
|
@change="opeChangeProvince">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in selProvinceList"
|
||||||
:key="item.value"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.name"
|
||||||
:value="item.value"></el-option>
|
:value="item.code + ',' + item.name"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="3">
|
<el-col :span="5">
|
||||||
<el-select v-model="thisValue" placeholder="请选择市">
|
<el-select
|
||||||
|
v-model="applyParams.operateAddressProvince"
|
||||||
|
placeholder="请选择市"
|
||||||
|
@change="opeChangeMarket">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in selMarketList"
|
||||||
:key="item.value"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.name"
|
||||||
:value="item.value"></el-option>
|
:value="item.code + ',' + item.name"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="3">
|
<el-col :span="5">
|
||||||
<el-select v-model="thisValue" placeholder="请选择区">
|
<el-select
|
||||||
|
v-model="applyParams.operateAddressArea"
|
||||||
|
placeholder="请选择区"
|
||||||
|
@change="opeChangeArea">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in selAreaList"
|
||||||
:key="item.value"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.name"
|
||||||
:value="item.value"></el-option>
|
:value="item.code + ',' + item.name"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="15">
|
<el-col :span="6">
|
||||||
<el-input placeholder="请输入实际办公地址"></el-input>
|
<el-input
|
||||||
|
v-model="applyParams.operateRealityAddress"
|
||||||
|
clearable
|
||||||
|
placeholder="请输入实际办公地址"></el-input>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -94,19 +162,25 @@
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-form-item label="法人证件类型">
|
<el-form-item label="法人证件类型">
|
||||||
<el-select v-model="thisValue" placeholder="请选择省份">
|
<el-select
|
||||||
|
v-model="applyParams.certificatetype"
|
||||||
|
clearable
|
||||||
|
placeholder="请选法人证件类型">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in options"
|
v-for="item in selIdTypeList"
|
||||||
:key="item.value"
|
:key="item.id"
|
||||||
:label="item.label"
|
:label="item.name"
|
||||||
:value="item.value"></el-option>
|
:value="item.name"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
<el-col :span="7">
|
<el-col :span="7">
|
||||||
<el-form-item label="法人证件号码">
|
<el-form-item label="法人证件号码">
|
||||||
<el-input></el-input>
|
<el-input
|
||||||
|
placeholder="请输入法人证件号码"
|
||||||
|
v-model.trim="applyParams.idNumber"
|
||||||
|
clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
||||||
|
|
@ -144,24 +218,40 @@
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="法人姓名">
|
<el-form-item label="法人姓名">
|
||||||
<el-input></el-input>
|
<el-input
|
||||||
|
placeholder="请输入法人姓名"
|
||||||
|
v-model.trim="applyParams.legalPerson"
|
||||||
|
clearable>
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="邀请码">
|
<el-form-item label="邀请码">
|
||||||
<el-input></el-input>
|
<el-input
|
||||||
|
placeholder="请输入邀请码"
|
||||||
|
v-model.trim="applyParams.invitationCode"
|
||||||
|
clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="6">
|
<el-col :span="6">
|
||||||
<el-form-item label="邀请企业名称">
|
<el-form-item label="邀请企业名称">
|
||||||
<el-input></el-input>
|
<el-input
|
||||||
|
placeholder="请输入邀请企业名称"
|
||||||
|
v-model.trim="applyParams.invitationCoName"
|
||||||
|
clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item label="经营范围">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
@ -177,18 +267,27 @@
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-form-item label="被授权人姓名">
|
<el-form-item label="被授权人姓名">
|
||||||
<el-input></el-input>
|
<el-input
|
||||||
|
placeholder="请输入被授权人姓名"
|
||||||
|
v-model.trim="applyParams.authPerson"
|
||||||
|
clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-form-item label="被授权人身份证">
|
<el-form-item label="被授权人身份证">
|
||||||
<el-input></el-input>
|
<el-input
|
||||||
|
placeholder="请输入被授权人身份证"
|
||||||
|
v-model.trim="applyParams.authIdNumber"
|
||||||
|
clearable></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="5">
|
<el-col :span="5">
|
||||||
<el-form-item label="被授权人手机号">
|
<el-form-item label="被授权人手机号">
|
||||||
<div class="phone">
|
<div class="phone">
|
||||||
<el-input></el-input>
|
<el-input
|
||||||
|
placeholder="请输入被授权人手机号"
|
||||||
|
v-model.trim="applyParams.authPhone"
|
||||||
|
clearable></el-input>
|
||||||
<div class="tip">
|
<div class="tip">
|
||||||
被授权人手机号修改且运营审核通过后,企业系统管理员权限将同步到修改后被授权手机号的登录账号。
|
被授权人手机号修改且运营审核通过后,企业系统管理员权限将同步到修改后被授权手机号的登录账号。
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -280,11 +379,166 @@
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import uploadImg from 'components/uploadImg.vue'
|
import uploadImg from 'components/uploadImg.vue'
|
||||||
|
import { ElMessage } from 'element-plus'
|
||||||
import { reactive, ref } from 'vue'
|
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([
|
const options = reactive([
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,17 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import EquipCard from 'components/equipCard.vue'
|
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'
|
import { useStore } from 'store/main'
|
||||||
const userStore = useStore()
|
const userStore = useStore()
|
||||||
onMounted(() => {})
|
|
||||||
|
// 获取商品分类
|
||||||
|
const getGoodsClassList = async () => {
|
||||||
|
const res = await getGoodsClassListApi()
|
||||||
|
console.log(res, '商品分类列表')
|
||||||
|
}
|
||||||
|
|
||||||
|
getGoodsClassList()
|
||||||
|
|
||||||
const leftNavList = [
|
const leftNavList = [
|
||||||
{
|
{
|
||||||
|
|
@ -222,7 +230,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
<div class="right-content">
|
<div class="right-content">
|
||||||
<!-- 轮播图上方导航按钮 -->
|
<!-- 轮播图上方导航按钮 -->
|
||||||
<Navmenu />
|
<NavMenu />
|
||||||
<!-- 轮播图 -->
|
<!-- 轮播图 -->
|
||||||
<div class="swpier-img">
|
<div class="swpier-img">
|
||||||
<el-carousel :interval="5000" arrow="always" height="437px">
|
<el-carousel :interval="5000" arrow="always" height="437px">
|
||||||
|
|
@ -326,11 +334,12 @@
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
|
|
||||||
.item-nav {
|
.item-nav {
|
||||||
text-align: left;
|
// text-align: left;
|
||||||
padding-left: 50px;
|
// padding-left: 50px;
|
||||||
color: #8b8b8b;
|
color: #8b8b8b;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,14 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
import EnterpriseCertification from '../../EnterpriseCertification.vue'
|
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')
|
const oldPhoneNumber = ref('15336652321')
|
||||||
// 修改新手机号码的数据源
|
// 修改新手机号码的数据源
|
||||||
|
|
@ -93,6 +100,10 @@
|
||||||
orderConunt: 1
|
orderConunt: 1
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
|
// 认证弹框关闭
|
||||||
|
const closeAuthenticationDialog = (val: any) => {
|
||||||
|
certificationVisible.value = val
|
||||||
|
}
|
||||||
|
|
||||||
const getImg = (imgUrl: string) => {
|
const getImg = (imgUrl: string) => {
|
||||||
return new URL(imgUrl, import.meta.url).href
|
return new URL(imgUrl, import.meta.url).href
|
||||||
|
|
@ -175,7 +186,7 @@
|
||||||
|
|
||||||
<!-- 申请企业认证弹框 -->
|
<!-- 申请企业认证弹框 -->
|
||||||
<el-dialog v-model="certificationVisible" title="申请企业认证" width="80%" align-center>
|
<el-dialog v-model="certificationVisible" title="申请企业认证" width="80%" align-center>
|
||||||
<EnterpriseCertification />
|
<EnterpriseCertification @closeAuthenticationDialog="closeAuthenticationDialog" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue