Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
aixianling
2022-07-27 15:59:33 +08:00
4 changed files with 60 additions and 26 deletions

View File

@@ -35,7 +35,6 @@
},
mounted () {
console.log(this.$route)
if (this.$route.params.id) {
this.component = 'Detail'
this.params = {

View File

@@ -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,

View File

@@ -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: '图片',

View File

@@ -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) {