|
|
@ -1,76 +1,82 @@ |
|
|
|
import { |
|
|
|
getUnsatisfiedCategory, |
|
|
|
getUnsatisfiedMattersList, |
|
|
|
satisfactionMonthGroupForResident |
|
|
|
getUnsatisfiedCategory, |
|
|
|
getUnsatisfiedMattersList, |
|
|
|
satisfactionMonthGroupForResident |
|
|
|
} from "../../../../../utils/statisticsApi"; |
|
|
|
|
|
|
|
const formatTime = date => { |
|
|
|
const year = date.getFullYear() |
|
|
|
const month = date.getMonth() + 1 |
|
|
|
return [year, month].map(formatNumber).join('-') |
|
|
|
const year = date.getFullYear() |
|
|
|
const month = date.getMonth() + 1 |
|
|
|
return [year, month].map(formatNumber).join('-') |
|
|
|
} |
|
|
|
const formatTime2 = date => { |
|
|
|
const year = date.getFullYear() |
|
|
|
const month = date.getMonth() + 1 |
|
|
|
const day = date.getDate() |
|
|
|
return [year, month,day].map(formatNumber).join('-') |
|
|
|
const year = date.getFullYear() |
|
|
|
const month = date.getMonth() + 1 |
|
|
|
const day = date.getDate() |
|
|
|
return [year, month, day].map(formatNumber).join('-') |
|
|
|
} |
|
|
|
const formatNumber = n => { |
|
|
|
n = n.toString() |
|
|
|
return n[1] ? n : '0' + n |
|
|
|
n = n.toString() |
|
|
|
return n[1] ? n : '0' + n |
|
|
|
} |
|
|
|
|
|
|
|
Page({ |
|
|
|
data: { |
|
|
|
month: '', |
|
|
|
typeIndex: -1, |
|
|
|
typeList: [], |
|
|
|
satisfactionSourceIndex: -1, |
|
|
|
satisfactionSourceOptions: [{ |
|
|
|
value: 'satisfaction_12345', |
|
|
|
label: '12345投诉', |
|
|
|
color: '#FFB73C', |
|
|
|
}, { |
|
|
|
value: 'satisfaction_province', |
|
|
|
label: '省满意度调查', |
|
|
|
color: '#64C1FF' |
|
|
|
}, { |
|
|
|
value: 'satisfaction_community', |
|
|
|
label: '社区满意度自查', |
|
|
|
color: '#08EBAE' |
|
|
|
}], |
|
|
|
satisfactionCategory: -1, |
|
|
|
satisfactionCategoryOptions: [], |
|
|
|
list: {}, |
|
|
|
total: 0, |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 20, |
|
|
|
}, |
|
|
|
onLoad(options) { |
|
|
|
this.setData({ |
|
|
|
month: formatTime(new Date()) |
|
|
|
}) |
|
|
|
this.getList() |
|
|
|
}, |
|
|
|
nextMonth() { |
|
|
|
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 |
|
|
|
} |
|
|
|
data: { |
|
|
|
month: '', |
|
|
|
typeIndex: -1, |
|
|
|
typeList: [], |
|
|
|
satisfactionSourceIndex: 0, |
|
|
|
satisfactionSourceOptions: [{ |
|
|
|
value: '', |
|
|
|
label: '按来源', |
|
|
|
}, { |
|
|
|
value: 'satisfaction_12345', |
|
|
|
label: '12345投诉', |
|
|
|
color: '#FFB73C', |
|
|
|
}, { |
|
|
|
value: 'satisfaction_province', |
|
|
|
label: '省满意度调查', |
|
|
|
color: '#64C1FF' |
|
|
|
}, { |
|
|
|
value: 'satisfaction_community', |
|
|
|
label: '社区满意度自查', |
|
|
|
color: '#08EBAE' |
|
|
|
}], |
|
|
|
satisfactionCategory: 0, |
|
|
|
satisfactionCategoryOptions: [{ |
|
|
|
value: '', |
|
|
|
label: '按类型' |
|
|
|
}], |
|
|
|
list: {}, |
|
|
|
total: 0, |
|
|
|
pageNo: 1, |
|
|
|
pageSize: 20, |
|
|
|
}, |
|
|
|
onLoad(options) { |
|
|
|
this.setData({ |
|
|
|
month: formatTime(new Date()) |
|
|
|
}) |
|
|
|
this.getList() |
|
|
|
}, |
|
|
|
nextMonth() { |
|
|
|
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) |
|
|
|
this.setData({ |
|
|
|
pageNo: 1, |
|
|
|
month: formatTime(new Date(now.getFullYear(), now.getMonth() - 1)) |
|
|
|
}) |
|
|
|
this.getList() |
|
|
|
}, |
|
|
|
prevMonth() { |
|
|
|
console.log('prev'); |
|
|
|
let now = new Date(this.data.month) |
|
|
|
this.setData({ |
|
|
|
pageNo: 1, |
|
|
|
month: formatTime(new Date(now.getFullYear(), now.getMonth() - 1)) |
|
|
|
}) |
|
|
|
this.getList() |
|
|
|
}, |
|
|
|
prevMonth() { |
|
|
|
console.log('prev'); |
|
|
|
|
|
|
|
/* let now = new Date(this.data.month) |
|
|
|
let now2 = new Date() |
|
|
@ -80,69 +86,75 @@ Page({ |
|
|
|
}) |
|
|
|
this.getList() |
|
|
|
}*/ |
|
|
|
}, |
|
|
|
sourceChange(e) { |
|
|
|
console.log(e) |
|
|
|
this.getSatisfactionCategoryOptions() |
|
|
|
}, |
|
|
|
getSatisfactionCategoryOptions() { |
|
|
|
this.setData({ |
|
|
|
satisfactionCategory: -1, |
|
|
|
satisfactionCategoryOptions: [] |
|
|
|
}) |
|
|
|
getUnsatisfiedCategory({ |
|
|
|
satisfactionSource: this.data.satisfactionSourceOptions[this.data.satisfactionSourceIndex].value |
|
|
|
}).then(({data}) => { |
|
|
|
this.setData({ |
|
|
|
satisfactionCategoryOptions: 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], |
|
|
|
}, |
|
|
|
sourceChange(e) { |
|
|
|
console.log(e) |
|
|
|
this.getSatisfactionCategoryOptions() |
|
|
|
}, |
|
|
|
getSatisfactionCategoryOptions() { |
|
|
|
this.setData({ |
|
|
|
satisfactionCategory: -1, |
|
|
|
satisfactionCategoryOptions: [] |
|
|
|
}) |
|
|
|
getUnsatisfiedCategory({ |
|
|
|
satisfactionSource: this.data.satisfactionSourceOptions[this.data.satisfactionSourceIndex].value |
|
|
|
}).then(({ data }) => { |
|
|
|
this.setData({ |
|
|
|
satisfactionCategoryOptions: [ |
|
|
|
{ |
|
|
|
value: '', |
|
|
|
label: '按类型' |
|
|
|
}, |
|
|
|
...data.map(item => { |
|
|
|
return { |
|
|
|
label: item.categoryName, |
|
|
|
value: item.categoryCode |
|
|
|
} |
|
|
|
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) |
|
|
|
}) |
|
|
|
}) |
|
|
|
] |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
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); |
|
|
|
}) |
|
|
|
}, |
|
|
|
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) |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |