Browse Source

Merge remote-tracking branch 'origin/dev' into jw-featrue-zhanlibiao

# Conflicts:
#	pages/statistics/statistics.json
#	pages/statistics/statistics.wxml
jw-featrue-zhanlibiao
战立标 2 years ago
parent
commit
9024d30074
  1. 4
      README.md
  2. 1
      app.js
  3. 6
      app.json
  4. 50
      components/custom-tab-bar/index.js
  5. 4
      components/custom-tab-bar/index.json
  6. 17
      components/custom-tab-bar/index.wxml
  7. 38
      components/custom-tab-bar/index.wxss
  8. BIN
      images/home/message.png
  9. BIN
      images/work/bg.png
  10. BIN
      images/work/messageBg.png
  11. BIN
      images/work/rightCri.png
  12. 3
      pages/index/index.json
  13. 4
      pages/index/index.wxml
  14. 5
      pages/mine/mine.js
  15. 4
      pages/mine/mine.json
  16. 3
      pages/mine/mine.wxml
  17. 3
      pages/statistics/statistics.json
  18. 1
      pages/statistics/statistics.wxml
  19. 4
      pages/webView/webView.js
  20. 79
      pages/work/work.js
  21. 5
      pages/work/work.json
  22. 9
      pages/work/work.wxml
  23. 9
      pages/work/work.wxss
  24. 32
      project.private.config.json
  25. 129
      subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.js
  26. 7
      subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.json
  27. 19
      subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.wxml
  28. 80
      subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.wxss
  29. 185
      subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.js
  30. 4
      subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.json
  31. 51
      subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxml
  32. 179
      subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxss
  33. 131
      subpages/communitySelfInsp/pages/followUpList/followUpList.js
  34. 7
      subpages/communitySelfInsp/pages/followUpList/followUpList.json
  35. 19
      subpages/communitySelfInsp/pages/followUpList/followUpList.wxml
  36. 75
      subpages/communitySelfInsp/pages/followUpList/followUpList.wxss
  37. 58
      subpages/communitySelfInsp/pages/historyQuery/historyQuery.js
  38. 8
      subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxml
  39. 1
      subpages/communitySelfInsp/pages/historyQuery/historyQuery.wxss
  40. 116
      subpages/communitySelfInsp/pages/synthesis/synthesis.js
  41. 4
      subpages/communitySelfInsp/pages/synthesis/synthesis.json
  42. 63
      subpages/communitySelfInsp/pages/synthesis/synthesis.wxml
  43. 162
      subpages/communitySelfInsp/pages/synthesis/synthesis.wxss
  44. 29
      utils/api.js

4
README.md

@ -4,10 +4,6 @@
"iconPath": "images/home/information.png",
"selectedIconPath": "images/home/informationSelected.png"
},
<!-- 跳转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

1
app.js

@ -20,6 +20,7 @@ App({
this.globalData.deviceInfo.navigationHeight = menuButtonInfo.height + (menuButtonInfo.top - res.statusBarHeight) * 2
}
})
wx.hideTabBar()
},
globalData: {
userInfo: null,

6
app.json

@ -44,7 +44,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"
]
},
{

50
components/custom-tab-bar/index.js

@ -0,0 +1,50 @@
const app = getApp()
Component({
data: {
selected: 0,
color: "#999",
selectedColor: "#3A80E7",
"list": [
{
"pagePath": "/pages/index/index",
"text": "消息",
"iconPath": "/images/home/message.png",
"selectedIconPath": "/images/home/messageSelected.png"
},
{
"pagePath": "/pages/work/work",
"text": "工作",
"iconPath": "/images/home/work.png",
"selectedIconPath": "/images/home/workSelected.png"
},
{
"pagePath": "/pages/statistics/statistics",
"text": "统计",
"iconPath": "/images/home/information.png",
"selectedIconPath": "/images/home/informationSelected.png"
},
{
"pagePath": "/pages/mine/mine",
"text": "我的",
"iconPath": "/images/home/mine.png",
"selectedIconPath": "/images/home/mineSelected.png"
}
]
},
attached() {
},
ready: function() {
this.setData({
selected: app.globalData.selected
})
},
methods: {
switchTab(e) {
console.log(e);
const data = e.currentTarget.dataset;
const url = data.path;
app.globalData.selected = data.index;
wx.switchTab({url})
}
}
})

4
components/custom-tab-bar/index.json

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

17
components/custom-tab-bar/index.wxml

@ -0,0 +1,17 @@
<view class="tab-bar">
<view wx:for="{{list}}" wx:key="index" class="tab-bar-item" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="switchTab">
<!-- <image src="{{selected === index ? item.selectedIconPath : item.iconPath}}"></image> -->
<!-- <view style="color: {{selected === index ? selectedColor : color}}">{{item.text}}</view> -->
<!-- <view >
<image wx:if="{{index!=selected}}" src="{{item.iconPath}}"></image>
<image wx:else class="bigicon" src="{{item.selectedIconPath}}"></image>
<view wx:if="{{index!=selected}}" style="color: {{selected === index ? selectedColor : color}}">{{item.text}}</view>
</view> -->
<view >
<image src="{{selected === index ? item.selectedIconPath : item.iconPath}}"></image>
<view style="color: {{selected === index ? selectedColor : color}}">{{item.text}}</view>
</view>
<view class="isIPhoneXRegexBottom"></view>
</view>
</view>

38
components/custom-tab-bar/index.wxss

@ -0,0 +1,38 @@
.tab-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
height: auto;
background: white;
display: flex;
box-shadow: 0px 6rpx 18rpx 0px rgba(216,216,216,0.66);
}
.isIPhoneXRegexBottom {
padding-bottom: constant(safe-area-inset-bottom); /*兼容 IOS<11.2*/
padding-bottom: env(safe-area-inset-bottom); /*兼容 IOS>11.2*/
}
.tab-bar-item {
flex: 1;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
padding-top: 10rpx;
}
.tab-bar-item image {
width: 54rpx;
height: 54rpx;
}
/* .tab-bar-item image.bigicon{
width: 70rpx;
height: 70rpx;
} */
.tab-bar-item view {
font-size: 22rpx;
color:#999999
}

BIN
images/home/message.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

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

3
pages/index/index.json

@ -2,6 +2,7 @@
"navigationStyle": "custom",
"usingComponents": {
"load-more": "../../components/loadMore/loadMore",
"no-data": "../../components/noData/nodata"
"no-data": "../../components/noData/nodata",
"custom-tab-bar":"../../components/custom-tab-bar"
}
}

4
pages/index/index.wxml

@ -36,5 +36,5 @@
<load-more loadVisible="{{loadMoreVisible}}" loadType="{{loadMoreType}}" ></load-more>
<no-data isShow="{{nodata}}" wx:if="{{nodata}}"></no-data>
</scroll-view>
</view>
</view>
<custom-tab-bar></custom-tab-bar>

5
pages/mine/mine.js

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

4
pages/mine/mine.json

@ -1,4 +1,6 @@
{
"usingComponents": {},
"usingComponents": {
"custom-tab-bar":"../../components/custom-tab-bar"
},
"navigationStyle": "custom"
}

3
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>
@ -46,3 +46,4 @@
</view>
</view>
</view>
<custom-tab-bar></custom-tab-bar>

3
pages/statistics/statistics.json

@ -7,5 +7,6 @@
"HotlineComplaints": "./modules/HotlineComplaints/HotlineComplaints",
"EventPrediction": "./modules/EventPrediction/EventPrediction",
"CrowdPortrait": "./modules/CrowdPortrait/CrowdPortrait"
}
"custom-tab-bar":"../../components/custom-tab-bar"
}
}

1
pages/statistics/statistics.wxml

@ -1,4 +1,5 @@
<Head/>
<custom-tab-bar></custom-tab-bar>
<view class="statistics-container">
<view class="card">
<view class="title">不满意事项趋势分析</view>

4
pages/webView/webView.js

@ -11,8 +11,8 @@ Page({
console.log('url',this.data.url)
} else {
this.setData({
// url: options.url
url:`${options.url}?deptName=${options.deptName}&gridId=${options.gridId}`
url: options.url
// url:`${options.url}?deptName=${options.deptName}&gridId=${options.gridId}`
})
}
}

79
pages/work/work.js

@ -2,7 +2,6 @@
const app = getApp()
import {getSituation,getInspRecord} from '../../utils/api'
Page({
/**
* 页面的初始数据
*/
@ -49,49 +48,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 +174,26 @@ Page({
url: '/subpages/communitySelfInsp/pages/historyQuery/historyQuery',
})
},
toSynthesis(){
wx.navigateTo({
url: '/subpages/communitySelfInsp/pages/synthesis/synthesis',
})
},
toWebView(){
wx.navigateTo({
url: `/pages/webView/webView?url=${this.data.communitySelfInspTop.questionnaireUrl}`,
})
},
handelClickCopy() {
wx.setClipboardData({
data: this.data.communitySelfInspTop.questionnaireUrl,
success: function(res) {
wx.showToast({
title: '已将链接复制至剪切板',
duration: 2000,
icon:'none'
});
}
});
}
})

5
pages/work/work.json

@ -1,3 +1,6 @@
{
"navigationStyle": "custom"
"navigationStyle": "custom",
"usingComponents": {
"custom-tab-bar":"../../components/custom-tab-bar"
}
}

9
pages/work/work.wxml

@ -60,14 +60,14 @@
<view class="bto">
<view class="title">
<view>满意度自查</view>
<text bind:tap="toHistoryQuery">历史自查></text>
<text bind:tap="toHistoryQuery">历史自查 ></text>
</view>
<view class="content">
<view class="bg_box">
<view class="bg_left">
<view class="h2">{{communitySelfInspTop.agencyName}}{{communitySelfInspTop.monthName}}月份满意度自查</view>
<view class="h2" bind:tap="toWebView" >{{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" bind:tap="handelClickCopy">一键分享</view> <view class="btn_tj" bind:tap="toSynthesis">查看统计</view>
</view>
</view>
<view class="bg_right">
@ -88,4 +88,5 @@
</view>
</view>
</view>
</view>
</view>
<custom-tab-bar></custom-tab-bar>

9
pages/work/work.wxss

@ -197,13 +197,11 @@ page {
text-align: left;
}
.body{
height: auto;
padding: 0 20rpx;
padding: 0 20rpx 20rpx;
position: relative;
top: -20rpx;
box-sizing: border-box;
overflow: hidden;
}
.body .top{
width: 100%;
@ -325,12 +323,13 @@ page {
}
.body .bto{
width: 100%;
height: 695rpx;
max-height: 695rpx;
background: #FFFFFF;
border-radius: 20rpx;
box-sizing: border-box;
margin-top:20rpx ;
padding: 0 30rpx;
margin-bottom: 100rpx;
padding: 0 30rpx 20rpx;
}
.body .bto .content{
border-radius: 20rpx;

32
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",
@ -81,5 +109,5 @@
]
}
},
"libVersion": "2.27.3"
"libVersion": "2.28.1"
}

129
subpages/communitySelfInsp/pages/dissatisfactionDetails/dissatisfactionDetails.js

@ -0,0 +1,129 @@
// 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){
wx.navigateTo({
url: `/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail?resiInfo=${JSON.stringify(e.currentTarget.dataset.item)}&type=add`,
})
},
/**
* 用户点击右上角分享
*/
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;
margin-top: 20rpx;
}
.content .scroll {
height: calc(100vh - 50rpx);
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;
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 ;
}

185
subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.js

@ -0,0 +1,185 @@
const app = getApp()
import api from "../../../../utils/api";
Page({
/**
* 页面的初始数据
*/
data: {
resiInfo:{},
followUpWayName:"",
title:'回访记录',
formType:'add',
followUpWayList:[
{
label:'电话回访',
value:'1'
},
{
label:'上门回访',
value:'2'
}
],
inspResultId:'',
form:{
riskFlag:null,//风险标识 0无风险 1有风险
description:'',//回访记录详情
followUpWay:'',//1电话回访 2上门回访
},
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(options);
let temp = JSON.parse(options.resiInfo);
console.log(temp);
this.setData({
statusHeight: app.globalData.deviceInfo.statusHeight,
navigationHeight: app.globalData.deviceInfo.navigationHeight,
formType:options.type
})
if(options.type == 'add'){
this.setData({
resiInfo:temp,
inspResultId:temp.id,
})
}else{
this.setData({
resiInfo:temp,
'resiInfo.reason':temp.reason,
inspResultId:temp.inspResultId,
"form.followUpWay":temp.followUpWay,
"form.description":temp.description,
"form.riskFlag":temp.riskFlag,
followUpWayName:temp.followUpWayName
})
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
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.value,
followUpWayName:selectedVillage.label
});
},
handleBlurDescription(e){
this.setData({
'form.description': e.detail.value
})
},
handleChangeRisk(e){
console.log(e);
this.setData({
'form.riskFlag': Number(e.detail.value)
})
},
submit(){
let parm ={
...this.data.form,
inspResultId:this.data.inspResultId,
id:this.data.formType == 'add'?'':this.data.resiInfo.id
}
console.log(parm);
wx.showLoading({
title: '加载中',
})
api.followUpSave(parm).then(res=>{
console.log(res);
if(res.code == 0){
wx.hideLoading()
wx.showToast({
title: this.data.formType == 'add'?'新增成功':'修改成功',
duration:3000,
success:function(){
setTimeout(()=>{
wx.navigateBack({
delta: 1
})
},3000)
}
})
}
}).catch(err=>{
console.log(err);
})
},
del(){
api.followUpDelete(this.data.resiInfo.id).then(res=>{
if(res.code == 0){
wx.hideLoading()
wx.showToast({
title: '删除成功',
duration:3000,
success:function(){
setTimeout(()=>{
wx.navigateBack({
delta: 1
})
},3000)
}
})
}
}).catch(err=>{
console.log(err);
})
},
back(){
wx.navigateBack({
delta: 1
})
}
})

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

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

51
subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxml

@ -0,0 +1,51 @@
<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="{{formType == 'add'?'bto_bor':''}}">
<view> {{resiInfo.reporterName}} {{resiInfo.reporterMobile}}</view>
<view class="gray font28" style="margin: 20rpx 0;">{{resiInfo.addressDetail?resiInfo.addressDetail:'--'}}</view>
</view>
<view style="margin-top: 20rpx;" wx:if="{{formType == 'add'}}">
不满意原因:{{resiInfo.reason}}
</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}}" bindinput="handleBlurDescription" bindblur="handleBlurDescription" placeholder="请详细填写回访情况(不超过500字)"/>
</view>
</view>
<view style="margin-bottom: 80rpx;">
<view style="margin-top: 20rpx; color: #333333">是否还为不满意风险人员</view>
<view>
<radio-group bindchange="handleChangeRisk" value="{{form.riskFlag}}" style="margin-top: 20rpx;">
<radio color="#70acfc" checked="{{form.riskFlag === 0}}" value="0"/>否
<radio color="#70acfc" checked="{{form.riskFlag === 1}}" style="margin-left: 20rpx;" value="1"/>是
</radio-group>
</view>
</view>
</view>
</view>
<view class="fixed_btn" wx:if="{{formType == 'add'}}"><button bind:tap="submit" >提交</button></view>
<view class="flex" wx:else> <button class="edit_button" bind:tap="submit" >修改</button> <button class="del_button" bind:tap="del">删除</button> </view>

179
subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxss

@ -0,0 +1,179 @@
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;
}
.fixed_btn{
display: flex;
justify-content: center;
position: fixed;
bottom: 30rpx;
left: 50%;
transform: translateX(-184rpx);
}
.fixed_btn 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;
}
.flex{
display: flex;
justify-content: space-between;
width: 100%;
position: fixed;
bottom: 30rpx;
left: 50%;
transform: translateX(-360rpx);
}
.flex .edit_button{
width: 280rpx;
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;
}
.flex .del_button{
width: 280rpx;
height: 76rpx;
background: linear-gradient(87deg, #fb9c5a 0%, #ff7a3d 100%);
border-radius: 76rpx !important;
font-size: 32rpx;
font-weight: 400 !important;
font-family: PingFang SC;
color: #FFFFFF;
}

131
subpages/communitySelfInsp/pages/followUpList/followUpList.js

@ -0,0 +1,131 @@
import {getFollowUpList} from "../../../../utils/api"
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
tableData:[],
pageNo:1,
pageSize:7,
lowerThreshold:'10',
loadMoreVisible:false,
loadMoreType: "none",
nodata:false
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
satisfactionCategory:options.category,
inspRecordId:options.inspRecordId,
createdBy:app.globalData.user.id
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
this.setData({
pageNo:1,
tableData:[]
})
this.getFollowUpList()
},
/**
* 生命周期函数--监听页面隐藏
*/
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:'',
createdBy:this.data.createdBy,
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,
})
},
toFollowUpDetail(e){
wx.navigateTo({
url: `/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail?resiInfo=${JSON.stringify(e.currentTarget.dataset.item)}&type=edit`,
})
},
/**
* 用户点击右上角分享
*/
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" data-item="{{item}}" bind:tap="toFollowUpDetail">
<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 ;
margin-top: 20rpx;
box-sizing: border-box;
}
.content .scroll {
height: calc(100vh - 50rpx);
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;
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;
}

58
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,32 +90,12 @@ 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,
@ -151,7 +105,7 @@ Page({
}).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;

116
subpages/communitySelfInsp/pages/synthesis/synthesis.js

@ -0,0 +1,116 @@
// subpages/communitySelfInsp/pages/synthesis/synthesis.js
const app = getApp()
import {getSynthesis} from '../../../../utils/api'
Page({
/**
* 页面的初始数据
*/
data: {
agencyName:'',//组织名称
tableData:[],
monthName:'',//月份
personQty:'',//提交人数
synthesisScore:'',//综合得分
inspRecordId:'',//自查表Id
fontSize:''
},
/**
* 生命周期函数--监听页面加载
*/
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=>{
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
})
const textContent = res.data.agencyName; // 替换为你实际的内容
if (textContent.length > 5) { // 选择一个合适的长度作为调整字体大小的标准
this.setData({
fontSize: '38rpx' // 选择一个适当的较小字体大小
});
}
}).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" style="font-size: {{fontSize}};">{{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: 101;
}
.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;
}

29
utils/api.js

@ -28,7 +28,12 @@ module.exports = {
getClearHouseDeatilById,
getCollect,
clearMessage,
getInspRecord
getInspRecord,
getSynthesis,
getInspResult,
getFollowUpList,
followUpSave,
followUpDelete
}
// 消息列表
function getIntelligentMessage(param){
@ -145,4 +150,24 @@ 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)
}
// 回访记录新增/修改
function followUpSave (parm) {
return fly.post(`governance/satisfaction/communitySelfInsp/followUp/save`,parm)
}
// 回访记录删除
function followUpDelete (parm) {
return fly.post(`governance/satisfaction/communitySelfInsp/followUp/delete/${parm}`,)
}

Loading…
Cancel
Save