flat: 添加企业2
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,109 +1,126 @@
|
||||
<template>
|
||||
<view class="container">
|
||||
<view class="select">用工单位发布招工</view>
|
||||
<view class="select-text">提交申请资料,通过认证后可快速发布招工信息</view>
|
||||
<!-- <view class="block" @click="next(0)">
|
||||
<img src="../../static/img/zhao_icon1.png" alt="" />
|
||||
<view class="block-text">个体户招工</view>
|
||||
</view> -->
|
||||
<view class="block" @click="next(1)">
|
||||
<img src="../../static/img/zhao_icon2.png" alt="" />
|
||||
<view class="block-text" style="background-color: #4171F9;">我要招工</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {seeIsHaveCodep} from '@/api/userrecruit.js'
|
||||
import { mapState } from 'vuex'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState({idNumber: (state) => state.auth.authInfo.idNumber}),
|
||||
},
|
||||
methods: {
|
||||
next(type) {
|
||||
switch (type){
|
||||
case 0:
|
||||
this.isHaveCode(this.idNumber).then(() => {
|
||||
this.$store.commit('setEnterprise', type)
|
||||
this.navTo('/pages/recruit/subPage/index?type=none')
|
||||
})
|
||||
break;
|
||||
case 1:
|
||||
this.isHaveCode(this.idNumber).then(() => {
|
||||
this.$store.commit('setEnterprise', type)
|
||||
this.navTo('/pages/recruit/subPage/index?type=enterprise')
|
||||
})
|
||||
break;
|
||||
}
|
||||
},
|
||||
isHaveCode(idNumber) {
|
||||
uni.showLoading({ title:'请求中' })
|
||||
return new Promise(async(resolve, reject) => {
|
||||
let resData = await seeIsHaveCodep({idNumber})
|
||||
uni.hideLoading()
|
||||
if(resData.data.code === 200) {
|
||||
if (false && resData.data.data) {
|
||||
resolve()
|
||||
} else {
|
||||
// this.$api.msg('您未申请开通该功能,请联系工作人员')
|
||||
this.navTo('/pages/recruit/subPage/enterpriceCertification/enterpriceCertification')
|
||||
}
|
||||
} else {
|
||||
reject()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.container {
|
||||
padding: 60rpx;
|
||||
.select {
|
||||
font-size: 36rpx;
|
||||
color: #000;
|
||||
}
|
||||
.select-text {
|
||||
font-size: 28rpx;
|
||||
color: #999;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
.block {
|
||||
width: 100%;
|
||||
height: 300rpx;
|
||||
border-radius: 20rpx;
|
||||
background-color: #f3f4f8;
|
||||
margin: 40rpx auto;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.block-text {
|
||||
color: #fff;
|
||||
font-size: 26rpx;
|
||||
position: absolute;
|
||||
width: 180rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 30rpx;
|
||||
background-color: #45D4B6;
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
right: 20rpx;
|
||||
top: 50%;
|
||||
margin-top: -30rpx;
|
||||
}
|
||||
img {
|
||||
width: 300rpx;
|
||||
margin-left: 50rpx;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
<template>
|
||||
<view class="container">
|
||||
<view class="select">企业申请认证后</view>
|
||||
<view class="select-text">即可发布零工任务或者发布正规岗位</view>
|
||||
<!-- <view class="block" @click="next(0)">
|
||||
<img src="../../static/img/zhao_icon1.png" alt="" />
|
||||
<view class="block-text">个体户招工</view>
|
||||
</view> -->
|
||||
<view class="block" @click="next(1)">
|
||||
<img src="../../static/img/zhao_icon2.png" alt="" />
|
||||
<view class="block-text" style="background-color: #4171F9;">企业招工</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
seeIsHaveCodep
|
||||
} from '@/api/userrecruit.js'
|
||||
import {
|
||||
mapState
|
||||
} from 'vuex'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
idNumber: (state) => state.auth.authInfo.idNumber
|
||||
}),
|
||||
},
|
||||
methods: {
|
||||
next(type) {
|
||||
switch (type) {
|
||||
case 0:
|
||||
this.isHaveCode(this.idNumber).then(() => {
|
||||
this.$store.commit('setEnterprise', type)
|
||||
this.navTo('/pages/recruit/subPage/index?type=none')
|
||||
})
|
||||
break;
|
||||
case 1:
|
||||
this.isHaveCode(this.idNumber).then(() => {
|
||||
this.$store.commit('setEnterprise', type)
|
||||
this.navTo('/pages/recruit/subPage/index?type=enterprise')
|
||||
})
|
||||
break;
|
||||
}
|
||||
},
|
||||
isHaveCode(idNumber) {
|
||||
uni.showLoading({
|
||||
title: '请求中'
|
||||
})
|
||||
return new Promise(async (resolve, reject) => {
|
||||
let resData = await seeIsHaveCodep({
|
||||
idNumber
|
||||
})
|
||||
uni.hideLoading()
|
||||
if (resData.data.code === 200) {
|
||||
if (false && resData.data.data) {
|
||||
resolve()
|
||||
} else {
|
||||
// this.$api.msg('您未申请开通该功能,请联系工作人员')
|
||||
this.navTo(
|
||||
'/pages/recruit/subPage/enterpriceCertification/enterpriceCertification'
|
||||
)
|
||||
}
|
||||
} else {
|
||||
reject()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.container {
|
||||
padding: 60rpx;
|
||||
|
||||
.select {
|
||||
font-size: 36rpx;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.select-text {
|
||||
font-size: 28rpx;
|
||||
color: #999;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
.block {
|
||||
width: 100%;
|
||||
height: 300rpx;
|
||||
border-radius: 20rpx;
|
||||
background-color: #f3f4f8;
|
||||
margin: 40rpx auto;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.block-text {
|
||||
color: #fff;
|
||||
font-size: 26rpx;
|
||||
position: absolute;
|
||||
width: 180rpx;
|
||||
height: 60rpx;
|
||||
border-radius: 30rpx;
|
||||
background-color: #45D4B6;
|
||||
text-align: center;
|
||||
line-height: 60rpx;
|
||||
right: 20rpx;
|
||||
top: 50%;
|
||||
margin-top: -30rpx;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 300rpx;
|
||||
margin-left: 50rpx;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</style>
|
||||
@@ -1,54 +1,100 @@
|
||||
<template>
|
||||
<view class="">
|
||||
<view class="content">
|
||||
<u--form labelPosition="left" :model="model1" :rules="rules" ref="uForm">
|
||||
<u-form-item label="企业名称" labelWidth="100" prop="userInfo.name" borderBottom ref="item1">
|
||||
<u--input v-model="formData.name" placeholder="请输入企业名称"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="统一信用代码" labelWidth="100" prop="userInfo.name" borderBottom ref="item1">
|
||||
<u--input v-model="formData.name" placeholder="请输入企业名称"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="法人姓名" labelWidth="100" prop="userInfo.name" borderBottom ref="item1">
|
||||
<u--input v-model="formData.name" placeholder="请输入企业名称"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="法人身份证号" labelWidth="100" prop="userInfo.name" borderBottom ref="item1">
|
||||
<u--input v-model="formData.name" placeholder="请输入企业名称"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="所在地区" labelWidth="100" prop="userInfo.name" borderBottom ref="item1">
|
||||
<u--input v-model="formData.name" placeholder="请输入企业名称"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="详细地址" labelWidth="100" prop="userInfo.name" borderBottom ref="item1">
|
||||
<u--input v-model="formData.name" placeholder="请输入企业名称"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="联系人" labelWidth="100" prop="userInfo.name" borderBottom ref="item1">
|
||||
<u--input v-model="formData.name" placeholder="请输入企业名称"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="手机号码" labelWidth="100" prop="userInfo.name" borderBottom ref="item1">
|
||||
<u--input v-model="formData.name" placeholder="请输入企业名称"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="企业性质" labelWidth="100" prop="userInfo.name" borderBottom ref="item1">
|
||||
<u--input v-model="formData.name" placeholder="请输入企业名称"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="行业" labelWidth="100" prop="userInfo.name" borderBottom ref="item1">
|
||||
<u--input v-model="formData.name" placeholder="请输入企业名称"></u--input>
|
||||
</u-form-item>
|
||||
<u-form-item label="企业介绍" labelWidth="100" labelPosition="top" prop="userInfo.name" borderBottom
|
||||
ref="item1">
|
||||
<u--textarea v-model="formData.name" placeholder="请输入内容"></u--textarea>
|
||||
</u-form-item>
|
||||
<u--form labelPosition="left" :model="formData" :rules="rules" ref="uForm">
|
||||
<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">
|
||||
<u--textarea v-model="formData.companyDesc" placeholder="请输入内容"></u--textarea>
|
||||
</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">
|
||||
<UploadIdNumber v-model="formData.identityUrl4Id" backImg="/static/img/idcard.png">
|
||||
</UploadIdNumber>
|
||||
<UploadIdNumber v-model="formData.identityUrl5Id" backImg="/static/img/backidcard1.png">
|
||||
</UploadIdNumber>
|
||||
<UploadIdNumber v-model="formData.authUrlId" backImg="/static/img/idcard.png"></UploadIdNumber>
|
||||
</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>
|
||||
</u--form>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UploadIdNumber from './uploadIdNumber.vue';
|
||||
import dic from '@/common/dic.js'
|
||||
import PickerList from './pickerList.vue';
|
||||
import {
|
||||
addInviteCompanyAuth
|
||||
} from '@/api/userrecruit.js'
|
||||
const rules = []
|
||||
import {
|
||||
mapState
|
||||
} from 'vuex'
|
||||
export default {
|
||||
components: {
|
||||
UploadIdNumber,
|
||||
PickerList
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showAddress: false,
|
||||
showJobCompanyNature: false,
|
||||
showjobCompanyIndustry: false,
|
||||
dic,
|
||||
formData: {},
|
||||
rules
|
||||
};
|
||||
@@ -60,16 +106,60 @@
|
||||
}),
|
||||
},
|
||||
created() {
|
||||
|
||||
this.formData.manager = this.authInfo.realName
|
||||
this.formData.idNumber = this.authInfo.idNumber
|
||||
console.log(this.authInfo)
|
||||
console.log(this.userInfo)
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
hideKeyboard() {
|
||||
uni.hideKeyboard()
|
||||
},
|
||||
async submit() {
|
||||
let data = {
|
||||
...this.formData,
|
||||
nature: Number(this.formData.nature),
|
||||
cityId: Number(this.formData.cityId),
|
||||
tradeId: Number(this.formData.tradeId),
|
||||
}
|
||||
let params = {
|
||||
// auth: this.authInfo.authValue
|
||||
}
|
||||
let resData = await addInviteCompanyAuth({
|
||||
params,
|
||||
data
|
||||
})
|
||||
console.log(resData)
|
||||
},
|
||||
reset() {
|
||||
const _this = this
|
||||
uni.showModal({
|
||||
content: '重置将清空表单,确定重置吗?',
|
||||
success() {
|
||||
_this.formData = {}
|
||||
},
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.content {
|
||||
padding: 24rpx;
|
||||
|
||||
.card {
|
||||
.card_title {
|
||||
font-weight: bold;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.card_content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
72
pages/recruit/subPage/enterpriceCertification/pickerList.vue
Normal file
72
pages/recruit/subPage/enterpriceCertification/pickerList.vue
Normal file
@@ -0,0 +1,72 @@
|
||||
<template>
|
||||
<view style="width: 100%">
|
||||
<u--input :value="valueEnum[value]" disabledColor="#ffffff" :placeholder="placeholder"></u--input>
|
||||
<u-picker :show="visibel" :keyName="labelName" :columns="columns" @confirm="skillConfirm" @cancel="skillClose"
|
||||
@close="skillClose"></u-picker>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
valueEnum: {}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
valueName: {
|
||||
type: String,
|
||||
default: 'value'
|
||||
},
|
||||
labelName: {
|
||||
type: String,
|
||||
default: 'label'
|
||||
},
|
||||
placeholder: {
|
||||
type: String,
|
||||
require: ''
|
||||
},
|
||||
visibel: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
columns: {
|
||||
type: Array,
|
||||
require: true
|
||||
},
|
||||
value: {
|
||||
type: String,
|
||||
require: ''
|
||||
},
|
||||
cancel: {
|
||||
type: Function
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if (Array.isArray(this.columns)) {
|
||||
this.columns.map((item) => {
|
||||
item.map((child) => {
|
||||
this.valueEnum[child[this.valueName]] = child[this.labelName]
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
skillConfirm({
|
||||
index,
|
||||
value,
|
||||
values
|
||||
}) {
|
||||
this.$emit("input", String(value[0][this.valueName]));
|
||||
this.$emit("cancel");
|
||||
},
|
||||
skillClose() {
|
||||
this.$emit("cancel");
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
</style>
|
||||
@@ -0,0 +1,53 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<u-upload :fileList="ImgUrl" @afterRead="afterRead" :deletable="true" @delete="deletePic" name="6" :maxCount="1"
|
||||
width="280" height="150">
|
||||
<image :src="backImg" mode="widthFix" style="width: 280px;height: 150px;"></image>
|
||||
</u-upload>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
uploadFile
|
||||
} from '@/api/upload.js'
|
||||
export default {
|
||||
name: 'UploadIdNumber',
|
||||
props: {
|
||||
backImg: {
|
||||
type: String,
|
||||
require: true,
|
||||
},
|
||||
value: {
|
||||
type: String,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
ImgUrl(val) {
|
||||
return this.value ? [this.value] : []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
afterRead({
|
||||
file,
|
||||
index,
|
||||
name
|
||||
}) {
|
||||
// this.$emit("input", file);
|
||||
uploadFile(file).then((url) => {
|
||||
this.$emit("input", url);
|
||||
})
|
||||
},
|
||||
deletePic() {
|
||||
this.$emit("input", null);
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.content {
|
||||
margin: 20rpx 0 0 0;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user