bug更新

This commit is contained in:
dengxin
2024-03-29 14:53:16 +08:00
parent 03971176fb
commit 6c6831b394
5 changed files with 904 additions and 877 deletions

View File

@@ -269,6 +269,20 @@ const expeArr = [
] ]
] ]
const companyEnum = [
{ value: 1, label: "机关/事业单位" },
{ value: 2, label: "国有企业" },
{ value: 3, label: "私营企业" },
{ value: 4, label: "外商及港澳台投资企业" },
{ value: 5, label: "股份制企业" },
{ value: 6, label: "学校/下级学院" },
{ value: 7, label: "医院" },
{ value: 8, label: "律师事务所" },
{ value: 9, label: "银行" },
{ value: 10, label: "非盈利社会组织" },
{ value: 11, label: "其它" },
]
export default { export default {
salary, salary,
taskSalary, taskSalary,
@@ -276,5 +290,5 @@ export default {
natureArr, natureArr,
ageArr, ageArr,
eduArr, eduArr,
expeArr expeArr,companyEnum
} }

View File

@@ -91,7 +91,7 @@ export default {
}) => { }) => {
console.log('detail,', detail) console.log('detail,', detail)
// this.skillsId = id // this.skillsId = id
this.skillsName = `${detail.parentLabel }-${detail.parentTwoLabel}-${detail.label}` this.skillsName = `${detail.parentLabel}-${detail.parentTwoLabel}-${detail.label}`
}) })
}, },
methods: { methods: {
@@ -118,20 +118,16 @@ export default {
url: `./skillLevel?id=${this.skillsId}&worktypesId=${this.worktypesId}&maxLayer=3&type=2` url: `./skillLevel?id=${this.skillsId}&worktypesId=${this.worktypesId}&maxLayer=3&type=2`
}) })
}, },
submit: function () { submit: async function () {
console.log(this.tradeName, this.worktypesName, this.skillsName); // console.log(this.tradeName, this.worktypesName, this.skillsName);
let result = this.worktypesName.split('-'); let result = this.worktypesName.split('-');
let result1 = this.skillsName.split('-'); let result1 = this.skillsName.split('-');
console.log(result, result1);
// 工种 // 工种
addSkills(this.tradeName, result[0], result[1], 0).then(res => { await addSkills(this.tradeName, result[0], result[1], 0)
uni.navigateBack()
})
// 岗位 // 岗位
addSkills(this.tradeName, `${result1[0]}${result1[1]}`, result1[2], 1).then(res => { await addSkills(this.tradeName, `${result1[0]}${result1[1]}`, result1[2], 1)
uni.navigateBack() uni.navigateBack()
})
} }
} }
} }

View File

