Commit e16bc30c by 赵月辉

完成企业申请认证接口对接

parent 0ffcdf3c
// 控制台相关接口
import request from '@/utils/request'
// 获取首页banner
export function enterpriseAudit (query) {
return request({
url: '/api/v1/enterpriseAudit',
method: 'post',
data: query
})
}
...@@ -94,7 +94,6 @@ const showTip = computed( ...@@ -94,7 +94,6 @@ const showTip = computed(
) )
watch(() => props.modelValue, val => { watch(() => props.modelValue, val => {
console.log(val)
if (val) { if (val) {
// 首先将值转为数组 // 首先将值转为数组
const list = Array.isArray(val) ? val : props.modelValue.split(',') const list = Array.isArray(val) ? val : props.modelValue.split(',')
......
...@@ -31,15 +31,17 @@ ...@@ -31,15 +31,17 @@
</el-step> </el-step>
</el-steps> </el-steps>
<div class="step-content"> <div class="step-content">
<step0 ref="step0Ref" v-if="stepActive === 0"></step0> <step0 ref="step0Ref" v-show="stepActive === 0"></step0>
<step1 ref="step1Ref" v-if="stepActive === 1"></step1> <step1 ref="step1Ref" v-show="stepActive === 1"></step1>
<step2 ref="step2Ref" v-if="stepActive === 2"></step2> <step2 ref="step2Ref" v-show="stepActive === 2"></step2>
<step3 ref="step3Ref" v-if="stepActive === 3"></step3> <step3 v-show="stepActive === 3" :form-data="formData"></step3>
<step4 ref="step4Ref" v-if="stepActive === 4"></step4> <step4 v-show="stepActive === 4"></step4>
<div class="footer-bar"> <div v-if="stepActive < 4" class="footer-bar">
<el-button @click="prev">上一步</el-button> <el-button @click="prev">上一步</el-button>
<el-button type="primary" @click="next">下一步</el-button>
<el-button v-if="stepActive < 3" type="primary" @click="next">下一步</el-button>
<el-button v-if="stepActive === 3" type="primary" @click="submit">提交</el-button>
</div> </div>
</div> </div>
</div> </div>
...@@ -51,6 +53,7 @@ import step1 from './components/step-1.vue' ...@@ -51,6 +53,7 @@ import step1 from './components/step-1.vue'
import step2 from './components/step-2.vue' import step2 from './components/step-2.vue'
import step3 from './components/step-3.vue' import step3 from './components/step-3.vue'
import step4 from './components/step-4.vue' import step4 from './components/step-4.vue'
import { enterpriseAudit } from '@/api/console.js'
export default { export default {
name: 'Authentication', name: 'Authentication',
...@@ -63,7 +66,8 @@ export default { ...@@ -63,7 +66,8 @@ export default {
}, },
data () { data () {
return { return {
stepActive: 0 stepActive: 0,
formData: {}
} }
}, },
methods: { methods: {
...@@ -73,9 +77,19 @@ export default { ...@@ -73,9 +77,19 @@ export default {
} }
}, },
next () { next () {
if (this.stepActive < 4) { // this.$refs[`step${this.stepActive}Ref`].$refs.formRef.validate().then(res => {
this.stepActive += 1 this.stepActive += 1
} if (this.stepActive === 3) {
this.formData = {...this.$refs.step0Ref.ruleForm, ...this.$refs.step1Ref.ruleForm, ...this.$refs.step2Ref.ruleForm}
}
// }).catch(err => {
// console.log(err)
// })
},
submit () {
enterpriseAudit(this.formData).then(res => {
this.stepActive += 1
})
} }
} }
} }
......
...@@ -6,16 +6,22 @@ ...@@ -6,16 +6,22 @@
</div> </div>
</template> </template>
<div class=""> <div class="">
<el-form label-width="145px" label-position="left"> <el-form
<el-form-item label="姓名"> ref="formRef"
<el-input placeholder="请输入姓名" size="large" style="width: 343px"></el-input> :model="ruleForm"
:rules="rules"
label-width="145px"
label-position="left">
<el-form-item label="姓名" prop="contactUser">
<el-input v-model="ruleForm.contactUser" placeholder="请输入姓名" size="large"
style="width: 343px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="身份证"> <el-form-item label="身份证" prop="idCard">
<el-input placeholder="请输入身份证号" size="large" style="width: 343px"></el-input> <el-input v-model="ruleForm.idCard" placeholder="请输入身份证号" size="large" style="width: 343px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="身份证图片"> <el-form-item label="身份证图片" required prop="idCardImage">
<image-upload style="margin-right: 20px" :limit="1"> <image-upload v-model="ruleForm.idCardBackImage" style="margin-right: 20px" :limit="1">
<template #uploader-icon> <template #uploader-icon>
<div style="text-align: center"> <div style="text-align: center">
<el-icon class="avatar-uploader-icon" size="32px"> <el-icon class="avatar-uploader-icon" size="32px">
...@@ -30,7 +36,7 @@ ...@@ -30,7 +36,7 @@
<div style="text-align: center;font-size: 14px;color: #626566;">人像面</div> <div style="text-align: center;font-size: 14px;color: #626566;">人像面</div>
</template> </template>
</image-upload> </image-upload>
<image-upload :limit="1"> <image-upload v-model="ruleForm.idCardFrontImage" :limit="1">
<template #uploader-icon> <template #uploader-icon>
<div style="text-align: center"> <div style="text-align: center">
<el-icon class="avatar-uploader-icon" size="32px"> <el-icon class="avatar-uploader-icon" size="32px">
...@@ -53,6 +59,45 @@ ...@@ -53,6 +59,45 @@
<script setup> <script setup>
import ImageUpload from '@/components/ImageUpload/index.vue' import ImageUpload from '@/components/ImageUpload/index.vue'
import { ref, computed, defineExpose } from 'vue'
const formRef = ref()
const ruleForm = ref({
contactUser: '',
idCard: '',
idCardImage: '1',
idCardBackImage: '',
idCardFrontImage: ''
})
function validateIdCardImage (rule, value, callback) {
if (!ruleForm.value.idCardFrontImage || !ruleForm.value.idCardFrontImage) {
callback(new Error('请上传身份证人像面和身份证国徽面'))
return
}
callback()
}
const rules = computed(() => {
return {
contactUser: [
{required: true, message: '请输入姓名', trigger: 'blur'}
],
idCard: [
{required: true, message: '请输入身份证号', trigger: 'blur'},
{
pattern: '/(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)/',
message: '请输入正确的身份证号码',
trigger: 'blur'
}
],
idCardImage: [{validator: validateIdCardImage, trigger: 'blur'}]
}
})
defineExpose({formRef, ruleForm})
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
......
...@@ -6,16 +6,21 @@ ...@@ -6,16 +6,21 @@
</div> </div>
</template> </template>
<div class=""> <div class="">
<el-form label-width="145px" label-position="left"> <el-form
<el-form-item label="企业名称"> ref="formRef"
<el-input placeholder="请输入企业名称" size="large" style="width: 343px"></el-input> :model="ruleForm"
:rules="rules"
label-width="145px"
label-position="left">
<el-form-item label="企业名称" prop="name">
<el-input v-model="ruleForm.name" placeholder="请输入企业名称" size="large" style="width: 343px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="法人代表"> <el-form-item label="法人代表" prop="legalPerson">
<el-input placeholder="请输入法人代表" size="large" style="width: 343px"></el-input> <el-input v-model="ruleForm.legalPerson" placeholder="请输入法人代表" size="large"
style="width: 343px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="企业营业执照" prop="licenseImages">
<el-form-item label="企业营业执照"> <image-upload v-model="ruleForm.licenseImages" :limit="1" :is-show-tip="false">
<image-upload :limit="1" :is-show-tip="false">
<template #uploader-icon> <template #uploader-icon>
<div style="text-align: center"> <div style="text-align: center">
<el-icon class="avatar-uploader-icon" size="32px"> <el-icon class="avatar-uploader-icon" size="32px">
...@@ -35,6 +40,22 @@ ...@@ -35,6 +40,22 @@
<script setup> <script setup>
import ImageUpload from '@/components/ImageUpload/index.vue' import ImageUpload from '@/components/ImageUpload/index.vue'
import { ref, computed, defineExpose } from 'vue'
const formRef = ref()
const ruleForm = ref({})
const rules = computed(() => {
return {
name: [{required: true, message: '请输入企业名称', trigger: 'blur'}],
legalPerson: [{required: true, message: '请输入法人代表', trigger: 'blur'}],
licenseImages: [{required: true, message: '请上传企业营业执照', trigger: 'change'}]
}
})
defineExpose({formRef, ruleForm})
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
......
...@@ -6,16 +6,22 @@ ...@@ -6,16 +6,22 @@
</div> </div>
</template> </template>
<div class=""> <div class="">
<el-form label-width="145px" label-position="left"> <el-form
<el-form-item label="手机号"> ref="formRef"
<el-input placeholder="请输入手机号" size="large" style="width: 343px"></el-input> :model="ruleForm"
:rules="rules"
label-width="145px"
label-position="left">
<el-form-item label="手机号" prop="contactPhone">
<el-input v-model.number="ruleForm.contactPhone" placeholder="请输入手机号" size="large"
style="width: 343px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="承诺书模板"> <el-form-item label="承诺书模板">
<el-button link type="primary">下载模板</el-button> <el-button link type="primary" @click="openPage">下载模板</el-button>
</el-form-item> </el-form-item>
<el-form-item label="承诺书上传"> <el-form-item label="承诺书上传" prop="wordUrl">
<image-upload :limit="1" :is-show-tip="false"> <image-upload v-model="ruleForm.wordUrl" :limit="1" :is-show-tip="false">
<template #uploader-icon> <template #uploader-icon>
<div style="text-align: center"> <div style="text-align: center">
<el-icon class="avatar-uploader-icon" size="32px"> <el-icon class="avatar-uploader-icon" size="32px">
...@@ -35,6 +41,42 @@ ...@@ -35,6 +41,42 @@
<script setup> <script setup>
import ImageUpload from '@/components/ImageUpload/index.vue' import ImageUpload from '@/components/ImageUpload/index.vue'
import { ref, computed, defineExpose } from 'vue'
const formRef = ref()
const ruleForm = ref({})
function validatePhone (rule, value, callback) {
const reg = /^1[3456789]\d{9}$/
if (!reg.test(value)) {
callback(new Error('请输入正确的手机号'))
return
}
callback()
}
const rules = computed(() => {
return {
contactPhone: [
{required: true, message: '请输入手机号', trigger: 'blur'},
{
validator: validatePhone,
trigger: 'blur'
}
],
wordUrl: [{required: true, message: '请上传承诺书', trigger: 'change'}]
}
})
const baseUrl = import.meta.env.VITE_APP_BASE_API
function openPage () {
window.open(baseUrl + '/prod-api/profile/upload/2024/04/29/网络安全承诺书模板_20240429114604A005.doc')
}
defineExpose({formRef, ruleForm})
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
......
...@@ -10,20 +10,20 @@ ...@@ -10,20 +10,20 @@
<el-col :span="12"> <el-col :span="12">
<el-form label-width="145px" label-position="left"> <el-form label-width="145px" label-position="left">
<el-form-item label="姓名"> <el-form-item label="姓名">
姓名 {{ formData.contactUser }}
</el-form-item> </el-form-item>
<el-form-item label="身份证"> <el-form-item label="身份证">
身份证号 {{ formData.idCard }}
</el-form-item> </el-form-item>
<el-form-item label="身份证图片"> <el-form-item label="身份证图片">
<div class="mr20"> <div class="mr20">
<el-image style="width: 200px; height: 130px" fit="cover"/> <el-image :src="baseUrl + formData.idCardBackImage" style="width: 200px; height: 130px" fit="cover"/>
<div style="text-align: center;font-size: 14px;color: #626566;">人像面</div> <div style="text-align: center;font-size: 14px;color: #626566;">人像面</div>
</div> </div>
<div> <div>
<el-image style="width: 200px; height: 130px" fit="cover"/> <el-image :src="baseUrl + formData.idCardFrontImage" style="width: 200px; height: 130px" fit="cover"/>
<div style="text-align: center;font-size: 14px;color: #626566;">国徽面</div> <div style="text-align: center;font-size: 14px;color: #626566;">国徽面</div>
</div> </div>
</el-form-item> </el-form-item>
...@@ -32,16 +32,15 @@ ...@@ -32,16 +32,15 @@
<el-col :span="12"> <el-col :span="12">
<el-form label-width="145px" label-position="left"> <el-form label-width="145px" label-position="left">
<el-form-item label="企业名称"> <el-form-item label="企业名称">
企业名称 {{ formData.name }}
</el-form-item> </el-form-item>
<el-form-item label="法人代表"> <el-form-item label="法人代表">
法人代表 {{ formData.legalPerson }}
</el-form-item> </el-form-item>
<el-form-item label="企业营业执照"> <el-form-item label="企业营业执照">
<div class="mr20"> <div class="mr20">
<el-image style="width: 200px; height: 130px" fit="cover"/> <el-image :src="baseUrl + formData.licenseImages" style="width: 200px; height: 130px" fit="cover"/>
<div style="text-align: center;font-size: 14px;color: #626566;">人像面</div>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -49,16 +48,12 @@ ...@@ -49,16 +48,12 @@
<el-col :span="12"> <el-col :span="12">
<el-form label-width="145px" label-position="left" style="padding-top: 30px"> <el-form label-width="145px" label-position="left" style="padding-top: 30px">
<el-form-item label="手机号"> <el-form-item label="手机号">
手机号 {{ formData.contactPhone }}
</el-form-item>
<el-form-item label="承诺书模板">
承诺书模板
</el-form-item> </el-form-item>
<el-form-item label="承诺书上传"> <el-form-item label="承诺书上传">
<div class="mr20"> <div class="mr20">
<el-image style="width: 132px; height: 200px" fit="cover"/> <el-image :src="baseUrl + formData.wordUrl" style="width: 132px; height: 200px" fit="cover"/>
<div style="text-align: center;font-size: 14px;color: #626566;">人像面</div>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -70,6 +65,16 @@ ...@@ -70,6 +65,16 @@
<script setup> <script setup>
import ImageUpload from '@/components/ImageUpload/index.vue' import ImageUpload from '@/components/ImageUpload/index.vue'
import { defineProps } from 'vue'
defineProps({
formData: {
type: Object
}
})
const baseUrl = import.meta.env.VITE_APP_BASE_API
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
<div class="bg-text">APPLICATION</div> <div class="bg-text">APPLICATION</div>
行业应用 行业应用
</div> </div>
<div class=block-sub-title> <div class="block-sub-title">
集成机器学习、深度学习、自然语言处理、图像识别等先进技术,为金融、医疗、教育、零售、制造业等多个领域提供智能化解决方案。 集成机器学习、深度学习、自然语言处理、图像识别等先进技术,为金融、医疗、教育、零售、制造业等多个领域提供智能化解决方案。
</div> </div>
<el-row :gutter="24"> <el-row :gutter="24">
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
<div class="bg-text">INFORMATION</div> <div class="bg-text">INFORMATION</div>
活动资讯 活动资讯
</div> </div>
<!--<div class=block-sub-title>活动时间待定,活动内容待定,活动礼品自带</div>--> <!--<div class="block-sub-title">活动时间待定,活动内容待定,活动礼品自带</div>-->
<div class="flex flex-justify-center"> <div class="flex flex-justify-center">
<div class="information" style="margin-right: 182px"> <div class="information" style="margin-right: 182px">
<div class="information-item" <div class="information-item"
......
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 sign in to comment