Merge remote-tracking branch 'origin/build' into build
This commit is contained in:
@@ -20,7 +20,7 @@
|
|||||||
<el-radio label="2">按网格选择</el-radio>
|
<el-radio label="2">按网格选择</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="添加人" v-if="form.sendScope !== '0'" prop="wxGroupsName" style="width: 100%;" :rules="[{ required: true, message: '请选择添加人', trigger: 'change' }]">
|
<el-form-item label="发送成员" v-if="form.sendScope !== '0'" prop="wxGroupsName" style="width: 100%;" :rules="[{ required: true, message: '请选择添加人', trigger: 'change' }]">
|
||||||
<ai-picker
|
<ai-picker
|
||||||
:instance="instance"
|
:instance="instance"
|
||||||
multiple
|
multiple
|
||||||
@@ -57,7 +57,7 @@
|
|||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</div>
|
</div>
|
||||||
<div class="filter-item">
|
<div class="filter-item">
|
||||||
<label>标签</label>
|
<label>居民标签</label>
|
||||||
<div class="AppAnnounceDetail-select" @click="isShowTags = true">
|
<div class="AppAnnounceDetail-select" @click="isShowTags = true">
|
||||||
<el-input class="AppAnnounceDetail-select__input" size="small" placeholder="请选择..." v-model="form.filterTagsName"></el-input>
|
<el-input class="AppAnnounceDetail-select__input" size="small" placeholder="请选择..." v-model="form.filterTagsName"></el-input>
|
||||||
<div class="select-left" v-if="form.filterTags.length">
|
<div class="select-left" v-if="form.filterTags.length">
|
||||||
@@ -433,6 +433,7 @@ export default {
|
|||||||
sendScope: '0',
|
sendScope: '0',
|
||||||
sendType: 0,
|
sendType: 0,
|
||||||
name: '',
|
name: '',
|
||||||
|
executorList: [],
|
||||||
taskEndTime: '',
|
taskEndTime: '',
|
||||||
groupList: [],
|
groupList: [],
|
||||||
addTime: '',
|
addTime: '',
|
||||||
@@ -462,7 +463,9 @@ export default {
|
|||||||
...mapState(['user']),
|
...mapState(['user']),
|
||||||
|
|
||||||
groupLen() {
|
groupLen() {
|
||||||
return this.form.groupList.length
|
return this.form.executorList.map(v => v.customerCount).reduce((prev, cur) => {
|
||||||
|
return prev + cur
|
||||||
|
}, 0)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -790,8 +793,8 @@ export default {
|
|||||||
sendType,
|
sendType,
|
||||||
taskType: 1,
|
taskType: 1,
|
||||||
excludeFilterTags: this.form.excludeFilterTags.map(v => v.id).join(','),
|
excludeFilterTags: this.form.excludeFilterTags.map(v => v.id).join(','),
|
||||||
addEndTime: this.form.addTime ? this.form.addTime[0] : '',
|
addEndTime: this.form.addTime ? this.form.addTime[1] : '',
|
||||||
addFromTime: this.form.addTime ? this.form.addTime[1] : '',
|
addFromTime: this.form.addTime ? this.form.addTime[0] : '',
|
||||||
filterTags: this.form.filterTags.map(v => v.id).join(','),
|
filterTags: this.form.filterTags.map(v => v.id).join(','),
|
||||||
choiceTime: this.dateForm.choiceTime,
|
choiceTime: this.dateForm.choiceTime,
|
||||||
filterCriteria: this.form.filterCriteria.join(','),
|
filterCriteria: this.form.filterCriteria.join(','),
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
<ai-info-item label="群发范围" isLine>
|
<ai-info-item label="群发范围" isLine>
|
||||||
<div class="text">
|
<div class="text">
|
||||||
<span>{{ info.sendScope === '0' ? '全部' : '按条件筛选的' }}</span>
|
<span>{{ info.sendScope === '0' ? '全部' : '按条件筛选的' }}</span>
|
||||||
<i>{{ info.groupList.length }}</i>
|
<i>{{ totalLength }}</i>
|
||||||
<span>个居民</span>
|
<span>个居民</span>
|
||||||
<em @click="isShowGroups = true">详情</em>
|
<em @click="isShowGroups = true">详情</em>
|
||||||
</div>
|
</div>
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
<ai-info-item label="消息发送" isLine :value="info.taskTitle">
|
<ai-info-item label="消息发送" isLine :value="info.taskTitle">
|
||||||
<div class="text">
|
<div class="text">
|
||||||
<span>{{ info.sendScope === '0' ? '全部' : '按条件筛选的' }}</span>
|
<span>{{ info.sendScope === '0' ? '全部' : '按条件筛选的' }}</span>
|
||||||
<i>{{ info.groupList.length }}</i>
|
<i>{{ totalLength }}</i>
|
||||||
<span>个居民</span>
|
<span>个居民</span>
|
||||||
</div>
|
</div>
|
||||||
</ai-info-item>
|
</ai-info-item>
|
||||||
@@ -216,7 +216,7 @@
|
|||||||
currIndex: 0,
|
currIndex: 0,
|
||||||
colConfigs1: [
|
colConfigs1: [
|
||||||
{ slot: 'user', label: '员工' },
|
{ slot: 'user', label: '员工' },
|
||||||
{ prop: 'groupCount', label: '预计送达居民', align: 'center' }
|
{ prop: 'customerCount', label: '预计送达居民', align: 'center' }
|
||||||
],
|
],
|
||||||
groups: [],
|
groups: [],
|
||||||
timer: null,
|
timer: null,
|
||||||
@@ -228,7 +228,17 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(['user'])
|
...mapState(['user']),
|
||||||
|
|
||||||
|
totalLength () {
|
||||||
|
if (!this.info.groupList) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.info.groupList.map(v => v.customerCount).reduce((prev, cur) => {
|
||||||
|
return prev + cur
|
||||||
|
}, 0)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
created () {
|
created () {
|
||||||
@@ -276,7 +286,7 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
sendMsg () {
|
sendMsg () {
|
||||||
this.instance.post(`/app/whchatmomentstask/remindExamine?id=${this.params.id}`).then(res => {
|
this.instance.post(`/app/whchatmomentstask/remindSend?id=${this.params.id}`).then(res => {
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
this.$message.success('提醒成功')
|
this.$message.success('提醒成功')
|
||||||
this.getInfo(this.params.id)
|
this.getInfo(this.params.id)
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<div class="table-options">
|
<div class="table-options">
|
||||||
<el-button type="text" @click="close(row.id)" v-if="['3'].includes(row.status)">关闭</el-button>
|
<el-button type="text" @click="close(row.id)" v-if="['4'].includes(row.status)">关闭</el-button>
|
||||||
<el-button type="text" @click="remindExamine(row.id)" v-if="['0'].includes(row.status)">催办</el-button>
|
<el-button type="text" @click="remindExamine(row.id)" v-if="['0'].includes(row.status)">催办</el-button>
|
||||||
<el-button type="text" @click="cancel(row.id)" v-if="['0'].includes(row.status)">撤回</el-button>
|
<el-button type="text" @click="cancel(row.id)" v-if="['0'].includes(row.status)">撤回</el-button>
|
||||||
<el-button type="text" @click="toDetail(row.id)">详情</el-button>
|
<el-button type="text" @click="toDetail(row.id)">详情</el-button>
|
||||||
|
|||||||
@@ -14,13 +14,13 @@
|
|||||||
<el-input size="small" placeholder="请输入任务名称" v-model="form.taskTitle" :maxlength="15" show-word-limit></el-input>
|
<el-input size="small" placeholder="请输入任务名称" v-model="form.taskTitle" :maxlength="15" show-word-limit></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="发送范围" style="width: 100%;" prop="sendScope" :rules="[{ required: true, message: '请选择发送范围', trigger: 'change' }]">
|
<el-form-item label="发送范围" style="width: 100%;" prop="sendScope" :rules="[{ required: true, message: '请选择发送范围', trigger: 'change' }]">
|
||||||
<el-radio-group v-model="form.sendScope" @change="onScopeChange">
|
<el-radio-group v-model="form.sendScope" @input="onScopeChange">
|
||||||
<el-radio label="0">全部居民群</el-radio>
|
<el-radio label="0">全部居民群</el-radio>
|
||||||
<el-radio label="1">按部门选择</el-radio>
|
<el-radio label="1">按部门选择</el-radio>
|
||||||
<el-radio label="2">按网格选择</el-radio>
|
<el-radio label="2">按网格选择</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="发送居民" v-if="form.sendScope !== '0'" prop="wxGroupsName" style="width: 100%;" :rules="[{ required: true, message: '请选择发送居民', trigger: 'change' }]">
|
<el-form-item label="发送成员" v-if="form.sendScope !== '0'" prop="wxGroupsName" style="width: 100%;" :rules="[{ required: true, message: '请选择发送居民', trigger: 'change' }]">
|
||||||
<ai-picker
|
<ai-picker
|
||||||
:instance="instance"
|
:instance="instance"
|
||||||
multiple
|
multiple
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</ai-picker>
|
</ai-picker>
|
||||||
<div class="filter-item">
|
<div class="filter-item">
|
||||||
<label>标签</label>
|
<label>居民标签</label>
|
||||||
<div class="AppAnnounceDetail-select" @click="isShowTags = true">
|
<div class="AppAnnounceDetail-select" @click="isShowTags = true">
|
||||||
<el-input class="AppAnnounceDetail-select__input" size="small" placeholder="请选择..." v-model="form.filterTagsName"></el-input>
|
<el-input class="AppAnnounceDetail-select__input" size="small" placeholder="请选择..." v-model="form.filterTagsName"></el-input>
|
||||||
<div class="select-left" v-if="form.filterTags.length">
|
<div class="select-left" v-if="form.filterTags.length">
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
<ai-info-item label="群发范围" isLine>
|
<ai-info-item label="群发范围" isLine>
|
||||||
<div class="text">
|
<div class="text">
|
||||||
<span>{{ info.sendScope === '0' ? '全部' : '按条件筛选的' }}</span>
|
<span>{{ info.sendScope === '0' ? '全部' : '按条件筛选的' }}</span>
|
||||||
<i>{{ info.executorList.length }}</i>
|
<i>{{ totalLength }}</i>
|
||||||
<span>个居民</span>
|
<span>个居民</span>
|
||||||
<em @click="isShowGroups = true">详情</em>
|
<em @click="isShowGroups = true">详情</em>
|
||||||
</div>
|
</div>
|
||||||
@@ -89,17 +89,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<p>{{ memberInfo.executedCount || 0 }}</p>
|
<p>{{ memberInfo.executedCount || 0 }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="top-item">
|
|
||||||
<div class="top-item__title">
|
|
||||||
<h3>无法执行员工</h3>
|
|
||||||
<el-tooltip
|
|
||||||
placement="top"
|
|
||||||
content="由于员工不在可见范围、离职、客户群接收已达到上限等原因,无法执行群发任务的成员总数">
|
|
||||||
<i class="iconfont iconDetails"></i>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
<p>{{ memberInfo.cannotExecuteCount || 0 }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
<div class="bottom">
|
||||||
<div class="bottom-search">
|
<div class="bottom-search">
|
||||||
@@ -107,7 +96,6 @@
|
|||||||
<el-radio-group v-model="search1.sendStatus" size="small" @change="search1.current = 1, getMemberInfo()">
|
<el-radio-group v-model="search1.sendStatus" size="small" @change="search1.current = 1, getMemberInfo()">
|
||||||
<el-radio-button size="small" label="0">未执行</el-radio-button>
|
<el-radio-button size="small" label="0">未执行</el-radio-button>
|
||||||
<el-radio-button size="small" label="1">已执行</el-radio-button>
|
<el-radio-button size="small" label="1">已执行</el-radio-button>
|
||||||
<el-radio-button size="small" label="2">无法执行</el-radio-button>
|
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<ai-picker
|
<ai-picker
|
||||||
dialogTitle="选择部门"
|
dialogTitle="选择部门"
|
||||||
@@ -156,7 +144,7 @@
|
|||||||
<ai-info-item label="消息发送" isLine :value="info.taskTitle">
|
<ai-info-item label="消息发送" isLine :value="info.taskTitle">
|
||||||
<div class="text">
|
<div class="text">
|
||||||
<span>{{ info.sendScope === '0' ? '全部' : '按条件筛选的' }}</span>
|
<span>{{ info.sendScope === '0' ? '全部' : '按条件筛选的' }}</span>
|
||||||
<i>{{ info.executorList.length }}</i>
|
<i>{{ totalLength }}</i>
|
||||||
<span>个居民</span>
|
<span>个居民</span>
|
||||||
</div>
|
</div>
|
||||||
</ai-info-item>
|
</ai-info-item>
|
||||||
@@ -216,7 +204,7 @@
|
|||||||
currIndex: 0,
|
currIndex: 0,
|
||||||
colConfigs1: [
|
colConfigs1: [
|
||||||
{ slot: 'user', label: '成员' },
|
{ slot: 'user', label: '成员' },
|
||||||
{ prop: 'groupCount', label: '预计发送朋友圈', align: 'center' }
|
{ prop: 'customerCount', label: '预计发送朋友圈', align: 'center' }
|
||||||
],
|
],
|
||||||
groups: [],
|
groups: [],
|
||||||
timer: null,
|
timer: null,
|
||||||
@@ -229,7 +217,17 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(['user'])
|
...mapState(['user']),
|
||||||
|
|
||||||
|
totalLength () {
|
||||||
|
if (!this.info.executorList) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.info.executorList.map(v => v.customerCount).reduce((prev, cur) => {
|
||||||
|
return prev + cur
|
||||||
|
}, 0)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
created () {
|
created () {
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<div class="table-options">
|
<div class="table-options">
|
||||||
<el-button type="text" @click="close(row.id)" v-if="['3'].includes(row.status)">关闭</el-button>
|
<el-button type="text" @click="close(row.id)" v-if="['4'].includes(row.status)">关闭</el-button>
|
||||||
<el-button type="text" @click="remindExamine(row.id)" v-if="['0'].includes(row.status)">催办</el-button>
|
<el-button type="text" @click="remindExamine(row.id)" v-if="['0'].includes(row.status)">催办</el-button>
|
||||||
<el-button type="text" @click="cancel(row.id)" v-if="['0'].includes(row.status)">撤回</el-button>
|
<el-button type="text" @click="cancel(row.id)" v-if="['0'].includes(row.status)">撤回</el-button>
|
||||||
<el-button type="text" @click="toDetail(row.id)">详情</el-button>
|
<el-button type="text" @click="toDetail(row.id)">详情</el-button>
|
||||||
|
|||||||
Reference in New Issue
Block a user