init
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<el-dialog title="新增系统推送" :close-on-click-modal="false" :visible.sync="open" width="900px" append-to-body>
|
||||
<el-row :gutter="`10`">
|
||||
<el-row :gutter="10">
|
||||
<el-col style="width: 550px">
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-form-item label="群体类型" prop="groupId">
|
||||
@@ -100,14 +100,14 @@
|
||||
|
||||
<el-form-item label="标题类型" prop="oneImageTitleType" v-if="form.type === 2">
|
||||
<el-select v-model="form.oneImageTitleType" size="small">
|
||||
<el-option :key="0" label="普通标题" :value="0"/>
|
||||
<el-option :key="2" label="普通标题" :value="2"/>
|
||||
<el-option :key="1" label="水印标题" :value="1"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="图片" prop="oneImageImage" v-if="form.type === 2">
|
||||
<image-upload2 v-model="form.oneImageImage" custom-tip="建议图片比例16:9"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="文本" prop="oneImageText" v-if="form.type === 2 && form.oneImageTitleType === 0">
|
||||
<el-form-item label="文本" prop="oneImageText" v-if="form.type === 2 && form.oneImageTitleType === 2">
|
||||
<el-input v-model="form.oneImageText" placeholder="请输入消息文本" type="textarea" :rows="2"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="链接类型" prop="oneImageLinkType" v-if="form.type === 2">
|
||||
@@ -128,12 +128,13 @@
|
||||
style="width: 100%"
|
||||
:row-key="(row) => {return row.id}"
|
||||
>
|
||||
<el-table-column align="center" prop="title" label="图片标题" min-width="60" show-overflow-tooltip/>
|
||||
<el-table-column align="center" prop="image" label="图片" min-width="60">
|
||||
<template v-slot="scope">
|
||||
<image-preview :src="scope.row.image" :width="60" :height="40"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="linkType" label="链接类型" min-width="50">
|
||||
<el-table-column align="center" prop="linkType" label="链接类型" min-width="60">
|
||||
<template v-slot="scope">
|
||||
<span v-if="scope.row.linkType === 0">不可点击</span>
|
||||
<span v-if="scope.row.linkType === 1">打开H5</span>
|
||||
@@ -148,11 +149,10 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="图片" prop="onlyImage" v-if="form.type === 4">
|
||||
<image-upload2 v-model="form.onlyImage"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="remark" prop="remark">
|
||||
<el-form-item label="备注说明" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注说明" type="textarea" :rows="2"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
@@ -168,7 +168,7 @@
|
||||
<el-dialog :title="imageTitle" :close-on-click-modal="false" :visible.sync="imageOpen" width="500px" append-to-body>
|
||||
<el-form ref="imageForm" :model="imageForm" :rules="imageRules" label-width="80px">
|
||||
<el-form-item label="图片标题" prop="title">
|
||||
<image-upload2 v-model="imageForm.image"/>
|
||||
<el-input v-model="imageForm.title" placeholder="请输入图片标题" />
|
||||
</el-form-item>
|
||||
<el-form-item label="图片" prop="image">
|
||||
<image-upload2 v-model="imageForm.image"/>
|
||||
@@ -192,7 +192,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { addBanner, updateBanner } from '@/api/cai/banner'
|
||||
import {
|
||||
systemPushGroupIdList,
|
||||
systemPushLogStatus,
|
||||
@@ -203,6 +202,7 @@ import {
|
||||
import { getUserByUsercode, listUserByUserCode } from '@/api/cai/user'
|
||||
import Sortable from 'sortablejs'
|
||||
import PreviewClient from '@/components/PreviewInMobileClient/index.vue'
|
||||
import {addSysPush, updateSysPush} from "@/api/cai/sysPush";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
@@ -225,7 +225,7 @@ export default {
|
||||
textLinkType: 0,
|
||||
textLinkUrl: undefined,
|
||||
|
||||
oneImageTitleType:0,
|
||||
oneImageTitleType:2,
|
||||
oneImageImage:undefined,
|
||||
oneImageText:undefined,
|
||||
oneImageLinkType: 0,
|
||||
@@ -303,6 +303,9 @@ export default {
|
||||
this.open = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs['form'].resetFields()
|
||||
this.userInfo = {}
|
||||
this.textContext = []
|
||||
this.imageContext = []
|
||||
})
|
||||
},
|
||||
rowDrop() {
|
||||
@@ -381,9 +384,10 @@ export default {
|
||||
const index = this.imageContext.findIndex((item) => {
|
||||
return item.id === this.imageForm.id
|
||||
})
|
||||
let copy = {}
|
||||
Object.assign(copy,this.imageForm)
|
||||
this.imageContext[index] = copy
|
||||
this.imageContext[index].image = this.imageForm.image
|
||||
this.imageContext[index].title = this.imageForm.title
|
||||
this.imageContext[index].linkType = this.imageForm.linkType
|
||||
this.imageContext[index].linkUrl = this.imageForm.linkUrl
|
||||
this.imageOpen = false
|
||||
console.log(this.imageContext)
|
||||
} else {
|
||||
@@ -391,7 +395,8 @@ export default {
|
||||
id: this.genNonDuplicateID(),
|
||||
image: this.imageForm.image,
|
||||
linkType: this.imageForm.linkType,
|
||||
linkUrl: this.imageForm.linkUrl
|
||||
linkUrl: this.imageForm.linkUrl,
|
||||
title: this.imageForm.title
|
||||
})
|
||||
this.imageOpen = false
|
||||
console.log(this.imageContext)
|
||||
@@ -428,7 +433,7 @@ export default {
|
||||
if (valid) {
|
||||
this.buttonLoading = true
|
||||
if (this.form.id != null) {
|
||||
updateBanner(this.form).then(data => {
|
||||
updateSysPush(this.form).then(data => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
this.$modal.buttonLoading = false
|
||||
this.open = false
|
||||
@@ -437,8 +442,12 @@ export default {
|
||||
this.buttonLoading = false
|
||||
})
|
||||
} else {
|
||||
addBanner(this.form).then(data => {
|
||||
this.$modal.msgSuccess('修改成功')
|
||||
addSysPush({
|
||||
master: this.form,
|
||||
textContext: this.textContext,
|
||||
imageContext: this.imageContext
|
||||
}).then(data => {
|
||||
this.$modal.msgSuccess('新增成功')
|
||||
this.buttonLoading = false
|
||||
this.open = false
|
||||
this.$emit('refreshDataList')
|
||||
|
||||
@@ -54,12 +54,12 @@
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="用户id,仅在group_id=单个用户时生效" align="center" prop="userId" />-->
|
||||
<el-table-column label="标题" align="center" prop="title" />
|
||||
<el-table-column label="内容" align="center" prop="content" />
|
||||
<el-table-column label="前端参数" align="center" prop="params" />
|
||||
<!-- <el-table-column label="内容" align="center" prop="content" />-->
|
||||
<!-- <el-table-column label="前端参数" align="center" prop="params" />-->
|
||||
<el-table-column label="备注说明" align="center" prop="remark" />
|
||||
<el-table-column label="发送类型" align="center" prop="sendTimeType" >
|
||||
<template v-slot="scope">
|
||||
<cai-dict-tag :options="systemPushSendTimeTypeList" :value="scope.row.type"/>
|
||||
<cai-dict-tag :options="systemPushSendTimeTypeList" :value="scope.row.sendTimeType"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="发送时间" align="center" prop="sendTime" width="180" />
|
||||
@@ -77,10 +77,10 @@
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
icon="el-icon-info"
|
||||
@click="handleInfo(scope.row)"
|
||||
v-hasPermi="['cai:sysPush:edit']"
|
||||
>修改</el-button>
|
||||
>预览</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
@@ -100,12 +100,19 @@
|
||||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<add-sys-push-dialog v-if="addSysPushDialogVisible" ref="addSysPushDialog" />
|
||||
<add-sys-push-dialog v-if="addSysPushDialogVisible" ref="addSysPushDialog" @refreshDataList="getList" />
|
||||
|
||||
<el-dialog title="系统消息查看" :close-on-click-modal="false" :visible.sync="infoOpen" width="350px" append-to-body>
|
||||
<preview-client :data="infoData.form" :textContext="infoData.textContext" :imageContext="infoData.imageContext"></preview-client>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="infoOpen = false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { delSysPush, listSysPush } from '@/api/cai/sysPush'
|
||||
import {delSysPush, listSysPush} from '@/api/cai/sysPush'
|
||||
import {
|
||||
systemPushGroupIdList,
|
||||
systemPushLogStatus,
|
||||
@@ -114,16 +121,23 @@ import {
|
||||
systemPushTypeList
|
||||
} from '@/constant/statusMap'
|
||||
import AddSysPushDialog from '@/views/cai/sysPush/add-sys-push-dialog.vue'
|
||||
import PreviewClient from '@/components/PreviewInMobileClient/index.vue'
|
||||
|
||||
export default {
|
||||
name: "SysPush",
|
||||
components: {
|
||||
AddSysPushDialog
|
||||
AddSysPushDialog,PreviewClient
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
systemPushGroupIdList,systemPushLogStatus,systemPushSendTimeTypeList,systemPushStatusList,systemPushTypeList,
|
||||
addSysPushDialogVisible: false,
|
||||
infoOpen: false,
|
||||
infoData:{
|
||||
form:{},
|
||||
textContext:[],
|
||||
imageContext:[]
|
||||
},
|
||||
// 按钮loading
|
||||
buttonLoading: false,
|
||||
// 遮罩层
|
||||
@@ -158,6 +172,14 @@ export default {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
handleInfo(row){
|
||||
let parse = JSON.parse(row.params);
|
||||
this.$set(this.infoData,'form',parse.master)
|
||||
this.$set(this.infoData,'textContext',parse.textContext)
|
||||
this.$set(this.infoData,'imageContext',parse.imageContext)
|
||||
console.log(this.infoData)
|
||||
this.infoOpen = true;
|
||||
},
|
||||
/** 查询推送系统消息列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
|
||||
Reference in New Issue
Block a user