协同宣发

This commit is contained in:
yanran200730
2023-06-15 17:05:47 +08:00
parent f51879a8af
commit 545f796578
4 changed files with 26 additions and 7 deletions

View File

@@ -35,6 +35,7 @@ instance.interceptors.request.use(config => {
if (['/qxn', '/analysis'].includes(config.baseURL)) { if (['/qxn', '/analysis'].includes(config.baseURL)) {
config.url = config.url.replace(/(app|auth|admin)\//, "api/") config.url = config.url.replace(/(app|auth|admin)\//, "api/")
} }
config.url = config.url.replace(/(app|auth|admin)\//, "api/")
return config return config
}, error => Message.error(error)) }, error => Message.error(error))
export default instance export default instance

View File

@@ -131,15 +131,25 @@
</div> </div>
</div> </div>
</el-popover> </el-popover>
<div class="add-material add-item" @click="$refs.ChooseMaterial.open()"> <!-- <div class="add-material add-item" @click="$refs.ChooseMaterial.open()">
<img src="https://cdn.cunwuyun.cn/dvcp/announce/add.png"/> <img src="https://cdn.cunwuyun.cn/dvcp/announce/add.png"/>
<span style="color: #2266FF; font-size: 12px;">从素材库选择</span> <span style="color: #2266FF; font-size: 12px;">从素材库选择</span>
</div> </div> -->
</div> </div>
<div class="tips"> <div class="tips">
<em>从本地上传图片最大支持10MB支持JPG,PNG格式视频最大支持10MB支持MP4格式文件最大支持20MB</em> <em>从本地上传图片最大支持10MB支持JPG,PNG格式视频最大支持10MB支持MP4格式文件最大支持20MB</em>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="标签" style="width: 100%;" prop="markTag">
<el-checkbox-group v-model="form.markTag">
<el-checkbox
v-for="(item, index) in dict.getDict('mstTag')"
:key="index"
:label="item.dictValue">
{{ item.dictName }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="结束时间" style="width: 100%;" prop="taskEndTime" :rules="[{ required: true, message: '请选择结束时间', trigger: 'change' }]"> <el-form-item label="结束时间" style="width: 100%;" prop="taskEndTime" :rules="[{ required: true, message: '请选择结束时间', trigger: 'change' }]">
<el-date-picker <el-date-picker
style="width: 100%;" style="width: 100%;"
@@ -281,7 +291,7 @@
<el-button @click="onDateForm" type="primary" :loading="isLoading2" style="width: 92px;">确认</el-button> <el-button @click="onDateForm" type="primary" :loading="isLoading2" style="width: 92px;">确认</el-button>
</div> </div>
</ai-dialog> </ai-dialog>
<ChooseMaterial ref="ChooseMaterial" :instance="instance" @change="onChooseChange"></ChooseMaterial> <!-- <ChooseMaterial ref="ChooseMaterial" :instance="instance" @change="onChooseChange"></ChooseMaterial> -->
</div> </div>
</template> </template>
<template #footer> <template #footer>
@@ -346,6 +356,7 @@ export default {
taskEndTime: '', taskEndTime: '',
examines: [], examines: [],
wxGroups: [], wxGroups: [],
markTag: [],
wxGroupsName: '', wxGroupsName: '',
sendScope: '0', sendScope: '0',
sendType: 0, sendType: 0,
@@ -382,8 +393,10 @@ export default {
if (this.params && this.params.id) { if (this.params && this.params.id) {
this.id = this.params.id this.id = this.params.id
this.getInfo(this.params.id) this.getInfo(this.params.id)
this.dict.load('mstTag')
} else { } else {
this.getWxGroups() this.getWxGroups()
this.dict.load('mstTag')
} }
}, },
@@ -403,7 +416,8 @@ export default {
...this.form, ...this.form,
...res.data, ...res.data,
wxGroupsName: '1', wxGroupsName: '1',
filterCriteria: res.data.filterCriteria.split(',') filterCriteria: res.data.filterCriteria.split(','),
markTag: res.data.markTag.split(',')
} }
if (res.data.girdNames) { if (res.data.girdNames) {
@@ -656,6 +670,7 @@ export default {
wxGroups: this.form.wxGroups, wxGroups: this.form.wxGroups,
contents, contents,
sendType, sendType,
markTag: this.form.markTag.join(','),
sendChannel: this.params.sendChannel, sendChannel: this.params.sendChannel,
choiceTime: this.dateForm.choiceTime, choiceTime: this.dateForm.choiceTime,
filterCriteria: this.form.filterCriteria.join(','), filterCriteria: this.form.filterCriteria.join(','),

View File

@@ -37,9 +37,11 @@
</div> </div>
</div> </div>
</ai-info-item> </ai-info-item>
<ai-info-item label="发送方式" isLine> <ai-info-item label="发送方式">
<span>{{ info.sendChannel === '1' ? '通知员工转发' : '成员一键群发' }}</span> <span>{{ info.sendChannel === '1' ? '通知员工转发' : '成员一键群发' }}</span>
</ai-info-item> </ai-info-item>
<ai-info-item label="标签" :value="info.markTag">
</ai-info-item>
<ai-info-item label="创建时间" :value="info.createTime"></ai-info-item> <ai-info-item label="创建时间" :value="info.createTime"></ai-info-item>
<ai-info-item label="群发时间" :value="info.choiceTime"></ai-info-item> <ai-info-item label="群发时间" :value="info.choiceTime"></ai-info-item>
<ai-info-item label="结束时间" :value="info.taskEndTime" v-if="info.sendChannel === '1'"></ai-info-item> <ai-info-item label="结束时间" :value="info.taskEndTime" v-if="info.sendChannel === '1'"></ai-info-item>

View File

@@ -78,7 +78,7 @@
<el-button type="text" @click="close(row.id)" v-if="['4'].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="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>
<el-button type="text" @click="toAdd(row.sendChannel, row.id)" v-if="['1', '3'].includes(row.status)">编辑</el-button> <el-button type="text" @click="toAdd(row.id)" v-if="['1', '3'].includes(row.status)">编辑</el-button>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@@ -141,6 +141,7 @@
{ slot: 'user', label: '创建人', openType: 'userName', align: 'center' }, { slot: 'user', label: '创建人', openType: 'userName', align: 'center' },
{ prop: 'choiceTime', label: '群发时间', align: 'center' }, { prop: 'choiceTime', label: '群发时间', align: 'center' },
{ prop: 'taskEndTime', label: '群发结束时间', align: 'center' }, { prop: 'taskEndTime', label: '群发结束时间', align: 'center' },
{ prop: 'markTag', label: '标签', align: 'center' },
{ {
prop: 'status', prop: 'status',
align: 'center', align: 'center',
@@ -159,7 +160,7 @@
}, },
created () { created () {
this.dict.load('mstStatus', 'mstSendType').then(() => { this.dict.load('mstStatus', 'mstSendType', 'mstTag').then(() => {
this.getList() this.getList()
}) })
}, },