@@ -42,15 +42,16 @@
border="none"></u--input> border="none"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon> <u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item> </u-form-item>
<u-form-item label="招工描述" prop="jobDescription" borderBottom labelWidth="80" <u-form-item label="招工描述" prop="jobDescription" borderBottom labelWidth="80" ref="item5">
ref="item5">
<!-- <u--textarea v-model="info.jobDescription" placeholder="请输入招工要求"></u--textarea> --> <!-- <u--textarea v-model="info.jobDescription" placeholder="请输入招工要求"></u--textarea> -->
<!-- <u--input v-model="info.jobDescription" disabledColor="#ffffff" border="none" placeholder="请输入招工描述"></u--input> <!-- <u--input v-model="info.jobDescription" disabledColor="#ffffff" border="none" placeholder="请输入招工描述"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon> --> <u-icon slot="right" name="arrow-right"></u-icon> -->
</u-form-item> </u-form-item>
<view> <view>
<u--textarea v-model="info.jobDescription" placeholder="参考示例:岗位名称:保姆 工作内容: 一日三餐,卫生打扫 工资: 200元/天 年龄要求: 25-40岁 工作经验要求: 有过住家保姆经验, 会做饭,受过高等教育的优先" count height="100" maxlength="200"></u--textarea> <u--textarea v-model="info.jobDescription"
placeholder="参考示例:岗位名称:保姆 工作内容: 一日三餐,卫生打扫 工资: 200元/天 年龄要求: 25-40岁 工作经验要求: 有过住家保姆经验, 会做饭,受过高等教育的优先"
count height="100" maxlength="200"></u--textarea>
</view> </view>
<view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">人员要求</view> <view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">人员要求</view>
<!-- <u-form-item label="人员属性" prop="userNature" labelWidth="80" borderBottom <!-- <u-form-item label="人员属性" prop="userNature" labelWidth="80" borderBottom
@@ -95,7 +96,8 @@
<u-icon slot="right" name="arrow-right"></u-icon> --> <u-icon slot="right" name="arrow-right"></u-icon> -->
</u-form-item> </u-form-item>
<view> <view>
<u--textarea v-model="info.jobCompanyDescription" placeholder="请输入企业介绍" count height="100" maxlength="200"></u--textarea> <u--textarea v-model="info.jobCompanyDescription" placeholder="请输入企业介绍" count height="100"
maxlength="200"></u--textarea>
</view> </view>
<u-form-item label="联系人" prop="callName" borderBottom labelWidth="80" ref="item1"> <u-form-item label="联系人" prop="callName" borderBottom labelWidth="80" ref="item1">
<u--input v-model="info.callName" border="none" placeholder="请输入联系人"></u--input> <u--input v-model="info.callName" border="none" placeholder="请输入联系人"></u--input>
@@ -127,14 +129,14 @@
<text>出淤泥而不染濯清涟而不妖</text> <text>出淤泥而不染濯清涟而不妖</text>
</view> </view>
</u-popup> --> </u-popup> -->
<u-picker :show="showAge" ref="agePicker" keyName="label" :columns="ageColumns" <u-picker :show="showAge" ref="agePicker" keyName="label" :columns="ageColumns" @confirm="ageConfirm"
@confirm="ageConfirm" @cancel="ageClose" @close="ageClose"> @cancel="ageClose" @close="ageClose">
</u-picker> </u-picker>
<u-picker :show="showEdu" ref="eduPicker" keyName="label" :columns="eduColumns" <u-picker :show="showEdu" ref="eduPicker" keyName="label" :columns="eduColumns" @confirm="eduConfirm"
@confirm="eduConfirm" @cancel="eduClose" @close="eduClose"> @cancel="eduClose" @close="eduClose">
</u-picker> </u-picker>
<u-picker :show="showExpe" ref="expePicker" keyName="label" :columns="expeColumns" <u-picker :show="showExpe" ref="expePicker" keyName="label" :columns="expeColumns" @confirm="expeConfirm"
@confirm="expeConfirm" @cancel="expeClose" @close="expeClose"> @cancel="expeClose" @close="expeClose">
</u-picker> </u-picker>
<u-datetime-picker :show="showStime" :value="birthday" mode="date" closeOnClickOverlay <u-datetime-picker :show="showStime" :value="birthday" mode="date" closeOnClickOverlay
@confirm="stimeConfirm" @cancel="stimeClose" @close="stimeClose"></u-datetime-picker> @confirm="stimeConfirm" @cancel="stimeClose" @close="stimeClose"></u-datetime-picker>
@@ -145,9 +147,9 @@
</template> </template>
<script> <script>
import dic from '@/common/dic.js' import dic from '@/common/dic.js'
import { submitInfo, getWorktypesBaseList } from '@/api/userrecruit.js' import { submitInfo, getWorktypesBaseList, findTradeList } from '@/api/userrecruit.js'
export default { export default {
data() { data() {
return { return {
latitude: 31.05, //中心点 latitude: 31.05, //中心点
@@ -217,7 +219,7 @@
wageColumns: dic.taskSalary, wageColumns: dic.taskSalary,
tradeColumns: dic.tradeArr, tradeColumns: dic.tradeArr,
skillColumns: [], skillColumns: [],
skillColumnsIndex: [0,0], skillColumnsIndex: [0, 0],
natureColumns: dic.natureArr, natureColumns: dic.natureArr,
ageColumns: dic.ageArr, ageColumns: dic.ageArr,
eduColumns: dic.eduArr, eduColumns: dic.eduArr,
@@ -295,7 +297,7 @@
} }
}, },
created() { created() {
if(this.company) { if (this.company) {
const { manager, companyTid, comname, companyDesc, telphone } = this.company const { manager, companyTid, comname, companyDesc, telphone } = this.company
this.info.jobCompanyScale = companyTid this.info.jobCompanyScale = companyTid
this.info.jobCompanyName = comname this.info.jobCompanyName = comname
@@ -307,17 +309,32 @@
}, },
watch: { watch: {
company(val) { company(val) {
if(!val) return; if (!val) return;
const { manager, companyTid, comname, companyDesc, telphone } = val this.getDataInit()
}
},
methods: {
async getDataInit() {
const { companyTid, comname, manager, telphone, companyDesc, tradeId, nature } = this.company
this.info.jobCompanyScale = companyTid this.info.jobCompanyScale = companyTid
this.info.jobCompanyName = comname this.info.jobCompanyName = comname
this.info.callName = manager this.info.callName = manager
this.info.callTel = telphone this.info.callTel = telphone
this.info.jobCompanyDescription = companyDesc this.info.jobCompanyDescription = companyDesc
if (tradeId / 1 !== -1) {
const res = await findTradeList()
const tenantArray = res.data.data?.filter(item => item.id === tradeId)
if (tenantArray?.length === 0) return;
this.info.jobCompanyIndustry = tenantArray[0]?.name
} }
if (nature / 1 !== -1) {
const tenantArray = dic.companyEnum?.filter(item => item.value === nature)
if (tenantArray?.length === 0) return;
this.info.jobCompanyNature = tenantArray[0]?.label
}
}, },
methods: {
wageConfirm(e) { wageConfirm(e) {
const { const {
value value
@@ -456,8 +473,8 @@
// }).catch(errors => { // }).catch(errors => {
// uni.$u.toast('校验失败') // uni.$u.toast('校验失败')
// }) // })
const names = this.getSkilDataNameWhereId( this.skillColumnsIndex, true) const names = this.getSkilDataNameWhereId(this.skillColumnsIndex, true)
const ids = this.getSkilDataNameWhereId( this.skillColumnsIndex, false) const ids = this.getSkilDataNameWhereId(this.skillColumnsIndex, false)
this.info.jobType = 2 this.info.jobType = 2
let params = { let params = {
...this.info, ...this.info,
@@ -468,7 +485,7 @@
} }
let that = this let that = this
submitInfo(params).then(res => { submitInfo(params).then(res => {
if(res.data.code == 200) { if (res.data.code == 200) {
that.reset() that.reset()
uni.$u.toast('发布成功') uni.$u.toast('发布成功')
} }
@@ -514,7 +531,7 @@
}, },
skillsChange(e) { skillsChange(e) {
const { columnIndex, index, picker = this.$refs.uPicker } = e const { columnIndex, index, picker = this.$refs.uPicker } = e
let [ index1, index2 ] = this.skillColumnsIndex let [index1, index2] = this.skillColumnsIndex
switch (columnIndex) { switch (columnIndex) {
case 0: case 0:
index1 = index; index1 = index;
@@ -529,19 +546,19 @@
this.skillColumnsIndex = Indexs this.skillColumnsIndex = Indexs
}, },
getSkilDataNameWhereId(Indexs, type = true) { getSkilDataNameWhereId(Indexs, type = true) {
if(!this.skillData) {return} if (!this.skillData) { return }
const [ index1, index2 ] = Indexs const [index1, index2] = Indexs
const work1 = this.skillData[index1] const work1 = this.skillData[index1]
const work2 = work1.child[index2] const work2 = work1.child[index2]
if(type) { if (type) {
return [work1.name, work2.name] return [work1.name, work2.name]
} else { } else {
return [work1.id, work2.id] return [work1.id, work2.id]
} }
}, },
async getWorkTypes() { async getWorkTypes() {
let resData = await getWorktypesBaseList({type: 1}) let resData = await getWorktypesBaseList({ type: 1 })
if(resData.data.code === 200) { if (resData.data.code === 200) {
const { data } = resData.data const { data } = resData.data
const arr = [] const arr = []
// 1、 空间换时间策略/user/userrecruit/saveApp // 1、 空间换时间策略/user/userrecruit/saveApp
@@ -554,7 +571,7 @@
} }
} }
} }
} }
</script> </script>
<style> <style>
@@ -562,5 +579,5 @@
width: 100%; width: 100%;
height: 350rpx; height: 350rpx;
margin-top: 30rpx; margin-top: 30rpx;
} }
</style> </style>

View File

@@ -306,22 +306,6 @@ export default {
}, },
methods: { methods: {
async backfill(info) { async backfill(info) {
const companyEnum = [
{ value: 1, label: "机关/事业单位" },
{ value: 2, label: "国有企业" },
{ value: 3, label: "私营企业" },
{ value: 4, label: "外商及港澳台投资企业" },
{ value: 5, label: "股份制企业" },
{ value: 6, label: "学校/下级学院" },
{ value: 7, label: "医院" },
{ value: 8, label: "律师事务所" },
{ value: 9, label: "银行" },
{ value: 10, label: "非盈利社会组织" },
{ value: 11, label: "其它" },
]
console.log(info, '99999999999999999999');
const { manager, companyTid, comname, companyDesc, telphone, tradeId, nature } = info const { manager, companyTid, comname, companyDesc, telphone, tradeId, nature } = info
this.info.jobCompanyScale = companyTid this.info.jobCompanyScale = companyTid
this.info.jobCompanyName = comname this.info.jobCompanyName = comname
@@ -331,15 +315,12 @@ export default {
if (tradeId / 1 !== -1) { if (tradeId / 1 !== -1) {
const res = await findTradeList() const res = await findTradeList()
const tenantArray = res.data.data?.filter(item => item.id === tradeId) const tenantArray = res.data.data?.filter(item => item.id === tradeId)
console.log(res, tenantArray, '----------------');
if (tenantArray?.length === 0) return; if (tenantArray?.length === 0) return;
this.info.jobCompanyIndustry = tenantArray[0]?.name this.info.jobCompanyIndustry = tenantArray[0]?.name
} }
if (nature / 1 !== -1) { if (nature / 1 !== -1) {
const tenantArray = companyEnum?.filter(item => item.value === nature) const tenantArray = dic.companyEnum?.filter(item => item.value === nature)
console.log(tenantArray, "00000000000000000000000");
if (tenantArray?.length === 0) return; if (tenantArray?.length === 0) return;
this.info.jobCompanyNature = tenantArray[0]?.label this.info.jobCompanyNature = tenantArray[0]?.label
} }

View File

@@ -50,7 +50,9 @@
<u-icon slot="right" name="arrow-right"></u-icon> --> <u-icon slot="right" name="arrow-right"></u-icon> -->
</u-form-item> </u-form-item>
<view> <view>
<u--textarea v-model="info.jobDescription" placeholder="参考示例:岗位名称:保姆 工作内容: 一日三餐,卫生打扫 工资: 200元/天 年龄要求: 25-40岁 工作经验要求: 有过住家保姆经验, 会做饭,受过高等教育的优先" count height="100" maxlength="200"></u--textarea> <u--textarea v-model="info.jobDescription"
placeholder="参考示例:岗位名称:保姆 工作内容: 一日三餐,卫生打扫 工资: 200元/天 年龄要求: 25-40岁 工作经验要求: 有过住家保姆经验, 会做饭,受过高等教育的优先"
count height="100" maxlength="200"></u--textarea>
</view> </view>
<view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">人员要求</view> <view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">人员要求</view>
<!-- <u-form-item label="人员属性" prop="userNature" labelWidth="80" borderBottom <!-- <u-form-item label="人员属性" prop="userNature" labelWidth="80" borderBottom
@@ -95,7 +97,8 @@
<u-icon slot="right" name="arrow-right"></u-icon> --> <u-icon slot="right" name="arrow-right"></u-icon> -->
</u-form-item> </u-form-item>
<view> <view>
<u--textarea v-model="info.jobCompanyDescription" placeholder="请输入企业介绍" count height="100" maxlength="200"></u--textarea> <u--textarea v-model="info.jobCompanyDescription" placeholder="请输入企业介绍" count height="100"
maxlength="200"></u--textarea>
</view> </view>
<u-form-item label="联系人" prop="callName" borderBottom labelWidth="80" ref="item1"> <u-form-item label="联系人" prop="callName" borderBottom labelWidth="80" ref="item1">
<u--input v-model="info.callName" border="none" placeholder="请输入联系人"></u--input> <u--input v-model="info.callName" border="none" placeholder="请输入联系人"></u--input>
@@ -125,14 +128,14 @@
<!-- <u-picker :show="showNature" ref="naturePicker" :columns="natureColumns" <!-- <u-picker :show="showNature" ref="naturePicker" :columns="natureColumns"
@confirm="natureConfirm" @cancel="natureClose" @close="natureClose"> @confirm="natureConfirm" @cancel="natureClose" @close="natureClose">
</u-picker> --> </u-picker> -->
<u-picker :show="showAge" ref="agePicker" keyName="label" :columns="ageColumns" <u-picker :show="showAge" ref="agePicker" keyName="label" :columns="ageColumns" @confirm="ageConfirm"
@confirm="ageConfirm" @cancel="ageClose" @close="ageClose"> @cancel="ageClose" @close="ageClose">
</u-picker> </u-picker>
<u-picker :show="showEdu" ref="eduPicker" keyName="label" :columns="eduColumns" <u-picker :show="showEdu" ref="eduPicker" keyName="label" :columns="eduColumns" @confirm="eduConfirm"
@confirm="eduConfirm" @cancel="eduClose" @close="eduClose"> @cancel="eduClose" @close="eduClose">
</u-picker> </u-picker>
<u-picker :show="showExpe" ref="expePicker" keyName="label" :columns="expeColumns" <u-picker :show="showExpe" ref="expePicker" keyName="label" :columns="expeColumns" @confirm="expeConfirm"
@confirm="expeConfirm" @cancel="expeClose" @close="expeClose"> @cancel="expeClose" @close="expeClose">
</u-picker> </u-picker>
<u-datetime-picker :show="showStime" :value="birthday" mode="date" closeOnClickOverlay <u-datetime-picker :show="showStime" :value="birthday" mode="date" closeOnClickOverlay
@confirm="stimeConfirm" @cancel="stimeClose" @close="stimeClose"></u-datetime-picker> @confirm="stimeConfirm" @cancel="stimeClose" @close="stimeClose"></u-datetime-picker>
@@ -143,9 +146,9 @@
</template> </template>
<script> <script>
import dic from '@/common/dic.js' import dic from '@/common/dic.js'
import { submitInfo, getWorktypesBaseList } from '@/api/userrecruit.js' import { submitInfo, getWorktypesBaseList,findTradeList } from '@/api/userrecruit.js'
export default { export default {
data() { data() {
return { return {
latitude: 31.05, //中心点 latitude: 31.05, //中心点
@@ -214,7 +217,7 @@
wageColumns: dic.taskSalary, wageColumns: dic.taskSalary,
tradeColumns: dic.tradeArr, tradeColumns: dic.tradeArr,
skillColumns: [], skillColumns: [],
skillColumnsIndex: [0,0,0], skillColumnsIndex: [0, 0, 0],
natureColumns: dic.natureArr, natureColumns: dic.natureArr,
ageColumns: dic.ageArr, ageColumns: dic.ageArr,
eduColumns: dic.eduArr, eduColumns: dic.eduArr,
@@ -293,16 +296,32 @@
}, },
created() { created() {
this.getWorkTypes() this.getWorkTypes()
if(this.company) { if (this.company) {
const { companyTid, comname, manager, telphone, companyDesc } = this.company this.getDataInit()
}
},
methods: {
async getDataInit() {
const { companyTid, comname, manager, telphone, companyDesc, tradeId, nature } = this.company
this.info.jobCompanyScale = companyTid this.info.jobCompanyScale = companyTid
this.info.jobCompanyName = comname this.info.jobCompanyName = comname
this.info.callName = manager this.info.callName = manager
this.info.callTel = telphone this.info.callTel = telphone
this.info.jobCompanyDescription = companyDesc this.info.jobCompanyDescription = companyDesc
if (tradeId / 1 !== -1) {
const res = await findTradeList()
const tenantArray = res.data.data?.filter(item => item.id === tradeId)
if (tenantArray?.length === 0) return;
this.info.jobCompanyIndustry = tenantArray[0]?.name
}
if (nature / 1 !== -1) {
const tenantArray = dic.companyEnum?.filter(item => item.value === nature)
if (tenantArray?.length === 0) return;
this.info.jobCompanyNature = tenantArray[0]?.label
} }
}, },
methods: {
wageConfirm(e) { wageConfirm(e) {
const { const {
value value
@@ -435,8 +454,8 @@
// }).catch(errors => { // }).catch(errors => {
// uni.$u.toast('校验失败') // uni.$u.toast('校验失败')
// }) // })
const names = this.getSkilDataNameWhereId( this.skillColumnsIndex, true) const names = this.getSkilDataNameWhereId(this.skillColumnsIndex, true)
const ids = this.getSkilDataNameWhereId( this.skillColumnsIndex, false) const ids = this.getSkilDataNameWhereId(this.skillColumnsIndex, false)
this.info.jobType = 1 this.info.jobType = 1
let params = { let params = {
...this.info, ...this.info,
@@ -445,19 +464,19 @@
} }
let that = this let that = this
submitInfo(params).then(res => { submitInfo(params).then(res => {
if(res.data.code == 200) { if (res.data.code == 200) {
that.reset() that.reset()
uni.$u.toast('发布成功') uni.$u.toast('发布成功')
} }
}) })
}, },
getSkilDataNameWhereId(Indexs, type = true) { getSkilDataNameWhereId(Indexs, type = true) {
if(!this.skillData) {return} if (!this.skillData) { return }
const [ index1, index2, index3 ] = Indexs const [index1, index2, index3] = Indexs
const work1 = this.skillData[index1] const work1 = this.skillData[index1]
const work2 = work1.child[index2] const work2 = work1.child[index2]
const work3 = work2.child[index3] const work3 = work2.child[index3]
if(type) { if (type) {
return [work1.name, work2.name, work3.name] return [work1.name, work2.name, work3.name]
} else { } else {
return [work1.id, work2.id, work3.id] return [work1.id, work2.id, work3.id]
@@ -503,7 +522,7 @@
}, },
skillsChange(e) { skillsChange(e) {
const { columnIndex, index, picker = this.$refs.uPicker } = e const { columnIndex, index, picker = this.$refs.uPicker } = e
let [ index1, index2, index3 ] = this.skillColumnsIndex let [index1, index2, index3] = this.skillColumnsIndex
switch (columnIndex) { switch (columnIndex) {
case 0: case 0:
index1 = index; index1 = index;
@@ -524,8 +543,8 @@
this.skillColumnsIndex = Indexs this.skillColumnsIndex = Indexs
}, },
async getWorkTypes() { async getWorkTypes() {
let resData = await getWorktypesBaseList({type: 2}) let resData = await getWorktypesBaseList({ type: 2 })
if(resData.data.code === 200) { if (resData.data.code === 200) {
const { data } = resData.data const { data } = resData.data
const arr = [] const arr = []
// 1、 空间换时间策略/user/userrecruit/saveApp // 1、 空间换时间策略/user/userrecruit/saveApp
@@ -538,7 +557,7 @@
} }
} }
} }
} }
</script> </script>
<style> <style>
@@ -546,5 +565,5 @@
width: 100%; width: 100%;
height: 350rpx; height: 350rpx;
margin-top: 30rpx; margin-top: 30rpx;
} }
</style> </style>