宣发统计

This commit is contained in:
yanran200730
2022-07-25 14:10:46 +08:00
parent bd3ef507cc
commit f89deadcb2

View File

@@ -29,19 +29,21 @@
</div> </div>
</ai-info-item> </ai-info-item>
<ai-info-item label="审批人"> <ai-info-item label="审批人">
<div class="user-wrapper">
<div class="user" v-for="(item, index) in info.examines" :key="index"> <div class="user" v-for="(item, index) in info.examines" :key="index">
<img src="https://cdn.cunwuyun.cn/dvcp/announce/user.png" /> <img src="https://cdn.cunwuyun.cn/dvcp/announce/user.png" />
<span> <span>
<ai-open-data type="userName" :openid="item.wxOpenUserId"></ai-open-data> <ai-open-data type="userName" :openid="item.examineUserId"></ai-open-data>
</span> </span>
</div> </div>
</div>
</ai-info-item> </ai-info-item>
<ai-info-item label="创建时间" :value="info.createTime"></ai-info-item> <ai-info-item label="创建时间" :value="info.createTime"></ai-info-item>
<ai-info-item label="群发时间" :value="info.choiceTime"></ai-info-item> <ai-info-item label="群发时间" :value="info.choiceTime"></ai-info-item>
<ai-info-item label="群发范围" isLine> <ai-info-item label="群发范围" isLine>
<div class="text"> <div class="text">
<span>按条件筛选的</span> <span>按条件筛选的</span>
<i>{{ info.wxGroups.length }}</i> <i>{{ info.wxGroups ? info.wxGroups.length : 0 }}</i>
<span>个客户群</span> <span>个客户群</span>
<em>详情</em> <em>详情</em>
</div> </div>
@@ -51,8 +53,8 @@
<p>{{ content }}</p> <p>{{ content }}</p>
<div class="msg-bottom" v-if="fileList.length"> <div class="msg-bottom" v-if="fileList.length">
<div class="left"> <div class="left">
<img src="https://cdn.cunwuyun.cn/dvcp/announce/img.png" /> <img :src="mapIcon(fileList[0].msgType)" />
<span>图片附件235325346.jpg </span> <span>{{ mapType(fileList[0].msgType) }}{{ fileList[0].mpTitle || fileList[0].name || fileList[0].linkTitle }} </span>
<i>{{ fileList.length }}</i> <i>{{ fileList.length }}</i>
<span>个附件</span> <span>个附件</span>
</div> </div>
@@ -106,10 +108,10 @@
<div class="bottom"> <div class="bottom">
<div class="bottom-search"> <div class="bottom-search">
<div class="left"> <div class="left">
<el-radio-group v-model="radio1" size="small"> <el-radio-group v-model="search2.sendStatus" size="small">
<el-radio-button size="small" label="未执行"></el-radio-button> <el-radio-button size="small" label="0">未执行</el-radio-button>
<el-radio-button size="small" label="已执行"></el-radio-button> <el-radio-button size="small" label="1">已执行</el-radio-button>
<el-radio-button size="small" label="无法执行"></el-radio-button> <el-radio-button size="small" label="2">无法执行</el-radio-button>
</el-radio-group> </el-radio-group>
</div> </div>
<el-button type="primary">提醒成员发送</el-button> <el-button type="primary">提醒成员发送</el-button>
@@ -120,8 +122,8 @@
:total="total" :total="total"
border border
tableSize="small" tableSize="small"
:current.sync="search.current" :current.sync="search1.current"
:size.sync="search.size" :size.sync="search1.size"
@getList="getList"> @getList="getList">
</ai-table> </ai-table>
</div> </div>
@@ -156,10 +158,10 @@
<div class="bottom"> <div class="bottom">
<div class="bottom-search"> <div class="bottom-search">
<div class="left"> <div class="left">
<el-radio-group v-model="radio1" size="small"> <el-radio-group v-model="search1.sendStatus" size="small">
<el-radio-button size="small" label="未执行"></el-radio-button> <el-radio-button size="small" label="0">未执行</el-radio-button>
<el-radio-button size="small" label="已执行"></el-radio-button> <el-radio-button size="small" label="1">已执行</el-radio-button>
<el-radio-button size="small" label="无法执行"></el-radio-button> <el-radio-button size="small" label="2">无法执行</el-radio-button>
</el-radio-group> </el-radio-group>
</div> </div>
<el-button type="primary">提醒成员发送</el-button> <el-button type="primary">提醒成员发送</el-button>
@@ -170,8 +172,8 @@
:total="total" :total="total"
border border
tableSize="small" tableSize="small"
:current.sync="search.current" :current.sync="search2.current"
:size.sync="search.size" :size.sync="search2.size"
@getList="getList"> @getList="getList">
</ai-table> </ai-table>
</div> </div>
@@ -196,9 +198,19 @@
return { return {
total: 0, total: 0,
radio1: '未执行', radio1: '未执行',
search: { search1: {
current: 1, current: 1,
size: 10 size: 10,
deptartId: '',
type: 0,
sendStatus: '0'
},
search2: {
current: 1,
size: 10,
deptartId: '',
type: 1,
sendStatus: '0'
}, },
fileList: [], fileList: [],
tableData: [], tableData: [],
@@ -218,9 +230,35 @@
created () { created () {
this.getInfo(this.params.id) this.getInfo(this.params.id)
this.getMemberInfo()
this.getGroupInfo()
}, },
methods: { methods: {
getMemberInfo () {
this.instance.post(`/app/appmasssendingtask/detailStatistics`, null, {
params: {
...this.search1,
taskId: this.params.id
}
}).then(res => {
if (res.code === 0) {
}
})
},
getGroupInfo () {
this.instance.post(`/app/appmasssendingtask/detailStatistics`, null, {
params: {
...this.search2,
taskId: this.params.id
}
}).then(res => {
if (res.code === 0) {
}
})
},
getInfo (id) { getInfo (id) {
this.instance.post(`/app/appmasssendingtask/queryDetailById?id=${id}`).then(res => { this.instance.post(`/app/appmasssendingtask/queryDetailById?id=${id}`).then(res => {
if (res.code === 0) { if (res.code === 0) {
@@ -242,7 +280,29 @@
}) })
}, },
getList () {}, getList () {
},
mapType (type) {
return {
1: '图片',
2: '视频',
3: '文件',
4: '网站',
5: '小程序'
}[type]
},
mapIcon (type) {
return {
1: 'https://cdn.cunwuyun.cn/dvcp/announce/img.png',
2: 'https://cdn.cunwuyun.cn/dvcp/announce/video.png',
3: 'https://cdn.cunwuyun.cn/dvcp/announce/folder.png',
4: 'https://cdn.cunwuyun.cn/dvcp/announce/site.png',
5: 'https://cdn.cunwuyun.cn/dvcp/announce/miniapp.png'
}[type]
},
cancel (isRefresh) { cancel (isRefresh) {
this.$emit('change', { this.$emit('change', {
@@ -256,10 +316,15 @@
<style scoped lang="scss"> <style scoped lang="scss">
.AppAnnounceDetail { .AppAnnounceDetail {
.user-wrapper {
display: flex;
flex-wrap: wrap;
}
.user { .user {
display: flex; display: flex;
align-items: center; align-items: center;
line-height: 1; line-height: 1;
margin-right: 8px;
img { img {
width: 16px; width: 16px;
@@ -306,7 +371,6 @@
p { p {
line-height: 1.3; line-height: 1.3;
padding: 8px 12px; padding: 8px 12px;
border-bottom: 1px solid #D0D4DC;
} }
.msg-bottom { .msg-bottom {
@@ -315,6 +379,7 @@
justify-content: space-between; justify-content: space-between;
height: 38px; height: 38px;
padding: 0 16px; padding: 0 16px;
border-top: 1px solid #D0D4DC;
.left { .left {
display: flex; display: flex;