Quellcode durchsuchen

物业管理接口数据对接

D4THYL3\long vor 3 Jahren
Ursprung
Commit
1086d8d277

+ 58 - 3
operationSupport/package-lock.json

@@ -4779,6 +4779,22 @@
       "integrity": "sha1-yccHdaScPQO8LAbZpzvlUPl4+LE=",
       "dev": true
     },
+    "diagram-js": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/diagram-js/-/diagram-js-3.3.1.tgz",
+      "integrity": "sha512-O4jdbcajP8D82U8NvUVVIgA4FuA64D3le2yLuaLTkYbkZookU06lm80cXxomAznLuJugEUy0xWugW9bHeJxnoA==",
+      "requires": {
+        "css.escape": "^1.5.1",
+        "didi": "^4.0.0",
+        "hammerjs": "^2.0.1",
+        "inherits": "^2.0.1",
+        "min-dash": "^3.2.0",
+        "min-dom": "^3.0.0",
+        "object-refs": "^0.3.0",
+        "path-intersection": "^1.0.2",
+        "tiny-svg": "^2.2.1"
+      }
+    },
     "diagram-js-direct-editing": {
       "version": "1.6.4",
       "resolved": "https://registry.npmmirror.com/diagram-js-direct-editing/-/diagram-js-direct-editing-1.6.4.tgz",
@@ -4788,6 +4804,11 @@
         "min-dom": "^3.1.3"
       }
     },
+    "didi": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/didi/-/didi-4.0.0.tgz",
+      "integrity": "sha512-AzMElh8mCHOPWPCWfGjoJRla31fMXUT6+287W5ef3IPmtuBcyG9+MkFS7uPP6v3t2Cl086KwWfRB9mESa0OsHQ=="
+    },
     "diffie-hellman": {
       "version": "5.0.3",
       "resolved": "https://registry.nlark.com/diffie-hellman/download/diffie-hellman-5.0.3.tgz",
@@ -6151,6 +6172,11 @@
         "minimalistic-assert": "^1.0.1"
       }
     },
+    "hat": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz",
+      "integrity": "sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo="
+    },
     "he": {
       "version": "1.2.0",
       "resolved": "https://registry.nlark.com/he/download/he-1.2.0.tgz",
@@ -6627,6 +6653,14 @@
         }
       }
     },
+    "ids": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/ids/-/ids-0.2.2.tgz",
+      "integrity": "sha512-icIO8S7A7Hat9x/59VYjS5uwfBU1xRTDxeFC4t9wNceLxZFm2JbPhO4lC/xhFqFNVaxw2idwpLgUfkVQrjsxIw==",
+      "requires": {
+        "hat": "^0.0.3"
+      }
+    },
     "ieee754": {
       "version": "1.2.1",
       "resolved": "https://registry.nlark.com/ieee754/download/ieee754-1.2.1.tgz",
@@ -7601,7 +7635,6 @@
         "object-visit": "^1.0.0"
       }
     },
-<<<<<<< HEAD
     "markdown-it": {
       "version": "8.4.2",
       "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz",
@@ -7620,12 +7653,11 @@
           "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
         }
       }
-=======
+    },
     "matches-selector": {
       "version": "1.2.0",
       "resolved": "https://registry.npmmirror.com/matches-selector/-/matches-selector-1.2.0.tgz",
       "integrity": "sha512-c4vLwYWyl+Ji+U43eU/G5FwxWd4ZH0ePUsFs5y0uwD9HUEFBXUQ1zUUan+78IpRD+y4pUfG0nAzNM292K7ItvA=="
->>>>>>> a0b03e5c9505ec4ed9ee3c154580af8390a5d387
     },
     "mavon-editor": {
       "version": "2.10.1",
@@ -7929,6 +7961,24 @@
         "minimist": "^1.2.5"
       }
     },
+    "moddle": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/moddle/-/moddle-4.1.0.tgz",
+      "integrity": "sha512-asBaDLTTNpv4oC8iFdwonfMf/noPVvaBDXoSL7AsXZUDqwokgy8Lsf5eXwdnjXiDqm0olYi/S3Do544uVJSQDg==",
+      "requires": {
+        "min-dash": "^3.0.0"
+      }
+    },
+    "moddle-xml": {
+      "version": "7.5.0",
+      "resolved": "https://registry.npmjs.org/moddle-xml/-/moddle-xml-7.5.0.tgz",
+      "integrity": "sha512-wPm3TD9910Iblp4lg1okHDRilY9gTvNBdo7ZHBmBzH4OioF5R2hvG3SMyn7cAUjOUg0kYUfChHgcUEO+qUc77Q==",
+      "requires": {
+        "min-dash": "^3.0.0",
+        "moddle": "^4.1.0",
+        "saxen": "^8.1.0"
+      }
+    },
     "moment": {
       "version": "2.29.1",
       "resolved": "https://registry.nlark.com/moment/download/moment-2.29.1.tgz",
@@ -8663,6 +8713,11 @@
         "pinkie-promise": "^2.0.0"
       }
     },
