Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -35,7 +35,6 @@
|
||||
},
|
||||
|
||||
mounted () {
|
||||
console.log(this.$route)
|
||||
if (this.$route.params.id) {
|
||||
this.component = 'Detail'
|
||||
this.params = {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<ai-detail class="AppAnnounceAdd">
|
||||
<ai-detail class="AppAnnounceAdd" v-loading="isLoading">
|
||||
<template slot="title">
|
||||
<ai-title :title="id ? '编辑居民群发' : '添加居民群发'" isShowBack isShowBottomBorder @onBackClick="cancel(false)">
|
||||
</ai-title>
|
||||
@@ -45,7 +45,8 @@
|
||||
<span>{{ groupLen }}</span>
|
||||
<el-tooltip
|
||||
placement="top"
|
||||
content="任务开始后,3天内15分钟更新1次,3天后访问页面时触发更新,1时间最多刷新1次">
|
||||
content="将由指定群主发送给TA作为群主的所有的群,由于企业微
|
||||
信限制,当超过1000个时将只发送到最近活跃的1000个群">
|
||||
<i class="iconfont iconModal_Warning"></i>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
@@ -107,7 +108,7 @@
|
||||
multiple
|
||||
:file-list="fileList"
|
||||
:show-file-list="false"
|
||||
:before-upload="v => handleChange(v, 10, '.zip,.rar,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.txt')"
|
||||
:before-upload="v => handleChange(v, 20, '.zip,.rar,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.txt')"
|
||||
:limit="9"
|
||||
action="/app/wxcp/upload/uploadFile"
|
||||
accept=".zip,.rar,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.txt"
|
||||
@@ -256,7 +257,7 @@
|
||||
</template>
|
||||
<template #footer>
|
||||
<el-button @click="cancel">取消</el-button>
|
||||
<el-button type="primary" @click="confirm(0)" style="width: 120px;" v-loading="isLoading">通知成员发送</el-button>
|
||||
<el-button type="primary" @click="confirm(0)" style="width: 120px;">通知成员发送</el-button>
|
||||
<el-button type="primary" @click="confirm(1)">定时发送</el-button>
|
||||
</template>
|
||||
</ai-detail>
|
||||
@@ -578,9 +579,7 @@
|
||||
...this.fileList
|
||||
]
|
||||
|
||||
if (sendType === 0) {
|
||||
this.isLoading = true
|
||||
}
|
||||
this.isLoading = true
|
||||
this.instance.post(`/app/appmasssendingtask/addOrUpdate`, {
|
||||
...this.form,
|
||||
id: this.params.id,
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<div class="right-tips" v-if="info.status === '4'">
|
||||
<el-tooltip
|
||||
placement="top"
|
||||
content="任务开始后,3天内15分钟更新1次,3天后访问页面时触发更新,1时间最多刷新1次">
|
||||
content="任务开始后,3天内15分钟更新1次,3天后访问页面时触发更新,1小时最多刷新1次">
|
||||
<i class="iconfont iconDetails"></i>
|
||||
</el-tooltip>
|
||||
<span>数据更新于{{ info.dataUpdateTime }}</span>
|
||||
@@ -26,7 +26,7 @@
|
||||
<div class="user">
|
||||
<img src="https://cdn.cunwuyun.cn/dvcp/announce/user.png" />
|
||||
<span><ai-open-data type="userName" :openid="info.createUserId"></ai-open-data></span>
|
||||
(<span v-if="info.createUserSecondDept"><ai-open-data type="departmentName" :openid="info.createUserSecondDept"></ai-open-data>,</span>
|
||||
(<span v-if="info.createUserSecondDept"><ai-open-data type="departmentName" :openid="info.createUserSecondDept"></ai-open-data>/</span>
|
||||
<span><ai-open-data type="departmentName" :openid="info.createUserDept"></ai-open-data></span>)
|
||||
</div>
|
||||
</ai-info-item>
|
||||
@@ -124,7 +124,7 @@
|
||||
</ai-user-get>
|
||||
</div>
|
||||
</div>
|
||||
<el-button type="primary" @click="sendMsg(0)" v-if="info.status === '4'">提醒成员发送</el-button>
|
||||
<el-button :type="isDisabled ? '' : 'primary'" :disabled="isDisabled" @click="sendMsg(0)" v-if="info.status === '4'">{{ isDisabled ? min + '分钟后可再次提醒' : '提醒成员发送' }}</el-button>
|
||||
</div>
|
||||
<ai-table
|
||||
:tableData="tableData1"
|
||||
@@ -193,7 +193,7 @@
|
||||
</ai-user-get>
|
||||
</div>
|
||||
</div>
|
||||
<el-button type="primary" @click="sendMsg(1)" v-if="info.status === '4'">提醒成员发送</el-button>
|
||||
<el-button :type="isDisabled ? '' : 'primary'" :disabled="isDisabled" @click="sendMsg(1)" v-if="info.status === '4'">{{ isDisabled ? min + '分钟后可再次提醒' : '提醒成员发送' }}</el-button>
|
||||
</div>
|
||||
<ai-table
|
||||
:tableData="tableData2"
|
||||
@@ -303,7 +303,10 @@
|
||||
{ prop: 'memberCount', label: '群人数', align: 'center' },
|
||||
{ slot: 'user', label: '群主', align: 'center' },
|
||||
],
|
||||
groups: []
|
||||
groups: [],
|
||||
timer: null,
|
||||
min: 60,
|
||||
isDisabled: false
|
||||
}
|
||||
},
|
||||
|
||||
@@ -317,6 +320,10 @@
|
||||
this.getGroupInfo()
|
||||
},
|
||||
|
||||
destroyed () {
|
||||
clearInterval(this.timer)
|
||||
},
|
||||
|
||||
methods: {
|
||||
getMemberInfo () {
|
||||
this.instance.post(`/app/appmasssendingtask/detailStatistics`, null, {
|
||||
@@ -352,6 +359,7 @@
|
||||
this.instance.post(`/app/appmasssendingtask/remindSend?id=${this.params.id}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.$message.success('提醒成功')
|
||||
this.getInfo(this.params.id)
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -376,10 +384,29 @@
|
||||
})
|
||||
},
|
||||
|
||||
countdown () {
|
||||
this.timer = setInterval(() => {
|
||||
const nowTime = this.$moment(new Date())
|
||||
const min = nowTime.diff(this.info.remindTime, 'minute')
|
||||
this.min = (60 - min)
|
||||
console.log(nowTime.diff(this.info.remindTime, 'minute'))
|
||||
|
||||
if (this.min <= 0) {
|
||||
this.isDisabled = false
|
||||
} else {
|
||||
this.isDisabled = true
|
||||
clearInterval(this.timer)
|
||||
}
|
||||
}, 1000)
|
||||
},
|
||||
|
||||
getInfo (id) {
|
||||
this.instance.post(`/app/appmasssendingtask/queryDetailById?id=${id}`).then(res => {
|
||||
if (res.code === 0) {
|
||||
this.info = res.data
|
||||
if (res.data.status === '4' && res.data.remindTime) {
|
||||
this.countdown()
|
||||
}
|
||||
|
||||
const content = res.data.contents.filter(v => v.msgType === '0')
|
||||
|
||||
@@ -406,10 +433,6 @@
|
||||
})
|
||||
},
|
||||
|
||||
getList () {
|
||||
|
||||
},
|
||||
|
||||
mapType (type) {
|
||||
return {
|
||||
1: '图片',
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
</div>
|
||||
<div class="flex-between">
|
||||
<div class="item-info">群发类型:<span>{{$dict.getLabel('mstSendType', item.sendType) || ''}}</span></div>
|
||||
<span class="item-btn" @click="$router.push({name: '357e228ba8e64008ace90d095a7a0dd7', params: { id: item.id }})">详情{{item.sendType}}</span>
|
||||
<span class="item-btn" @click="$router.push({name: '357e228ba8e64008ace90d095a7a0dd7', params: { id: item.id }})">详情</span>
|
||||
</div>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
@@ -155,7 +155,10 @@
|
||||
departData: {},
|
||||
departBarChart: null,
|
||||
dialogDate: false,
|
||||
timeListEffect: '',
|
||||
timeListDepart: '',
|
||||
timeList: '',
|
||||
isEffectTimeSelect: false,
|
||||
deptList: [],
|
||||
selectDeptName: '',
|
||||
isDepartData: true,
|
||||
@@ -222,11 +225,11 @@
|
||||
return this.$message.error('请选择自定义时间');
|
||||
}
|
||||
|
||||
if(this.effectType == 3) { //宣发效果
|
||||
if(this.effectType == 3 && this.isEffectTimeSelect) { //宣发效果
|
||||
this.timeListEffect = this.timeList
|
||||
this.getEffect()
|
||||
}
|
||||
|
||||
if(this.departType == 3) { //宣发明细
|
||||
} else { //宣发明细
|
||||
this.timeListDepart = this.timeList
|
||||
this.getDepart()
|
||||
}
|
||||
|
||||
@@ -247,16 +250,21 @@
|
||||
this.taskList = this.dateList[day].taskList
|
||||
},
|
||||
changeEffectType(type) {
|
||||
if(this.effectType != 3) {
|
||||
this.timeList = []
|
||||
}else {
|
||||
this.timeList = this.timeListEffect
|
||||
}
|
||||
this.effectType = type
|
||||
if(type == 3) {
|
||||
this.isEffectTimeSelect = true
|
||||
this.dialogDate = true
|
||||
this.timeList = []
|
||||
}else {
|
||||
this.getEffect()
|
||||
}
|
||||
},
|
||||
getEffect() {
|
||||
var startTime = this.timeList[0] || '' , endTime = this.timeList[1] || '', departId = this.deptList[0] || ''
|
||||
var startTime = this.timeListEffect[0] || '' , endTime = this.timeListEffect[1] || '', departId = this.deptList[0] || ''
|
||||
this.instance.post(`/app/appmasssendingtask/statisticsEffect?type=${this.effectType}&startTime=${startTime}&endTime=${endTime}&departId=${departId}`).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.effectData = res.data
|
||||
@@ -308,16 +316,21 @@
|
||||
this[id].setOption(option)
|
||||
},
|
||||
changeDepartType(type) {
|
||||
if(this.departType != 3) {
|
||||
this.timeList = []
|
||||
}else {
|
||||
this.timeList = this.timeListDepart
|
||||
}
|
||||
this.departType = type
|
||||
if(type == 3) {
|
||||
this.isEffectTimeSelect = false
|
||||
this.dialogDate = true
|
||||
this.timeList = []
|
||||
}else {
|
||||
this.getDepart()
|
||||
}
|
||||
},
|
||||
getDepart() {
|
||||
var startTime = this.timeList[0] || '' , endTime = this.timeList[1] || ''
|
||||
var startTime = this.timeListDepart[0] || '' , endTime = this.timeListDepart[1] || ''
|
||||
this.instance.post(`/app/appmasssendingtask/statisticsDepart?type=${this.departType}&startTime=${startTime}&endTime=${endTime}`).then(res => {
|
||||
if (res.code == 0) {
|
||||
if(res.data && res.data.length) {
|
||||
|
||||
Reference in New Issue
Block a user