Browse Source

上传

master
前端-胡立永 3 months ago
parent
commit
d9dbe70504
3 changed files with 225 additions and 80 deletions
  1. +110
    -64
      pages_order/renting/addRenting.vue
  2. +93
    -10
      pages_order/work/addWork.vue
  3. +22
    -6
      pages_order/work/workDetail.vue

+ 110
- 64
pages_order/renting/addRenting.vue View File

@ -9,36 +9,48 @@
<text style="color: #BD3624;">*</text> <text style="color: #BD3624;">*</text>
</view> </view>
<view class="form-sheet-cell"> <view class="form-sheet-cell">
<input type="text" class="title-input"/>
<input type="text" class="title-input" v-model="form.title"/>
</view> </view>
<uv-cell <uv-cell
title="租房地点" title="租房地点"
rightIconStyle="fontSize: 30rpx;" rightIconStyle="fontSize: 30rpx;"
value="请选择租房地点"
:value="form.address || '请选择租房地点'"
@click="selectAddr"
isLink isLink
></uv-cell> ></uv-cell>
<uv-cell <uv-cell
title="朝向" title="朝向"
rightIconStyle="fontSize: 30rpx;" rightIconStyle="fontSize: 30rpx;"
value="请选择朝向"
:value="form.face || '请选择朝向'"
@click="openPicker('face')"
isLink isLink
></uv-cell> ></uv-cell>
<uv-cell <uv-cell
title="装修" title="装修"
rightIconStyle="fontSize: 30rpx;" rightIconStyle="fontSize: 30rpx;"
value="请选择装修"
:value="form.decoration || '请选择装修'"
@click="openPicker('decoration')"
isLink isLink
></uv-cell> ></uv-cell>
<uv-cell
<!-- <uv-cell
title="楼层" title="楼层"
rightIconStyle="fontSize: 30rpx;" rightIconStyle="fontSize: 30rpx;"
value="请选择楼层" value="请选择楼层"
isLink isLink
></uv-cell>
></uv-cell> -->
<view class="form-sheet-cell">
<view class="label">
楼层
</view>
<view class="price">
<input placeholder="请输入楼层(1楼)" v-model="form.floor" />
</view>
</view>
<view class="form-sheet-cell"> <view class="form-sheet-cell">
<view class="label"> <view class="label">
@ -54,7 +66,7 @@
付款方式 付款方式
</view> </view>
<view class="price"> <view class="price">
<input placeholder="请输入付款方式(押一付三)" v-model="form.price" />
<input placeholder="请输入付款方式(押一付三)" v-model="form.payment" />
</view> </view>
</view> </view>
@ -63,7 +75,7 @@
租金/ 租金/
</view> </view>
<view class="price"> <view class="price">
<input placeholder="请输入租金" type="number" v-model="form.money" />
<input placeholder="请输入租金" type="text" v-model="form.money" />
</view> </view>
</view> </view>
@ -72,7 +84,7 @@
面积 面积
</view> </view>
<view class="price"> <view class="price">
<input placeholder="请输入面积(平方)" type="number" v-model="form.crm" />
<input placeholder="请输入面积(平方)" type="number" v-model="form.crm" />
</view> </view>
</view> </view>
@ -81,52 +93,56 @@
<view class="label"> <view class="label">
看房 看房
</view> </view>
<uv-radio-group v-model="radiovalue">
<uv-radio-group v-model="form.showings">
<view class="price"> <view class="price">
<uv-radio <uv-radio
:customStyle="{margin: '8px'}"
:customStyle="{margin: '8px'}"
iconSize="30rpx" iconSize="30rpx"
size="40rpx" size="40rpx"
labelSize="26rpx" labelSize="26rpx"
label="随时可看"
name="随时可看">
:label="t.name"
v-for="(t, i) in showingsRadio"
:key="i"
:name="t.name">
</uv-radio> </uv-radio>
</view>
</uv-radio-group>
</view>
<view class="form-sheet-cell">
<view class="label">
电梯
</view>
<uv-radio-group v-model="form.lift">
<view class="price">
<uv-radio <uv-radio
:customStyle="{margin: '8px'}"
:customStyle="{margin: '8px'}"
iconSize="30rpx" iconSize="30rpx"
size="40rpx" size="40rpx"
labelSize="26rpx" labelSize="26rpx"
label="电话预约"
name="电话预约">
:label="t.name"
:name="t.name"
v-for="(t, i) in liftRadio"
:key="i">
</uv-radio> </uv-radio>
</view> </view>
</uv-radio-group> </uv-radio-group>
</view> </view>
<view class="form-sheet-cell"> <view class="form-sheet-cell">
<view class="label"> <view class="label">
租房类型
交付
</view> </view>
<uv-radio-group v-model="form.type">
<uv-radio-group v-model="form.deliver">
<view class="price"> <view class="price">
<uv-radio <uv-radio
:customStyle="{margin: '8px'}" :customStyle="{margin: '8px'}"
iconSize="30rpx" iconSize="30rpx"
size="40rpx" size="40rpx"
labelSize="26rpx" labelSize="26rpx"
label="整租"
name="整租">
</uv-radio>
<uv-radio
:customStyle="{margin: '8px'}"
iconSize="30rpx"
size="40rpx"
labelSize="26rpx"
label="合租"
name="合租">
:label="t.name"
:name="t.name"
v-for="(t, i) in deliverRadio"
:key="i">
</uv-radio> </uv-radio>
</view> </view>
</uv-radio-group> </uv-radio-group>
@ -139,6 +155,13 @@
<input placeholder="请输入联系电话" v-model="form.phone" /> <input placeholder="请输入联系电话" v-model="form.phone" />
</view> </view>
<view class="form-sheet-cell">
<view class="label">
备注
</view>
<input placeholder="请输入备注" v-model="form.titleSub" />
</view>
<view class="images box"> <view class="images box">
<view class=""> <view class="">
精选照片 精选照片
@ -178,11 +201,13 @@
placeholder="请输入详细介绍"></uv-textarea> placeholder="请输入详细介绍"></uv-textarea>
</view> --> </view> -->
<uv-picker ref="picker"
<uv-picker
ref="picker"
:columns="columns" :columns="columns"
@confirm="pickerConfirm"></uv-picker> @confirm="pickerConfirm"></uv-picker>
<view class="uni-color-btn">
<view class="uni-color-btn"
@click="submit">
发布 发布
</view> </view>
</view> </view>
@ -190,6 +215,7 @@
</template> </template>
<script> <script>
import Position from '@/utils/position.js'
import { mapState } from 'vuex' import { mapState } from 'vuex'
export default { export default {
data() { data() {
@ -198,49 +224,58 @@
addId : '',//id addId : '',//id
address : '',// address : '',//
crm : '',// crm : '',//
showings : '随时可看',//
face : '',
lift : '有',
deliver : '整租',
floor : '',
decoration : '',
}, },
radiovalue : '',
priceType : [
showingsRadio : [//
{ {
name : '月付',
name : '随时可看',
}, },
{ {
name : '季付',
name : '电话预约',
}, },
],
liftRadio : [
{ {
name : '年付',
name : '有',
},
{
name : '无',
}, },
], ],
radiolist : [
deliverRadio : [
{ {
name : '日结',
name : '整租',
}, },
{ {
name : '月结',
name : '合租',
}, },
], ],
fileList : [], fileList : [],
imageMax : 9, imageMax : 9,
picker : { picker : {
workYear : [
'不限',
face : [
'朝东',
'朝南',
'朝西',
'朝北',
], ],
school : [
'不限',
'初中',
'高中',
'专科',
'本科',
'研究生',
'博士',
decoration : [
'精装',
'毛胚',
], ],
}, },
pickerKey : '',
} }
}, },
onLoad() { onLoad() {
for (var i = 0; i < 30; i++) {
this.picker.workYear.push((i + 1) + '年')
}
// for (var i = 0; i < 30; i++) {
// this.picker.workYear.push((i + 1) + '')
// }
this.form.addId = this.cityList[0].id this.form.addId = this.cityList[0].id
}, },
computed : { computed : {
@ -272,7 +307,7 @@
}, },
// //
selectAddr() { selectAddr() {
Position.selectAddress(res => {
Position.selectAddress(0, 0, res => {
// //
this.form.latitude = res.latitude this.form.latitude = res.latitude
this.form.longitude = res.longitude this.form.longitude = res.longitude
@ -285,24 +320,35 @@
// //
submit(){ submit(){
if(this.fileList.length == 0){
return uni.showToast({
title: '请上传精选照片',
icon : 'none'
})
}
if (this.$utils.verificationAll(this.form, { if (this.$utils.verificationAll(this.form, {
title: '请输入标题', title: '请输入标题',
address : '请选择租房地点', address : '请选择租房地点',
face : '请选择朝向',
decoration : '请选择装修',
floor : '请输入楼层',
home : '请输入户型',
payment : '请输入付款方式',
money : '请输入租金', money : '请输入租金',
crm : '请输入面积',
showings : '请选择看房',
lift : '请选择电梯',
deliver : '请选择交付方式',
phone: '请输入联系电话', phone: '请输入联系电话',
titleSub : '请输入备注',
// titleSub : '',
})) { })) {
return return
} }
this.$api('publishJob', this.form, res => {
if(this.fileList.length == 0){
return uni.showToast({
title: '请上传精选照片',
icon : 'none'
})
}
this.form.image = this.fileList.map(n => n.url).join(',')
this.$api('publishRent', this.form, res => {
if(res.code == 200){ if(res.code == 200){
uni.showToast({ uni.showToast({
title: '发布成功!', title: '发布成功!',


+ 93
- 10
pages_order/work/addWork.vue View File

@ -22,13 +22,13 @@
isLink isLink
></uv-cell> ></uv-cell>
<uv-cell
<!-- <uv-cell
title="学历要求" title="学历要求"
rightIconStyle="fontSize: 30rpx;" rightIconStyle="fontSize: 30rpx;"
:value="form.school || '请选择学历要求'" :value="form.school || '请选择学历要求'"
@click="openPicker('school')" @click="openPicker('school')"
isLink isLink
></uv-cell>
></uv-cell> -->
<uv-cell <uv-cell
title="工龄要求" title="工龄要求"
@ -39,7 +39,7 @@
></uv-cell> ></uv-cell>
<view class="form-sheet-cell">
<!-- <view class="form-sheet-cell">
<view class="label"> <view class="label">
薪资范围 薪资范围
</view> </view>
@ -48,8 +48,16 @@
~ ~
<input placeholder="最大薪资" v-model="form.maxPrice" /> <input placeholder="最大薪资" v-model="form.maxPrice" />
</view> </view>
</view>
</view> -->
<view class="form-sheet-cell"> <view class="form-sheet-cell">
<view class="label">
薪资范围
</view>
<input placeholder="请输入薪资范围" v-model="form.minPrice" />
</view>
<!-- <view class="form-sheet-cell">
<view class="label"> <view class="label">
结算方式 结算方式
</view> </view>
@ -68,6 +76,7 @@
</view> </view>
</uv-radio-group> </uv-radio-group>
</view> </view>
<view class="form-sheet-cell"> <view class="form-sheet-cell">
<view class="label"> <view class="label">
工作性质 工作性质
@ -86,13 +95,56 @@
</uv-radio> </uv-radio>
</view> </view>
</uv-radio-group> </uv-radio-group>
</view> -->
<view class="form-sheet-cell">
<view class="label">
标签
</view>
<input placeholder="请输入标签(多个用,号分割)" v-model="form.iconText" />
</view> </view>
<!-- <view class="form-sheet-cell">
<view class="label">
联系人
</view>
<input placeholder="请输入联系人" v-model="form.userName" />
</view> -->
<view class="form-sheet-cell"> <view class="form-sheet-cell">
<view class="label"> <view class="label">
联系电话 联系电话
</view> </view>
<input placeholder="请输入联系电话" v-model="form.phone" />
<input placeholder="请输入联系电话" v-model="form.userPhone" />
</view>
<view class="category">
<view class="title">
选择地区
</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>
</view> </view>
<view class=""
style="margin-top: 20rpx;">
<uv-textarea
v-model="form.school"
count
:maxlength="300"
autoHeight
placeholder="请输入岗位要求"></uv-textarea>
</view>
<view class="" <view class=""
style="margin-top: 20rpx;"> style="margin-top: 20rpx;">
<uv-textarea <uv-textarea
@ -118,6 +170,7 @@
<script> <script>
import Position from '@/utils/position.js' import Position from '@/utils/position.js'
import { mapState } from 'vuex'
export default { export default {
data() { data() {
return { return {
@ -127,6 +180,7 @@
minPrice : '', minPrice : '',
maxPrice : '', maxPrice : '',
address : '', address : '',
addId : '',
}, },
radiovalue : '', radiovalue : '',
priceList : [ priceList : [
@ -166,11 +220,13 @@
for (var i = 0; i < 30; i++) { for (var i = 0; i < 30; i++) {
this.picker.workYear.push((i + 1) + '年') this.picker.workYear.push((i + 1) + '年')
} }
this.form.addId = this.cityList[0].id
}, },
computed : { computed : {
columns(){ columns(){
return [this.picker[this.pickerKey]] return [this.picker[this.pickerKey]]
}, },
...mapState(['cityList', 'category']),
}, },
methods: { methods: {
openPicker(key){ openPicker(key){
@ -205,11 +261,11 @@
if (this.$utils.verificationAll(this.form, { if (this.$utils.verificationAll(this.form, {
title: '请输入招工标题', title: '请输入招工标题',
address : '请选择工作地点', address : '请选择工作地点',
school : '请选择学历要求',
workYear : '请选择学历要求',
minPrice : '请输入最小薪资',
maxPrice : '请输入最大薪资',
phone: '请输入联系电话',
workYear : '请选择工龄要求',
minPrice : '请输入薪资范围',
iconText: '请输入标签',
userPhone: '请输入联系电话',
school : '请选择岗位要求',
jobDetails: '请输入岗位详细介绍', jobDetails: '请输入岗位详细介绍',
})) { })) {
return return
@ -241,6 +297,9 @@
/deep/ text{ /deep/ text{
font-size: 28rpx !important; font-size: 28rpx !important;
} }
input{
width: 450rpx;
}
.form{ .form{
padding: 30rpx; padding: 30rpx;
.help-issue { .help-issue {
@ -276,5 +335,29 @@
} }
} }
} }
.category{
padding: 20rpx;
.title{
// font-weight: 900;
// font-size: 30rpx;
}
.tagList{
display: flex;
flex-wrap: wrap;
padding: 10rpx 0;
view{
background: rgba($uni-color, 0.1);
padding: 10rpx 20rpx;
margin: 10rpx;
border-radius: 10rpx;
font-size: 26rpx;
}
.act{
color: #fff;
background: $uni-color;
}
}
}
} }
</style> </style>

+ 22
- 6
pages_order/work/workDetail.vue View File

@ -19,23 +19,37 @@
</view> --> </view> -->
<view> <view>
<!-- <image src="../static/work/g.png" mode=""></image> --> <!-- <image src="../static/work/g.png" mode=""></image> -->
{{ detail.workYear }}
工龄{{ detail.workYear }}
</view> </view>
<view> <view>
<!-- <image src="../static/work/x.png" mode=""></image> --> <!-- <image src="../static/work/x.png" mode=""></image> -->
{{ detail.school }}
<!-- {{ detail.school }} -->
该职位位于{{ $dayjs(detail.createTime).format('YYYY-MM-DD') }}
</view> </view>
</view> </view>
<view class="line">
<!-- <view class="line">
该职位位于{{ $dayjs(detail.createTime).format('YYYY-MM-DD') }} 该职位位于{{ $dayjs(detail.createTime).format('YYYY-MM-DD') }}
</view>
</view> -->
<!-- <view class="userHead"> <!-- <view class="userHead">
<userHead :headImage="detail.headImage" <userHead :headImage="detail.headImage"
:name="detail.name" :phoneCall="detail.phone"/> :name="detail.name" :phoneCall="detail.phone"/>
</view> --> </view> -->
<view class="info">
<view class="title2">
<text>职位要求</text>
</view>
<view
class="text"
v-html="detail.school">
</view>
</view>
<view class="address"> <view class="address">
<view class="title2"> <view class="title2">
工作地址 工作地址
@ -53,11 +67,11 @@
></uv-icon> ></uv-icon>
</view> </view>
<view class="tag-list">
<!-- <view class="tag-list">
<view> <view>
距您14.6千米 距您14.6千米
</view> </view>
</view>
</view> -->
</view> </view>
<view class="info"> <view class="info">
@ -176,6 +190,7 @@
padding-bottom: 20rpx; padding-bottom: 20rpx;
} }
.title2{ .title2{
margin: 20rpx 0;
font-size: 28rpx; font-size: 28rpx;
font-weight: 900; font-weight: 900;
display: flex; display: flex;
@ -222,6 +237,7 @@
} }
.info{ .info{
margin: 20rpx 0;
.text{ .text{
font-size: 24rpx; font-size: 24rpx;
color: #666666; color: #666666;


Loading…
Cancel
Save