瀏覽代碼

修改发布通知上传文件格式

D4THYL3\long 3 年之前
父節點
當前提交
da13412a56

+ 1 - 1
operationSupport/src/components/Tinymce/components/EditorImage.vue

@@ -7,7 +7,7 @@
             type="primary"
             @click="dialogVisible = true"
         >
-            upload
+            点击选择图片
         </el-button>
 
         <el-dialog :visible.sync="dialogVisible" width="30%" :modal="false">

+ 2 - 2
operationSupport/src/components/Tinymce/index.vue

@@ -122,10 +122,10 @@ export default {
         initTinymce() {
             const _this = this;
             window.tinymce.init({
-                language: this.language,
+                language: 'zh_CN',
                 selector: `#${this.tinymceId}`,
-                branding: false,
                 height: this.height,
+                branding: false, //去掉底部文本
                 body_class: 'panel-body ',
                 object_resizing: false,
                 toolbar: this.toolbar.length > 0 ? this.toolbar : toolbar,

+ 27 - 5
operationSupport/src/components/common/buildingTree.vue

@@ -150,20 +150,42 @@ export default {
                     if (row.children) {
                         getStr(row.children);
                     } else {
-                        str.push(row.name);
+                        str.push(row.value);
                     }
                 });
             };
             getStr(data);
+            return str;
             console.log('getStr', str);
         },
         // 返回选中房间的数据
         clickCheckTree(val) {
             let tree = this.$refs.tree;
-            let array = tree.getCheckedKeys().concat(tree.getHalfCheckedKeys());
-            let arrays = this.getSelect(tree.getCheckedNodes());
-            this.selectHouse = array;
-            this.$emit('selectData', arrays);
+            // let array = tree.getCheckedKeys().concat(tree.getHalfCheckedKeys());
+            // let array = tree.getCheckedKeys();
+            // this.selectHouse = array;
+            let nameArr = [];
+            let array = tree.getCheckedNodes();
+            let arrays = tree.getCheckedKeys();
+            for (let index = 0; index < array.length; index++) {
+                const element = array[index];
+                nameArr.push(element.name);
+                if (Array.isArray(element) && element.length > 0) {
+                    nameArr.push(element.name);
+                }
+            }
+            console.log('item', JSON.stringify(nameArr));
+
+            this.selectHouse = nameArr;
+            var arr = [];
+            array.forEach(function (item) {
+                if (item.type === 'room' && Number(item.value) !== String) {
+                    arr.push(Number(item.value));
+                }
+            });
+            this.$emit('selectData', arr);
+            console.log('arrays', arrays);
+            console.log('array', array);
         },
         // 返回选中人员的数据
         clickCheckTreePeople(val) {

+ 34 - 10
operationSupport/src/views/propertyManagement/common/previeInform.vue

@@ -1,12 +1,10 @@
 <template>
     <div class="prev">
         <div>
-            <div class="prev-text">
+            <div class="prev-text" style="margin-top: 0">
                 <span>所属社区: </span><span class="text-right">{{ dataDetail.communityName }}</span>
             </div>
-            <div class="prev-text">
-                <span>发布对象: </span><span class="text-right">{{}}</span><span>查看详情</span>
-            </div>
+            <!-- <div class="prev-text"><span>发布对象: </span><span class="text-right">{{}}</span><span>查看详情</span></div> -->
             <div class="prev-text">
                 <span>通知类型: </span
                 ><span class="text-right">{{ dataDetail.type == 0 ? '物业通知' : dataDetail.type == 1 ? '社区活动' : '其他' }}</span>
@@ -17,26 +15,37 @@
             <div class="prev-text">
                 <span>是否紧急:</span><span class="text-right">{{ dataDetail.urgentFlag ? '是' : '否' }}</span>
             </div>
-            <div class="prev-text">
-                <span>通知内容:</span><span class="text-right">{{ dataDetail.content }}</span>
-            </div>
-            <div class="prev-text">
-                <span>文件上传:</span><span class="text-right">文件名称{{ dataDetail.filePath }}</span>
+            <div class="prev-text"><span>通知内容:</span><span class="text-right" v-html="dataDetail.content"></span></div>
+            <div class="prev-text files">
+                <div style="margin-right: 25px">文件上传:</div>
+                <div v-if="filePath">
+                    <div v-for="(item, index) of filePath" :key="index" class="prev-text-file">
+                        <div class="prev-text-right"><i class="el-icon-paperclip"></i> {{ item }}</div>
+                    </div>
+                </div>
+                <div class="prev-text-none" v-else>暂无文件</div>
             </div>
         </div>
     </div>
 </template>
 <script>
 export default {
-    name: 'previe-inform',
+    name: 'previeInform',
     props: {
         dataDetail: {
             type: Object,
             default() {
                 return {};
             }
+        },
+        filePath: {
+            type: Array,
+            default() {
+                return {};
+            }
         }
     },
+
     data() {
         return {};
     },
@@ -57,5 +66,20 @@ export default {
             padding-left: 25px;
         }
     }
+    .files {
+        display: flex;
+    }
+    .prev-text-file {
+        background: #f8fcff;
+        border-radius: 4px;
+        font-size: 14px;
+        .prev-text-right {
+            width: 100px;
+            overflow: hidden;
+            white-space: nowrap;
+            -o-text-overflow: ellipsis; //浏览器兼容
+            text-overflow: ellipsis;
+        }
+    }
 }
 </style>

+ 1 - 1
operationSupport/src/views/propertyManagement/index.vue

@@ -43,8 +43,8 @@
                     :data="mixins_list"
                     :pageset="mixins_pageset"
                     @page-change="pageChange"
+                    :loading="mixins_onQuery"
                 >
-                    <!-- :loading="mixins_onQuery" -->
                     <template slot-scope="scope" slot="house">
                         <!-- <div>{{ scope.row.unitName }}{{ roomNumber }}</div> -->
                         <div>{{ scope.row.communityName }}{{ scope.row.unitName }}{{ scope.row.roomNumber }}</div>

+ 89 - 36
operationSupport/src/views/propertyManagement/inform.vue

@@ -29,8 +29,8 @@
                     :data="mixins_list"
                     :pageset="mixins_pageset"
                     @page-change="pageChange"
+                    :loading="mixins_onQuery"
                 >
-                    <!-- :loading="mixins_onQuery" -->
                     <template slot-scope="scope" slot="releaseTime">
                         <div>
                             {{ scope.row.pubDate }}
@@ -257,7 +257,7 @@
                                     </el-form>
                                 </div>
                                 <div v-else>
-                                    <previe-inform :dataDetail="rowDetail"></previe-inform>
+                                    <previe-inform :dataDetail="rowDetail" :filePath="filePath"></previe-inform>
                                 </div>
                             </div>
 
@@ -273,10 +273,14 @@
                                 <GeminiScrollbar class="my-scroll-bar" :autoshow="false" :color="red">
                                     <div class="dialog-right-content">
                                         <div class="dialog-title">
-                                            <div class="dialog-titles">{{ ruleForm.title ? ruleForm.title : '标题' }}</div>
+                                            <div class="dialog-titles" v-if="rowDetail">
+                                                {{ rowDetail.title ? rowDetail.title : '标题' }}
+                                            </div>
+                                            <div class="dialog-titles" v-else>{{ ruleForm.title ? ruleForm.title : '标题' }}</div>
                                             <div class="dialog-urgency" v-if="ruleForm.exigencyText">紧急</div>
                                         </div>
-                                        <div class="dialog-right-time">{{ new Date() | filterTime }}</div>
+                                        <div class="dialog-right-time" v-if="rowDetail">{{ rowDetail.pubDate }}</div>
+                                        <div class="dialog-right-time" v-else>{{ new Date() | filterTime }}</div>
                                         <div></div>
                                         <div class="content">
                                             <div class="content-text">
@@ -285,14 +289,23 @@
                                             <!-- <div><img style="width: 100px; height: 100px" :src="imageUrl" alt="" /></div> -->
                                             <div class="content-inform">
                                                 <div>{{ !showDetail ? rowDetail.communityName : popCommunityName }}</div>
-                                                <div>{{ new Date() | filterTime }}</div>
+                                                <div v-if="rowDetail">{{ rowDetail.pubDate }}</div>
+                                                <div v-else>{{ new Date() | filterTime }}</div>
                                                 <div>物业电话:{{ $store.state.cruUserInfo.phone }}</div>
                                             </div>
-                                            <div v-if="fileList">
-                                                <div class="file-name" v-for="(item, index) of fileList" :key="index">
+                                            <div v-if="!rowDetail">
+                                                <div class="file-name" v-for="(item, index) of uploadFileUrl" :key="index">
+                                                    <span class="file-name-left"><i class="el-icon-paperclip"></i> </span>
+                                                    <span class="file-name-right">
+                                                        {{ item.name }}
+                                                    </span>
+                                                </div>
+                                            </div>
+                                            <div v-else>
+                                                <div class="file-name" v-for="(item, index) of filePath" :key="index">
                                                     <span class="file-name-left"><i class="el-icon-paperclip"></i> </span>
                                                     <span class="file-name-right">
-                                                        {{ item }}
+                                                        {{ item.name }}
                                                     </span>
                                                 </div>
                                             </div>
@@ -332,7 +345,6 @@ export default {
             showImageUrlTwo: false,
             showUploadImageText: true,
             dialogImageUrl: '',
-            dialogVisible: false,
             disabled: false,
             // 显示详情
             showDetail: true,
@@ -473,7 +485,9 @@ export default {
             // 选中的人员
             selectDataPeopleTreeData: [],
             // 文件上传地址
-            uploadFileUrl: []
+            uploadFileUrl: [],
+            // 远文件名
+            oldFileName: ''
         };
     },
     created() {
@@ -487,7 +501,7 @@ export default {
     },
     computed: {
         language() {
-            return this.languageTypeList['en'];
+            return this.languageTypeList['zh_CN'];
         }
     },
     mounted() {},
@@ -528,10 +542,16 @@ export default {
         handlePreview(file) {
             console.log('点击文件', file);
         },
-        successFile(file, fileList) {
-            this.fileList.push(fileList.name);
-            this.uploadFileUrl.push(fileList.response.data);
-            console.log('上传文件successFile', this.uploadFileUrl);
+        successFile(file, fileLists) {
+            let obj = {};
+            // this.fileList.push(fileLists.name);
+            let resName = fileLists.response.data;
+            obj.oldName = resName;
+            obj.name = fileLists.name;
+            // this.uploadFileUrl= this.uploadFileUrl.concat(newName + ',');
+            this.uploadFileUrl.push(obj);
+
+            console.log('上传文件successFile', this.fileList);
         },
         handleExceed(files, fileList) {
             this.$message.warning(
@@ -540,13 +560,10 @@ export default {
         },
         beforeRemove(file, fileList) {
             let removeName = this.fileList.filter((item) => {
-                return item != file.name;
-            });
-            let removeUrl = this.fileList.filter((item) => {
-                return item != file.name;
+                return item.name != file.name;
             });
             this.fileList = removeName;
-            this.uploadFileUrl = removeUrl;
+            this.uploadFileUrl = removeName;
             console.log('点击一处', this.fileList);
         },
 
@@ -591,7 +608,6 @@ export default {
         },
         handlePictureCardPreview(file) {
             this.dialogImageUrl = file.url;
-            this.dialogVisible = true;
         },
         handleDownload(file) {
             console.log(file);
@@ -605,10 +621,47 @@ export default {
                 }
             }
         },
+        getSelect(data) {
+            var str = [];
+            const getStr = function (list) {
+                list.forEach(function (row) {
+                    if (row.children) {
+                        getStr(row.children);
+                    } else {
+                        if (row.type !== 'unit') {
+                            str.push(row.value);
+                        }
+                    }
+                });
+            };
+            getStr(data);
+            return str;
+            console.log('getStr', str);
+        },
+        dimension(arr) {
+            var arrs = [];
+            arr.map((item, index) => {
+                if (!!item.children & (item.type !== 'unit')) {
+                    this.dimension(item.children);
+                } else {
+                    if (item.name.indexOf('单元') === -1 && item.type !== 'unit') {
+                        arrs.push(item.value);
+                    }
+                }
+            });
+        },
         // 选中的房间
         selectDataHouseTree(val) {
-            this.selectDataHouseTreeData = val;
-            console.log('选中的房间', val);
+            // this.selectDataHouseTreeData = val;
+            // 获取房间下的usid
+            this.$http.post('/sc-community-web/notice/queryHouseUser', val).then((res) => {
+                if (res.status === 0) {
+                    this.selectDataHouseTreeData = res.data;
+                } else {
+                    this.$message('获取房间失败!请重试');
+                }
+            });
+            console.log('选中的房间val', val);
         },
         // 选择的人员
         selectPeople(val) {
@@ -716,23 +769,11 @@ export default {
          * @return {void}
          * */
         dialogButton(type) {
-            // 获取发布到的userid
-            // this.$http.get('/sc-community-web/notice/queryHouseUser', this.selectDataHouseTreeData).then((res) => console.log('uid', res));
-            console.log('点击发布', this.selectStaff);
-            console.log('点击发布===========', this.ruleForm);
             // console.log('获取富文本内容', this.html);
             if (type === 'prev') {
                 this.$refs['ruleForm'].validate((valid) => {
                     if (valid) {
                         // 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}`;
-                        console.log('startTime', this.ruleForm.activeTime);
                         let startTime = this.$moment(this.ruleForm.activeTime[0]).format(`YYYY-MM-DDTHH:mm:ss`);
                         let endTime = this.$moment(this.ruleForm.activeTime[1]).format(`YYYY-MM-DDTHH:mm:ss`);
                         let query = {
@@ -746,7 +787,7 @@ export default {
                             //   pubPeople:ruleForm.informType,
                             //   pubStatus: "",
                             // themePictrue: '',
-                            userId: [1, 2, 3],
+                            userId: this.ruleForm.issueRoom.checkAll ? this.selectDataHouseTreeData : this.selectDataPeopleTreeData,
                             title: this.ruleForm.title,
                             type: this.ruleForm.informType,
                             urgentFlag: this.ruleForm.exigencyOr == '是' ? 1 : 0,
@@ -754,6 +795,14 @@ export default {
                                 this.ruleForm.issueRoom.radioStaff == '全部员工' || this.ruleForm.issueRoom.radioStaff == '指定员工' ? 1 : 0
                         };
                         this.$http.post('/sc-community-web/notice/add', query).then((res) => {
+                            if (res.status === 0) {
+                                this.$message.success('发布成功');
+                                this.mixins_search();
+                            } else {
+                                this.$message('发布失败,请重试');
+                            }
+                            this.centerDialogVisible = false;
+
                             console.log('点击发布', res);
                         });
                     } else {
@@ -784,11 +833,15 @@ export default {
         },
         /** 查看详情*/
         clickDatail(row) {
+            this.rowDetail = [];
             console.log('查看详情', row);
             this.centerDialogVisible = true;
             this.showDetail = false;
             this.$http.get('/sc-community-web/notice/find/' + row.id).then((res) => {
                 this.rowDetail = row;
+                // let fileArr = row.filePath.split(',');
+                // this.filePath = fileArr.slice(0, fileArr.length - 1);
+
                 console.log('查看详情', res);
             });
             // this.ruleForm.title = row.managementName;

+ 9 - 17
operationSupport/src/views/propertyManagement/neighbor.vue

@@ -32,8 +32,8 @@
                     :pageset="mixins_pageset"
                     @page-change="pageChange"
                     @selection-change="selectionChange"
+                    :loading="mixins_onQuery"
                 >
-                    <!-- :loading="mixins_onQuery" -->
                     <template slot-scope="scope" slot="opt">
                         <div class="opt">
                             <img src="../../assets/img/icon_bianji@2x.png" alt="" @click="clickEdit('endit', scope.row)" />
@@ -191,44 +191,36 @@ export default {
             cols: [
                 {
                     label: '所属社区',
-                    prop: 'communityName',
-                    width: 150
+                    prop: 'communityName'
                 },
                 {
                     label: '房间',
-                    prop: 'address',
-                    width: 180
+                    prop: 'address'
                 },
                 {
                     label: '发布人',
-                    prop: 'name',
-                    width: 180
+                    prop: 'name'
                 },
 
                 {
                     label: '联系电话',
-                    prop: 'phone',
-                    width: 220
+                    prop: 'phone'
                 },
                 {
                     label: '动态内容',
-                    prop: 'content',
-                    width: 300
+                    prop: 'content'
                 },
                 {
                     label: '评论',
-                    prop: 'commentNum',
-                    width: 100
+                    prop: 'commentNum'
                 },
                 {
                     label: '点赞',
-                    prop: 'likeNum',
-                    width: 100
+                    prop: 'likeNum'
                 },
                 {
                     label: '发布时间',
-                    prop: 'createDate',
-                    width: 230
+                    prop: 'createDate'
                 },
                 {
                     label: '操作',

+ 1 - 1
operationSupport/src/views/propertyManagement/phone.vue

@@ -28,8 +28,8 @@
                     :pageset="mixins_pageset"
                     @page-change="pageChange"
                     @selection-change="selectionChange"
+                    :loading="mixins_onQuery"
                 >
-                    <!-- :loading="mixins_onQuery" -->
                     <template slot-scope="scope" slot="times">
                         <div>
                             {{ scope.row.time | filterTime }}

+ 0 - 1
operationSupport/src/views/propertyManagement/style.scss

@@ -523,7 +523,6 @@ $fontSizeSmall: 14px;
         position: relative;
         overflow: hidden;
         width: 223px;
-        height: 100px;
       }
       .avatar-uploader-icon {
         font-size: 28px;