+    "path-intersection": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/path-intersection/-/path-intersection-1.1.1.tgz",
+      "integrity": "sha512-EdeUuXCm0+tb/2gv8PmRhd9fYYOtbDeTYkwCnzkBuAEjevEZi2mWUi1DVFF5nqSObYsxKcchvKUhnRULWOFreQ=="
+    },
     "path-is-absolute": {
       "version": "1.0.1",
       "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",

+ 1 - 1
operationSupport/package.json

@@ -41,4 +41,4 @@
     "style-vw-loader": "^1.0.2",
     "vue-template-compiler": "^2.6.10"
   }
-}
+}

+ 16 - 18
operationSupport/src/config/env.development.js

@@ -6,25 +6,23 @@
  * @Description: 本地环境的配置文件
  */
 module.exports = {
-  edition: "development",
-  Env: "prod", // // 测试环境 dev |  正式环境 prod
+    edition: 'development',
+    Env: 'prod', // // 测试环境 dev |  正式环境 prod
 
+    baseUrl: 'http://114.135.61.186:21020/sc-operation/', // 项目地址
 
-  baseUrl: "http://114.135.61.186:21020/sc-operation/", // 项目地址
+    baseApi: 'http://114.135.61.186:21012/', // 本地api请求地址
+    baseMapApi: 'http://114.135.61.187:38082', // arcgis API
+    baseImgApi: 'http://192.168.110.4:8082/', // 图片api请求地址
+    baseExcelApi: 'http://114.135.61.187:38082', // excel请求地址
+    loginUrl: 'http://114.135.61.186:21020/sc-login/',
+    websoketUrl: '114.135.61.186:21012',
+    warnDetailUrl: 'http://114.135.61.188:18093/dispatch/warnDetail', // 综合调度系统-系统管理-报警管理-报警详情界面
+    taskManagementUrl: 'http://114.135.61.188:18093/maintenance/taskManagement', // 运维管理系统-巡检管理-任务管理界面
+    eventHiddenDangerUrl: 'http://114.135.61.188:18093/maintenance/eventHiddenDanger', // 运维管理系统-工单管理-事件隐患界面
 
-  baseApi: "http://192.168.110.4:8082/", // 本地api请求地址
-  baseMapApi: "http://114.135.61.187:38082", // arcgis API
-  baseImgApi: "http://192.168.110.4:8082/", // 图片api请求地址
-  baseExcelApi: "http://114.135.61.187:38082", // excel请求地址
-  loginUrl: "http://114.135.61.186:21020/sc-login/",
-  websoketUrl: '114.135.61.186:21012',
-  warnDetailUrl: "http://114.135.61.188:18093/dispatch/warnDetail",// 综合调度系统-系统管理-报警管理-报警详情界面
-  taskManagementUrl: "http://114.135.61.188:18093/maintenance/taskManagement",// 运维管理系统-巡检管理-任务管理界面
-  eventHiddenDangerUrl: "http://114.135.61.188:18093/maintenance/eventHiddenDanger",// 运维管理系统-工单管理-事件隐患界面
-
-
-  upload: {
-    imageSize: 5, // MB
-    excelSize: 10 // MB
-  },
+    upload: {
+        imageSize: 5, // MB
+        excelSize: 10 // MB
+    }
 };

+ 5 - 2
operationSupport/src/utils/filters.js

@@ -3,9 +3,12 @@ import moment from 'moment';
 let filterTime = (val) => {
     return val ? moment(val).format('YYYY-MM-DD HH:mm:ss') : '---';
 };
+let filterTimeNumber = (val) => {
+    return val ? moment(Number(val)).format('YYYY-MM-DD HH:mm:ss') : '---';
+};
 // 处理投诉建议状态
 let filterComplaintStatus = (val) => {
-    return val == '1' ? '未处理' : val == '2' ? '已理中' : '处理中';
+    return val == '1' ? '未处理' : val == '2' ? '已理' : '处理中';
 };
 // 投诉类型
 let filtercomplaintType = (val) => {
@@ -22,4 +25,4 @@ let filtercomplaintType = (val) => {
             '其他';
     }
 };
-export default { filterTime, filterComplaintStatus, filtercomplaintType };
+export default { filterTime, filterTimeNumber, filterComplaintStatus, filtercomplaintType };

