11 changed files with 653 additions and 3 deletions
@ -0,0 +1,239 @@ |
|||
import {getComplainList,getShengList,getPunchRecord,getShequList,getshijianList,getxuqiuList,getfuwuList} from "../../utils/businessRecords"; |
|||
Page({ |
|||
|
|||
/** |
|||
* 页面的初始数据 |
|||
*/ |
|||
data: { |
|||
tabList: [{ |
|||
label: "12345投诉", |
|||
value: '12345' |
|||
}, { |
|||
label: '满意度调查', |
|||
value: 'provinceSurvey' |
|||
}, { |
|||
label: '满意度自查', |
|||
value: 'selfSurvey' |
|||
}, { |
|||
label: '上报事件', |
|||
value: 'event' |
|||
}, { |
|||
label: '居民需求', |
|||
value: 'need' |
|||
}, { |
|||
label: '社区服务', |
|||
value: 'serve' |
|||
}, { |
|||
label: '打卡记录', |
|||
value: 'punchRecord' |
|||
}], |
|||
tabValue: '12345', |
|||
data: {}, |
|||
residIds:["1704792537883688962","1705416782032064514"] |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面加载 |
|||
*/ |
|||
onLoad(options) { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面初次渲染完成 |
|||
*/ |
|||
onReady() { |
|||
this.setData({ |
|||
tabValue: "12345" |
|||
}) |
|||
this.show12345("12345"); |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面显示 |
|||
*/ |
|||
onShow() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面隐藏 |
|||
*/ |
|||
onHide() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面卸载 |
|||
*/ |
|||
onUnload() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面相关事件处理函数--监听用户下拉动作 |
|||
*/ |
|||
onPullDownRefresh() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面上拉触底事件的处理函数 |
|||
*/ |
|||
onReachBottom() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 用户点击右上角分享 |
|||
*/ |
|||
onShareAppMessage() { |
|||
|
|||
}, |
|||
|
|||
tabChange({currentTarget: {dataset:{index}}}) { |
|||
this.setData({ |
|||
tabValue: index |
|||
}) |
|||
if(index === "12345"){ |
|||
this.show12345(index); |
|||
}else if(index === "provinceSurvey"){ |
|||
let params = { |
|||
"residList": this.data.residIds |
|||
} |
|||
getShengList(params).then(res => { |
|||
if (res.data && res.data.length > 0) { |
|||
let renamedArray = []; |
|||
res.data.forEach(item => { |
|||
let renamedItem = { |
|||
categorycode: item.scope, |
|||
eventcontent: item.problemDesc |
|||
}; |
|||
renamedArray.push(renamedItem); |
|||
}); |
|||
this.data.data[index]= renamedArray; |
|||
this.setData({ |
|||
data: this.data.data |
|||
}) |
|||
} |
|||
}) |
|||
}else if(index === "selfSurvey"){ |
|||
let params = { |
|||
"residList": this.data.residIds |
|||
} |
|||
getShequList(params).then(res => { |
|||
if (res.data && res.data.length > 0) { |
|||
let renamedArray = []; |
|||
res.data.forEach(item => { |
|||
let renamedItem = { |
|||
categorycode: item.scope, |
|||
eventcontent: item.problemDesc |
|||
}; |
|||
renamedArray.push(renamedItem); |
|||
}); |
|||
this.data.data[index]= renamedArray; |
|||
this.setData({ |
|||
data: this.data.data |
|||
}) |
|||
} |
|||
}) |
|||
}else if(index === "event"){ |
|||
let params = { |
|||
"residList": this.data.residIds |
|||
} |
|||
getshijianList(params).then(res => { |
|||
if (res.data && res.data.length > 0) { |
|||
let renamedArray = []; |
|||
res.data.forEach(item => { |
|||
let renamedItem = { |
|||
categorycode: item.categorycode, |
|||
eventcontent: item.eventcontent |
|||
}; |
|||
renamedArray.push(renamedItem); |
|||
}); |
|||
this.data.data[index]= renamedArray; |
|||
this.setData({ |
|||
data: this.data.data |
|||
}) |
|||
} |
|||
}) |
|||
}else if(index === "need"){ |
|||
let params = { |
|||
"residList": this.data.residIds |
|||
} |
|||
getxuqiuList(params).then(res => { |
|||
if (res.data && res.data.length > 0) { |
|||
let renamedArray = []; |
|||
res.data.forEach(item => { |
|||
let renamedItem = { |
|||
categorycode: item.parentName, |
|||
eventcontent: item.content |
|||
}; |
|||
renamedArray.push(renamedItem); |
|||
}); |
|||
this.data.data[index]= renamedArray; |
|||
this.setData({ |
|||
data: this.data.data |
|||
}) |
|||
} |
|||
}) |
|||
}else if(index === "serve"){ |
|||
let params = { |
|||
"residList": this.data.residIds |
|||
} |
|||
getfuwuList(params).then(res => { |
|||
if (res.data && res.data.length > 0) { |
|||
let renamedArray = []; |
|||
res.data.forEach(item => { |
|||
let renamedItem = { |
|||
categorycode: item.serviceCategoryKey, |
|||
eventcontent: item.serviceName |
|||
}; |
|||
renamedArray.push(renamedItem); |
|||
}); |
|||
this.data.data[index]= renamedArray; |
|||
this.setData({ |
|||
data: this.data.data |
|||
}) |
|||
} |
|||
}) |
|||
}else if(index === "punchRecord"){ |
|||
let params = { |
|||
"residList": this.data.residIds |
|||
} |
|||
getPunchRecord(params).then(res => { |
|||
if (res.data && res.data.length > 0) { |
|||
let renamedArray = []; |
|||
res.data.forEach(item => { |
|||
let renamedItem = { |
|||
categorycode: item.scope, |
|||
eventcontent: item.problemDesc |
|||
}; |
|||
renamedArray.push(renamedItem); |
|||
}); |
|||
this.data.data[index]= renamedArray; |
|||
this.setData({ |
|||
data: this.data.data |
|||
}) |
|||
} |
|||
}) |
|||
}else{ |
|||
console.log("else"); |
|||
} |
|||
|
|||
}, |
|||
show12345(index){ |
|||
console.log("init") |
|||
let params = { |
|||
"residList": this.data.residIds, |
|||
"eventType": "3" |
|||
} |
|||
getComplainList(params).then(res => { |
|||
this.data.data[index]= res.data.list; |
|||
this.setData({ |
|||
data: this.data.data |
|||
}) |
|||
console.log(this.data.data[index]); |
|||
}) |
|||
} |
|||
}) |
@ -0,0 +1,3 @@ |
|||
{ |
|||
"usingComponents": {} |
|||
} |
@ -0,0 +1,23 @@ |
|||
<view class="tag-list"> |
|||
<view wx:for="{{tabList}}" |
|||
class="tag {{item.value === tabValue?'cur':''}}" |
|||
wx:key="index" |
|||
bind:tap="tabChange" |
|||
data-index="{{item.value}}"> |
|||
{{item.label}} |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="table"> |
|||
<view class="row header"> |
|||
<view class="cell">事件类型</view> |
|||
<view class="cell">事件描述</view> |
|||
</view> |
|||
<!-- <block wx:for="{{data[tabValue]}}" wx:for-item="item" wx:for-index="index"> --> |
|||
<block bind:tap="gotopage" data-obj="{{item}}" wx:for="{{data[tabValue]}}" wx:key="index"> |
|||
<view class="row {{index % 2 == 0 ? 'even' : 'odd'}}"> |
|||
<view class="cell">{{item.categorycode}}</view> |
|||
<view class="cell">{{item.eventcontent}}</view> |
|||
</view> |
|||
</block> |
|||
</view> |
@ -0,0 +1,132 @@ |
|||
.tag-list { |
|||
display: flex; |
|||
flex-wrap: wrap; /* 使得元素可以换行显示 */ |
|||
margin: 0 -8rpx; |
|||
margin-bottom: 15px; |
|||
} |
|||
.tag-list .tag { |
|||
padding: 10rpx 20rpx; |
|||
font-size: 23rpx; |
|||
margin: 10rpx 8rpx; |
|||
text-align: center; /* 使标签文本居中 */ |
|||
} |
|||
.tag-list .tag.cur { |
|||
border-bottom: 3px solid #3A80E7; |
|||
color: #3A80E7; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
.frequency { |
|||
width: 80rpx; |
|||
flex: 0 0 80rpx; |
|||
margin-right: 20rpx; |
|||
border-radius: 20rpx; |
|||
padding: 20rpx 0; |
|||
text-align: center; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
} |
|||
|
|||
.frequency .num { |
|||
font-size: 40rpx; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
.frequency .txt { |
|||
font-size: 20rpx; |
|||
font-weight: 500; |
|||
} |
|||
.frequency.orange { |
|||
background: #FFEBE2; |
|||
color: #FC7031; |
|||
} |
|||
.frequency.purple { |
|||
background: #E2E2FF; |
|||
color: #8482F7; |
|||
} |
|||
.frequency.blue { |
|||
background: #D3EDFF; |
|||
color: #4AA2E2; |
|||
} |
|||
|
|||
|
|||
.right-con { |
|||
flex: 0 0 calc(100% - 100rpx); |
|||
width: calc(100% - 100rpx); |
|||
} |
|||
|
|||
.right-con .right-con-txt { |
|||
font-size: 32rpx; |
|||
font-weight: 500; |
|||
color: #333333; |
|||
line-height: 42rpx; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
display: -webkit-box; |
|||
-webkit-line-clamp: 2; |
|||
-webkit-box-orient: vertical; |
|||
height: 84rpx; |
|||
} |
|||
.right-con-address { |
|||
display: flex; |
|||
align-items: center; |
|||
margin-right: 14rpx; |
|||
margin-top: 30rpx; |
|||
} |
|||
.right-con-address .icon { |
|||
width: 24rpx; |
|||
height: 30rpx; |
|||
} |
|||
|
|||
.right-con-address .right-con-address-txt { |
|||
font-size: 28rpx; |
|||
font-weight: 500; |
|||
color: #999999; |
|||
line-height: 40rpx; |
|||
} |
|||
|
|||
/* 表格样式 */ |
|||
.table { |
|||
width: 100%; |
|||
} |
|||
|
|||
.row { |
|||
display: flex; |
|||
align-items: center; |
|||
} |
|||
|
|||
.header { |
|||
font-weight: bold; |
|||
padding: 10px 0; |
|||
} |
|||
|
|||
.cell { |
|||
flex: 1; |
|||
padding: 10px 0; |
|||
font-size: 23rpx; |
|||
white-space: nowrap; |
|||
overflow: hidden; |
|||
text-overflow: ellipsis; |
|||
} |
|||
.cell:nth-child(1) { |
|||
flex-basis: 30%; |
|||
font-size: 23rpx; |
|||
} |
|||
|
|||
.cell:nth-child(2) { |
|||
flex-basis: 70%; |
|||
font-size: 23rpx; |
|||
} |
|||
|
|||
.even { |
|||
background-color: #f0f4fd; |
|||
} |
|||
|
|||
.odd { |
|||
background-color: #fff; |
|||
} |
|||
|
@ -0,0 +1,86 @@ |
|||
// subpages/house/pages/housePortrait/housePortrait.js
|
|||
import api from "../../../../utils/api" |
|||
Page({ |
|||
|
|||
/** |
|||
* 页面的初始数据 |
|||
*/ |
|||
data: { |
|||
detail: {}, |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面加载 |
|||
*/ |
|||
onLoad(options) { |
|||
this.setData({ |
|||
houseId:options.houseId |
|||
}) |
|||
this.getData() |
|||
}, |
|||
getData() { |
|||
api.getClearHouseDeatilById(this.data.houseId).then((res) => { |
|||
this.setData({ |
|||
detail: res.data |
|||
}) |
|||
}).catch((error) => { |
|||
console.error("发生错误:", error); |
|||
}); |
|||
}, |
|||
/** |
|||
* 生命周期函数--监听页面初次渲染完成 |
|||
*/ |
|||
onReady() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面显示 |
|||
*/ |
|||
onShow() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面隐藏 |
|||
*/ |
|||
onHide() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面卸载 |
|||
*/ |
|||
onUnload() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面相关事件处理函数--监听用户下拉动作 |
|||
*/ |
|||
onPullDownRefresh() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面上拉触底事件的处理函数 |
|||
*/ |
|||
onReachBottom() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 用户点击右上角分享 |
|||
*/ |
|||
onShareAppMessage() { |
|||
|
|||
}, |
|||
|
|||
gotopage({currentTarget: {dataset}}) { |
|||
const {url} = dataset |
|||
console.log(url) |
|||
wx.navigateTo({ |
|||
url |
|||
}) |
|||
}, |
|||
}) |
@ -0,0 +1,5 @@ |
|||
{ |
|||
"usingComponents": { |
|||
"BusinessRecord": "../../../businessRecord/businessRecord" |
|||
} |
|||
} |
@ -0,0 +1,49 @@ |
|||
<view class="housePortrait-container"> |
|||
<view class="card"> |
|||
<view class="title"> |
|||
<text>{{detail.fullName?detail.fullName:'-'}}</text> |
|||
<view class="view" bind:tap="gotopage" data-url="/subpages/addhouse/pages/addhouse/addhouse?type=edit&houseId={{houseId}}"> |
|||
编辑 |
|||
<image mode="widthFix" src="../../../../images/right.png"></image> |
|||
</view> |
|||
</view> |
|||
<view> |
|||
<view class="line"> |
|||
<view class="field">房屋类型:{{detail.houseTypeName?detail.houseTypeName:'-'}}</view> |
|||
<view class="field">房屋用途:{{detail.purposeName?detail.purposeName:'-'}}</view> |
|||
<view class="field">房屋状态:{{detail.rentName?detail.rentName:'-'}}</view> |
|||
</view> |
|||
<view class="field">房主姓名:{{detail.ownerName?detail.ownerName:'-'}}</view> |
|||
<view class="field">联系电话:{{detail.ownerPhone?detail.ownerPhone:'-'}}</view> |
|||
<view class="field">房主证件号:{{detail.ownerIdCard?detail.ownerIdCard:'-'}}</view> |
|||
<view class="field">备注:{{detail.remark?detail.remark:'-'}}</view> |
|||
<view class="field">创建时间:{{detail.createdTime?detail.createdTime:'-'}}</view> |
|||
<view class="field">更新时间:{{detail.updatedTime?detail.updatedTime:'-'}}</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="card"> |
|||
<view class="title"> |
|||
<text>关系图谱</text> |
|||
<view class="view" bind:tap="gotopage" data-url="/subpages/statistics/pages/problemList/problemList?type={{tabValue}}"> |
|||
新增居民 |
|||
<image mode="widthFix" src="../../../../images/right.png"></image> |
|||
</view> |
|||
</view> |
|||
</view> |
|||
|
|||
<view class="card"> |
|||
<view class="title"> |
|||
<text>业务记录</text> |
|||
</view> |
|||
<BusinessRecord/> |
|||
</view> |
|||
|
|||
<view class="card"> |
|||
<view class="title"> |
|||
<text>更新记录</text> |
|||
</view> |
|||
<ProblemList bind:change="tabChange"/> |
|||
</view> |
|||
|
|||
</view> |
@ -0,0 +1,65 @@ |
|||
.housePortrait-container { |
|||
padding: 20rpx; |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
.card { |
|||
background: #fff; |
|||
border-radius: 20rpx; |
|||
padding: 30rpx; |
|||
margin-bottom: 20rpx; |
|||
} |
|||
|
|||
.card .title { |
|||
font-size: 34rpx; |
|||
font-weight: bold; |
|||
color: #333333; |
|||
display: flex; |
|||
align-items: center; |
|||
margin-left: -30rpx; |
|||
margin-bottom: 39rpx; |
|||
position: relative; |
|||
} |
|||
.card .title:before { |
|||
content: ''; |
|||
display: block; |
|||
width: 10rpx; |
|||
height: 28rpx; |
|||
background: #3A80E7; |
|||
border-radius: 4rpx; |
|||
margin-right: 20rpx; |
|||
} |
|||
.card .title .view { |
|||
font-size: 28rpx; |
|||
font-weight: 400; |
|||
color: #999999; |
|||
display: flex; |
|||
align-items: center; |
|||
position: absolute; |
|||
right: 0; |
|||
top: 0; |
|||
} |
|||
|
|||
.card .title .view image { |
|||
width: 24rpx; |
|||
} |
|||
|
|||
.card .field { |
|||
font-size: 24rpx; |
|||
font-weight: 500; |
|||
color: #999999; |
|||
margin-top: 20rpx; |
|||
} |
|||
|
|||
.card .line { |
|||
display: flex; |
|||
flex-wrap: nowrap; |
|||
} |
|||
|
|||
.card .line .field { |
|||
font-size: 24rpx; |
|||
font-weight: 500; |
|||
color: #999999; |
|||
margin-top: 20rpx; |
|||
flex: 0 0 30%; |
|||
} |
@ -0,0 +1,45 @@ |
|||
var request = require('./request.js') |
|||
const paramsFormat = function (params) { |
|||
let strArray = [] |
|||
for(let key in params) { |
|||
if(params[key] || params[key] == 0 || params[key] == '0') { |
|||
strArray.push(key+'='+params[key]) |
|||
} |
|||
} |
|||
return strArray.join('&') |
|||
} |
|||
|
|||
// 12345事件
|
|||
export function getComplainList(params) { |
|||
return request.post(`actual/base/peopleRoomOverview/eventPageList`, params) |
|||
} |
|||
|
|||
// 省满意度
|
|||
export function getShengList(params) { |
|||
return request.post(`actual/base/peopleRoomOverview/provincialSatisfactionPageList`, params) |
|||
} |
|||
|
|||
// 满意度自查
|
|||
export function getShequList(params) { |
|||
return request.post(`actual/base/peopleRoomOverview/communitySatisfactionPageList`, params) |
|||
} |
|||
|
|||
// 上报事件
|
|||
export function getshijianList(params) { |
|||
return request.post(`actual/base/peopleRoomOverview/eventPageList`, params) |
|||
} |
|||
|
|||
// 居民需求
|
|||
export function getxuqiuList(params) { |
|||
return request.post(`actual/base/peopleRoomOverview/demandOfResidentsPageList`, params) |
|||
} |
|||
|
|||
// 社区服务
|
|||
export function getfuwuList(params) { |
|||
return request.post(`actual/base/peopleRoomOverview/communityServicePageList`, params) |
|||
} |
|||
|
|||
// 打卡记录
|
|||
export function getPunchRecord(params) { |
|||
return request.post(`actual/base/peopleRoomOverview/provincialSatisfactionPageList`, params) |
|||
} |
Loading…
Reference in new issue