|
|
@ -1,108 +1,151 @@ |
|
|
|
<template> |
|
|
|
<view class="page"> |
|
|
|
<navbar title="发布优质出行" leftClick @leftClick="$utils.navigateBack" /> |
|
|
|
<navbar title="发布" leftClick @leftClick="$utils.navigateBack" /> |
|
|
|
|
|
|
|
<view class="form"> |
|
|
|
<view class="help-issue"> |
|
|
|
<text>出行标题</text> |
|
|
|
<text style="color: #BD3624;">*</text> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<input type="text" |
|
|
|
v-model="form.title" |
|
|
|
class="title-input"/> |
|
|
|
<view class="label"> |
|
|
|
师傅头像 |
|
|
|
</view> |
|
|
|
<view class="images box"> |
|
|
|
<uv-upload |
|
|
|
:fileList="imageTitle" |
|
|
|
:maxCount="1" |
|
|
|
multiple |
|
|
|
width="150rpx" |
|
|
|
height="150rpx" |
|
|
|
name="imageTitle" |
|
|
|
@delete="deleteImage" |
|
|
|
@afterRead="afterRead" |
|
|
|
:previewFullImage="true"></uv-upload> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<uv-cell |
|
|
|
title="工作地点" |
|
|
|
rightIconStyle="fontSize: 30rpx;" |
|
|
|
:value="form.address || '请选择招工地点'" |
|
|
|
@click="selectAddr" |
|
|
|
isLink |
|
|
|
></uv-cell> |
|
|
|
|
|
|
|
|
|
|
|
<uv-cell |
|
|
|
title="工龄要求" |
|
|
|
rightIconStyle="fontSize: 30rpx;" |
|
|
|
:value="form.workYear || '请选择工龄要求'" |
|
|
|
@click="openPicker('workYear')" |
|
|
|
isLink |
|
|
|
></uv-cell> |
|
|
|
|
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
师傅名称 |
|
|
|
</view> |
|
|
|
<input placeholder="请输入师傅名称" v-model="form.title" /> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
招聘公司 |
|
|
|
起点 |
|
|
|
</view> |
|
|
|
<input placeholder="请输入招聘公司" v-model="form.company" /> |
|
|
|
<input placeholder="请输入起点" v-model="form.startAddress" /> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
薪资范围 |
|
|
|
终点 |
|
|
|
</view> |
|
|
|
<input placeholder="请输入终点" v-model="form.endAddress" /> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="form-sheet-cell" |
|
|
|
@click="$refs.datetimePicker.open()"> |
|
|
|
<view class="label"> |
|
|
|
出发时间 |
|
|
|
</view> |
|
|
|
<input placeholder="请输入薪资范围" v-model="form.minPrice" /> |
|
|
|
<input placeholder="请选择出发时间" |
|
|
|
disabled |
|
|
|
v-model="form.startTime" /> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
标签 |
|
|
|
车辆座位 |
|
|
|
</view> |
|
|
|
<input placeholder="请输入标签(多个用,号分割)" v-model="form.iconText" /> |
|
|
|
<!-- <input placeholder="请输入车辆座位" v-model="form.num" /> --> |
|
|
|
<uv-number-box v-model="form.num"></uv-number-box> |
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
联系人 |
|
|
|
师傅电话 |
|
|
|
</view> |
|
|
|
<input placeholder="请输入联系人" v-model="form.userName" /> |
|
|
|
<input placeholder="请输入师傅电话" v-model="form.phone" /> |
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<!-- <view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
网约证书 |
|
|
|
</view> |
|
|
|
<view class="images box"> |
|
|
|
<uv-upload |
|
|
|
:fileList="titleDetails" |
|
|
|
:maxCount="1" |
|
|
|
multiple |
|
|
|
width="150rpx" |
|
|
|
height="150rpx" |
|
|
|
name="titleDetails" |
|
|
|
@delete="deleteImage" |
|
|
|
@afterRead="afterRead" |
|
|
|
:previewFullImage="true"></uv-upload> |
|
|
|
</view> |
|
|
|
</view> --> |
|
|
|
|
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
联系电话 |
|
|
|
车型 |
|
|
|
</view> |
|
|
|
<input placeholder="请输入联系电话" v-model="form.userPhone" /> |
|
|
|
<input placeholder="请输入车型" v-model="form.catType" /> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
车牌号 |
|
|
|
</view> |
|
|
|
<input placeholder="请输入车牌号" v-model="form.catNo" /> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="category"> |
|
|
|
<view class="title"> |
|
|
|
选择地区 |
|
|
|
<view class="form-sheet-cell"> |
|
|
|
<view class="label"> |
|
|
|
车辆照片与网约证书 |
|
|
|
</view> |
|
|
|
<view class="tagList"> |
|
|
|
<view |
|
|
|
:class="{act : t.id == form.addId}" |
|
|
|
@click="form.addId = t.id" |
|
|
|
v-for="(t, i) in cityList" |
|
|
|
:key="i"> |
|
|
|
{{ t.name }} |
|
|
|
</view> |
|
|
|
<view class="images box"> |
|
|
|
<uv-upload |
|
|
|
:fileList="catImage" |
|
|
|
:maxCount="2" |
|
|
|
multiple |
|
|
|
width="150rpx" |
|
|
|
height="150rpx" |
|
|
|
name="catImage" |
|
|
|
@delete="deleteImage" |
|
|
|
@afterRead="afterRead" |
|
|
|
:previewFullImage="true"></uv-upload> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="" |
|
|
|
style="margin-top: 20rpx;"> |
|
|
|
<view class="content-input"> |
|
|
|
<uv-textarea |
|
|
|
v-model="form.jobDetails" |
|
|
|
count |
|
|
|
:maxlength="300" |
|
|
|
v-model="form.titleDetails" |
|
|
|
:maxlength="200" |
|
|
|
autoHeight |
|
|
|
placeholder="请输入岗位详细介绍"></uv-textarea> |
|
|
|
count |
|
|
|
style="min-height: 400rpx;" |
|
|
|
placeholder="途径地点说明"></uv-textarea> |
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<view class="uni-color-btn" |
|
|
|
@click="submit"> |
|
|
|
发布 |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<uv-datetime-picker |
|
|
|
ref="datetimePicker" |
|
|
|
v-model="dateTime" |
|
|
|
mode="datetime" |
|
|
|
@confirm="confirmTime"> |
|
|
|
</uv-datetime-picker> |
|
|
|
|
|
|
|
|
|
|
|
<uv-picker ref="picker" |
|
|
|
:columns="columns" |
|
|
|
@confirm="pickerConfirm"></uv-picker> |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
@ -112,108 +155,59 @@ |
|
|
|
export default { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
imageTitle : [],//师傅头像 |
|
|
|
titleDetails : [],//网约证书 |
|
|
|
catImage : [],//车辆照片 |
|
|
|
form : { |
|
|
|
school : '', |
|
|
|
workYear : '', |
|
|
|
minPrice : '', |
|
|
|
maxPrice : '', |
|
|
|
address : '', |
|
|
|
addId : '', |
|
|
|
company : '', |
|
|
|
gsContext : '', |
|
|
|
jobContext : '', |
|
|
|
}, |
|
|
|
radiovalue : '', |
|
|
|
priceList : [ |
|
|
|
{ |
|
|
|
name : '日结', |
|
|
|
}, |
|
|
|
{ |
|
|
|
name : '月结', |
|
|
|
}, |
|
|
|
], |
|
|
|
jopList : [ |
|
|
|
{ |
|
|
|
name : '正式工', |
|
|
|
}, |
|
|
|
{ |
|
|
|
name : '临时工', |
|
|
|
}, |
|
|
|
], |
|
|
|
picker : { |
|
|
|
workYear : [ |
|
|
|
'不限', |
|
|
|
], |
|
|
|
school : [ |
|
|
|
'不限', |
|
|
|
'初中', |
|
|
|
'高中', |
|
|
|
'专科', |
|
|
|
'本科', |
|
|
|
'研究生', |
|
|
|
'博士', |
|
|
|
], |
|
|
|
num : 2, |
|
|
|
startTime : '', |
|
|
|
}, |
|
|
|
pickerKey : 'workYear', |
|
|
|
dateTime : new Date().getTime(), |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad() { |
|
|
|
for (var i = 0; i < 30; i++) { |
|
|
|
this.picker.workYear.push((i + 1) + '年') |
|
|
|
} |
|
|
|
this.form.addId = this.cityList[0].id |
|
|
|
}, |
|
|
|
computed : { |
|
|
|
columns(){ |
|
|
|
return [this.picker[this.pickerKey]] |
|
|
|
}, |
|
|
|
...mapState(['cityList', 'category']), |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
openPicker(key){ |
|
|
|
this.pickerKey = key |
|
|
|
this.$refs.picker.open() |
|
|
|
}, |
|
|
|
pickerConfirm(e){ |
|
|
|
this.form[this.pickerKey] = e.value[0] |
|
|
|
deleteImage(e){ |
|
|
|
this[e.name].splice(e.index, 1) |
|
|
|
}, |
|
|
|
//地图上选择地址 |
|
|
|
selectAddr() { |
|
|
|
Position.selectAddress(res => { |
|
|
|
//经纬度信息 |
|
|
|
this.form.latitude = res.latitude |
|
|
|
this.form.longitude = res.longitude |
|
|
|
if (res.name) { |
|
|
|
return this.form.address = res.name |
|
|
|
} |
|
|
|
this.form.address = '' |
|
|
|
afterRead(e){ |
|
|
|
let self = this |
|
|
|
e.file.forEach(file => { |
|
|
|
self.$Oss.ossUpload(file.url).then(url => { |
|
|
|
self[e.name].push({ |
|
|
|
url |
|
|
|
}) |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 提交 |
|
|
|
submit(){ |
|
|
|
|
|
|
|
// if(this.fileList.length == 0){ |
|
|
|
// return uni.showToast({ |
|
|
|
// title: '请上传图片', |
|
|
|
// icon : 'none' |
|
|
|
// }) |
|
|
|
// } |
|
|
|
this.form.imageTitle = this.imageTitle.map(n => n.url).join(',') |
|
|
|
this.form.catImage = this.catImage.map(n => n.url).join(',') |
|
|
|
|
|
|
|
if (this.$utils.verificationAll(this.form, { |
|
|
|
title: '请输入招工标题', |
|
|
|
address : '请选择工作地点', |
|
|
|
workYear : '请选择工龄要求', |
|
|
|
company : '请输入招聘公司', |
|
|
|
minPrice : '请输入薪资范围', |
|
|
|
iconText: '请输入标签', |
|
|
|
userName: '请输入联系人', |
|
|
|
userPhone: '请输入联系电话', |
|
|
|
jobDetails: '请输入岗位详细介绍', |
|
|
|
imageTitle: '请上传师傅头像', |
|
|
|
title : '请输入师傅名称', |
|
|
|
startAddress : '请输入起点', |
|
|
|
endAddress : '请输入终点', |
|
|
|
startTime : '请选择出发时间', |
|
|
|
num : '请选择车辆座位', |
|
|
|
phone : '请输入师傅电话', |
|
|
|
catType : '请输入车型', |
|
|
|
catNo : '请输入车牌号', |
|
|
|
catImage : '请上传车辆照片与网约证书', |
|
|
|
titleDetails : '请输入途径地点说明', |
|
|
|
})) { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
this.$api('publishJob', this.form, res => { |
|
|
|
|
|
|
|
this.$api('publishCar', this.form, res => { |
|
|
|
if(res.code == 200){ |
|
|
|
uni.showToast({ |
|
|
|
title: '发布成功!', |
|
|
@ -224,7 +218,9 @@ |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
confirmTime(e){ |
|
|
|
this.form.startTime = this.$dayjs(e.value).format('YYYY-MM-DD HH:mm:ss') |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|