Bladeren bron

调试页面

master
corala 2 jaren geleden
bovenliggende
commit
fe9a4d770b
20 gewijzigde bestanden met toevoegingen van 1137 en 143 verwijderingen
  1. +0
    -50
      src/App.vue
  2. +0
    -2
      src/common/http.interceptor.js
  3. +18
    -0
      src/pages.json
  4. +1
    -1
      src/pages/customer/addLedlook.vue
  5. +3
    -3
      src/pages/customer/selectHousesource.vue
  6. +42
    -30
      src/pages/my/apply_baojie.vue
  7. +59
    -4
      src/pages/my/house_application.vue
  8. +38
    -9
      src/pages/my/repairlist.vue
  9. +223
    -20
      src/pages/otherPage/jjrent.vue
  10. +370
    -0
      src/pages/otherPage/jjrentDetail.vue
  11. +164
    -0
      src/pages/otherPage/jjrentFollow.vue
  12. +166
    -0
      src/pages/otherPage/jjrentVisit.vue
  13. +0
    -12
      src/pages/otherPage/rent.vue
  14. +24
    -11
      src/pages/otherPage/shouding.vue
  15. +19
    -1
      src/pages/tabs/customer.vue
  16. +10
    -0
      src/pages/tabs/login.vue
  17. BIN
      src/static/czDetail/care_icon.png
  18. BIN
      src/static/czDetail/follow_icon.png
  19. BIN
      src/static/czDetail/visit_icon.png
  20. BIN
      src/static/kehu/notlove.png

+ 0
- 50
src/App.vue Bestand weergeven

@@ -1,63 +1,13 @@
<script>
export default {
globalData: {
shareTicket: "",
openGid: "",
},
onLaunch: function() {
},
onShow: function(options) {
let that = this;
if (options && options.scene == 1044) {
that.globalData.shareTicket = options.shareTicket;
that.getShareTiket()
}
console.log(options)
console.log(JSON.stringify(options));
},
methods: {
getShareTiket: function(cb) {
let that = this;
// 展示本地存储能力
if (that.globalData.shareTicket) {
wx.getShareInfo({
shareTicket: that.globalData.shareTicket,
success: function(res) {
console.log(res)
let js_encryptedData = res.encryptedData;
let js_iv = res.iv;
// wx.login({
// success: function(res) {
// let js_code = res.code;
// console.log("code-->" + js_code);
// wx.request({
// url: "xxxxxxxx",
// method: "POST",
// data: {
// code: js_code,
// appId: "xxxxx",
// encryptedData: js_encryptedData,
// iv: js_iv,
// },
// success: function(res) {
// that.globalData.openGid = res.data.openGId;
// console.log("openGid:" + that.globalData.openGid
// );
// typeof cb == "function" && cb(that.globalData);
// },
// fail: function(err) {
// console.log("getShareTiket---err" + JSON.stringify(err));
// }
// });
// },
// });
},
});
} else {
console.log("不存在shareTicket");
}
},
},
onHide: function() {
console.log("App Hide");


+ 0
- 2
src/common/http.interceptor.js Bestand weergeven

@@ -18,7 +18,6 @@ const install = (Vue, vm) => {
});
// 请求拦截
Vue.prototype.$u.http.interceptor.request = (config) => {
console.log(config)
if (vm.vuex_token) {
config.data.header= {
user: {
@@ -38,7 +37,6 @@ const install = (Vue, vm) => {
}
// 响应拦截
Vue.prototype.$u.http.interceptor.response = (res) => {
console.log(res)
if (res.data.ErrNo == '0000') {
return res.data;
} else if (res.data.ErrNo == '0005'||res.data.ErrNo == '0002') {


+ 18
- 0
src/pages.json Bestand weergeven

@@ -232,6 +232,24 @@
"navigationBarTitleText": "居间出租",
"navigationBarTextStyle": "black"
}
}, {
"path": "jjrentDetail",
"style": {
"navigationBarTitleText": "居间出租详情",
"navigationBarTextStyle": "black"
}
}, {
"path": "jjrentFollow",
"style": {
"navigationBarTitleText": "居间跟进",
"navigationBarTextStyle": "black"
}
}, {
"path": "jjrentVisit",
"style": {
"navigationBarTitleText": "居间拜访",
"navigationBarTextStyle": "black"
}
}, {
"path": "companywarReport",
"style": {


+ 1
- 1
src/pages/customer/addLedlook.vue Bestand weergeven

@@ -191,7 +191,7 @@
height: 88rpx;
line-height: 88rpx;
text-align: center;
background: #FFB692;
background: #FF6D25;
border-radius: 12rpx;
margin-left: 30rpx;
font-size: 32rpx;


+ 3
- 3
src/pages/customer/selectHousesource.vue Bestand weergeven

@@ -11,7 +11,7 @@
</view>
<view class="house u-line-1">{{item.address}}</view>
<view class="right">
<view class="house">{{item.roomNum}}</view>
<view class="house">{{item.accountNum}}</view>
<image class="path" src="/static/path.png" mode="" />
</view>
</view>
@@ -52,7 +52,7 @@
pageSize:this.pageSize,
message:this.keyword
}
this.$u.api.roomList({body:params}).then((res)=>{
this.$u.api.findProxyHouse({body:params}).then((res)=>{
console.log(res)
if(res.result&&res.result.length){
if(this.pageNo==1){
@@ -109,7 +109,7 @@
margin-right: 12rpx;
}
.name{
width: 90rpx;
width: 120rpx;
}
}
.house{


+ 42
- 30
src/pages/my/apply_baojie.vue Bestand weergeven

@@ -4,14 +4,14 @@
<view class="item" @click="topage">
<view class="label">房屋地址</view>
<view class="input" >
<u-input height="102" @click="topage" type="text" disabled input-align="right" v-model="form.houseAddress" placeholder="请选择房屋地址"></u-input>
<u-input height="102" @click="topage" type="text" disabled input-align="right" v-model="form.address" placeholder="请选择房屋地址"></u-input>
<image class="path" @click="topage" src="/static/path.png" mode="" />
</view>
</view>
<view class="item">
<view class="label">台账号</view>
<view class="input">
<u-input :clearable="false" type="text" input-align="right" v-model="form.tel" placeholder="请输入台账号"></u-input>
<u-input :clearable="false" disabled type="text" input-align="right" v-model="form.accountNum" placeholder="请输入台账号"></u-input>
</view>
</view>
<view class="item">
@@ -25,13 +25,13 @@
<view class="item">
<view class="label">申请部门</view>
<view class="input">
<u-input :clearable="false" type="text" input-align="right" v-model="form.deptName" placeholder="请输入申请部门"></u-input>
<u-input :clearable="false" disabled type="text" input-align="right" v-model="form.deptName" placeholder="请输入申请部门"></u-input>
</view>
</view>
<view class="item">
<view class="label">申请人</view>
<view class="input">
<u-input :clearable="false" type="text" input-align="right" v-model="form.applyPerson" placeholder="请输入申请人"></u-input>
<u-input :clearable="false" disabled type="text" input-align="right" v-model="form.applyPerson" placeholder="请输入申请人"></u-input>
</view>
</view>
<view class="last-item">
@@ -56,30 +56,14 @@
second: true
},
form: {
houseAddress: '',
deptName: '开发部一处',
applyPerson:'张三地方',
address: '',
deptName: '',
applyPerson:'',
date:'',
accountNum: '',
houseId: '',
mark: ''//备注
},
sourceList: [
{
value: '1',
label: '来电'
},
{
value: '2',
label: '来访'
},
{
value: '3',
label: '到访'
},
{
value: '4',
label: '2来访'
},
],
customStyle:{
maxHeight:'200rpx',
padding: '20rpx',
@@ -91,12 +75,20 @@
},
onLoad(options) {
this.serviceType = options.type
wx.setNavigationBarTitle({
title: options.type==40?'首次保洁':'首次维修'
})
let user = uni.getStorageSync('user')
this.form.deptName = user.dept||''
this.form.applyPerson = user.userName||''
},
onShow() {
let houseSource = wx.getStorageSync('houseSource')
let houseSource = wx.getStorageSync('houseSource')
// console.log(houseSource)
if(houseSource&&houseSource.address){
this.form.houseAddress = houseSource.address
this.roomId = houseSource.roomId
this.form.address = houseSource.address
this.form.houseId = houseSource.houseId
this.form.accountNum = houseSource.accountNum
wx.setStorageSync('houseSource','')
}
},
@@ -111,14 +103,34 @@
this.form.date = e.year + '-'+e.month + '-'+e.day+ ' '+e.hour+':'+e.minute+':'+e.second
},
submit() {
if(this.form.houseId==''){
uni.showToast({
title: '请选择房屋地址',
icon: 'none'
})
return;
}
if(this.form.date==''){
uni.showToast({
title: '请选择上门时间',
icon: 'none'
})
return;
}
let params = {
"serviceDate": this.form.date,
"serviceType": this.serviceType,//服务类别 40保洁 41维修
"houseId": this.form.date,
"houseId": this.form.houseId,
"remark":this.form.mark
}
this.$u.api.cleanRepairApply({body:params}).then((res)=>{
console.log(res)
if(res.ErrNo=='0000'){
uni.showToast({
title: res.ErrMsg,
icon: 'none'
})
}
})
},
@@ -186,7 +198,7 @@
height: 88rpx;
line-height: 88rpx;
text-align: center;
background: #FFB692;
background: #FF6D25;
border-radius: 12rpx;
margin-left: 30rpx;
font-size: 32rpx;


+ 59
- 4
src/pages/my/house_application.vue Bestand weergeven

@@ -51,13 +51,13 @@
<view class="item">
<view class="label">装修配货支付总计</view>
<view class="input">
<u-input :clearable="false" type="text" input-align="right" v-model="form.applyPerson" placeholder="请输入装修配货支付总计"></u-input>
<u-input :clearable="false" type="text" input-align="right" v-model="form.totalPayment" placeholder="请输入装修配货支付总计"></u-input>
</view>
</view>
<view class="item">
<view class="label">预计出租价格(间)</view>
<view class="input">
<u-input :clearable="false" type="text" input-align="right" v-model="form.applyPerson" placeholder="请输入预计出租价格"></u-input>
<u-input :clearable="false" type="text" input-align="right" v-model="form.estimateRentPrice" placeholder="请输入预计出租价格"></u-input>
</view>
</view>
<view class="item last-item">
@@ -78,14 +78,14 @@
paymentMethod: false,
form: {
address: '',
houseType: '',
houseType: '',//原始户型新增
houseArea: '',
agentPrice: '',
rentFree: '',
addressName: '',
paymentMethod: '',//付款方式1年付2半年付3季付4月付
totalPayment: '',//装修配货支付总计
estimateRentPrice:'',
estimateRentPrice:'',//预估出租价格
isNew: 0,//0 新签 1 续签 类型
isNewName:''
},
@@ -128,6 +128,7 @@
onShow() {
},
methods: {
confirmType(e){
console.log(e)
this.form.isNew = e[0].value
@@ -138,6 +139,60 @@
this.form.paymentMethodName = e[0].label
},
submit() {
if(this.form.isNew==''){
uni.showToast({
title: '请选择带看类型',
icon: 'none'
})
return;
}
if(this.form.address==''){
uni.showToast({
title: '请输入地址',
icon: 'none'
})
return;
}
if(this.form.houseArea==''){
uni.showToast({
title: '请输入房本面积',
icon: 'none'
})
return;
}
if(this.form.paymentMethod==''){
uni.showToast({
title: '请选择付款方式',
icon: 'none'
})
return;
}
let params = {
"isNew": this.form.isNew,
"address": this.form.address,
"houseType": this.form.houseType,
"houseArea": this.form.houseArea,
"agentPrice": [
{
"firstYear": "300",
"secondYear": "200",
"thirdYear": "100"
}
],
"rentFree": [
{
"firstYear": "1",
"secondYear": "2",
"thirdYear": "3"
}
],
"paymentMethod": this.form.paymentMethod,
"totalPayment": this.form.totalPayment,
"estimateRentPrice": this.form.totalPayment
}
this.$u.api.takeHouseApply({body:params}).then((res)=>{
console.log(res)
})
}
},


+ 38
- 9
src/pages/my/repairlist.vue Bestand weergeven

@@ -47,23 +47,52 @@
}, {
name: '待审核'
}],
listData: [{
name:'测试一下:测试一',money: 180,
status: 0,tel:'17552999012'
},{name:'测试一下:测试一',money: 180,
status: 1,tel:'17552999012'},
{name:'张晨',money: 180,
status: 1,tel:'17552999012'},
{name:'张晨',money: 180,
status: 0,tel:'17552999012'}]
listData: [],
pageNo: 1,
pageSize: 10,
loadDone: false
};
},
onLoad(options) {
this.getList()
},
onShow() {
},
onReachBottom() {
this.getList();
},
methods: {
getList(){
if (this.loadDone) return;
let params = {
pageNo:this.pageNo,
pageSize:this.pageSize,
message:this.keyword
}
this.$u.api.findProxyHouse({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 = []
}
}
})
},
change(index){
this.current = index
},


+ 223
- 20
src/pages/otherPage/jjrent.vue Bestand weergeven

@@ -1,29 +1,232 @@
<template>
<view class="container"></view>
<view class="container">
<view class="top-box">
<view class="search-box">
<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="list-box">
<view class="list-item" v-for="(item,index) in listData" :key="index">
<image @click="topage(item)" class="house-img" :src="item.pictrues[0].pictureUrl||'/static/kehu/pic1.png'" mode="" />
<view class="item-info">
<view class="house-name u-line-1">{{item.address}}</view>
<view class="type">
<view class="label" @click="visit(item)">拜访</view>
<view class="label" @click="topfunction(item.mediacyId)">置顶</view>
<view class="label" @click="historyList(item)">历史记录</view>
</view>
<view class="area">{{item.belongDistrict}}-{{item.area}}㎡</view>
<view class="bot-wrap">
<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-modal v-model="showModal" :show-cancel-button="true" confirm-color="#FF6D25" @confirm="confirmFun" title="确认操作" content="您确认置顶?"></u-modal>
</view>
</template>
<script>
export default {
data() {
return {
};
},

onShow() {},
mounted() {
},
methods: {},
onLoad() {},
onHide() {},
};
export default {
data() {
return {
showModal: false,
keyword: '',
searchForm: {
addressQuval: '',
buildTypeval: '',
priceval: '',
priceLabel: '',
houseTypeval: '',
addressIndex: '',
addressCityval: ''
},
listData: [],
pageNo: 1,
pageSize: 10,
loadDone: false,
};
},
onLoad(options) {
},
onShow() {
},
created(){
this.getList()
},
onReachBottom() {
this.getList();
},
methods: {
confirmFun(){
this.$u.api.stickyPost({body:{mediacyId:this.currentId}}).then((res)=>{
console.log(res)
if(res.ErrNo=='0000'){
uni.showToast({
title: res.ErrMsg,
icon: 'none'
})
this.getList();
}
})
},
historyList(item){
uni.navigateTo({
url: '/pages/otherPage/jjrentVisit?masterHouseId='+ item.masterHouseId+'&mediacyId='+ item.mediacyId
})
},
visit(item){
uni.navigateTo({
url: '/pages/otherPage/jjrentVisit?masterHouseId='+ item.masterHouseId+'&mediacyId='+ item.mediacyId+'&address='+item.address+'&personName='+item.personName
})
},
topfunction(id){
this.showModal = true
this.currentId = id
},
topage(item){
uni.setStorageSync('roomInfo',item)
uni.navigateTo({
url: '/pages/otherPage/jjrentDetail?id=' + item.roomId
})
},
searchFun(){
this.loadDone = false
this.pageNo = 1
this.getList()
},
getList(){
if (this.loadDone) return;
let params = {
pageNo:this.pageNo,
pageSize:this.pageSize,
ownerMobile:this.keyword,
}
this.$u.api.intermediary({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 = []
}
}
})
}
}
};
</script>

<style lang="scss" scoped>
.container{
width: 100%;
min-height: 100vh;
background: #f8f8f8;
}
width: 750rpx;
min-height: 100vh;
.top-box{
padding: 0 30rpx;
display: flex;
align-items: center;
justify-content: space-between;
background: #fff;
.search-box{
width: 690rpx;
height: 78rpx;
}
}
.list-box{
padding: 30rpx;
.list-item{
width: 690rpx;
height: 202rpx;
margin-bottom: 30rpx;
display: flex;
.house-img{
width: 248rpx;
height: 202rpx;
border-radius: 8rpx;
margin-right: 24rpx;
flex: 0 0 248rpx;
}
.item-info{
flex: 1;
.house-name{
height: 44rpx;
font-size: 32rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 44rpx;
margin-bottom: 12rpx;
max-width: 410rpx;
}
.area{
height: 36rpx;
font-size: 26rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
line-height: 36rpx;
margin-bottom: 12rpx;
}
.type{
display: flex;
justify-content: space-between;
margin-bottom: 12rpx;
.label{
text-align: center;
height: 44rpx;
line-height: 44rpx;
background: #FFFFFF;
border-radius: 8rpx;
padding: 0 28rpx;
font-size: 26rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FF6D25;
border: 1rpx solid #FF6D25;
}
}
.bot-wrap{
display: flex;
justify-content: space-between;
align-items: center;
.left{
display: flex;
align-items: center;
.person-icon{
width: 32rpx;
height: 32rpx;
border-radius: 50%;
margin-right: 12rpx;
}
}
.money{
height: 48rpx;
font-size: 34rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FF6D25;
line-height: 48rpx;
}
}
}

}
}
}
</style>

+ 370
- 0
src/pages/otherPage/jjrentDetail.vue Bestand weergeven

@@ -0,0 +1,370 @@
<template>
<view class="container">
<view class="pic-wrap" >
<u-swiper height="460" :border-radius="0" @click="preview" :list="picList" :autoplay="true" mode="number" indicator-pos="bottomRight"></u-swiper>
</view>
<view class="house-info">
<view class="top-cont">
<view class="title"><view class="u-line-1">{{roomInfo.address}}</view>
</view>
<view class="call-info" @click="call(item.tellPhone)">
<image class="call" src="/static/czDetail/call.png" mode="" />{{roomInfo.personName}}
</view>
</view>
<view class="mid-cont">
<view class="item">
<view class="item-val">{{roomInfo.masterHouseType}}</view>
<view class="item-type">房型</view>
</view>
<view class="item">
<view class="item-val">{{roomInfo.roomType}}</view>
<view class="item-type">户型</view>
</view>
<view class="item">
<view class="item-val">{{roomInfo.area}}㎡</view>
<view class="item-type">面积</view>
</view>
</view>
</view>
<view class="detail-info">
<view class="info-item"><view class="label">区域:</view>{{roomInfo.belongDistrict}}</view>
<view class="info-item"><view class="label">部门:</view>{{roomInfo.deptName}}</view>
<view class="info-item"><view class="label">代理人:</view>{{roomInfo.personName}}</view>
</view>
<view class="bottom-box">
<view class="item" @click="careFun">
<!-- 0未关注 1关注 -->
<image class="item-icon" v-if="roomInfo.isStore==1" src="/static/kehu/love.png" mode="" />
<image class="item-icon" v-else src="/static/czDetail/care_icon.png" mode="" />
<view class="item-text">关注</view>
</view>
<view class="line"></view>
<view class="item" @click="visitFun">
<image class="item-icon" src="/static/czDetail/visit_icon.png" mode="" />
<view class="item-text">拜访</view>
</view>
<view class="line"></view>
<view class="item" @click="topage('otherPage/jjrentFollow')">
<image class="item-icon" src="/static/czDetail/follow_icon.png" mode="" />
<view class="item-text">跟进</view>
</view>
<view class="line"></view>
<view class="item" @click="topage('otherPage/ledList')">
<image class="item-icon" src="/static/czDetail/book.png" mode="" />
<view class="item-text">历史记录</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
picList: [],
roomId:'',
roomInfo:{}
};
},
onLoad(options) {
this.roomId = options.id;
this.roomInfo = {}
this.roomInfo = uni.getStorageSync('roomInfo')
console.log(this.roomInfo)
// this.roomPictureList()
},
onShow() {
},
methods: {
//拜访
visitFun(){
uni.navigateTo({
url: '/pages/otherPage/jjrentVisit?masterHouseId='+ this.roomInfo.masterHouseId+'&mediacyId='+ this.roomInfo.mediacyId+'&address='+this.roomInfo.address+'&personName='+this.roomInfo.personName
})
},
// 关注,取消关注
careFun(){
if(this.roomInfo.isStore==1){
this.$u.api.cancelStoreUp({body:{mediacyId: this.roomInfo.mediacyId}}).then((res)=>{
if(res.ErrNo=='0000'){
this.roomInfo.isStore =0
uni.showToast({
title: res.ErrMsg,
icon: 'none'
})
}
})
}else{
this.$u.api.storeUp({body:{masterHouseId:this.roomInfo.masterHouseId,mediacyId: this.roomInfo.mediacyId}}).then((res)=>{
if(res.ErrNo=='0000'){
this.roomInfo.isStore = 1
uni.showToast({
title: res.ErrMsg,
icon: 'none'
})
}
})
}
},
// 图片列表
roomPictureList(){
this.$u.api.roomPictureList({body:{roomId:this.roomId}}).then((res)=>{
// 图片类型10 .封面 11.轮播图
if(res.result&&res.result.length){
this.picList = res.result.map(item=>item.pictureUrl)
}
})
},
topage(page){
uni.navigateTo({
url: "/pages/" + page+'?mediacyId='+this.roomInfo.mediacyId+ '&isStore='+this.roomInfo.isStore+'&masterHouseId='+this.roomInfo.masterHouseId
});
},
call(tel){
wx.makePhoneCall(
{
phoneNumber: tel
}
)
},
preview(e){
// console.log(e)
let that = this
wx.previewImage({
current: that.picList[e], // 当前显示图片的http链接
urls: that.picList // 需要预览的图片http链接列表
})
}
},
onHide: function() {},
};
</script>

