按照文档修改

This commit is contained in:
weicw
2023-09-01 19:46:18 +08:00
parent ed6fea7bd1
commit f68191c5a1
8 changed files with 854 additions and 157 deletions

View File

@@ -1,7 +1,7 @@
<template>
<view class="container">
<u--form :model="form" ref="uForm" :rules="rules" labelPosition="top" :labelStyle="{paddingLeft: '10rpx'}"
label-width="200rpx">
label-width="200rpx" >
<!-- 表单组件 -->
<view class="his-head">
@@ -10,45 +10,38 @@
<view class="form-wrapper">
<u-cell-group :border="false">
<u-form-item prop="houseTitle">
<u-cell title="标题" :isLink="true" customStyle="">
<u-cell title="标题" :isLink="false" customStyle="">
<u-input slot="value" class="input" v-model="form.houseTitle" inputAlign="right"
maxlength="30" :border="false" placeholder="请输入标题" />
</u-cell>
</u-form-item>
<u-form-item prop="area">
<u-cell title="城市" @click="onArea" :isLink="true">
<u-input slot="value" class="input" v-model="form.city" inputAlign="right" maxlength="30"
<u-input :disabled="true" disabledColor="#FFFFFF" slot="value" class="input" v-model="form.city" inputAlign="right" maxlength="30"
:border="false" placeholder="请选择所在城市" />
</u-cell>
</u-form-item>
<u-form-item prop="address">
<!-- <u-form-item prop="address">
<u-cell title="详细地址" :isLink="true">
<u-input slot="value" class="input" v-model="form.address" inputAlign="right" maxlength="30"
:border="false" placeholder="请输入详细地址" />
:border="false" placeholder="请输入详细地址" :disabled="true" disabledColor="#FFFFFF"/>
</u-cell>
</u-form-item> -->
<u-form-item prop="address">
<view class="his-head">
<text class="title">详细地址</text>
</view>
<view class="form-wrapper" @click="openMap">
<view class="textarea">
<u--textarea v-model="form.address" placeholder="请输入详细地址"
maxlength="200" :disabled="true" disabledColor="#FFFFFF"></u--textarea>
</view>
</view>
</u-form-item>
<u-form-item prop="houseType">
<u-cell title="户型" :isLink="true" @click="showHouseType = true">
<u-input slot="value" class="input" v-model="form.houseType" inputAlign="right"
maxlength="30" :border="false" placeholder="请选择房子户型" />
</u-cell>
</u-form-item>
<u-form-item prop="leaseMethod">
<u-cell title="租赁方式" :isLink="true" @click="showLeaseMethod = true">
<u-input slot="value" class="input" v-model="form.leaseMethod" inputAlign="right"
maxlength="30" :border="false" placeholder="请选择租赁方式" />
</u-cell>
</u-form-item>
<u-form-item prop="rent">
<u-cell title="租金(元/m²)" :isLink="true">
<u-input slot="value" class="input" v-model="form.rent" inputAlign="right" maxlength="30"
:border="false" placeholder="请输入租金" />
</u-cell>
</u-form-item>
<u-form-item prop="monthlyRent">
<u-cell title="月租金(每月)" :isLink="true">
<u-input slot="value" class="input" v-model="form.monthlyRent" inputAlign="right"
maxlength="30" :border="false" placeholder="请输入您的月租金" />
maxlength="30" :border="false" placeholder="请选择房子户型" :disabled="true" disabledColor="#FFFFFF" />
</u-cell>
</u-form-item>
<u-form-item prop="extent">
@@ -57,26 +50,68 @@
:border="false" placeholder="该房屋面积" />
</u-cell>
</u-form-item>
<u-form-item prop="leaseMethod">
<u-cell title="租赁方式" :isLink="true" @click="showLeaseMethod = true">
<u-input slot="value" class="input" v-model="form.leaseMethod" inputAlign="right"
maxlength="30" :border="false" placeholder="请选择租赁方式" :disabled="true" disabledColor="#FFFFFF"/>
</u-cell>
</u-form-item>
<u-form-item prop="rent">
<u-cell title="租金(元/m²)" :isLink="false">
<u-input type="digit" slot="value" class="input" v-model="form.rent" inputAlign="right" maxlength="30"
:border="false" placeholder="请输入租金" />
</u-cell>
</u-form-item>
<u-form-item prop="monthlyRent">
<u-cell title="月租金(每月)" :isLink="false">
<u-input type="digit" slot="value" class="input" v-model="form.monthlyRent" inputAlign="right"
maxlength="30" :border="false" placeholder="请输入月租金" />
</u-cell>
</u-form-item>
<u-form-item prop="propertyFees">
<u-cell title="物业费" :isLink="false">
<u-input type="digit" slot="value" class="input" v-model="form.propertyFees" inputAlign="right"
maxlength="30" :border="false" placeholder="请输入物业费" />
</u-cell>
</u-form-item>
<u-form-item prop="tenancy">
<u-cell title="租期" :isLink="false">
<u-input slot="value" class="input" v-model="form.tenancy" inputAlign="right" maxlength="30"
:border="false" placeholder="请输入租期" />
</u-cell>
</u-form-item>
<u-form-item prop="commission">
<u-cell title="佣金" :isLink="false">
<u-input type="digit" slot="value" class="input" v-model="form.commission" inputAlign="right" maxlength="30"
:border="false" placeholder="请输入佣金" />
</u-cell>
</u-form-item>
<u-form-item prop="premium">
<u-cell title="可溢价" :isLink="true" @click="showPremium = true">
<u-input slot="value" class="input" v-model="form.premium" inputAlign="right" maxlength="30"
:border="false" placeholder="请选择楼是否可溢价" />
</u-cell>
</u-form-item>
<u-form-item prop="floor">
<u-cell title="楼层" :isLink="true" @click="showFloor = true">
<u-input slot="value" class="input" v-model="form.floor" inputAlign="right" maxlength="30"
:border="false" placeholder="请选择楼层" />
:border="false" placeholder="请选择楼层" :disabled="true" disabledColor="#FFFFFF"/>
</u-cell>
</u-form-item>
<u-form-item prop="roomNumber">
<u-cell title="房号" :isLink="true">
<u-cell title="房号" :isLink="false">
<u-input slot="value" class="input" v-model="form.roomNumber" inputAlign="right"
maxlength="30" :border="false" placeholder="请输入房号" />
</u-cell>
</u-form-item>
<u-form-item prop="phone">
<u-cell title="业主电话" :isLink="true">
<u-cell title="业主电话" :isLink="false">
<u-input slot="value" class="input" v-model="form.phone" inputAlign="right" maxlength="30"
:border="false" placeholder="请输入业主电话" />
</u-cell>
</u-form-item>
<u-form-item prop="password">
<u-cell title="密码" :isLink="true">
<u-cell title="密码" :isLink="false">
<u-input slot="value" class="input" v-model="form.password" inputAlign="right"
maxlength="30" :border="false" placeholder="请输入房屋密码" />
</u-cell>
@@ -84,7 +119,7 @@
<u-form-item prop="toward">
<u-cell title="朝向" :isLink="true" @click="showToward = true">
<u-input slot="value" class="input" v-model="form.toward" inputAlign="right" maxlength="30"
:border="false" placeholder="请选择房源朝向" />
:border="false" placeholder="请选择房源朝向" :disabled="true" disabledColor="#FFFFFF"/>
</u-cell>
</u-form-item>
</u-cell-group>
@@ -180,6 +215,9 @@
<u-picker :show="showToward" :columns="dict.toward" @confirm="confirmToward" @cancel="closeToward"
:closeOnClickOverlay="true" @close="closeToward">
</u-picker>
<u-picker :show="showPremium" :columns="[['是','否']]" @confirm="confirmPremium" @cancel="showPremium = false"
:closeOnClickOverlay="true" @close="showPremium = false">
</u-picker>
@@ -238,7 +276,8 @@
form: {
houseTitle: '',
area: '',
status: 10
status: 10,
address: ''
},
fileList1: [],
fileList2: [],
@@ -251,6 +290,7 @@
showLeaseMethod: false,
showFloor: false,
showToward: false,
showPremium: false,
houseLabel: [],
showRegion: false,
@@ -408,7 +448,7 @@
}
});
},
// 上传图片
uploadFile() {
const app = this
@@ -421,6 +461,17 @@
HouseInfoApi.updateUserProfile(app.form)
})
},
openMap() {
const app = this
uni.chooseLocation({
success: (res) => {
app.form.address = res.address
app.form.latitude = res.latitude
app.form.longitude = res.longitude
console.log(res);
}
})
},
// 确认修改
async handleSubmit() {
@@ -572,6 +623,10 @@
this.form.toward = e.value[0]
this.showToward = false
},
confirmPremium(e) {
this.form.premium = e.value[0]
this.showPremium = false
},
closeToward() {
this.showToward = false
},
@@ -824,7 +879,7 @@
font-size: 30rpx;
padding-top: 20rpx;
color: #333333;
font-weight: 600;
// font-weight: 600;
.line {
background-color: #681752;
@@ -838,4 +893,8 @@
}
}
/deep/ .u-form-item__body {
padding: 0 !important;
}
</style>

View File

@@ -74,19 +74,19 @@
<view class="item col-2">
租金(/){{ form.rent || '' }}
</view>
<view class="item col-2">
<view v-if="isManager" class="item col-2">
房号{{ form.roomNumber || '' }}
</view>
<view class="item col-2">
<view v-if="isManager" class="item col-2">
密码{{ form.password || '' }}
</view>
<view class="item col-2">业主电话{{ form.phone || '' }}</view>
<view class="item col-2">物业费{{ form.propertyFees || '' }}</view>
<view class="item col-2">租期{{ form.tenancy || '' }}</view>
<view class="item col-2" v-if="form.gradeName == '公司员工'">
<view v-if="isManager" class="item col-2">业主电话{{ form.phone || '' }}</view>
<view v-if="isManager" class="item col-2">物业费{{ form.propertyFees || '' }}</view>
<view v-if="isManager" class="item col-2">租期{{ form.tenancy || '' }}</view>
<view class="item col-2" v-if="isManager">
佣金{{ form.commission || '' }}
</view>
<view class="item col-2" v-if="form.gradeName == '公司员工'">
<view class="item col-2" v-if="isManager">
是否可溢价{{ form.premium || '' }}
</view>
</view>
@@ -152,9 +152,9 @@
<u-gap height="100"></u-gap>
<view class="pay-tools">
<view class="item" @click="onHeart">
<u-icon name="heart-fill" size="28" color="#ff0000" v-if="heart"></u-icon>
<u-icon name="heart-fill" size="28" color="#ff0000" v-if="form.liked"></u-icon>
<u-icon name="heart" size="28" v-else></u-icon>
<text v-if="heart">已收藏</text>
<text v-if="form.liked">已收藏</text>
<text v-else>收藏</text>
</view>
<view class="item" @click="$push('sub_pages/checkout/checkout?id=' + form.houseId)">
@@ -172,6 +172,10 @@
import store from '@/store'
import storage from '@/utils/storage'
import * as HouseInfoApi from '@/api/house-info.js'
import {
getAgentUser,
getUser
} from '@/api/user.js'
const menu = [{
name: '推荐',
@@ -302,7 +306,6 @@
padding: '12rpx 0',
borderRadius: '12rpx'
},
heart: false,
swiperType: 'video',
latitude: 39.909,
longitude: 116.39742,
@@ -310,13 +313,26 @@
latitude: 39.909,
longitude: 116.39742,
iconPath: 'https://oss.wsdns.cn/20230803/49fe9c001370488caf29c3decb34f6c7.png?x-oss-process=image/resize,w_750/quality,Q_90'
}]
}],
agentUser: {},
isManager: false
};
},
onLoad(options) {
this.houseId = options.houseId
this.getHouseInfo()
if(options.user_id) {
getAgentUser(options.user_id).then(res => {
this.agentUser = res.data
})
}
getUser().then(res=>{
this.isManager = res.data.gradeId == 15
}).catch((err)=>{
console.log(err);
})
},
onShow() {},
onBackPress() {},
@@ -349,15 +365,26 @@
})
},
onHeart() {
this.heart = !this.heart
const app = this;
HouseInfoApi.likeHouse({
houseId: this.form.houseId,
houseUserId: this.form.userId
}).then(res=>{
app.form.liked = res.data
})
},
onCall(phone) {
if (!phone) {
return false
if (this.agentUser && this.agentUser.phone) {
uni.makePhoneCall({
phoneNumber: this.agentUser.phone
})
}else if(phone) {
uni.makePhoneCall({
phoneNumber: phone
})
}
uni.makePhoneCall({
phoneNumber: phone
})
}
},
watch: {

View File

@@ -38,7 +38,7 @@
<view class="list">
<block v-for="(item,index) in list" :key="index">
<view class="item" @click="addHouseInfo(item.houseId)">
<view class="badge" @click.stop="onBadge(item,index)"><u-badge :isDot="true" type="info"
<view class="badge" @click.stop="onBadge(item,index)"><u-badge :isDot="true" type="info"
:bgColor="item.selected ? bgColor : ''"></u-badge></view>
<view class="status">
<u-tag :text="item.status == 0 ? '上架' : '下架'" plain
@@ -351,6 +351,7 @@
position: relative;
.badge {
scale: 3;
position: absolute;
left: 30rpx;
top: 30rpx;