diff --git a/App.vue b/App.vue index 72ca457a81e5181f15ac25f361b77fb590bb59d6..1b483f2a0ce0521c6a434c6fad5c28b21bec8368 100644 --- a/App.vue +++ b/App.vue @@ -39,7 +39,7 @@ repairPhoto: [] }, complaintInfo: { - // complaintThem: '', + // complaintTheme: '', // userName: '', // userPhone: '', // problemDesc: '', diff --git a/config/api.js b/config/api.js index 08bfabb67ce06a103106c7ee20a788dd878592e5..3fb6acecf22eb2b09788ba30ef4a9bd5bafbbe40 100644 --- a/config/api.js +++ b/config/api.js @@ -262,11 +262,15 @@ export const updateStatusApi = (params, config = {})=> { } // 维修上报列表 -export const getCommunityRepairListApi = (params, config = {})=> { +export const getCommunityRepairListApi = (params = {}, config = {})=> { return new Promise((resolve, reject)=> { http.get('/property-community/wechat/communityRepair/list', { - data: { ...params}, + data: { + ...params, + ownerId: uni.getStorageSync('openid'), + platformCode: uni.getStorageSync('platform_code') + }, ...config }) .then(res=> { resolve(res) }) @@ -279,7 +283,11 @@ export const getCommunityRepairDetailApi = (params, config = {})=> { return new Promise((resolve, reject)=> { http.get('/property-community/wechat/communityRepair/queryById', { - data: { ...params}, + data: { + ...params, + ownerId: uni.getStorageSync('openid'), + platformCode: uni.getStorageSync('platform_code') + }, ...config }) .then(res=> { resolve(res) }) @@ -288,10 +296,14 @@ export const getCommunityRepairDetailApi = (params, config = {})=> { } // 新增维修上报 -export const addCommunityRepairApi = (params, config = {})=> { +export const addCommunityRepairApi = (params = {}, config = {})=> { return new Promise((resolve, reject)=> { http.post('/property-community/wechat/communityRepair/add', - { ...params }, + { + ...params, + ownerId: uni.getStorageSync('openid'), + platformCode: uni.getStorageSync('platform_code') + }, { ...config }) .then(res=> { resolve(res) }) .catch(err=> { reject(err) }) @@ -299,10 +311,14 @@ export const addCommunityRepairApi = (params, config = {})=> { } // 修改维修上报 -export const editCommunityRepairApi = (params, config = {})=> { +export const editCommunityRepairApi = (params = {}, config = {})=> { return new Promise((resolve, reject)=> { http.post('/property-community/wechat/communityRepair/edit', - { ...params }, + { + ...params, + ownerId: uni.getStorageSync('openid'), + platformCode: uni.getStorageSync('platform_code') + }, { ...config }) .then(res=> { resolve(res) }) .catch(err=> { reject(err) }) @@ -323,11 +339,15 @@ export const deleteCommunityRepairApi = (params, config = {})=> { } // 投诉列表 -export const getCommunityComplaintListApi = (params, config = {})=> { +export const getCommunityComplaintListApi = (params = {}, config = {})=> { return new Promise((resolve, reject)=> { http.get('/property-community/wechat/communityComplaint/list', { - data: { ...params}, + data: { + ...params, + userId: uni.getStorageSync('openid'), + platformCode: uni.getStorageSync('platform_code') + }, ...config }) .then(res=> { resolve(res) }) @@ -349,10 +369,14 @@ export const getCommunityComplaintDetailApi = (params, config = {})=> { } // 新增投诉 -export const addCommunityComplaintApi = (params, config = {})=> { +export const addCommunityComplaintApi = (params = {}, config = {})=> { return new Promise((resolve, reject)=> { http.post('/property-community/wechat/communityComplaint/add', - { ...params }, + { + ...params, + userId: uni.getStorageSync('openid'), + platformCode: uni.getStorageSync('platform_code') + }, { ...config }) .then(res=> { resolve(res) }) .catch(err=> { reject(err) }) diff --git a/config/server_config.js b/config/server_config.js index 9fe1290e68f06abd6c48b5d8db0944e332674cd7..660e564de4879da64d6c0883459d66a18e50c331 100644 --- a/config/server_config.js +++ b/config/server_config.js @@ -2,7 +2,8 @@ * 接å£å‚æ•° */ const serverConfig = { - baseURL: "http://192.168.0.118:9999", + baseURL: "http://192.168.0.100:9999", + // baseURL: "http://192.168.0.118:9999", // baseURL: "http://220.203.25.212:9999", /* æ ¹åŸŸå */ // baseURL: "http://114.67.111.37:8001" /* æ ¹åŸŸå */ } diff --git a/pages/community/index.vue b/pages/community/index.vue index e5531bf081a4d042c8f5d210685ad4468a1cb8e9..ac058dd8d2a169f969200575813a8f51c96a619a 100644 --- a/pages/community/index.vue +++ b/pages/community/index.vue @@ -4,10 +4,7 @@ <view class="search"> <uni-search-bar placeholder="请输入您的å°åŒºå" bgColor="#EEEEEE" @confirm="search" /> <view class="list"> - <view class="item">汉江之星å°åŒº</view> - <view class="item">å—航碧桂å›å°åŒº</view> - <view class="item">阳光花å›å°åŒº</view> - <view class="item">天河彩虹城</view> + <view class="item" :class="{'active': item.platformCode === currentHouseCode}" @click="onChangeHouse(item)" v-for="item in houseList" :key="item.platformCode">{{item.platformName}}</view> </view> </view> </view> @@ -18,22 +15,32 @@ export default { data() { return { - + houseList: [], + currentHouseCode: '' } }, methods: { - toDetails() { - uni.navigateTo({ - url: '/pages/announcementDetails/index', - }); - + onChangeHouse(item) { + if(item.platformCode === this.currentHouseCode) return + uni.setStorageSync('platform_code', item.platformCode) + uni.reLaunch({ + url: '/pages/home/index' + }) + }, + search(value) { + console.log(value) } }, onLoad() { - - }, - onShow() { - + this.currentHouseCode = uni.getStorageSync('platform_code') + let userType = uni.getStorageSync('user_type') + if(userType === '1') { + let data = uni.getStorageSync('user_house_list') + this.houseList = JSON.parse(data) + } else { + let data = uni.getStorageSync('employee_house_list') + this.houseList = JSON.parse(data) + } } } </script> @@ -53,6 +60,9 @@ height: 84rpx; line-height: 84rpx; border-bottom: 1px solid #F8F6F9; + &.active { + color: #6A59F2; + } } } } diff --git a/pages/complaints/index.vue b/pages/complaints/index.vue index be403036a5535344a43bccd36c0c4aa7207bc244..a6067493d7b8852cc59c01c414778062d999ba1a 100644 --- a/pages/complaints/index.vue +++ b/pages/complaints/index.vue @@ -1,7 +1,7 @@ <template> <view class="container"> <view class="page"> - <view class="complaints"> + <view class="complaints" v-if="maintenanceList.length !== 0"> <view class="information" v-for="item in maintenanceList" :key="item.id" @click="toDetail(item.id)"> <view class="title" :class="item.handleStatus === 'finish' ? 'gray' : 'yellow'">{{item.complaintTheme}}<view class="tag">{{item.statusName}}</view> </view> @@ -17,6 +17,7 @@ </view> </view> </view> + <no-data :show="maintenanceList.length === 0" text="æš‚æ— æŠ•è¯‰ä¿¡æ¯"></no-data> </view> <view class="form-submit-fixed"> <view class="form-submit" @click="toEditor()">新增投诉</view> @@ -29,11 +30,14 @@ getCommunityComplaintListApi, } from '@/config/api.js' import {Moment} from '@/utils/moment.js' + import noData from '@/components/no-data/no-data' const handleStatus = { waitPending: '待处ç†', + pending: '处ç†ä¸', finish: '处ç†å®Œæˆ' } export default { + components: {noData}, data() { return { maintenanceList: [] @@ -51,7 +55,7 @@ }); }, async getList() { - let {result} = await getCommunityComplaintListApi({userId: getApp().globalData.houseInfo.id}) + let {result} = await getCommunityComplaintListApi() this.maintenanceList = result.records.map(item=> { return { ...item, @@ -75,13 +79,9 @@ } </style> <style lang="scss" scoped> - .page { + .complaints { padding: 30rpx 30rpx 90rpx; background-color: #F8F6F9; - } - - .complaints { - .information { background-color: #ffffff; border-radius: 16rpx; diff --git a/pages/complaintsAdd/index.vue b/pages/complaintsAdd/index.vue index 2c5006fb220aea8fdabb723cecdc27d1c840d0b7..d00f2e30dc1c935b27802ef40bc39b001af67162 100644 --- a/pages/complaintsAdd/index.vue +++ b/pages/complaintsAdd/index.vue @@ -69,28 +69,27 @@ }, methods: { async toAudit() { - // let complaintImg = this.formData.complaintImg.map(item=>item.url).join(',') - // let data =await addCommunityComplaintApi({ - // ...this.formData, - // complaintImg, - // userId: getApp().globalData.houseInfo.id - // }) - // getApp().globalData.complaintInfo = { - // ...this.formData, - // complaintImg, - // repairStatus: 'waitAudit' - // } - // setTimeout(()=> { - // uni.showToast({ - // title: 'æäº¤æˆåŠŸï¼', - // icon: 'none' - // }); - // setTimeout(()=> { + let complaintImg = this.formData.complaintImg.map(item=>item.url).join(',') + let data = await addCommunityComplaintApi({ + ...this.formData, + complaintImg + }) + getApp().globalData.complaintInfo = { + ...this.formData, + complaintImg, + repairStatus: 'waitAudit' + } + setTimeout(()=> { + uni.showToast({ + title: 'æäº¤æˆåŠŸï¼', + icon: 'none' + }); + setTimeout(()=> { uni.navigateTo({ url: '/pages/complaintsDetail/index', }); - // }, 1500) - // }, 30) + }, 1500) + }, 30) }, uploadImage(path) { return new Promise((resolve, reject)=> { diff --git a/pages/complaintsDetail/index.vue b/pages/complaintsDetail/index.vue index f343a054bd5ded0a45d2c6ea31e4e957838b4209..cbcd4c297004d3cdbaa24f7529353054a60c1931 100644 --- a/pages/complaintsDetail/index.vue +++ b/pages/complaintsDetail/index.vue @@ -3,7 +3,7 @@ <view class="page"> <view class="complaints"> <view class="information"> - <view class="title">{{complaintsDetail.complaintThem || ''}}</view> + <view class="title">{{complaintsDetail.complaintTheme || ''}}</view> <view class="content"> <view class="item"> <view class="name">投诉人</view> @@ -55,7 +55,7 @@ data() { return { complaintsDetail: { - complaintThem: '', + complaintTheme: '', userName: '', userPhone: '', problemDesc: '', diff --git a/pages/home/index.vue b/pages/home/index.vue index 232ffb031c8b14cd83205d416fe2b53d1bcb3c92..d4c321c611dabae5701d10ac5bad23cdf716340d 100644 --- a/pages/home/index.vue +++ b/pages/home/index.vue @@ -1,10 +1,10 @@ <template> - <view class="container" style="background-image: url('../../static/images/bg_home.png');"> + <view class="container"> <view class="page" :style="{'padding-top': statusBarHeight + 'px'}"> <view class="nav-top-box" @click="toCommunity()"> <view class="nav-top" v-if="houseInfo.platformName"> <view class="title">{{houseInfo.platformName}}</view> - <image v-if="houseList.length > 1" mode="aspectFill" src="../../static/images/icon_up.png" class="icon"></image> + <image v-if="canChange" mode="aspectFill" src="../../static/images/icon_up.png" class="icon"></image> </view> </view> <view class="banner"> @@ -23,72 +23,112 @@ </swiper-item> </swiper> </view> - <view class="quick-entry"> - <view class="item" @click="quickEntry(1)"> - <view class="item-img"> - <image src="../../static/images/quick01.png" class="icon"></image> - <view class="num">{{communityInfo.noticeNotRead}}</view> + <template v-if="userType === '1'"> + <view class="quick-entry"> + <view class="item" @click="quickEntry(1)"> + <view class="item-img"> + <image src="../../static/images/quick01.png" class="icon"></image> + <view v-if="communityInfo.noticeNotRead" class="num">{{communityInfo.noticeNotRead}}</view> + </view> + <text>我的消æ¯</text> </view> - <text>我的消æ¯</text> - </view> - <view class="item" @click="quickEntry(2)"> - <image src="../../static/images/quick02.png" class="icon"></image> - <text>房屋登记</text> - </view> - <view class="item" @click="quickEntry(3)"> - <view class="item-img"> - <image src="../../static/images/quick03.png" class="icon"></image> - <view class="num">{{communityInfo.notPay}}</view> + <view class="item" @click="quickEntry(2)"> + <image src="../../static/images/quick02.png" class="icon"></image> + <text>房屋登记</text> + </view> + <view class="item" @click="quickEntry(3)"> + <view class="item-img"> + <image src="../../static/images/quick03.png" class="icon"></image> + <view v-if="communityInfo.notPay" class="num">{{communityInfo.notPay}}</view> + </view> + <text>生活缴费</text> + </view> + <view class="item" @click="quickEntry(4)"> + <image src="../../static/images/quick04.png" class="icon"></image> + <text>维修上报</text> + </view> + <view class="item" @click="quickEntry(5)"> + <image src="../../static/images/quick05.png" class="icon"></image> + <text>å°åŒºæŠ•诉</text> + </view> + <view class="item" @click="quickEntry(6)"> + <image src="../../static/images/quick06.png" class="icon"></image> + <text>公告公示</text> + </view> + <view class="item" @click="quickEntry(7)"> + <image src="../../static/images/quick07.png" class="icon"></image> + <text>缴纳物业费</text> </view> - <text>生活缴费</text> - </view> - <view class="item" @click="quickEntry(4)"> - <image src="../../static/images/quick04.png" class="icon"></image> - <text>维修上报</text> - </view> - <view class="item" @click="quickEntry(5)"> - <image src="../../static/images/quick05.png" class="icon"></image> - <text>å°åŒºæŠ•诉</text> - </view> - <view class="item" @click="quickEntry(6)"> - <image src="../../static/images/quick06.png" class="icon"></image> - <text>公告公示</text> </view> - <view class="item" @click="quickEntry(7)"> - <image src="../../static/images/quick07.png" class="icon"></image> - <text>缴纳物业费</text> + <!-- <view v-if="communityInfo.adminPhone" class="housekeeper" style="background-image: url('../../static/images/bg_guanjia.png');"> --> + <view v-if="communityInfo.adminPhone" class="housekeeper"> + <view class="information"> + <image :src="communityInfo.adminAvatar" class="icon"></image> + <view class="title"> + <text class="name">{{communityInfo.adminName}}</text> + <text class="about">您的专属管家</text> + </view> + </view> + <view class="phone" @click="onCallPhone"> + <image src="../../static/images/icon_phone.png" class="icon"></image> + <text>{{communityInfo.adminPhone}}</text> + </view> </view> - </view> - <view v-if="communityInfo.adminPhone" class="housekeeper" style="background-image: url('../../static/images/bg_guanjia.png');"> - <view class="information"> - <image :src="communityInfo.adminAvatar" class="icon"></image> + <!-- <view class="housekeeper"> + <view class="information"> + <image src="../../static/images/img01.png" class="icon"></image> + <view class="title"> + <text class="name">王一一</text> + <text class="about">您的专属管家</text> + </view> + </view> + <view class="phone"> + <image src="../../static/images/icon_phone.png" class="icon"></image> + <text>159-2546-5285</text> + </view> + </view> --> + + + <view v-if="noticeList.length" class="news"> <view class="title"> - <text class="name">{{communityInfo.adminName}}</text> - <text class="about">您的专属管家</text> + <text>社区活动公告</text> + <image src="../../static/images/icon_more.png" class="icon"></image> + </view> + <view class="list"> + <view class="item" v-for="item in noticeList" :key="item.id" @click="toDetails(2)"> + <image src="../../static/images/img02.png" class="icon"></image> + <view class="con"> + <view class="name">{{item.noticeTitle}}</view> + <view class="time">物业æœåŠ¡ä¸å¿ƒ 2020/09/08</view> + </view> + </view> </view> </view> - <view class="phone" @click="onCallPhone"> - <image src="../../static/images/icon_phone.png" class="icon"></image> - <text>{{communityInfo.adminPhone}}</text> - </view> - </view> - - <view v-if="noticeList.length" class="news"> + </template> + <view v-if="userType === '2'" class="news"> <view class="title"> <text>社区活动公告</text> <image src="../../static/images/icon_more.png" class="icon"></image> </view> <view class="list"> - <view class="item" v-for="item in noticeList" :key="item.id" @click="toDetails(2)"> + <view class="item" @click="toDetails(2)"> <image src="../../static/images/img02.png" class="icon"></image> <view class="con"> - <view class="name">{{item.noticeTitle}}</view> + <view class="name">开展民æ—团结进æ¥åˆ›å»ºè¿›ç¤¾åŒº 活动</view> + <view class="time">物业æœåŠ¡ä¸å¿ƒ 2020/09/08</view> + </view> + </view> + <view class="item" @click="toDetails(2)"> + <image src="../../static/images/img03.png" class="icon"></image> + <view class="con"> + <view class="name">开展民æ—团结进æ¥åˆ›å»ºè¿›ç¤¾åŒº 活动</view> <view class="time">物业æœåŠ¡ä¸å¿ƒ 2020/09/08</view> </view> </view> </view> </view> + <authorization-modal ref="authorization" @loginEnd="onLoginEnd" @refuse="onRefuse" /> </view> </view> @@ -111,6 +151,7 @@ data() { return { statusBarHeight: 24, + userType: '0', // 1:业主,2:维修员 houseList: [], // å®¡æ ¸é€šè¿‡çš„å°åŒºåˆ—表 waitList: [], // å¾…å®¡æ ¸æˆ–å·²é©³å›žåˆ—è¡¨ @@ -122,7 +163,9 @@ communityInfo: {}, // isLogin: false, - messageList: [], + messageList: [{ + noticeContent: '紧急通知ï¼ï¼ï¼ 所有居民请于下åˆ3ç‚¹äºŽå¼ æ¹¾å¹¿åœº' + }], noticeList: [] } }, @@ -138,6 +181,9 @@ }, isRefuse() { return this.waitList.some(item=>item.auditStatus === 'refuse') + }, + canChange() { + return this.houseList.length > 1 } }, methods: { @@ -282,25 +328,58 @@ let phone = uni.getStorageSync('user_phone') let {result} = await queryCommunityRoomByUnitIdApi({openId, phone}) if(result) { - let data = result.communityOwners - if(data.length) { - let houseList = data.filter(item=>item.auditStatus === 'auditPass') + let houseData = result.communityOwners + if(houseData.length) { + this.userType = '1' + uni.setStorageSync('user_type', '1') + let houseList = houseData.filter(item=>item.auditStatus === 'auditPass') if(houseList.length) { - let house_id = uni.getStorageSync('house_id') - if(house_id) { - let houseKey = houseList.findIndex(item=>item.id === house_id) + uni.setStorageSync('user_name', houseList[0].residentName) + let house_code = uni.getStorageSync('house_code') + if(house_code) { + let houseKey = houseList.findIndex(item=>item.id === house_code) this.houseKey = houseKey === -1 ? 0 : houseKey } - this.houseList = houseList - getApp().globalData.houseInfo = { - id: this.houseList[this.houseKey].id, - platformCode: this.houseList[this.houseKey].platformCode + this.houseList = houseList.map(item=> { + return { + id: item.id, + platformCode: item.platformCode, + platformName: item.platformName + } + }) + uni.setStorageSync('user_house_list', JSON.stringify(this.houseList)) + uni.setStorageSync('platform_code', this.houseList[this.houseKey].platformCode) + this.getCommunityInfo() + this.getAdvertisement() + } + this.waitList = houseData.filter(item=>item.auditStatus !== 'auditPass') + } + if(result.employeeVos) { + uni.setStorageSync('employee_name', result.employeeVos.employeeName) + let employeeData = result.employeeVos.comList + this.houseList = employeeData.map(item=> { + return { + platformCode: item.comCode, + platformName: item.comName + } + }) + uni.setStorageSync('employee_house_list', JSON.stringify(this.houseList)) + if(houseData.length === 0) { + this.userType = '2' + uni.setStorageSync('user_type', '2') + let house_code = uni.getStorageSync('house_code') + if(house_code) { + let houseKey = employeeData.findIndex(item=>item.id === house_code) + this.houseKey = houseKey === -1 ? 0 : houseKey + } else { + this.houseKey = 0 } + uni.setStorageSync('platform_code', this.houseList[this.houseKey].platformCode) this.getCommunityInfo() this.getAdvertisement() } - this.waitList = data.filter(item=>item.auditStatus !== 'auditPass') - } else { + } + if(houseData.length === 0 && !result.employeeVos) { this.neverRegister = true } } @@ -339,9 +418,25 @@ const menuButton = wx.getMenuButtonBoundingClientRect() this.statusBarHeight = menuButton.top this.getPropertyAdv() - // this.getPropertyLogin() + this.getPropertyLogin() if(this.isLogin) { - this.getUserInfo() + let platformCode = uni.getStorageSync('platform_code') + if(platformCode) { + let type = uni.getStorageSync('user_type') + let data = type === '1' ? uni.getStorageSync('user_house_list') : uni.getStorageSync('employee_house_list') + this.houseList = JSON.parse(data) + let houseKey = this.houseList.findIndex(item=>item.platformCode === platformCode) + this.houseKey = houseKey + if(type === '1') { + this.userType = '1' + this.getCommunityInfo() + } else { + this.userType = '2' + } + this.getAdvertisement() + } else { // 已注册,但首次进入 + this.getUserInfo() + } } }, onPullDownRefresh() { @@ -360,6 +455,7 @@ background-position: top center; background-repeat: no-repeat; background-size: cover; + background-image: url('http://192.168.0.118:9999/sys/common/static/scott/pic/bg_home_1686729455023.png'); } .page { @@ -454,8 +550,8 @@ .num { position: absolute; - top: -10px; - right: -10px; + top: -5px; + right: -5px; font-size: 20rpx; color: #FFFFFF; padding: 4rpx 8rpx; @@ -488,6 +584,7 @@ background-position: top center; background-repeat: no-repeat; background-size: cover; + background-image: url('http://192.168.0.118:9999/sys/common/static/scott/pic/bg_guanjia_1686729699631.png'); padding: 20rpx 30rpx; margin: 30rpx 0; diff --git a/pages/maintenance/index.vue b/pages/maintenance/index.vue index 694851eaa157748cff5b5e9d35186d126dec412b..9b85912075e02915aa142986300b6d023bf248cf 100644 --- a/pages/maintenance/index.vue +++ b/pages/maintenance/index.vue @@ -1,7 +1,7 @@ <template> <view class="container"> <view class="page"> - <view class="maintenance"> + <view class="maintenance" v-if="maintenanceList.length !== 0"> <view class="information" v-for="item in maintenanceList" :key="item.id" @click="onDetail(item.id)"> <view class="title" :class="item.color">{{item.repairTitle}}<view class="tag">{{item.statusName}}</view> </view> @@ -20,7 +20,7 @@ </view> </view> </view> - <view class="information" @click="toDetails()"> + <!-- <view class="information" @click="toDetails()"> <view class="title gray">浴霸ä¸å‡ºæ°´äº†<view class="tag">已评价</view><view class="tag">已完æˆ</view> </view> <view class="content"> @@ -49,8 +49,9 @@ <view class="detail"><uni-rate :value="4" :size="20" /></view> </view> </view> - </view> + </view> --> </view> + <no-data :show="maintenanceList.length === 0" text="æš‚æ— æŠ¥ä¿®ä¿¡æ¯"></no-data> </view> <view class="form-submit-fixed"> <view class="form-submit" @click="toEditor()">维修上报</view> @@ -59,32 +60,21 @@ </template> <script> -import { - getCommunityRepairListApi, -} from '@/config/api.js' +import { getCommunityRepairListApi } from '@/config/api.js' +import noData from '@/components/no-data/no-data' let statusList = { - waitAudit: { - name: 'å¾…å®¡æ ¸', - color: 'green' - }, - waitDispatch: { - name: 'å¾…æ´¾å•', - color: 'yellow' - }, - inRepair: { - name: 'ç»´ä¿®ä¸', - color: 'blue' - }, - finish: { - name: '已完æˆ', - color: 'gray' - }, - refuse: { - name: 'å®¡æ ¸é©³å›ž', - color: 'red' - } + initiateWaitAudit: { name: 'å¾…ç»´ä¿®', color: 'green' }, + waitDispatch: { name: 'å¾…ç»´ä¿®', color: 'green' }, + waitReceive: { name: 'å¾…ç»´ä¿®', color: 'green' }, + initiateRefuse: { name: '已驳回', color: 'red' }, + finishRefuse: { name: '已驳回', color: 'red' }, + inRepair: { name: 'ç»´ä¿®ä¸', color: 'blue' }, + finishWaitAudit: { name: 'ç»´ä¿®ä¸', color: 'blue' }, + finishAuditPass: { name: '已完æˆ', color: 'gray' } + // waitDispatch: { name: 'å¾…æ´¾å•', color: 'yellow' } } export default { + components: {noData}, data() { return { maintenanceList: [] @@ -97,7 +87,7 @@ export default { }); }, async getList() { - let {result} = await getCommunityRepairListApi({ownerId: getApp().globalData.houseInfo.id}) + let {result} = await getCommunityRepairListApi() this.maintenanceList = result.records.map(item=> { return { ...item, @@ -126,13 +116,9 @@ export default { } </style> <style lang="scss" scoped> - .page { + .maintenance { padding: 30rpx 30rpx 90rpx; background-color: #F8F6F9; - } - - .maintenance { - .information { background-color: #ffffff; diff --git a/pages/maintenanceAdd/index.vue b/pages/maintenanceAdd/index.vue index 9bfb4f9a612bf938d8c23aec28138c47da9fb147..d44f916035b4deda4ac11d7157237f668604121d 100644 --- a/pages/maintenanceAdd/index.vue +++ b/pages/maintenanceAdd/index.vue @@ -6,26 +6,26 @@ <uni-forms> <view class="form-item"> <view class="form-item-fl"> - <view class="asterisk">*</view>报修ä½ç½® + <view class="asterisk"></view>æ ‡é¢˜ </view> <view class="form-item-fr"> - <input class="form-item-tit" v-model="formData.repairAddress" focus placeholder="请输入报修ä½ç½®" /> + <input class="form-item-tit" v-model="formData.repairTitle" placeholder="è¯·è¾“å…¥æ ‡é¢˜" /> </view> </view> <view class="form-item"> <view class="form-item-fl"> - <view class="asterisk">*</view>æŠ¥ä¿®ç‰©å“ + <view class="asterisk">*</view>报修ä½ç½® </view> <view class="form-item-fr"> - <input class="form-item-tit" v-model="formData.repairArticle" placeholder="请输入报修物å“" /> + <input class="form-item-tit" v-model="formData.repairAddress" focus placeholder="请输入报修ä½ç½®" /> </view> </view> <view class="form-item"> <view class="form-item-fl"> - <view class="asterisk"></view>æ ‡é¢˜ + <view class="asterisk">*</view>æŠ¥ä¿®ç‰©å“ </view> <view class="form-item-fr"> - <input class="form-item-tit" v-model="formData.repairTitle" placeholder="è¯·è¾“å…¥æ ‡é¢˜" /> + <input class="form-item-tit" v-model="formData.repairArticle" placeholder="请输入报修物å“" /> </view> </view> <!-- <view class="form-item"> @@ -87,26 +87,23 @@ return { isPageEdit: false, formData: { - repairAddress: '', - repairArticle: '', - repairTitle: '', - ownerPhone: '', + repairTitle: '上报å°åŒºåžƒåœ¾æ¡¶å¤ªå°‘', + repairAddress: '10æ ‹ä¸€å•å…ƒ101', + repairArticle: '垃圾桶', reservationTime: '', - repairDesc: '', + ownerPhone: '13109890986', + repairDesc: '啥都好说SDK房价是SDK积分是', repairPhoto: [] }, } }, methods: { async toAudit() { - console.log(new Moment(this.formData.reservationTime, 'YYYY-MM-DD HH-mm')) - return let repairPhoto = this.formData.repairPhoto.map(item=>item.url).join(',') if(this.isPageEdit) { // 编辑 - let data =await editCommunityRepairApi({ + let data = await editCommunityRepairApi({ ...this.formData, - repairPhoto, - ownerId: getApp().globalData.houseInfo.id + repairPhoto }) // getApp().globalData.maintenanceInfo = { // ...this.formData, @@ -126,10 +123,9 @@ // }, 1500) // }, 30) } else { - let data =await addCommunityRepairApi({ + let data = await addCommunityRepairApi({ ...this.formData, - repairPhoto, - ownerId: getApp().globalData.houseInfo.id + repairPhoto }) // getApp().globalData.maintenanceInfo = { // ...this.formData, diff --git a/pages/mine/index.vue b/pages/mine/index.vue index c5e76c59741ab5e3c74def333fd8a0f09d82bc12..f61733f7d74033a066d171880d461b5100146c68 100644 --- a/pages/mine/index.vue +++ b/pages/mine/index.vue @@ -1,10 +1,11 @@ <template> <view class="container"> <view class="page"> - <view class="user" style="background-image: url('../../static/images/bg_mine.png');"> + <!-- <view class="user" style="background-image: url('../../static/images/bg_mine.png');"> --> + <view class="user"> <image src="../../static/images/img01.png" class="icon"></image> - <view class="name">林二</view> - <view class="phone">15245214563</view> + <view class="name">{{userName}}</view> + <view class="phone">{{userPhone}}</view> </view> <view class="service"> <view class="item" @click="quickEntry(1)"> @@ -49,14 +50,14 @@ </view> <image src="../../static/images/icon_more.png" class="arrow"></image> </view> - <view class="item" @click="quickEntry(7)"> + <view v-if="isUser && userType === '2'" class="item" @click="quickEntry(7)"> <view class="left"> <image src="../../static/images/user07.png" class="icon"></image> - <div class="title">切æ¢ç‰©ä¸šå…¬å¸</div> + <div class="title">切æ¢ä¸šä¸»</div> </view> <image src="../../static/images/icon_more.png" class="arrow"></image> </view> - <view class="item" @click="quickEntry(8)"> + <view v-if="isEmployee && userType === '1'" class="item" @click="quickEntry(8)"> <view class="left"> <image src="../../static/images/user08.png" class="icon"></image> <div class="title">维修员</div> @@ -72,7 +73,17 @@ export default { data() { return { - + userType: '0', + userName: '', + userPhone: '', + } + }, + computed: { + isUser() { + return !!uni.getStorageSync('user_house_list') + }, + isEmployee() { + return !!uni.getStorageSync('employee_house_list') } }, methods: { @@ -105,14 +116,50 @@ url: '/pages/myReceipt/index', }); } else if (type == 7) { - uni.navigateTo({ - url: '/pages/community/index', + const that = this + uni.showModal({ + title: 'æç¤º', + content: '确认切æ¢åˆ°ä¸šä¸»å—?', + success: function (res) { + if (res.confirm) { + that.onChangeEmployee('1') + } else if (res.cancel) { + console.log('ç”¨æˆ·ç‚¹å‡»å–æ¶ˆ'); + } + } + }); + } else { + const that = this + uni.showModal({ + title: 'æç¤º', + content: '确认切æ¢åˆ°ç»´ä¿®å‘˜å—?', + success: function (res) { + if (res.confirm) { + that.onChangeEmployee('2') + } else if (res.cancel) { + console.log('ç”¨æˆ·ç‚¹å‡»å–æ¶ˆ'); + } + } }); } }, + onChangeEmployee(type) { + let data = JSON.parse(uni.getStorageSync('employee_house_list')) + uni.setStorageSync('platform_code', data[0].platformCode) + uni.setStorageSync('user_type', type) + uni.reLaunch({ + url: '/pages/home/index' + }) + } }, onLoad() { - + this.userType = uni.getStorageSync('user_type') + this.userPhone = uni.getStorageSync('user_phone') + if(this.userType === '1') { + this.userName = uni.getStorageSync('user_name') + } else { + this.userName = uni.getStorageSync('employee_name') + } }, onShow() { @@ -130,6 +177,7 @@ } .user { + background-image: url('http://192.168.0.118:9999/sys/common/static/scott/pic/bg_mine_1686729855474.png'); background-position: top center; background-repeat: no-repeat; background-size: cover; diff --git a/static/images/banner.png b/static/images/banner.png deleted file mode 100644 index adf1cf189ebfcdbbbd67b1ea972c744353fd7160..0000000000000000000000000000000000000000 Binary files a/static/images/banner.png and /dev/null differ