<style lang="scss" scoped>
.container{
width: 750rpx;
min-height: 100vh;
background: #f8f8f8;
padding-bottom: 150rpx;
.pic-wrap{
width: 750rpx;
height: 460rpx;
}
.house-info{
padding: 30rpx;
margin-bottom: 20rpx;
background: #fff;
.top-cont{
display: flex;
justify-content: space-between;
align-items: center;
.title{
max-width: 460rpx;
height: 44rpx;
font-size: 32rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 44rpx;
letter-spacing: 1rpx;
display: flex;
align-items: center;
.map{
flex: 0 0 32rpx;
width: 32rpx;
height: 32rpx;
margin-left: 12rpx;
}
}
.call-info{
height: 42rpx;
font-size: 30rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
line-height: 42rpx;
display: flex;
align-items: center;
.call{
width: 38rpx;
height: 38rpx;
margin-right: 12rpx;
}
}
}
.mid-cont{
margin: 28rpx 0;
display: flex;
align-items: center;
justify-content: space-around;
.item{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.item-val{
height: 44rpx;
font-size: 32rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FF6D25;
line-height: 44rpx;
margin-bottom: 10rpx;
}
.item-type{
height: 40rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
line-height: 40rpx;
}
}
}
.bot-cont{
display: flex;
justify-content: space-around;
align-items: center;
.item-btn{
width: 210rpx;
height: 64rpx;
line-height:64rpx;
text-align: center;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
border-radius: 8rpx;
&.color1{
background: #2671E2;
}
&.color2{
background: #07B79D;
}
&.color3{
background: #FF6D25;
}

}
}
}
.detail-info{
background-color: #fff;
margin-bottom: 20rpx;
padding: 30rpx;
.info-item{
display: flex;
align-items: center;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
margin-bottom: 24rpx;

.label{
width: 120rpx;
color: #666666;
}
}

}
.room-info{
width: 750rpx;
padding: 30rpx;
background: #fff;
.title{
height: 44rpx;
font-size: 32rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 44rpx;
margin-bottom: 24rpx;
}
.item{
margin-bottom: 24rpx;
width: 690rpx;
height: 80rpx;
line-height: 80rpx;
background: #F8F8F8;
border-radius: 8rpx;
padding: 30rpx;
display: flex;
align-items: center;
justify-content: space-between;
.left{
height: 40rpx;
font-size: 28rpx;
color: #333333;
line-height: 40rpx;
display: flex;
align-items: center;
.sex{
width: 40rpx;
height: 40rpx;
margin-right: 12rpx;
}
.number{
font-weight: 500;
}
.other-info{
font-weight: 400;
font-family: PingFangSC-Regular, PingFang SC;
}
}
.right{
height: 40rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
line-height: 40rpx;
}
}

}
.bottom-box{
position: fixed;
/* iphonex 等安全区设置,底部安全区适配 */
bottom: constant(safe-area-inset-bottom); /* 兼容 iOS < 11.2 */
bottom: env(safe-area-inset-bottom); /* 兼容 iOS >= 11.2 */
// box-sizing: content-box;
width: 750rpx;
height: 122rpx;
background: #FFFFFF;
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx 46rpx;
.line{
width: 1px;
height: 50rpx;
background: #E0E0E0;
}
.item{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.item-icon{
width: 40rpx;
height: 40rpx;
margin-bottom: 10rpx;
}
.item-text{
height: 32rpx;
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
line-height: 32rpx;
}
}
}
}
</style>

