协同宣发
This commit is contained in:
@@ -157,57 +157,7 @@
|
|||||||
</ai-card>
|
</ai-card>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="right">
|
<div class="right">
|
||||||
<img class="phone" src="https://cdn.cunwuyun.cn/dvcp/announce/phone.png" />
|
<Phone :avatar="user.info.avatar" @close="isShowPhone = false" :isShowClose="false" :content="form.content" :fileList="fileList"></Phone>
|
||||||
<img class="phone-wrapper" src="https://cdn.cunwuyun.cn/dvcp/announce/phone-wrapper.png" />
|
|
||||||
<div class="right-content">
|
|
||||||
<div class="msg-list">
|
|
||||||
<div class="msg-item" v-if="form.content">
|
|
||||||
<div class="msg-item__left">
|
|
||||||
<img v-if="user.info.avatar" :src="user.info.avatar" />
|
|
||||||
</div>
|
|
||||||
<div class="msg-item__right">
|
|
||||||
<div class="msg-wrapper msg-text">
|
|
||||||
<p>{{ form.content }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="msg-item" v-for="item in fileList" :key="item.id">
|
|
||||||
<div class="msg-item__left">
|
|
||||||
<img v-if="user.info.avatar" :src="user.info.avatar" />
|
|
||||||
</div>
|
|
||||||
<div class="msg-item__right" :class="[['1', '2'].indexOf(item.msgType) !== -1 ? 'left-border' : '']">
|
|
||||||
<div class="msg-wrapper msg-img" v-if="item.msgType === '1'">
|
|
||||||
<img :src="item.imgPicUrl" />
|
|
||||||
</div>
|
|
||||||
<div class="msg-wrapper msg-video" v-if="item.msgType === '2'">
|
|
||||||
<video controls :src="item.url"></video>
|
|
||||||
</div>
|
|
||||||
<div class="msg-wrapper msg-file" v-if="item.msgType === '3'">
|
|
||||||
<div class="msg-left">
|
|
||||||
<h2>{{ item.name }}</h2>
|
|
||||||
<p>{{ item.fileSizeStr }}</p>
|
|
||||||
</div>
|
|
||||||
<img src="https://cdn.cunwuyun.cn/dvcp/announce/folder.png" />
|
|
||||||
</div>
|
|
||||||
<div class="msg-wrapper msg-link" v-if="item.msgType === '4'">
|
|
||||||
<h2>{{ item.linkTitle }}</h2>
|
|
||||||
<div class="msg-right">
|
|
||||||
<p>{{ item.linkDesc }}</p>
|
|
||||||
<img :src="item.linkPicUrl" />
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="msg-wrapper msg-miniapp" v-if="item.msgType === '5'">
|
|
||||||
<h2>{{ item.mpTitle }}</h2>
|
|
||||||
<img :src="item.url" />
|
|
||||||
<div class="msg-bottom">
|
|
||||||
<i>小程序</i>
|
|
||||||
<img src="https://cdn.cunwuyun.cn/dvcp/announce/miniapp.png">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<ai-dialog
|
<ai-dialog
|
||||||
:visible.sync="isShowAddLink"
|
:visible.sync="isShowAddLink"
|
||||||
@@ -311,6 +261,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import Phone from './Phone'
|
||||||
import { mapActions, mapState } from 'vuex'
|
import { mapActions, mapState } from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
name: 'Add',
|
name: 'Add',
|
||||||
@@ -321,6 +272,10 @@
|
|||||||
params: Object
|
params: Object
|
||||||
},
|
},
|
||||||
|
|
||||||
|
components: {
|
||||||
|
Phone
|
||||||
|
},
|
||||||
|
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
info: {},
|
info: {},
|
||||||
@@ -365,16 +320,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
watch: {
|
|
||||||
fileList (v) {
|
|
||||||
if (v.length) {
|
|
||||||
setTimeout(() => {
|
|
||||||
document.querySelector('.right-content').scrollTo(0, 999999)
|
|
||||||
}, 800)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(['user'])
|
...mapState(['user'])
|
||||||
},
|
},
|
||||||
@@ -777,9 +722,6 @@
|
|||||||
.right {
|
.right {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
width: 338px;
|
|
||||||
height: 675px;
|
|
||||||
padding: 80px 15px 100px 32px;
|
|
||||||
|
|
||||||
.phone {
|
.phone {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
<i>{{ fileList.length }}</i>
|
<i>{{ fileList.length }}</i>
|
||||||
<span>个附件</span>
|
<span>个附件</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="right">预览消息</div>
|
<div class="right" @click="isShowPhone = true">预览消息</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ai-info-item>
|
</ai-info-item>
|
||||||
@@ -230,20 +230,11 @@
|
|||||||
tableSize="small"
|
tableSize="small"
|
||||||
:isShowPagination="false"
|
:isShowPagination="false"
|
||||||
@getList="() => {}">
|
@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-table>
|
||||||
</ai-dialog>
|
</ai-dialog>
|
||||||
<div class="detail-phone">
|
<div class="detail-phone" v-if="isShowPhone">
|
||||||
<div class="mask"></div>
|
<div class="mask"></div>
|
||||||
<Phone :avatar="user.info.avatar" :content="content" :fileList="fileList"></Phone>
|
<Phone :avatar="user.info.avatar" @close="isShowPhone = false" :isShowClose="true" :content="content" :fileList="fileList"></Phone>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</ai-detail>
|
</ai-detail>
|
||||||
@@ -269,6 +260,7 @@
|
|||||||
return {
|
return {
|
||||||
total1: 0,
|
total1: 0,
|
||||||
isShowGroups: false,
|
isShowGroups: false,
|
||||||
|
isShowPhone: false,
|
||||||
total2: 0,
|
total2: 0,
|
||||||
user1: [],
|
user1: [],
|
||||||
user2: [],
|
user2: [],
|
||||||
@@ -297,7 +289,7 @@
|
|||||||
currIndex: 0,
|
currIndex: 0,
|
||||||
colConfigs3: [
|
colConfigs3: [
|
||||||
{ prop: 'groupOwnerId', label: '群主', openType: 'userName' },
|
{ prop: 'groupOwnerId', label: '群主', openType: 'userName' },
|
||||||
{ slot: 'user' }
|
{ prop: 'groupNames', label: '群名称' }
|
||||||
],
|
],
|
||||||
colConfigs1: [
|
colConfigs1: [
|
||||||
{ slot: 'user', label: '成员', openType: 'userName' },
|
{ slot: 'user', label: '成员', openType: 'userName' },
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="phone-container">
|
<div class="phone-container">
|
||||||
|
<img class="close" @click="$emit('close')" v-if="isShowClose" src="https://cdn.cunwuyun.cn/dvcp/announce/close.png" />
|
||||||
<img class="phone" src="https://cdn.cunwuyun.cn/dvcp/announce/phone.png" />
|
<img class="phone" src="https://cdn.cunwuyun.cn/dvcp/announce/phone.png" />
|
||||||
<img class="phone-wrapper" src="https://cdn.cunwuyun.cn/dvcp/announce/phone-wrapper.png" />
|
<img class="phone-wrapper" src="https://cdn.cunwuyun.cn/dvcp/announce/phone-wrapper.png" />
|
||||||
<div class="right-content">
|
<div class="right-content">
|
||||||
@@ -56,7 +57,17 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
props: ['fileList', 'avatar', 'content']
|
props: ['fileList', 'avatar', 'content', 'isShowClose'],
|
||||||
|
|
||||||
|
watch: {
|
||||||
|
fileList (v) {
|
||||||
|
if (v.length) {
|
||||||
|
setTimeout(() => {
|
||||||
|
document.querySelector('.right-content').scrollTo(0, 999999)
|
||||||
|
}, 800)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -75,6 +86,22 @@
|
|||||||
height: 647px;
|
height: 647px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.close {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: 111;
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all ease 0.5s;
|
||||||
|
transform: translate(100%, -50%);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.phone-wrapper {
|
.phone-wrapper {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;
|
left: 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user