From 936ba62f1cb2888797ea354f47078c5228ab0cb4 Mon Sep 17 00:00:00 2001 From: shijingjing <1789544664@qq.com> Date: Fri, 15 Jul 2022 10:44:31 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=AE=A3=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppPropagandaStatistics.vue | 602 +++++++++++------- .../AppPropagandaStatistics/calendarInfo.vue | 44 +- .../groupSendDetail.vue | 2 +- .../groupSendResident.vue | 164 ++++- 4 files changed, 573 insertions(+), 239 deletions(-) diff --git a/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue b/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue index 9b32b4c4..9f5f28b8 100644 --- a/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue +++ b/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue @@ -1,47 +1,115 @@ diff --git a/src/project/saas/AppPropagandaStatistics/calendarInfo.vue b/src/project/saas/AppPropagandaStatistics/calendarInfo.vue index 29644ea2..00397e5a 100644 --- a/src/project/saas/AppPropagandaStatistics/calendarInfo.vue +++ b/src/project/saas/AppPropagandaStatistics/calendarInfo.vue @@ -29,23 +29,61 @@ export default { data() { return { date: '', - selected: [{date: '2022-07-12'}], + selected: [], list: [{ time: '11:00', info: '晴风小区志愿者活动' - }] + }], + calendarList: {}, + year: '', + month: '', + day: '', } }, components: { uniCalendar }, + created() { + this.getNowDay() + this.getData() + + }, methods: { change(val) { this.date = `${val.year} + '-' + ${val.month} + '-' + ${val.day}` }, + getNowDay() { + const date = new Date() + this.year = date.getFullYear() + this.month = date.getMonth() + 1 + }, toGroup() { uni.navigateTo({url: './groupSendResident'}) - } + }, + getData() { + this.$http.post(`/app/appmasssendingtask/statisticsCalendar`, null, { + params: {}, + }) + .then((res) => { + if (res?.data) { + this.calendarList = res.data; + var arr = Object.keys(res.data).map(key => (res.data[key])) + var calList = arr.filter(item=> (item.taskList && item.taskList.length > 0)) + this.selected = calList.map(item=> { + if(item.day>=1 && item.day<=9) { + if(this.month>=1 && this.month <=9) { + return this.year + '-' + '0' + this.month + '-' + '0' + item.day + } + } else if(item.day> 9) { + if(this.month > 9) { + return this.year + '-' + this.month + '-' + item.day + } + } + }) + console.log(this.selected); + } + }); + }, }, onShow() { document.title = '宣发日历' diff --git a/src/project/saas/AppPropagandaStatistics/groupSendDetail.vue b/src/project/saas/AppPropagandaStatistics/groupSendDetail.vue index de0934a6..4a7c76c6 100644 --- a/src/project/saas/AppPropagandaStatistics/groupSendDetail.vue +++ b/src/project/saas/AppPropagandaStatistics/groupSendDetail.vue @@ -119,7 +119,7 @@ export default { {value: 10, name: '群发送达率', label:{ normal:{ show:true, - formatter: '{d}%\n群发送达率', + formatter: `{d}%\n群发居民群`, textStyle: { fontSize: 16, }, diff --git a/src/project/saas/AppPropagandaStatistics/groupSendResident.vue b/src/project/saas/AppPropagandaStatistics/groupSendResident.vue index 51ef945d..01629e5d 100644 --- a/src/project/saas/AppPropagandaStatistics/groupSendResident.vue +++ b/src/project/saas/AppPropagandaStatistics/groupSendResident.vue @@ -5,7 +5,7 @@ -
筛选
+
筛选
@@ -19,6 +19,57 @@
创建部门:{{ item.createUserDept }}
+ + + @@ -29,6 +80,11 @@ export default { current: 1, name: '', list: [], + filterShow: false, + startTime: '', + endTime: '', + showStart: false, + showEnd: false, } }, methods: { @@ -39,7 +95,6 @@ export default { this.$http.post(`/app/appmasssendingtask/list`, null, { params: { current: this.current, - } }).then(res=> { if(res?.data) { @@ -47,14 +102,28 @@ export default { } console.log(res); }) - } + }, + filterBtn() {}, + reset() { + this.startTime = '', + this.endTime = '' + }, + selectConfirm() {}, + confirmStart(val) { + this.startTime = val.year + '-' + val.month + '-' + val.day + }, + confirmEnd(val) { + this.endTime = val.year + '-' + val.month + '-' + val.day + }, }, onShow() { document.title = '群发居民群' + this.current = 1 this.getList() }, onReachBottom() { this.current ++ + this.getList() }, } @@ -112,5 +181,94 @@ export default { } } } + .popup { + box-sizing: border-box; + // height: 800px; + .tips { + width: 80px; + height: 6px; + background: #dddddd; + border-radius: 4px; + padding: 0 32px; + box-sizing: border-box; + margin: 32px auto 8px auto; + } + .title { + height: 48px; + line-height: 48px; + font-size: 34px; + font-family: PingFangSC-Medium, PingFang SC; + font-weight: 500; + color: #222; + padding: 0 32px; + box-sizing: border-box; + padding-bottom: 32px; + .cancel { + display: inline-block; + width: 200px; + color: #aaa; + } + .confirm { + display: inline-block; + width: 200px; + text-align: right; + color: #333; + } + p { + display: inline-block; + width: calc(100% - 400px); + text-align: center; + font-size: 28px; + } + } + .select-content { + height: calc(100% - 100px); + overflow-y: scroll; + } + .type-list { + padding: 0 32px; + box-sizing: border-box; + margin-bottom: 32px; + .type-title { + line-height: 108px; + font-size: 32px; + font-family: PingFangSC-Medium, PingFang SC; + font-weight: 500; + color: #333; + } + .item { + display: flex; + justify-content: space-between; + & > div:last-child { + ::v-deep .uni-input-input, + ::v-deep .uni-input-placeholder { + text-align: right; + } + } + } + .active { + background: #1365dd; + color: #fff; + } + } + .popBtn { + display: flex; + height: 98px; + line-height: 98px; + div { + width: 50%; + border: 2px solid #3399ff; + text-align: center; + } + div:first-child { + color: #3399ff; + } + div:last-child { + color: #fff; + background: #3399ff; + } + } + } + } \ No newline at end of file From f2dd80a0187cf30b268217298ead95bca2bf4e96 Mon Sep 17 00:00:00 2001 From: shijingjing <1789544664@qq.com> Date: Fri, 15 Jul 2022 11:08:32 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=B8=89=E5=B1=82=E7=A0=B4=E5=BC=B9?= =?UTF-8?q?=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppPropagandaStatistics.vue | 57 +++++++++++-------- .../AppPropagandaStatistics/calendarInfo.vue | 1 - 2 files changed, 32 insertions(+), 26 deletions(-) diff --git a/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue b/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue index 9f5f28b8..bdd9df2a 100644 --- a/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue +++ b/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue @@ -198,26 +198,20 @@
开始时间:
-
- +
+ +
结束时间:
-
- +
+ +
+ +
确定
@@ -253,6 +247,8 @@ export default { departId: "", startTime: "", endTime: "", + showStart: false, + showEnd: false, resX: [], resY: [], res2Y: [], @@ -286,6 +282,8 @@ export default { if (index == 3) { this.timeSelect = index; this.customShow = true; + this.showStart = false; + this.showEnd = false; } else { this.timeSelect = index; } @@ -302,17 +300,24 @@ export default { this.departId = ""; }, - selectConfirm() { - if (this.timeSelect == 3) { - this.timeType = this.timeSelect; - this.startTime = this.start; - this.endTime = this.end; - this.getBrokenDate(); - } else { - this.timeType = this.timeSelect; - this.getBrokenDate(); - } - this.filterShow = false; + // selectConfirm() { + // if (this.timeSelect == 3) { + // this.timeType = this.timeSelect; + // this.startTime = this.start; + // this.endTime = this.end; + // this.getBrokenDate(); + // } else { + // this.timeType = this.timeSelect; + // this.getBrokenDate(); + // } + // this.filterShow = false; + // }, + + confirmStart(val) { + this.startTime = val.year + '-' + val.month + '-' + val.day + }, + confirmEnd(val) { + this.endTime = val.year + '-' + val.month + '-' + val.day }, handleTime() { @@ -826,6 +831,7 @@ export default { .customPop { padding: 80px 32px 20px 32px; box-sizing: border-box; + height: 600px; .startTime, .endTime { @@ -841,6 +847,7 @@ export default { text-align: center; border-radius: 16px; color: #fff; + margin-top: 164px; } } } diff --git a/src/project/saas/AppPropagandaStatistics/calendarInfo.vue b/src/project/saas/AppPropagandaStatistics/calendarInfo.vue index 00397e5a..a02149e2 100644 --- a/src/project/saas/AppPropagandaStatistics/calendarInfo.vue +++ b/src/project/saas/AppPropagandaStatistics/calendarInfo.vue @@ -80,7 +80,6 @@ export default { } } }) - console.log(this.selected); } }); }, From b9f1bee17be016363031acee63dc41a1d2070a08 Mon Sep 17 00:00:00 2001 From: shijingjing <1789544664@qq.com> Date: Fri, 15 Jul 2022 13:52:11 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=B1=85=E6=B0=91=E7=BE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppPropagandaStatistics.vue | 37 +++++----- .../groupSendResident.vue | 74 ++++++++++++++----- 2 files changed, 77 insertions(+), 34 deletions(-) diff --git a/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue b/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue index bdd9df2a..9ab6cc7d 100644 --- a/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue +++ b/src/project/saas/AppPropagandaStatistics/AppPropagandaStatistics.vue @@ -247,6 +247,8 @@ export default { departId: "", startTime: "", endTime: "", + start: "", + end: "", showStart: false, showEnd: false, resX: [], @@ -281,7 +283,8 @@ export default { checkTime(index) { if (index == 3) { this.timeSelect = index; - this.customShow = true; + this.customShow = true; + this.showStart = false; this.showEnd = false; } else { @@ -300,18 +303,18 @@ export default { this.departId = ""; }, - // selectConfirm() { - // if (this.timeSelect == 3) { - // this.timeType = this.timeSelect; - // this.startTime = this.start; - // this.endTime = this.end; - // this.getBrokenDate(); - // } else { - // this.timeType = this.timeSelect; - // this.getBrokenDate(); - // } - // this.filterShow = false; - // }, + selectConfirm() { + if (this.timeSelect == 3) { + this.timeType = this.timeSelect; + this.start = this.startTime; + this.end = this.endTime; + this.getBrokenDate(); + } else { + this.timeType = this.timeSelect; + this.getBrokenDate(); + } + this.filterShow = false; + }, confirmStart(val) { this.startTime = val.year + '-' + val.month + '-' + val.day @@ -321,8 +324,8 @@ export default { }, handleTime() { - this.startTime = this.start; - this.endTime = this.end; + this.start = this.startTime + this.end = this.endTime this.customShow = false; }, @@ -352,8 +355,8 @@ export default { .post(`/app/appmasssendingtask/statisticsEffect`, null, { params: { type: this.timeSelect, - startTime: this.startTime, - endTime: this.endTime, + startTime: this.start, + endTime: this.end, // departId: this.departId }, }) diff --git a/src/project/saas/AppPropagandaStatistics/groupSendResident.vue b/src/project/saas/AppPropagandaStatistics/groupSendResident.vue index 01629e5d..5fb71a47 100644 --- a/src/project/saas/AppPropagandaStatistics/groupSendResident.vue +++ b/src/project/saas/AppPropagandaStatistics/groupSendResident.vue @@ -3,22 +3,24 @@ -
+
-
{{ item.content }}
-
进行中
+
{{ item.taskTitle }}
+
{{ $dict.getLabel('mstStatus', item.status) }}
创建时间:{{ item.createTime }}
-
共需56名成员完成群发,目前已完成65%
+
共需56名成员完成群发,目前已完成{{ item.completionRate || 0 }}%
创建部门:{{ item.createUserDept }}
+ -
提醒成员发送
+
提醒成员发送
@@ -38,8 +38,8 @@
- - + +
@@ -60,25 +60,35 @@ export default { {name: '无法送达'} ], subIndex: 0, - tableData0: [], - tableData1: [], + tableData: [], + createTime: '', + id: '', + info: {}, + flag: false, + timer: null, + current: 1, } }, computed: { colConfigs0() { return [ - { label: '成员', prop: '', width: '240rpx', dict: 'householdRelation' }, - { label: '预计未送达居民', prop: ''}, + { label: '成员', prop: 'groupOwnerId', width: '240rpx', dict: 'householdRelation' }, + { label: '预计未送达居民', prop: 'groupCount'}, ] }, colConfigs1() { return [ - { label: '居民群', prop: '', width: '240rpx', dict: 'householdRelation' }, - { label: '群人数', prop: '', width: '200rpx' }, - { label: '群主', prop: '', dict: 'sex' }, + { label: '居民群', prop: 'groupName', width: '240rpx', dict: 'householdRelation' }, + { label: '群人数', prop: 'memberCount', width: '200rpx' }, + { label: '群主', prop: 'groupOwnerId', dict: 'sex' }, ] }, }, + onLoad(o) { + this.id = o.id + this.createTime = o.time + this.getStatistics() + }, methods: { tabClick(index) { this.tabIndex = index @@ -87,6 +97,38 @@ export default { toDetail() { uni.navigateTo({url: `./detail`}) }, + // 提醒发送 + remindSend() { + if(this.flag) return + var n = 60 * 60 * 1000 + setTimeout(()=> { + + }) + this.$http.post('/app/appmasssendingtask/remindSend',null,{ + params: { + id: this.id + } + }).then(res => { + console.log(res); + }).catch(err => { + console.log(err); + }) + }, + + getStatistics() { + this.$http.post(`/app/appmasssendingtask/detailStatistics`, null, { + params: { + type: this.tabIndex, + sendStatus: this.subIndex, + taskId: this.id, + current: this.current + } + }).then(res => { + if(res?.data) { + this.tableData = res.data.executedList + } + }) + }, // 带百分比饼图 getPieEcharts() { diff --git a/src/project/saas/AppPropagandaStatistics/groupSendResident.vue b/src/project/saas/AppPropagandaStatistics/groupSendResident.vue index 5fb71a47..7bf24646 100644 --- a/src/project/saas/AppPropagandaStatistics/groupSendResident.vue +++ b/src/project/saas/AppPropagandaStatistics/groupSendResident.vue @@ -9,14 +9,14 @@
-
+
{{ item.taskTitle }}
{{ $dict.getLabel('mstStatus', item.status) }}
创建时间:{{ item.createTime }}
-
共需56名成员完成群发,目前已完成{{ item.completionRate || 0 }}%
+
共需{{ item.groupOwnerCount }}名成员完成群发,目前已完成{{ item.completionRate || 0 }}%
创建部门:{{ item.createUserDept }}
@@ -87,8 +87,8 @@ export default { } }, methods: { - toDetail() { - uni.navigateTo({url: `./groupSendDetail`}) + toDetail(item) { + uni.navigateTo({url: `./groupSendDetail?id=${item.id}&time=${item.createTime}`}) }, searchBtn() { this.current = 1 From 034e0e463adb908c585e8ab585c302b868a1a8ab Mon Sep 17 00:00:00 2001 From: shijingjing <1789544664@qq.com> Date: Fri, 15 Jul 2022 16:43:41 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E5=8D=8F=E5=90=8C=E5=AE=A3=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppCooperationPropaganda.vue} | 10 ++- .../cooperationDetail.vue} | 46 +++++----- .../detail.vue | 79 ++++++++++++++++-- .../images/shaixuan.png | Bin 0 -> 663 bytes 4 files changed, 100 insertions(+), 35 deletions(-) rename src/project/saas/{AppPropagandaStatistics/groupSendResident.vue => AppCooperationPropaganda/AppCooperationPropaganda.vue} (97%) rename src/project/saas/{AppPropagandaStatistics/groupSendDetail.vue => AppCooperationPropaganda/cooperationDetail.vue} (85%) rename src/project/saas/{AppPropagandaStatistics => AppCooperationPropaganda}/detail.vue (50%) create mode 100644 src/project/saas/AppCooperationPropaganda/images/shaixuan.png diff --git a/src/project/saas/AppPropagandaStatistics/groupSendResident.vue b/src/project/saas/AppCooperationPropaganda/AppCooperationPropaganda.vue similarity index 97% rename from src/project/saas/AppPropagandaStatistics/groupSendResident.vue rename to src/project/saas/AppCooperationPropaganda/AppCooperationPropaganda.vue index 7bf24646..d3ab2be5 100644 --- a/src/project/saas/AppPropagandaStatistics/groupSendResident.vue +++ b/src/project/saas/AppCooperationPropaganda/AppCooperationPropaganda.vue @@ -1,5 +1,5 @@