+ 164
- 0
src/pages/otherPage/jjrentFollow.vue Bestand weergeven

@@ -0,0 +1,164 @@
<template>
<view class="container">
<view class="form-box">
<view class="item">
<view class="label">跟进类型</view>
<view class="input">
<u-input height="102" @click="typeShow=true" type="text" disabled input-align="right" v-model="form.typeName" placeholder="请选择跟进类型"></u-input>
<image class="path" @click="typeShow=true" src="/static/path.png" mode="" />
<u-select confirm-color="#FF6D25" value-name="code" label-name="text" v-model="typeShow" :list="followTypeList" @confirm="confirmType"></u-select>
</view>
</view>
<view class="last-item">
<view class="label">跟进内容</view>
<u-input style="flex:1" input-align="right" :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" @click="submit">提交</view>
</view>
</template>
<script>
export default {
data() {
return {
typeShow: false,
form: {
type: '',
typeName: '',
mark: ''//备注
},
followTypeList: [],
customStyle:{
maxHeight:'200rpx',
padding: '20rpx',
fontSize: '30rpx',
borderBottom:'1px solid #e0e0e0'
},
};
},
onLoad(options) {
this.mediacyId = options.mediacyId;
this.isStore = options.isStore;
this.getFollowType()
},
methods: {
confirmType(e){
console.log(e)
this.form.type = e[0].value
this.form.typeName = e[0].label
},
// 居间跟进类别
getFollowType(){
this.$u.api.getFollowType({body:{}}).then((res)=>{
// console.log(res)
this.followTypeList = res.result||[]
})
},
submit() {
if(this.form.type==''){
uni.showToast({
title: '请选择跟进类型',
icon: 'none'
})
return;
}
if(this.form.content==''){
uni.showToast({
title: '请输入跟进内容',
icon: 'none'
})
return;
}
// 跟进
let params = {
"content": this.form.mark,
"followType": this.form.type,
"mediacyId": this.mediacyId,
"isStore":this.isStore
}
this.$u.api.intermediaryFollow({body:params}).then((res)=>{
if(res.ErrNo=='0000'){
uni.showToast({
title: res.ErrMsg,
icon: 'none'
})
wx.navigateBack()
}
})
},
},
};
</script>

