|
@@ -2,10 +2,9 @@
|
|
|
<div class="inform">
|
|
|
<div class="search">
|
|
|
<el-input placeholder="请输入标题" class="search-input" clearable v-model="mixins_query.location"></el-input>
|
|
|
- <el-select placeholder="请选择所属地区" v-model="mixins_query.communityList" clearable>
|
|
|
- <el-option v-for="(item, index) in communityList" :key="index" :label="item.label" :value="item.status">{{
|
|
|
- item.label
|
|
|
- }}</el-option>
|
|
|
+ <el-select placeholder="请选择所属社区" v-model="mixins_query.communityId" clearable>
|
|
|
+ <el-option v-for="(item, index) in communityList" :key="index" :label="item.label" :value="item.id"></el-option>
|
|
|
+ <!-- <el-option v-for="(item, index) in communityList" :key="index" :label="item.label" :value="item.regionId"></el-option> -->
|
|
|
</el-select>
|
|
|
<el-date-picker
|
|
|
v-model="searchTime"
|
|
@@ -31,12 +30,11 @@
|
|
|
:data="mixins_list"
|
|
|
:pageset="mixins_pageset"
|
|
|
@page-change="pageChange"
|
|
|
- @selection-change="selectionChange"
|
|
|
>
|
|
|
<!-- :loading="mixins_onQuery" -->
|
|
|
<template slot-scope="scope" slot="releaseTime">
|
|
|
<div>
|
|
|
- {{ scope.row.releaseTime | filterTime }}
|
|
|
+ {{ scope.row.pubDate }}
|
|
|
</div>
|
|
|
</template>
|
|
|
<template slot-scope="scope" slot="opt">
|
|
@@ -64,10 +62,10 @@
|
|
|
<div class="dialog-left">
|
|
|
<div v-if="showDetail">
|
|
|
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="101px" class="demo-ruleForm">
|
|
|
- <el-form-item label="所属社区" prop="communityList">
|
|
|
+ <el-form-item label="所属社区" prop="popCommunityId">
|
|
|
<el-select
|
|
|
placeholder="请选择所属地区"
|
|
|
- v-model="mixins_query.communityList"
|
|
|
+ v-model="ruleForm.popCommunityId"
|
|
|
clearable
|
|
|
class="dialog-select"
|
|
|
>
|
|
@@ -75,9 +73,8 @@
|
|
|
v-for="(item, index) in communityList"
|
|
|
:key="index"
|
|
|
:label="item.label"
|
|
|
- :value="item.status"
|
|
|
- >{{ item.label }}</el-option
|
|
|
- >
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="发布对象" prop="issueRoom">
|
|
@@ -94,7 +91,18 @@
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
<div class="selet-room">
|
|
|
- <el-select multiple v-model="selectRoom" :disabled="!ruleForm.disabledRoom">
|
|
|
+ <!-- <building-tree
|
|
|
+ @buildingInformation="buildingInformation"
|
|
|
+ :buildingType="1"
|
|
|
+ v-if="!showaddDialog"
|
|
|
+ ></building-tree> -->
|
|
|
+
|
|
|
+ <el-select
|
|
|
+ multiple
|
|
|
+ v-model="selectRoom"
|
|
|
+ collapse-tags
|
|
|
+ :disabled="!ruleForm.disabledRoom"
|
|
|
+ >
|
|
|
<el-option
|
|
|
v-for="item in optionsRoom"
|
|
|
:key="item.value"
|
|
@@ -111,6 +119,7 @@
|
|
|
label="物业员工"
|
|
|
name="type"
|
|
|
v-model="ruleForm.issueRoom.staff"
|
|
|
+ @change="changeCheckboxStaffRoom"
|
|
|
></el-checkbox>
|
|
|
<el-radio-group v-model="ruleForm.issueRoom.radioStaff" @change="changeRadioStaffRoom">
|
|
|
<el-radio label="全部员工"></el-radio>
|
|
@@ -212,10 +221,27 @@
|
|
|
width="543"
|
|
|
/>
|
|
|
</div>
|
|
|
- <el-button type="primary" icon="el-icon-document" @click="getHtml"> 预览 </el-button>
|
|
|
+ <!-- <el-button type="primary" icon="el-icon-document" @click="getHtml"> 预览 </el-button> -->
|
|
|
</el-form-item>
|
|
|
<el-form-item label="文件上传" prop="fill">
|
|
|
- <input type="file" placeholder="选择文件" />
|
|
|
+ <div>
|
|
|
+ <el-upload
|
|
|
+ class="upload-fill"
|
|
|
+ action="/sc-community-web/upload/uploadFile"
|
|
|
+ :on-preview="handlePreview"
|
|
|
+ :on-remove="handleRemove"
|
|
|
+ :before-remove="beforeRemove"
|
|
|
+ multiple
|
|
|
+ :limit="3"
|
|
|
+ :on-exceed="handleExceed"
|
|
|
+ :file-list="fileList"
|
|
|
+ >
|
|
|
+ <el-button size="small" icon="el-icon-paperclip">选择附件</el-button>
|
|
|
+ <div slot="tip" class="el-upload-text">
|
|
|
+ 支持格式:.rar .zip .doc .docx .pdf ,单个文件不能超过20MB
|
|
|
+ </div>
|
|
|
+ </el-upload>
|
|
|
+ </div>
|
|
|
</el-form-item>
|
|
|
<el-form-item class="dialog-footer">
|
|
|
<span>
|
|
@@ -242,7 +268,7 @@
|
|
|
<GeminiScrollbar class="my-scroll-bar" :autoshow="false" :color="red">
|
|
|
<div class="dialog-right-content">
|
|
|
<div class="dialog-title">
|
|
|
- <div class="dialog-titles">{{ ruleForm.title }}</div>
|
|
|
+ <div class="dialog-titles">{{ ruleForm.title ? ruleForm.title : '标题' }}</div>
|
|
|
<div class="dialog-urgency" v-if="ruleForm.exigencyText">紧急</div>
|
|
|
</div>
|
|
|
<div class="dialog-right-time">{{ new Date() | filterTime }}</div>
|
|
@@ -258,9 +284,7 @@
|
|
|
<div>物业电话:010-12345678</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div>
|
|
|
- <input type="file" placeholder="选择文件" />
|
|
|
- </div>
|
|
|
+ <div></div>
|
|
|
</div>
|
|
|
</GeminiScrollbar>
|
|
|
</div>
|
|
@@ -282,7 +306,10 @@ export default {
|
|
|
mixins: [list],
|
|
|
components: { previeInform, MarkdownEditor },
|
|
|
data() {
|
|
|
+ let _this = this;
|
|
|
return {
|
|
|
+ // 文件上传
|
|
|
+ fileList: [],
|
|
|
// 显示图片上传
|
|
|
imageUrl: '',
|
|
|
imageUrlTwo: '',
|
|
@@ -297,7 +324,7 @@ export default {
|
|
|
rowDetail: '',
|
|
|
// 富文本编辑器
|
|
|
markdownEditorContent: content,
|
|
|
- html: '',
|
|
|
+ html: content,
|
|
|
languageTypeList: {
|
|
|
en: 'en_US',
|
|
|
zh: 'zh_CN',
|
|
@@ -331,7 +358,7 @@ export default {
|
|
|
],
|
|
|
// 添加弹框信息
|
|
|
ruleForm: {
|
|
|
- communityList: '', //所属社区
|
|
|
+ popCommunityId: '', //所属社区
|
|
|
//发布对象
|
|
|
issueRoom: {
|
|
|
checkAll: true,
|
|
@@ -350,7 +377,7 @@ export default {
|
|
|
upload: '' // 文件上传
|
|
|
},
|
|
|
rules: {
|
|
|
- communityList: [{ required: true, message: '请选择社区', trigger: 'blur' }],
|
|
|
+ popCommunityId: [{ required: true, message: '请选择社区', trigger: 'change' }],
|
|
|
issueRoom: [{ required: true, message: '请选择房间', trigger: 'change' }],
|
|
|
informType: [{ required: true, message: '请选择通知类型', trigger: 'change' }],
|
|
|
title: [{ required: true, message: '请输入标题', trigger: 'blur' }],
|
|
@@ -371,8 +398,6 @@ export default {
|
|
|
label: '社区活动'
|
|
|
}
|
|
|
],
|
|
|
- //社区列表
|
|
|
- communityList: [],
|
|
|
cols: [
|
|
|
{
|
|
|
label: '标题',
|
|
@@ -386,29 +411,49 @@ export default {
|
|
|
},
|
|
|
{
|
|
|
label: '通知类型',
|
|
|
- prop: 'informType',
|
|
|
+ prop: 'type',
|
|
|
width: 200,
|
|
|
- format(val) {}
|
|
|
+ format(val) {
|
|
|
+ if (val == 0) {
|
|
|
+ return '物业通知';
|
|
|
+ } else if (val == 1) {
|
|
|
+ return '社区活动';
|
|
|
+ } else {
|
|
|
+ return '其他';
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
label: '是否紧急',
|
|
|
- prop: 'exigencyOr',
|
|
|
- width: 210
|
|
|
+ prop: 'urgentFlag',
|
|
|
+ width: 210,
|
|
|
+ format(val) {
|
|
|
+ if (val == 0) {
|
|
|
+ return '不紧急';
|
|
|
+ } else if (val == 1) {
|
|
|
+ return '紧急';
|
|
|
+ } else {
|
|
|
+ return '---';
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
label: '发布时间',
|
|
|
- prop: 'releaseTime',
|
|
|
+ prop: 'pubDate',
|
|
|
width: 240,
|
|
|
slot: 'releaseTime'
|
|
|
},
|
|
|
{
|
|
|
label: '状态',
|
|
|
- prop: 'releaseStatus',
|
|
|
- width: 190
|
|
|
+ prop: 'status',
|
|
|
+ width: 190,
|
|
|
+ format(val) {
|
|
|
+ return val ? val : '已发布';
|
|
|
+ }
|
|
|
},
|
|
|
{
|
|
|
label: '发布人',
|
|
|
- prop: 'issuer',
|
|
|
+ prop: 'pubPeople',
|
|
|
width: 210
|
|
|
},
|
|
|
{
|
|
@@ -422,46 +467,23 @@ export default {
|
|
|
centerDialogVisible: false,
|
|
|
// 保存上传的文本
|
|
|
newConten: ''
|
|
|
+ // 获取的房间信息
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
- this.mixins_list = [
|
|
|
- {
|
|
|
- title: '维修停电通知',
|
|
|
- communityName: '滨江华府',
|
|
|
- informType: '物业通知',
|
|
|
- exigencyOr: '是',
|
|
|
- releaseTime: new Date(),
|
|
|
- releaseStatus: '已发布',
|
|
|
- issuer: '王小王'
|
|
|
- },
|
|
|
-
|
|
|
- {
|
|
|
- title: '维修停电通知2',
|
|
|
- communityName: '滨江华府2',
|
|
|
- informType: '物业通知2',
|
|
|
- exigencyOr: '是',
|
|
|
- releaseTime: new Date(),
|
|
|
- releaseStatus: '已发布',
|
|
|
- issuer: '王小王2'
|
|
|
- },
|
|
|
- {
|
|
|
- title: '维修停电通知3',
|
|
|
- communityName: '滨江华府3',
|
|
|
- informType: '物业通知3',
|
|
|
- exigencyOr: '是',
|
|
|
- releaseTime: new Date(),
|
|
|
- releaseStatus: '已发布3',
|
|
|
- issuer: '王小王3'
|
|
|
- }
|
|
|
- ];
|
|
|
this.mixins_post;
|
|
|
if (this.$store.getters['getAreaSelect'].length === 0) {
|
|
|
this.getCommunityList();
|
|
|
}
|
|
|
- this.mixins_dataUrl = '/sc-community/device/page';
|
|
|
+ this.mixins_dataUrl = '/sc-community-web/notice/page';
|
|
|
this.mixins_query = {};
|
|
|
this.mixins_search();
|
|
|
+ // 获取房间
|
|
|
+ let query = { buildingType: 1 };
|
|
|
+ this.$http.get('/sc-community/assets/tree/community/find', query).then((res) => {
|
|
|
+ this.optionsRoom = res.data;
|
|
|
+ console.log('获取房间', res);
|
|
|
+ });
|
|
|
},
|
|
|
computed: {
|
|
|
language() {
|
|
@@ -471,27 +493,48 @@ export default {
|
|
|
mounted() {},
|
|
|
watch: {
|
|
|
html(newv, oldv) {
|
|
|
- console.log('====================================');
|
|
|
console.log('watch', newv, oldv);
|
|
|
- console.log('====================================');
|
|
|
},
|
|
|
markdownEditorContent(newv, oldv) {
|
|
|
this.ruleForm.informContent = newv;
|
|
|
// if (newv != oldv) {
|
|
|
// this.html = newv;
|
|
|
// }
|
|
|
- console.log('====================================');
|
|
|
console.log('watch markdownEditorContent', newv, oldv);
|
|
|
- // this.html = this.$refs.markdownEditor.getHtml();
|
|
|
- console.log('====================================');
|
|
|
+ this.html = this.$refs.markdownEditor.getHtml();
|
|
|
},
|
|
|
newConten(newv, oldv) {
|
|
|
- console.log('====================================');
|
|
|
console.log('newConten', newv, oldv);
|
|
|
- console.log('====================================');
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 房间树
|
|
|
+ buildingInformation(data) {
|
|
|
+ if (!!data.type && data.type == 'community') {
|
|
|
+ this.mixins_query = { communityId: data.value, buildingType: 1 };
|
|
|
+ } else {
|
|
|
+ this.mixins_query.communityId = data.communityId;
|
|
|
+ this.mixins_query.id = data.roomId;
|
|
|
+ this.mixins_query.buildingId = data.buildingId;
|
|
|
+ this.mixins_query.unitName = data.unitId;
|
|
|
+ }
|
|
|
+ this.mixins_search();
|
|
|
+ },
|
|
|
+ // 上传文件
|
|
|
+ handleRemove(file, fileList) {
|
|
|
+ console.log(file, fileList);
|
|
|
+ },
|
|
|
+ handlePreview(file) {
|
|
|
+ console.log(file);
|
|
|
+ },
|
|
|
+ handleExceed(files, fileList) {
|
|
|
+ this.$message.warning(
|
|
|
+ `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`
|
|
|
+ );
|
|
|
+ },
|
|
|
+ beforeRemove(file, fileList) {
|
|
|
+ return this.$confirm(`确定移除 ${file.name}?`);
|
|
|
+ },
|
|
|
/**上传图片*/
|
|
|
clickUploadImage() {
|
|
|
this.showImageUrlTwo = true;
|
|
@@ -545,7 +588,14 @@ export default {
|
|
|
} else {
|
|
|
this.ruleForm.disabledRoom = false;
|
|
|
}
|
|
|
- console.log('监听单选框变化', val);
|
|
|
+ console.log('监听房间单选框变化', val);
|
|
|
+ },
|
|
|
+ // 监听复选框变化
|
|
|
+ changeCheckboxStaffRoom(val) {
|
|
|
+ console.log('监听复选框变化', val);
|
|
|
+ if (val) {
|
|
|
+ this.ruleForm.issueRoom.radioStaff = '全部员工';
|
|
|
+ }
|
|
|
},
|
|
|
// 指定员工
|
|
|
changeRadioStaffRoom(val) {
|
|
@@ -554,7 +604,7 @@ export default {
|
|
|
} else {
|
|
|
this.ruleForm.disabledStaffRoom = false;
|
|
|
}
|
|
|
- console.log('监听单选框变化', val);
|
|
|
+ console.log('监听员工单选框变化', val, this.ruleForm.issueRoom.staff);
|
|
|
},
|
|
|
// 是否紧急
|
|
|
changeRadioExigencyOr(val) {
|
|
@@ -578,13 +628,18 @@ export default {
|
|
|
},
|
|
|
/**查询按钮*/
|
|
|
searchInfo() {
|
|
|
+ let detaH = this.$moment(new Date()).format('HH');
|
|
|
+ let detaM = this.$moment(new Date()).format('mm');
|
|
|
+ let detaS = this.$moment(new Date()).format('ss');
|
|
|
+ let d = detaH + ':' + detaM + ':' + detaS;
|
|
|
if (this.searchTime && this.searchTime.length) {
|
|
|
- this.mixins_query.startTime = `${this.searchTime[0]}`;
|
|
|
- this.mixins_query.endTime = `${this.searchTime[1]}`;
|
|
|
+ this.mixins_query.startTime = `${this.searchTime[0]}T${d}`;
|
|
|
+ this.mixins_query.endTime = `${this.searchTime[1]}T${d}`;
|
|
|
} else {
|
|
|
- this.mixins_query.startTime = this.$moment(new Date()).subtract(1, 'months').format('YYYY-MM-DD HH:mm:ss');
|
|
|
- this.mixins_query.endTime = this.$moment(new Date());
|
|
|
+ this.mixins_query.startTime = this.$moment(new Date()).subtract(1, 'months').format('YYYY-MM-DDTHH:mm:ss');
|
|
|
+ this.mixins_query.endTime = this.$moment(new Date()).format('YYYY-MM-DDTHH:mm:ss');
|
|
|
}
|
|
|
+ console.log('点击查询', this.searchTime);
|
|
|
this.mixins_search();
|
|
|
},
|
|
|
/**预览富文本内容*/
|
|
@@ -603,12 +658,41 @@ export default {
|
|
|
* @return {void}
|
|
|
* */
|
|
|
dialogButton(type) {
|
|
|
+ console.log('点击发布', this.selectStaff);
|
|
|
+ // console.log('点击发布===========', this.ruleForm.popCommunityId);
|
|
|
+ // console.log('获取富文本内容', this.html);
|
|
|
if (type === 'prev') {
|
|
|
this.$refs['ruleForm'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
- console.log('点击发布', this.ruleForm);
|
|
|
- console.log('获取富文本内容', this.html);
|
|
|
this.showDetail = false;
|
|
|
+ let detaH = this.$moment(new Date()).format('HH');
|
|
|
+ let detaM = this.$moment(new Date()).format('mm');
|
|
|
+ let detaS = this.$moment(new Date()).format('ss');
|
|
|
+ let d = detaH + ':' + detaM + ':' + detaS;
|
|
|
+ let startTime = `${this.ruleForm.activeTime[0]}T${d}`;
|
|
|
+ let endTime = `${this.ruleForm.activeTime[1]}T${d}`;
|
|
|
+
|
|
|
+ let query = {
|
|
|
+ communityId: this.ruleForm.popCommunityId,
|
|
|
+ content: this.html,
|
|
|
+ endTime: endTime,
|
|
|
+ // filePath": "",
|
|
|
+ id: 1,
|
|
|
+ pubDate: this.$moment(new Date()).format(`YYYY-MM-DDTHH:mm:ss`),
|
|
|
+ // pubPeople:ruleForm.informType,
|
|
|
+ // pubStatus: "",
|
|
|
+ startTime: startTime,
|
|
|
+ // themePictrue: '',
|
|
|
+ userId: [1, 2, 3],
|
|
|
+ title: this.ruleForm.title,
|
|
|
+ type: this.ruleForm.informType === '物业通知' ? 0 : 1,
|
|
|
+ urgentFlag: this.ruleForm.exigencyOr == '是' ? 1 : 0
|
|
|
+ // userId: [],
|
|
|
+ // userType: 0
|
|
|
+ };
|
|
|
+ this.$http.post('/sc-community-web/notice/add', query).then((res) => {
|
|
|
+ console.log('点击发布', res);
|
|
|
+ });
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
@@ -640,7 +724,6 @@ export default {
|
|
|
console.log('查看详情', row);
|
|
|
this.centerDialogVisible = true;
|
|
|
this.showDetail = false;
|
|
|
- this.ruleForm.communityList = this.communityList;
|
|
|
this.ruleForm.title = row.managementName;
|
|
|
this.ruleForm.newPhone = row.phone;
|
|
|
this.rowDetail = row;
|