flat: 添加企业2

This commit is contained in:
Apcallover
2024-04-12 17:57:52 +08:00
parent c981e19e89
commit c4f62b6efb
14 changed files with 2279 additions and 1848 deletions

View File

@@ -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>

View 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>

View File

@@ -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>