|
|
@@ -1,5 +1,12 @@
|
|
|
<template>
|
|
|
<basic-container>
|
|
|
+ <el-dialog @close="dialogShow=false" append-to-body :close-on-click-modal="false" :visible.sync="dialogShow"
|
|
|
+ :destroy-on-close="true"
|
|
|
+ :title="dialogTitle" width="60%">
|
|
|
+ <notice-receiver v-if="dialogTitle==='接收列表'&& dialogShow" ref="refName" :operateId="operateId"
|
|
|
+ :isResubmit="isResubmit" @finish="dialogShow=false"></notice-receiver>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
<avue-crud :option="option"
|
|
|
:table-loading="loading"
|
|
|
:data="data"
|
|
|
@@ -24,6 +31,9 @@
|
|
|
v-if="(userInfo.tenant_id === '000000' && scope.row.senderType === '平台')||(userInfo.tenant_id !== '000000' && scope.row.senderType === '商场')"
|
|
|
@click="rowDel(scope.row)">删除
|
|
|
</el-button>
|
|
|
+ <el-button type="text" size="small" icon="icon-navicon-xxjsr" plain class="none-border"
|
|
|
+ @click.stop="openDialog(scope.row.id,'接收列表')">接收列表
|
|
|
+ </el-button>
|
|
|
</template>
|
|
|
</avue-crud>
|
|
|
</basic-container>
|
|
|
@@ -32,10 +42,15 @@
|
|
|
<script>
|
|
|
import {add, getDetail, getList, remove, update} from "@/api/ldt_notice/notice";
|
|
|
import {mapGetters} from "vuex";
|
|
|
+import NoticeReceiver from "./notice-receiver";
|
|
|
|
|
|
export default {
|
|
|
+ components: {NoticeReceiver},
|
|
|
data() {
|
|
|
return {
|
|
|
+ dialogShow: false,
|
|
|
+ operateId: '',
|
|
|
+ dialogTitle: '',
|
|
|
form: {},
|
|
|
query: {},
|
|
|
loading: true,
|
|
|
@@ -55,9 +70,6 @@ export default {
|
|
|
index: true,
|
|
|
viewBtn: true,
|
|
|
selection: true,
|
|
|
- addBtn: true,
|
|
|
- editBtn: false,
|
|
|
- delBtn: false,
|
|
|
dialogClickModal: false,
|
|
|
column: [
|
|
|
{
|
|
|
@@ -72,23 +84,13 @@ export default {
|
|
|
{
|
|
|
label: "发送人",
|
|
|
prop: "sender",
|
|
|
- addDisplay: false,
|
|
|
+ display: false,
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: "请输入发送人",
|
|
|
trigger: "blur"
|
|
|
}]
|
|
|
},
|
|
|
- {
|
|
|
- label: "接收人",
|
|
|
- prop: "receiver",
|
|
|
- addDisplay: false,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: "请输入接收人",
|
|
|
- trigger: "blur"
|
|
|
- }]
|
|
|
- },
|
|
|
{
|
|
|
label: "发送者类型",
|
|
|
labelWidth: 100,
|
|
|
@@ -96,8 +98,7 @@ export default {
|
|
|
type: "select",
|
|
|
search: true,
|
|
|
searchLabelWidth: 90,
|
|
|
- searchslot: true,
|
|
|
- addDisplay: false,
|
|
|
+ display: false,
|
|
|
dicData: [],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
@@ -108,42 +109,19 @@ export default {
|
|
|
{
|
|
|
label: "接收者类型",
|
|
|
labelWidth: 100,
|
|
|
- prop: "receiverType",
|
|
|
+ prop: "receiverTypes",
|
|
|
type: "checkbox",
|
|
|
- search: true,
|
|
|
searchLabelWidth: 90,
|
|
|
- searchslot: true,
|
|
|
+ hide: true,
|
|
|
+ display: false,
|
|
|
span: 24,
|
|
|
dicData: [],
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
- message: "接受者类型",
|
|
|
+ message: "接收者类型",
|
|
|
trigger: "blur"
|
|
|
}]
|
|
|
},
|
|
|
- {
|
|
|
- label: "是否已读",
|
|
|
- prop: "isRead",
|
|
|
- type: "switch",
|
|
|
- search: true,
|
|
|
- addDisplay: false,
|
|
|
- dicData: [
|
|
|
- {
|
|
|
- label: "未读",
|
|
|
- value: false
|
|
|
- },
|
|
|
- {
|
|
|
- label: "已读",
|
|
|
- value: true
|
|
|
- }
|
|
|
- ],
|
|
|
- value: false,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: "请输入是否已读",
|
|
|
- trigger: "blur"
|
|
|
- }],
|
|
|
- },
|
|
|
{
|
|
|
label: "内容",
|
|
|
prop: "content",
|
|
|
@@ -164,6 +142,12 @@ export default {
|
|
|
trigger: "blur"
|
|
|
}]
|
|
|
},
|
|
|
+ {
|
|
|
+ label: "创建时间",
|
|
|
+ prop: "createTime",
|
|
|
+ addDisplay: false,
|
|
|
+ editDisplay: false,
|
|
|
+ },
|
|
|
]
|
|
|
},
|
|
|
data: []
|
|
|
@@ -188,29 +172,24 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
- const receiverType = this.option.column.find(ele => {
|
|
|
- return ele.prop === "receiverType";
|
|
|
- });
|
|
|
- receiverType.dicData = this.receiverTypeDicDataFun();
|
|
|
-
|
|
|
const senderType = this.option.column.find(ele => {
|
|
|
return ele.prop === "senderType";
|
|
|
});
|
|
|
senderType.dicData = this.senderTypeDicDataFun();
|
|
|
|
|
|
- if (this.userInfo.tenant_id === '000000') {
|
|
|
- this.form.senderType = 'PLATFORM';
|
|
|
- } else {
|
|
|
- this.form.senderType = 'MALL';
|
|
|
- }
|
|
|
+ const receiverTypes = this.option.column.find(ele => {
|
|
|
+ return ele.prop === "receiverTypes";
|
|
|
+ });
|
|
|
+ receiverTypes.dicData = this.receiverTypesDicDataFun();
|
|
|
},
|
|
|
methods: {
|
|
|
rowDel(row, index) {
|
|
|
this.$refs.crud.rowDel(row, index)
|
|
|
},
|
|
|
rowSave(row, done, loading) {
|
|
|
- row.receiverTypes = row.receiverType;
|
|
|
- row.receiverType = null;
|
|
|
+ const content = encodeURIComponent(row.content);
|
|
|
+ row.content = content;
|
|
|
+ console.log(row);
|
|
|
add(row).then(() => {
|
|
|
this.onLoad(this.page);
|
|
|
this.$message({
|
|
|
@@ -279,13 +258,12 @@ export default {
|
|
|
if (["edit", "view"].includes(type)) {
|
|
|
getDetail(this.form.id).then(res => {
|
|
|
this.form = res.data.data;
|
|
|
+ this.form.content = decodeURIComponent(res.data.data.content);
|
|
|
});
|
|
|
}
|
|
|
done();
|
|
|
},
|
|
|
searchReset() {
|
|
|
- //this.senderTypeValue = "";
|
|
|
- //this.receiverTypeValue = "";
|
|
|
this.query = {};
|
|
|
this.onLoad(this.page);
|
|
|
},
|
|
|
@@ -311,31 +289,43 @@ export default {
|
|
|
refreshChange() {
|
|
|
this.onLoad(this.page, this.query);
|
|
|
},
|
|
|
- receiverTypeDicDataFun() {
|
|
|
+ senderTypeDicDataFun() {
|
|
|
const data =
|
|
|
[
|
|
|
+ {label: "商场", value: "MALL"},
|
|
|
{label: "商家", value: "SHOP"}
|
|
|
];
|
|
|
if (this.userInfo.tenant_id === '000000') {
|
|
|
- data.push({label: "商场", value: "MALL"});
|
|
|
- data.push({label: "用户", value: "CONSUMER"});
|
|
|
- } else {
|
|
|
- data.push({label: "会员", value: "MEMBER"});
|
|
|
+ data.push({label: "平台", value: "PLATFORM"});
|
|
|
}
|
|
|
-
|
|
|
return data;
|
|
|
},
|
|
|
- senderTypeDicDataFun() {
|
|
|
+ receiverTypesDicDataFun() {
|
|
|
const data =
|
|
|
[
|
|
|
- {label: "商场", value: "MALL"},
|
|
|
{label: "商家", value: "SHOP"}
|
|
|
];
|
|
|
if (this.userInfo.tenant_id === '000000') {
|
|
|
- data.push({label: "平台", value: "PLATFORM"});
|
|
|
+ data.push({label: "商场", value: "MALL"});
|
|
|
+ data.push({label: "用户", value: "CONSUMER"});
|
|
|
+ } else {
|
|
|
+ data.push({label: "会员", value: "MEMBER"});
|
|
|
}
|
|
|
return data;
|
|
|
},
|
|
|
+ openDialog(id, name) {
|
|
|
+ this.dialogTitle = name
|
|
|
+ this.operateId = id
|
|
|
+ this.dialogShow = true
|
|
|
+ this.canReset = true
|
|
|
+ },
|
|
|
+ handleSenderType() {
|
|
|
+ if (this.userInfo.tenant_id === '000000') {
|
|
|
+ this.form.senderType = 'PLATFORM';
|
|
|
+ } else {
|
|
|
+ this.form.senderType = 'MALL';
|
|
|
+ }
|
|
|
+ },
|
|
|
onLoad(page, params = {}) {
|
|
|
this.loading = true;
|
|
|
getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
|
|
|
@@ -344,6 +334,7 @@ export default {
|
|
|
this.data = data.records;
|
|
|
this.loading = false;
|
|
|
this.selectionClear();
|
|
|
+ this.handleSenderType();
|
|
|
});
|
|
|
}
|
|
|
}
|