Hwt 2 anni fa
parent
commit
31c5b6c220

+ 1 - 1
operationSupport/src/components/common/newsearch.vue

@@ -17,7 +17,7 @@
         class="col"
         v-for='(item, index) in normal'
         :key='index'
-        style="margin-top: 3px;"
+        style="margin-top: 4px;"
       >
         <span class="search-box">
           <span

+ 107 - 82
operationSupport/src/components/common/workBenchModal.vue

@@ -1,98 +1,123 @@
 <template>
-    <el-dialog
-        v-if="modal.show"
-        :visible.sync="modal.show"
-        class="alert-modalWork"
-        :width="modal.width"
-        :fullscreen="modal.fullscreen"
-        :custom-class="modal.customClass || 'alert-el-modal'"
-        :class="{ 'is-modal': !modal.fullscreen, newpop: modal.class }"
-        :append-to-body="true"
-        :lock-scroll="true"
-        @closed="close"
-        ref="alertModal"
-        top="0"
-        :close-on-click-modal="false"
-        :close-on-press-escape="false"
+  <el-dialog
+    v-if="modal.show"
+    :visible.sync="modal.show"
+    class="alert-modalWork"
+    :width="modal.width"
+    :fullscreen="modal.fullscreen"
+    :custom-class="modal.customClass || 'alert-el-modal'"
+    :class="{ 'is-modal': !modal.fullscreen, newpop: modal.class }"
+    :append-to-body="true"
+    :lock-scroll="true"
+    @closed="close"
+    ref="alertModal"
+    top="0"
+    :close-on-click-modal="false"
+    :close-on-press-escape="false"
+  >
+    <div slot="title">
+      <div class="title_row">
+        <strong class="title">{{ modal.title }}</strong>
+        {{ modal.star }}
+        <span v-if="modal.hideStar"></span>
+        <span v-else-if="modal.title && !modal.notip"> (<span class="color-danger">*为必填项</span>) </span>
+      </div>
+    </div>
+    <div
+      class="content"
+      v-scroll
     >
