幼教产品B2B生态平台小程序端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

234 lines
6.7 KiB

<template>
<view class="page">
<view class="block">
<view class="title">上传营业执照</view>
<image class="credential" :src="businessLicensePicture || 'http://124.71.79.122/images/miniProgram/credentials1.png'" mode="widthFix" @click="uploadBusinessLicense"></image>
</view>
<view v-if="isPreschool" class="block">
<view class="title">上传办学许可证</view>
<image class="credential" :src="licenseForRunningSchool || 'http://124.71.79.122/images/miniProgram/credentials2.png'" mode="widthFix" @click="uploadSchoolLicense"></image>
</view>
<view class="block">
<view class="form-list">
<view class="line with-arrow">
<view class="name">{{ isPreschool ? '幼儿园' : '企业' }}名称</view>
<input type="text" :placeholder="'请输入' + platformName + '名称'" v-model="form.companyName" />
<uni-icons type="right" size="18" color="#ababab"></uni-icons>
</view>
<view class="line with-arrow">
<view class="name">统一社会信用代码</view>
<input type="text" placeholder="请输入证件号码" v-model="form.creditCode" />
<uni-icons type="right" size="18" color="#ababab"></uni-icons>
</view>
<view class="line with-arrow">
<view class="name">法人</view>
<input type="text" placeholder="请输入法人" v-model="form.legalPerson" />
<uni-icons type="right" size="18" color="#ababab"></uni-icons>
</view>
</view>
</view>
<view class="btn-wrap">
<view class="btn" @click="submit">认证信息</view>
</view>
</view>
</template>
<script>
import { enterpriseCertificationStatus, creditCodeAuthentication, businessLicensePictureVerification, updateTeamInfo, organizationCertification, kindergartenWeChatApplication } from '@/apis/modules/user.js'
import OSS from '@/libs/Oss/upload'
export default {
data() {
return {
openId: uni.getStorageSync('openId'),
form: {
companyName: '',
creditCode: '',
legalPerson: '',
},
platformId: '',
businessLicensePicture: '',
licenseForRunningSchool: '',
}
},
computed: {
// 幼儿园
isPreschool() {
return this.platformId == 5
},
// 平台名字
platformName() {
return this.platformId == 6 ? '供应商' : this.platformId == 5 ? '幼儿园' : ''
},
},
onShow() {
const pages = getCurrentPages()
const { options } = pages[pages.length - 1]
this.platformId = +options.platformId
this.getEnterInfo()
},
methods: {
// 企业认证信息
async getEnterInfo() {
const res = await enterpriseCertificationStatus(this.openId)
if (res.data) {
const { data } = res
this.businessLicensePicture = data.businessLicensePicture || ''
this.licenseForRunningSchool = data.licenseForRunningSchool || ''
this.form.companyName = data.companyName || ''
this.form.creditCode = data.creditCode || ''
this.form.legalPerson = data.legalPerson || ''
this.form.address = data.address || ''
this.form.business = data.business || ''
this.form.capital = data.capital || ''
this.form.establishDate = data.establishDate || ''
this.form.type = data.type || ''
this.form.validPeriod = data.validPeriod || ''
this.form.platformSource = this.platformId
}
},
// 上传营业执照
uploadBusinessLicense() {
const that = this
uni.chooseImage({
success: (res) => {
const file = res.tempFilePaths[0];
OSS(file, async ({ url }) => {
that.businessLicensePicture = url
const { data } = await businessLicensePictureVerification(url)
if (data) {
that.form = {
companyName: data.name,
creditCode: data.reg_num,
legalPerson: data.person,
address: data.address,
business: data.business,
capital: data.capital,
establishDate: data.establish_date,
type: data.type,
validPeriod: data.valid_period,
platformSource: this.platformId,
}
}
})
}
});
},
// 上传办学许可证
uploadSchoolLicense() {
const that = this
uni.chooseImage({
success: (res) => {
const file = res.tempFilePaths[0];
OSS(file, async ({ url }) => {
that.licenseForRunningSchool = url
})
}
});
},
// 消息推送授权
publicNotice() {
const that = this
uni.requestSubscribeMessage({
tmplIds: ['ZB6wTenlv13mivxXwi-DWwjgVoNJ6eUr1vBvNdQGbJw'],
success: (res) => {
uni.setStorageSync('platformId', that.platformId)
const name = that.platformId == 6 ? '供应商' : '幼儿园'
that.$util.sucMsg(`您已成功提交${name}认证,现在为您切换到${name}端。`)
setTimeout(() => {
uni.switchTab({
url: '/pages/person/person'
})
}, 1500)
},
fail: function(err) {
uni.showToast({
title: err,
duration: 2000,
icon: 'error'
});
}
})
},
// 提交
async submit() {
if (this.submiting) return false
const { form } = this
if (!form.companyName) return this.$util.errMsg(`请输入${platformName}名称!`)
if (!form.creditCode) return this.$util.errMsg('请输入统一社会信用代码!')
if (!form.legalPerson) return this.$util.errMsg('请输入法人!')
this.submiting = true
uni.showLoading({
title: '提交中'
})
const data = {
...form,
auditStatus: 1,
authenticationStatus: 1,
businessLicensePicture: this.businessLicensePicture,
licenseForRunningSchool: this.licenseForRunningSchool,
openId: this.openId
}
try {
// 个人
if (uni.getStorageSync('platformId') === 7) {
// 个人认证企业后新增一个企业角色
const res = await kindergartenWeChatApplication({
openId: this.openId,
platformId: this.platformId,
organizationName: form.companyName
})
data.accountId = res.data.registerId
await organizationCertification(data)
} else { // 幼儿园/供应商
await creditCodeAuthentication(data)
// 企业认证后要修改组织名字
await updateTeamInfo({
id: uni.getStorageSync('teamId'),
classificationName: form.companyName
})
}
uni.hideLoading()
this.publicNotice()
} catch(e) {
setTimeout(() => {
uni.hideLoading()
}, 1500)
this.submiting = false
}
},
}
}
</script>
<style scoped lang="scss">
.page {
padding-bottom: 170rpx;
-webkit-overflow-scrolling: touch;
}
.avatar {
width: 80rpx;
height: 80rpx;
border: 0;
border-radius: 50%;
}
.block {
padding: 24rpx;
}
.title {
margin-bottom: 20rpx;
font-size: 28rpx;
}
.credential {
width: 100%;
}
.form-list {
.name {
min-width: 250rpx;
}
}
</style>