Hwt 3 lat temu
rodzic
commit
3d0512c0c0
34 zmienionych plików z 553 dodań i 141 usunięć
  1. 4 3
      operationSupport/src/components/common/newsearch.vue
  2. 1 1
      operationSupport/src/views/assetManagement/housingManagement/index.vue
  3. 2 1
      operationSupport/src/views/assetManagement/housingManagement/saveEdits.vue
  4. 1 1
      operationSupport/src/views/assetManagement/shopManagement/index.vue
  5. 1 1
      operationSupport/src/views/businessManagement/InvestmentResources/index.vue
  6. 128 0
      operationSupport/src/views/newWorkBench/components/PatrolProblem.vue
  7. 4 2
      operationSupport/src/views/newWorkBench/components/index.js
  8. 1 0
      operationSupport/src/views/newWorkBench/components/patrolDuration.vue
  9. 9 0
      operationSupport/src/views/newWorkBench/template/leftAssembly.vue
  10. 1 1
      operationSupport/src/views/ownerManagement/houselessHolds/index.vue
  11. 1 1
      operationSupport/src/views/ownerManagement/index.vue
  12. 1 1
      operationSupport/src/views/ownerManagement/landlordManagement/index.vue
  13. 1 1
      operationSupport/src/views/ownerManagement/ownerReview/index.vue
  14. 15 5
      operationSupport/src/views/patrolManagement/components/weekContent.vue
  15. 1 0
      operationSupport/src/views/patrolManagement/patrolRecords.vue
  16. 57 17
      operationSupport/src/views/patrolManagement/patrolStandard.vue
  17. 17 10
      operationSupport/src/views/patrolManagement/popups/addPatrol.vue
  18. 58 10
      operationSupport/src/views/patrolManagement/popups/patrolAdd.vue
  19. 69 3
      operationSupport/src/views/patrolManagement/popups/patrolDetails.vue
  20. 2 2
      operationSupport/src/views/patrolManagement/popups/scheduling.vue
  21. 3 1
      operationSupport/src/views/patrolManagement/popups/weekEdit.vue
  22. 47 7
      operationSupport/src/views/patrolManagement/popups/weekEditAdd.vue
  23. 1 1
      operationSupport/src/views/payService/chargeSetting/index.vue
  24. 1 1
      operationSupport/src/views/payService/depositManagement/index.vue
  25. 39 22
      operationSupport/src/views/payService/landlordBill/index.vue
  26. 12 11
      operationSupport/src/views/payService/landlordBill/stePage/details.vue
  27. 2 1
      operationSupport/src/views/payService/landlordBill/stePage/single.vue
  28. 1 1
      operationSupport/src/views/payService/leaseBill/index.vue
  29. 21 17
      operationSupport/src/views/payService/propertyFee/index.vue
  30. 2 2
      operationSupport/src/views/payService/propertyFee/stepPage/details.vue
  31. 1 1
      operationSupport/src/views/payService/receivableExamine/index.vue
  32. 1 1
      operationSupport/src/views/propertyManagement/index.vue
  33. 46 14
      operationSupport/src/views/propertyManagement/stepPage/indexEdit.vue
  34. 2 1
      operationSupport/src/views/workOrders/popups/details.vue

+ 4 - 3
operationSupport/src/components/common/newsearch.vue

@@ -17,6 +17,7 @@
         class="col"
         v-for='(item, index) in normal'
         :key='index'
+        style="margin-top: 3px;"
       >
         <span class="search-box">
           <span
@@ -71,11 +72,11 @@
         type="primary"
         class='search-btn'
         icon="el-icon-search"
-      >搜索</el-button>
+      >查询</el-button>
 
       <!-- <el-button class="button-has-icon" v-if='more.length' @click="showMore = !showMore">
         高级搜索<i class="el-icon-caret-bottom el-icon--right" :class="{'top': showMore}"></i></el-button>
-      <el-button type="primary" native-type="submit" v-if='normal.length && !showMore'>搜索</el-button> -->
+      <el-button type="primary" native-type="submit" v-if='normal.length && !showMore'>查询</el-button> -->
     </div>
     <el-collapse-transition>
       <div
@@ -129,7 +130,7 @@
             type="primary"
             native-type="submit"
             icon="el-icon-search"
-          >搜索</el-button>
+          >查询</el-button>
           <el-button
             class="reset_button"
             @click="reset"

+ 1 - 1
operationSupport/src/views/assetManagement/housingManagement/index.vue

@@ -36,7 +36,7 @@
           :disabled="mixins_onQuery"
           :loading="mixins_onQuery"
           icon="el-icon-search"
-        >搜索
+        >查询
         </el-button>
 
         <div class="search-icon">

+ 2 - 1
operationSupport/src/views/assetManagement/housingManagement/saveEdits.vue

