协同宣发

This commit is contained in:
yanran200730
2022-07-25 17:53:45 +08:00
parent 5da0f4b651
commit 7dc3032824
3 changed files with 366 additions and 5 deletions

View File

@@ -43,9 +43,9 @@
<ai-info-item label="群发范围" isLine>
<div class="text">
<span>按条件筛选的</span>
<i>{{ info.wxGroups ? info.wxGroups.length : 0 }}</i>
<i>{{ groups.length }}</i>
<span>个客户群</span>
<em>详情</em>
<em @click="isShowGroups = true">详情</em>
</div>
</ai-info-item>
<ai-info-item label="消息内容" isLine>
@@ -218,11 +218,40 @@
</div>
</template>
</ai-card>
<ai-dialog
:visible.sync="isShowGroups"
width="890px"
title="群发范围"
@onConfirm="isShowGroups = false">
<ai-table
:tableData="info.wxGroups"
:col-configs="colConfigs3"
border
tableSize="small"
:isShowPagination="false"
@getList="() => {}">
<el-table-column slot="user" label="群名称" align="center">
<template slot-scope="{ row }">
<div class="userinfo">
<span v-for="(item, index) in row.groupIds" :key="index">
<ai-open-data type="departmentName" :openid="item"></ai-open-data>
</span>
</div>
</template>
</el-table-column>
</ai-table>
</ai-dialog>
<div class="detail-phone">
<div class="mask"></div>
<Phone :avatar="user.info.avatar" :content="content" :fileList="fileList"></Phone>
</div>
</template>
</ai-detail>
</template>
<script>
import { mapState } from 'vuex'
import Phone from './Phone'
export default {
name: 'Detail',
@@ -232,9 +261,14 @@
params: Object
},
components: {
Phone
},
data () {
return {
total1: 0,
isShowGroups: false,
total2: 0,
user1: [],
user2: [],
@@ -261,6 +295,10 @@
info: {},
content: '',
currIndex: 0,
colConfigs3: [
{ prop: 'groupOwnerId', label: '群主', openType: 'userName' },
{ slot: 'user' }
],
colConfigs1: [
{ slot: 'user', label: '成员', openType: 'userName' },
{ prop: 'groupCount', label: '预计送达居民群', align: 'center' }
@@ -269,10 +307,15 @@
{ prop: 'groupName', label: '居民群' },
{ prop: 'memberCount', label: '群人数', align: 'center' },
{ slot: 'user', label: '群主', align: 'center' },
]
],
groups: []
}
},
computed: {
...mapState(['user'])
},
created () {
this.getInfo(this.params.id)
this.getMemberInfo()
@@ -350,6 +393,15 @@
...v.sysFile
}
})
this.info.wxGroups = res.data.wxGroups.map(v => {
this.groups.push(...v.groupIds.split(','))
return {
...v,
groupIds: v.groupIds.split(',')
}
})
}
})
},
@@ -390,11 +442,38 @@
<style scoped lang="scss">
.AppAnnounceDetail {
position: relative;
.user-wrapper {
display: flex;
flex-wrap: wrap;
}
.detail-phone {
position: fixed;
left: 0%;
top: 0%;
z-index: 11;
width: 100%;
height: 100%;
.mask {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
z-index: 1;
background: rgba($color: #000000, $alpha: 0.6);
}
::v-deep .phone-container {
position: absolute;
left: 50%;
top: 50%;
z-index: 11;
transform: translate(-50%, -50%);
}
}
.userSelcet {
display: flex;
align-items: center;
@@ -429,7 +508,6 @@
.userinfo {
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
line-height: 1;