@@ -49,10 +49,10 @@ | |||
</view> | |||
<view class="last-item"> | |||
<view class="label">备注内容</view> | |||
<u-input style="flex:1" :custom-style="customStyle" v-model="mark" :height="60" :auto-height="true" type="textarea" :clearable="false" placeholder="请输入备注内容"></u-input> | |||
<u-input style="flex:1" :custom-style="customStyle" v-model="form.mark" :height="60" :auto-height="true" type="textarea" :clearable="false" placeholder="请输入备注内容"></u-input> | |||
</view> | |||
</view> | |||
<view class="submit-btn">提交</view> | |||
<view class="submit-btn" @click="submit">提交</view> | |||
</view> | |||
</template> | |||
<script> | |||
@@ -68,7 +68,7 @@ | |||
sourceName: '', | |||
rentMoney: '',// 租金 | |||
needType: 0,//需求类型 | |||
mark: 's d c d s'//备注 | |||
mark: ''//备注 | |||
}, | |||
sourceList: [ | |||
{ | |||
@@ -108,6 +108,19 @@ | |||
this.form.sourceName = e[0].label | |||
}, | |||
submit() { | |||
let body={ | |||
"customerName": this.form.name, | |||
"customerMobile": this.form.tel, | |||
"needType": this.form.needType, | |||
"remark": this.form.mark, | |||
"channel": this.form.source, | |||
"rentPrice": this.form.rentMoney, | |||
"gender":this.form.sex | |||
} | |||
this.$u.api.customerAdd({body:body}).then((res)=>{ | |||
}) | |||
}, | |||
sexChange(){ | |||
@@ -26,6 +26,9 @@ | |||
data() { | |||
return { | |||
keyword: '', | |||
pageNo: 1, | |||
pageSize: 10, | |||
loadDone: false, | |||
listData: [ | |||
{ | |||
first: 'a', | |||
@@ -70,7 +73,38 @@ | |||
onShow() { | |||
}, | |||
methods: {}, | |||
created(){ | |||
this.getList() | |||
}, | |||
onReachBottom() { | |||
this.getList(); | |||
}, | |||
methods: { | |||
getList(){ | |||
if (this.loadDone) return; | |||
this.$u.api.addressBook({body:{pageNo:this.pageNo,pageSize:this.pageSize}}).then((res)=>{ | |||
console.log(res) | |||
if(res.result&&res.result.length){ | |||
if(this.pageNo==1){ | |||
this.listData = res.result | |||
}else{ | |||
this.listData = [...this.listData, ...res.result]; | |||
} | |||
if(res.result.length<this.pageSize){ | |||
this.loadDone = true; | |||
return ; | |||
} | |||
this.pageNo += 1; | |||
this.loadDone = false | |||
}else{ | |||
this.loadDone = true; | |||
if(this.pageNo==1){ | |||
this.listData = [] | |||
} | |||
} | |||
}) | |||
} | |||
}, | |||
}; | |||
</script> | |||
@@ -47,6 +47,15 @@ | |||
}, | |||
methods: { | |||
submit() { | |||
let body = { | |||
mobile: this.account, | |||
newPassword: this.newPassword, | |||
checkNewPassword: this.checkPassword, | |||
} | |||
this.$u.api.resetPassword({body:body}).then((res)=>{ | |||
console.log(res) | |||
// if(res.result&&res.result.length){} | |||
}) | |||
}, | |||
}, | |||
}; | |||
@@ -7,11 +7,11 @@ | |||
<view class="list-item" @click="selectItem(item)" v-for="(item,index) in listData" :key="index"> | |||
<view class="person-info"> | |||
<image class="icon" src="/static/kehu/person_gray.png" mode="" /> | |||
<view class="name u-line-1">{{item.name}}</view> | |||
<view class="name u-line-1">{{item.personName}}</view> | |||
</view> | |||
<view class="house u-line-1">{{item.address}}</view> | |||
<view class="right"> | |||
<view class="house u-line-1">{{item.person}}</view> | |||
<view class="house u-line-1">{{item.accountNum}}</view> | |||
<image class="path" src="/static/path.png" mode="" /> | |||
</view> | |||
</view> | |||
@@ -23,30 +23,57 @@ | |||
data() { | |||
return { | |||
keyword: '', | |||
listData: [{ | |||
address:'惠中北里 106号楼 24层', | |||
name:'张晨张', | |||
person: '张26D' | |||
},{address:'惠中北里 106号楼 24层', | |||
name:'zhangzj',person: '张26D'}, | |||
{address:'惠中北里惠中北里惠中北里惠中北里惠中北里 106号楼 24层', | |||
name:'张晨',person: '张26D'}, | |||
{address:'惠中北里 106号楼 24层', | |||
name:'张晨',person: '张26D'}] | |||
pageNo: 1, | |||
pageSize: 10, | |||
loadDone: false, | |||
listData: [] | |||
}; | |||
}, | |||
onLoad(options) { | |||
}, | |||
onShow() { | |||
}, | |||
created() { | |||
this.getList() | |||
}, | |||
onReachBottom() { | |||
this.getList(); | |||
}, | |||
methods: { | |||
selectItem(item){ | |||
wx.setStorageSync('houseSource',item) | |||
// wx.navigateTo({ | |||
// url:'/pages/customer/addLedlook' | |||
// }) | |||
wx.navigateBack() | |||
wx.navigateTo({ | |||
url:'/pages/my/networkquery_detail?id='+item.houseId | |||
}) | |||
}, | |||
getList(){ | |||
if (this.loadDone) return; | |||
let body = { | |||
pageNo:this.pageNo, | |||
pageSize:this.pageSize, | |||
message: this.keyword | |||
} | |||
this.$u.api.findProxyHouse({body:body}).then((res)=>{ | |||
// console.log(res) | |||
if(res.result&&res.result.length){ | |||
if(this.pageNo==1){ | |||
this.listData = res.result | |||
}else{ | |||
this.listData = [...this.listData, ...res.result]; | |||
} | |||
if(res.result.length<this.pageSize){ | |||
this.loadDone = true; | |||
return ; | |||
} | |||
this.pageNo += 1; | |||
this.loadDone = false | |||
}else{ | |||
this.loadDone = true; | |||
if(this.pageNo==1){ | |||
this.listData = [] | |||
} | |||
} | |||
}) | |||
} | |||
}, | |||
}; | |||
@@ -39,11 +39,20 @@ | |||
}; | |||
}, | |||
onLoad(options) { | |||
let id = options.id | |||
this.getData(id) | |||
}, | |||
onShow() { | |||
}, | |||
methods: { | |||
getData(id){ | |||
this.$u.api.findNetWork({body:{houseId:id}}).then((res)=>{ | |||
console.log(res) | |||
// if(res.result&&res.result.length){} | |||
}) | |||
} | |||
}, | |||
}; | |||
@@ -13,14 +13,17 @@ | |||
</view> | |||
<view class="list-item" v-for="(item,index) in listData" :key="index"> | |||
<view class="top"> | |||
<view class="name">刘506</view> | |||
<view>应收日期:2024.01.31</view> | |||
<view class="mark">未收</view> | |||
<view class="name">{{item.roomNum}}</view> | |||
<view>应收日期:{{item.payableDate.replace(/-/g,'.')}}</view> | |||
<!-- 收费状态 0未收 1已收 2未缴清 --> | |||
<view class="mark" v-if="item.payableStatus==0">未收</view> | |||
<view class="mark" v-if="item.payableStatus==1">已收</view> | |||
<view class="mark" v-if="item.payableStatus==2">未缴清</view> | |||
</view> | |||
<view class="bot"> | |||
<view>租客:赵彩云</view> | |||
<view>租金6001</view> | |||
<view class="tel"><image class="tel-icon" src="/static/my/tel.png" mode="" /> 18322783146</view> | |||
<view>租客:{{item.customerName}}</view> | |||
<view>租金{{item.payableMoney}}</view> | |||
<view class="tel"><image class="tel-icon" src="/static/my/tel.png" mode="" />{{item.customerMobile}}</view> | |||
</view> | |||
</view> | |||
</view> | |||
@@ -35,15 +38,53 @@ | |||
calendarShow: false, | |||
mindate: '', | |||
maxdate: '2099-12-31', | |||
listData: [{},{},{},{}] | |||
pageNo: 1, | |||
pageSize: 10, | |||
loadDone: false, | |||
listData: [] | |||
}; | |||
}, | |||
onLoad(options) { | |||
}, | |||
onShow() { | |||
}, | |||
created() { | |||
this.getList() | |||
}, | |||
onReachBottom() { | |||
this.getList(); | |||
}, | |||
methods: { | |||
getList(){ | |||
if (this.loadDone) return; | |||
let body = { | |||
pageNo:this.pageNo, | |||
pageSize:this.pageSize, | |||
message: this.keyword | |||
} | |||
this.$u.api.customerReceivable({body:body}).then((res)=>{ | |||
// console.log(res) | |||
if(res.result&&res.result.length){ | |||
if(this.pageNo==1){ | |||
this.listData = res.result | |||
}else{ | |||
this.listData = [...this.listData, ...res.result]; | |||
} | |||
if(res.result.length<this.pageSize){ | |||
this.loadDone = true; | |||
return ; | |||
} | |||
this.pageNo += 1; | |||
this.loadDone = false | |||
}else{ | |||
this.loadDone = true; | |||
if(this.pageNo==1){ | |||
this.listData = [] | |||
} | |||
} | |||
}) | |||
}, | |||
openCalendar(type){ | |||
if(type==0){ | |||
this.type = 0 | |||
@@ -126,13 +167,13 @@ | |||
font-weight: 400; | |||
color: #333333; | |||
.name{ | |||
width: 250rpx; | |||
width: 230rpx; | |||
color: #333333; | |||
} | |||
.mark{ | |||
color: #fff; | |||
margin-left: 26rpx; | |||
width: 116rpx; | |||
min-width: 116rpx; | |||
height: 52rpx; | |||
text-align: center; | |||
line-height: 52rpx; | |||
@@ -11,7 +11,7 @@ | |||
<view class="item-top"> | |||
<view class="left"> | |||
<image class="house-icon" src="/static/house.png" mode="" /> | |||
芍药居一店一部 | |||
{{item.deptName}} | |||
</view> | |||
<view class="right"> | |||
我的战报 | |||
@@ -20,27 +20,27 @@ | |||
</view> | |||
<view class="item-bottom"> | |||
<view class="subitem-box"> | |||
<view class="number">32</view> | |||
<view class="number">{{item.deal||0}}</view> | |||
<view class="text">新增成交/单</view> | |||
</view> | |||
<view class="subitem-box"> | |||
<view class="number">32</view> | |||
<view class="number">{{item.customer||0}}</view> | |||
<view class="text">新增客户/位</view> | |||
</view> | |||
<view class="subitem-box"> | |||
<view class="number">32</view> | |||
<view class="number">{{item.see||0}}</view> | |||
<view class="text">新增带看/位</view> | |||
</view> | |||
<view class="subitem-box"> | |||
<view class="number">32</view> | |||
<view class="number">{{item.agent||0}}</view> | |||
<view class="text">新增代理合同/单</view> | |||
</view> | |||
<view class="subitem-box"> | |||
<view class="number">32</view> | |||
<view class="number">{{item.follow||0}}</view> | |||
<view class="text">新增客户跟进/位</view> | |||
</view> | |||
<view class="subitem-box"> | |||
<view class="number">32</view> | |||
<view class="number">{{item.visit}}</view> | |||
<view class="text">新增拜访/位</view> | |||
</view> | |||
</view> | |||
@@ -60,20 +60,49 @@ | |||
name: '本月' | |||
}], | |||
current: 0, | |||
listData: [{},{},{}], | |||
listData: [], | |||
pageNo: 1, | |||
pageSize: 10, | |||
loadDone: false, | |||
}; | |||
}, | |||
onLoad(options) { | |||
created(){ | |||
this.getList() | |||
}, | |||
onShow() { | |||
onReachBottom() { | |||
this.getList(); | |||
}, | |||
methods: { | |||
getList(){ | |||
if (this.loadDone) return; | |||
// type: 今日:0,本周:1,本月:2 | |||
this.$u.api.departmentReport({body:{pageNo:this.pageNo,pageSize:this.pageSize,type: this.current}}).then((res)=>{ | |||
console.log(res) | |||
if(res.result&&res.result.length){ | |||
if(this.pageNo==1){ | |||
this.listData = res.result | |||
}else{ | |||
this.listData = [...this.listData, ...res.result]; | |||
} | |||
if(res.result.length<this.pageSize){ | |||
this.loadDone = true; | |||
return ; | |||
} | |||
this.pageNo += 1; | |||
this.loadDone = false | |||
}else{ | |||
this.loadDone = true; | |||
this.listData = [] | |||
} | |||
}) | |||
}, | |||
change(index){ | |||
this.current = index | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getList() | |||
}, | |||
}, | |||
}; | |||
</script> | |||
@@ -2,50 +2,65 @@ | |||
<view class="container"> | |||
<view class="top-box"> | |||
<view class="search-box"> | |||
<u-search v-model="keyword" placeholder="请输入小区名/台账号" :show-action="false" :clearabled="true" bg-color="#F8F8F8" shape="round" height="78"></u-search> | |||
<u-search v-model="keyword" @change="searchFun" placeholder="请输入小区名/台账号" :show-action="false" :clearabled="true" bg-color="#F8F8F8" shape="round" height="78"></u-search> | |||
</view> | |||
</view> | |||
<view class="select-box"> | |||
<view class="select-item" @click="addressShow=true">位置</view> | |||
<view class="select-item" @click="priceShow=true">价格</view> | |||
<view class="select-item" @click="kaipanShow=true">开盘</view> | |||
<view class="select-item" @click="moreShow=true">更多</view> | |||
<view class="select-item" @click="buildTypeShow=true">房型</view> | |||
<view class="select-item" @click="houseTypeShow=true">户型</view> | |||
</view> | |||
<view class="list-box"> | |||
<view class="list-item" @click="topage(item)" v-for="(item,index) in listData" :key="index"> | |||
<image class="house-img" src="/static/kehu/pic1.png" mode="" /> | |||
<image class="house-img" :src="item.pictrues[0].pictureUrl||'/static/kehu/pic1.png'" mode="" /> | |||
<view class="item-info"> | |||
<view class="house-name u-line-1">吉利家园 3号楼21层</view> | |||
<view class="type">3改4 / 20㎡</view> | |||
<view class="rent-time">剩余租期:11个月</view> | |||
<view class="house-name u-line-1">{{item.address}}</view> | |||
<view class="type">{{item.houseType}} / {{item.area}}㎡</view> | |||
<view class="rent-time">剩余租期:{{item.remainderPeriod}}个月</view> | |||
<view class="bot-wrap"> | |||
<view class="left u-line-1"><image class="person-icon" src="/static/person.png" mode="" />邵海波</view> | |||
<view class="money">3600/月</view> | |||
<view class="left u-line-1"><image class="person-icon" src="/static/person.png" mode="" />{{item.personName}}</view> | |||
<view class="money">{{item.rentPrice}}/月</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<!-- 位置 --> | |||
<u-popup v-model="addressShow" mode="top"> | |||
<view class="select-list"> | |||
<view class="item" :class="{'selected':item.value==searchForm.addressval}" v-for="(item,index) in addressList" :key="index" @click="secectAddress(item)"> | |||
{{item.label}} | |||
<view class="select-list select-list1"> | |||
<view class="left-box"> | |||
<view class="item" :class="{'selected':item.code==searchForm.addressQuval}" v-for="(item,index) in addressList" :key="index" @click="secectAddressQu(item,index)"> | |||
{{item.text}} | |||
</view> | |||
</view> | |||
<view class="right-box"> | |||
<view class="item" :class="{'selected':item.code==searchForm.addressCityval}" v-for="(item,index) in addressListRight" :key="index" @click="secectAddressCity(item)"> | |||
{{item.text}} | |||
</view> | |||
</view> | |||
</view> | |||
</u-popup> | |||
<!-- 价格弹窗 --> | |||
<u-popup v-model="priceShow" mode="top"> | |||
<view class="select-list"> | |||
<view class="item" :class="{'selected':item.value==searchForm.priceval}" v-for="(item,index) in priceList" :key="index" @click="secectPrice(item)"> | |||
{{item.label}} | |||
<view class="item" :class="{'selected':item.code==searchForm.priceval}" v-for="(item,index) in priceList" :key="index" @click="secectPrice(item,index)"> | |||
{{item.text}} | |||
</view> | |||
</view> | |||
</u-popup> | |||
<!-- 开盘弹窗 --> | |||
<u-popup v-model="kaipanShow" mode="top"> | |||
<!-- 房型弹窗 --> | |||
<u-popup v-model="buildTypeShow" mode="top"> | |||
<view class="select-list"> | |||
<view class="item" :class="{'selected':item.value==searchForm.kaipanval}" v-for="(item,index) in kaipanList" :key="index" @click="secectKaipan(item)"> | |||
{{item.label}} | |||
<view class="item" :class="{'selected':item.code==searchForm.buildTypeval}" v-for="(item,index) in buildTypeList" :key="index" @click="selectBuildType(item,index)"> | |||
{{item.text}} | |||
</view> | |||
</view> | |||
</u-popup> | |||
<!-- 户型弹窗 --> | |||
<u-popup v-model="houseTypeShow" mode="top"> | |||
<view class="select-list"> | |||
<view class="item" :class="{'selected':item.code==searchForm.houseTypeval}" v-for="(item,index) in houseTypeList" :key="index" @click="secectHouseType(item,index)"> | |||
{{item.text}} | |||
</view> | |||
</view> | |||
</u-popup> | |||
@@ -57,154 +72,192 @@ | |||
return { | |||
addressShow: false, | |||
priceShow: false, | |||
kaipanShow: false, | |||
moreShow: false, | |||
houseTypeShow: false, | |||
buildTypeShow: false, | |||
keyword: '', | |||
searchForm: { | |||
addressval: '', | |||
kaipanval: '', | |||
priceval: '' | |||
addressQuval: '', | |||
buildTypeval: '', | |||
priceval: '', | |||
priceLabel: '', | |||
houseTypeval: '', | |||
addressIndex: '', | |||
addressCityval: '' | |||
}, | |||
addressList: [ | |||
{ | |||
label: '北京', | |||
value: 1 | |||
}, | |||
{ | |||
label:'郑州', | |||
value: 2 | |||
}, | |||
{ | |||
label:'天津', | |||
value: 3 | |||
}, | |||
{ | |||
label:'宁波', | |||
value: 4 | |||
}, | |||
{ | |||
label:'信阳', | |||
value: 5 | |||
}, | |||
{ | |||
label:'沙溪', | |||
value: 6 | |||
}, | |||
{ | |||
label:'信阳1', | |||
value: 7 | |||
}, | |||
{ | |||
label:'沙溪2', | |||
value: 8 | |||
}, | |||
text: '不限', | |||
code: '', | |||
children:[] | |||
} | |||
], | |||
kaipanList: [ | |||
{ | |||
label:'1000~2000', | |||
value: 1 | |||
}, | |||
addressListRight: [], | |||
buildTypeList: [ | |||
{ | |||
label:'2000~3000', | |||
value: 2 | |||
}, | |||
{ | |||
label:'3000~4000', | |||
value: 3 | |||
}, | |||
text: '不限', | |||
code: '' | |||
} | |||
], | |||
priceList: [ | |||
{ | |||
label:'1000~2000', | |||
value: 1 | |||
}, | |||
{ | |||
label:'2000~3000', | |||
value: 2 | |||
}, | |||
{ | |||
label:'3000~4000', | |||
value: 3 | |||
}, | |||
text: '不限', | |||
code: '' | |||
} | |||
], | |||
listData: [{},{},{},{},{}], | |||
selectorObj: [ | |||
{ | |||
cateName: '1', | |||
id: 1 | |||
}, | |||
houseTypeList: [ | |||
{ | |||
cateName: '2', | |||
id: 2 | |||
text: '不限', | |||
code: '' | |||
} | |||
], | |||
pageNumber: 10, | |||
current: 1, | |||
loadDone: false | |||
listData: [], | |||
pageNo: 1, | |||
pageSize: 10, | |||
loadDone: false, | |||
}; | |||
}, | |||
onLoad(options) { | |||
}, | |||
onShow() { | |||
}, | |||
created(){ | |||
this.getList() | |||
this.getbaseData() | |||
}, | |||
onReachBottom() { | |||
this.getList(); | |||
}, | |||
methods: { | |||
secectAddress(item){ | |||
this.searchForm.addressval = item.value | |||
// 获取筛选下拉的数据 | |||
getbaseData(){ | |||
this.$u.api.region({body:{}}).then((res)=>{ | |||
// console.log(res) | |||
this.addressList = this.addressList.concat(res.result.area) | |||
this.buildTypeList = this.buildTypeList.concat(res.result.buildType) | |||
this.priceList = this.priceList.concat(res.result.rentMoney) | |||
this.houseTypeList = this.houseTypeList.concat(res.result.houseType) | |||
this.addressListRight = this.addressList[0].children | |||
}) | |||
}, | |||
secectAddressQu(item,index){ | |||
if(index==0) {// 不限 | |||
this.searchForm.addressQuval = '' | |||
this.searchForm.addressCityval = '' | |||
this.addressShow = false | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getList() | |||
return ; | |||
} | |||
this.searchForm.addressQuval = item.code | |||
this.addressListRight = this.addressList[index].children | |||
this.searchForm.addressIndex = index | |||
}, | |||
secectAddressCity(item){ | |||
this.searchForm.addressCityval = item.code | |||
this.addressShow = false | |||
this.current = 1 | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getList() | |||
}, | |||
secectKaipan(item){ | |||
this.searchForm.kaipanval = item.value | |||
this.kaipanShow = false | |||
this.current = 1 | |||
// 房型选择 | |||
selectBuildType(item,index){ | |||
if(index==0) {// 不限 | |||
this.searchForm.buildTypeval = '' | |||
this.buildTypeShow = false | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getList() | |||
return ; | |||
} | |||
this.searchForm.buildTypeval = item.code | |||
this.buildTypeShow = false | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getList() | |||
}, | |||
secectPrice(item){ | |||
this.searchForm.priceval = item.value | |||
// 价格选择 | |||
secectPrice(item,index){ | |||
if(index==0) {// 不限 | |||
this.searchForm.priceval = '' | |||
this.searchForm.priceLabel = item.text | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.priceShow = false | |||
this.getList() | |||
return ; | |||
} | |||
this.searchForm.priceval = item.code | |||
this.searchForm.priceLabel = item.text | |||
this.priceShow = false | |||
this.current = 1 | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getList() | |||
}, | |||
confirm1(e) { | |||
}, | |||
confirm2(e) { | |||
// 户型选择 | |||
secectHouseType(item,index){ | |||
if(index==0) {// 不限 | |||
this.searchForm.houseTypeval = '' | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.houseTypeShow = false | |||
this.getList() | |||
return ; | |||
} | |||
this.searchForm.houseTypeval = item.code | |||
this.houseTypeShow = false | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getList() | |||
}, | |||
topage(item){ | |||
uni.navigateTo({ | |||
url: '/pages/otherPage/rentDetail?id=' + item.id | |||
}) | |||
}, | |||
searchFun(){ | |||
this.loadDone = false | |||
this.pageNo = 1 | |||
this.getList() | |||
}, | |||
getList(){ | |||
if (this.loadDone) return; | |||
let params = { | |||
current: this.current, | |||
size: this.pageNumber | |||
}; | |||
// if (this.pageNum == 1) { | |||
// this.showLoading = true; | |||
// } | |||
// this.$u.api.roomList(params).then((res) => { | |||
// this.showLoading = false; | |||
// if (res.data.records && res.data.records.length) { | |||
// res.data.records.forEach((item) => { | |||
// if (item.labelName) { | |||
// item.labelName = item.labelName.split(",") || []; | |||
// } | |||
// }); | |||
// this.total = res.data.total; | |||
// this.listData = [...this.listData, ...res.data.records]; | |||
// this.pageNum += 1; | |||
// // if (this.listData.length == 0) { | |||
// // this.noneData = true; | |||
// // } | |||
// if (this.listData.length == res.data.total) { | |||
// this.loadDone = true; | |||
// } | |||
// } | |||
// }); | |||
pageNo:this.pageNo, | |||
pageSize:this.pageSize, | |||
message:this.keyword, | |||
priceMin:this.searchForm.priceval?this.searchForm.priceLabel.split('~')[0]:'', | |||
priceMax:this.searchForm.priceval?this.searchForm.priceLabel.split('~')[1]:'', | |||
rentStatus:"",//出租状态 1,出租中 2,收定金 | |||
districtId:this.searchForm.addressQuval,//区域 | |||
roomType:this.searchForm.houseTypeval,//户型 | |||
subDistrictId: this.searchForm.addressCityval,//片区 | |||
buildType: this.searchForm.buildTypeval//房型 | |||
} | |||
this.$u.api.roomList({body:params}).then((res)=>{ | |||
console.log(res) | |||
if(res.result&&res.result.length){ | |||
if(this.pageNo==1){ | |||
this.listData = res.result | |||
}else{ | |||
this.listData = [...this.listData, ...res.result]; | |||
} | |||
if(res.result.length<this.pageSize){ | |||
this.loadDone = true; | |||
return ; | |||
} | |||
this.pageNo += 1; | |||
this.loadDone = false | |||
}else{ | |||
this.loadDone = true; | |||
if(this.pageNo==1){ | |||
this.listData = [] | |||
} | |||
} | |||
}) | |||
} | |||
}, | |||
@@ -240,6 +293,7 @@ | |||
padding: 30rpx 0; | |||
border-bottom: 1px solid #e0e0e0; | |||
.select-item{ | |||
flex:1; | |||
height: 36rpx; | |||
font-size: 26rpx; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
@@ -248,11 +302,12 @@ | |||
line-height: 36rpx; | |||
letter-spacing: 1px; | |||
position: relative; | |||
text-align: center; | |||
&::after{ | |||
position: absolute; | |||
content: ''; | |||
top: 16rpx; | |||
right: -24rpx; | |||
right: 36rpx; | |||
border-color: #969696; | |||
border: 8rpx solid transparent; | |||
border-top: 8rpx solid #969696; | |||
@@ -322,6 +377,9 @@ | |||
} | |||
} | |||
.select-list1{ | |||
display: flex; | |||
} | |||
.select-list{ | |||
padding: 0 40rpx; | |||
max-height: 600rpx; | |||
@@ -341,6 +399,18 @@ | |||
color: #FF6D25; | |||
} | |||
} | |||
.left-box{ | |||
width: 300rpx; | |||
.item{ | |||
border: 0 | |||
} | |||
} | |||
.right-box{ | |||
flex:1; | |||
.item{ | |||
border: 0 | |||
} | |||
} | |||
} | |||
} | |||
@@ -2,13 +2,17 @@ | |||
<view class="container"> | |||
<view class="top-box"> | |||
<view class="search-box"> | |||
<u-search v-model="keyword" placeholder="请输入客户姓名/手机号" :show-action="false" :clearabled="true" bg-color="#F8F8F8" shape="round" height="78"></u-search> | |||
<u-search v-model="keyword" @change="search" placeholder="请输入客户姓名/手机号" :show-action="false" :clearabled="true" bg-color="#F8F8F8" shape="round" height="78"></u-search> | |||
</view> | |||
<view class="addCustomer" @click="toaddCustomer">增加客户</view> | |||
</view> | |||
<view class="select-box"> | |||
<view class="select-item" @click="huxingshow=true">户型</view> | |||
<view class="select-item" @click="zujinshow=true">租金</view> | |||
<view class="select-item" :class="{'selected': searchForm.huxinglabel}" @click="huxingshow=true">{{searchForm.huxingval?searchForm.huxinglabel:'户型'}} | |||
<view class="sanjiao"></view> | |||
</view> | |||
<view class="select-item" :class="{'selected': searchForm.zujinlabel}" @click="zujinshow=true">{{searchForm.zujinval?searchForm.zujinlabel:'租金'}} | |||
<view class="sanjiao"></view> | |||
</view> | |||
</view> | |||
<view class="list-box"> | |||
<view class="list-item" v-for="(item,index) in listData" :key="index"> | |||
@@ -33,16 +37,16 @@ | |||
<!-- 户型弹窗 --> | |||
<u-popup v-model="huxingshow" mode="top"> | |||
<view class="select-list"> | |||
<view class="item" :class="{'selected':item.value==searchForm.huxingval}" v-for="(item,index) in huxingList" :key="index" @click="secectHuxingval(item)"> | |||
{{item.label}} | |||
<view class="item" :class="{'selected':item.code==searchForm.huxingval}" v-for="(item,index) in huxingList" :key="index" @click="secectHuxingval(item,index)"> | |||
{{item.text}} | |||
</view> | |||
</view> | |||
</u-popup> | |||
<!--租金 弹窗 --> | |||
<u-popup v-model="zujinshow" mode="top"> | |||
<view class="select-list"> | |||
<view class="item" :class="{'selected':item.value==searchForm.zujinval}" v-for="(item,index) in zujinList" :key="index" @click="secectZujin(item)"> | |||
{{item.label}} | |||
<view class="item" :class="{'selected':item.code==searchForm.zujinval}" v-for="(item,index) in zujinList" :key="index" @click="secectZujin(item,index)"> | |||
{{item.text}} | |||
</view> | |||
</view> | |||
</u-popup> | |||
@@ -53,27 +57,23 @@ | |||
data() { | |||
return { | |||
keyword: '', | |||
listData: [{},{},{},{},{}], | |||
listData: [], | |||
searchForm: { | |||
huxingval: '', | |||
zujinval: '' | |||
zujinval: '', | |||
huxinglabel: '', | |||
zujinlabel: '', | |||
}, | |||
huxingList: [ | |||
{ | |||
label: '不限', | |||
value: '2' | |||
},{ | |||
label: '独卫', | |||
value: '1' | |||
text: '不限', | |||
code: '' | |||
} | |||
], | |||
zujinList: [ | |||
{ | |||
label: '不限', | |||
value: '2' | |||
},{ | |||
label: '独卫', | |||
value: '1' | |||
text: '不限', | |||
code: '' | |||
} | |||
], | |||
zujinshow: false, | |||
@@ -84,17 +84,28 @@ | |||
}; | |||
}, | |||
onLoad(options) { | |||
}, | |||
onShow() { | |||
}, | |||
created() { | |||
this.getcustomerList() | |||
this.getbaseData() | |||
}, | |||
onReachBottom() { | |||
this.getcustomerList(); | |||
}, | |||
methods: { | |||
// 获取筛选下拉的数据 | |||
getbaseData(){ | |||
this.$u.api.region({body:{}}).then((res)=>{ | |||
// console.log(res) | |||
this.zujinList = this.zujinList.concat(res.result.rentMoney) | |||
this.huxingList = this.huxingList.concat(res.result.houseType) | |||
}) | |||
}, | |||
search(){ | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getcustomerList() | |||
}, | |||
tocall(phone){ | |||
uni.makePhoneCall({ | |||
phoneNumber: phone | |||
@@ -105,13 +116,12 @@ | |||
let body = { | |||
pageNo:this.pageNo, | |||
pageSize:this.pageSize, | |||
houseType: '',//房型: 1,开间 2,一居 3,二居 4,三居 5,四居 6,其他 | |||
rentPriceMin: '',//最小租金 | |||
rentPriceMax:'' | |||
houseType: this.searchForm.huxingval,//房型: 1,开间 2,一居 3,二居 4,三居 5,四居 6,其他 | |||
rentPriceMin: this.searchForm.zujinval?this.searchForm.zujinlabel.split('~')[0]:'',//最小租金 | |||
rentPriceMax: this.searchForm.zujinval?this.searchForm.zujinlabel.split('~')[1]:'' | |||
} | |||
this.$u.api.customerFind({body:body}).then((res)=>{ | |||
console.log(res) | |||
// this.listData = res.result | |||
// console.log(res) | |||
if(res.result&&res.result.length){ | |||
if(this.pageNo==1){ | |||
this.listData = res.result | |||
@@ -126,18 +136,45 @@ | |||
this.loadDone = false | |||
}else{ | |||
this.loadDone = true; | |||
if(this.pageNo==1){ | |||
this.listData = [] | |||
} | |||
} | |||
}) | |||
}, | |||
secectZujin(item){ | |||
this.searchForm.zujinval = item.value | |||
}, | |||
secectHuxingval(item){ | |||
this.searchForm.huxingval = item.value | |||
}, | |||
confirm1(e) { | |||
secectZujin(item,index){ | |||
if(index==0) {// 不限 | |||
this.searchForm.zujinval = '' | |||
this.searchForm.zujinlabel = '' | |||
this.zujinshow = false | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getcustomerList() | |||
return ; | |||
} | |||
this.searchForm.zujinval = item.code | |||
this.searchForm.zujinlabel = item.text | |||
this.zujinshow = false | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getcustomerList() | |||
}, | |||
confirm2(e) { | |||
secectHuxingval(item,index){ | |||
if(index==0) {// 不限 | |||
this.searchForm.huxingval = '' | |||
this.searchForm.huxinglabel = '' | |||
this.huxingshow = false | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getcustomerList() | |||
return ; | |||
} | |||
this.searchForm.huxingval = item.code | |||
this.searchForm.huxinglabel = item.text | |||
this.huxingshow = false | |||
this.pageNo = 1 | |||
this.loadDone = false | |||
this.getcustomerList() | |||
}, | |||
toaddCustomer(){ | |||
uni.navigateTo({ | |||
@@ -181,6 +218,8 @@ | |||
background: #fff; | |||
padding: 30rpx 0; | |||
.select-item{ | |||
flex:1; | |||
text-align: center; | |||
height: 36rpx; | |||
font-size: 26rpx; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
@@ -188,13 +227,18 @@ | |||
color: #333333; | |||
line-height: 36rpx; | |||
letter-spacing: 1px; | |||
position: relative; | |||
&::after{ | |||
position: absolute; | |||
content: ''; | |||
top: 16rpx; | |||
right: -24rpx; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
// position: relative; | |||
&.selected{ | |||
color: #FF6D25; | |||
} | |||
.sanjiao{ | |||
margin: 12rpx 0 0 12rpx; | |||
border-color: #969696; | |||
width: 0; | |||
height: 0; | |||
border: 8rpx solid transparent; | |||
border-top: 8rpx solid #969696; | |||
} | |||
@@ -28,11 +28,6 @@ | |||
pageSize: 10, | |||
loadDone: false, | |||
}; | |||
}, | |||
onLoad(options) { | |||
}, | |||
onShow() { | |||
}, | |||
created(){ | |||
this.getGonggao() | |||
@@ -59,6 +54,9 @@ | |||
this.loadDone = false | |||
}else{ | |||
this.loadDone = true; | |||
if(this.pageNo==1){ | |||
this.gonggaoList = [] | |||
} | |||
} | |||
}) | |||
}, | |||
@@ -47,12 +47,13 @@ | |||
<view class="rank-item" v-for="(item,index) in rankList" :key="index"> | |||
<view class="left"> | |||
<image class="top-img" :src="'/static/index/top'+(index+1)+'.png'" mode="" /> | |||
<image class="avatar" src="/static/avatar.png" mode="" /> | |||
<view class="name u-line-1">王柏翘</view> | |||
<image class="avatar" :src="item.imageUrl||'/static/avatar.png'" mode="" /> | |||
<view class="name u-line-1">{{item.personName||item.deptName}}</view> | |||
</view> | |||
<view class="right"> | |||
<view class="top"><view class="number">7</view>套</view> | |||
<view class="desc">累计成交</view> | |||
<view class="top"><view class="number">{{item.num}}</view>套</view> | |||
<!-- 代房:0,成交:1,新业绩:2 --> | |||
<view class="desc">累计{{item.status==0?'代房':item.status==1?'成交':'新业绩'}}</view> | |||
</view> | |||
</view> | |||
</view> | |||
@@ -78,22 +79,28 @@ | |||
tongjiList: [ | |||
{ | |||
num: 29, | |||
label: 'deal', | |||
text: '新增成交' | |||
}, | |||
{ | |||
num: 5, | |||
label: 'agent', | |||
text: '新增代理合同' | |||
}, | |||
{ | |||
num: 0, | |||
label: 'see', | |||
text: '新增带看' | |||
}, | |||
{ | |||
num: 9, | |||
label: 'customer', | |||
text: '新增客户' | |||
} | |||
], | |||
rankList: [{},{},{}], | |||
companyReport: {}, | |||
rankList: [], | |||
current: 0, | |||
current1: 0, | |||
}; | |||
@@ -102,25 +109,52 @@ | |||
}, | |||
created(){ | |||
if(this.vuex_token){ | |||
this.getGonggao() | |||
} | |||
this.getGonggao() | |||
this.getRanking('agentRanking') // 经纪人排名 | |||
this.getcompanyReport(0) | |||
}, | |||
onShow() { | |||
}, | |||
methods: { | |||
// 经纪人排名与组排名 | |||
getRanking(api){ | |||
this.$u.api[api]({body:{}}).then((res)=>{ | |||
// console.log(res) | |||
this.rankList = res.result | |||
}) | |||
}, | |||
// 获取公告 | |||
getGonggao(){ | |||
this.$u.api.applist({body:{pageNo:1,pageSize:20}}).then((res)=>{ | |||
console.log(res) | |||
this.gonggaoList = res.result.map(item=>item.title) | |||
this.gonggaoList = res.result&&res.result.map(item=>item.title) | |||
}) | |||
}, | |||
// 获取战报 | |||
getcompanyReport(type){ | |||
// 今日:0,本周:1,本月:2 | |||
this.$u.api.companyReport({body:{type: type}}).then((res)=>{ | |||
console.log(res) | |||
this.tongjiList[0].num = res.result.deal||0 | |||
this.tongjiList[1].num = res.result.agent||0 | |||
this.tongjiList[2].num = res.result.see||0 | |||
this.tongjiList[3].num = res.result.customer||0 | |||
}) | |||
}, | |||
change(index){ | |||
this.current = index | |||
this.getcompanyReport(index) | |||
}, | |||
change1(index){ | |||
this.current1 = index | |||
let apitype = '' | |||
if(index==0){ | |||
apitype = 'agentRanking' | |||
}else{ | |||
apitype = 'groupRanking' | |||
} | |||
this.getRanking(apitype) | |||
}, | |||
topage(type){ | |||
uni.navigateTo({ | |||
@@ -20,14 +20,14 @@ | |||
</view> | |||
<image class="arrow" src="/static/my/arrow.png" mode="" /> | |||
</view> | |||
<view class="menu-item"> | |||
<view class="menu-item" @click="topage('my/rentReceive')"> | |||
<view style="display:flex;"> | |||
<image class="icon" src="/static/my/house.png" mode="" /> | |||
应收房租 | |||
</view> | |||
<image class="arrow" src="/static/my/arrow.png" mode="" /> | |||
</view> | |||
<view class="menu-item"> | |||
<view class="menu-item" @click="topage('my/goonContract')"> | |||
<view style="display:flex;"> | |||
<image class="icon" src="/static/my/goonhetong.png" mode="" /> | |||
续期合同 | |||