<style lang="scss" scoped>
.container {
width: 750rpx;
min-height: 100vh;
background: #F8F8F8;
padding-top: 20rpx;
.form-box{
background: #fff;
padding: 0 30rpx;
.item{
height: 102rpx;
font-size: 30rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
line-height: 102rpx;
color: #333333;
border-bottom: 1px solid #e0e0e0;
display: flex;
align-items: center;
justify-content: space-between;
.label{
width: 120rpx;
margin-right: 20rpx;
}
.input{
width: 380rpx;
display: flex;
align-items: center;
justify-content: flex-end;
.path{
width: 14rpx;
height: 30rpx;
margin-left: 20rpx;
}
.calendar{
width: 40rpx;
height: 40rpx;
margin-left: 20rpx;
}

}
}
.last-item{
display: flex;
.label{
line-height: 102rpx;
font-size: 30rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
margin-right: 150rpx;
}

}
}
.submit-btn{
width: 690rpx;
height: 88rpx;
line-height: 88rpx;
text-align: center;
background: #FF6D25;
border-radius: 12rpx;
margin-left: 30rpx;
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
position: fixed;
bottom: 90rpx;
}
}
</style>

+ 166
- 0
src/pages/otherPage/jjrentVisit.vue Bestand weergeven

@@ -0,0 +1,166 @@
<template>
<view class="container">
<view class="form-box">
<view class="item">
<view class="label">地址</view>
<view class="input">
<u-input height="102" type="text" input-align="right" v-model="form.address" placeholder="请输入地址"></u-input>
</view>
</view>
<view class="item">
<view class="label">操作人</view>
<view class="input">
<u-input height="102" type="text" input-align="right" v-model="form.person" placeholder="请输入操作人"></u-input>
</view>
</view>
<view class="item">
<view class="label">上传图片</view>
</view>
<u-upload ref="uUpload" :show-progress="false" max-count="6" @on-uploaded="upload" :action="action" :auto-upload="true" :file-list="fileList" ></u-upload>
</view>
<view class="submit-btn" @click="submit">提交</view>
</view>
</template>
<script>
export default {
data() {
return {
action: 'https://erpx.2weisou.com/sjjy/file/upload.do',
fileList: [],
form: {
address: '',
person: '',
},
customStyle:{
maxHeight:'200rpx',
padding: '20rpx',
fontSize: '30rpx',
borderBottom:'1px solid #e0e0e0'
},
};
},
onLoad(options) {
this.mediacyId = options.mediacyId;
this.masterHouseId = options.masterHouseId;
this.form.person = options.personName;
this.form.address = options.address;
},
methods: {
upload(lists, name){
console.log(lists)
console.log(name)
},
submit() {
let files = this.$refs.uUpload.lists;
this.fileList = files.length&files.map(item=>{
return {
url: item.url,
webUrl: item.url
}
})
console.log(this.fileList)
if(this.form.address==''){
uni.showToast({
title: '请输入地址',
icon: 'none'
})
return;
}
if(this.form.person==''){
uni.showToast({
title: '请输入操作人',
icon: 'none'
})
return;
}
let params = {
"masterHouseId": this.masterHouseId,
"mediacyId": this.mediacyId,
imageDetails: this.fileList
}
this.$u.api.visit({body:params}).then((res)=>{
// console.log(res)
if(res.ErrNo=='0000'){
uni.showToast({
title: res.ErrMsg,
icon: 'none'
})
}
})
},
},
};
</script>