-        <div slot="title">
-            <div class="title_row">
-                <strong class="title">{{ modal.title }}</strong>
-                {{ modal.star }}
-                <span v-if="modal.hideStar"></span>
-                <span v-else-if="modal.title && !modal.notip"> (<span class="color-danger">*为必填项</span>) </span>
-            </div>
-        </div>
-        <div class="content" v-scroll>
-            <component :id="modal.id" :is="modal.component" :params="modal.props" :ref="modal.id" @close="close"></component>
-        </div>
-        <span slot="footer" class="dialog-footer" v-if="!modal.fullscreen || modal.showFooter">
-            <el-button @click="alertReset(modal.id)" class="reset" v-if="modal.showResetButton">重置</el-button>
-            <el-button @click="close" class="reset" v-if="!modal.showCancelButton">{{ modal.cancelButtonText || '取消' }}</el-button>
-            <el-button type="primary" v-if="!modal.showConfirmButton" @click="submit(modal.id)">{{
+      <component
+        :id="modal.id"
+        :is="modal.component"
+        :params="modal.props"
+        :ref="modal.id"
+        @close="close"
+      ></component>
+    </div>
+    <span
+      slot="footer"
+      class="dialog-footer"
+      v-if="!modal.fullscreen || modal.showFooter"
+    >
+      <el-button
+        @click="alertReset(modal.id)"
+        class="reset"
+        v-if="modal.showResetButton"
+      >重置</el-button>
+      <el-button
+        @click="close"
+        class="reset"
+        v-if="!modal.showCancelButton"
+      >{{ modal.cancelButtonText || '取消' }}</el-button>
+      <el-button
+        type="primary"
+        v-if="!modal.showConfirmButton"
+        @click="submit(modal.id)"
+      >{{
                 modal.confirmButtonText || '保存'
             }}</el-button>
-        </span>
-    </el-dialog>
+    </span>
+  </el-dialog>
 </template>
 
 <script>
 const preventBrowserBack = () => {
-    history.pushState(null, null, document.URL);
+  history.pushState(null, null, document.URL);
 };
 export default {
-    name: 'work-modal',
-    props: {
-        params: {
-            type: Object,
-            default() {
-                return {};
-            }
-        }
-    },
-    data() {
-        return {
-            // modal:{}
-        };
-    },
-    computed: {
-        modal() {
-            let obj = this.params;
-            if (obj && obj.height) {
-                this.$nextTick(() => {
-                    if (this.$refs.alertModal && this.$refs.alertModal.$el && this.$refs.alertModal.$el.childNodes) {
-                        this.$refs.alertModal.$el.childNodes[0].style.height = obj.height;
-                    }
-                });
-            }
-            if (obj.show) {
-                history.pushState(null, null, document.URL);
-                window.addEventListener('popstate', preventBrowserBack, false);
-            } else {
-                window.removeEventListener('popstate', preventBrowserBack);
-            }
-            return obj;
-        }
+  name: 'work-modal',
+  props: {
+    params: {
+      type: Object,
+      default () {
+        return {};
+      }
+    }
+  },
+  data () {
+    return {
+      // modal:{}
+    };
+  },
+  computed: {
+    modal () {
+      let obj = this.params;
+      if (obj && obj.height) {
+        this.$nextTick(() => {
+          if (this.$refs.alertModal && this.$refs.alertModal.$el && this.$refs.alertModal.$el.childNodes) {
+            this.$refs.alertModal.$el.childNodes[0].style.height = obj.height;
+          }
+        });
+      }
+      if (obj.show) {
+        history.pushState(null, null, document.URL);
+        window.addEventListener('popstate', preventBrowserBack, false);
+      } else {
+        window.removeEventListener('popstate', preventBrowserBack);
+      }
+      return obj;
+    }
+  },
+  watch: {},
+  methods: {
+    close () {
+      this.$store.dispatch('delPopupWork', this.modal.id);
     },
-    watch: {},
-    methods: {
-        close() {
-            this.$store.dispatch('delPopupWork', this.modal.id);
-        },
-        // 弹窗重置,执行弹出组件的reset方法
-        alertReset(id) {
-            const component = this.$refs[id];
-            component.reset && component.reset();
-        },
-        submit(id) {
-            const component = this.$refs[id];
-            component.submit && component.submit();
-        }
+    // 弹窗重置,执行弹出组件的reset方法
+    alertReset (id) {
+      const component = this.$refs[id];
+      component.reset && component.reset();
     },
-    created() {
-        // debugger
-        // this.modal=this.params;
+    submit (id) {
+      const component = this.$refs[id];
+      component.submit && component.submit();
     }
+  },
+  created () {
+    // debugger
+    // this.modal=this.params;
+  }
 };
 </script>
 

+ 4 - 0
operationSupport/src/utils/utils.js

@@ -57,6 +57,10 @@ Vue.mixin({
         },
         $editAmounttenant() {
             return this.$store.getters['hasPermission8'](this.mix_path + ':editAmounttenant');
+        },
+        // 关闭工单
+        $closeAudit() {
+            return this.$store.getters['hasPermission8'](this.mix_path + ':closeAudit');
         }
     }
 });

+ 12 - 8
operationSupport/src/views/newWorkBench/components/PatrolProblem.vue

@@ -6,7 +6,7 @@
         <div class="model-title-right">
           <el-date-picker
             value-format="yyyy-MM"
-            v-model="date"
+            v-model="queryDate"
             type="month"
             placeholder="选择月"
             class="saveColumn-select"
@@ -42,9 +42,9 @@ export default {
       },
       mixins_query: {
         communityId: '',
-        date: ''
+        queryDate: ''
       },
-      date: '',
+      queryDate: '',
       clientOptions: columnOptionsChartName(
         '(个)',
         ['name1', 'name2', 'name3'],
@@ -102,15 +102,19 @@ export default {
     //   });
     // },
     changeTime (v) {
-      this.mixins_query.date = v + '-01';
+      this.mixins_query.queryDate = v + '-01';
       this.getData();
+    },
+    getData () {
+      this.$http.get('/czc-community/patrol/record/standard/top', this.mixins_query).then(({ data, msg, status }) => {
+        debugger
+      })
     }
   },
   created () {
-    debugger
-    this.date = this.$moment().format('YYYY-MM');
-    this.mixins_query.date = this.$moment().format('YYYY-MM') + '-01';
-    // this.getData();
+    this.queryDate = this.$moment().format('YYYY-MM');
+    this.mixins_query.queryDate = this.$moment().format('YYYY-MM') + '-01';
+    this.getData();
   }
 };
 </script>

+ 3 - 3
operationSupport/src/views/newWorkBench/components/indexOptionChart.js

@@ -1259,7 +1259,7 @@ export const quantitativeAnalysisProblems = (name = [], namexAxis = '', nameyAxi
                 }
             });
         });
-        debugger;
+
         return seriesData;
     };
 
