|
|
@ -9,9 +9,18 @@ |
|
|
|
<text style="color: #BD3624;">*</text> |
|
|
|
</view> |
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<input type="text" class="title-input"/> |
|
|
|
<input type="text" class="title-input" |
|
|
|
v-model="form.title"/> |
|
|
|
</view> |
|
|
|
|
|
|
|
<uv-cell |
|
|
|
title="所在城市" |
|
|
|
rightIconStyle="fontSize: 30rpx;" |
|
|
|
:value="form.areaId_dictText || '请选择所在城市'" |
|
|
|
@click="openPicker('areaId',$refs.addressListPicker)" |
|
|
|
isLink |
|
|
|
></uv-cell> |
|
|
|
|
|
|
|
<uv-cell |
|
|
|
title="工作地点" |
|
|
|
rightIconStyle="fontSize: 30rpx;" |
|
|
@ -22,16 +31,24 @@ |
|
|
|
<uv-cell |
|
|
|
title="所属工种" |
|
|
|
rightIconStyle="fontSize: 30rpx;" |
|
|
|
:value="form.workYear || '请选择所属工种'" |
|
|
|
@click="openPicker('workYear')" |
|
|
|
:value="form.typeId_dictText || '请选择所属工种'" |
|
|
|
@click="openPicker('typeId',$refs.jobTypeListPicker)" |
|
|
|
isLink |
|
|
|
></uv-cell> |
|
|
|
|
|
|
|
<uv-cell |
|
|
|
title="工龄要求" |
|
|
|
rightIconStyle="fontSize: 30rpx;" |
|
|
|
:value="form.workYear || '请选择工龄要求'" |
|
|
|
@click="openPicker('workYear')" |
|
|
|
:value="form.workAge || '请选择工龄要求'" |
|
|
|
@click="openPicker('workAge')" |
|
|
|
isLink |
|
|
|
></uv-cell> |
|
|
|
|
|
|
|
<uv-cell |
|
|
|
title="学历要求" |
|
|
|
rightIconStyle="fontSize: 30rpx;" |
|
|
|
:value="form.qulification || '请选择学历要求'" |
|
|
|
@click="openPicker('qulification')" |
|
|
|
isLink |
|
|
|
></uv-cell> |
|
|
|
|
|
|
@ -92,12 +109,12 @@ |
|
|
|
薪资范围 |
|
|
|
</view> |
|
|
|
<view class="price"> |
|
|
|
<input placeholder="最小值" v-model="form.min" /> |
|
|
|
<input placeholder="最小值" v-model="form.salaryLow" /> |
|
|
|
~ |
|
|
|
<input placeholder="最大值" v-model="form.max" /> |
|
|
|
<input placeholder="最大值" v-model="form.salaryUp" /> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<!-- <view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
结算方式 |
|
|
|
</view> |
|
|
@ -115,7 +132,7 @@ |
|
|
|
</uv-radio> |
|
|
|
</view> |
|
|
|
</uv-radio-group> |
|
|
|
</view> |
|
|
|
</view> --> |
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
工作性质 |
|
|
@ -143,18 +160,29 @@ |
|
|
|
</view> |
|
|
|
<view class=""> |
|
|
|
<uv-textarea |
|
|
|
v-model="form.content" |
|
|
|
v-model="form.workDetail" |
|
|
|
count |
|
|
|
:maxlength="300" |
|
|
|
autoHeight |
|
|
|
placeholder="请输入详细介绍"></uv-textarea> |
|
|
|
placeholder="请输入职位详情"></uv-textarea> |
|
|
|
</view> |
|
|
|
|
|
|
|
<uv-picker ref="picker" |
|
|
|
:columns="columns" |
|
|
|
@confirm="pickerConfirm"></uv-picker> |
|
|
|
|
|
|
|
<view class="uni-color-btn"> |
|
|
|
<uv-picker ref="jobTypeListPicker" |
|
|
|
:columns="[jobTypeList]" |
|
|
|
keyName="name" |
|
|
|
@confirm="pickerConfirm"></uv-picker> |
|
|
|
|
|
|
|
<uv-picker ref="addressListPicker" |
|
|
|
:columns="[addressList]" |
|
|
|
keyName="adress" |
|
|
|
@confirm="pickerConfirm"></uv-picker> |
|
|
|
|
|
|
|
<view class="uni-color-btn" |
|
|
|
@click="submit"> |
|
|
|
发布 |
|
|
|
</view> |
|
|
|
</view> |
|
|
@ -167,16 +195,14 @@ |
|
|
|
data() { |
|
|
|
return { |
|
|
|
form : { |
|
|
|
// school : '', |
|
|
|
// workYear : '', |
|
|
|
// minPrice : '', |
|
|
|
// maxPrice : '', |
|
|
|
// address : '', |
|
|
|
// addId : '', |
|
|
|
// company : '', |
|
|
|
// gsContext : '', |
|
|
|
// jobContext : '', |
|
|
|
phone : '', |
|
|
|
title : '', |
|
|
|
workAge : '', |
|
|
|
natureId : 0, |
|
|
|
areaId_dictText : '', |
|
|
|
typeId_dictText : '', |
|
|
|
qulification : '', |
|
|
|
}, |
|
|
|
radiovalue : '', |
|
|
|
priceList : [ |
|
|
@ -188,11 +214,11 @@ |
|
|
|
}, |
|
|
|
], |
|
|
|
picker : { |
|
|
|
workYear : [ |
|
|
|
workAge : [ |
|
|
|
'不限经验', |
|
|
|
], |
|
|
|
school : [ |
|
|
|
'不限', |
|
|
|
qulification : [ |
|
|
|
'不限学历', |
|
|
|
'初中', |
|
|
|
'高中', |
|
|
|
'专科', |
|
|
@ -200,13 +226,14 @@ |
|
|
|
'研究生', |
|
|
|
'博士', |
|
|
|
], |
|
|
|
jobTypeList : [], |
|
|
|
}, |
|
|
|
pickerKey : 'workYear', |
|
|
|
pickerKey : 'workAge', |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad() { |
|
|
|
for (var i = 0; i < 30; i++) { |
|
|
|
this.picker.workYear.push((i + 1) + '年经验') |
|
|
|
this.picker.workAge.push((i + 1) + '年经验') |
|
|
|
} |
|
|
|
// this.form.addId = this.cityList[0].id |
|
|
|
this.form.natureId = this.natureList[0].id |
|
|
@ -215,15 +242,25 @@ |
|
|
|
columns(){ |
|
|
|
return [this.picker[this.pickerKey]] |
|
|
|
}, |
|
|
|
...mapState(['natureList']), |
|
|
|
...mapState(['natureList', 'jobTypeList', 'addressList']), |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
openPicker(key){ |
|
|
|
openPicker(key, picker){ |
|
|
|
this.pickerKey = key |
|
|
|
this.$refs.picker.open() |
|
|
|
if(picker){ |
|
|
|
picker.open() |
|
|
|
}else{ |
|
|
|
this.$refs.picker.open() |
|
|
|
} |
|
|
|
}, |
|
|
|
pickerConfirm(e){ |
|
|
|
this.form[this.pickerKey] = e.value[0] |
|
|
|
let data = e.value[0] |
|
|
|
if(data && data.id){ |
|
|
|
this.form[this.pickerKey] = data.id |
|
|
|
this.form[this.pickerKey + '_dictText'] = data.name || data.adress |
|
|
|
}else{ |
|
|
|
this.form[this.pickerKey] = data |
|
|
|
} |
|
|
|
}, |
|
|
|
// 提交 |
|
|
|
submit(){ |
|
|
@ -237,22 +274,23 @@ |
|
|
|
|
|
|
|
if (this.$utils.verificationAll(this.form, { |
|
|
|
title: '请输入招工标题', |
|
|
|
address : '请选择工作地点', |
|
|
|
workYear : '请选择工龄要求', |
|
|
|
company : '请输入招聘公司', |
|
|
|
minPrice : '请输入薪资范围', |
|
|
|
iconText: '请输入标签', |
|
|
|
userName: '请输入联系人', |
|
|
|
userPhone: '请输入联系电话', |
|
|
|
jobContext : '请输入职位描述', |
|
|
|
school : '请输入岗位要求', |
|
|
|
jobDetails: '请输入岗位详细介绍', |
|
|
|
gsContext : '请输入公司介绍', |
|
|
|
// address : '请选择工作地点', |
|
|
|
workAge : '请选择工龄要求', |
|
|
|
// company : '请输入招聘公司', |
|
|
|
salaryLow : '请输入薪资范围', |
|
|
|
salaryUp : '请输入薪资范围', |
|
|
|
// iconText: '请输入标签', |
|
|
|
// userName: '请输入联系人', |
|
|
|
phone: '请输入联系电话', |
|
|
|
// jobContext : '请输入职位描述', |
|
|
|
qulification : '请选择学历要求', |
|
|
|
workDetail: '请输入职位详情', |
|
|
|
// gsContext : '请输入公司介绍', |
|
|
|
})) { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
this.$api('publishJob', this.form, res => { |
|
|
|
this.$api('addJob', this.form, res => { |
|
|
|
if(res.code == 200){ |
|
|
|
uni.showToast({ |
|
|
|
title: '发布成功!', |
|
|
@ -264,6 +302,33 @@ |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
//地图上选择地址 |
|
|
|
selectAddr() { |
|
|
|
uni.chooseLocation({ |
|
|
|
success: (res) => { |
|
|
|
this.setAddress(res) |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
//提取用户选择的地址信息复制给表单数据 |
|
|
|
setAddress(res) { |
|
|
|
|
|
|
|
//经纬度信息 |
|
|
|
this.form.latitude = res.latitude |
|
|
|
this.form.longitude = res.longitude |
|
|
|
|
|
|
|
// if (res.name) { //用户直接选择城市的逻辑 |
|
|
|
if (!res.address && res.name) { //用户直接选择城市的逻辑 |
|
|
|
return this.form.address = res.name |
|
|
|
} |
|
|
|
if (res.address || res.name) { |
|
|
|
return this.form.address = res.address + res.name |
|
|
|
} |
|
|
|
this.form.address = '' //用户啥都没选就点击勾选 |
|
|
|
this.form.latitude = '' |
|
|
|
this.form.longitude = '' |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
@ -313,5 +378,10 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/deep/ .uv-textarea{ |
|
|
|
background-color: rgba($uni-color, 0.1) !important; |
|
|
|
min-height: 400rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |