Browse Source

新增打卡记录

新增居民详情
dev
战立标 2 years ago
parent
commit
f509eaf95b
  1. 109
      project.private.config.json
  2. 85
      subpages/searchResult/pages/checkLog/checkLog.js
  3. 7
      subpages/searchResult/pages/checkLog/checkLog.json
  4. 24
      subpages/searchResult/pages/checkLog/checkLog.wxml
  5. 107
      subpages/searchResult/pages/checkLog/checkLog.wxss
  6. 22
      subpages/searchResult/pages/punchCard/punchCard.js
  7. 9
      subpages/searchResult/pages/punchCard/punchCard.wxml
  8. 9
      subpages/searchResult/pages/punchCard/punchCard.wxss
  9. 6
      subpages/statistics/pages/demand/detail/detail.js
  10. 2
      subpages/statistics/pages/demand/detail/detail.wxml
  11. 6
      subpages/statistics/pages/demand/list/list.js
  12. 260
      subpages/statistics/pages/dissatisfied/list/list.js
  13. 5
      subpages/statistics/pages/event/detail/detail.js
  14. 2
      subpages/statistics/pages/event/detail/detail.wxml
  15. 12
      subpages/statistics/pages/event/list/list.js
  16. 2
      subpages/statistics/pages/residentPortrait/residentPortrait.wxml
  17. 10
      subpages/statistics/pages/sjwjj/sjwjj.wxml
  18. 10
      subpages/statistics/pages/xqwmz/xqwmz.wxml
  19. 8
      subpages/statistics/pages/yxwxfw/yxwxfw.wxml

109
project.private.config.json

@ -2,12 +2,117 @@
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "epmet-work-minniprogram", "projectname": "epmet-work-minniprogram",
"setting": { "setting": {
"compileHotReLoad": false, "compileHotReLoad": true,
"urlCheck": false "urlCheck": false
}, },
"condition": { "condition": {
"miniprogram": { "miniprogram": {
"list": [ "list": [
{
"name": "subpages/statistics/pages/residentPortrait2/residentPortrait",
"pathName": "subpages/statistics/pages/residentPortrait2/residentPortrait",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/addResi/pages/addResi/addResi",
"pathName": "subpages/addResi/pages/addResi/addResi",
"query": "type=edit&resiId=1704759123301355521",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/addResi/pages/addResi/addResi",
"pathName": "subpages/addResi/pages/addResi/addResi",
"query": "type=edit&resiId=1704759138283409410",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/searchResult/pages/punchCard/punchCard",
"pathName": "subpages/searchResult/pages/punchCard/punchCard",
"query": "resiId=1704759138283409410",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/addResi/pages/addResi/addResi",
"pathName": "subpages/addResi/pages/addResi/addResi",
"query": "type=edit&resiId=1736923526105554946",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/addResi/pages/addResi/addResi",
"pathName": "subpages/addResi/pages/addResi/addResi",
"query": "type=edit&resiId=1704759138283409410",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/statistics/pages/demand/detail/detail",
"pathName": "subpages/statistics/pages/demand/detail/detail",
"query": "id=1726875931996110850&type=2",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/statistics/pages/demand/detail/detail",
"pathName": "subpages/statistics/pages/demand/detail/detail",
"query": "id=1726875931996110850&type=2",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/statistics/pages/demand/detail/detail",
"pathName": "subpages/statistics/pages/demand/detail/detail",
"query": "id=1730039765330636802&type=1",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/statistics/pages/demand/detail/detail",
"pathName": "subpages/statistics/pages/demand/detail/detail",
"query": "id=1730039765330636802&type=1",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/statistics/pages/event/detail/detail",
"pathName": "subpages/statistics/pages/event/detail/detail",
"query": "id=1717777356023885826",
"launchMode": "default",
"scene": null
},
{
"name": "subpages/statistics/pages/problem/problem",
"pathName": "subpages/statistics/pages/problem/problem",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "",
"pathName": "subpages/statistics/pages/event/detail/detail",
"query": "id=%7B%22name%22%3A%22%E5%BC%A0%E4%B8%89%22%2C%22mobile%22%3A%22173****7327%22%2C%22satisfactionSource%22%3A%22satisfaction_community%22%2C%22createdTime%22%3A%222023-12-12%2016%3A05%22%2C%22satisfactionCategoryName%22%3A%22%E7%AC%AC%E4%B8%80%E7%BD%91%E6%A0%BC%22%2C%22reason%22%3A%22%E6%9D%91%E5%89%8D%E7%9A%84%E8%80%81%E5%AE%85%E6%9C%89%E4%B8%AA%E9%A5%AD%E5%BA%97%EF%BC%8C%E6%83%B3%E8%A6%81%E6%89%A9%E5%BB%BA%E4%BA%8C%E5%B1%82%EF%BC%8C%E5%91%A8%E8%BE%B9%E6%9D%91%E6%B0%91%E9%83%BD%E4%B8%8D%E5%90%8C%E6%84%8F%EF%BC%8C%E8%AF%A5%E5%B1%85%E6%B0%91%E6%83%B3%E8%87%AA%E8%A1%8C%E5%8A%A0%E9%AB%98%EF%BC%8C%E5%AF%B9%E6%AD%A4%E4%B8%8D%E6%BB%A1%EF%BC%8C%E8%A6%81%E6%B1%82%E5%81%9C%E6%AD%A2%E5%BB%BA%E8%AE%BE%EF%BC%8C%E5%B8%8C%E6%9C%9B%E8%B4%A3%E4%BB%BB%E9%83%A8%E9%97%A8%E5%B0%BD%E5%BF%AB%E8%90%BD%E5%AE%9E%E8%AF%A5%E4%BF%A1%E6%81%AF%C2%B7%C2%B7%C2%B7%22%7D",
"launchMode": "default",
"scene": null
},
{
"name": "",
"pathName": "subpages/statistics/pages/event/list/list",
"query": "",
"launchMode": "default",
"scene": null
},
{
"name": "",
"pathName": "pages/statistics/statistics",
"query": "",
"launchMode": "default",
"scene": null
},
{ {
"name": "", "name": "",
"pathName": "pages/webView/webView", "pathName": "pages/webView/webView",
@ -158,5 +263,5 @@
] ]
} }
}, },
"libVersion": "3.1.0" "libVersion": "3.1.5"
} }

85
subpages/searchResult/pages/checkLog/checkLog.js

@ -0,0 +1,85 @@
const app = getApp()
import { getCheckLogList } from "../../../../utils/api"
Page({
/**
* 页面的初始数据
*/
data: {
statusHeight: '',
navigationHeight: '',
tableData: [],
lowerThreshold: '10',
loadMoreVisible: false,
nodata: false,
loadMoreType: 'more',
resiId: '',
pageSize: 10,
pageNo: 1
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
statusHeight: app.globalData.deviceInfo.statusHeight,
navigationHeight: app.globalData.deviceInfo.navigationHeight,
resiId: options.resiId
})
this.getTable()
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
onScrollToLower(e) {
if (this.data.loadMoreType === 'more') {
this.setData({
loadMoreVisible: true,
})
this.data.pageNo += 1
this.getTable()
}
},
getTable() {
this.setData({
loadMoreVisible: true,
nodata: false,
loadMoreType: "more",
})
let parm = {
resiId: this.data.resiId,
pageSize: this.data.pageSize,
pageNo: this.data.pageNo
}
getCheckLogList(parm).then(res => {
console.log(res, 'rrr')
if (res.data) {
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,
loadMoreType: '',
nodata: true
})
}
} else {
this.setData({
loadMoreType: '',
nodata: true
})
}
}).catch(err => {
console.log(err);
})
},
back() {
wx.navigateBack()
},
})

7
subpages/searchResult/pages/checkLog/checkLog.json

@ -0,0 +1,7 @@
{
"navigationStyle": "custom",
"usingComponents": {
"load-more": "../../../../components/loadMore/loadMore",
"no-data": "../../../../components/noData/nodata"
}
}

24
subpages/searchResult/pages/checkLog/checkLog.wxml

@ -0,0 +1,24 @@
<!--subpages/searchResult/pages/searchResult/searchResult.wxml-->
<view class="header">
<image src="../../../../images/back.png" class="back" style=" top: {{statusHeight}}px;width: 50rpx;height: 50rpx;" bindtap="back" mode="" />
<view class="navigation" style="height: {{navigationHeight}}px; top: {{statusHeight}}px;">
打卡记录
</view>
</view>
<view class="content">
<scroll-view class="scroll" scroll-y="{{true}}" lower-threshold="{{ lowerThreshold }}" bindscrolltolower="onScrollToLower">
<view class="card">
<view class="list_card" wx:for="{{tableData}}" wx:key="index">
<view class="left">
<view class="name">打卡人:{{item.name}}</view>
<view class="time">打卡时间:{{item.clockInTime}}</view>
<view class="address">打卡地址: {{item.clockInAddress}}</view>
</view>
</view>
</view>
<load-more loadVisible="{{loadMoreVisible}}" loadType="{{loadMoreType}}"></load-more>
<no-data isShow="{{nodata}}" wx:if="{{nodata}}"></no-data>
</scroll-view>
</view>

107
subpages/searchResult/pages/checkLog/checkLog.wxss

@ -0,0 +1,107 @@
/* subpages/searchResult/pages/searchResult/searchResult.wxss */
page {
width: 100%;
min-height: 100vh;
overflow: hidden;
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;
}
.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: 20rpx;
border-radius: 0rpx;
z-index: 2;
}
.content{
height: auto;
width: 100%;
overflow: hidden;
position: relative;
top: -350rpx;
padding: 0 20rpx;
box-sizing: border-box;
}
.content .scroll {
height: calc(100vh - 150rpx);
overflow-y: scroll;
}
.content .scroll .card{
background-color: #fff;
border-radius: 20rpx;
padding: 0 30rpx;
box-sizing: border-box;
}
.content .card .list_card{
display: flex;
justify-content: space-around;
padding: 30rpx 0;
align-items: center;
color: #333333;
border-top: 1px solid #EAEAEA;
}
.content .card .list_card .left{
flex: 1;
height: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.content .card .list_card .left .address{
/* font-size: 28rpx; */
font-family: PingFang SC;
font-weight: 500;
color: #999999;
}
.flex-sb {
display: flex;
justify-content: space-between;
}
.time {
color: #999;
margin: 10rpx 0;
/* font-size: 28rpx; */
}
.name {
font-size: 32rpx;
/* font-size: 28rpx; */
}

22
subpages/searchResult/pages/punchCard/punchCard.js

@ -23,7 +23,9 @@ Page({
address:'', address:'',
longitude:'', longitude:'',
latitude:'', latitude:'',
agencyLevel: '' agencyLevel: '',
recentTime: '',
lastLog: {}
}, },
/** /**
@ -47,6 +49,7 @@ Page({
this.setData({ this.setData({
agencyLevel: app.globalData.user.level agencyLevel: app.globalData.user.level
}) })
this.getLastLogs()
}, },
updateTime() { updateTime() {
let date = new Date(); let date = new Date();
@ -76,7 +79,7 @@ Page({
}, },
handlePunch(){ handlePunch(){
this.setData({ this.setData({
punchFlag:!this.data.punchFlag, // punchFlag:!this.data.punchFlag,
animationClass:'animate' animationClass:'animate'
}) })
setTimeout(() => { setTimeout(() => {
@ -96,7 +99,8 @@ Page({
} }
api.clockRecords(obj).then(res=>{ api.clockRecords(obj).then(res=>{
wx.showToast({ wx.showToast({
title: this.data.punchFlag?'打卡成功':'更新成功', // title: this.data.punchFlag?'打卡成功':'更新成功',
title: '打卡成功',
icon:'none' icon:'none'
}) })
}).catch(err=>{ }).catch(err=>{
@ -200,5 +204,17 @@ Page({
*/ */
onShareAppMessage() { onShareAppMessage() {
},
gotopage(e) {
wx.navigateTo({
url: e.currentTarget.dataset.url,
})
},
getLastLogs() {
api.getLastLog({resiId:this.data.resiId}).then(res => {
this.setData({
lastLog: res.data
})
})
} }
}) })

9
subpages/searchResult/pages/punchCard/punchCard.wxml

@ -30,12 +30,17 @@
<!-- 走访打卡 --> <!-- 走访打卡 -->
<view class="card "> <view class="card ">
<view class="title">走访打卡</view> <view class="flex-sb">
<view class="title">走访打卡</view>
<view class="view" bind:tap="gotopage" data-url="/subpages/searchResult/pages/checkLog/checkLog?resiId={{resiId}}">打卡记录</view>
</view>
<view class="punch {{animationClass}}" bind:tap="handlePunch"> <view class="punch {{animationClass}}" bind:tap="handlePunch">
<view class="{{animationClass}}" style="font-size: 36rpx;">{{!punchFlag ? '打卡' : '更新打卡'}}</view> <!-- <view class="{{animationClass}}" style="font-size: 36rpx;">{{!punchFlag ? '打卡' : '更新打卡'}}</view> -->
<view class="{{animationClass}}" style="font-size: 36rpx;">打卡</view>
<view class="{{animationClass}}" style="font-family:PingFang-SC-Regular;font-size: 28rpx;opacity: 0.72;">{{currentTime}}</view> <view class="{{animationClass}}" style="font-family:PingFang-SC-Regular;font-size: 28rpx;opacity: 0.72;">{{currentTime}}</view>
</view> </view>
<view class="address">当前位置:{{addressContent}}</view> <view class="address">当前位置:{{addressContent}}</view>
<view class="address" style="margin-top: 0;" wx:if="{{lastLog.clockInTime}}">最近打卡时间:{{lastLog.clockInTime}}</view>
</view> </view>
<!-- 相关操作 --> <!-- 相关操作 -->
<view class="card"> <view class="card">

9
subpages/searchResult/pages/punchCard/punchCard.wxss

@ -101,4 +101,11 @@ page {
border: 2rpx solid #13C8BD; border: 2rpx solid #13C8BD;
} }
.flex-sb {
display: flex;
justify-content: space-between;
}
.view {
color: #999;
font-size: 24rpx;
}

6
subpages/statistics/pages/demand/detail/detail.js

@ -79,5 +79,9 @@ Page({
}) })
} }
}, },
callphone() {
wx.makePhoneCall({
phoneNumber: this.data.detail.reportUserMobile,
})
}
}) })

2
subpages/statistics/pages/demand/detail/detail.wxml

@ -3,7 +3,7 @@
<view class="user-info"> <view class="user-info">
<view class="name"> <view class="name">
<text>{{detail.reportUserName || detail.title}} {{detail.reportUserMobile}}</text> <text>{{detail.reportUserName || detail.title}} {{detail.reportUserMobile}}</text>
<image wx:if="{{type === '1'}}" src="../../../images/tel.png" class="tel-btn" mode="widthFix"></image> <image wx:if="{{type === '1'}}" src="../../../images/tel.png" bind:tap="callphone" class="tel-btn" mode="widthFix"></image>
</view> </view>
<view class="address"> <view class="address">
<view class="address-name">{{detail.gridName || detail.categoryName}}</view> <view class="address-name">{{detail.gridName || detail.categoryName}}</view>

6
subpages/statistics/pages/demand/list/list.js

@ -12,8 +12,12 @@ Page({
value: '2', value: '2',
label: '共性需求', label: '共性需求',
}], }],
statusIndex: -1, statusIndex: 0,
statusOptions: [ statusOptions: [
{
label: '按状态',
value: ''
},
{ {
label: '待响应', label: '待响应',
value: '1' value: '1'

260
subpages/statistics/pages/dissatisfied/list/list.js

@ -1,76 +1,82 @@
import { import {
getUnsatisfiedCategory, getUnsatisfiedCategory,
getUnsatisfiedMattersList, getUnsatisfiedMattersList,
satisfactionMonthGroupForResident satisfactionMonthGroupForResident
} from "../../../../../utils/statisticsApi"; } from "../../../../../utils/statisticsApi";
const formatTime = date => { const formatTime = date => {
const year = date.getFullYear() const year = date.getFullYear()
const month = date.getMonth() + 1 const month = date.getMonth() + 1
return [year, month].map(formatNumber).join('-') return [year, month].map(formatNumber).join('-')
} }
const formatTime2 = date => { const formatTime2 = date => {
const year = date.getFullYear() const year = date.getFullYear()
const month = date.getMonth() + 1 const month = date.getMonth() + 1
const day = date.getDate() const day = date.getDate()
return [year, month,day].map(formatNumber).join('-') return [year, month, day].map(formatNumber).join('-')
} }
const formatNumber = n => { const formatNumber = n => {
n = n.toString() n = n.toString()
return n[1] ? n : '0' + n return n[1] ? n : '0' + n
} }
Page({ Page({
data: { data: {
month: '', month: '',
typeIndex: -1, typeIndex: -1,
typeList: [], typeList: [],
satisfactionSourceIndex: -1, satisfactionSourceIndex: 0,
satisfactionSourceOptions: [{ satisfactionSourceOptions: [{
value: 'satisfaction_12345', value: '',
label: '12345投诉', label: '按来源',
color: '#FFB73C', }, {
}, { value: 'satisfaction_12345',
value: 'satisfaction_province', label: '12345投诉',
label: '省满意度调查', color: '#FFB73C',
color: '#64C1FF' }, {
}, { value: 'satisfaction_province',
value: 'satisfaction_community', label: '省满意度调查',
label: '社区满意度自查', color: '#64C1FF'
color: '#08EBAE' }, {
}], value: 'satisfaction_community',
satisfactionCategory: -1, label: '社区满意度自查',
satisfactionCategoryOptions: [], color: '#08EBAE'
list: {}, }],
total: 0, satisfactionCategory: 0,
pageNo: 1, satisfactionCategoryOptions: [{
pageSize: 20, value: '',
}, label: '按类型'
onLoad(options) { }],
this.setData({ list: {},
month: formatTime(new Date()) total: 0,
}) pageNo: 1,
this.getList() pageSize: 20,
}, },
nextMonth() { onLoad(options) {
console.log('next'); this.setData({
if (this.data.list[this.data.month].data.length < this.data.list[this.data.month].total) { month: formatTime(new Date())
this.setData({ })
pageNo: this.data.pageNo + 1 this.getList()
}) },
this.getList() nextMonth() {
return console.log('next');
} if (this.data.list[this.data.month].data.length < this.data.list[this.data.month].total) {
this.setData({
pageNo: this.data.pageNo + 1
})
this.getList()
return
}
let now = new Date(this.data.month) let now = new Date(this.data.month)
this.setData({ this.setData({
pageNo: 1, pageNo: 1,
month: formatTime(new Date(now.getFullYear(), now.getMonth() - 1)) month: formatTime(new Date(now.getFullYear(), now.getMonth() - 1))
}) })
this.getList() this.getList()
}, },
prevMonth() { prevMonth() {
console.log('prev'); console.log('prev');
/* let now = new Date(this.data.month) /* let now = new Date(this.data.month)
let now2 = new Date() let now2 = new Date()
@ -80,69 +86,75 @@ Page({
}) })
this.getList() this.getList()
}*/ }*/
}, },
sourceChange(e) { sourceChange(e) {
console.log(e) console.log(e)
this.getSatisfactionCategoryOptions() this.getSatisfactionCategoryOptions()
}, },
getSatisfactionCategoryOptions() { getSatisfactionCategoryOptions() {
this.setData({ this.setData({
satisfactionCategory: -1, satisfactionCategory: -1,
satisfactionCategoryOptions: [] satisfactionCategoryOptions: []
}) })
getUnsatisfiedCategory({ getUnsatisfiedCategory({
satisfactionSource: this.data.satisfactionSourceOptions[this.data.satisfactionSourceIndex].value satisfactionSource: this.data.satisfactionSourceOptions[this.data.satisfactionSourceIndex].value
}).then(({data}) => { }).then(({ data }) => {
this.setData({ this.setData({
satisfactionCategoryOptions: data.map(item => { satisfactionCategoryOptions: [
return { {
label: item.categoryName, value: '',
value: item.categoryCode label: '按类型'
} },
}) ...data.map(item => {
}) return {
}) label: item.categoryName,
}, value: item.categoryCode
onConfirm() {
this.setData({
list: {},
})
this.getList();
},
getList() {
let params = {
pageNo: this.data.pageNo,
pageSize: this.data.pageSize,
month: this.data.month,
satisfactionSource: this.data.satisfactionSourceIndex >= 0 ? this.data.satisfactionSourceOptions[this.data.satisfactionSourceIndex].value : '',
satisfactionCategory: this.data.satisfactionCategory >= 0 ? this.data.satisfactionCategoryOptions[this.data.satisfactionCategory].value : '',
}
let list = this.data.list
getUnsatisfiedMattersList(params).then(({data}) => {
list[params.month] = {
data: this.data.list[params.month]?this.data.list[params.month].data.concat(data.list):data.list,
total: data.total,
month: params.month.split('-')[1],
} }
this.setData({ })
list ]
}) })
this.getCount(params); })
}) },
}, onConfirm() {
getCount({month}) { this.setData({
let now = new Date(month); list: {},
var startTime = formatTime2(new Date(now.getFullYear(), now.getMonth(), 1)); })
var endTime = formatTime2(new Date(now.getFullYear(), now.getMonth() + 1, 0, 23, 59, 59)); this.getList();
satisfactionMonthGroupForResident({ },
startTime,endTime getList() {
}).then(({data}) => { let params = {
this.setData(JSON.parse(`{"list.${month}.sumNumber": "${data.sumNumber}","list.${month}.sumPeople": "${data.sumPeople}"}`)) pageNo: this.data.pageNo,
}) pageSize: this.data.pageSize,
}, month: this.data.month,
gotopage(e) { satisfactionSource: this.data.satisfactionSourceIndex >= 0 ? this.data.satisfactionSourceOptions[this.data.satisfactionSourceIndex].value : '',
wx.navigateTo({ satisfactionCategory: this.data.satisfactionCategory >= 0 ? this.data.satisfactionCategoryOptions[this.data.satisfactionCategory].value : '',
url: '/subpages/statistics/pages/dissatisfied/detial/detail?id=' + JSON.stringify(e.currentTarget.dataset.id)
})
} }
let list = this.data.list
getUnsatisfiedMattersList(params).then(({ data }) => {
list[params.month] = {
data: this.data.list[params.month] ? this.data.list[params.month].data.concat(data.list) : data.list,
total: data.total,
month: params.month.split('-')[1],
}
this.setData({
list
})
this.getCount(params);
})
},
getCount({ month }) {
let now = new Date(month);
var startTime = formatTime2(new Date(now.getFullYear(), now.getMonth(), 1));
var endTime = formatTime2(new Date(now.getFullYear(), now.getMonth() + 1, 0, 23, 59, 59));
satisfactionMonthGroupForResident({
startTime, endTime
}).then(({ data }) => {
this.setData(JSON.parse(`{"list.${month}.sumNumber": "${data.sumNumber}","list.${month}.sumPeople": "${data.sumPeople}"}`))
})
},
gotopage(e) {
wx.navigateTo({
url: '/subpages/statistics/pages/dissatisfied/detial/detail?id=' + JSON.stringify(e.currentTarget.dataset.id)
})
}
}) })

5
subpages/statistics/pages/event/detail/detail.js

@ -79,4 +79,9 @@ Page({
isShowOrder: false isShowOrder: false
}) })
}, },
callphone() {
wx.makePhoneCall({
phoneNumber: this.data.detail.mobile,
})
}
}) })