@@ -1286,7 +1286,7 @@ export const quantitativeAnalysisProblems = (name = [], namexAxis = '', nameyAxi
             top: 60,
             left: 5,
             bottom: 0,
-            right: 5,
+            right: 0,
             containLabel: true
         },
         xAxis: {
@@ -1317,6 +1317,6 @@ export const quantitativeAnalysisProblems = (name = [], namexAxis = '', nameyAxi
         },
         series: seriesConfiguration() || defaultData
     };
-    debugger;
+
     return option;
 };

+ 19 - 5
operationSupport/src/views/newWorkBench/components/quantitativeAnalysis.vue

@@ -1,12 +1,12 @@
 <template>
   <div class="modelBlock">
-    <template>
+    <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"
+            v-model="queryDate"
             type="month"
             placeholder="选择月"
             class="saveColumn-select"
@@ -23,7 +23,10 @@
         ></zz-echart>
       </div>
     </template>
-    <!-- <no-permission tipsText="巡更问题数量分析"></no-permission> -->
+    <no-permission
+      v-else
+      tipsText="巡更问题数量分析"
+    ></no-permission>
   </div>
 </template>
 
@@ -42,8 +45,9 @@ export default {
       },
       mixins_query: {
         communityId: '',
-        date: ''
+        queryDate: ''
       },
