This commit is contained in:
shijingjing
2022-07-28 08:51:57 +08:00
parent bb263f8ed3
commit 74caeaebf8
11 changed files with 1779 additions and 40 deletions

View File

@@ -27,47 +27,64 @@
<div class="pieEcharts">
<div class="pie_info">
<div class="tips">
<div class="tips" v-if="detail.status">
数据更新于<span>{{ info.remindTime }}</span>
</div>
<div class="pie_card">
<div id="pieEcharts"></div>
<div id="pieEcharts"></div>
<div class="pie_right">
<div>
<span>{{tabIndex==0? '计划送达居民:':'计划送达居民群:'}}</span>
<span>{{
tabIndex == 0 ? "计划送达居民:" : "计划送达居民群:"
}}</span>
<span>{{ info.planCount || 0 }}</span>
</div>
<div>
<span>{{tabIndex==0? '未送达居民:':'未送达居民群:'}}</span>
<span>{{
tabIndex == 0 ? "未送达居民:" : "未送达居民群:"
}}</span>
<span>{{ info.unExecutedCount || 0 }}</span>
</div>
<div>
<span>{{tabIndex==0? '已送达居民:':'已送达居民群:'}}</span>
<span>{{
tabIndex == 0 ? "已送达居民:" : "已送达居民群:"
}}</span>
<span>{{ info.executedCount || 0 }}</span>
</div>
<div>
<span>{{tabIndex==0? '无法送达居民:':'无法送达居民群:'}}</span>
<span>{{
tabIndex == 0 ? "无法送达居民:" : "无法送达居民群:"
}}</span>
<span>{{ info.cannotExecuteCount || 0 }}</span>
</div>
</div>
</div>
<!-- v-if="detail.status == 4" -->
<div class="btn" @click="remindSend">提醒成员发送</div>
<div class="btn" @click="remindSend">提醒成员发送</div>
</div>
</div>
<div class="list_content">
<div class="list_card">
<div class="tab">
<u-subsection :list="subsection" :current="subIndex" @change="changeSub"></u-subsection>
<u-subsection
:list="subsection"
:current="subIndex"
@change="changeSub"
></u-subsection>
</div>
<AiTable
:data="tableData"
:colConfigs="tabIndex==0? colConfigs0 : colConfigs1"
v-if="tableData.length">
<u-td slot="groupOwnerId" slot-scope="{row}">
<AiOpenData v-if="row.groupOwnerId" type="userName" :openid="row.groupOwnerId"/>
:colConfigs="tabIndex == 0 ? colConfigs0 : colConfigs1"
v-if="tableData.length"
>
<u-td slot="groupOwnerId" slot-scope="{ row }">
<AiOpenData
v-if="row.groupOwnerId"
type="userName"
:openid="row.groupOwnerId"
/>
</u-td>
</AiTable>
<AiEmpty v-if="!tableData.length" description="暂无数据"></AiEmpty>
@@ -99,21 +116,21 @@ export default {
firstClickTime: "",
currentClickTime: "",
flag: true,
detail: {}
detail: {},
};
},
computed: {
colConfigs0() {
return [
{ slot: "groupOwnerId",label: "成员" },
{ label: "预计送达居民群", prop: "groupCount" }
{ slot: "groupOwnerId", label: "成员" },
{ label: "预计送达居民群", prop: "groupCount" },
];
},
colConfigs1() {
return [
{ label: "居民群",prop: "groupName" },
{ label: "群人数", prop: "memberCount"},
{ slot: "groupOwnerId",label: "群主" }
{ label: "居民群", prop: "groupName" },
{ label: "群人数", prop: "memberCount" },
{ slot: "groupOwnerId", label: "群主" },
];
},
},
@@ -124,15 +141,17 @@ export default {
methods: {
tabClick(index) {
this.tabIndex = index;
this.getStatistics()
this.getStatistics();
},
getDetail() {
this.$http.post(`/app/appmasssendingtask/queryDetailById?id=${this.id}`).then(res=> {
if (res?.data) {
this.detail = res.data
}
})
this.$http
.post(`/app/appmasssendingtask/queryDetailById?id=${this.id}`)
.then((res) => {
if (res?.data) {
this.detail = res.data;
}
});
},
toDetail() {
@@ -140,9 +159,13 @@ export default {
},
// 提醒发送
remindSend() {
this.firstClickTime = +new Date(this.detail.remindTime).getTime();
this.firstClickTime = new Date(this.detail.remindTime).getTime() || "";
console.log(this.firstClickTime);
this.currentClickTime = +new Date();
console.log(this.currentClickTime);
let time = this.currentClickTime - this.firstClickTime;
console.log(time);
if (time >= 60 * 60 * 1000 || this.flag) {
this.$http
.post("/app/appmasssendingtask/remindSend", null, {
@@ -156,13 +179,12 @@ export default {
this.flag = false;
}
})
.catch(() => {
});
.catch(() => {});
} else {
console.log(111);
time = 60 * 60 * 1000 - time;
const min = Math.floor(time / 1000 / 60); // 分钟
let second = Math.floor(time / 1000); // 秒
let second = Math.floor(time / 1000); // 秒
second %= 60;
let msg = ``;
if (min > 0 && second > 0) {
@@ -178,7 +200,7 @@ export default {
// 切换分段器
changeSub(index) {
this.subIndex = index;
this.getStatistics()
this.getStatistics();
},
// 获取数据
getStatistics() {
@@ -193,10 +215,10 @@ export default {
})
.then((res) => {
if (res?.data) {
this.info = res.data
this.tableData = res.data.executedList.records
this.info = res.data;
this.tableData = res.data.executedList.records;
}
this.getPieEcharts()
this.getPieEcharts();
});
},
@@ -210,7 +232,7 @@ export default {
color: ["#1684fc", "#ccc"],
series: [
{
name: "群发送达率",
name: this.tabIndex == 0 ? "任务完成率" : "群发送达率",
type: "pie",
radius: ["50%", "70%"],
avoidLabelOverlap: false,
@@ -230,9 +252,26 @@ export default {
label: {
normal: {
show: true,
formatter: `{d}%\n群发居民群`,
formatter: ({ name, value }) => {
if (this.tabIndex == 0) {
return `{name|任务达成率\n\n}{value|${value}%}`;
} else {
return `{name|群发送达率\n\n}{value|${value}%}`;
}
},
textStyle: {
fontSize: 16,
},
rich: {
name: {
color: "#7300000",
},
value: {
color: "#000000",
fontSize: 26,
},
},
},
},
@@ -247,7 +286,7 @@ export default {
onShow() {
document.title = "群发居民群统计";
this.getStatistics();
this.getDetail()
this.getDetail();
},
mounted() {
this.getPieEcharts();
@@ -261,7 +300,7 @@ export default {
padding: 0;
}
::v-deep .emptyWrap {
border: 2px solid #D0D4DC;
border: 2px solid #d0d4dc;
border-radius: 8px;
padding-bottom: 20px;
}