Hwt 3 年之前
父節點
當前提交
4499a65b07

+ 106 - 103
operationSupport/src/views/deviceManagement/popups/poptreeSelect.vue

@@ -1,114 +1,117 @@
 <template>
-    <el-scrollbar class="el-scrollbar-byself thisColor" style="width: 100%">
-        <el-tree
-            :data="tenantsTree"
-            show-checkbox
-            node-key="value"
-            :props="treedefaultProps"
-            check-strictly
-            :default-checked-keys="defaultcheckedkeys"
-            ref="tenantstree"
-            @check="checkChange"
-        >
-        </el-tree>
-    </el-scrollbar>
+  <el-scrollbar
+    class="el-scrollbar-byself thisColor"
+    style="width: 100%"
+  >
+    <el-tree
+      :data="tenantsTree"
+      show-checkbox
+      node-key="value"
+      :props="treedefaultProps"
+      check-strictly
+      :default-checked-keys="defaultcheckedkeys"
+      ref="tenantstree"
+      @check="checkChange"
+    >
+    </el-tree>
+  </el-scrollbar>
 </template>
 <script>
 export default {
-    props: ['params'],
-    data() {
-        return {
-            tenantsTree: [],
-            treedefaultProps: {
-                children: 'children',
-                label: 'name'
-            },
-            defaultcheckedkeys: [],
-            unitPa: {
-                buildingId: '',
-                buildingName: '',
-                unitId: '',
-                unitName: '',
-                houseId: '',
-                houseName: '',
-                type: ''
-            }
-        };
+  props: ['params'],
+  data () {
+    return {
+      tenantsTree: [],
+      treedefaultProps: {
+        children: 'children',
+        label: 'name'
+      },
+      defaultcheckedkeys: [],
+      unitPa: {
+        buildingId: '',
+        buildingName: '',
+        unitId: '',
+        unitName: '',
+        houseId: '',
+        houseName: '',
+        type: ''
+      }
+    };
+  },
+  computed: {},
+  mounted () { },
+  methods: {
+    submit () {
+      if (this.$refs.tenantstree.getCheckedNodes().length) {
+        let thisRoom = this.$refs.tenantstree.getCheckedNodes()[0];
+        let thisObj = this.$refs.tenantstree.getNode(thisRoom);
+        this.unitPa.type = thisRoom.type;
+        let newValueIds = thisRoom.id.split('-');
+        if (thisRoom.type == 'room') {
+          this.unitPa.buildingName = newValueIds.length == 4 ? thisObj.parent.parent.data.name : thisObj.parent.data.name;
+          this.unitPa.buildingId = newValueIds.length == 4 ? thisObj.parent.parent.data.value : thisObj.parent.data.value;
+          this.unitPa.unitName = newValueIds.length == 4 ? thisObj.parent.data.name : '';
+          this.unitPa.unitId = newValueIds.length == 4 ? thisObj.parent.data.value : '';
+          this.unitPa.houseName = thisRoom.name;
+          this.unitPa.houseId = thisRoom.value;
+        }
+        this.params.callback && this.params.callback(this.unitPa);
+        this.$emit('close');
+      } else {
+        this.$message.error('请选择房间或取消');
+      }
+    },
+    dimension (arr) {
+      arr.map((item, index) => {
+        if (!!item.children) {
+          this.dimension(item.children);
+          if (item.type == 'unit') {
+            item.name = this.CheckChinese(item.name, '单元');
+          } else if (item.type == 'building') {
+            item.name = this.CheckChinese(item.name, '楼栋');
+          }
+        }
+      });
+    },
+    checkChange (data, checked) {
+      if (checked) {
+        if (this.$refs.tenantstree.getCheckedNodes().length > 1) {
+          this.$message({
+            message: '只能选择一个房间!',
+            type: 'error',
+            showClose: true
+          });
+          this.$refs.tenantstree.setChecked(data, false);
+        }
+      }
+    },
+    CheckChinese (val, name) {
+      var reg = new RegExp('[\\u4E00-\\u9FFF]+', 'g');
+      let newVal = val;
+      if (!reg.test(val)) {
+        newVal = val + name;
+      }
+      return newVal;
     },
-    computed: {},
-    mounted() {},
-    methods: {
-        submit() {
-            if (this.$refs.tenantstree.getCheckedNodes().length) {
-                let thisRoom = this.$refs.tenantstree.getCheckedNodes()[0];
-                let thisObj = this.$refs.tenantstree.getNode(thisRoom);
-                this.unitPa.type = thisRoom.type;
-                let newValueIds = thisRoom.id.split('-');
-                if (thisRoom.type == 'room') {
-                    this.unitPa.buildingName = newValueIds.length == 4 ? thisObj.parent.parent.data.name : thisObj.parent.data.name;
-                    this.unitPa.buildingId = newValueIds.length == 4 ? thisObj.parent.parent.data.value : thisObj.parent.data.value;
-                    this.unitPa.unitName = newValueIds.length == 4 ? thisObj.parent.data.name : '';
-                    this.unitPa.unitId = newValueIds.length == 4 ? thisObj.parent.data.value : '';
-                    this.unitPa.houseName = thisRoom.name;
-                    this.unitPa.houseId = thisRoom.value;
-                }
-                this.params.callback && this.params.callback(this.unitPa);
-                this.$emit('close');
-            } else {
-                this.$message.error('请选择房间或取消');
-            }
-        },
-        dimension(arr) {
-            arr.map((item, index) => {
-                if (!!item.children) {
-                    this.dimension(item.children);
-                    if (item.type == 'unit') {
-                        item.name = this.CheckChinese(item.name, '单元');
-                    } else if (item.type == 'building') {
-                        item.name = this.CheckChinese(item.name, '楼栋');
-                    }
-                }
-            });
-        },
-        checkChange(data, checked) {
-            if (checked) {
-                if (this.$refs.tenantstree.getCheckedNodes().length > 1) {
-                    this.$message({
-                        message: '只能选择一个房间!',
-                        type: 'error',
-                        showClose: true
-                    });
-                    this.$refs.tenantstree.setChecked(data, false);
-                }
-            }
-        },
-        CheckChinese(val, name) {
-            var reg = new RegExp('[\\u4E00-\\u9FFF]+', 'g');
-            let newVal = val;
-            if (!reg.test(val)) {
-                newVal = val + name;
-            }
-            return newVal;
-        },
-        filterTreeData(trData) {
-            trData.map((item, index) => {
-                if (this.isNotEmpty(item.children)) {
-                    item.disabled = true;
-                    this.filterTreeData(item.children);
-                } else {
-                    item.disabled = false;
-                }
-            });
-        },
-        isNotEmpty(arr) {
-            return arr && Array.isArray(arr) && arr.length > 0;
+    filterTreeData (trData) {
+      trData.map((item, index) => {
+        if (this.isNotEmpty(item.children)) {
+          item.disabled = true;
+          this.filterTreeData(item.children);
+        } else {
+          item.disabled = false;
         }
+      });
     },
-    created() {
-        this.dimension(this.params.tenantsTree);
-        this.filterTreeData(this.params.tenantsTree);
-        this.tenantsTree = this.params.tenantsTree;
+    isNotEmpty (arr) {
+      return arr && Array.isArray(arr) && arr.length > 0;
     }
+  },
+  created () {
+    this.dimension(this.params.tenantsTree);
+    this.filterTreeData(this.params.tenantsTree);
+    this.tenantsTree = this.params.tenantsTree;
+  }
 };
 </script>
 <style lang="scss" scoped>

+ 61 - 64
operationSupport/src/views/newWorkBench/components/index.js

@@ -22,71 +22,68 @@
 // alarmInformation 设备告警信息  单条没有跳转
 // overallCommunity 社区总体情况统计 OK
 
-
 // houseClick 本月房屋点击排名前十 OK
-const comUrl = 'newWorkBench/components/'
+const comUrl = 'newWorkBench/components/';
 export default {
-  components: {
-    maps: resolve => require([`@views/${comUrl}map.vue`], resolve),
-    complaintsSuggestions: resolve => require([`@views/${comUrl}complaintsSuggestions.vue`], resolve),
-    commonFunctions: resolve => require([`@views/${comUrl}commonFunctions.vue`], resolve),
-    satisfaction: resolve => require([`@views/${comUrl}satisfaction.vue`], resolve),
-    discount: resolve => require([`@views/${comUrl}discount.vue`], resolve),
-    rentalAndSaleRate: resolve => require([`@views/${comUrl}rentalAndSaleRate.vue`], resolve),
-    collectionRate: resolve => require([`@views/${comUrl}collectionRate.vue`], resolve),
-    householdGender: resolve => require([`@views/${comUrl}householdGender.vue`], resolve),
-    householdIdentity: resolve => require([`@views/${comUrl}householdIdentity.vue`], resolve),
-    equipmentStatistics: resolve => require([`@views/${comUrl}equipmentStatistics.vue`], resolve),
-    ownerApproval: resolve => require([`@views/${comUrl}ownerApproval.vue`], resolve),
-    pendingComplaints: resolve => require([`@views/${comUrl}pendingComplaints.vue`], resolve),
-    complaintsAndSuggestions: resolve => require([`@views/${comUrl}complaintsAndSuggestions.vue`], resolve),
-
-    patrolDuration: resolve => require([`@views/${comUrl}patrolDuration.vue`], resolve),
-    communityAnnouncement: resolve => require([`@views/${comUrl}communityAnnouncement.vue`], resolve),
-    personnelScore: resolve => require([`@views/${comUrl}personnelScore.vue`], resolve),
-    billToBeCollected: resolve => require([`@views/${comUrl}billToBeCollected.vue`], resolve),
-    contractAward: resolve => require([`@views/${comUrl}contractAward.vue`], resolve),
-    dispatchWorkOrder: resolve => require([`@views/${comUrl}dispatchWorkOrder.vue`], resolve),
-    taskType: resolve => require([`@views/${comUrl}facilityInspections/taskType.vue`], resolve),
-    alarmInformation: resolve => require([`@views/${comUrl}alarmManagement/alarmInformation.vue`], resolve),
-    overallCommunity: resolve => require([`@views/${comUrl}communityManagement/overallCommunity.vue`], resolve),
-    houseClick: resolve => require([`@views/${comUrl}houseClick.vue`], resolve),
+    components: {
+        maps: (resolve) => require([`@views/${comUrl}map.vue`], resolve),
+        complaintsSuggestions: (resolve) => require([`@views/${comUrl}complaintsSuggestions.vue`], resolve),
+        commonFunctions: (resolve) => require([`@views/${comUrl}commonFunctions.vue`], resolve),
+        satisfaction: (resolve) => require([`@views/${comUrl}satisfaction.vue`], resolve),
+        discount: (resolve) => require([`@views/${comUrl}discount.vue`], resolve),
+        rentalAndSaleRate: (resolve) => require([`@views/${comUrl}rentalAndSaleRate.vue`], resolve),
+        collectionRate: (resolve) => require([`@views/${comUrl}collectionRate.vue`], resolve),
+        householdGender: (resolve) => require([`@views/${comUrl}householdGender.vue`], resolve),
+        householdIdentity: (resolve) => require([`@views/${comUrl}householdIdentity.vue`], resolve),
+        equipmentStatistics: (resolve) => require([`@views/${comUrl}equipmentStatistics.vue`], resolve),
+        ownerApproval: (resolve) => require([`@views/${comUrl}ownerApproval.vue`], resolve),
+        pendingComplaints: (resolve) => require([`@views/${comUrl}pendingComplaints.vue`], resolve),
+        complaintsAndSuggestions: (resolve) => require([`@views/${comUrl}complaintsAndSuggestions.vue`], resolve),
 
-  },
-  data() {
-    return {
-      //拖拽组件
-      componentsIdArr: {
-        1: 'maps',
-        2: 'complaintsSuggestions',
-        3: 'commonFunctions',
-        4: 'satisfaction',
-        5: 'discount',
-        6: 'rentalAndSaleRate',
-        7: 'collectionRate',
-        8: "householdGender",
-        9: 'householdIdentity',
-        10: 'equipmentStatistics',
-        11: "ownerApproval",
-        12: "pendingComplaints",
-        13: "complaintsAndSuggestions",
-        14: 'patrolDuration',
-        15: 'communityAnnouncement',
-        16: "personnelScore",
-        17: 'billToBeCollected',
-        18: 'contractAward',
-        19: 'dispatchWorkOrder',
-        20: "taskType",
-        21: "alarmInformation",
-        22: 'overallCommunity',
-        23: "houseClick"
-      }
+        patrolDuration: (resolve) => require([`@views/${comUrl}patrolDuration.vue`], resolve),
+        communityAnnouncement: (resolve) => require([`@views/${comUrl}communityAnnouncement.vue`], resolve),
+        personnelScore: (resolve) => require([`@views/${comUrl}personnelScore.vue`], resolve),
+        billToBeCollected: (resolve) => require([`@views/${comUrl}billToBeCollected.vue`], resolve),
+        contractAward: (resolve) => require([`@views/${comUrl}contractAward.vue`], resolve),
+        dispatchWorkOrder: (resolve) => require([`@views/${comUrl}dispatchWorkOrder.vue`], resolve),
+        taskType: (resolve) => require([`@views/${comUrl}facilityInspections/taskType.vue`], resolve),
+        alarmInformation: (resolve) => require([`@views/${comUrl}alarmManagement/alarmInformation.vue`], resolve),
+        overallCommunity: (resolve) => require([`@views/${comUrl}communityManagement/overallCommunity.vue`], resolve),
+        houseClick: (resolve) => require([`@views/${comUrl}houseClick.vue`], resolve)
+    },
+    data() {
+        return {
+            //拖拽组件
+            componentsIdArr: {
+                1: 'maps',
+                2: 'complaintsSuggestions',
+                3: 'commonFunctions',
+                4: 'satisfaction',
+                5: 'discount',
+                6: 'rentalAndSaleRate',
+                7: 'collectionRate',
+                8: 'householdGender',
+                9: 'householdIdentity',
+                10: 'equipmentStatistics',
+                11: 'ownerApproval',
+                12: 'pendingComplaints',
+                13: 'complaintsAndSuggestions',
+                14: 'patrolDuration',
+                15: 'communityAnnouncement',
+                16: 'personnelScore',
+                17: 'billToBeCollected',
+                18: 'contractAward',
+                19: 'dispatchWorkOrder',
+                20: 'taskType',
+                21: 'alarmInformation',
+                22: 'overallCommunity',
+                23: 'houseClick'
+            }
+        };
+    },
+    methods: {
+        sumit() {
+            return this.pageLoction;
+        }
     }
-  },
-  methods: {
-    sumit() {
-      return this.pageLoction
-    }
-  }
-
-};
+};

+ 540 - 553
operationSupport/src/views/newWorkBench/components/indexOptionChart.js

@@ -1,589 +1,576 @@
 //从左往右颜色渐变
 export const GradualChange = (color1, color2) => {
-  return new echarts.graphic.LinearGradient(1, 0, 0, 0, [
-    { offset: 1, color: color1 + '' },
-    { offset: 0, color: color2 + '' || color1 + '' }
-  ]);
+    return new echarts.graphic.LinearGradient(1, 0, 0, 0, [
+        { offset: 1, color: color1 + '' },
+        { offset: 0, color: color2 + '' || color1 + '' }
+    ]);
 };
 export const getColor = ([color1, color2]) => {
-  // 右 下 左 上
-  return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-    { offset: 0, color: color1 + '' },
-    { offset: 1, color: color2 + '' || color1 + '' },
-  ])
-}
+    // 右 下 左 上
+    return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+        { offset: 0, color: color1 + '' },
+        { offset: 1, color: color2 + '' || color1 + '' }
+    ]);
+};
 
 export const dateType = (date) => {
-  let val = '';
-  if (date) {
-    val = `${date.slice(0, 4)}年${date.slice(4)}月`
-  } else {
-    val = date
-  }
-  return val
-}
+    let val = '';
+    if (date) {
+        val = `${date.slice(0, 4)}年${date.slice(4)}月`;
+    } else {
+        val = date;
+    }
+    return val;
+};
 //折现波浪线颜色渐变
 export const getItemStyle = (c1, c2) => {
-  return {
-    color: {
-      type: "linear",
-      x: 0,
-      y: 0,
-      x2: 0,
-      y2: 1,
-      colorStops: [
-        {
-          offset: 0,
-          color: c1 // 0% 处的颜色
-        },
-        {
-          offset: 1,
-          color: c2 // 100% 处的颜色
-        }
-      ],
-      global: false // 缺省为 false
-    }
-  };
-}
-export const defaultMonth = ['01', "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
-export const defaultName = ['name1', 'name2', 'name3'];
-
-
-const defaultColor = [GradualChange('#22D8FF', '#00B2FF'),
-GradualChange('#F0646C', '#F4994E'),
-GradualChange('#5EEDCC ', '#24C3F1'),
-GradualChange('#7178FF', '#D2A4FF'),
-GradualChange('#884DD2', '#DF63CC')]
-// 饼图
-export const ringType = (
-  color = [],
-  data = [],
-  title = {},
-  legendFcuntion = {}
-) => {
-  let legendFcuntionValue = (v) => {
-    let val = ''
-    data.map(item => {
-      if (item.name == v) {
-        if (legendFcuntion.type == '%') {
-          val = `{a|${v}} · · · · · · {b|${parseInt((item.value / legendFcuntion.total).toFixed(2) * 100) || 0}%}`
-        } else {
-          val = `{a|${v}} · · · · · · {b|${item.value}}`
-        }
-      }
-    })
-    return val
-
-  }
-  return {
-    tooltip: {
-      trigger: 'item'
-    },
-    legend: {
-      orient: 'vertical',
-      right: 10,
-      top: 80,
-      itemGap: 10,
-      itemWidth: 12, // 图例图形宽度
-      itemHeight: 8,
-      type: 'scroll',
-      formatter: (v) => { return legendFcuntionValue(v) },
-      textStyle: {
-        rich: {
-          a: {
-            fontSize: 12,
-            color: '#858892',
-            padding: [0, 5, 0, 0]
-          },
-          b: {
-            fontSize: 14,
-            color: '#fff',
-            padding: [0, 0, 0, 5]
-          }
-        }
-      }
-    },
-    title,
-    color: !!color.length ? color : defaultColor,
-    series: [
-      {
-        type: 'pie',
-        radius: ['55%', '70%'],
-        avoidLabelOverlap: false,
-        center: ['25%', '50%'],
-        label: {
-          show: false,
-          position: 'center'
-        },
-        labelLine: {
-          show: false
-        },
-        data: data
-      }
-    ]
-  }
-}
-
-
-// 折现波浪
-export const discountedWave = (
-  name = "",
-  xAxis = [],
-  series = [],
-  legendShow = false,
-  color = [],
-) => {
-  let option = {
-    tooltip: {
-      trigger: "axis",
-      textStyle: {
-        fontSize: 12,
-        color: "#FFFFFF"
-      },
-      // formatter(param) {
-      //   let el = `<div class="dmp-echart-tooltip"><h4>${dateType(param[0].axisValue)}</h4>`;
-      //   param.forEach(item => {
-      //     el += `<p>
-      //                   <span class="marker" style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-image: linear-gradient(to left, 
-      //                     ${item.color.colorStops[0].color}, ${item.color.colorStops[1].color});"></span>
-      //                   <span>${item.seriesName}:${item.value}</span>
-      //                 </p>`;
-      //   });
-      //   el += `</div>`;
-      //   return el;
-      // }
-    },
-    grid: {
-      top: 50,
-      left: 5,
-      bottom: 0,
-      right: 5,
-      containLabel: true
-    },
-
-    legend: {
-      show: legendShow,
-      icon: "circle",
-      x: "right", // 可设定图例在左、右、居中
-      itemWidth: 8, // 图例图形宽度
-      itemHeight: 8,
-      itemGap: 20,
-    },
-    xAxis: {
-      type: "category",
-      axisLine: {
-        show: false // 不显示坐标轴
-      },
-      axisTick: {
-        show: false // 不显示坐标轴刻度
-      },
-      axisLabel: {
-        formatter: function (params, index) {
-          return params.slice(5)
-        },
-        color: "#9B9DA5",
-        margin: 16
-      },
-      data: xAxis,
-      axisPointer: {
-        type: "shadow",
-        shadowStyle: {
-          color: {
-            type: "linear",
+    return {
+        color: {
+            type: 'linear',
             x: 0,
             y: 0,
             x2: 0,
             y2: 1,
             colorStops: [
-              {
-                offset: 0,
-                color: "rgba(31,207,245,0)" // 0% 处的颜色
-              },
-              {
-                offset: 0.8,
-                color: "rgba(31,207,245,0.15)" // 100% 处的颜色
-              },
-              {
-                offset: 0.2,
-                color: "rgba(31,207,245,0.15)" // 100% 处的颜色
-              },
-              {
-                offset: 1,
-                color: "rgba(31,207,245,0.05)"
-              }
+                {
+                    offset: 0,
+                    color: c1 // 0% 处的颜色
+                },
+                {
+                    offset: 1,
+                    color: c2 // 100% 处的颜色
+                }
             ],
             global: false // 缺省为 false
-          }
-        }
-      }
-    },
-    yAxis: {
-      type: "value",
-      splitNumber: 4,
-      axisLine: {
-        show: false
-      },
-      name: name,
-      axisTick: {
-        show: false
-      },
-      axisLabel: {
-        color: "#9B9DA5",
-        margin: 15,
-        textStyle: {
-          align: "right",
-          baseline: "middle"
-        }
-      },
-      nameLocation: "end",
-      nameTextStyle: { color: "#9B9DA5", padding: [0, 0, 0, -40] },
-      splitLine: {
-        lineStyle: {
-          type: "dotted",
-          width: 0.2
-        }
-      }
-    },
-    series: [
-      {
-        // name: "设备告警",
-        type: "line",
-        smooth: true,
-        symbol: "circle", // 实心
-        symbolSize: 1, // 设定实心点的大小
-        itemStyle: getItemStyle("#5EEDCC", "#24C3F1"),
-        data: series,
-        areaStyle: {
-          normal: {
-            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
-              {
-                offset: 0,
-                color: "rgba(36,121,253,0.1)"
-              },
-              {
-                offset: 1,
-                color: "rgba(19,194,247,0.3)"
-              }
-            ])
-          }
-        },
-        lineStyle: {
-          width: 1
         }
-      },
-    ]
+    };
+};
+export const defaultMonth = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'];
+export const defaultName = ['name1', 'name2', 'name3'];
 
-  };
-  return option;
+const defaultColor = [
+    GradualChange('#22D8FF', '#00B2FF'),
+    GradualChange('#F0646C', '#F4994E'),
+    GradualChange('#5EEDCC ', '#24C3F1'),
+    GradualChange('#7178FF', '#D2A4FF'),
+    GradualChange('#884DD2', '#DF63CC')
+];
+// 饼图
+export const ringType = (color = [], data = [], title = {}, legendFcuntion = {}) => {
+    let legendFcuntionValue = (v) => {
+        let val = '';
+        data.map((item) => {
+            if (item.name == v) {
+                if (legendFcuntion.type == '%') {
+                    val = `{a|${v}} · · · · · · {b|${parseInt((item.value / legendFcuntion.total).toFixed(2) * 100) || 0}%}`;
+                } else {
+                    val = `{a|${v}} · · · · · · {b|${item.value}}`;
+                }
+            }
+        });
+        return val;
+    };
+    return {
+        tooltip: {
+            trigger: 'item'
+        },
+        legend: {
+            orient: 'vertical',
+            right: 10,
+            top: 80,
+            itemGap: 10,
+            itemWidth: 12, // 图例图形宽度
+            itemHeight: 8,
+            type: 'scroll',
+            formatter: (v) => {
+                return legendFcuntionValue(v);
+            },
+            textStyle: {
+                rich: {
+                    a: {
+                        fontSize: 12,
+                        color: '#858892',
+                        padding: [0, 5, 0, 0]
+                    },
+                    b: {
+                        fontSize: 14,
+                        color: '#fff',
+                        padding: [0, 0, 0, 5]
+                    }
+                }
+            }
+        },
+        title,
+        color: !!color.length ? color : defaultColor,
+        series: [
+            {
+                type: 'pie',
+                radius: ['55%', '70%'],
+                avoidLabelOverlap: false,
+                center: ['25%', '50%'],
+                label: {
+                    show: false,
+                    position: 'center'
+                },
+                labelLine: {
+                    show: false
+                },
+                data: data
+            }
+        ]
+    };
 };
 
+// 折现波浪
+export const discountedWave = (name = '', xAxis = [], series = [], legendShow = false, color = []) => {
+    let option = {
+        tooltip: {
+            trigger: 'axis',
+            textStyle: {
+                fontSize: 12,
+                color: '#FFFFFF'
+            }
+            // formatter(param) {
+            //   let el = `<div class="dmp-echart-tooltip"><h4>${dateType(param[0].axisValue)}</h4>`;
+            //   param.forEach(item => {
+            //     el += `<p>
+            //                   <span class="marker" style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-image: linear-gradient(to left,
+            //                     ${item.color.colorStops[0].color}, ${item.color.colorStops[1].color});"></span>
+            //                   <span>${item.seriesName}:${item.value}</span>
+            //                 </p>`;
+            //   });
+            //   el += `</div>`;
+            //   return el;
+            // }
+        },
+        grid: {
+            top: 50,
+            left: 5,
+            bottom: 0,
+            right: 5,
+            containLabel: true
+        },
 
-//柱状日期 
-export const columnOptionsChart = (
-  name = "",
-  xAxis = [],
-  series = [],
-  color = [],
-  barWidth = 6
-) => {
-  let defaultData = [{
-    name: '', type: 'bar', data: []
-  }]
-  let defaultColor = [['#0EAEFF', '#85E9FF'], ['#F0646C', '#F4994E']]
-  let seriesConfiguration = () => {
-    let seriesData = [];
-    series.map((item, index) => {
-      seriesData.push({
-        name: item.name,
-        type: 'bar',
-        data: item.data,
-        barWidth: barWidth,
-        itemStyle: {
-          normal: {
-            barBorderRadius: [15, 15, 0, 0],
-            color: getColor(color[index] || defaultColor[index]),
-          }
+        legend: {
+            show: legendShow,
+            icon: 'circle',
+            x: 'right', // 可设定图例在左、右、居中
+            itemWidth: 8, // 图例图形宽度
+            itemHeight: 8,
+            itemGap: 20
         },
-        barGap: '100%'
-      })
-    })
-    return seriesData
-  }
-  let option = {
-    tooltip: {
-      trigger: "axis",
-      axisPointer: {
-        type: "shadow",
-        shadowStyle: {
-          color: {
-            type: "linear",
-            x: 0,
-            y: 0,
-            x2: 0,
-            y2: 1,
-            colorStops: [
-              {
-                offset: 0,
-                color: "rgba(31,207,245,0)" // 0% 处的颜色
-              },
-              {
-                offset: 0.8,
-                color: "rgba(31,207,245,0.15)" // 100% 处的颜色
-              },
-              {
-                offset: 0.2,
-                color: "rgba(31,207,245,0.15)" // 100% 处的颜色
-              },
-              {
-                offset: 1,
-                color: "rgba(31,207,245,0.05)"
-              }
-            ],
-            global: false // 缺省为 false
-          }
+        xAxis: {
+            type: 'category',
+            axisLine: {
+                show: false // 不显示坐标轴
+            },
+            axisTick: {
+                show: false // 不显示坐标轴刻度
+            },
+            axisLabel: {
+                formatter: function (params, index) {
+                    return params.slice(5);
+                },
+                color: '#9B9DA5',
+                margin: 16
+            },
+            data: xAxis,
+            axisPointer: {
+                type: 'shadow',
+                shadowStyle: {
+                    color: {
+                        type: 'linear',
+                        x: 0,
+                        y: 0,
+                        x2: 0,
+                        y2: 1,
+                        colorStops: [
+                            {
+                                offset: 0,
+                                color: 'rgba(31,207,245,0)' // 0% 处的颜色
+                            },
+                            {
+                                offset: 0.8,
+                                color: 'rgba(31,207,245,0.15)' // 100% 处的颜色
+                            },
+                            {
+                                offset: 0.2,
+                                color: 'rgba(31,207,245,0.15)' // 100% 处的颜色
+                            },
+                            {
+                                offset: 1,
+                                color: 'rgba(31,207,245,0.05)'
+                            }
+                        ],
+                        global: false // 缺省为 false
+                    }
+                }
+            }
+        },
+        yAxis: {
+            type: 'value',
+            splitNumber: 4,
+            axisLine: {
+                show: false
+            },
+            name: name,
+            axisTick: {
+                show: false
+            },
+            axisLabel: {
+                color: '#9B9DA5',
+                margin: 15,
+                textStyle: {
+                    align: 'right',
+                    baseline: 'middle'
+                }
+            },
+            nameLocation: 'end',
+            nameTextStyle: { color: '#9B9DA5', padding: [0, 0, 0, -40] },
+            splitLine: {
+                lineStyle: {
+                    type: 'dotted',
+                    width: 0.2
+                }
+            }
         },
-        crossStyle: {
-          shadowBlur: 30,
-          shadowColor: "rgba(0, 0, 0, 0.5)"
+        series: [
+            {
+                // name: "设备告警",
+                type: 'line',
+                smooth: true,
+                symbol: 'circle', // 实心
+                symbolSize: 1, // 设定实心点的大小
+                itemStyle: getItemStyle('#5EEDCC', '#24C3F1'),
+                data: series,
+                areaStyle: {
+                    normal: {
+                        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                            {
+                                offset: 0,
+                                color: 'rgba(36,121,253,0.1)'
+                            },
+                            {
+                                offset: 1,
+                                color: 'rgba(19,194,247,0.3)'
+                            }
+                        ])
+                    }
+                },
+                lineStyle: {
+                    width: 1
+                }
+            }
+        ]
+    };
+    return option;
+};
+
+//柱状日期
+export const columnOptionsChart = (name = '', xAxis = [], series = [], color = [], barWidth = 6) => {
+    let defaultData = [
+        {
+            name: '',
+            type: 'bar',
+            data: []
         }
-      },
-      extraCssText:
-        "background:rgba(33,40,56,0.6);border-radius:4px;padding:6px 10px",
-      textStyle: {
-        fontSize: 12,
-        color: "#FFFFFF"
-      },
-      formatter(param) {
-        let el = `<div class="dmp-echart-tooltip" style="text-align: center;"><h4>${dateType(param[0].axisValue)}</h4>`;
-        param.forEach(item => {
-          el += `<p style="text-align: left;">
+    ];
+    let defaultColor = [
+        ['#0EAEFF', '#85E9FF'],
+        ['#F0646C', '#F4994E']
+    ];
+    let seriesConfiguration = () => {
+        let seriesData = [];
+        series.map((item, index) => {
+            seriesData.push({
+                name: item.name,
+                type: 'bar',
+                data: item.data,
+                barWidth: barWidth,
+                itemStyle: {
+                    normal: {
+                        barBorderRadius: [15, 15, 0, 0],
+                        color: getColor(color[index] || defaultColor[index])
+                    }
+                },
+                barGap: '100%'
+            });
+        });
+        return seriesData;
+    };
+    let option = {
+        tooltip: {
+            trigger: 'axis',
+            axisPointer: {
+                type: 'shadow',
+                shadowStyle: {
+                    color: {
+                        type: 'linear',
+                        x: 0,
+                        y: 0,
+                        x2: 0,
+                        y2: 1,
+                        colorStops: [
+                            {
+                                offset: 0,
+                                color: 'rgba(31,207,245,0)' // 0% 处的颜色
+                            },
+                            {
+                                offset: 0.8,
+                                color: 'rgba(31,207,245,0.15)' // 100% 处的颜色
+                            },
+                            {
+                                offset: 0.2,
+                                color: 'rgba(31,207,245,0.15)' // 100% 处的颜色
+                            },
+                            {
+                                offset: 1,
+                                color: 'rgba(31,207,245,0.05)'
+                            }
+                        ],
+                        global: false // 缺省为 false
+                    }
+                },
+                crossStyle: {
+                    shadowBlur: 30,
+                    shadowColor: 'rgba(0, 0, 0, 0.5)'
+                }
+            },
+            extraCssText: 'background:rgba(33,40,56,0.6);border-radius:4px;padding:6px 10px',
+            textStyle: {
+                fontSize: 12,
+                color: '#FFFFFF'
+            },
+            formatter(param) {
+                let el = `<div class="dmp-echart-tooltip" style="text-align: center;"><h4>${dateType(param[0].axisValue)}</h4>`;
+                param.forEach((item) => {
+                    el += `<p style="text-align: left;">
           <span style="display:inline-block;margin-right:5px;border-radius:4px;width:12px;height:8px;background-image: linear-gradient(to left, 
             ${item.color.colorStops[0].color}, ${item.color.colorStops[1].color})"></span>
                         <span>${item.seriesName}:${item.value.toFixed(2)}</span>
                       </p>`;
-        });
-        el += `</div>`;
-        return el;
-      }
-    },
-    grid: {
-      top: 50,
-      left: 0,
-      bottom: 0,
-      right: 0,
-      containLabel: true
-    },
-    xAxis: {
-      type: "category",
-      axisLine: {
-        show: false // 不显示坐标轴
-      },
-      axisTick: {
-        show: false // 不显示坐标轴刻度
-      },
-      axisLabel: {
-        formatter: function (params, index) {
-          if (params.length == 2) {
-            return params + '月';
-          } else {
-            return params.slice(5) + '月';
-          }
-
+                });
+                el += `</div>`;
+                return el;
+            }
         },
-        color: "#9B9DA5",
-        margin: 15
-      },
-      data: !!xAxis.length ? xAxis : defaultMonth
-    },
-    yAxis: {
-      type: "value",
-      splitNumber: 4,
-      name: name,
-      axisLine: {
-        show: false
-      },
-      axisTick: {
-        show: false
-      },
-      axisLabel: {
-        color: "#9B9DA5",
-        margin: 15,
-        textStyle: {
-          align: "right",
-          baseline: "middle"
-        }
-      },
-      nameLocation: "end",
-      nameTextStyle: { color: "#9B9DA5", padding: [0, 0, 0, -40] },
-      splitLine: {
-        lineStyle: {
-          type: "dotted",
-          width: 0.5
-        }
-      }
-    },
-    legend: {
-      show: false,
-      x: 'right',
-      icon: "circle",
-      itemWidth: 8, // 图例图形宽度
-      itemHeight: 8,
-      itemGap: 20
-    },
-    series: seriesConfiguration() || defaultData
-  };
-  return option;
-}
-
-//柱状name  单柱状
-export const columnOptionsChartName = (
-  name = "",
-  xAxis = [],
-  series = [],
-  color = [],
-  barWidth = 6
-) => {
-  let defaultData = [{
-    name: '', type: 'bar', data: []
-  }]
-  let defaultColor = [['#0EAEFF', '#85E9FF'], ['#F0646C', '#F4994E']]
-  let seriesConfiguration = () => {
-    let seriesData = [
-      {
-        type: 'bar',
-        data: [],
-        barWidth: barWidth,
-        itemStyle: {
-          normal: {
-            barBorderRadius: [15, 15, 0, 0],
-            color: getColor(color[0] || defaultColor[0]),
-          }
+        grid: {
+            top: 50,
+            left: 0,
+            bottom: 0,
+            right: 0,
+            containLabel: true
         },
-        barGap: '100%'
-      }
-    ];
-    series.map((item, index) => {
-      seriesData[0].data.push(item.data)
-    })
-    return seriesData
-  }
-  let option = {
-    tooltip: {
-      trigger: "axis",
-      axisPointer: {
-        type: "shadow",
-        shadowStyle: {
-          color: {
-            type: "linear",
-            x: 0,
-            y: 0,
-            x2: 0,
-            y2: 1,
-            colorStops: [
-              {
-                offset: 0,
-                color: "rgba(31,207,245,0)" // 0% 处的颜色
-              },
-              {
-                offset: 0.8,
-                color: "rgba(31,207,245,0.15)" // 100% 处的颜色
-              },
-              {
-                offset: 0.2,
-                color: "rgba(31,207,245,0.15)" // 100% 处的颜色
-              },
-              {
-                offset: 1,
-                color: "rgba(31,207,245,0.05)"
-              }
-            ],
-            global: false // 缺省为 false
-          }
+        xAxis: {
+            type: 'category',
+            axisLine: {
+                show: false // 不显示坐标轴
+            },
+            axisTick: {
+                show: false // 不显示坐标轴刻度
+            },
+            axisLabel: {
+                formatter: function (params, index) {
+                    if (params.length == 2) {
+                        return params + '月';
+                    } else {
+                        return params.slice(5) + '月';
+                    }
+                },
+                color: '#9B9DA5',
+                margin: 15
+            },
+            data: !!xAxis.length ? xAxis : defaultMonth
+        },
+        yAxis: {
+            type: 'value',
+            splitNumber: 4,
+            name: name,
+            axisLine: {
+                show: false
+            },
+            axisTick: {
+                show: false
+            },
+            axisLabel: {
+                color: '#9B9DA5',
+                margin: 15,
+                textStyle: {
+                    align: 'right',
+                    baseline: 'middle'
+                }
+            },
+            nameLocation: 'end',
+            nameTextStyle: { color: '#9B9DA5', padding: [0, 0, 0, -40] },
+            splitLine: {
+                lineStyle: {
+                    type: 'dotted',
+                    width: 0.5
+                }
+            }
+        },
+        legend: {
+            show: false,
+            x: 'right',
+            icon: 'circle',
+            itemWidth: 8, // 图例图形宽度
+            itemHeight: 8,
+            itemGap: 20
         },
-        crossStyle: {
-          shadowBlur: 30,
-          shadowColor: "rgba(0, 0, 0, 0.5)"
+        series: seriesConfiguration() || defaultData
+    };
+    return option;
+};
+
+//柱状name  单柱状
+export const columnOptionsChartName = (name = '', xAxis = [], series = [], color = [], barWidth = 6) => {
+    let defaultData = [
+        {
+            name: '',
+            type: 'bar',
+            data: []
         }
-      },
-      extraCssText:
-        "background:rgba(33,40,56,0.6);border-radius:4px;padding:6px 10px",
-      textStyle: {
-        fontSize: 12,
-        color: "#FFFFFF"
-      },
-      formatter(param) {
-        let el = ``;
-        param.forEach(item => {
-          el += `<p style="text-align: left;">
+    ];
+    let defaultColor = [
+        ['#0EAEFF', '#85E9FF'],
+        ['#F0646C', '#F4994E']
+    ];
+    let seriesConfiguration = () => {
+        let seriesData = [
+            {
+                type: 'bar',
+                data: [],
+                barWidth: barWidth,
+                itemStyle: {
+                    normal: {
+                        barBorderRadius: [15, 15, 0, 0],
+                        color: getColor(color[0] || defaultColor[0])
+                    }
+                },
+                barGap: '100%'
+            }
+        ];
+        series.map((item, index) => {
+            seriesData[0].data.push(item.data);
+        });
+        return seriesData;
+    };
+    let option = {
+        tooltip: {
+            trigger: 'axis',
+            axisPointer: {
+                type: 'shadow',
+                shadowStyle: {
+                    color: {
+                        type: 'linear',
+                        x: 0,
+                        y: 0,
+                        x2: 0,
+                        y2: 1,
+                        colorStops: [
+                            {
+                                offset: 0,
+                                color: 'rgba(31,207,245,0)' // 0% 处的颜色
+                            },
+                            {
+                                offset: 0.8,
+                                color: 'rgba(31,207,245,0.15)' // 100% 处的颜色
+                            },
+                            {
+                                offset: 0.2,
+                                color: 'rgba(31,207,245,0.15)' // 100% 处的颜色
+                            },
+                            {
+                                offset: 1,
+                                color: 'rgba(31,207,245,0.05)'
+                            }
+                        ],
+                        global: false // 缺省为 false
+                    }
+                },
+                crossStyle: {
+                    shadowBlur: 30,
+                    shadowColor: 'rgba(0, 0, 0, 0.5)'
+                }
+            },
+            extraCssText: 'background:rgba(33,40,56,0.6);border-radius:4px;padding:6px 10px',
+            textStyle: {
+                fontSize: 12,
+                color: '#FFFFFF'
+            },
+            formatter(param) {
+                let el = ``;
+                param.forEach((item) => {
+                    el += `<p style="text-align: left;">
           <span style="display:inline-block;margin-right:5px;border-radius:4px;width:12px;height:8px;background-image: linear-gradient(to left, 
             ${item.color.colorStops[0].color}, ${item.color.colorStops[1].color})"></span>
                         <span>${item.name}:${item.value}${name}</span>
                       </p>`;
-        });
-        el += ``;
-        return el;
-      }
-    },
-    grid: {
-      top: 50,
-      left: 0,
-      bottom: 0,
-      right: 0,
-      containLabel: true
-    },
-    xAxis: {
-      type: "category",
-      axisLine: {
-        show: false // 不显示坐标轴
-      },
-      axisTick: {
-        show: false // 不显示坐标轴刻度
-      },
-      axisLabel: {
-        formatter: function (params, index) {
-          return params
+                });
+                el += ``;
+                return el;
+            }
         },
-        color: "#9B9DA5",
-        margin: 15
-      },
-      data: !!xAxis.length ? xAxis : defaultName
-    },
-    yAxis: {
-      type: "value",
-      splitNumber: 4,
-      name: name,
-      axisLine: {
-        show: false
-      },
-      axisTick: {
-        show: false
-      },
-      axisLabel: {
-        color: "#9B9DA5",
-        margin: 15,
-        textStyle: {
-          align: "right",
-          baseline: "middle"
-        }
-      },
-      nameLocation: "end",
-      nameTextStyle: { color: "#9B9DA5", padding: [0, 0, 0, -40] },
-      splitLine: {
-        lineStyle: {
-          type: "dotted",
-          width: 0.5
-        }
-      }
-    },
-    legend: {
-      show: false,
-      x: 'right',
-      icon: "circle",
-      itemWidth: 8, // 图例图形宽度
-      itemHeight: 8,
-      itemGap: 20
-    },
-    series: seriesConfiguration() || defaultData
-  };
-  return option;
-}
+        grid: {
+            top: 50,
+            left: 0,
+            bottom: 0,
+            right: 0,
+            containLabel: true
+        },
+        xAxis: {
+            type: 'category',
+            axisLine: {
+                show: false // 不显示坐标轴
+            },
+            axisTick: {
+                show: false // 不显示坐标轴刻度
+            },
+            axisLabel: {
+                formatter: function (params, index) {
+                    return params;
+                },
+                color: '#9B9DA5',
+                margin: 15
+            },
+            data: !!xAxis.length ? xAxis : defaultName
+        },
+        yAxis: {
+            type: 'value',
+            splitNumber: 4,
+            name: name,
+            axisLine: {
+                show: false
+            },
+            axisTick: {
+                show: false
+            },
+            axisLabel: {
+                color: '#9B9DA5',
+                margin: 15,
+                textStyle: {
+                    align: 'right',
+                    baseline: 'middle'
+                }
+            },
+            nameLocation: 'end',
+            nameTextStyle: { color: '#9B9DA5', padding: [0, 0, 0, -40] },
+            splitLine: {
+                lineStyle: {
+                    type: 'dotted',
+                    width: 0.5
+                }
+            }
+        },
+        legend: {
+            show: false,
+            x: 'right',
+            icon: 'circle',
+            itemWidth: 8, // 图例图形宽度
+            itemHeight: 8,
+            itemGap: 20
+        },
+        series: seriesConfiguration() || defaultData
+    };
+    return option;
+};

+ 86 - 0
operationSupport/src/views/newWorkBench/components/workbenchMent/patrolPersonnel.vue

@@ -0,0 +1,86 @@
+<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"
+            v-model="date"
+            type="year"
+            placeholder="选择年"
+            class="saveColumn-select"
+            :clearable="false"
+          >
+            <!-- @change="changeTime" -->
+          </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 { columnOptionsChart } from './indexOptionChart';
+import permissionComponent from './permissionComponent';
+let dataArr = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
+export default {
+  mixins: [permissionComponent],
+  data () {
+    return {
+      mixins_query: {
+        communityId: '',
+        date: '',
+        type: ''
+      },
+      date: '',
+      clientOptions: columnOptionsChart('(个)', [], [{ data: dataArr, name: '巡更人员任务执行情况' }], [], 10)
+    };
+  },
+  methods: {
+    getData () {
+      this.$http.get('/sc-community/statisticServiceTrends', this.mixins_query).then(({ data, msg, status }) => {
+        if (status == 0 && !!data) {
+          let timeDay = [],
+            datas = [];
+          data.map((item) => {
+            timeDay.push(item.date);
+            datas.push(item.data);
+          });
+          this.clientOptions = columnOptionsChart('(分)', timeDay, [{ data: datas, name: '巡更人员任务执行情况' }], [], 10);
+        }
+      });
+    },
+    changeTime (v) {
+      this.mixins_query.date = v + '-01-01';
+      this.getData();
+    }
+  },
+  created () {
+    this.date = this.$moment().format('YYYY');
+    this.mixins_query.date = this.$moment().format('YYYY') + '-01-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>

+ 295 - 280
operationSupport/src/views/newWorkBench/template/leftAssembly.vue

@@ -1,292 +1,307 @@
 <template>
-    <div class="leftAssembly">
-        <el-select v-model="componentsValue" @change="changeSelect" class="saveColumn-select">
-            <el-option v-for="(item, index) in componentsSelect" :key="index" :label="item.lable" :value="item.model_id"></el-option>
-        </el-select>
-        <div class="componentsBlock">
-            <div
-                class="moveBlock"
-                :data-id="item.data_id"
-                v-for="(item, index) in putCompArr"
-                :key="index"
-                draggable
-                @dragstart="dragstart($event, item)"
-                @dragend="dragend($event)"
-                @drag="drag($event)"
-            >
-                <div class="moveBlock_titles">{{ item.title }}</div>
-                <div class="moveBlock_img">
-                    <img :src="item.imgPng" :alt="item.title" />
-                </div>
-                <div class="moveBlock_icon">
-                    <img :src="item.imgIcon" :alt="item.title" />
-                </div>
-            </div>
+  <div class="leftAssembly">
+    <el-select
+      v-model="componentsValue"
+      @change="changeSelect"
+      class="saveColumn-select"
+    >
+      <el-option
+        v-for="(item, index) in componentsSelect"
+        :key="index"
+        :label="item.lable"
+        :value="item.model_id"
+      ></el-option>
+    </el-select>
+    <div class="componentsBlock">
+      <div
+        class="moveBlock"
+        :data-id="item.data_id"
+        v-for="(item, index) in putCompArr"
+        :key="index"
+        draggable
+        @dragstart="dragstart($event, item)"
+        @dragend="dragend($event)"
+        @drag="drag($event)"
+      >
+        <div class="moveBlock_titles">{{ item.title }}</div>
+        <div class="moveBlock_img">
+          <img
+            :src="item.imgPng"
+            :alt="item.title"
+          />
         </div>
+        <div class="moveBlock_icon">
+          <img
+            :src="item.imgIcon"
+            :alt="item.title"
+          />
+        </div>
+      </div>
     </div>
+  </div>
 </template>
 <script>
 export default {
-    data() {
-        return {
-            componentsSelect: [
-                {
-                    model_id: 0,
-                    lable: '全部'
-                },
-                {
-                    model_id: 1,
-                    lable: '房产管理'
-                },
-                {
-                    model_id: 2,
-                    lable: '住户管理'
-                },
-                {
-                    model_id: 3,
-                    lable: '收费管理'
-                },
-                {
-                    model_id: 4,
-                    lable: '设备管理'
-                },
-                {
-                    model_id: 5,
-                    lable: '告警管理'
-                },
-                {
-                    model_id: 6,
-                    lable: '运维工单'
-                },
-                {
-                    model_id: 7,
-                    lable: '设备巡检'
-                },
-                {
-                    model_id: 8,
-                    lable: '安保巡更'
-                },
-                {
-                    model_id: 9,
-                    lable: '客服服务'
-                },
-                {
-                    model_id: 10,
-                    lable: '商业管理'
-                },
-                {
-                    model_id: 11,
-                    lable: '社区运营'
-                },
-                {
-                    model_id: 12,
-                    lable: '绩效管理'
-                },
-                {
-                    model_id: 13,
-                    lable: '流程管理'
-                }
-            ],
-            componentsArrar: [
-                {
-                    data_id: 1,
-                    title: '高德地图',
-                    type: 0,
-                    imgPng: require('@assets/img/formulation/img_ditu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_4x@2x.png')
-                },
-                {
-                    data_id: 2,
-                    type: 9,
-                    title: '投诉建议',
-                    imgPng: require('@assets/img/formulation/img_bingzhuangtu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
-                },
-                {
-                    data_id: 3,
-                    type: 0,
-                    title: '常用功能',
-                    imgPng: require('@assets/img/formulation/img_changyonggongneng@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
-                },
-                {
-                    data_id: 4,
-                    title: '服务满意度趋势',
-                    type: 9,
-                    imgPng: require('@assets/img/formulation/img_zhuzhuangtu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 5,
-                    title: '设备告警趋势',
-                    type: 5,
-                    imgPng: require('@assets/img/formulation/img_zhexiantu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 6,
-                    title: '房屋租售率',
-                    type: 10,
-                    imgPng: require('@assets/img/formulation/img_bing+baifenbi@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
-                },
-                {
-                    data_id: 7,
-                    title: '收款率分析',
-                    type: 3,
-                    imgPng: require('@assets/img/formulation/img_bing+baifenbi@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
-                },
-
-                {
-                    data_id: 8,
-                    title: '住户性别占比',
-                    type: 2,
-                    imgPng: require('@assets/img/formulation/img_bingzhuangtu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
-                },
-                {
-                    data_id: 9,
-                    title: '住户身份占比',
-                    type: 2,
-                    imgPng: require('@assets/img/formulation/img_bingzhuangtu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
-                },
-                {
-                    data_id: 10,
-                    title: '设备设施统计',
-                    type: 4,
-                    imgPng: require('@assets/img/formulation/img_zhuzhuangtu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 11,
-                    title: '业主审批',
-                    type: 2,
-                    imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 12,
-                    title: '待处理投诉',
-                    type: 9,
-                    imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 13,
-                    title: '投诉建议数量趋势',
-                    type: 9,
-                    imgPng: require('@assets/img/formulation/img_zhexiantu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 14,
-                    title: '巡更人员任务执行时长',
-                    type: 8,
-                    imgPng: require('@assets/img/formulation/img_zhuzhuangtu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 15,
-                    title: '社区公告',
-                    type: 9,
-                    imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 16,
-                    title: '运维人员评分',
-                    type: 12,
-                    imgPng: require('@assets/img/formulation/img_zhuzhuangtu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 17,
-                    title: '待收款账单',
-                    type: 3,
-                    imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 18,
-                    title: '合同签约',
-                    type: 10,
-                    imgPng: require('@assets/img/formulation/img_zhexiantu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 19,
-                    title: '待分派工单',
-                    type: 6,
-                    imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 20,
-                    title: '巡检任务类型分布',
-                    type: 7,
-                    imgPng: require('@assets/img/formulation/img_bingzhuangtu@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 21,
-                    title: '设备告警信息',
-                    type: 5,
-                    imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
-                },
-                {
-                    data_id: 22,
-                    title: '社区总体情况统计',
-                    type: 1,
-                    imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
-                },
-                {
-                    data_id: 23,
-                    title: '本月房屋点击排名前十',
-                    type: 1,
-                    imgPng: require('@assets/img/formulation/img_tongji@2x.png'),
-                    imgIcon: require('@assets/img/formulation/tag_4x@2x.png')
-                },
-                
-            ],
-            componentsValue: 0
-        };
-    },
-    computed: {
-        putCompArr() {
-            let newArr = [];
-            if (this.componentsValue == 0) {
-                return this.componentsArrar;
-            } else {
-                this.componentsArrar.map((item) => {
-                    if (this.componentsValue == item.type) {
-                        newArr.push(item);
-                    }
-                });
-            }
-            return newArr;
+  data () {
+    return {
+      componentsSelect: [
+        {
+          model_id: 0,
+          lable: '全部'
+        },
+        {
+          model_id: 1,
+          lable: '房产管理'
+        },
+        {
+          model_id: 2,
+          lable: '住户管理'
+        },
+        {
+          model_id: 3,
+          lable: '收费管理'
+        },
+        {
+          model_id: 4,
+          lable: '设备管理'
+        },
+        {
+          model_id: 5,
+          lable: '告警管理'
+        },
+        {
+          model_id: 6,
+          lable: '运维工单'
+        },
+        {
+          model_id: 7,
+          lable: '设备巡检'
+        },
+        {
+          model_id: 8,
+          lable: '安保巡更'
+        },
+        {
+          model_id: 9,
+          lable: '客服服务'
+        },
+        {
+          model_id: 10,
+          lable: '商业管理'
+        },
+        {
+          model_id: 11,
+          lable: '社区运营'
+        },
+        {
+          model_id: 12,
+          lable: '绩效管理'
+        },
+        {
+          model_id: 13,
+          lable: '流程管理'
         }
+      ],
+      componentsArrar: [
+        {
+          data_id: 1,
+          title: '高德地图',
+          type: 0,
+          imgPng: require('@assets/img/formulation/img_ditu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_4x@2x.png')
+        },
+        {
+          data_id: 2,
+          type: 9,
+          title: '投诉建议',
+          imgPng: require('@assets/img/formulation/img_bingzhuangtu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
+        },
+        {
+          data_id: 3,
+          type: 0,
+          title: '常用功能',
+          imgPng: require('@assets/img/formulation/img_changyonggongneng@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
+        },
+        {
+          data_id: 4,
+          title: '服务满意度趋势',
+          type: 9,
+          imgPng: require('@assets/img/formulation/img_zhuzhuangtu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 5,
+          title: '设备告警趋势',
+          type: 5,
+          imgPng: require('@assets/img/formulation/img_zhexiantu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 6,
+          title: '房屋租售率',
+          type: 10,
+          imgPng: require('@assets/img/formulation/img_bing+baifenbi@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
+        },
+        {
+          data_id: 7,
+          title: '收款率分析',
+          type: 3,
+          imgPng: require('@assets/img/formulation/img_bing+baifenbi@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
+        },
+
+        {
+          data_id: 8,
+          title: '住户性别占比',
+          type: 2,
+          imgPng: require('@assets/img/formulation/img_bingzhuangtu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
+        },
+        {
+          data_id: 9,
+          title: '住户身份占比',
+          type: 2,
+          imgPng: require('@assets/img/formulation/img_bingzhuangtu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
+        },
+        {
+          data_id: 10,
+          title: '设备设施统计',
+          type: 4,
+          imgPng: require('@assets/img/formulation/img_zhuzhuangtu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 11,
+          title: '业主审批',
+          type: 2,
+          imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 12,
+          title: '待处理投诉',
+          type: 9,
+          imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 13,
+          title: '投诉建议数量趋势',
+          type: 9,
+          imgPng: require('@assets/img/formulation/img_zhexiantu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 14,
+          title: '巡更人员任务执行时长',
+          type: 8,
+          imgPng: require('@assets/img/formulation/img_zhuzhuangtu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 15,
+          title: '社区公告',
+          type: 9,
+          imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 16,
+          title: '运维人员评分',
+          type: 12,
+          imgPng: require('@assets/img/formulation/img_zhuzhuangtu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 17,
+          title: '待收款账单',
+          type: 3,
+          imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 18,
+          title: '合同签约',
+          type: 10,
+          imgPng: require('@assets/img/formulation/img_zhexiantu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 19,
+          title: '待分派工单',
+          type: 6,
+          imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 20,
+          title: '巡检任务类型分布',
+          type: 7,
+          imgPng: require('@assets/img/formulation/img_bingzhuangtu@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 21,
+          title: '设备告警信息',
+          type: 5,
+          imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_2x@2x.png')
+        },
+        {
+          data_id: 22,
+          title: '社区总体情况统计',
+          type: 1,
+          imgPng: require('@assets/img/formulation/img_liebiao@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_1x@2x.png')
+        },
+        {
+          data_id: 23,
+          title: '本月房屋点击排名前十',
+          type: 1,
+          imgPng: require('@assets/img/formulation/img_tongji@2x.png'),
+          imgIcon: require('@assets/img/formulation/tag_4x@2x.png')
+        },
+
+      ],
+      componentsValue: 0
+    };
+  },
+  computed: {
+    putCompArr () {
+      let newArr = [];
+      if (this.componentsValue == 0) {
+        return this.componentsArrar;
+      } else {
+        this.componentsArrar.map((item) => {
+          if (this.componentsValue == item.type) {
+            newArr.push(item);
+          }
+        });
+      }
+      return newArr;
+    }
+  },
+  watch: {},
+  methods: {
+    dragstart (e, item) {
+      //拖拽开始时将item存入vuex
+      this.$store.commit('setDragItem', item);
     },
-    watch: {},
-    methods: {
-        dragstart(e, item) {
-            //拖拽开始时将item存入vuex
-            this.$store.commit('setDragItem', item);
-        },
-        drag(e) {
-            //拖拽中执行的事件
-            // console.log('drag',e)s
-        },
-        dragend(e) {
-            //拖拽结束执行的事件
-            // console.log('dragend', e);
-        }
+    drag (e) {
+      //拖拽中执行的事件
+      // console.log('drag',e)s
     },
-    destroyed() {},
-    created() {}
+    dragend (e) {
+      //拖拽结束执行的事件
+      // console.log('dragend', e);
+    }
+  },
+  destroyed () { },
+  created () { }
 };
 </script>
 <style lang="scss" scoped>

+ 1 - 1
smart/src/views/parkingSpaceManagement/parkingSpaceList.vue

@@ -68,7 +68,7 @@
                 <xk-upload
                   class="upload_class"
                   @callback="mixins_search"
-                  :params="{ importType: 'RESIDENT' }"
+                  :params="{ importType: 'PARKING' }"
                 >
                   <span slot="content">批量添加</span>
                 </xk-upload>

+ 1 - 1
smart/src/views/temporaryStopCharge/index.js

@@ -59,7 +59,7 @@ export default {
                     label: '支付总额(元)',
                     prop: 'amount',
                     format(val) {
-                        return val.toFixed(2);
+                        return (Number(val) / 100).toFixed(2);
                     }
                 },
                 {

+ 7 - 6
smart/src/views/temporaryStopCharge/setpPage/details.vue

@@ -65,7 +65,7 @@ export default {
           name: '抵扣金额(元)',//  deductionAmount  3
           label: ''
         }, {
-          name: '抵扣时长',//freeTime  4
+          name: '抵扣时长(分钟)',//freeTime  4
           label: ''
         },
         {
@@ -107,12 +107,13 @@ export default {
   created () {
 
     console.log(this.params.row);
-    this.cols[0].label = this.params.row.totalAmout || '--';
-    this.cols[1].label = this.params.row.amount || '--';
+    this.cols[0].label = (Number(this.params.row.totalAmout) / 100) || '--';
+    this.cols[1].label = (Number(this.params.row.amount) / 100) || '--';
+
+    this.cols[2].label = (Number(this.params.row.freeMoney) / 100) || '--';
+    this.cols[3].label = (Number(this.params.row.deductionAmount) / 100) || '--';
+    this.cols[4].label = (Number(this.params.row.freeTime) / 60) || '--';
 
-    this.cols[2].label = this.params.row.freeMoney || '--';
-    this.cols[3].label = this.params.row.deductionAmount || '--';
-    this.cols[4].label = this.params.row.freeTime || '--';
     this.cols[5].label = this.params.row.payMethod == 1 ? '微信' : this.params.row.payMethod == 2 ? '支付宝' : this.params.row.payMethod == 3 ? '现金' : this.params.row.payMethod == 4 ? '预存' : '其他' || '--';
 
     this.cols[8].label = this.params.row.chargePeople || '--';