+      queryDate: '',
       clientOptions: quantitativeAnalysisProblems(['市容市貌', '环境卫生', '公共秩序', '消防安全'], '日期', '问题数量',
         ['1日', 2, 3, 4, 5, 6, 7, 8, 9, 10],
         [
@@ -70,9 +74,19 @@ export default {
   },
   methods: {
     changeTime (v) {
-      this.mixins_query.date = v + '-01';
+      this.mixins_query.queryDate = v + '-01';
       this.getData();
+    },
+    getData () {
+      this.$http.get('/czc-community/patrol/record/standard/statistics/content', this.mixins_query).then(({ status, data, msg }) => {
+        debugger
+      })
     }
+  },
+  created () {
+    this.mixins_query.queryDate = this.$moment().format('YYYY-MM') + '-01';
+    this.queryDate = this.$moment().format('YYYY-MM');
+    this.getData();
   }
 
 }

+ 32 - 3
operationSupport/src/views/payService/landlordBill/index.vue

@@ -322,8 +322,22 @@ export default {
         },
         {
           label: '费用类型',
-          prop: 'chargeName',
-          width: '200'
+          prop: 'chargeType',
+          format (val) {
+            if (val == '1') {
+              return '物业费'
+            } else if (val == '2') {
+              return '水费'
+            } else if (val == '3') {
+              return '电费'
+            } else if (val == '4') {
+              return '车位费'
+            } else if (val == '6') {
+              return '卫生费'
+            } else if (val == '7') {
+              return '其他费用'
+            }
+          }
         },
         {
           label: '计费周期',
@@ -372,7 +386,22 @@ export default {
         },
         {
           label: '费用类型',
-          prop: 'chargeName'
+          prop: 'chargeType',
+          format (val) {
+            if (val == '1') {
+              return '物业费'
+            } else if (val == '2') {
+              return '水费'
+            } else if (val == '3') {
+              return '电费'
+            } else if (val == '4') {
+              return '车位费'
+            } else if (val == '6') {
+              return '卫生费'
+            } else if (val == '7') {
+              return '其他费用'
+            }
+          }
         },
         {
           label: '计费周期',

+ 3 - 2
operationSupport/src/views/payService/landlordBill/stePage/details.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="lookDetail">
-    <div class="formContent-item_title">{{ thisItem.residentName }}-{{ thisItem.assets }}</div>
+    <div class="formContent-item_title">{{ thisItem.residentName }}-{{ thisItem.communityName }}-{{ thisItem.assets }}</div>
     <el-form
       ref="form"
       label-width="110px"
@@ -70,7 +70,7 @@ export default {
           slot: 'assetsArea'
         },
         {
-          label: '单价(元/㎡/月):',
+          label: '单价(元/㎡):',
           prop: 'chargePrice'
         },
         {
@@ -145,6 +145,7 @@ export default {
         .catch(() => { });
     },
     labelType (lab, val) {
+
       let type = this.thisItem['chargeType'];
       if (val == 'assetsArea') {
         if (type == 2) {

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

@@ -1,6 +1,6 @@
 <template>
   <div class="lookDetail">
-    <div class="formContent-item_title">{{ chiData.residentName }} - {{ chiData.assets }} </div>
+    <div class="formContent-item_title">{{ chiData.residentName }} - {{ chiData.communityName }}-{{ chiData.assets }} </div>
     <el-form
       ref="form"
       :model="formData"

+ 7 - 4
operationSupport/src/views/workOrders/index.vue

@@ -40,7 +40,7 @@
         @click="mixins_search"
         icon="el-icon-search"
       >查询 </el-button>
-
+      {{this.$closeAudit}}
       <div class="search-icon">
         <el-tooltip
           class="item"
@@ -136,6 +136,7 @@ export default {
   data () {
     let _this = this;
     return {
+      mix_path: 'workOrders/index',
       communityArr: [],
       cols: [
         {
@@ -219,7 +220,7 @@ export default {
         this.$store.dispatch('addPopup', {
           url: '/workOrders/popups/dispatchTsk.vue',
           width: '500px',
-          height: '300px',
+          height: '340px',
           props: {
             data,
             arrData: this.findUser,
@@ -231,7 +232,7 @@ export default {
         this.mixins_search();
       });
     },
-    closeTask (data = {}) {
+    closeTask (row, data = {}) {
       new Promise((resolve) => {
         let title = '关闭工单';
         this.$store.dispatch('addPopup', {
@@ -240,10 +241,12 @@ export default {
           height: '100px',
           props: {
             data,
+            row,
             callback: resolve
           },
           notip: true,
-          title: title
+          title: title,
+          confirmButtonText: row.auditStatus == null ? '提交审核' : '确认'
         });
       }).then(() => {
         this.mixins_search();

+ 29 - 22
operationSupport/src/views/workOrders/popups/closeTsk.vue

@@ -33,31 +33,38 @@ export default {
 
   methods: {
     submit () {
-      new Promise((resolve) => {
-        this.$refs.form.validate(resolve);
-      }).then(() => {
-        var loading = this.$loading();
-        let url = '/czc-community/workOrder/close';
-        this.$http
-          .post(url, this.formData)
-          .then(({ status, msg }) => {
-            if (status == 0) {
-              this.$message.success(msg);
-              this.params.callback();
-              this.$emit('close');
-            } else {
-              this.$message.error(msg);
-            }
-            loading.close();
-          })
-          .catch(() => {
-            loading.close();
-          });
-      });
+      if (this.params.auditStatus == null) {
+        new Promise((resolve) => {
+          this.$refs.form.validate(resolve);
+        }).then(() => {
+          var loading = this.$loading();
+          let url = '/czc-community/workOrder/close';
+          this.$http
+            .post(url, this.formData)
+            .then(({ status, msg }) => {
+              if (status == 0) {
+                this.$message.success(msg);
+                this.params.callback();
+                this.$emit('close');
+              } else {
+                this.$message.error(msg);
+              }
+              loading.close();
+            })
+            .catch(() => {
+              loading.close();
+            });
+        });
+      } else {
+        alert('111')
+      }
     }
   },
   created () {
-    this.formData.orderId = JSON.parse(JSON.stringify(this.params.data)).id;
+    // this.formData.orderId = JSON.parse(JSON.stringify(this.params.data)).id;
+    debugger
+    this.params.row.id;
+    this.formData.orderId = this.params.row.id;
   }
 };
 </script>

+ 28 - 2
operationSupport/src/views/workOrders/popups/dispatchTsk.vue

@@ -49,6 +49,14 @@
       :options="findUser"
       @change="findUserToggle"
     ></el-cascader>
+
+    <el-input
+      slot="cost"
+      type="number"
+      class="input"
+      v-model="formData.cost"
+      placeholder="请输入服务费用金额"
+    ></el-input>
   </zz-form>
 </template>
 <script >
@@ -67,7 +75,8 @@ export default {
         completionTime: '',
         userId: '',
         username: '',
-        type: 1
+        type: 1,
+        cost: ''
       },
       formRules: {
         urgencyDegree: [this.$valid.selectRequired('紧急程度')],
@@ -90,6 +99,11 @@ export default {
             label: '维修人员',
             prop: 'userId',
             slot: 'userId'
+          },
+          {
+            label: '服务费用',
+            prop: 'cost',
+            slot: 'cost'
           }
         ]
       ],
@@ -143,4 +157,16 @@ export default {
     this.findUser = this.params.arrData;
   }
 };
-</script>
+</script>
+
+
+
+<style lang="scss" scoped>
+/deep/.input input::-webkit-outer-spin-button,
+/deep/.input input::-webkit-inner-spin-button {
+    -webkit-appearance: none;
+}
+/deep/.input input[type='number'] {
+    -moz-appearance: textfield;
+}
+</style>