|
|
@ -3,16 +3,17 @@ |
|
|
|
<u--form labelPosition="left" :model="form" :rules="rules" ref="uForm" labelWidth="80"> |
|
|
|
<view class="se-p-20"> |
|
|
|
<view class="se-px-20 se-bgc-white se-br-10 se-fs-20"> |
|
|
|
<!-- @click="showPicker=true" --> |
|
|
|
<!-- @click="showPicker=true" --> |
|
|
|
<u-form-item label="请选择地址" class="se-b-b" prop="area" @click="handleAreaChange()"> |
|
|
|
<u--input readonly v-model="form.area" placeholder="请选择地址" border="none"></u--input> |
|
|
|
<u-icon slot="right" name="arrow-right" ></u-icon> |
|
|
|
<u--input readonly v-model="form.area" placeholder="请选择地址" border="none"></u--input> |
|
|
|
<u-icon slot="right" name="arrow-right"></u-icon> |
|
|
|
</u-form-item> |
|
|
|
<!-- <u-form-item label="详细地址" prop="address"> |
|
|
|
<u--textarea v-model="form.address" count placeholder="请输入详细地址"></u--textarea> |
|
|
|
</u-form-item> --> |
|
|
|
<u-form-item label="所属行业" class="se-b-b" prop="industry" @click="handleindustryChange()"> |
|
|
|
<u--input @click="handleindustryChange" readonly v-model="form.industry" placeholder="请选择行业" border="none"></u--input> |
|
|
|
<u--input @click="handleindustryChange" readonly v-model="form.industry" placeholder="请选择行业" |
|
|
|
border="none"></u--input> |
|
|
|
<u-icon @click="handleindustryChange" slot="right" name="arrow-right"></u-icon> |
|
|
|
</u-form-item> |
|
|
|
<u-form-item label="所属工种" class="se-b-b" prop="type" @click="handleTypeChange"> |
|
|
@ -25,29 +26,34 @@ |
|
|
|
border="none"></u--input> |
|
|
|
<u-icon slot="right" name="arrow-right"></u-icon> |
|
|
|
</u-form-item> --> |
|
|
|
<u-form-item label="出行方式" labelPosition="top" prop="travel"> |
|
|
|
<u-form-item label="出行方式" labelPosition="top" prop="travel"> |
|
|
|
<view class="se-flex se-flex-ai-c se-flex-ff-rw se-pt-10"> |
|
|
|
<view class="se-py-10 se-px-30 se-fs-22 se-br-10 se-mr-15 se-mt-10" :class="item.select ? 'se-bgc-orange se-c-white se-b-orange' : 'se-b se-c-text'" @click="handleIntellect(index)" v-for="(item,index) in travelList" :key="index"> |
|
|
|
<view class="se-py-10 se-px-30 se-fs-22 se-br-10 se-mr-15 se-mt-10" |
|
|
|
:class="item.select ? 'se-bgc-orange se-c-white se-b-orange' : 'se-b se-c-text'" |
|
|
|
@click="handleIntellect(index)" v-for="(item,index) in travelList" :key="index"> |
|
|
|
{{item.text}} |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</u-form-item> |
|
|
|
<u-form-item label="结算方式" prop="settlement"> |
|
|
|
<u-radio-group v-model="form.settlement" placement="row"> |
|
|
|
<u-radio activeColor="#FF7A31" name="1" label="直接支付日薪"></u-radio> |
|
|
|
<u-radio activeColor="#FF7A31" class="se-ml-20" name="2" label="试用以后支付"></u-radio> |
|
|
|
<u-radio-group v-model="form.settlement" placement="row"> |
|
|
|
<u-radio activeColor="#FF7A31" name="0" label="直接支付日薪"></u-radio> |
|
|
|
<u-radio activeColor="#FF7A31" class="se-ml-20" name="1" label="试用以后支付"></u-radio> |
|
|
|
</u-radio-group> |
|
|
|
</u-form-item> |
|
|
|
<u-form-item label="薪资区间" prop="salary"> |
|
|
|
<view class="se-flex se-flex-h-c"> |
|
|
|
<u--input v-model="form.salaryMin" type="number" class="se-w-200" placeholder="最小值"></u--input> |
|
|
|
<u--input v-model="form.salaryMin" type="number" class="se-w-200" |
|
|
|
placeholder="最小值"></u--input> |
|
|
|
<text class="se-mx-10">~</text> |
|
|
|
<u--input v-model="form.salaryMax" type="number" class="se-w-200" placeholder="最大值"></u--input> |
|
|
|
<u--input v-model="form.salaryMax" type="number" class="se-w-200" |
|
|
|
placeholder="最大值"></u--input> |
|
|
|
</view> |
|
|
|
</u-form-item> |
|
|
|
<u-form-item label="日薪" prop="dailywage"> |
|
|
|
<view class="se-flex se-flex-h-c"> |
|
|
|
<u--input v-model="form.dailywage" type="number" class="se-w-200" placeholder="固定值"></u--input> |
|
|
|
<u--input v-model="form.dailywage" type="number" class="se-w-200" |
|
|
|
placeholder="固定值"></u--input> |
|
|
|
</view> |
|
|
|
</u-form-item> |
|
|
|
<!-- <u-form-item label="时间" prop="date"> |
|
|
@ -61,12 +67,11 @@ |
|
|
|
<u--input v-model="form.mobile" placeholder="请输入联系方式"></u--input> |
|
|
|
</u-form-item> --> |
|
|
|
<u-form-item label="工作内容" prop="introduce"> |
|
|
|
<u--textarea v-model="form.introduce" count |
|
|
|
placeholder="请选择工作内容"></u--textarea> |
|
|
|
<u--textarea v-model="form.introduce" count placeholder="请选择工作内容"></u--textarea> |
|
|
|
</u-form-item> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<view class="se-px-20 se-pt-20"> |
|
|
|
<view class="se-px-20 se-pb-80 se-fs-20 se-flex"> |
|
|
|
<view @click="submit" |
|
|
@ -77,133 +82,129 @@ |
|
|
|
</view> |
|
|
|
</u--form> |
|
|
|
<!-- 行业 --> |
|
|
|
<u-action-sheet :show="showIndustry" :actions="industryList" title="请选择行业" @close="showIndustry = false" @select="industrySelect"> |
|
|
|
<u-action-sheet :show="showIndustry" :actions="industryList" title="请选择行业" @close="showIndustry = false" |
|
|
|
@select="industrySelect"> |
|
|
|
</u-action-sheet> |
|
|
|
<!-- 种类 --> |
|
|
|
<u-action-sheet :show="showType" :actions="typeList" title="请选择种类" @close="showType = false" @select="typeSelect"> |
|
|
|
<u-action-sheet :show="showType" :actions="typeList" title="请选择种类" @close="showType = false" |
|
|
|
@select="typeSelect"> |
|
|
|
</u-action-sheet> |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import QQMapWX from "@/util/qqmap-wx-jssdk.min.js" |
|
|
|
import { industryById,industryList } from "@/common/api.js" |
|
|
|
import { |
|
|
|
industryById, |
|
|
|
industryList, |
|
|
|
addTask2 |
|
|
|
} from "@/common/api.js" |
|
|
|
export default { |
|
|
|
components:{ |
|
|
|
|
|
|
|
components: { |
|
|
|
|
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
show:false, |
|
|
|
show: false, |
|
|
|
showPicker: false, |
|
|
|
showIndustry: false, |
|
|
|
industryList: [], |
|
|
|
showType: false, |
|
|
|
typeList: [], |
|
|
|
travelList:[ |
|
|
|
{ |
|
|
|
text:"出租车", |
|
|
|
value:"all", |
|
|
|
select:true |
|
|
|
travelList: [{ |
|
|
|
text: "出租车", |
|
|
|
value: "all", |
|
|
|
select: true |
|
|
|
}, |
|
|
|
{ |
|
|
|
text:"网约车", |
|
|
|
value:"all", |
|
|
|
select:false |
|
|
|
text: "网约车", |
|
|
|
value: "all", |
|
|
|
select: false |
|
|
|
}, |
|
|
|
{ |
|
|
|
text:"公交/地铁", |
|
|
|
value:"all", |
|
|
|
select:false |
|
|
|
text: "公交/地铁", |
|
|
|
value: "all", |
|
|
|
select: false |
|
|
|
}, |
|
|
|
{ |
|
|
|
text:"无", |
|
|
|
value:"all", |
|
|
|
select:false |
|
|
|
text: "无", |
|
|
|
value: "all", |
|
|
|
select: false |
|
|
|
} |
|
|
|
], |
|
|
|
dates:[ |
|
|
|
['2024','2025','2026','2027','2028'], |
|
|
|
['01','02','03','04','05','06','07','08','09','10','11','12'], |
|
|
|
['01','02','03','04','05','06','07','08','09','10','11','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30'], |
|
|
|
dates: [ |
|
|
|
['2024', '2025', '2026', '2027', '2028'], |
|
|
|
['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'], |
|
|
|
['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '13', '14', '15', '16', '17', |
|
|
|
'18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30' |
|
|
|
], |
|
|
|
], |
|
|
|
form: { |
|
|
|
title:"", |
|
|
|
area:'', |
|
|
|
address:'', |
|
|
|
industryId:"", |
|
|
|
industry:"", |
|
|
|
settlement:1, |
|
|
|
date:"", |
|
|
|
dateMin:"", |
|
|
|
dateMax:"", |
|
|
|
title: "", |
|
|
|
area: '', |
|
|
|
address: '', |
|
|
|
industryId: "", |
|
|
|
industry: "", |
|
|
|
settlement: 1, |
|
|
|
date: "", |
|
|
|
dateMin: "", |
|
|
|
dateMax: "", |
|
|
|
mobile: '', |
|
|
|
typeId:"", |
|
|
|
typeId: "", |
|
|
|
type: '', |
|
|
|
salary:'', |
|
|
|
salary: '', |
|
|
|
salaryMin: '', |
|
|
|
salaryMax: '', |
|
|
|
dailywage:'', |
|
|
|
dailywage: '', |
|
|
|
introduce: '', |
|
|
|
longitude:'', |
|
|
|
latitude:'' |
|
|
|
longitude: '', |
|
|
|
latitude: '' |
|
|
|
}, |
|
|
|
rules: { |
|
|
|
title:[ |
|
|
|
{ |
|
|
|
type: 'string', |
|
|
|
required: true, |
|
|
|
message: '请在此输入标题', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
} |
|
|
|
], |
|
|
|
area:[ |
|
|
|
{ |
|
|
|
type: 'string', |
|
|
|
required: true, |
|
|
|
message: '请选择地址', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
} |
|
|
|
], |
|
|
|
address:[ |
|
|
|
{ |
|
|
|
type: 'string', |
|
|
|
required: true, |
|
|
|
message: '请填写详细地址', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
} |
|
|
|
], |
|
|
|
industry:[ |
|
|
|
{ |
|
|
|
type: 'string', |
|
|
|
required: true, |
|
|
|
message: '请选择行业', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
} |
|
|
|
], |
|
|
|
settlement:[ |
|
|
|
{ |
|
|
|
type: 'string', |
|
|
|
title: [{ |
|
|
|
type: 'string', |
|
|
|
required: true, |
|
|
|
message: '请在此输入标题', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
}], |
|
|
|
area: [{ |
|
|
|
type: 'string', |
|
|
|
required: true, |
|
|
|
message: '请选择地址', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
}], |
|
|
|
address: [{ |
|
|
|
type: 'string', |
|
|
|
required: true, |
|
|
|
message: '请填写详细地址', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
}], |
|
|
|
industry: [{ |
|
|
|
type: 'string', |
|
|
|
required: true, |
|
|
|
message: '请选择行业', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
}], |
|
|
|
settlement: [{ |
|
|
|
type: 'string', |
|
|
|
required: true, |
|
|
|
message: '请选择结算方式', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
}], |
|
|
|
mobile: [{ |
|
|
|
required: true, |
|
|
|
message: '请选择结算方式', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
} |
|
|
|
], |
|
|
|
mobile: [ |
|
|
|
{ |
|
|
|
required: true, |
|
|
|
message: '请输入手机号', |
|
|
|
trigger: ['change','blur'], |
|
|
|
trigger: ['change', 'blur'], |
|
|
|
}, |
|
|
|
{ |
|
|
|
validator: (rule, value, callback) => { |
|
|
|
return uni.$u.test.mobile(value); |
|
|
|
}, |
|
|
|
message: '手机号码不正确', |
|
|
|
trigger: ['change','blur'], |
|
|
|
trigger: ['change', 'blur'], |
|
|
|
}, |
|
|
|
], |
|
|
|
|
|
|
|
|
|
|
|
date: [{ |
|
|
|
type: 'string', |
|
|
|
max: 1, |
|
|
@ -223,83 +224,83 @@ |
|
|
|
message: '请输入工作内容', |
|
|
|
trigger: ['blur', 'change'] |
|
|
|
}], |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
} |
|
|
|
}, |
|
|
|
watch: { |
|
|
|
'form.salaryMin': { |
|
|
|
handler(newVal, oldVal) { |
|
|
|
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMax)) { |
|
|
|
this.form.salary = '有' |
|
|
|
} else { |
|
|
|
this.form.salary = '' |
|
|
|
} |
|
|
|
}, |
|
|
|
immediate: true |
|
|
|
handler(newVal, oldVal) { |
|
|
|
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMax)) { |
|
|
|
this.form.salary = '有' |
|
|
|
} else { |
|
|
|
this.form.salary = '' |
|
|
|
} |
|
|
|
}, |
|
|
|
immediate: true |
|
|
|
}, |
|
|
|
'form.salaryMax': { |
|
|
|
handler(newVal, oldVal) { |
|
|
|
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMin)) { |
|
|
|
this.form.salary = '有' |
|
|
|
} else { |
|
|
|
this.form.salary = '' |
|
|
|
} |
|
|
|
}, |
|
|
|
immediate: true |
|
|
|
handler(newVal, oldVal) { |
|
|
|
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.salaryMin)) { |
|
|
|
this.form.salary = '有' |
|
|
|
} else { |
|
|
|
this.form.salary = '' |
|
|
|
} |
|
|
|
}, |
|
|
|
immediate: true |
|
|
|
}, |
|
|
|
'form.dateMin': { |
|
|
|
handler(newVal, oldVal) { |
|
|
|
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMax)) { |
|
|
|
this.form.date = '有' |
|
|
|
} else { |
|
|
|
this.form.date = '' |
|
|
|
} |
|
|
|
}, |
|
|
|
immediate: true |
|
|
|
handler(newVal, oldVal) { |
|
|
|
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMax)) { |
|
|
|
this.form.date = '有' |
|
|
|
} else { |
|
|
|
this.form.date = '' |
|
|
|
} |
|
|
|
}, |
|
|
|
immediate: true |
|
|
|
}, |
|
|
|
'form.dateMax': { |
|
|
|
handler(newVal, oldVal) { |
|
|
|
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMin)) { |
|
|
|
this.form.date = '有' |
|
|
|
} else { |
|
|
|
this.form.date = '' |
|
|
|
} |
|
|
|
}, |
|
|
|
immediate: true |
|
|
|
handler(newVal, oldVal) { |
|
|
|
if (!uni.$u.test.isEmpty(newVal) && !uni.$u.test.isEmpty(this.form.dateMin)) { |
|
|
|
this.form.date = '有' |
|
|
|
} else { |
|
|
|
this.form.date = '' |
|
|
|
} |
|
|
|
}, |
|
|
|
immediate: true |
|
|
|
}, |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
industryList({}).then(response=>{ |
|
|
|
industryList({}).then(response => { |
|
|
|
this.industryList = response.result |
|
|
|
}).catch(error=>{ |
|
|
|
|
|
|
|
}).catch(error => { |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
methods: { |
|
|
|
dateConfirm(event){ |
|
|
|
this.form.date = event.value[0]+"-"+event.value[1]+"-"+event.value[2] |
|
|
|
dateConfirm(event) { |
|
|
|
this.form.date = event.value[0] + "-" + event.value[1] + "-" + event.value[2] |
|
|
|
console.info(event.value) |
|
|
|
this.show = false |
|
|
|
}, |
|
|
|
handleIntellect(index){ |
|
|
|
this.travelList.forEach((items)=>{ |
|
|
|
items.select=false |
|
|
|
handleIntellect(index) { |
|
|
|
this.travelList.forEach((items) => { |
|
|
|
items.select = false |
|
|
|
}) |
|
|
|
this.travelList[index].select = !this.travelList[index].select |
|
|
|
}, |
|
|
|
|
|
|
|
handleAreaChange(){ |
|
|
|
handleAreaChange() { |
|
|
|
const that = this; |
|
|
|
wx.chooseLocation({ |
|
|
|
// type: 'wgs84', |
|
|
|
success: function (res) { |
|
|
|
success: function(res) { |
|
|
|
const qqmapsdk = new QQMapWX({ |
|
|
|
key: 'TT7BZ-Z3LW4-KOAUB-KWHOA-SBJJ6-Y5B6R' // 必填 |
|
|
|
}); |
|
|
|
uni.showLoading({ |
|
|
|
title:"获取中...." |
|
|
|
title: "获取中...." |
|
|
|
}) |
|
|
|
qqmapsdk.reverseGeocoder({ |
|
|
|
location: { |
|
|
@ -331,10 +332,12 @@ |
|
|
|
this.form.industry = e.name |
|
|
|
this.form.typeId = "" |
|
|
|
this.form.type = "" |
|
|
|
industryById({pid:e.id}).then(response=>{ |
|
|
|
this.typeList=response.result |
|
|
|
}).catch(error=>{ |
|
|
|
|
|
|
|
industryById({ |
|
|
|
pid: e.id |
|
|
|
}).then(response => { |
|
|
|
this.typeList = response.result |
|
|
|
}).catch(error => { |
|
|
|
|
|
|
|
}) |
|
|
|
this.$refs.uForm.validateField('industry') |
|
|
|
}, |
|
|
@ -347,12 +350,35 @@ |
|
|
|
this.$refs.uForm.validateField('type') |
|
|
|
}, |
|
|
|
submit() { |
|
|
|
console.info(this.form) |
|
|
|
this.$refs.uForm.validate().then(res => { |
|
|
|
uni.$u.toast('校验通过') |
|
|
|
}).catch(errors => { |
|
|
|
// uni.$u.toast('校验失败') |
|
|
|
this.submitApi() |
|
|
|
}).catch(errors => {}) |
|
|
|
}, |
|
|
|
async submitApi() { |
|
|
|
const params = { |
|
|
|
dayMoney: this.form.dailywage, |
|
|
|
industryId: this.form.typeId, |
|
|
|
industryName: this.form.typeName, |
|
|
|
latitude: this.form.latitude, |
|
|
|
longitude: this.form.longitude, |
|
|
|
moneymax: this.form.salaryMax, |
|
|
|
moneymin: this.form.salaryMin, |
|
|
|
payType: this.form.settlement, |
|
|
|
workDetail: this.form.workDetail |
|
|
|
} |
|
|
|
const { |
|
|
|
code |
|
|
|
} = await addTask2({ |
|
|
|
...params |
|
|
|
}) |
|
|
|
if (code === 200) { |
|
|
|
uni.$u.toast("提交成功!") |
|
|
|
setTimeout(() => { |
|
|
|
uni.switchTab({ |
|
|
|
url: "/pages/home/index" |
|
|
|
}) |
|
|
|
}, 1500) |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
onReady() { |
|
|
|