2
subpages/statistics/pages/event/detail/detail.wxml

@ -3,7 +3,7 @@
<view class="user-info"> <view class="user-info">
<view class="name"> <view class="name">
<text>{{detail.name}} {{detail.mobile}}</text> <text>{{detail.name}} {{detail.mobile}}</text>
<image src="../../../images/tel.png" class="tel-btn" mode="widthFix"></image> <image src="../../../images/tel.png" class="tel-btn" bind:tap="callphone" mode="widthFix"></image>
</view> </view>
<view class="address"> <view class="address">
<view class="address-name">{{detail.agencyName?detail.agencyName:''}}</view> <view class="address-name">{{detail.agencyName?detail.agencyName:''}}</view>

12
subpages/statistics/pages/event/list/list.js

@ -4,8 +4,12 @@ Page({
data: { data: {
orgList: [], orgList: [],
orgIndex: 0, orgIndex: 0,
satisfactionSourceIndex: -1, satisfactionSourceIndex: 0,
satisfactionSourceOptions: [ satisfactionSourceOptions: [
{
value: "",
label: "按来源",
},
{ {
value: "0", value: "0",
label: "随手拍/随时讲", label: "随手拍/随时讲",
@ -31,8 +35,12 @@ Page({
label: "北尚诉办", label: "北尚诉办",
}, },
], ],
tagIndex: -1, tagIndex: 0,
tagOptions: [ tagOptions: [
{
value: "",
label: "按标记",
},
{ {
value: "1", value: "1",
label: "难点痛点", label: "难点痛点",

2
subpages/statistics/pages/residentPortrait/residentPortrait.wxml

@ -1,6 +1,6 @@
<view class="resident-container"> <view class="resident-container">
<view class="card"> <view class="card">
<view class="title">居民基本信息</view> <view class="title">居民档案</view>
<view class="user-info"> <view class="user-info">
<view class="name"> <view class="name">
{{userInfo.name}} {{userInfo.mobile}} {{userInfo.name}} {{userInfo.mobile}}

10
subpages/statistics/pages/sjwjj/sjwjj.wxml

@ -1,20 +1,20 @@
<view class="user-info"> <view class="user-info">
<view class="name">{{name}} {{mobile}}</view> <view class="name">{{name}} {{mobile}}</view>
<view class="address">{{agencyName}}</view> <view class="address">{{agencyName&&agencyName!=='null'?agencyName:''}}</view>
</view> </view>
<view class="qz-container"> <view class="qz-container">
<view class="list"> <view class="list">
<view class="item" wx:for="{{list}}" wx:key="{{index}}"> <view class="item" wx:for="{{list}}" wx:key="{{index}}">
<view class="title"> <view class="title">
<view class="blue">{{item.categoryName}}</view> <view class="blue">{{item.categoryName?item.categoryName:''}}</view>
<view class="time">{{item.happenTime}}</view> <view class="time">{{item.happenTime?item.happenTime:''}}</view>
</view> </view>
<view class="content"> <view class="content">
{{item.eventContent}} {{item.eventContent}}
</view> </view>
<view class="status"> <view class="status">
<text>{{item.latestProcessingTime}}</text> <text>{{item.latestProcessingTime?item.latestProcessingTime:''}}</text>
<text>{{item.latestProcessingStatus}}</text> <text>{{item.latestProcessingStatus?item.latestProcessingStatus:''}}</text>
</view> </view>
</view> </view>
</view> </view>

10
subpages/statistics/pages/xqwmz/xqwmz.wxml

@ -6,15 +6,15 @@
<view class="list"> <view class="list">
<view class="item" wx:for="{{list}}" wx:key="{{index}}"> <view class="item" wx:for="{{list}}" wx:key="{{index}}">
<view class="title"> <view class="title">
<view class="blue">{{item.categoryName}}</view> <view class="blue">{{item.categoryName?item.categoryName:''}}</view>
<view class="time">{{item.reportTime}}</view> <view class="time">{{item.reportTime?item.reportTime:''}}</view>
</view> </view>
<view class="content"> <view class="content">
{{item.content}} {{item.content?item.content:''}}
</view> </view>
<view class="status"> <view class="status">
<text>{{item.latestProcessingTime}}</text> <text>{{item.latestProcessingTime?item.latestProcessingTime: ''}} </text>
<text>{{item.latestProcessingStatus}}</text> <text>{{item.latestProcessingStatus?item.latestProcessingStatus:''}}</text>
</view> </view>
</view> </view>
</view> </view>

8
subpages/statistics/pages/yxwxfw/yxwxfw.wxml

@ -1,16 +1,16 @@
<view class="user-info"> <view class="user-info">
<view class="name">{{name}} {{mobile}}</view> <view class="name">{{name}} {{mobile}}</view>
<view class="address">{{agencyName}}</view> <view class="address">{{agencyName&&agencyName!=='null'?agencyName:''}}</view>
</view> </view>
<view class="qz-container"> <view class="qz-container">
<view class="list"> <view class="list">
<view class="item" wx:for="{{list}}" wx:key="{{index}}"> <view class="item" wx:for="{{list}}" wx:key="{{index}}">
<view class="title"> <view class="title">
<view class="blue">{{item.serviceCategoryName}}</view> <view class="blue">{{item.serviceCategoryName?item.serviceCategoryName:''}}</view>
<view class="time">{{item.serviceTimeStart}}</view> <view class="time">{{item.serviceTimeStart?item.serviceTimeStart:''}}</view>
</view> </view>
<view class="content"> <view class="content">
{{item.remark}} {{item.remark?item.remark:''}}
</view> </view>
<view class="status"> <view class="status">
<text>是否已完成服务:</text> <text>是否已完成服务:</text>

Loading…
Cancel
Save