Files
jobslink-user-clent/pages/recruit/subPage/enterpriceCertification/enterpriceCertification.vue

265 lines
11 KiB
Vue
Raw Normal View History

2024-04-12 10:06:09 +08:00
<template>
<view class="">
<view class="content">
2024-04-14 14:32:17 +08:00
<u--form labelPosition="left" :model="formData" :rules="rules" ref="formOne">
2024-04-12 17:57:52 +08:00
<view class="card">
<view class="card_title">企业信息</view>
<u-form-item label="企业名称" labelWidth="100" prop="comname" borderBottom ref="item1">
<u--input v-model="formData.comname" placeholder="请输入企业名称"></u--input>
</u-form-item>
<u-form-item label="统一信用代码" labelWidth="100" prop="companyTid" borderBottom ref="item1">
<u--input v-model="formData.companyTid" placeholder="请输入统一信用代码"></u--input>
</u-form-item>
<u-form-item label="法人姓名" labelWidth="100" prop="masterName" borderBottom ref="item1">
<u--input v-model="formData.masterName" placeholder="请输入法人姓名"></u--input>
</u-form-item>
<u-form-item label="法人身份证号" labelWidth="100" prop="masterIdentity" borderBottom ref="item1">
<u--input v-model="formData.masterIdentity" placeholder="请输入法人身份证号"></u--input>
</u-form-item>
<u-form-item label="所在地区" labelWidth="100" prop="cityId" borderBottom ref="item1"
@click="showAddress = true; hideKeyboard()">
<PickerList placeholder="请选择所在地区" :columns="dic.addressColumn" :visibel="showAddress"
v-model="formData.cityId" @cancel="showAddress = false">
</PickerList>
</u-form-item>
<u-form-item label="详细地址" labelWidth="100" prop="companyAddress" borderBottom ref="item1">
<u--input v-model="formData.companyAddress" placeholder="请输入详细地址"></u--input>
</u-form-item>
<u-form-item label="企业性质" labelWidth="100" prop="nature" borderBottom ref="item1"
@click="showJobCompanyNature = true; hideKeyboard()">
<PickerList placeholder="请选择企业性质" :columns="[dic.companyEnum]" :visibel="showJobCompanyNature"
v-model="formData.nature" @cancel="showJobCompanyNature = false">
</PickerList>
</u-form-item>
<u-form-item label="行业" labelWidth="100" prop="tradeId" borderBottom ref="item1"
@click="showjobCompanyIndustry = true; hideKeyboard()">
<PickerList placeholder="请选择行业" :columns="dic.tradeArr" labelName="name" valueName="id"
:visibel="showjobCompanyIndustry" v-model="formData.tradeId"
@cancel="showjobCompanyIndustry = false">
</PickerList>
</u-form-item>
<u-form-item label="企业介绍" labelWidth="100" labelPosition="top" prop="companyDesc" borderBottom
ref="item1">
2024-04-14 14:32:17 +08:00
<u--textarea v-model="formData.companyDesc" placeholder="请输入企业介绍" count
maxlength="200"></u--textarea>
2024-04-12 17:57:52 +08:00
</u-form-item>
</view>
<view class="card">
<view class="card_title">用户信息</view>
<u-form-item label="联系人" labelWidth="100" prop="manager" borderBottom ref="item1">
<u--input v-model="formData.manager" placeholder="请输入联系人"></u--input>
</u-form-item>
<u-form-item label="手机号码" labelWidth="100" prop="telphone" borderBottom ref="item1">
<u--input v-model="formData.telphone" placeholder="请输入手机号码"></u--input>
</u-form-item>
</view>
<view class="card">
<view class="card_title">相关资料</view>
<view class="card_content">
2024-04-14 14:32:17 +08:00
<u-form-item labelWidth="100" prop="identityUrl4Id">
<UploadIdNumber v-model="formData.identityUrl4Id" backImg="/static/img/idcard.png">
</UploadIdNumber>
</u-form-item>
<u-form-item labelWidth="100" prop="identityUrl5Id">
<UploadIdNumber v-model="formData.identityUrl5Id" backImg="/static/img/backidcard1.png">
</UploadIdNumber>
</u-form-item>
<u-form-item labelWidth="100" prop="authUrlId">
<UploadIdNumber v-model="formData.authUrlId" backImg="/static/img/idcard.png">
</UploadIdNumber>
</u-form-item>
2024-04-12 17:57:52 +08:00
</view>
</view>
<view class="card">
<u-button type="primary" text="提交" customStyle="margin-top: 50px" @click="submit"></u-button>
<u-button type="error" text="重置" customStyle="margin-top: 10px" @click="reset"></u-button>
</view>
2024-04-12 10:06:09 +08:00
</u--form>
</view>
</view>
</template>
<script>
2024-04-12 17:57:52 +08:00
import UploadIdNumber from './uploadIdNumber.vue';
import dic from '@/common/dic.js'
import PickerList from './pickerList.vue';
import {
addInviteCompanyAuth
} from '@/api/userrecruit.js'
2024-04-12 10:06:09 +08:00
import {
mapState
} from 'vuex'
2024-04-14 14:32:17 +08:00
const rules = {
comname: {
type: 'string',
required: true,
message: '请输入企业名称',
trigger: ['change']
},
companyTid: {
type: 'string',
required: true,
message: '请输入统一信用代码',
trigger: ['change']
},
masterName: {
type: 'string',
required: true,
message: '请输入法人姓名',
trigger: ['change']
},
masterIdentity: {
type: 'string',
required: true,
pattern: /^[1-9]\d{5}(19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[Xx\d]$/,
message: '请输入法人身份证号',
trigger: ['change']
},
cityId: {
type: 'string',
required: true,
message: '请选择所在地区',
trigger: ['change']
},
companyAddress: {
type: 'string',
required: true,
message: '请输入详细地址',
trigger: ['change']
},
nature: {
type: 'string',
required: true,
message: '请选择企业性质',
trigger: ['change']
},
tradeId: {
type: 'string',
required: true,
message: '请选择行业',
trigger: ['change']
},
companyDesc: {
type: 'string',
min: 20,
required: true,
message: '请输入企业介绍最少20个字符',
trigger: ['change']
},
manager: {
type: 'string',
required: true,
message: '请输入联系人',
trigger: ['change']
},
telphone: {
type: 'string',
required: true,
pattern: /^1[3-9]{1}[0-9]{9}$/,
message: '请输入手机号码',
trigger: ['change']
},
identityUrl4Id: {
type: 'string',
required: true,
message: '请上传法人身份证(人像)',
trigger: ['change']
},
identityUrl5Id: {
type: 'string',
required: true,
message: '请上传法人身份证(国徽)',
trigger: ['change']
},
authUrlId: {
type: 'string',
required: true,
message: '请上传企业营业执照',
trigger: ['change']
},
}
2024-04-12 10:06:09 +08:00
export default {
2024-04-12 17:57:52 +08:00
components: {
UploadIdNumber,
PickerList
},
2024-04-12 10:06:09 +08:00
data() {
return {
2024-04-12 17:57:52 +08:00
showAddress: false,
showJobCompanyNature: false,
showjobCompanyIndustry: false,
dic,
2024-04-12 10:06:09 +08:00
formData: {},
rules
};
},
computed: {
...mapState({
authInfo: (state) => state.auth.authInfo,
userInfo: (state) => state.user.userInfo
}),
},
created() {
2024-04-12 17:57:52 +08:00
this.formData.manager = this.authInfo.realName
this.formData.idNumber = this.authInfo.idNumber
2024-04-12 10:06:09 +08:00
},
methods: {
2024-04-12 17:57:52 +08:00
hideKeyboard() {
uni.hideKeyboard()
},
async submit() {
2024-04-14 14:32:17 +08:00
const _this = this
2024-04-18 10:30:16 +08:00
this.$refs.formOne.validate().then(async (res) => {
let params = {
..._this.formData,
nature: Number(_this.formData.nature),
cityId: Number(_this.formData.cityId),
tradeId: Number(_this.formData.tradeId),
manager: _this.authInfo.realName,
idNumber: _this.authInfo.idNumber
}
let resData = await addInviteCompanyAuth(params)
if (resData.data.code === 200) {
_this.$api.msg('已完成企业信息认证')
uni.navigateBack()
}
2024-04-14 14:32:17 +08:00
}).catch(errors => {
2024-04-18 10:30:16 +08:00
console.log(errors)
2024-04-14 14:32:17 +08:00
_this.$api.msg('请完善内容')
2024-04-12 17:57:52 +08:00
})
2024-04-18 10:30:16 +08:00
2024-04-12 17:57:52 +08:00
},
reset() {
const _this = this
uni.showModal({
content: '重置将清空表单,确定重置吗?',
success() {
_this.formData = {}
},
})
}
},
2024-04-12 10:06:09 +08:00
}
</script>
<style lang="scss" scoped>
.content {
padding: 24rpx;
2024-04-12 17:57:52 +08:00
.card {
.card_title {
font-weight: bold;
margin-top: 20rpx;
}
.card_content {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
}
2024-04-12 10:06:09 +08:00
}
</style>