@@ -444,7 +444,8 @@ export default {
           if (res.data.buildingUnitList.length != 0) {
 
             for (let i = 0; i < res.data.buildingUnitList.length; i++) {
-              if (res.data.buildingUnitList.unitName != null) {
+              debugger
+              if (res.data.buildingUnitList[i].unitName != null) {
                 this.resunitList.push(res.data.buildingUnitList[i])
               }
             }

+ 1 - 1
operationSupport/src/views/assetManagement/shopManagement/index.vue

@@ -32,7 +32,7 @@
           :disabled="mixins_onQuery"
           :loading="mixins_onQuery"
           icon="el-icon-search"
-        >搜索
+        >查询
         </el-button>
 
         <div class="search-icon">

+ 1 - 1
operationSupport/src/views/businessManagement/InvestmentResources/index.vue

@@ -49,7 +49,7 @@
           :disabled="mixins_onQuery"
           :loading="mixins_onQuery"
           icon="el-icon-search"
-        >搜索</el-button>
+        >查询</el-button>
         <div class="search-icon">
           <el-tooltip
             class="item"

+ 128 - 0
operationSupport/src/views/newWorkBench/components/PatrolProblem.vue

@@ -0,0 +1,128 @@
+<template>
+  <div class="modelBlock">
+    <template v-if="permissionFiltering">
+      <div class="model-title">
+        <div class="model-title-text">巡更问题前十排行</div>
+        <div class="model-title-right">
+          <el-date-picker
+            value-format="yyyy-MM"
+            v-model="date"
+            type="month"
+            placeholder="选择月"
+            class="saveColumn-select"
+            @change="changeTime"
+            :clearable="false"
+          >
+          </el-date-picker>
+        </div>
+      </div>
+      <div class="model-content">
+        <zz-echart
+          :option="clientOptions"
+          class="chart"
+        ></zz-echart>
+      </div>
+    </template>
+    <no-permission
+      v-else
+      tipsText="巡更问题前十排行"
+    ></no-permission>
+  </div>
+</template>
+<script>
+import { columnOptionsChartName } from './indexOptionChart';
+import permissionComponent from './permissionComponent';
+export default {
+  mixins: [permissionComponent],
+  data () {
+    return {
+      defaultModel: {
+        permissUrl: '19',
+        titleName: '安保巡更'
+      },
+      mixins_query: {
+        communityId: '',
+        date: ''
+      },
+      date: '',
+      clientOptions: columnOptionsChartName(
+        '(个)',
+        ['name1', 'name2', 'name3'],
+        [
+          {
+            name: 'name1',
+            data: 0
+          },
+          {
+            name: 'name2',
+            data: 0
+          },
+          {
+            name: 'name3',
+            data: 0
+          }
+        ],
+        [],
+        10
+      )
+    };
+  },
+  methods: {
+    // getData () {
+    //   this.$http.get('/czc-community/statisticPatrolPersonnelDuration', this.mixins_query).then(({ data, msg, status }) => {
+    //     if (status == 0 && !!data.length) {
+    //       let name = [];
+    //       data.map((item) => {
+    //         name.push(item.name);
+    //         item.data = item.data.toFixed(2);
+    //       });
+    //       this.clientOptions = columnOptionsChartName('(小时)', name, data, [], 10);
+    //     } else {
+    //       this.clientOptions = columnOptionsChartName(
+    //         '(小时)',
+    //         ['name1', 'name2', 'name3'],
+    //         [
+    //           {
+    //             name: 'name1',
+    //             data: 0
+    //           },
+    //           {
+    //             name: 'name2',
+    //             data: 0
+    //           },
+    //           {
+    //             name: 'name3',
+    //             data: 0
+    //           }
+    //         ],
+    //         [],
+    //         10
+    //       );
+    //     }
+    //   });
+    // },
+    changeTime (v) {
+      this.mixins_query.date = v + '-01';
+      this.getData();
+    }
+  },
+  created () {
+    debugger
+    this.date = this.$moment().format('YYYY-MM');
+    this.mixins_query.date = this.$moment().format('YYYY-MM') + '-01';
+    // this.getData();
+  }
+};
+</script>
+<style scoped lang="scss">
+@import './style.scss';
+.model-title {
+    .model-title-right {
+        .saveColumn-select {
+            &:not(:first-child) {
+                margin-left: rem(20);
+            }
+        }
+    }
+}
+</style>

+ 4 - 2
operationSupport/src/views/newWorkBench/components/index.js

@@ -69,7 +69,8 @@ export default {
         personnelSalesanalysis: (resolve) => require([`@views/${comUrl}workbenchMent/personnelSalesanalysis.vue`], resolve),
         distributionSuggestion: (resolve) => require([`@views/${comUrl}workbenchMent/distributionSuggestion.vue`], resolve),
         scoringOperationPersonnel: (resolve) => require([`@views/${comUrl}workbenchMent/scoringOperationPersonnel.vue`], resolve),
-        quantitativeAnalysis: (resolve) => require([`@views/${comUrl}quantitativeAnalysis.vue`], resolve)
+        quantitativeAnalysis: (resolve) => require([`@views/${comUrl}quantitativeAnalysis.vue`], resolve),
+        PatrolProblem: (resolve) => require([`@views/${comUrl}PatrolProblem.vue`], resolve)
     },
     data() {
         return {
@@ -117,7 +118,8 @@ export default {
                 39: 'personnelSalesanalysis',
                 40: 'distributionSuggestion',
                 41: 'scoringOperationPersonnel',
-                42: 'quantitativeAnalysis'
+                42: 'quantitativeAnalysis',
+                43: 'PatrolProblem'
             }
         };
     },

+ 1 - 0
operationSupport/src/views/newWorkBench/components/patrolDuration.vue

@@ -107,6 +107,7 @@ export default {
     }
   },
   created () {
+    debugger
     this.date = this.$moment().format('YYYY-MM');
     this.mixins_query.date = this.$moment().format('YYYY-MM') + '-01';
     this.getData();

+ 9 - 0
operationSupport/src/views/newWorkBench/template/leftAssembly.vue

@@ -480,6 +480,15 @@ export default {
           isPosition: '1x1',
           compatible: true
         },
+        {
+          data_id: 43,
+          title: '巡更问题前十排行',
+          type: 8,
+          imgPng: require('@assets/img/formulation/img_zhuzhuangtu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png'),
+          isPosition: '2x1',
+          compatible: true
+        },
 
       ],
       componentsValue: 0

+ 1 - 1
operationSupport/src/views/ownerManagement/houselessHolds/index.vue

@@ -15,7 +15,7 @@
         :disabled="mixins_onQuery"
         :loading="mixins_onQuery"
         icon="el-icon-search"
-      >搜索</el-button>
+      >查询</el-button>
       <div class="search-icon">
         <el-tooltip
           class="item"

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

@@ -52,7 +52,7 @@
           :disabled="mixins_onQuery"
           :loading="mixins_onQuery"
           icon="el-icon-search"
-        >搜索</el-button>
+        >查询</el-button>
         <div class="search-icon">
           <template>
             <el-dropdown

+ 1 - 1
operationSupport/src/views/ownerManagement/landlordManagement/index.vue

@@ -25,7 +25,7 @@
           :disabled="mixins_onQuery"
           :loading="mixins_onQuery"
           icon="el-icon-search"
-        >搜索</el-button>
+        >查询</el-button>
         <div class="search-icon">
           <template>
             <el-dropdown

+ 1 - 1
operationSupport/src/views/ownerManagement/ownerReview/index.vue

@@ -32,7 +32,7 @@
         :disabled="mixins_onQuery"
         :loading="mixins_onQuery"
         icon="el-icon-search"
-      >搜索</el-button>
+      >查询</el-button>
     </div>
     <zz-table
       v-if="!ownerStatus"

+ 15 - 5
operationSupport/src/views/patrolManagement/components/weekContent.vue

@@ -19,14 +19,14 @@
               class="task-set"
               v-if="matchingTime(keyValues(inx), item).isActive"
             >
-              <span @click="resultTime(keyValues(inx), item) ? null : addItem(keyValues(inx), item)">
+              <span @click="resultTime(keyValues(inx), item) ? null : addItem(keyValues(inx), item,'1')">
                 {{ matchingTime(keyValues(inx), item).partolName }}</span>
             </div>
             <div
               class="task-set"
               v-else-if="!resultTime(keyValues(inx), item)"
             >
-              <span @click="addItem(keyValues(inx), item)">设置</span>
+              <span @click="addItem(keyValues(inx), item,'2')">设置</span>
             </div>
           </div>
         </div>
@@ -67,10 +67,13 @@ export default {
     }
   },
   data () {
-    return {};
+    return {
+      recordId: '',
+      currentUsers: ''
+    };
   },
   methods: {
-    addItem (itemTime, item) {
+    addItem (itemTime, item, distinguish) {
       new Promise((resolve) => {
         this.$store.dispatch('addPopup', {
           url: '/patrolManagement/popups/weekEditAdd.vue',
@@ -80,7 +83,10 @@ export default {
             callback: resolve,
             findUser: this.findUser,
             dateDe: itemTime,
-            item: item
+            item: item,
+            distinguish: distinguish,
+            recordId: this.recordId,
+            currentUsers: this.currentUsers
           },
           title: '排班'
         });
@@ -132,8 +138,12 @@ export default {
         isActive: false
       };
       this.calendarData.map((items) => {
+
+
         if (tis == items.partrolDate) {
           items.rosterUserDtos.map((isv) => {
+            this.recordId = isv.recordId;
+            this.currentUsers = isv.currentUsers;
             if (isv.id == item.id && isv.partrolTime == item.times) {
               objs.isActive = true;
               Object.assign(objs, isv);

+ 1 - 0
operationSupport/src/views/patrolManagement/patrolRecords.vue

@@ -170,6 +170,7 @@ export default {
       this.mixins_query.endTime = !!arr[1] ? arr[1] + ' 23:59:59' : '';
     },
     lookDetails (row) {
+
       this.thisObj = row;
       this.isLook = true;
     },

+ 57 - 17
operationSupport/src/views/patrolManagement/patrolStandard.vue

@@ -7,6 +7,7 @@
         <el-select
           v-model="mixins_query.patrolType"
           placeholder="请选择巡更类型"
+          clearable
         >
           <el-option
             v-for="(item,index) in patrolTypeList"
@@ -23,7 +24,7 @@
           :disabled="mixins_onQuery"
           :loading="mixins_onQuery"
           icon="el-icon-search"
-        >搜索</el-button>
+        >查询</el-button>
         <div class="search-icon">
           <template>
             <el-dropdown
@@ -76,6 +77,18 @@
         @selection-change="selectionChange"
       >
 
+        <template
+          slot-scope="scope"
+          slot="content"
+        >
+
+          <div
+            class="table-list"
+            v-for="(item, index) in scope.row.contentVos"
+            :key="index"
+          >{{ item.content }}</div>
+        </template>
+
         <template
           slot-scope="scope"
           slot="opt"
@@ -117,7 +130,7 @@
 
 <script>
 import communityTree from './components/communityTree.vue';
-import list from '@/js/list.js';
+import list from '@utils/list.js';
 export default {
   mixins: [list],
   components: {
@@ -173,6 +186,7 @@ export default {
         {
           label: '巡更内容',
           prop: 'content',
+          slot: 'content',
         },
         {
           label: '操作',
@@ -180,19 +194,22 @@ export default {
         },
       ],
       mixins_post: 'post',
-      currentId: ''
+      currentId: '',
+      selectRow: []
     }
   },
   methods: {
+    selectionChange (val) {
+      this.selectRow = val;
+    },
     currentOrganId (data) {
       this.currentId = data.id || '';
       this.getData();
     },
     getData () {
-      let instaData = { communityId: this.currentId, patrolType: this.mixins_query.patrolType, pageNum: 1, pageSize: 10 };
-      this.$http.post('/czc-community/patrol/standard/page', instaData).then(({ data, msg, status }) => {
-        // debugger
-      })
+      this.mixins_dataUrl = '/czc-community/patrol/standard/page';
+      this.mixins_query = { communityId: this.currentId, patrolType: this.mixins_query.patrolType || '' };
+      this.mixins_search();
     },
     addCommand (command) {
       if (command == 'add') {
@@ -203,6 +220,7 @@ export default {
             height: '480px',
             props: {
               // id: row.id,
+              rowId: '2',
               callback: resolve
             },
             // showConfirmButton: true,
@@ -228,20 +246,42 @@ export default {
       });
       this.$msgBox(`删除`, '删除后将无法恢复,请问是否继续?')
         .then(() => {
-          this.$http.post('/czc-community/patrol/standard/delete', ids).then(({ status, data, msg }) => {
-            if (0 === status) {
-              this.$message({
-                type: 'success',
-                message: '删除成功!'
-              });
-              this.mixins_search();
-            }
-          });
+          for (let i = 0; i < ids.length; i++) {
+            this.$http.get('/czc-community/patrol/standard/delete?id=' + ids[i]).then(({ status, data, msg }) => {
+              if (status == 0) {
+                debugger
+                if (i == (ids.length - 1)) {
+                  this.$message({
+                    type: 'success',
+                    message: '删除成功!'
+                  });
+                  this.mixins_search();
+                }
+              } else {
+                this.$message.error(msg);
+              }
+            })
+          }
         })
         .catch(() => { });
     },
     collections (row) {
-      debugger;
+
+      new Promise((resolve) => {
+        this.$store.dispatch('addPopup', {
+          url: '/patrolManagement/popups/patrolAdd.vue',
+          width: '580px',
+          height: '480px',
+          props: {
+            row: row,
+            rowId: '1',
+            callback: resolve
+          },
+          title: '添加巡更类型'
+        });
+      }).then(() => {
+        this.mixins_search();
+      });
     },
     deletes (id) {
       this.$msgBox(`是否确定删除对应的记录`, '删除后将无法恢复,是否继续?')

+ 17 - 10
operationSupport/src/views/patrolManagement/popups/addPatrol.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="main">
-    <div class="blockName">{{ !isAdd ? '编辑' : '新增' }}巡更路线( <span class="show-required-icon-star"></span>为必填项)</div>
+    <div class="blockName">{{ disable == '1' ? '详情' : '新增' }}巡更路线( <span class="show-required-icon-star"></span>为必填项)</div>
     <el-form
       :model="ruleForm"
       :rules="rules"
@@ -306,7 +306,6 @@ export default {
       this.getPoint(e);
     },
     periodValue (e) {
-      debugger
       this.ruleForm.periodValue = e.join();
     }
   },
@@ -441,14 +440,28 @@ export default {
         }
       }
 
+    },
+    // /czc-community/patrol/point/list/point
+    patrolPoint () {
+      this.$http.get('/czc-community/patrol/point/list/point', { routeId: this.patrolDetail.id }).then(({ data, status, msg }) => {
+        // debugger
+        if (status == 0) {
+          //  this.ruleForm.routePointRelationDtos
+          this.ruleForm.routePointRelationDtos = [];
+          data.map((item, index) => {
+            this.ruleForm.routePointRelationDtos.push(item.pointId)
+          })
+          console.log('this.ruleForm.routePointRelationDtos', this.ruleForm.routePointRelationDtos);
+        }
+      })
     }
+
   },
   created () {
     if (JSON.stringify(this.patrolDetail) == "{}") {
       return;
     } else {
 
-
       this.ruleForm.communityId = this.patrolDetail.communityId;
       this.ruleForm.routeName = this.patrolDetail.routeName;
       this.effectiveDate[0] = this.patrolDetail.startDate;
@@ -461,11 +474,7 @@ export default {
           endTime: (item).substr(6, 5),
         })
       });
-
-      // periodType
       this.ruleForm.periodType = this.patrolDetail.periodType;
-
-
       let data = [];
       this.periodValue = [];
       data = (this.patrolDetail.periodValue).split(",");
@@ -476,9 +485,7 @@ export default {
       this.ruleForm.cameraSettings = this.patrolDetail.cameraSettings;
       this.ruleForm.signFlag = this.patrolDetail.signFlag;
       this.ruleForm.remark = this.patrolDetail.remark;
-      // 巡更点
-      this.ruleForm.routePointRelationDtos = [20, 21, 22];
-
+      this.patrolPoint();
     }
   }
 };

+ 58 - 10
operationSupport/src/views/patrolManagement/popups/patrolAdd.vue

@@ -42,6 +42,7 @@
               <el-select
                 v-model="formData.patrolType"
                 placeholder="请选择巡更类型"
+                @change="patrolTypeClick"
               >
                 <el-option
                   v-for="(item,index) in patrolTypeList"
@@ -88,7 +89,7 @@
             >
 
               <el-select
-                v-model="formData.contentDtoList[indexs].option"
+                v-model="formData.contentDtoList[indexs].optionValue"
                 placeholder="请选择"
               >
                 <el-option
@@ -145,7 +146,7 @@ export default {
         contentDtoList: [
           {
             content: '',
-            option: ''
+            optionValue: ''
           }
         ]
       },
@@ -176,19 +177,19 @@ export default {
       optionComposition: [
         {
           label: '是、否',
-          value: 1
+          value: '是、否'
         },
         {
           label: '坏、好',
-          value: 2
+          value: '坏、好'
         },
         {
           label: '有、无',
-          value: 3
+          value: '有、无',
         },
         {
           label: '差、好',
-          value: 4
+          value: '差、好'
         }
       ],
       rules: {
@@ -199,6 +200,33 @@ export default {
     }
   },
   methods: {
+
+
+    patrolTypeClick () {
+      this.$http.post('/czc-community/patrol/standard/list/content', { communityId: this.formData.communityId, patrolType: this.formData.patrolType }).then(({ status, data, msg }) => {
+        if (status == 0) {
+          if (data.length != 0) {
+            this.formData.contentDtoList = [];
+            data.map((item, index) => {
+              this.formData.contentDtoList.push(
+                {
+                  content: item.content,
+                  optionValue: item.optionValue
+                }
+              )
+            })
+          } else {
+            this.formData.contentDtoList = [];
+            this.formData.contentDtoList.push({
+              content: '',
+              optionValue: ''
+            })
+          }
+        }
+      })
+    },
+
+
     getOrgTreeList () {
       this.$http.get('/czc-community/assets/community/list').then(({ status, data, msg }) => {
         if (status == 0) {
@@ -215,8 +243,14 @@ export default {
     submit () {
       this.$refs.formData.validate((valid) => {
         if (valid) {
-          this.$http.post('/czc-community/patrol/standard/add', this.formData).then(({ status, data, msg }) => {
-            debugger
+          let url = ''
+          if (this.params.rowId == '1') {
+            url = '/czc-community/patrol/standard/update'
+          } else {
+            url = '/czc-community/patrol/standard/add'
+          }
+          this.$http.post(url, this.formData).then(({ status, data, msg }) => {
+            this.$message.success(msg);
             this.params.callback();
             this.$emit('close');
           })
@@ -229,7 +263,7 @@ export default {
       this.formData.contentDtoList.push(
         {
           content: '',
-          option: ''
+          optionValue: ''
         }
       )
     },
@@ -238,10 +272,24 @@ export default {
         this.formData.contentDtoList.splice(id, 1);
         return;
       }
-    }
+    },
   },
   created () {
     this.getOrgTreeList();//获取社区内容
+    debugger;
+    if (this.params.rowId == '1') {
+
+      this.formData.communityId = this.params.row.communityId;
+      this.formData.patrolType = this.params.row.patrolType;
+      this.formData.contentDtoList = [];
+      this.params.row.contentVos.map((item, index) => {
+        this.formData.contentDtoList.push({
+          content: item.content,
+          optionValue: item.optionValue
+        })
+      })
+
+    }
   }
 }
 

+ 69 - 3
operationSupport/src/views/patrolManagement/popups/patrolDetails.vue

@@ -28,7 +28,49 @@
           :height="400"
         ></map-value>
         <div class="formLabel">
-          <div class="formLabelList">
+          <el-table
+            :data="tableData"
+            style="width: 100%"
+            border
+          >
+            <el-table-column
+              prop="communityName"
+              label="所属社区"
+            >
+            </el-table-column>
+            <el-table-column
+              prop="routeName"
+              label="巡更路线"
+            >
+            </el-table-column>
+            <el-table-column
+              prop="partolName"
+              label="巡更人员"
+            >
+            </el-table-column>
+            <el-table-column
+              prop="patrolDate"
+              label="巡更时间"
+            >
+            </el-table-column>
+
+            <el-table-column
+              :label="item.oneTitle"
+              v-for="(item,index) in outermostTitle"
+              :key="index"
+            >
+              <el-table-column
+                :label="it.title"
+                v-for="(it,ine) in item.twoTitle"
+                :key="ine"
+              >
+              </el-table-column>
+            </el-table-column>
+
+          </el-table>
+
+          <!-- <div class="text">{{ !!thisObj.patrolDate ? $moment(thisObj.patrolDate).format('YYYY-MM-DD') : '' }}</div> -->
+          <!-- <div class="formLabelList">
             <div class="label">所属社区</div>
             <div class="text">{{ thisObj.communityName }}</div>
           </div>
@@ -47,7 +89,7 @@
           <div class="formLabelList">
             <div class="label">巡更时间</div>
             <div class="text">{{ thisObj.patrolTime }}</div>
-          </div>
+          </div> -->
         </div>
       </div>
       <div class="rightList">
@@ -162,7 +204,20 @@ export default {
     return {
       thisItem: [],
       leftItem: [],
-      targetData: []
+      targetData: [],
+      tableData: [],
+      outermostTitle: [
+        {
+          oneTitle: '市容市貌',
+          twoTitle: [
+            {
+              title: '111',
+            }, {
+              title: '22',
+            }
+          ]
+        }
+      ]
     };
   },
   filters: {
@@ -189,6 +244,12 @@ export default {
     }
   },
   methods: {
+    standard () {
+      this.$http.get('/czc-community/patrol/record/standard/detail', { recordId: this.thisObj.id }).then(({ data, status, msg }) => {
+        debugger;
+      });
+    },
+
     goback () {
       this.$emit('initPage');
     },
@@ -224,6 +285,7 @@ export default {
     },
     getTrack (id) {
       this.$http.get('/czc-community/patrolRecord/getUserPatrolTrack', { recordId: id }).then(({ data, status, msg }) => {
+
         if (!!data) {
           this.targetData = data;
         }
@@ -259,9 +321,13 @@ export default {
       this.thisObj = this.params.thisObj;
       this.getDetail(this.params.thisObj.id);
       this.getTrack(this.params.thisObj.id);
+      debugger
+      this.standard();
     } else {
+      this.tableData.push(this.thisObj);
       this.getDetail(this.thisObj.id);
       this.getTrack(this.thisObj.id);
+      this.standard();
     }
   }
 };

+ 2 - 2
operationSupport/src/views/patrolManagement/popups/scheduling.vue

@@ -225,13 +225,13 @@ export default {
               rosterUserDtos.push({
                 partrolTime: item.patrolTime,
                 partolName: item.partolName,
-                patrolUserId: item.patrolUserId
+                patrolUserId: item.patrolUserId,
               });
             });
             trueArr.push(this.$moment(inx).format('YYYY-MM-DD'));
             calendarData.push({
               partrolDate: this.$moment(inx).format('YYYY-MM-DD'),
-              rosterUserDtos: rosterUserDtos
+              rosterUserDtos: rosterUserDtos,
             });
           }
           this.calendarData = calendarData;

+ 3 - 1
operationSupport/src/views/patrolManagement/popups/weekEdit.vue

@@ -108,7 +108,9 @@ export default {
                 partrolTime: item.patrolTime,
                 partolName: item.partolName,
                 id: item.id,
-                patrolUserId: item.patrolUserId
+                patrolUserId: item.patrolUserId,
+                recordId: item.recordId,
+                currentUsers: item.currentUsers,
               });
             });
             calendarData.push({

+ 47 - 7
operationSupport/src/views/patrolManagement/popups/weekEditAdd.vue

@@ -5,7 +5,7 @@
     :rules="formRules"
     ref="formRu"
   >
-    <el-form-item label="巡更日期2">{{ thisDay.day | dateText }}</el-form-item>
+    <el-form-item label="巡更日期">{{ thisDay.day | dateText }}</el-form-item>
     <el-form-item
       :label="timePeriod.partrolTime"
       prop="partolUserId"
@@ -23,10 +23,17 @@
 
     <el-form-item
       label="巡更类型"
-      prop="patrol"
+      prop="standardId"
     >
-      <el-checkbox-group v-model="timePeriod.patrol">
+      <el-checkbox-group v-model="timePeriod.standardId">
         <el-checkbox
+          :label="itme.value+''"
+          name="type"
+          v-for="(itme,index) in standardPatrol"
+          :key="index"
+        >{{itme.label}}</el-checkbox>
+
+        <!-- <el-checkbox
           label="市容市貌"
           name="type"
           value="1"
@@ -51,7 +58,7 @@
           label="设备设施"
           name="type"
           value="5"
-        ></el-checkbox>
+        ></el-checkbox> -->
 
       </el-checkbox-group>
     </el-form-item>
@@ -63,6 +70,7 @@ export default {
   props: ['params'],
   data () {
     return {
+      standardPatrol: [],
       timePeriod: {},
       findUser: [],
       thisDay: {},
@@ -76,11 +84,11 @@ export default {
         partolUserId: '',
         partolName: '',
         partrolTime: '',
-        patrol: []
+        standardId: []
       },
       formRules: {
         partolUserId: [this.$valid.selectRequired('巡更人')],
-        patrol: [this.$valid.selectRequired('巡更类型')]
+        standardId: [this.$valid.selectRequired('巡更类型')]
       }
     };
   },
@@ -115,12 +123,14 @@ export default {
         }
       });
     },
+    // timePeriod.partolUserId
     add (names, ids) {
       let data = this.params.item;
       let initData = {
         communityId: data.communityId,
         patrolRouteId: data.id,
         periodType: data.periodType,
+        standardId: this.timePeriod.standardId,
         periodValue: data.periodValue,
         rosterUserDtos: [
           {
@@ -149,6 +159,34 @@ export default {
         .catch(() => {
           loading.close();
         });
+    },
+    standard () {
+      this.$http.get('/czc-community/patrol/standard/list', { communityId: this.params.item.communityId }).then(({ data, status, msg }) => {
+        if (status == 0) {
+          data.map((itme, index) => {
+            this.standardPatrol.push({
+              label: itme.patrolType == '1' ? '市容市貌' : itme.patrolType == '2' ? '环境卫生' : itme.patrolType == '3' ? '公共秩序' : itme.patrolType == '4' ? '设备实施' : '消防安全',
+              value: itme.id
+            })
+          })
+          if (this.params.distinguish == '1') {
+            this.timePeriod.partolUserId = (this.params.currentUsers).split(',');
+            this.standardRecord();
+          }
+        }
+
+      })
+    },
+    // /czc-community/patrol/record/standard/list/type
+    standardRecord () {
+      this.$http.get('/czc-community/patrol/record/standard/list/type', { recordId: this.params.recordId }).then(({ data, status, msg }) => {
+        if (status == 0) {
+          this.timePeriod.standardId = [];
+          data.map((item, index) => {
+            this.timePeriod.standardId.push(item.standardId + '');
+          })
+        }
+      })
     }
   },
   created () {
@@ -158,8 +196,10 @@ export default {
       partolName: '',
       partolUserId: '',
       partrolTime: this.params.item.times,
-      patrol: [],
+      standardId: [],
     };
+    this.standard();
+
   },
   mounted () { }
 };

+ 1 - 1
operationSupport/src/views/payService/chargeSetting/index.vue

@@ -15,7 +15,7 @@
           type="primary"
           @click="mixins_search()"
           icon="el-icon-search"
-        >搜索</el-button>
+        >查询</el-button>
         <div class="search-icon">
           <el-tooltip
             class="item"

+ 1 - 1
operationSupport/src/views/payService/depositManagement/index.vue

@@ -47,7 +47,7 @@
           type="primary"
           @click="mixins_search()"
           icon="el-icon-search"
-        >搜索</el-button>
+        >查询</el-button>
         <div class="search-icon">
           <el-tooltip
             v-show="chargeStatus == 1 && chiData.type === 'room'"

+ 39 - 22
operationSupport/src/views/payService/landlordBill/index.vue

@@ -14,10 +14,10 @@
         </el-radio-group>
         <el-input
           clearable
-          placeholder="输入费用名称"
+          placeholder="输入房东名称/手机号/楼栋名称"
           class="search-input"
           v-trim
-          v-model.trim="mixins_query.chargeName"
+          v-model.trim="mixins_query.name"
         ></el-input>
         <el-select
           v-model="mixins_query.communityId"
@@ -114,13 +114,14 @@
           type="primary"
           @click="mixins_search()"
           icon="el-icon-search"
-        >搜索</el-button>
+        >查询</el-button>
         <div class="search-icon">
           <el-tooltip
             class="item"
             effect="light"
             placement="bottom"
             content="临时收款"
+            v-show="chargeStatus == 1"
           >
             <i
               class="zoniot_font zoniot-icon-linshishoukuan"
@@ -130,6 +131,7 @@
           <el-dropdown
             type="primary"
             @command="addCommand"
+            v-show="chargeStatus == 1"
           >
             <span class="zoniot_font zoniot-icon-tianjia2"></span>
             <el-dropdown-menu
@@ -303,21 +305,28 @@ export default {
           prop: 'billNumber'
         },
         {
-          label: '地址',
-          prop: 'assets'
+          label: '房东姓名',
+          prop: 'residentName',
         },
         {
-          label: '业主',
-          prop: 'residentName',
-          width: '100'
+          label: '手机号',
+          prop: 'phone',
         },
         {
-          label: '费用名称',
+          label: '所属社区',
+          prop: 'communityName',
+        },
+        {
+          label: '楼栋',
+          prop: 'assets',
+        },
+        {
+          label: '费用类型',
           prop: 'chargeName',
           width: '200'
         },
         {
-          label: '计费日期',
+          label: '计费期',
           prop: 'payBeginTime',
           slot: 'payBeginTime',
           width: '150'
@@ -346,19 +355,27 @@ export default {
           prop: 'billNumber'
         },
         {
-          label: '地址',
-          prop: 'assets'
+          label: '房东姓名',
+          prop: 'residentName'
         },
         {
-          label: '住户',
-          prop: 'residentName'
+          label: '手机号',
+          prop: 'phone'
         },
         {
-          label: '费用名称',
+          label: '所属社区',
+          prop: 'communityName'
+        },
+        {
+          label: '楼栋',
+          prop: 'assets'
+        },
+        {
+          label: '费用类型',
           prop: 'chargeName'
         },
         {
-          label: '计费日期',
+          label: '计费期',
           prop: 'payBeginTime',
           slot: 'payBeginTime',
           width: '150'
@@ -372,7 +389,7 @@ export default {
           prop: 'receivedAmount'
         },
         {
-          label: '付款方式',
+          label: '缴费方式',
           prop: 'payTypeDict'
         },
         {
@@ -446,7 +463,7 @@ export default {
       });
     },
     collections (todo, row) {
-
+      debugger
       new Promise((resolve) => {
         let title = '',
           hideStar,
@@ -468,8 +485,7 @@ export default {
           }
           let tag = false;
           this.selectRow.map((item) => {
-
-            if (this.selectRow[0].id == item.id) {
+            if (this.selectRow[0].residentId == item.residentId) {
               tag = true;
             } else {
               tag = false;
@@ -522,7 +538,7 @@ export default {
     lookDetails (row) {
       new Promise((resolve) => {
         this.$store.dispatch('addPopup', {
-          url: '/payService/propertyFee/stepPage/details.vue',
+          url: '/payService/landlordBill/stePage/details.vue',
           width: '615px',
           height: '581px',
           props: {
@@ -599,11 +615,12 @@ export default {
     },
     addCommand (command) {
       if (command === 'template') {
-        this.__exportExcel('/sc-community/excel/download/template', { importType: 'BILL' });
+        this.__exportExcel('/czc-community/excel/download/template', { importType: '' });
         return;
       }
     },
     exportExcel () {
+      debugger
       this.__exportExcel('/czc-charge/charge/bill/export/excel', this.mixins_query);
     },
     typeTimeTransition (start, end) {

+ 12 - 11
operationSupport/src/views/payService/landlordBill/stePage/details.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="lookDetail">
-    <div class="formContent-item_title">{{ thisItem.billNumber }}-{{ thisItem.assets }}</div>
+    <div class="formContent-item_title">{{ thisItem.residentName }}-{{ thisItem.assets }}</div>
     <el-form
       ref="form"
       label-width="110px"
@@ -61,7 +61,7 @@ export default {
           prop: 'chargeName'
         },
         {
-          label: '计费标准:',
+          label: '计费方式:',
           prop: 'chargeModeDict'
         },
         {
@@ -70,7 +70,7 @@ export default {
           slot: 'assetsArea'
         },
         {
-          label: '单价(元):',
+          label: '单价(元/㎡/月):',
           prop: 'chargePrice'
         },
         {
@@ -95,14 +95,14 @@ export default {
           prop: 'chargeStatus',
           slot: 'chargeStatus'
         },
-        {
-          label: '业主:',
-          prop: 'residentName'
-        },
-        {
-          label: '业主手机号:',
-          prop: 'phone'
-        },
+        // {
+        //   label: '业主:',
+        //   prop: 'residentName'
+        // },
+        // {
+        //   label: '业主手机号:',
+        //   prop: 'phone'
+        // },
         {
           label: '支付方式:',
           prop: 'payTypeDict'
@@ -138,6 +138,7 @@ export default {
         .get('/czc-charge/charge/bill/findUserBillDetail', { id: id })
         .then(({ data, msg, status }) => {
           if (status == 0) {
+
             this.thisItem = data;
           }
         })

+ 2 - 1
operationSupport/src/views/payService/landlordBill/stePage/single.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="lookDetail">
-    <div class="formContent-item_title">{{ chiData.assets }}</div>
+    <div class="formContent-item_title">{{ chiData.residentName }} - {{ chiData.assets }} </div>
     <el-form
       ref="form"
       :model="formData"
@@ -255,6 +255,7 @@ export default {
   },
   created () {
     this.getDatali(this.params.data.id);
+    debugger
     this.chiData = this.params.data;
   }
 };

+ 1 - 1
operationSupport/src/views/payService/leaseBill/index.vue

@@ -73,7 +73,7 @@
           type="primary"
           @click="mixins_search()"
           icon="el-icon-search"
-        >搜索</el-button>
+        >查询</el-button>
         <div class="search-icon">
           <!-- <el-tooltip
             v-show="chargeStatus == 1"

+ 21 - 17
operationSupport/src/views/payService/propertyFee/index.vue

@@ -106,7 +106,7 @@
           type="primary"
           @click="mixins_search()"
           icon="el-icon-search"
-        >搜索</el-button>
+        >查询</el-button>
         <div class="search-icon">
 
           <!-- v-show="chargeStatus == 1 && chiData.type === 'room'" -->
@@ -115,14 +115,14 @@
             effect="light"
             placement="bottom"
             content="临时收款"
+            v-show="chargeStatus == 1"
           >
             <i
-              v-show="temporaryCollection == '1' ? true : false"
               class="zoniot_font zoniot-icon-linshishoukuan"
               @click="collections('temporary')"
             ></i>
           </el-tooltip>
-          <el-dropdown
+          <!-- <el-dropdown
             type="primary"
             @command="addCommand"
           >
@@ -145,7 +145,7 @@
               </el-dropdown-item>
               <el-dropdown-item command="template">下载模板</el-dropdown-item>
             </el-dropdown-menu>
-          </el-dropdown>
+          </el-dropdown> -->
           <el-tooltip
             v-show="chargeStatus == 1"
             class="item"
@@ -292,21 +292,21 @@ export default {
           prop: 'billNumber'
         },
         {
-          label: '地址',
-          prop: 'assets'
-        },
-        {
-          label: '业主',
+          label: '住户',
           prop: 'residentName',
           width: '100'
         },
+        // {
+        //   label: '地址',
+        //   prop: 'assets'
+        // },
         {
           label: '费用名称',
           prop: 'chargeName',
-          width: '200'
+          width: '150'
         },
         {
-          label: '计费日期',
+          label: '期',
           prop: 'payBeginTime',
           slot: 'payBeginTime',
           width: '150'
@@ -342,28 +342,32 @@ export default {
           label: '订单号',
           prop: 'billNumber'
         },
-        {
-          label: '地址',
-          prop: 'assets'
-        },
         {
           label: '住户',
           prop: 'residentName'
         },
+        // {
+        //   label: '地址',
+        //   prop: 'assets'
+        // },
         {
           label: '费用名称',
           prop: 'chargeName'
         },
         {
-          label: '计费日期',
+          label: '期',
           prop: 'payBeginTime',
           slot: 'payBeginTime',
           width: '150'
         },
         {
-          label: '账单金额(元)',
+          label: '费用金额(元)',
           prop: 'amount'
         },
+        {
+          label: '滞纳金(元)',
+          prop: 'lateFee'
+        },
         {
           label: '应收金额(元)',
           prop: 'discountAmount'

+ 2 - 2
operationSupport/src/views/payService/propertyFee/stepPage/details.vue

@@ -61,7 +61,7 @@ export default {
           prop: 'chargeName'
         },
         {
-          label: '计费标准:',
+          label: '计费方式:',
           prop: 'chargeModeDict'
         },
         {
@@ -70,7 +70,7 @@ export default {
           slot: 'assetsArea'
         },
         {
-          label: '单价(元):',
+          label: '单价(元/㎡):',
           prop: 'chargePrice'
         },
         {

+ 1 - 1
operationSupport/src/views/payService/receivableExamine/index.vue

@@ -46,7 +46,7 @@
         type="primary"
         @click="mixins_search()"
         icon="el-icon-search"
-      >搜索</el-button>
+      >查询</el-button>
 
     </div>
     <zz-table

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

@@ -94,7 +94,7 @@
             slot-scope="scope"
             slot="status"
           >
-            <div :class="{ statusColor: scope.row.handleStatus === 1 }">
+            <div :class="{ statusColor: scope.row.handleStatus === 1 ||  scope.row.handleStatus === 4 }">
               {{ scope.row.handleStatus | filterComplaintStatus }}
             </div>
           </template>

+ 46 - 14
operationSupport/src/views/propertyManagement/stepPage/indexEdit.vue

@@ -123,6 +123,7 @@
             v-model="replayForm.handleStatus"
             clearable
             :disabled="rowData.handleStatus == 2 || rowData.handleStatus == 4 || rowData.handleStatus == 5"
+            @change="workOrder"
           >
             <el-option
               v-for="(item, index) in complaintStatus"
@@ -196,6 +197,9 @@ export default {
         {
           status: 4,
           label: '已处理'
+        }, {
+          status: 5,
+          label: '转为工单'
         }
       ],
       rules: {
@@ -207,10 +211,23 @@ export default {
     };
   },
   created () {
+    debugger
     this.clickEdit(this.params.row);
   },
   mounted () { },
   methods: {
+
+    workOrder () {
+      if (this.replayForm.handleStatus == '5') {
+        this.replayForm.replay = '尊敬的客户,您好!您的投诉信息已经为您转变为运维工单,您可在小程序“在线报修”板块查看最新处理进度。';
+      } else {
+        this.replayForm.replay = ''
+      }
+    },
+
+
+
+
     typeVideo (str) {
       let type = str.slice(str.lastIndexOf('.') + 1, str.length);
       let videoType = ['mp4'];
@@ -262,20 +279,35 @@ export default {
             houseId: this.rowData.houseId,
             id: this.rowData.id
           };
-          this.$http.post('/czc-community/feedback/update', query).then((res) => { });
-          let querys = {
-            fid: this.rowData.id,
-            replyContent: this.replayForm.replay
-          };
-          this.$http.post('/czc-community/feedback/speed/add', querys).then(({ status, msg }) => {
-            if (status == 0) {
-              this.$message.success(msg);
-              this.params.callback();
-              this.$emit('close');
-            } else {
-              this.$message.error(msg);
-            }
-          });
+          if (this.replayForm.handleStatus == '5') {
+
+            this.$http.post('/czc-community/feedback/workOrder', { fid: this.params.row.id, replyContent: this.replayForm.replay }).then(({ data, status, msg }) => {
+
+              if (status == 0) {
+                this.$message.success(msg);
+                this.params.callback();
+                this.$emit('close');
+              } else {
+                this.$message.error(msg);
+              }
+            })
+          } else {
+            this.$http.post('/czc-community/feedback/update', query).then((res) => { });
+            let querys = {
+              fid: this.rowData.id,
+              replyContent: this.replayForm.replay
+            };
+            this.$http.post('/czc-community/feedback/speed/add', querys).then(({ status, msg }) => {
+              if (status == 0) {
+                this.$message.success(msg);
+                this.params.callback();
+                this.$emit('close');
+              } else {
+                this.$message.error(msg);
+              }
+            });
+          }
+
         }
       });
     },

+ 2 - 1
operationSupport/src/views/workOrders/popups/details.vue

@@ -155,11 +155,12 @@
             </div>
           </div>
         </template>
-        <!-- <div v-if="thisItem.orderStatus == 5">待评价</div> -->
+        <!-- <div v-if="thisItem.orderStatus == 5">待评价111111</div> -->
         <div
           v-if="thisItem.orderStatus == 6"
           class="grate"
         >
+          {{this.thisItem.orderStatus}}
           <div class="grate-rate">
             <div style="margin-top: 3px">评价星级:</div>
             <div>