+ 2 - 3
operationSupport/src/views/assetManagement/housingManagement/index.vue

@@ -81,7 +81,7 @@ import saveEdits from './saveEdits.vue';
 
 export default {
     mixins: [list],
-    name:'housingManagement',
+    name: 'housingManagement',
     data() {
         return {
             statusOptions: [
@@ -242,14 +242,13 @@ export default {
         },
         buildingInformation(data) {
             if (!!data.type && data.type == 'community') {
-                 this.mixins_query = {communityId:data.value,buildingType:1};
+                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();
         },
         //导出

+ 9 - 6
operationSupport/src/views/propertyManagement/common/previeInform.vue

@@ -5,20 +5,23 @@
                 <span>所属社区: </span><span class="text-right">{{ dataDetail.communityName }}</span>
             </div>
             <div class="prev-text">
-                <span>发布对象: </span><span class="text-right">{{ dataDetail.houseId }}</span
+                <span>发布对象: </span><span class="text-right">{{ dataDetail }}</span
                 ><span>查看详情</span>
             </div>
             <div class="prev-text">
-                <span>通知类型: </span><span class="text-right">{{ informType }}</span>
+                <span>通知类型: </span
+                ><span class="text-right">{{ dataDetail.type == 0 ? '物业通知' : dataDetail.type == 0 ? '社区活动' : '其他' }}</span>
             </div>
             <div class="prev-text">
-                <span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 标题:</span><span class="text-right">{{ title }}</span>
+                <span> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 标题:</span><span class="text-right">{{ dataDetail.title }}</span>
             </div>
             <div class="prev-text">
-                <span>是否紧急:</span><span class="text-right">{{ exigencyOr }}</span>
+                <span>是否紧急:</span><span class="text-right">{{ dataDetail.urgentFlag ? '是' : '否' }}</span>
             </div>
-            <div class="prev-text"><span>通知内容:</span><span class="text-right">你好你好你好你好你好你好你好你好你好你好你好</span></div>
-            <div class="prev-text"><span>文件上传:</span><span class="text-right">关于本次消杀的分工</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">文件名称</span></div>
         </div>
     </div>
 </template>

+ 70 - 98
operationSupport/src/views/propertyManagement/index.vue

@@ -1,11 +1,15 @@
 <template>
     <div class="complaint">
         <div class="search">
-            <el-input placeholder="请输入地址/投诉人" class="search-input" clearable v-model="mixins_query.content"></el-input>
-            <el-select placeholder="请选择所属社区" v-model="mixins_query.communityId" clearable>
-                <el-option v-for="(item, index) in communityList" :key="index" :label="item.label" :value="item.status">{{
-                    item.label
-                }}</el-option>
+            <el-input
+                placeholder="请输入地址/投诉人"
+                maxlength="20"
+                class="search-input"
+                clearable
+                v-model="mixins_query.content"
+            ></el-input>
+            <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-select>
             <el-select placeholder="请选择投诉类型" v-model="mixins_query.type" clearable>
                 <el-option v-for="(item, index) in complaintType" :key="index" :label="item.label" :value="item.status">{{
@@ -41,14 +45,13 @@
                     @page-change="pageChange"
                 >
                     <!-- :loading="mixins_onQuery" -->
-                    <template slot-scope="scope" slot="times">
-                        <div>
-                            {{ scope.row.time | filterTime }}
-                        </div>
+                    <template slot-scope="scope" slot="house">
+                        <!-- <div>{{ scope.row.unitName }}{{ roomNumber }}</div> -->
+                        <div>{{ scope.row.communityName }}{{ scope.row.unitName }}{{ scope.row.roomNumber }}</div>
                     </template>
                     <template slot-scope="scope" slot="status">
-                        <div :class="{ statusColor: scope.row.complaintStatus === 1 }">
-                            {{ scope.row.complaintStatus | filterComplaintStatus }}
+                        <div :class="{ statusColor: scope.row.handleStatus === 1 }">
+                            {{ scope.row.handleStatus | filterComplaintStatus }}
                         </div>
                     </template>
                     <template slot-scope="scope" slot="opt">
@@ -70,17 +73,17 @@
                         <p class="complaint-content">
                             <span>
                                 <span class="complaint-content-left">所属社区:</span>
-                                <span class="complaint-content-right">{{ rowData.communityId }}</span>
+                                <span class="complaint-content-right">{{ rowData.communityName }}</span>
                             </span>
                             <span>
                                 <span class="complaint-content-left">地址:</span>
-                                <span class="complaint-content-right">{{ rowData.houseId }}</span>
+                                <span class="complaint-content-right">{{ rowData.unitName }}{{ rowData.roomNumber }}</span>
                             </span>
                         </p>
                         <p class="complaint-content">
                             <span>
                                 <span class="complaint-content-left" style="margin-left: 12px">投诉人:</span>
-                                <span class="complaint-content-right">{{ rowData.createBy }}</span>
+                                <span class="complaint-content-right">{{ rowData.userName }}</span>
                             </span>
                             <span>
                                 <span class="complaint-content-left">手机号:</span>
@@ -90,11 +93,11 @@
                         <p class="complaint-content">
                             <span>
                                 <span class="complaint-content-left">投诉类型:</span>
-                                <span class="complaint-content-right">{{ rowData.type | filtercomplaintType }}</span>
+                                <span class="complaint-content-right">{{ rowData.typeDict }}</span>
                             </span>
                             <span>
                                 <span class="complaint-content-left">投诉时间:</span>
-                                <span class="complaint-content-right">{{ rowData.createDate | filterTime }}</span>
+                                <span class="complaint-content-right">{{ rowData.createDate }}</span>
                             </span>
                         </p>
                         <div class="complaint-content">
@@ -114,13 +117,14 @@
                                     :key="index"
                                 >
                                 </el-image>
-                                <span @click="clickVideo">
+                                <!-- <span @click="clickVideo">
                                     <video id="video" :controls="videoControls" class="videos">
                                         <source src="../../assets/mov.mp4" type="video/mp4" />
                                         您的浏览器暂不支持播放视频
                                     </video></span
-                                >
+                                > -->
                             </span>
+                            <span v-if="srcList.length == 0"> 暂无图片 </span>
                         </div>
                     </div>
                     <div class="record">
@@ -130,48 +134,22 @@
                         </div>
                         <div class="recored-detali" v-if="rowData">
                             <!-- v-for="(item, index) in 3" :key="index" -->
-                            <div>
+                            <div v-for="(item, index) of recordData" :key="index">
                                 <div class="recored-detali-row last-row">
                                     <div>
                                         <img class="circle" src="../../assets/img/point_yiwancheng@2x.png" alt="" />
-                                        <span>2021-09-22 10:01:01</span>
-                                    </div>
-                                    <div class="last-row-right" v-if="rowData.complaintStatus == '1'">
-                                        {{ rowData.complaintStatus | filterComplaintStatus }}
+                                        <span>{{ item.replyTime }}</span>
                                     </div>
                                 </div>
                                 <div class="recored-detali-rows">
                                     <div class="record-left" v-if="rowData.complaintStatus != '1'"></div>
-                                    <span class="font-size-small">赵小刚:提交投诉建议{{ item }}</span>
-                                </div>
-                            </div>
-                            <div v-if="rowData.complaintStatus != '1'">
-                                <div class="recored-detali-row last-row">
-                                    <div>
-                                        <img class="circle" src="../../assets/img/point_yiwancheng@2x.png" alt="" />
-                                        <span>2021-09-22 10:01:01</span>
-                                    </div>
-                                    <div class="last-row-right" v-if="rowData.complaintStatus == '2'">
-                                        {{ rowData.complaintStatus | filterComplaintStatus }}
-                                    </div>
-                                </div>
-                                <div class="recored-detali-rows">
-                                    <div class="record-left" v-if="rowData.complaintStatus == '3'"></div>
-                                    <span class="font-size-small">已安排人员处理</span>
+                                    <span class="font-size-small"
+                                        >{{ item.replyUserName }}:{{ item.replyContent ? item.replyContent : '--' }}</span
+                                    >
                                 </div>
                             </div>
-                            <div v-if="rowData.complaintStatus == '3'">
-                                <div></div>
-                                <div class="recored-detali-row last-row">
-                                    <div>
-                                        <img class="circle" src="../../assets/img/point_yiwancheng@2x.png" alt="" />
-                                        <span>2021-09-22 10:01:01</span>
-                                    </div>
-                                    <div class="last-row-right">{{ rowData.complaintStatus | filterComplaintStatus }}</div>
-                                </div>
-                                <div class="recored-detali-rows">
-                                    <span class="font-size-small">处理完毕</span>
-                                </div>
+                            <div :class="{ 'last-row-right': true, statusColor: rowData.handleStatus == '1' }">
+                                {{ rowData.handleStatus | filterComplaintStatus }}
                             </div>
                         </div>
                     </div>
@@ -179,7 +157,11 @@
                     <div class="changeStatus">
                         <div class="changeStatus-left">处理状态</div>
                         <div class="changeStatus-right">
-                            <el-select placeholder="处理中" v-model="mixins_query.complaintStatus" clearable>
+                            <el-select
+                                :placeholder="rowData.handleStatus | filterComplaintStatus"
+                                v-model="mixins_query.complaintStatus"
+                                clearable
+                            >
                                 <el-option v-for="(item, index) in complaintStatus" :key="index" :label="item.label" :value="item.status">{{
                                     item.label
                                 }}</el-option>
@@ -222,13 +204,12 @@ export default {
     data() {
         let _this = this;
         return {
+            // 处理记录
+            recordData: [],
             // 视频获得焦点
             videoControls: false,
             // 弹框显示图片
-            srcList: [
-                'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
-                'http://114.135.61.186:21020/sc-operation/img/img_logo2.efb6785f.png'
-            ],
+            srcList: [],
             // 物业回复
             replayForm: {
                 replay: ''
@@ -280,22 +261,14 @@ export default {
             cols: [
                 {
                     label: '所属社区',
-                    prop: 'communityId',
-                    width: 160,
-                    format(val) {
-                        let va = '';
-                        _this.$store.getters['getAreaSelect'].forEach((element) => {
-                            if (element.regionId === val) {
-                                va = element.communityName;
-                            }
-                        });
-                        return va;
-                    }
+                    prop: 'communityName',
+                    width: 160
                 },
                 {
                     label: '房间地址',
                     prop: 'houseId',
-                    width: 200
+                    width: 200,
+                    slot: 'house'
                 },
                 {
                     label: '投诉类型',
@@ -317,7 +290,7 @@ export default {
                 },
                 {
                     label: '投诉人',
-                    prop: 'createBy',
+                    prop: 'userName',
                     width: 120
                 },
                 {
@@ -328,7 +301,6 @@ export default {
                 {
                     label: '投诉时间',
                     prop: 'createDate',
-                    slot: 'times',
                     width: 200
                 },
                 {
@@ -366,15 +338,6 @@ export default {
         this.mixins_query = {};
         this.mixins_search();
     },
-    filters: {
-        stateFormat(stateId) {
-            if (stateId == 0) return '未处理';
-            if (stateId == 1) return '处理中';
-            if (stateId == 2) return '已处理';
-            if (stateId == 3) return '全部';
-            return;
-        }
-    },
     mounted() {},
     methods: {
         /** 点击播放视频*/
@@ -395,25 +358,38 @@ 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.pickerTime && this.pickerTime.length) {
-                this.mixins_query.startTime = `${this.pickerTime[0]}`;
-                this.mixins_query.endTime = `${this.pickerTime[1]}`;
+                this.mixins_query.startTime = `${this.pickerTime[0]} ${d}`;
+                this.mixins_query.endTime = `${this.pickerTime[1]} ${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.endTime = this.$moment(new Date()).format('YYYY-MM-DD HH:mm:ss');
             }
-            //  this.mixins_query.communityId =this.mixins_query.communityList;
-            //  this.mixins_query.content =this.mixins_query.communityList;
-            //  this.mixins_query.communityId =this.mixins_query.communityList;
-            //  this.mixins_query.communityId =this.mixins_query.communityList;
             this.mixins_search();
         },
         /** 弹框按钮*/
         dialogButton(type) {
+            console.log('点击保存', this.rowData);
             if (type === 'submit') {
                 this.$refs['replayForm'].validate((valid) => {
                     if (valid) {
-                        console.log('点击提交', this.complaintStatus, this.replayForm.replay);
+                        let query = {
+                            buildingId: this.rowData.buildingId,
+                            communityId: this.rowData.communityId,
+                            content: this.replayForm.replay,
+                            handleStatus: this.mixins_query.complaintStatus,
+                            houseId: this.rowData.houseId,
+                            id: this.rowData.id
+                        };
+
+                        this.$http.post('/sc-community-web/feedback/update', query).then((res) => {
+                            this.message(res.status, '回复');
+                            console.log('点击提交', res, this.mixins_query.complaintStatus, this.replayForm.replay);
+                        });
                     } else {
                         return false;
                     }
@@ -441,22 +417,18 @@ export default {
         clickEdit(row) {
             this.centerDialogVisible = true;
             this.rowData = row;
-            this.$http.post(`/sc-community-web/feedback/find/+${row.id}`).then((res) => {
+            this.$http.post(`/sc-community-web/feedback/find/${row.id}`).then((res) => {
                 this.rowData = res.data;
-                console.log('查看处理详情返回', res);
+                console.log('查看处理详情返回rowData', this.rowData);
             });
             let query = {
-                fid: row.id,
-                replyContent: this.replayForm.replay
+                fid: row.id
+                // replyContent: this.replayForm.replay
                 // 回复状态this.complaintStatus
             };
-            // 物业回复内容
-            this.$http.post('/sc-community-web/feedback/speed/add', query).then((res) => {
-                this.compRecode = res.data;
-            });
-            // 物业修改状态/sc-community-web/feedback/speed/update
-            this.$http.post('/sc-community-web/feedback/speed/update', query).then((res) => {
-                this.message(res.status, '修改');
+            // // 处理记录/sc-community-web/feedback/speed/list
+            this.$http.get('/sc-community-web/feedback/speed/list', query).then((res) => {
+                this.recordData = res.data;
             });
             console.log('查看处理详情', row);
         },

+ 161 - 78
operationSupport/src/views/propertyManagement/inform.vue

@@ -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;

+ 40 - 63
operationSupport/src/views/propertyManagement/neighbor.vue

@@ -1,11 +1,15 @@
 <template>
     <div class="neighbor">
         <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.regionId">{{
-                    item.label
-                }}</el-option>
+            <el-input
+                placeholder="请输入发布人/手机号"
+                maxlength="11"
+                class="search-input"
+                clearable
+                v-model="mixins_query.location"
+            ></el-input>
+            <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-select>
             <el-date-picker
                 v-model="searchTime"
@@ -30,11 +34,6 @@
                     @selection-change="selectionChange"
                 >
                     <!-- :loading="mixins_onQuery" -->
-                    <template slot-scope="scope" slot="times">
-                        <div>
-                            {{ scope.row.time | filterTime }}
-                        </div>
-                    </template>
                     <template slot-scope="scope" slot="opt">
                         <div class="opt">
                             <img src="../../assets/img/icon_bianji@2x.png" alt="" @click="clickEdit('endit', scope.row)" />
@@ -112,7 +111,7 @@
                         <span class="complaint-title-right">评论</span>
                     </div>
                     <div class="record">
-                        <div class="recored-detali" v-if="rowData">
+                        <div class="recored-detali" v-if="detailData">
                             <!-- v-for="(item, index) in 3" :key="index" -->
                             <!-- <div>
                                 <div class="recored-detali-row last-row">
@@ -126,35 +125,20 @@
                                     <span class="font-size-small">欢迎欢迎</span>
                                 </div>
                             </div> -->
-                            <div v-for="(item, index) of rowData.commentList" :key="index">
+                            <div v-for="(item, index) of detailData.commentList" :key="index">
                                 <div class="recored-detali-row last-row">
                                     <div>
                                         <img class="circle" src="../../assets/img/point_yiwancheng@2x.png" alt="" />
-                                        <span>{{ item.createDate }}-{{ item.name }}</span>
+                                        <span>{{ item.name }}</span> <span> {{ item.createDate | filterTimeNumber }}</span>
                                     </div>
-                                    <el-button class="last-row-right" type="primary" plain @click="deletes">删除</el-button>
+                                    <el-button class="last-row-btn" type="primary" plain @click="deletes(item.id)">删除</el-button>
                                 </div>
                                 <div class="recored-detali-rows">
                                     <span class="font-size-small">{{ item.content }}</span>
                                 </div>
                             </div>
-                            <div>
-                                <div class="recored-detali-row last-row">
-                                    <div>
-                                        <img class="circle" src="../../assets/img/point_yiwancheng@2x.png" alt="" />
-                                        <span>2021-09-22 10:01:01</span>
-                                    </div>
-                                    <el-button class="last-row-right" type="primary" plain @click="deletes">删除</el-button>
-                                </div>
-                                <div class="recored-detali-rows">
-                                    <div class="font-size-small">欢迎欢迎</div>
-                                    <div class="rows-replay">
-                                        回复:
-                                        <span>好的好的</span>
-                                    </div>
-                                </div>
-                            </div>
                         </div>
+                        <div v-if="!detailData.commentList" style="padding: 10px; text-align: center">暂无数据</div>
                     </div>
                 </div>
             </el-dialog>
@@ -173,7 +157,7 @@
 
                     <span slot="footer" class="dialog-footer">
                         <el-button @click="dialogVisibleDelete = false" type="primary" plain>取 消</el-button>
-                        <el-button type="primary" @click="deletes">确 定</el-button>
+                        <el-button type="primary" @click="deleteDetail">确 定</el-button>
                     </span>
                 </el-dialog>
             </div>
@@ -207,21 +191,12 @@ export default {
             cols: [
                 {
                     label: '所属社区',
-                    prop: 'communityId',
-                    width: 150,
-                    format(val) {
-                        let va = '';
-                        _this.$store.getters['getAreaSelect'].forEach((element) => {
-                            if (element.regionId === val) {
-                                va = element.communityName;
-                            }
-                        });
-                        return va;
-                    }
+                    prop: 'communityName',
+                    width: 150
                 },
                 {
                     label: '房间',
-                    prop: 'houseId',
+                    prop: 'address',
                     width: 180
                 },
                 {
@@ -242,19 +217,18 @@ export default {
                 },
                 {
                     label: '评论',
-                    prop: 'nid',
+                    prop: 'commentNum',
                     width: 100
                 },
                 {
                     label: '点赞',
-                    prop: 'content',
+                    prop: 'likeNum',
                     width: 100
                 },
                 {
                     label: '发布时间',
                     prop: 'createDate',
-                    width: 230,
-                    slot: 'times'
+                    width: 230
                 },
                 {
                     label: '操作',
@@ -268,7 +242,8 @@ export default {
             // 编辑按钮
             enditShow: false,
             // 删除的id
-            rowId: ''
+            rowId: '',
+            detailData: []
         };
     },
 
@@ -285,20 +260,24 @@ export default {
         /**查询按钮*/
         searchInfo() {
             if (this.searchTime && this.searchTime.length) {
-                this.mixins_query.startTime = `${this.searchTime[0]}`;
-                this.mixins_query.endTime = `${this.searchTime[1]}`;
+                this.mixins_query.startDate = this.$moment(this.searchTime[0]).format('YYYYMMDD');
+                this.mixins_query.endDate = this.$moment(this.searchTime[1]).format('YYYYMMDD');
             } 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()).format('YYYY-MM-DD HH:mm:ss');
+                this.mixins_query.startDate = this.$moment(new Date()).subtract(1, 'months').format('YYYYMMDD');
+                this.mixins_query.endDate = this.$moment(new Date()).format('YYYYMMDD');
             }
             this.mixins_search();
         },
-        // 删除按钮
-        deletes() {
-            let query = {
-                id: this.rowId
-            };
-            this.$http.get('/sc-community-web/property/telephone/delete', query).then((res) => {
+        // 删除评论按钮
+        deletes(val) {
+            console.log('删除', val);
+            this.$http.post('/sc-community-web/neighbourhood/comment/delete/' + val).then((res) => {
+                this.message(res.status, '删除');
+            });
+        },
+        // 删除行按钮
+        deleteDetail() {
+            this.$http.post('/sc-community-web/neighbourhood/delete/' + this.rowData.id).then((res) => {
                 this.message(res.status, '删除');
             });
         },
@@ -329,8 +308,7 @@ export default {
                 res.data.map((res) => {
                     onOption = {
                         label: res.communityName,
-                        id: res.id,
-                        regionId: res.regionId
+                        id: res.id
                     };
                     this.communityList.push(onOption);
                 });
@@ -342,10 +320,8 @@ export default {
             this.$http.get('/sc-community-web/neighbourhood/find/' + row.id).then((res) => {
                 let file = res.data.file;
                 let files = file.split(',');
-                console.log('====================================');
-                console.log(files);
-                console.log('====================================');
                 this.srcList = files;
+                this.detailData = res.data;
             });
             console.log('查看处理详情', row, this.centerDialogVisible);
             if (type == 'endit') {
@@ -356,6 +332,7 @@ export default {
                 this.dialogVisibleDelete = true;
             }
         },
+
         /** 点击视频按钮*/
         clickVideo() {
             this.videoControls = !this.videoControls;

+ 11 - 9
operationSupport/src/views/propertyManagement/phone.vue

@@ -1,11 +1,15 @@
 <template>
     <div class="phone">
         <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.regionId">{{
-                    item.label
-                }}</el-option>
+            <el-input
+                placeholder="请输入管理处名称/电话"
+                maxlength="11"
+                class="search-input"
+                clearable
+                v-model="mixins_query.location"
+            ></el-input>
+            <el-select placeholder="请选择所属地区" v-model="mixins_query.communityId" clearable>
+                <el-option v-for="(item, index) in communityList" :key="index" :label="item.label" :value="item.regionId"></el-option>
             </el-select>
             <el-button type="primary" placeholder="状态" class="search-btn" @click="searchInfo" icon="el-icon-search" v-preventReClick
                 >查询
@@ -76,7 +80,7 @@
                                     <el-input
                                         v-model="ruleForm.newPhone"
                                         placeholder="列如:010-26888888,13800000001"
-                                        maxlength="12"
+                                        maxlength="11"
                                         @keyup.enter.native="dialogButton('addSave')"
                                     ></el-input>
                                 </el-form-item>
@@ -192,9 +196,7 @@ export default {
         this.mixins_search();
     },
 
-    mounted() {
-        this.$dragging.$on('dragend', () => {});
-    },
+    mounted() {},
     methods: {
         //**添加按钮 */
         add() {

+ 68 - 29
operationSupport/src/views/propertyManagement/style.scss

@@ -37,11 +37,9 @@ $fontSizeSmall: 14px;
     -o-text-overflow:ellipsis;//浏览器兼容
     text-overflow: ellipsis;
 }
-.roles-wrap{
     .statusColor{
         color: #FF7F7F;
     }
-}
 .add{
     float: right;
     img{
@@ -113,17 +111,22 @@ $fontSizeSmall: 14px;
             margin:  10px;
             line-height: 14px;
             font-size: $fontSizeSmall;
-            span{
-                font-size: 14px !important;
-                color: #424656;
-                font-weight: 700;
-            }
+            
         }
         .circle {
             width: 14px;
             height: 14px;
             margin-right: 10px;
         }
+        .circle+span{
+            margin-right: 10px;
+            font-size: 14px;
+            color: #424656;
+        }
+        .circle+span+span{
+            font-size: 12px ;
+            color: #AAADBA ;
+        }
       
         .recored-detali-rows {
             display: flex;
@@ -141,19 +144,26 @@ $fontSizeSmall: 14px;
                 margin-left: 26px;
             }
         }
-        .last-row {
-            display: flex;
-            justify-content: space-between;
-            .last-row-right {
-                font-size: 12px;
-                // color: #0eaeff;
-                font-weight: 200;
-                &:hover{
-                    color: white;
-                }
-                
+        .recored-detali{
+            position: relative;
+            .last-row-right{
+                position: absolute;
+                right: 10px;
+                bottom: 20px;
+                color: #0EAEFF;
             }
+        .last-row-btn {
+            position: absolute;
+            top: 10px;
+            right: 0px;
+            width: 63px;
+            height: 30px;
         }
+        .statusColor{
+                color: #FF7F7F;;
+            }
+    }
+
         .columns{
             display: flex;
             justify-content: flex-start;
@@ -249,6 +259,10 @@ $fontSizeSmall: 14px;
         /deep/ .el-select > .el-input{
             width: 364px;
         }
+       /deep/ .el-upload{
+            width: 92px !important;
+            height: 30px !important;
+        }
         .dialog-footer{
             button{
               width:  68px;
@@ -335,7 +349,7 @@ $fontSizeSmall: 14px;
 }
         .dialog-left{
             width: 65%;
-            padding: 27px 20px 4px 24px;
+            padding: 27px 20px 40px 24px;
             .dialog-select{
               width: 100%;
               /deep/ .el-select>.el-input{
@@ -467,13 +481,7 @@ $fontSizeSmall: 14px;
 
     }
     }
-    .opt{
-        img{
-            width: 14px;
-            height: 14px;
-        }
-    
-    }
+  
     // 上传图片
     /deep/ .el-upload {
         border: 1px solid #D8D8D8;
@@ -506,8 +514,29 @@ $fontSizeSmall: 14px;
         padding-left: 10px;
         width: 200px;
       }
+        //   上传文件
+        .upload-fill{
+            display: flex;
+        /deep/ .el-upload--text{
+          width: 100px;
+          height: 30px;
+          margin-right: 10px;
+          .el-button{
+              border: none;
+          }
+        }
+        .el-upload-text{
+            font-size: 12px !important;
+            color: #D8D8D8;
+           }
+          /deep/ .el-upload-list--text{
+               display: block !important;
+               position: absolute;
+               top: 24px;
+               padding-bottom: 100px;
+           }
+      }
       
-
 }
 // 编辑器样式
 /deep/ .te-markdown-tab-section {
@@ -522,25 +551,35 @@ $fontSizeSmall: 14px;
 /deep/ .gm-scrollbar.-horizontal .thumb{
     height: 0 ;
 }
+}
+.opt{
+    img{
+        width: 14px;
+        height: 14px;
+    }
+
 }
 //  社区邻里
 .neighbor{
     @extend .phone;
+   
     .complaint{
         .record{
         margin-top: 10px;
                 .recored-detali-row{
                 margin: 0px;
                 line-height: 32px;
+                position: relative;
             }
             .recored-detali-rows{
                border-left: 1px solid #0EAEFF;
                display: block;
                padding-left: 17px;
                .font-size-small{
-                margin-left: 0px;
-                   margin-bottom: 0;
+                    margin-left: 0px;
+                    margin-bottom: 0;
                }
+
                .rows-replay{
                    margin: 0;
                    padding-top: 5px;