Browse Source

回访记录模块页面联调,满意度自查联调,满意度自查统计联调

jw-featrue-zhanlibiao
mk 2 years ago
parent
commit
790c21b587
  1. 2
      README.md
  2. 6
      app.json
  3. BIN
      images/work/bg.png
  4. BIN
      images/work/messageBg.png
  5. BIN
      images/work/rightCri.png
  6. 6
      pages/mine/mine.js
  7. 2
      pages/mine/mine.wxml
  8. 61
      pages/work/work.js
  9. 2
      pages/work/work.wxml
  10. 2
      pages/work/work.wxss
  11. 30
      project.private.config.json
  12. 130
      subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.js
  13. 7
      subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.json
  14. 19
      subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.wxml
  15. 80
      subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.wxss
  16. 106
      subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.js
  17. 4
      subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.json
  18. 50
      subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxml
  19. 149
      subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxss
  20. 120
      subpages/communitySelfInsp/pages/followUpList/followUpList.js
  21. 7
      subpages/communitySelfInsp/pages/followUpList/followUpList.json
  22. 19
      subpages/communitySelfInsp/pages/followUpList/followUpList.wxml
  23. 75
      subpages/communitySelfInsp/pages/followUpList/followUpList.wxss
  24. 59
      subpages/communitySelfInsp/pages/historyQuery/historyQuery.js
  25. 8
      subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxml
  26. 1
      subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxss
  27. 110
      subpages/communitySelfInsp/pages/synthesis/synthesis.js
  28. 4
      subpages/communitySelfInsp/pages/synthesis/synthesis.json
  29. 63
      subpages/communitySelfInsp/pages/synthesis/synthesis.wxml
  30. 162
      subpages/communitySelfInsp/pages/synthesis/synthesis.wxss
  31. 19
      utils/api.js

2
README.md

@ -7,7 +7,7 @@
<!-- 跳转web-view页面 -->
wx.navigateTo({
url: `/subpages/home/pages/webview/webview?url=${global.WEBROOT()}&token=${token}&deptName=${this.data.street}&gridId=${this.data.departmentId}`
})
})
2a43afb52996723c6517edb048de6c79 小程序密钥
15554200534

6
app.json

@ -43,7 +43,11 @@
"root": "subpages/communitySelfInsp",
"name": "communitySelfInsp",
"pages": [
"pages/historyQuery/historyQuery"
"pages/historyQuery/historyQuery",
"pages/synthesis/synthesis",
"pages/dissatisfactionDetails/dissatisfactionDetails",
"pages/followUpList/followUpList",
"pages/followUpDetail/followUpDetail"
]
}
],

BIN
images/work/bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

BIN
images/work/messageBg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
images/work/rightCri.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

6
pages/mine/mine.js

@ -81,5 +81,11 @@ Page({
wx.navigateTo({
url: '/subpages/gatherInformation/pages/gatherInformation/gatherInformation',
})
},
toFollowUpList(){
console.log(1);
wx.navigateTo({
url: '/subpages/communitySelfInsp/pages/followUpList/followUpList',
})
}
})

2
pages/mine/mine.wxml

@ -23,7 +23,7 @@
</view>
<view class="right"> <image src="../../images/right.png" mode=""/></view>
</view>
<view class="item">
<view class="item" bind:tap="toFollowUpList">
<view class="left">
<image src="../../images/mine/hf.png" mode=""/>
<view>我的回访记录</view>

61
pages/work/work.js

@ -49,49 +49,21 @@ Page({
})
},
getInspRecord(){
// let parm ={
// pageSize:20,
// pageNo:1
// }
// getInspRecord(parm).then(res=>{
// console.log(res);
// }).catch(err=>{
// wx.hideLoading()
// console.log(err);
// })
let data = [
{
monthName:'9',
agencyName:'海伦路社区',
status:2,
personQty:20,
synthesisScore:100,
qrCodeImgUrl:'erweimaurl',
questionnaireUrl:'tupianlianjie'
},
{
monthName:'8',
agencyName:'海伦路社区',
status:2,
personQty:20,
synthesisScore:100,
qrCodeImgUrl:'erweimaurl',
questionnaireUrl:'tupianlianjie'
},
{
monthName:'7',
agencyName:'海伦路社区',
status:2,
personQty:20,
synthesisScore:100,
qrCodeImgUrl:'erweimaurl',
questionnaireUrl:'tupianlianjie'
}
]
this.setData({
communitySelfInspTop:data.splice(0,1)[0],
communitySelfInspList:data.splice(0,2),
let parm ={
pageSize:20,
pageNo:1
}
getInspRecord(parm).then(res=>{
this.setData({
communitySelfInspTop:res.data.list.splice(0,1)[0],
communitySelfInspList:res.data.list.splice(0,2),
})
}).catch(err=>{
wx.hideLoading()
console.log(err);
})
},
/**
* 生命周期函数--监听页面初次渲染完成
@ -203,4 +175,9 @@ Page({
url: '/subpages/communitySelfInsp/pages/historyQuery/historyQuery',
})
},
toSynthesis(){
wx.navigateTo({
url: '/subpages/communitySelfInsp/pages/synthesis/synthesis',
})
}
})

2
pages/work/work.wxml

@ -67,7 +67,7 @@
<view class="bg_left">
<view class="h2">{{communitySelfInspTop.agencyName}}{{communitySelfInspTop.monthName}}月份满意度自查</view>
<view class="submit">已提交 <b>{{communitySelfInspTop.personQty}}</b> 人</view>
<view class="btn_Box"> <view class="btn_fx">一键分享</view> <view class="btn_tj">查看统计</view>
<view class="btn_Box"> <view class="btn_fx">一键分享</view> <view class="btn_tj" bind:tap="toSynthesis">查看统计</view>
</view>
</view>
<view class="bg_right">

2
pages/work/work.wxss

@ -325,7 +325,7 @@ page {
}
.body .bto{
width: 100%;
height: 695rpx;
max-height: 695rpx;
background: #FFFFFF;
border-radius: 20rpx;
box-sizing: border-box;

30
project.private.config.json

@ -9,12 +9,40 @@
"miniprogram": {
"list": [
{
"name": "社区满意度自查",
"name": "回访记录详情",
"pathName": "subpages/communitySelfInsp/pages/followUpDetail/followUpDetail",
"query": "resiInfo={\"periodStart\":\"2023-09-01\",\"createdTime\":\"2023-09-11\",\"reporterName\":\"老王5\",\"reporterMobile\":\"18500000005\",\"followUpWay\":\"0\",\"followUpStatus\":1,\"evaCulturalFacility\":\"veryGood\",\"evaSportsFacility\":\"veryGood\",\"evaEcologicalEnv\":\"bad\",\"evaSocialSecurity\":\"bad\",\"evaSocialAssistance\":\"good\",\"evaOldPeopleProvide\":\"good\",\"evaBasicEducation\":\"veryGood\",\"evaMedical\":\"veryGood\",\"reason\":\"aa\",\"id\":\"1701199625473716226\",\"status\":1,\"addressDetail\":null}&type=add",
"launchMode": "default",
"scene": null
},
{
"name": "回访记录",
"pathName": "subpages/communitySelfInsp/pages/followUpList/followUpList",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "不满意结果明细",
"pathName": "subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails",
"query": "category=ecologicalEnv&inspRecordId=1701186272096722946",
"launchMode": "default",
"scene": null
},
{
"name": "社区满意度(历史自查)",
"pathName": "subpages/communitySelfInsp/pages/historyQuery/historyQuery",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "社区满意度自查(统计)",
"pathName": "subpages/communitySelfInsp/pages/synthesis/synthesis",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "登录",
"pathName": "pages/login/login",

130
subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.js

@ -0,0 +1,130 @@
// subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.js
import {getInspResult} from "../../../../utils/api"
Page({
/**
* 页面的初始数据
*/
data: {
tableData:[],
pageNo:1,
pageSize:20,
lowerThreshold:'10',
loadMoreVisible:false,
loadMoreType: "none",
nodata:false
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(options);
this.setData({
satisfactionCategory:options.category,
inspRecordId:options.inspRecordId
})
this.getInspResult()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
onScrollToLower(e){
if (this.data.loadMoreType === 'more') {
this.setData({
loadMoreVisible: true,
})
this.data.pageNo += 1
this.getInspResult()
}
},
getInspResult(){
this.setData({
loadMoreVisible: true,
nodata: false,
loadMoreType: "more",
})
let parm = {
inspRecordId:this.data.inspRecordId,
satisfactionCategory:this.data.satisfactionCategory,
satisfactionLevel:'bad',
pageNo:this.data.pageNo,
pageSize:this.data.pageSize
}
if(!parm.type) delete parm.type
getInspResult(parm).then(res=>{
this.setData({
loadMoreType: res.data.list.length === this.data.pageSize ? 'more' : 'none',
tableData: this.data.tableData.concat(res.data.list),
})
if (this.data.tableData.length == 0) {
this.setData({
loadMoreVisible: false,
nodata: true
})
}
}).catch(err=>{
console.log(err);
this.setData({
loadMoreVisible: false,
nodata: true,
})
})
},
handleClickPhone(e){
wx.makePhoneCall({
phoneNumber: e.currentTarget.dataset.mobile,
})
},
toFollowUpDetails(e){
console.log(JSON.stringify(e.currentTarget.dataset.item));
wx.navigateTo({
url: `/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail?resiInfo=${JSON.stringify(e.currentTarget.dataset.item)}`,
})
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

7
subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.json

@ -0,0 +1,7 @@
{
"usingComponents": {
"load-more": "../../../../components/loadMore/loadMore",
"no-data": "../../../../components/noData/nodata"
},
"navigationBarTitleText": "不满意结果明细"
}

19
subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.wxml

@ -0,0 +1,19 @@
<!--subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.wxml-->
<view class="content">
<scroll-view class="scroll" scroll-y="{{true}}" lower-threshold="{{ lowerThreshold }}" bindscrolltolower="onScrollToLower">
<view class="card" wx:for="{{tableData}}" wx:key="index" >
<view class="title" >
<view>{{item.reporterName}} {{item.reporterMobile}}</view>
<view><text class="red" bind:tap="handleClickPhone" data-mobile="{{item.reporterMobile}}">打电话</text> <text class="blue" bind:tap="toFollowUpDetails" data-item="{{item}}">回访记录</text> </view>
</view>
<view class="{{item.followUpStatus == 1?'blue_small':'red_small'}}"> {{ item.followUpStatus!= null?item.followUpStatus == -1 ?'不接受回访':item.followUpStatus == 1 ?'已回访':'接受回访/未回访':'--' }}
</view>
<view class="bottom">
不满意原因:{{item.reason}}
</view>
</view>
<load-more loadVisible="{{loadMoreVisible}}" loadType="{{loadMoreType}}" ></load-more>
<no-data isShow="{{nodata}}" wx:if="{{nodata}}"></no-data>
</scroll-view>
</view>

80
subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.wxss

@ -0,0 +1,80 @@
/* subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.wxss */
page {
width: 100%;
min-height: 100vh;
overflow-y: scroll;
background-color: #f7f7f7;
}
.red,
.blue{
font-size: 28rpx;
color: #fff;
padding: 8rpx 20rpx ;
border-radius: 40rpx;
box-sizing: border-box;
margin-right: 16rpx;
}
.red{
background-color: #ff783c;
}
.blue{
background-color: #4f94ff;
}
.blue_small,
.red_small{
font-size: 26rpx;
width: fit-content;
padding: 8rpx 16rpx;
border-radius: 40rpx;
box-sizing: border-box;
height: 40rpx;
line-height: 20rpx;
margin: 24rpx 0 ;
}
.blue_small{
background-color: #eef4fd;
color: #5693EE;
}
.red_small{
background-color: #fff1eb;
color: #FF783C;
}
.content{
width: 100%;
padding:0 20rpx ;
box-sizing: border-box;
}
.content .scroll {
height: calc(100vh - 100rpx);
overflow-y: scroll;
}
.content .card{
width: 100%;
background-color: #fff;
display: flex;
height: 236rpx;
flex-direction: column;
border-radius: 20rpx;
padding: 30rpx 30rpx;
box-sizing: border-box;
margin-top: 20rpx;
overflow: hidden;
color: #333;
}
.content .card .title{
display: flex;
justify-content: space-between;
}
/* */
.content .card .bottom{
border-bottom: 2rpx #EAEAEA solid;
padding-bottom: 20rpx;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
width: 100%; /* 根据实际情况调整 */
max-height: 100rpx; /* 根据字体大小和行高调整 */
min-height:50rpx ;
}

106
subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.js

@ -0,0 +1,106 @@
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
resiInfo:{},
title:'回访记录',
formType:'add',
followUpWayList:[
{
label:'电话回访',
value:'1'
},
{
label:'上门回访',
value:'2'
}
],
form:{
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(JSON.parse(options.resiInfo));
this.setData({
statusHeight: app.globalData.deviceInfo.statusHeight,
navigationHeight: app.globalData.deviceInfo.navigationHeight,
formType:options.type
})
if(options.type == 'add'){
this.setData({
resiInfo:JSON.parse(options.resiInfo),
})
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
bindPickerChangefollowUpWay(e){
const selectedIndex = e.detail.value;
const selectedVillage = this.data.followUpWayList[selectedIndex];
this.setData({
'form.followUpWay': selectedVillage.label,
});
},
handleChangeRadio(e){
console.log(e);
},
back(){
wx.navigateBack({
delta: 1
})
}
})

4
subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.json

@ -0,0 +1,4 @@
{
"navigationStyle": "custom",
"usingComponents": {}
}

50
subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxml

@ -0,0 +1,50 @@
<view class="header">
<image src="../../../../images/back.png" class="back" style=" top: {{statusHeight}}px;width: 30rpx;height: 30rpx;" bindtap="back" mode="" />
<view class="navigation" style="height: {{navigationHeight}}px; top: {{statusHeight}}px;">
{{title}}
</view>
</view>
<view class="content">
<view class="content_header">
<view class="bto_bor">
<view> 马魁 177777777777</view>
<view class="gray font28" style="margin: 20rpx 0;">河南省鹤壁市</view>
</view>
<view style="margin-top: 20rpx;">
不满意原因:aacece
</view>
</view>
<view class="content_form">
<view class="bto_bor form_item" style="color:#333;font-weight: bold;">填写回访记录</view>
<view class="form_item bto_bor">
<view class="label">
<view class="title" style="color: #333333">回访方式</view>
</view>
<view class="input">
<picker bindchange="bindPickerChangefollowUpWay" range-key="label" value="{{index}}" range="{{followUpWayList}}">
<view class="{{form.followUpWay?'':'gray'}}">
{{followUpWayName?followUpWayName:'请选择'}}
</view>
</picker>
<image src="../../../../images/right.png" mode=""/>
</view>
</view>
<view >
<view style="margin-top: 20rpx; color: #333333">回访情况记录</view>
<view>
<textarea style="background-color: #f7f7f7; border-radius: 10rpx; padding: 30rpx;margin-top: 20rpx;" value="{{form.description}}" placeholder="请详细填写回访情况(不超过500字)"/>
</view>
</view>
<view style="margin-bottom: 80rpx;">
<view style="margin-top: 20rpx; color: #333333">是否还为不满意风险人员</view>
<view>
<radio-group bindchange="handleChangeRadio" style="margin-top: 20rpx;">
<radio color="#70acfc" value="{{0}}"/>否
<radio color="#70acfc" style="margin-left: 20rpx;" value="{{1}}"/>是
</radio-group>
</view>
</view>
</view>
</view>
<button class="fixed_btn" bind:tap="jumpAdd">提交</button>

149
subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxss

@ -0,0 +1,149 @@
page {
width: 100%;
min-height: 100vh;
overflow-y: auto;
background-color: #f7f7f7;
}
.header {
width: 100%;
height: 532rpx;
background: linear-gradient(180deg, #7DB5FF 0%, #E8F2FF 66%, #F7F7F7 100%);
}
.header .header-bg {
width: 100%;
height: 100%;
/* position: absolute;
z-index: 10;
left: 0;
top: 0; */
position: absolute;
height: 100%;
z-index: -999;
}
.gray{
color: #666666;
}
.font28{
font-size: 28rpx;
}
.bto_bor{
border-bottom: 2rpx #EAEAEA solid;
}
.header .navigation {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
position: relative;
z-index: 1;
}
.back {
width: 30rpx;
height: 30rpx;
margin-left: 20rpx;
position: absolute;
margin-top: 25rpx;
border-radius: 0rpx;
z-index: 2;
}
.content{
height: auto;
width: 100%;
overflow: hidden;
position: relative;
top: -380rpx;
padding: 0 20rpx;
box-sizing: border-box;
}
.content .content_header{
display: flex;
flex-direction: column;
background: linear-gradient(to bottom right, #d1e7f7 0%, #E8F2FF 20%, #F7F7F7 100%);
border-radius:20rpx;
padding: 30rpx;
box-sizing: border-box;
}
.content .content_form{
height: auto;
width: 100%;
overflow: hidden;
padding: 0 20rpx;
box-sizing: border-box;
background-color: #FFFFFF;
margin-top: 17rpx;
border-radius: 20rpx;
}
.form_item{
display: flex;
align-items: center;
height: 100rpx;
}
.form_item .label{
width: 130rpx;
height: 100%;
line-height: 100rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #666666;
position: relative;
}
.form_item .label .must{
font-size: 32rpx;
font-weight: 500;
color: #FF2A00;
position: absolute;
left: -18rpx;
top: 50%;
transform: translateY(-50rpx);
}
.form_item .input{
flex: 1;
display: flex;
justify-content: space-around;
align-items: center;
margin-left: 51rpx;
overflow: hidden;
}
.form_item .input .residentCategorySty{
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.form_item .input picker,
.form_item .input input{
flex: 1;
}
.form_item image{
height: 22rpx;
width: 22rpx;
}
button{
width: 360rpx;
height: 76rpx;
background: linear-gradient(87deg, #81B5FB 0%, #3E92FF 100%);
border-radius: 76rpx !important;
font-size: 32rpx;
font-weight: 400 !important;
font-family: PingFang SC;
color: #FFFFFF;
position: fixed;
bottom: 63rpx;
left: 50%;
transform: translateX(-180rpx);
}
.fixed_btn{
position: fixed;
bottom: 30rpx;
left: 50%;
transform: translateX(-184rpx);
}

120
subpages/communitySelfInsp/pages/followUpList/followUpList.js

@ -0,0 +1,120 @@
import {getFollowUpList} from "../../../../utils/api"
Page({
/**
* 页面的初始数据
*/
data: {
tableData:[],
pageNo:1,
pageSize:20,
lowerThreshold:'10',
loadMoreVisible:false,
loadMoreType: "none",
nodata:false
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(options);
this.setData({
satisfactionCategory:options.category,
inspRecordId:options.inspRecordId
})
this.getFollowUpList()
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
onScrollToLower(e){
if (this.data.loadMoreType === 'more') {
this.setData({
loadMoreVisible: true,
})
this.data.pageNo += 1
this.getFollowUpList()
}
},
getFollowUpList(){
this.setData({
loadMoreVisible: true,
nodata: false,
loadMoreType: "more",
})
let parm = {
inspRecordId:'',
pageNo:this.data.pageNo,
pageSize:this.data.pageSize
}
if(!parm.type) delete parm.type
getFollowUpList(parm).then(res=>{
this.setData({
loadMoreType: res.data.list.length === this.data.pageSize ? 'more' : 'none',
tableData: this.data.tableData.concat(res.data.list),
})
if (this.data.tableData.length == 0) {
this.setData({
loadMoreVisible: false,
nodata: true
})
}
}).catch(err=>{
console.log(err);
this.setData({
loadMoreVisible: false,
nodata: true,
})
})
},
handleClickPhone(e){
wx.makePhoneCall({
phoneNumber: e.currentTarget.dataset.mobile,
})
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

7
subpages/communitySelfInsp/pages/followUpList/followUpList.json

@ -0,0 +1,7 @@
{
"usingComponents": {
"load-more": "../../../../components/loadMore/loadMore",
"no-data": "../../../../components/noData/nodata"
},
"navigationBarTitleText": "我的回访记录"
}

19
subpages/communitySelfInsp/pages/followUpList/followUpList.wxml

@ -0,0 +1,19 @@
<!--subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.wxml-->
<view class="content">
<scroll-view class="scroll" scroll-y="{{true}}" lower-threshold="{{ lowerThreshold }}" bindscrolltolower="onScrollToLower">
<view class="card" wx:for="{{tableData}}" wx:key="index" >
<view class="title" >
<view>
<text class="{{item.followUpWay == '1'?'blue_small':'red_small'}}">{{item.followUpWayName}}</text>
{{item.reporterName}} {{item.reporterMobile}}
</view>
</view>
<view class="bottom">
<view style="color: #999999 ;">{{item.addressDetail != null?item.addressDetail:'--'}}</view>
<view style="color: #C1C1C1;">{{item.followUpTime}}</view>
</view>
</view>
<load-more loadVisible="{{loadMoreVisible}}" loadType="{{loadMoreType}}" ></load-more>
<no-data isShow="{{nodata}}" wx:if="{{nodata}}"></no-data>
</scroll-view>
</view>

75
subpages/communitySelfInsp/pages/followUpList/followUpList.wxss

@ -0,0 +1,75 @@
page {
width: 100%;
min-height: 100vh;
overflow-y: scroll;
background-color: #f7f7f7;
}
.red,
.blue{
font-size: 28rpx;
color: #fff;
padding: 8rpx 20rpx ;
border-radius: 40rpx;
box-sizing: border-box;
margin-right: 16rpx;
}
.red{
background-color: #ff783c;
}
.blue{
background-color: #4f94ff;
}
.blue_small,
.red_small{
font-size: 26rpx;
width: fit-content;
padding: 8rpx 16rpx;
border-radius: 40rpx;
box-sizing: border-box;
height: 40rpx;
line-height: 20rpx;
margin: 24rpx 0 ;
}
.blue_small{
background-color: #eef4fd;
color: #5693EE;
}
.red_small{
background-color: #fff1eb;
color: #FF783C;
}
.content{
width: 100%;
padding:0 20rpx ;
box-sizing: border-box;
}
.content .scroll {
height: calc(100vh - 100rpx);
overflow-y: scroll;
}
.content .card{
width: 100%;
background-color: #fff;
display: flex;
height: 180rpx;
flex-direction: column;
border-radius: 20rpx;
padding: 30rpx 30rpx;
box-sizing: border-box;
margin-top: 20rpx;
overflow: hidden;
color: #333;
}
.content .card .title{
display: flex;
justify-content: space-between;
}
.content .card .bottom{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 30rpx;
border-bottom: 2rpx #EAEAEA solid;
padding-bottom: 20rpx;
}

59
subpages/communitySelfInsp/pages/historyQuery/historyQuery.js

@ -1,4 +1,4 @@
import {getCommunityHouse,getResidentBaseInfo} from "../../../../utils/api"
import {getInspRecord} from "../../../../utils/api"
const app = getApp()
Page({
@ -7,33 +7,7 @@ Page({
*/
data: {
title:'社区满意度自查',
tableData:[{
monthName: "9",
agencyName: "市北",
status: 2,
personQty: 95,
synthesisScore: 45,
qrCodeImgUrl: "http://dummyimage.com/400x400",
questionnaireUrl: "http://otkchmw.mobi/inquewx"
},{
monthName: "8",
agencyName: "市北",
status: 3,
personQty: 95,
synthesisScore: 45,
qrCodeImgUrl: "http://dummyimage.com/400x400",
questionnaireUrl: "http://otkchmw.mobi/inquewx"
},{
monthName: "7",
agencyName: "市北",
status: 3,
personQty: 95,
synthesisScore: 45,
qrCodeImgUrl: "http://dummyimage.com/400x400",
questionnaireUrl: "http://otkchmw.mobi/inquewx"
}],
tableData:[],
lowerThreshold:'10',
loadMoreVisible:false,
loadMoreType: "none",
@ -54,7 +28,7 @@ Page({
type:options.type,
keyWord:options.keyWord
})
// this.getTable()
this.getTable()
},
/**
@ -116,42 +90,23 @@ Page({
pageSize:this.data.pageSize,
pageNo:this.data.pageNo
}
if(this.data.type == 'resi'){
getResidentBaseInfo(parm).then(res=>{
this.setData({
loadMoreType: res.data.list.length === this.data.pageSize ? 'more' : 'none',
tableData: this.data.tableData.concat(res.data.list),
})
console.log(this.data.loadMoreType);
if (this.data.tableData.length == 0) {
this.setData({
loadMoreVisible: false,
nodata: true
})
}
}).catch(err=>{
this.setData({
loadMoreVisible: false,
nodata: true,
})
})
}else{
getCommunityHouse(parm).then(res=>{
getInspRecord(parm).then(res=>{
this.setData({
loadMoreType: res.data.list.length === this.data.pageSize ? 'more' : 'none',
tableData: this.data.tableData.concat(res.data.list),
})
console.log(this.data.loadMoreType);
if (this.data.tableData.length == 0) {
this.setData({
loadMoreVisible: false,
nodata: true
})
}
console.log(this.data.tableData);
}).catch(err=>{
console.log(err);
})
}
},
onScrollToLower(e){
if (this.data.loadMoreType === 'more') {

8
subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxml

@ -10,14 +10,14 @@
<view class="card">
<view class="list_card {{index == 0?'bgc':''}}" wx:for="{{tableData}}" wx:key="index" data-item="{{item}}" bind:tap="handelClickedit">
<view class="left">
<view> {{item.agencyName}} {{item.monthName}}</view>
<view> {{item.agencyName}}{{item.monthName}}月份满意度自查</view>
<view class="left_bto_box">
<view class="{{item.status == 2?'bule':'gray'}}">{{item.status == 2?'进行中':'已结束'}}</view>
<view>测评人数:{{item.synthesisScore}}</view>
<view class="{{item.status == 1?'bule':'gray'}}">{{item.status == 1?'进行中':'已结束'}}</view>
<view>测评人数:{{item.personQty}}</view>
</view>
</view>
<view class="right">
<view wx:if="{{item.status == 2}}" class="bule">
<view wx:if="{{item.status == 1}}" class="bule">
<image src="../../../../images/share.png" mode=""/> 分享
</view>
<view wx:else class="score">

1
subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxss

@ -96,6 +96,7 @@ page {
display: flex;
font-size: 28rpx;
margin-top: 28rpx;
align-items: center;
}
.content .card .list_card .left .left_bto_box .bule{
color: #3A80E7;

110
subpages/communitySelfInsp/pages/synthesis/synthesis.js

@ -0,0 +1,110 @@
// subpages/communitySelfInsp/pages/synthesis/synthesis.js
const app = getApp()
import {getSynthesis} from '../../../../utils/api'
Page({
/**
* 页面的初始数据
*/
data: {
agencyName:'',//组织名称
tableData:[],
monthName:'',//月份
personQty:'',//提交人数
synthesisScore:'',//综合得分
inspRecordId:''//自查表Id
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
statusHeight: app.globalData.deviceInfo.statusHeight,
navigationHeight: app.globalData.deviceInfo.navigationHeight,
})
this.getSynthesis()
},
getSynthesis(){
let parm = {
period:'2023-09',
inspRecordId:''
}
getSynthesis(parm).then(res=>{
console.log(res);
this.setData({
tableData:res.data.categoryDatas,
monthName:res.data.monthName,
synthesisScore:res.data.synthesisScore,
personQty:res.data.personQty,
agencyName:res.data.agencyName,
inspRecordId:res.data.inspRecordId
})
}).catch((err)=>{
console.log(err);
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
toDissatisfactionDetails(e){
console.log(e);
let category = e.currentTarget.dataset.item.satisfactionCategory
wx.navigateTo({
url: `/subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails?inspRecordId=${this.data.inspRecordId}&category=${category}`,
})
},
back(){
wx.navigateBack({
delta: 1
})
}
})

4
subpages/communitySelfInsp/pages/synthesis/synthesis.json

@ -0,0 +1,4 @@
{
"navigationStyle": "custom",
"usingComponents": {}
}

63
subpages/communitySelfInsp/pages/synthesis/synthesis.wxml

@ -0,0 +1,63 @@
<view class="header">
<image class="header-bg" src="../../../../images/work/bg.png" mode="widthFix" />
<image src="../../../../images/back.png" class="back" bind:tap="back" style=" top: {{statusHeight}}px;width: 30rpx;height: 30rpx;" bindtap="back" mode=""/>
<view class="navigation" style="height: {{navigationHeight}}px; top: {{statusHeight}}px;">
社区满意度自查
</view>
<view class="content">
<view class="h2">{{agencyName}}{{monthName}}月份满意度自查</view>
<view class="tag"> <image src="../../../../images/tag.png" mode=""/> 进行中</view>
</view>
</view>
<view class="body">
<view class="top">
<image src="../../../../images/work/messageBg.png" class="bg" mode=""/>
<view class="top_box">
<view class="cnm">
<view class="tagB">提交人数</view>
<view class="blue"> <b>{{personQty}}</b>人 </view>
</view>
<view>
<view class="tagR">目前得分</view>
<view class="red"> <b>{{synthesisScore}}</b>分 </view>
</view>
</view>
</view>
<view class="bto">
<view class="th">
<view class="tr">
<view class="td">
类型
</view>
<view class="td">
满意
</view>
<view class="td">
基本满意
</view>
<view class="td">
不满意
</view>
</view>
</view>
<view class="tr {{index%2 == 0?'tr_bg':''}}" wx:for="{{tableData}}" wx:key="index">
<view class="td">
{{item.satisfactionCategoryName}}
</view>
<view class="td">
{{item.veryGoodQty}}
</view>
<view class="td">
{{item.goodQty}}
</view>
<view class="td" style="color:#FF502E " data-item="{{item}}" bind:tap="toDissatisfactionDetails">
{{item.badQty}} <image src="../../../../images/work/rightCri.png" mode=""/>
</view>
</view>
</view>
</view>
<!--
<view class="bto_btn">
<view>分享给好友参与测评</view>
</view> -->

162
subpages/communitySelfInsp/pages/synthesis/synthesis.wxss

@ -0,0 +1,162 @@
/* subpages/communitySelfInsp/pages/synthesis/synthesis.wxss */
page {
width: 100%;
min-height: 100vh;
overflow-y: scroll;
background-color: #f7f7f7;
}
.header {
width: 100%;
height: 464rpx;
/* position: fixed;
top: 0;
left: 0;
z-index: 1000; */
overflow: hidden;
}
.blue{
color: #3A80E7 ;
}
.red{
color: #FF502E;
}
.header .header-bg {
width: 100%;
height: 444rpx;
position: absolute;
height: 100%;
z-index: -997;
}
.header .navigation {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
color: #333333;
font-size: 32rpx;
position: relative;
z-index: 100;
}
.back{
width: 30rpx;
height: 30rpx;
margin-left: 20rpx;
position: absolute;
margin-top: 25rpx;
border-radius: 0rpx;
z-index: 2;
}
.header .content{
margin: 140rpx 0 0 69rpx;
}
.header .content .h2{
font-size: 44rpx;
font-family: PingFang SC;
font-weight: 800;
color: #333333;
margin-bottom: 40rpx;
width: 330rpx;
}
.header .content .tag{
width: 170rpx;
height: 50rpx;
position: relative;
line-height: 48rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
padding-left: 35rpx;
}
.header .content .tag image {
width: 170rpx;
height: 50rpx;
position: absolute;
top: 0;
left: 0;
z-index: -888;
}
.body{
padding: 0 20rpx;
box-sizing: border-box;
position: relative;
top: -30rpx;
overflow: hidden;
}
.body .top .bg{
position: absolute;
top: 0;
width: 100%;
height: 200rpx;
z-index: -996;
}
.body .top .top_box{
display: flex;
justify-content: space-around;
}
.body .top .top_box>view{
width: 50%;
height: 200rpx;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
top: 20rpx;
color: #666666;
}
.body .top .top_box>view b{
font-size: 50rpx;
}
.body .top .top_box>view .tagB,
.body .top .top_box>view .tagR
{
position: relative;
}
.body .top .top_box>view .tagB::after{
display: inline-block;
content: '';
width:18rpx;
height: 18rpx;
background-color: #3A80E7;
position: absolute;
left: -30rpx;
top: 10rpx;
}
.body .top .top_box>view .tagR::after{
display: inline-block;
content: '';
width:18rpx;
height: 18rpx;
background-color: #FF502E ;
position: absolute;
left: -30rpx;
top: 10rpx;
}
.body .bto{
border-radius: 10rpx;
background-color: #fff;
padding: 30rpx;
margin-top: 20rpx;
}
.body .bto .th .tr{
color: #333333;
}
.body .bto .tr{
display: flex;
justify-content: space-around;
align-items: center;
height: 90rpx;
color: #666666;
}
.body .bto .tr_bg{
background-color: #f0f5fd;
}
.body .bto .tr .td{
width: 25%;
text-align: center;
}
.body .bto .tr .td image{
width: 24rpx;
height: 24rpx;
}

19
utils/api.js

@ -28,7 +28,10 @@ module.exports = {
getClearHouseDeatilById,
getCollect,
clearMessage,
getInspRecord
getInspRecord,
getSynthesis,
getInspResult,
getFollowUpList
}
// 消息列表
function getIntelligentMessage(param){
@ -145,4 +148,16 @@ function getCollect (parm) {
// 自查记录列表
function getInspRecord (parm) {
return fly.get(`governance/satisfaction/communitySelfInsp/inspRecord/list`,parm)
}
}
// 自查统计
function getSynthesis(parm){
return fly.get(`governance/satisfaction/communitySelfInsp/stats/synthesis`,parm)
}
// 不满意结果列表
function getInspResult(parm){
return fly.get(`governance/satisfaction/communitySelfInsp/inspResult/list`,parm)
}
// 回访记录列表
function getFollowUpList(parm){
return fly.get(`governance/satisfaction/communitySelfInsp/followUp/list`,parm)
}

Loading…
Cancel
Save