<style lang="scss" scoped>
.container {
width: 750rpx;
min-height: 100vh;
background: #F8F8F8;
padding-top: 20rpx;
.form-box{
background: #fff;
padding: 0 30rpx;
.item{
height: 102rpx;
font-size: 30rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
line-height: 102rpx;
color: #333333;
border-bottom: 1px solid #e0e0e0;
display: flex;
align-items: center;
justify-content: space-between;
.label{
width: 120rpx;
margin-right: 20rpx;
}
.input{
width: 380rpx;
display: flex;
align-items: center;
justify-content: flex-end;
.path{
width: 14rpx;
height: 30rpx;
margin-left: 20rpx;
}
.calendar{
width: 40rpx;
height: 40rpx;
margin-left: 20rpx;
}

}
}
.last-item{
display: flex;
.label{
line-height: 102rpx;
font-size: 30rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
margin-right: 150rpx;
}

}
}
.submit-btn{
width: 690rpx;
height: 88rpx;
line-height: 88rpx;
text-align: center;
background: #FF6D25;
border-radius: 12rpx;
margin-left: 30rpx;
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #FFFFFF;
position: fixed;
bottom: 90rpx;
}
}
</style>

+ 0
- 12
src/pages/otherPage/rent.vue Bestand weergeven

@@ -115,11 +115,6 @@
pageSize: 10,
loadDone: false,
};
},
onLoad(options) {
},
onShow() {
},
created(){
this.getList()
@@ -261,13 +256,6 @@
})
}
},

onLoad: function(options) {
},
onHide: function() {},
onReachBottom() {
this.getList();
},
};
</script>



+ 24
- 11
src/pages/otherPage/shouding.vue Bestand weergeven

@@ -10,7 +10,7 @@
<view class="item">
<view class="label">身份证号</view>
<view class="input">
<u-input :clearable="false" type="text" input-align="right" v-model="form.tel" placeholder="请输入身份证号"></u-input>
<u-input :clearable="false" type="text" input-align="right" v-model="form.Idno" placeholder="请输入身份证号"></u-input>
</view>
</view>
<view class="item">
@@ -28,25 +28,25 @@
<view class="item">
<view class="label">租金金额(元)</view>
<view class="input">
<u-input :clearable="false" type="text" input-align="right" v-model="form.tel" placeholder="请输入租金金额"></u-input>
<u-input :clearable="false" type="text" input-align="right" v-model="form.rent_price" placeholder="请输入租金金额"></u-input>
</view>
</view>
<view class="item">
<view class="label">服务费(元)</view>
<view class="input">
<u-input :clearable="false" type="text" input-align="right" v-model="form.tel" placeholder="请输入服务费"></u-input>
<u-input :clearable="false" type="text" input-align="right" v-model="form.fee" placeholder="请输入服务费"></u-input>
</view>
</view>
<view class="item">
<view class="label">卫生费(元)</view>
<view class="input">
<u-input :clearable="false" type="text" input-align="right" v-model="form.tel" placeholder="请输入卫生费"></u-input>
<u-input :clearable="false" type="text" input-align="right" v-model="form.ws_fee" placeholder="请输入卫生费"></u-input>
</view>
</view>
<view class="item">
<view class="label">有线费(元)</view>
<view class="input">
<u-input :clearable="false" type="text" input-align="right" v-model="form.tel" placeholder="请输入有线费"></u-input>
<u-input :clearable="false" type="text" input-align="right" v-model="form.tv_price" placeholder="请输入有线费"></u-input>
</view>
</view>
<view class="item">
@@ -75,7 +75,7 @@
<view class="item">
<view class="label">签约时间</view>
<view class="input" >
<u-input height="100" @click="calendarShow2 = true" disabled input-align="right" v-model="form.date" placeholder="请选择签约时间"></u-input>
<u-input height="100" @click="calendarShow2 = true" disabled input-align="right" v-model="form.rent_date" placeholder="请选择签约时间"></u-input>
<image class="calendar" @click="calendarShow2 = true" src="/static/kehu/calendar.png" mode=""/>
<u-calendar v-model="calendarShow2" maxdate='2099-12-31' mode="date" @change="dateConfirm2"></u-calendar>
</view>
@@ -98,14 +98,18 @@
customerType: '',//类型-个人:1,单位:2
mobile: '',
money: '',
fee: '',
Idno: '',//身份证号
houseAddress: '',
houseAddressName: '',
deptName: '开发部一处',
applyPerson:'张三地方',
endDate:'',
starDate:'',
date: '',
paymentWay:'',
ws_fee: '',
tv_price: '',
rent_date: '',
payment_way:'',
payTypeName:''
},
payTypeList: [
@@ -167,7 +171,7 @@
},
confirmPaytype(e){
console.log(e)
this.form.paymentWay = e[0].value
this.form.payment_way = e[0].value
this.form.payTypeName = e[0].label
},
submit() {
@@ -175,9 +179,18 @@
"roomId": this.roomId,
"customerType": this.form.customerType,
"customerName": this.form.customerName,
"mobile": this.form.mobile,
"customerTel": this.form.mobile,
"money": this.form.money,
"paymentWay": this.form.paymentWay
"companyId": 22,
"rent_price": this.form.rent_price,
"fee": this.form.fee,
"ws_fee": this.form.ws_fee,
"tv_price": this.form.tv_price,
"payment_way": this.form.payment_way,
"rent_date_start":this.form.starDate,
"rent_date_end": this.form.endDate,
"rent_date": this.form.rent_date,
"idno": this.form.idno,
}
this.$u.api.deposit({body:body}).then((res)=>{
// 图片类型10 .封面 11.轮播图


+ 19
- 1
src/pages/tabs/customer.vue Bestand weergeven

@@ -18,7 +18,9 @@
<view class="list-item" v-for="(item,index) in listData" :key="index">
<view class="item-top">
<view class="item-left">
<view class="person">{{item.customerName}}<image class="love" src="/static/kehu/love.png" mode="" /></view>
<view class="person">{{item.customerName}}<image v-if="item.customerLevel==1" class="love" src="/static/kehu/love.png" mode="" />
<image v-else @click="love(item)" class="love" src="/static/kehu/notlove.png" mode="" />
</view>
<view class="time">{{item.belongPerson}}于{{item.createTime}}录入</view>
<view class="diffDay">未跟进时间:{{item.missingDays}}天</view>
</view>
@@ -95,6 +97,22 @@
this.getcustomerList();
},
methods: {
// 关注
love(item){
this.$u.api.updateLevel({body:{
customerMobile: item.customerMobile,
customerLevel: 1
}}).then((res)=>{
// console.log(res)
if(res.ErrNo=='0000'){
uni.showToast({
title: res.ErrMsg,
icon: 'none'
})
item.customerLevel = 1
}
})
},
// 获取筛选下拉的数据
getbaseData(){
this.$u.api.region({body:{}}).then((res)=>{


+ 10
- 0
src/pages/tabs/login.vue Bestand weergeven

@@ -105,12 +105,22 @@ export default {
if(res.ErrNo=='0000'){
uni.setStorageSync('token',res.result.SESSIONID)
this.$u.vuex("vuex_token",res.result.SESSIONID);
this.getfindPerson()
uni.switchTab({
url: '/pages/tabs/index'
})
}
});
},
// 当前登录人信息查询
getfindPerson(){
this.$u.api.findPerson({body:{}}).then((res)=>{
console.log(res)
let userInfo = res.result
this.$u.vuex("vuex_user",userInfo);
uni.setStorageSync('user',userInfo)
})
},
},
// onShareAppMessage(){



BIN
src/static/czDetail/care_icon.png Bestand weergeven

Voor Na
Breedte: 40  |  Hoogte: 36  |  Grootte: 1.0 KiB

BIN
src/static/czDetail/follow_icon.png Bestand weergeven

Voor Na
Breedte: 40  |  Hoogte: 40  |  Grootte: 922 B

BIN
src/static/czDetail/visit_icon.png Bestand weergeven

Voor Na
Breedte: 40  |  Hoogte: 40  |  Grootte: 1.2 KiB

BIN
src/static/kehu/notlove.png Bestand weergeven

Voor Na
Breedte: 34  |  Hoogte: 30  |  Grootte: 859 B

Laden…
Annuleren
Opslaan