浏览代码

绩效问题

Shannon_mu 3 年之前
父节点
当前提交
9b6d00943a
共有 31 个文件被更改,包括 547 次插入379 次删除
  1. 4 6
      operationSupport/src/assets/css/main.scss
  2. 150 0
      operationSupport/src/components/common/datepickerQuarter.vue
  3. 3 1
      operationSupport/src/components/common/index.js
  4. 4 2
      operationSupport/src/views/alarmManagement/index.vue
  5. 2 2
      operationSupport/src/views/assetManagement/housingManagement/index.vue
  6. 2 2
      operationSupport/src/views/assetManagement/shopManagement/index.vue
  7. 1 1
      operationSupport/src/views/buildingManagement/index.vue
  8. 1 1
      operationSupport/src/views/communityManagement/index.vue
  9. 1 1
      operationSupport/src/views/communityoperation/advertisingManagement/index.vue
  10. 4 4
      operationSupport/src/views/deviceManagement/index.vue
  11. 4 4
      operationSupport/src/views/deviceManagement/indexFacilities.vue
  12. 2 2
      operationSupport/src/views/deviceManagement/indexType.vue
  13. 1 1
      operationSupport/src/views/flow/index.vue
  14. 5 1
      operationSupport/src/views/newWorkBench/components/collectionRate.vue
  15. 2 2
      operationSupport/src/views/ownerManagement/index.vue
  16. 1 4
      operationSupport/src/views/parkingLotAdministration/parkingSpaceList.vue
  17. 1 1
      operationSupport/src/views/payService/billingRules/index.vue
  18. 2 2
      operationSupport/src/views/payService/collection/index.vue
  19. 5 5
      operationSupport/src/views/payService/statisticalReport/receivableStatistics.vue
  20. 20 27
      operationSupport/src/views/performanceManagement/evaluationSet/cycleSetting/cycleSetting.vue
  21. 1 1
      operationSupport/src/views/performanceManagement/evaluationSet/cycleSetting/popups/AddOrEdit.vue
  22. 19 26
      operationSupport/src/views/performanceManagement/evaluationSet/itemSettings/itemSetting.vue
  23. 1 1
      operationSupport/src/views/performanceManagement/evaluationSet/itemSettings/popups/itemAddOrEdit.vue
  24. 82 28
      operationSupport/src/views/performanceManagement/evaluationSet/levelSetting/levelSetting.vue
  25. 1 1
      operationSupport/src/views/performanceManagement/evaluationSet/levelSetting/popups/levelAddOrEdit.vue
  26. 69 88
      operationSupport/src/views/performanceManagement/performanceEvaluation/index.vue
  27. 1 3
      operationSupport/src/views/performanceManagement/performanceEvaluation/popups/evaluationEdit.vue
  28. 78 78
      operationSupport/src/views/performanceManagement/performanceStatistics/components/kpiAnalysis.vue
  29. 77 77
      operationSupport/src/views/performanceManagement/performanceStatistics/components/kpiStatistics.vue
  30. 2 4
      operationSupport/src/views/performanceManagement/performanceStatistics/index.vue
  31. 1 3
      operationSupport/src/views/system/popups/mapmarkgis.vue

+ 4 - 6
operationSupport/src/assets/css/main.scss

@@ -485,7 +485,7 @@ a {
     color: $mainTextColor;
 }
 .el-menu--collapse {
-    .el-submenu__title{
+    .el-submenu__title {
         padding: 0 10px !important;
     }
     .el-menu-item {
@@ -721,7 +721,9 @@ a {
 }
 .search .search-icon {
     float: right;
-    i.iconfont {
+    i.iconfont,
+    span.iconfont,
+    span.zoniot_font {
         margin-right: 20px;
         @include searchTextBotton;
     }
@@ -731,10 +733,6 @@ a {
         line-height: inherit;
         @include searchTextBotton;
     }
-    span.iconfont {
-        margin-right: 20px;
-        @include searchTextBotton;
-    }
     i:last-child {
         margin-right: 0;
     }

+ 150 - 0
operationSupport/src/components/common/datepickerQuarter.vue

@@ -0,0 +1,150 @@
+<!--
+ * @Description: 
+ * @Date: 2021-05-08 14:51:24
+ * @LastEditTime: 2021-05-13 17:07:37
+ * @FilePath: \WEB\maintenanceManagement\src\components\common\datepickerQuarter.vue
+
+ * @file:  View 组件 季节选择控件
+ * @author: v_zhuchun
+ * @date: 2019-05-23
+ * @description: UI组件  可选择季节
+ * @api: valueArr : 季度value defalut['01-03', '04-06', '07-09', '10-12'] 默认值待设置
+-->
+<template>
+<div class="datepicker-quarter">
+<mark
+  style="position:fixed;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,0);z-index:999;"
+  v-show="showSeason"
+  @click.stop="showSeason=false"
+></mark>
+<el-input placeholder="请选择季度" v-model="showValue" @focus="showSeason=true">
+  <i slot="prefix" class="el-input__icon el-icon-date"></i>
+</el-input>
+<el-card
+  class="box-card"
+  style="width:322px;padding: 0 3px 20px;margin-top:10px;position:fixed;z-index:9999"
+  v-show="showSeason"
+>
+  <div slot="header" class="clearfix" style="text-align:center;padding:0">
+    <button
+      type="button"
+      aria-label="前一年"
+      class="el-picker-panel__icon-btn el-date-picker__prev-btn el-icon-d-arrow-left"
+      @click="prev"
+    ></button>
+    <span role="button" class="el-date-picker__header-label">{{year}}年</span>
+    <button
+      type="button"
+      aria-label="后一年"
+      @click="next"
+      class="el-picker-panel__icon-btn el-date-picker__next-btn el-icon-d-arrow-right"
+    ></button>
+  </div>
+  <div class="text item" style="text-align:center;">
+    <el-button
+      type="text"
+      size="medium"
+      style="width:40%;color: #606266;float:left;"
+      @click="selectSeason(0)"
+    >一季度</el-button>
+    <el-button
+      type="text"
+      size="medium"
+      style="float:right;width:40%;color: #606266;"
+      @click="selectSeason(1)"
+    >二季度</el-button>
+  </div>
+  <div class="text item" style="text-align:center;">
+    <el-button
+      type="text"
+      size="medium"
+      style="width:40%;color: #606266;float:left;"
+      @click="selectSeason(2)"
+    >三季度</el-button>
+    <el-button
+      type="text"
+      size="medium"
+      style="float:right;width:40%;color: #606266;"
+      @click="selectSeason(3)"
+    >四季度</el-button>
+  </div>
+</el-card>
+</div>
+</template>
+<script>
+export default {
+  name:'datepickerQuarter',
+  props: {
+    valueArr: {
+      default: () => {
+        return ['01-03', '04-06', '07-09', '10-12']
+      },
+      type: Array
+    },
+    getValue: {
+      default: () => {},
+      type: Function
+    },
+    defaultValue: {
+      default: '',
+      type: String
+    }
+  },
+  data() {
+    return {
+      showSeason: false,
+      season: '',
+      year: new Date().getFullYear(),
+      showValue: ''
+    }
+  },
+  created() {
+    this.handleDefaultVal(this.defaultValue)
+  },
+  watch: {
+    defaultValue: function(value, oldValue) {
+      this.handleDefaultVal(value)
+    }
+  },
+  methods: {
+    handleDefaultVal(val){
+      let value = val?new Date(val):new Date();
+      this.year = value.getFullYear();
+      let mouth = value.getMonth()+1;
+      this.season = Math.ceil(mouth/3);
+      this.showValue = `${this.year}年${this.season}季度`
+      this.$emit('change-quarter',{'year':this.year,'season':this.season})
+      // return
+      // let arr = value.split('-')
+      // this.year = arr[0].slice(0, 4)
+      // let str = arr[0].slice(4, 6) + '-' + arr[1].slice(4, 6)
+      // let arrAll = this.valueArr
+      // this.showValue = `${this.year}年${arrAll.indexOf(str) + 1}季度`
+    },
+    one() {
+      this.showSeason = false
+    },
+    prev() {
+      this.year = this.year * 1 - 1
+    },
+    next() {
+      this.year = this.year * 1 + 1
+    },
+    selectSeason(i) {
+      let that = this
+      that.season = i + 1
+      let arr = that.valueArr[i].split('-')
+      that.getValue(that.year + arr[0] + '-' + that.year + arr[1])
+      that.showSeason = false
+      this.showValue = `${this.year}年${this.season}季度`
+      this.$emit('change-quarter',{'year':this.year,'season':this.season})
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+  .datepicker-quarter{
+    display: inline-block;
+  }
+</style>

+ 3 - 1
operationSupport/src/components/common/index.js

@@ -22,6 +22,7 @@ import buildingTree from './buildingTree';
 import treeHouse from './treeHouse.vue';
 import echart from "./echart";
 import workModal from './workBenchModal';
+import datepickerQuarter from './datepickerQuarter'
 // 注册全局组件
 export default {
     install() {
@@ -41,7 +42,8 @@ export default {
             buildingTree,
             treeHouse,
             echart,
-            workModal
+            workModal,
+            datepickerQuarter
         ];
         _.each(components, (v) => {
             Vue.component(v.name, v);

+ 4 - 2
operationSupport/src/views/alarmManagement/index.vue

@@ -22,7 +22,9 @@
                 >
                 </el-cascader>
                 <div class="search-icon opt" slot="right-opt">
-                    <i class="iconfont" @click="addEdit('add')" v-left-txt-tip data-txt="新增">&#xe641;</i>
+                    <el-tooltip class="item" effect="light" placement="bottom" content="新增">
+                        <i class="zoniot_font zoniot-icon-tianjia2" @click="addEdit('add')"></i>
+                    </el-tooltip>
                 </div>
             </dmp-newsearch>
         </div>
@@ -82,7 +84,7 @@ export default {
     components: {
         // detail
     },
-    name:"alarmManagement",
+    name: 'alarmManagement',
     mixins: [list],
     data() {
         return {

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

@@ -20,7 +20,7 @@
                 <div class="search-icon">
                     <template>
                         <el-dropdown type="primary" @command="addCommand">
-                            <span class="iconfont">&#xe641;</span>
+                            <span class="zoniot_font zoniot-icon-tianjia2"></span>
                             <el-dropdown-menu slot="dropdown" hide-on-click="false" class="device-search-dropdown">
                                 <el-dropdown-item command="add">单个添加</el-dropdown-item>
                                 <el-dropdown-item command="batchAdd">
@@ -35,7 +35,7 @@
                         </el-dropdown>
                     </template>
                     <el-tooltip class="item" effect="light" placement="bottom" content="删除">
-                        <i class="iconfont" @click="deluserbyidsFn">&#xe63b;</i>
+                        <i class="zoniot_font zoniot-icon-shanchu2" @click="deluserbyidsFn"></i>
                     </el-tooltip>
                     <el-tooltip class="item" effect="light" placement="bottom" content="导出">
                         <i class="zoniot_font zoniot-icon-daochu2" @click="exportExcel()"></i>

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

@@ -20,7 +20,7 @@
                 <div class="search-icon">
                     <template>
                         <el-dropdown type="primary" @command="addCommand">
-                            <span class="iconfont">&#xe641;</span>
+                            <span class="zoniot_font zoniot-icon-tianjia2"></span>
                             <el-dropdown-menu slot="dropdown" hide-on-click="false" class="device-search-dropdown">
                                 <el-dropdown-item command="add">单个添加</el-dropdown-item>
                                 <el-dropdown-item command="batchAdd">
@@ -35,7 +35,7 @@
                         </el-dropdown>
                     </template>
                     <el-tooltip class="item" effect="light" placement="bottom" content="删除">
-                        <i class="iconfont" @click="deluserbyidsFn">&#xe63b;</i>
+                        <i class="zoniot_font zoniot-icon-shanchu2" @click="deluserbyidsFn"></i>
                     </el-tooltip>
                     <el-tooltip class="item" effect="light" placement="bottom" content="导出">
                         <i class="zoniot_font zoniot-icon-daochu2" @click="exportExcel()"></i>

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

@@ -18,7 +18,7 @@
                     </el-dropdown-menu>
                 </el-dropdown> -->
                 <el-tooltip class="item" effect="light" placement="bottom" content="新增">
-                    <i class="iconfont" @click="addOrEdit('add')">&#xe641;</i>
+                    <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>
                 </el-tooltip>
                 <el-tooltip class="item" effect="light" placement="bottom" content="导出">
                     <i class="zoniot_font zoniot-icon-daochu2" @click="exportExcel()"></i>

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

@@ -14,7 +14,7 @@
                 </template>
                 <div class="search-icon opt" slot="right-opt">
                     <el-tooltip class="item" effect="light" placement="bottom" content="新增">
-                        <i class="iconfont" @click="addOrEdit('add')">&#xe641;</i>
+                        <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>
                     </el-tooltip>
                 </div>
             </dmp-newsearch>

+ 1 - 1
operationSupport/src/views/communityoperation/advertisingManagement/index.vue

@@ -16,7 +16,7 @@
                 end-placeholder="结束日期"
                 @change="effectiveDateToggle"
             ></el-date-picker>
-            <el-button type="primary" placeholder="状态" class="search-btn" @click="mixins_search" icon="el-icon-search">查询 </el-button>
+            <el-button type="primary" class="search-btn" @click="mixins_search" icon="el-icon-search">查询 </el-button>
 
             <div class="search-icon">
                 <el-tooltip class="item" effect="light" placement="bottom" content="新增">

+ 4 - 4
operationSupport/src/views/deviceManagement/index.vue

@@ -19,11 +19,8 @@
             <el-button type="primary" placeholder="状态" class="search-btn" @click="mixins_search" icon="el-icon-search">查询 </el-button>
 
             <div class="search-icon">
-                <el-tooltip class="item" effect="light" placement="bottom" content="删除">
-                    <i class="iconfont" @click="deluserbyidFn()">&#xe63b;</i>
-                </el-tooltip>
                 <el-dropdown type="primary" @command="addCommand">
-                    <span class="iconfont">&#xe641;</span>
+                    <span class="zoniot_font zoniot-icon-tianjia2"></span>
                     <el-dropdown-menu slot="dropdown" hide-on-click="false" class="device-search-dropdown">
                         <el-dropdown-item command="add">单个添加</el-dropdown-item>
                         <el-dropdown-item command="batchAdd">
@@ -36,6 +33,9 @@
                         <el-dropdown-item command="template">下载模板</el-dropdown-item>
                     </el-dropdown-menu>
                 </el-dropdown>
+                <el-tooltip class="item" effect="light" placement="bottom" content="删除">
+                    <i class="zoniot_font zoniot-icon-shanchu2" @click="deluserbyidsFn()"></i>
+                </el-tooltip>
             </div>
         </div>
         <div class="roles-wrap">

+ 4 - 4
operationSupport/src/views/deviceManagement/indexFacilities.vue

@@ -12,11 +12,8 @@
             </el-select>
             <el-button type="primary" class="search-btn" @click="mixins_search" icon="el-icon-search">查询 </el-button>
             <div class="search-icon">
-                <el-tooltip class="item" effect="light" placement="bottom" content="删除">
-                    <i class="iconfont" @click="deluserbyidFn()">&#xe63b;</i>
-                </el-tooltip>
                 <el-dropdown type="primary" @command="addCommand">
-                    <span class="iconfont">&#xe641;</span>
+                    <span class="zoniot_font zoniot-icon-tianjia2"></span>
                     <el-dropdown-menu slot="dropdown" hide-on-click="false" class="device-search-dropdown">
                         <el-dropdown-item command="add">单个添加</el-dropdown-item>
                         <el-dropdown-item command="batchAdd">
@@ -29,6 +26,9 @@
                         <el-dropdown-item command="template">下载模板</el-dropdown-item>
                     </el-dropdown-menu>
                 </el-dropdown>
+                <el-tooltip class="item" effect="light" placement="bottom" content="删除">
+                    <i class="zoniot_font zoniot-icon-shanchu2" @click="deluserbyidFn()"></i>
+                </el-tooltip>
             </div>
         </div>
         <div class="roles-wrap">

+ 2 - 2
operationSupport/src/views/deviceManagement/indexType.vue

@@ -5,7 +5,7 @@
             <el-button type="primary" class="search-btn" @click="mixins_search" icon="el-icon-search">查询 </el-button>
             <div class="search-icon">
                 <el-tooltip class="item" effect="light" placement="bottom" content="新增">
-                    <span class="iconfont" @click="addOrEdit('add')">&#xe641;</span>
+                    <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>
                 </el-tooltip>
             </div>
         </div>
@@ -39,7 +39,7 @@
 import list from '@utils/list.js';
 export default {
     mixins: [list],
-    name:"deviceManagementIndexType",
+    name: 'deviceManagementIndexType',
     data() {
         return {
             // 数据默认字段

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

@@ -18,7 +18,7 @@
 
                 <div class="search-icon">
                     <el-tooltip class="item" effect="light" placement="bottom" content="新增">
-                        <i class="iconfont" @click="addOrEdit('add')">&#xe641;</i>
+                        <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>
                     </el-tooltip>
                 </div>
             </div>

+ 5 - 1
operationSupport/src/views/newWorkBench/components/collectionRate.vue

@@ -108,13 +108,17 @@ export default {
     methods: {
         getData() {
             this.$http.get('/sc-community/statisticsCollectionRate', this.mixins_query).then(({ data, msg, status }) => {
+                let rep = /[\.]/;
                 if (status == 0 && !!data) {
                     this.dataObj = {
                         receivableAmount: data.receivableAmount || 0,
                         receivedAmount: data.receivedAmount || 0,
-                        uncollected: (data.receivableAmount - data.receivedAmount || 0).toFixed(2)
+                        uncollected: rep.test(data.receivableAmount - data.receivedAmount || 0)
+                            ? (data.receivableAmount - data.receivedAmount || 0).toFixed(2)
+                            : 0
                     };
                 } else {
+                    debugger;
                     this.dataObj = {
                         receivableAmount: 0,
                         receivedAmount: 0,

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

@@ -32,7 +32,7 @@
                 <div class="search-icon">
                     <template>
                         <el-dropdown type="primary" @command="addCommand">
-                            <span class="iconfont">&#xe641;</span>
+                            <span class="zoniot_font zoniot-icon-tianjia2"></span>
                             <el-dropdown-menu slot="dropdown" hide-on-click="false" class="device-search-dropdown">
                                 <el-dropdown-item command="add">单个添加</el-dropdown-item>
                                 <el-dropdown-item command="batchAdd">
@@ -47,7 +47,7 @@
                         </el-dropdown>
                     </template>
                     <el-tooltip class="item" effect="light" placement="bottom" content="删除">
-                        <i class="iconfont" @click="deluserbyidsFn">&#xe63b;</i>
+                        <i class="zoniot_font zoniot-icon-shanchu2" @click="deluserbyidsFn"></i>
                     </el-tooltip>
                     <el-tooltip class="item" effect="light" placement="bottom" content="导出">
                         <i class="zoniot_font zoniot-icon-daochu2" @click="exportExcel"></i>

+ 1 - 4
operationSupport/src/views/parkingLotAdministration/parkingSpaceList.vue

@@ -14,10 +14,7 @@
             <el-select v-model="mixins_query.garageId" clearable placeholder="请选择车库名称">
                 <el-option v-for="(item, index) in garageList" :label="item.label" :value="item.id" :key="index"></el-option>
             </el-select>
-            <el-button type="primary" @click="mixins_search" class="search-btn" icon="el-icon-search"
-                >查询
-                <!-- <i class="iconfont">&#xe6fc;</i> -->
-            </el-button>
+            <el-button type="primary" @click="mixins_search" class="search-btn" icon="el-icon-search">查询 </el-button>
             <div class="search-icon">
                 <el-tooltip class="item" effect="light" placement="bottom" content="新增">
                     <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>

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

@@ -16,7 +16,7 @@
             <el-button type="primary" class="search-btn" @click="mixins_search" icon="el-icon-search">查询 </el-button>
             <div class="search-icon">
                 <el-tooltip class="item" effect="light" placement="bottom" content="新增">
-                    <i class="iconfont" @click="addOrEdit('add')">&#xe641;</i>
+                    <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>
                 </el-tooltip>
             </div>
         </div>

+ 2 - 2
operationSupport/src/views/payService/collection/index.vue

@@ -14,7 +14,7 @@
                 </template>
                 <div class="search-icon opt" slot="right-opt">
                     <el-tooltip class="item" effect="light" placement="bottom" content="新增">
-                        <i class="iconfont" @click="addOrEdit('add')">&#xe641;</i>
+                        <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>
                     </el-tooltip>
                 </div>
             </dmp-newsearch>
@@ -47,7 +47,7 @@
 import list from '@utils/list.js';
 export default {
     mixins: [list],
-    name:"collection",
+    name: 'collection',
     data() {
         return {
             cols: [

+ 5 - 5
operationSupport/src/views/payService/statisticalReport/receivableStatistics.vue

@@ -37,19 +37,19 @@
                 <div>应收统计</div>
             </div>
             <div class="table-top_block blockColor">
-                <div class="number">{{ tableInsert.receivableAmount }}</div>
+                <div class="number">{{ tableInsert.receivableAmount || 0 }}</div>
                 <div>应收</div>
             </div>
             <div class="table-top_block blockColor">
-                <div class="number">{{ tableInsert.receivedAmount }}</div>
+                <div class="number">{{ tableInsert.receivedAmount || 0 }}</div>
                 <div>已收</div>
             </div>
             <div class="table-top_block blockColor">
-                <div class="number">{{ tableInsert.uncollectedAmount }}</div>
+                <div class="number">{{ tableInsert.uncollectedAmount || 0 }}</div>
                 <div>未收</div>
             </div>
             <div class="table-top_block blockColor">
-                <div class="number">{{ tableInsert.collectionRate }}</div>
+                <div class="number">{{ tableInsert.collectionRate || '0%' }}</div>
                 <div>收款率</div>
             </div>
         </div>
@@ -148,7 +148,7 @@ export default {
             });
         },
         exportExcel() {
-            this.__exportExcel('/sc-charge/charge/report/export/excel', this.mixins_query);
+            this.__exportExcel('/sc-charge/charge/report/receivable/export/excel', this.mixins_query);
         },
         effectiveDateToggle(va) {
             let arr = va;

+ 20 - 27
operationSupport/src/views/performanceManagement/evaluationSet/cycleSetting/cycleSetting.vue

@@ -8,9 +8,7 @@
 <template>
     <div class="itemSetting">
         <div class="organ-tree">
-            <el-input v-model="filterText" placeholder="请输入机构名称"
-                ><i slot="suffix" class="el-input__icon iconfont">&#xe6fc;</i></el-input
-            >
+            <el-input v-model="filterText" placeholder="请输入机构名称" suffix-icon="el-icon-search"></el-input>
             <div class="tree-style-box">
                 <el-scrollbar style="height: 100%">
                     <el-tree
@@ -39,10 +37,14 @@
                         item.dictValue
                     }}</el-option>
                 </el-select>
-                <el-button type="primary" class="search-btn" @click="mixins_search"><i class="iconfont searchbutton">&#xe6fc;</i>查询 </el-button>
+                <el-button type="primary" class="search-btn" @click="mixins_search" icon="el-icon-search">查询 </el-button>
                 <div class="search-icon">
-                    <i class="iconfont fr-fs-fc" @click="deleteAll" v-txt-tip data-txt="删除">&#xe63b;</i>
-                    <i class="iconfont fr-fs-fc" @click="addOrEdit('add')" v-left-txt-tip data-txt="新增">&#xe641;</i>
+                    <el-tooltip class="item" effect="light" placement="bottom" content="删除">
+                        <i class="zoniot_font zoniot-icon-shanchu2" @click="deleteAll"></i>
+                    </el-tooltip>
+                    <el-tooltip class="item" effect="light" placement="bottom" content="新增">
+                        <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>
+                    </el-tooltip>
                 </div>
             </div>
             <zz-table
@@ -59,15 +61,14 @@
                     <p v-else style="color: #d8d8d8">未启用</p>
                 </template>
                 <template slot-scope="scope" slot="opt">
-                    <i
-                        @click="addOrEdit('edit', scope.index)"
-                        class="iconfont"
-                        style="color: #2787f1; margin-right: 30px"
-                        v-txt-tip
-                        data-txt="编辑"
-                        >&#xe645;</i
-                    >
-                    <i @click="deleteOne(scope.row.id)" class="iconfont" style="color: #ff7272" v-txt-tip data-txt="删除">&#xe63a;</i>
+                    <div class="opt">
+                        <el-tooltip effect="light" placement="bottom" content="编辑">
+                            <i class="zoniot_font zoniot-icon-bianji" @click="addOrEdit('edit', scope.index)"></i>
+                        </el-tooltip>
+                        <el-tooltip effect="light" placement="bottom" content="删除">
+                            <i class="zoniot_font zoniot-icon-shanchu redText" @click="deleteOne(scope.row.id)"></i>
+                        </el-tooltip>
+                    </div>
                 </template>
             </zz-table>
         </div>
@@ -101,8 +102,8 @@ export default {
                 {
                     label: '考评日期',
                     prop: 'evaluationDay',
-                    format(val){
-                        return val+'日';
+                    format(val) {
+                        return val + '日';
                     }
                 },
                 {
@@ -128,7 +129,7 @@ export default {
                     row = JSON.parse(JSON.stringify(row));
                 }
                 this.$store.dispatch('openModal', {
-                    url: '/performanceManage/evaluationSet/cycleSetting/popups/AddOrEdit.vue',
+                    url: '/performanceManagement/evaluationSet/cycleSetting/popups/AddOrEdit.vue',
                     title: title,
                     width: todo == 'add' ? '950px' : '600px',
                     height: todo == 'add' ? '662px' : '550px',
@@ -182,7 +183,7 @@ export default {
             this.selectRow = val;
         },
         getOrgTreeList() {
-            this.$http.postForm('/user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
+            this.$http.postForm('/sc-user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
                 if (status === 0 && data) {
                     this.organList = data;
                     this.$nextTick().then(() => {
@@ -263,14 +264,6 @@ export default {
                     margin-right: 20px;
                 }
             }
-            .search-btn {
-                height: 30px;
-                background: #2787f1;
-                border-radius: 4px;
-                padding: 9px 8px;
-                box-sizing: border-box;
-                // line-height: 10px;
-            }
         }
     }
 }

+ 1 - 1
operationSupport/src/views/performanceManagement/evaluationSet/cycleSetting/popups/AddOrEdit.vue

@@ -107,7 +107,7 @@ export default {
             this.formData.companyOrgIds = arr;
         },
         getOrgTreeList() {
-            this.$http.postForm('/user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
+            this.$http.postForm('/sc-user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
                 if (status === 0 && data) {
                     this.organList = data;
                 }

+ 19 - 26
operationSupport/src/views/performanceManagement/evaluationSet/itemSettings/itemSetting.vue

@@ -8,9 +8,7 @@
 <template>
     <div class="itemSetting">
         <div class="organ-tree">
-            <el-input v-model="filterText" placeholder="请输入机构名称"
-                ><i slot="suffix" class="el-input__icon iconfont">&#xe6fc;</i></el-input
-            >
+            <el-input v-model="filterText" placeholder="请输入机构名称" suffix-icon="el-icon-search"></el-input>
             <div class="tree-style-box">
                 <el-scrollbar style="height: 100%">
                     <el-tree
@@ -35,10 +33,14 @@
         <div class="itemSetting-content">
             <div class="search">
                 <el-input class="search-input" v-model="mixins_query.name" placeholder="请输入考评项名称查询"></el-input>
-                <el-button type="primary" class="search-btn" @click="mixins_search"><i class="iconfont searchbutton">&#xe6fc;</i>查询 </el-button>
+                <el-button type="primary" class="search-btn" @click="mixins_search" icon="el-icon-search">查询 </el-button>
                 <div class="search-icon">
-                    <i class="iconfont fr-fs-fc" @click="deleteAll" v-txt-tip data-txt="删除">&#xe63b;</i>
-                    <i class="iconfont fr-fs-fc" @click="addOrEdit('add')" v-left-txt-tip data-txt="新增">&#xe641;</i>
+                    <el-tooltip class="item" effect="light" placement="bottom" content="删除">
+                        <i class="zoniot_font zoniot-icon-shanchu2" @click="deleteAll"></i>
+                    </el-tooltip>
+                    <el-tooltip class="item" effect="light" placement="bottom" content="新增">
+                        <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>
+                    </el-tooltip>
                 </div>
             </div>
             <zz-table
@@ -51,15 +53,14 @@
                 @selection-change="selectionChange"
             >
                 <template slot-scope="scope" slot="opt">
-                    <i
-                        @click="addOrEdit('edit', scope.index)"
-                        class="iconfont"
-                        style="color: #2787f1; margin-right: 30px"
-                        v-txt-tip
-                        data-txt="编辑"
-                        >&#xe645;</i
-                    >
-                    <i @click="deleteOne(scope.row.id)" class="iconfont" style="color: #ff7272" v-txt-tip data-txt="删除">&#xe63a;</i>
+                    <div class="opt">
+                        <el-tooltip effect="light" placement="bottom" content="编辑">
+                            <i class="zoniot_font zoniot-icon-bianji" @click="addOrEdit('edit', scope.index)"></i>
+                        </el-tooltip>
+                        <el-tooltip effect="light" placement="bottom" content="删除">
+                            <i class="zoniot_font zoniot-icon-shanchu redText" @click="deleteOne(scope.row.id)"></i>
+                        </el-tooltip>
+                    </div>
                 </template>
             </zz-table>
         </div>
@@ -107,7 +108,7 @@ export default {
                 },
                 {
                     label: '创建时间',
-                    prop: 'dateCreate'
+                    prop: 'createDate'
                 },
                 {
                     label: '操作',
@@ -128,7 +129,7 @@ export default {
                     row = JSON.parse(JSON.stringify(row));
                 }
                 this.$store.dispatch('openModal', {
-                    url: '/performanceManage/evaluationSet/itemSettings/popups/itemAddOrEdit.vue',
+                    url: '/performanceManagement/evaluationSet/itemSettings/popups/itemAddOrEdit.vue',
                     title: title,
                     width: todo == 'add' ? '980px' : '750px',
                     height: todo == 'add' ? '662px' : '600px',
@@ -182,7 +183,7 @@ export default {
             this.selectRow = val;
         },
         getOrgTreeList() {
-            this.$http.postForm('/user-center/org/getOrgTree', { orgType: 1 }).then(({ status, data, msg }) => {
+            this.$http.postForm('/sc-user-center/org/getOrgTree', { orgType: 1 }).then(({ status, data, msg }) => {
                 if (status === 0 && data) {
                     this.organList = data;
                     this.$nextTick().then(() => {
@@ -255,14 +256,6 @@ export default {
                     margin-right: 20px;
                 }
             }
-            .search-btn {
-                height: 30px;
-                background: #2787f1;
-                border-radius: 4px;
-                padding: 9px 8px;
-                box-sizing: border-box;
-                // line-height: 10px;
-            }
         }
     }
 }

+ 1 - 1
operationSupport/src/views/performanceManagement/evaluationSet/itemSettings/popups/itemAddOrEdit.vue

@@ -304,7 +304,7 @@ export default {
             this.formData.deptOrgIds = arr;
         },
         getOrgTreeList() {
-            this.$http.postForm('/user-center/org/getOrgTree', { orgType: 1 }).then(({ status, data, msg }) => {
+            this.$http.postForm('/sc-user-center/org/getOrgTree', { orgType: 1 }).then(({ status, data, msg }) => {
                 if (status === 0 && data) {
                     this.organList = data;
                 }

+ 82 - 28
operationSupport/src/views/performanceManagement/evaluationSet/levelSetting/levelSetting.vue

@@ -7,7 +7,29 @@
 -->
 <template>
     <div class="levelSetting">
-        <organ-tree @organId="currentOrganId" style="float: left"></organ-tree>
+        <div class="organ-tree">
+            <el-input v-model="filterText" placeholder="请输入机构名称" suffix-icon="el-icon-search"></el-input>
+            <div class="tree-style-box">
+                <el-scrollbar style="height: 100%">
+                    <el-tree
+                        class="tree-style"
+                        :data="organList"
+                        ref="tree"
+                        node-key="id"
+                        :highlight-current="true"
+                        :props="defaultProps"
+                        :expand-on-click-node="false"
+                        @node-click="treeClick"
+                        default-expand-all
+                        :filter-node-method="filterNode"
+                    >
+                        <span class="ellipsis" slot-scope="{ node }">
+                            <span :title="node.label">{{ node.label }}</span>
+                        </span>
+                    </el-tree>
+                </el-scrollbar>
+            </div>
+        </div>
         <div class="levelSetting-content">
             <div class="search">
                 <el-select v-model="mixins_query.grade" clearable placeholder="请选择绩效等级">
@@ -15,10 +37,14 @@
                         item.dictValue
                     }}</el-option>
                 </el-select>
-                <el-button type="primary" class="search-btn" @click="mixins_search"><i class="iconfont searchbutton">&#xe6fc;</i>查询 </el-button>
+                <el-button type="primary" class="search-btn" @click="mixins_search" icon="el-icon-search">查询 </el-button>
                 <div class="search-icon">
-                    <i class="iconfont fr-fs-fc" @click="deleteAll" v-txt-tip data-txt="删除">&#xe63b;</i>
-                    <i class="iconfont fr-fs-fc" @click="addOrEdit('add')" v-left-txt-tip data-txt="新增">&#xe641;</i>
+                    <el-tooltip class="item" effect="light" placement="bottom" content="删除">
+                        <i class="zoniot_font zoniot-icon-shanchu2" @click="deleteAll"></i>
+                    </el-tooltip>
+                    <el-tooltip class="item" effect="light" placement="bottom" content="新增">
+                        <i class="zoniot_font zoniot-icon-tianjia2" @click="addOrEdit('add')"></i>
+                    </el-tooltip>
                 </div>
             </div>
             <zz-table
@@ -31,15 +57,14 @@
                 @selection-change="selectionChange"
             >
                 <template slot-scope="scope" slot="opt">
-                    <i
-                        @click="addOrEdit('edit', scope.index)"
-                        class="iconfont"
-                        style="color: #2787f1; margin-right: 30px"
-                        v-txt-tip
-                        data-txt="编辑"
-                        >&#xe645;</i
-                    >
-                    <i @click="deleteOne(scope.row.id)" class="iconfont" style="color: #ff7272" v-txt-tip data-txt="删除">&#xe63a;</i>
+                    <div class="opt">
+                        <el-tooltip effect="light" placement="bottom" content="编辑">
+                            <i class="zoniot_font zoniot-icon-bianji" @click="addOrEdit('edit', scope.index)"></i>
+                        </el-tooltip>
+                        <el-tooltip effect="light" placement="bottom" content="删除">
+                            <i class="zoniot_font zoniot-icon-shanchu redText" @click="deleteOne(scope.row.id)"></i>
+                        </el-tooltip>
+                    </div>
                 </template>
             </zz-table>
         </div>
@@ -54,6 +79,12 @@ export default {
         return {
             currentId: '',
             selectRow: [],
+            filterText: '',
+            organList: [],
+            defaultProps: {
+                children: 'orgs',
+                label: 'orgName'
+            },
             cols: [
                 {
                     label: '所属公司',
@@ -81,7 +112,7 @@ export default {
                 },
                 {
                     label: '创建时间',
-                    prop: 'dateCreate'
+                    prop: 'createDate'
                 },
                 {
                     label: '操作',
@@ -92,8 +123,24 @@ export default {
         };
     },
     methods: {
-        currentOrganId(data) {
-            this.currentId = data || '';
+        getOrgTreeList() {
+            this.$http.postForm('/sc-user-center/org/getOrgTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
+                if (status === 0 && data) {
+                    this.organList = data;
+                    this.$nextTick().then(() => {
+                        const firstNode = document.querySelector('.el-tree-node');
+                        firstNode.click();
+                    });
+                }
+            });
+        },
+        filterNode(value, data) {
+            if (!value) return true;
+            return data.orgName.indexOf(value) !== -1;
+        },
+        treeClick(e) {
+            if (e.id == 0) return;
+            this.currentId = e.id;
         },
         addOrEdit(todo, index) {
             new Promise((resolve) => {
@@ -106,7 +153,7 @@ export default {
                     row = JSON.parse(JSON.stringify(row));
                 }
                 this.$store.dispatch('openModal', {
-                    url: '/performanceManage/evaluationSet/levelSetting/popups/levelAddOrEdit.vue',
+                    url: '/performanceManagement/evaluationSet/levelSetting/popups/levelAddOrEdit.vue',
                     title: title,
                     width: todo == 'add' ? '926px' : '562px',
                     height: todo == 'add' ? '662px' : '520px',
@@ -172,10 +219,14 @@ export default {
         currentId(newValue, oldValue) {
             this.mixins_query.companyOrgId = newValue;
             this.mixins_search();
+        },
+        filterText(val) {
+            this.$refs.tree.filter(val);
         }
     },
     created() {
         this.getLevelList();
+        this.getOrgTreeList();
         this.mixins_dataUrl = '/sc-community/evaluation/grade/selectPage';
         this.mixins_post = 'get';
         this.mixins_query = {
@@ -189,6 +240,17 @@ export default {
 <style lang="scss" scoped>
 .levelSetting {
     height: calc(100% - 80px);
+    .organ-tree {
+        width: 260px;
+        height: 100%;
+        background: #ffffff;
+        padding: 20px;
+        float: left;
+        font-size: 14px;
+        .tree-style-box {
+            margin-top: 20px;
+        }
+    }
     .levelSetting-content {
         margin-left: 20px;
         width: calc(100% - 280px);
@@ -208,17 +270,9 @@ export default {
                     margin-right: 20px;
                 }
             }
-            .search-btn {
-                height: 30px;
-                background: #2787f1;
-                border-radius: 4px;
-                padding: 9px 8px;
-                box-sizing: border-box;
-                // line-height: 10px;
-            }
-            .searchbutton{
-                width:0.6rem;
-                vertical-align:middle;
+            .searchbutton {
+                width: 0.6rem;
+                vertical-align: middle;
                 margin-right: 5px;
             }
         }

+ 1 - 1
operationSupport/src/views/performanceManagement/evaluationSet/levelSetting/popups/levelAddOrEdit.vue

@@ -132,7 +132,7 @@ export default {
             this.formData.companyOrgIds = arr;
         },
         getOrgTreeList() {
-            this.$http.postForm('/user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
+            this.$http.postForm('/sc-user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
                 if (status === 0 && data) {
                     this.organList = data;
                 }

+ 69 - 88
operationSupport/src/views/performanceManagement/performanceEvaluation/index.vue

@@ -65,9 +65,8 @@
                 <el-radio :label="1">季度</el-radio>
                 <el-radio :label="2">年度</el-radio>
             </el-radio-group>
-            <el-button class="servertype-serch-btn" type="primary" @click="getlistpage"
-                ><i class="iconfont searchbutton">&#xe6fc;</i>查询</el-button
-            >
+
+            <el-button type="primary" class="search-btn" @click="getlistpage" icon="el-icon-search">查询 </el-button>
             <!-- <i class="fr fr-fs-fc fr-add iconfont" @click="openEvaluationHandle" v-left-txt-tip data-txt="新增">&#xe641;</i>
             <i class="fr fr-fs-fc fr-del iconfont" @click="delusergroup" v-txt-tip data-txt="删除">&#xe63b;</i> -->
         </div>
@@ -84,19 +83,18 @@
                 @selection-change="selectionChange"
             >
                 <template slot-scope="scope" slot="statecolor">
-                    <span v-if="scope.row.state==='未考评'" style="color:#FD3A68">{{scope.row.state}}</span>
-                    <span v-else style="color:#21D4DC">{{scope.row.state}}</span>
+                    <span v-if="scope.row.state === '未考评'" style="color: #fd3a68">{{ scope.row.state }}</span>
+                    <span v-else style="color: #21d4dc">{{ scope.row.state }}</span>
                 </template>
                 <template slot-scope="scope" slot="opt">
-                    <i
-                        @click="openEvaluationHandle(scope.row)"
-                        class="iconfont"
-                        style="color: #2787f1; margin-right: 30px"
-                        v-txt-tip
-                        data-txt="考评"
-                        >&#xe645;</i
-                    >
-                    <i @click="openEvaluationDetile(scope.row)" class="iconfont" style="color: #2787f1" v-txt-tip data-txt="详情">&#xe6eb;</i>
+                    <div class="opt">
+                        <el-tooltip effect="light" placement="bottom" content="考评">
+                            <i class="iconfont" @click="openEvaluationHandle(scope.row)">&#xe645;</i>
+                        </el-tooltip>
+                        <el-tooltip effect="light" placement="bottom" content="详情">
+                            <i class="zoniot_font zoniot-icon-xiangqing" @click="openEvaluationDetile(scope.row)"></i>
+                        </el-tooltip>
+                    </div>
                 </template>
             </zz-table>
         </div>
@@ -113,14 +111,14 @@ export default {
                 userName: '',
                 companyOrgId: '',
                 deptOrgId: '',
-                state:'',
-                cycle:0,
-                year:'',
-                month:'',
-                sort:1,                
+                state: '',
+                cycle: 0,
+                year: '',
+                month: '',
+                sort: 1
             },
             days: new Date(),
-            lastQuarter:'',
+            lastQuarter: '',
             scenetypeList: [],
             organListCompany: '',
             organListdepartment: '',
@@ -176,27 +174,10 @@ export default {
         this.getlistpage();
     },
     methods: {
-        /**
-         * 获取设备列表页
-         */
-        /**
-         * 
-  "companyOrgId": 0,
-  "cycle": 1,
-  "deptOrgId": 0,
-  "month": 1,
-  "pageNum": 1,
-  "pageSize": 10,
-  "sort": 1,
-  "state": 0,
-  "userName": "string",
-  "year": 2020
-}
-         */
         getlistpage() {
             switch (this.mixins_query.cycle) {
                 case 0:
-                    this.mixins_query.month = this.days.getMonth()+1;
+                    this.mixins_query.month = this.days.getMonth() + 1;
                     this.mixins_query.year = this.days.getFullYear();
                     break;
                 case 1:
@@ -206,89 +187,89 @@ export default {
                 case 2:
                     this.mixins_query.month = '';
                     this.mixins_query.year = this.days.getFullYear();
-                    break;            
+                    break;
                 default:
                     break;
             }
             this.mixins_dataUrl = '/sc-community/evaluation/result/find/page';
             this.mixins_pageset = {
                 pageNum: this.mixins_pageset.pageNum,
-                pageSize: this.mixins_pageset.pageSize,
+                pageSize: this.mixins_pageset.pageSize
             };
             this.mixins_post = 'post';
             this.mixins_search();
         },
-        changeQuarter(val){
+        changeQuarter(val) {
             this.lastQuarter = val;
         },
         openEvaluationHandle(item) {
             let row = {};
             new Promise((resolve) => {
-                this.$http.postForm('/sc-community/evaluation/task/find', { 'evaluationResultId': item.id }).then(({ status, data, msg }) => {
+                this.$http.postForm('/sc-community/evaluation/task/find', { evaluationResultId: item.id }).then(({ status, data, msg }) => {
                     if (status === 0) {
-                        row = data;                            
+                        row = data;
                         resolve();
                     } else {
                         this.$message.error(msg);
                     }
-                });                
-            }).then(() => {
-            new Promise((resolve) => {
-                this.$store.dispatch('openModal', {
-                    url: '/performanceManage/performanceEvaluation/popups/evaluationEdit.vue',
-                    width: '1200px',
-                    height: '510px',
-                    props: {
-                        rowInfo:item,
-                        data: row,
-                        year: this.mixins_query.year,
-                        month:this.mixins_query.month,
-                        callback: resolve
-                    },
-                    title: '考评',
-                    notip: true,
-                    confirmButtonText: '确定',
-                    showCancelButton:item.state==='未考评'?false:true,
-                    showConfirmButton:item.state==='未考评'?false:true
                 });
             }).then(() => {
-                this.mixins_search();
-            });
+                new Promise((resolve) => {
+                    this.$store.dispatch('openModal', {
+                        url: '/performanceManagement/performanceEvaluation/popups/evaluationEdit.vue',
+                        width: '1200px',
+                        height: '510px',
+                        props: {
+                            rowInfo: item,
+                            data: row,
+                            year: this.mixins_query.year,
+                            month: this.mixins_query.month,
+                            callback: resolve
+                        },
+                        title: '考评',
+                        notip: true,
+                        confirmButtonText: '确定',
+                        showCancelButton: item.state === '未考评' ? false : true,
+                        showConfirmButton: item.state === '未考评' ? false : true
+                    });
+                }).then(() => {
+                    this.mixins_search();
+                });
             });
         },
         openEvaluationDetile(item) {
             let row = {};
-            new Promise((resolve) => {                
-                this.$http.postForm('/sc-community/evaluation/task/find', { 'evaluationResultId': item.id }).then(({ status, data, msg }) => {
+            new Promise((resolve) => {
+                this.$http.postForm('/sc-community/evaluation/task/find', { evaluationResultId: item.id }).then(({ status, data, msg }) => {
                     if (status === 0) {
-                        row = data;                            
+                        row = data;
                         resolve();
                     } else {
                         this.$message.error(msg);
                     }
                 });
             }).then(() => {
-            new Promise((resolve) => {
-                this.$store.dispatch('openModal', {
-                    url: '/performanceManage/performanceEvaluation/popups/evaluationDetail.vue',
-                    width: '1200px',
-                    height: '510px',
-                    props: {
-                        rowInfo:item,
-                        data: row,
-                        cycle:this.mixins_query.cycle,
-                        year: this.mixins_query.year,
-                        month:this.mixins_query.month,
-                        callback: resolve
-                    },
-                    title: '考评详情',
-                    notip: true,
-                    showCancelButton:true,
-                    showConfirmButton:true,
+                new Promise((resolve) => {
+                    this.$store.dispatch('openModal', {
+                        url: '/performanceManagement/performanceEvaluation/popups/evaluationDetail.vue',
+                        width: '1200px',
+                        height: '510px',
+                        props: {
+                            rowInfo: item,
+                            data: row,
+                            cycle: this.mixins_query.cycle,
+                            year: this.mixins_query.year,
+                            month: this.mixins_query.month,
+                            callback: resolve
+                        },
+                        title: '考评详情',
+                        notip: true,
+                        showCancelButton: true,
+                        showConfirmButton: true
+                    });
+                }).then(() => {
+                    // this.mixins_search();
                 });
-            }).then(() => {
-                // this.mixins_search();
-            });
             });
         },
         selectionChange(val) {
@@ -296,7 +277,7 @@ export default {
         },
         getorgTree() {
             // 获取公司树
-            this.$http.postForm('/user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
+            this.$http.postForm('/sc-user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
                 if (status === 0 && data) {
                     this.organListCompany = data;
                 } else {

+ 1 - 3
operationSupport/src/views/performanceManagement/performanceEvaluation/popups/evaluationEdit.vue

@@ -1,4 +1,3 @@
-<!--
 <template>
     <div>
         <div class="top">
@@ -293,5 +292,4 @@ export default {
     /deep/ input[type="number"]{
       -moz-appearance: textfield;
     }
-</style>
--->
+</style>

+ 78 - 78
operationSupport/src/views/performanceManagement/performanceStatistics/components/kpiAnalysis.vue

@@ -1,21 +1,14 @@
-<!--
- * @Description: 
- * @Date: 2021-05-10 08:25:13
- * @LastEditTime: 2021-05-21 08:43:46
- * @FilePath: \WEB\maintenanceManagement\src\views\performanceManage\performanceStatistics\components\kpiAnalysis.vue
--->
-
 <template>
     <div>
         <div class="search">
             <select-tree
-              
                 selectTreeTitle="所属公司"
                 placeholder="请选择所属公司"
                 :options="organListCompany"
                 :props="defaultProps"
                 @selected="selectedcompanyOrgId"
                 v-model="mixins_query.companyOrgId"
+                class="new-select-tree"
             >
             </select-tree>
             <select-tree
@@ -55,14 +48,12 @@
                 placeholder="请选择年"
                 format="yyyy年"
             ></el-date-picker>
-
             <el-radio-group v-model="mixins_query.cycle" class="mr20 self-el-radio-group-box">
                 <el-radio :label="0">月度</el-radio>
                 <el-radio :label="1">季度</el-radio>
                 <el-radio :label="2">年度</el-radio>
             </el-radio-group>
-            <el-button class="servertype-serch-btn" type="primary" @click="getPage"><i class="iconfont searchbutton">&#xe6fc;</i>查询</el-button>
-            <!-- <i class="fr fr-fs-fc fr-add iconfont" v-txt-tip data-txt="导出" @click="exportExcel">&#xe662;</i> -->
+            <el-button type="primary" class="search-btn" @click="getPage" icon="el-icon-search">查询 </el-button>
         </div>
         <!-- 统计图表 -->
         <div class="device-manage-table">
@@ -70,55 +61,54 @@
                 <div class="chartboxw w1240 fl">
                     <div class="chart-title">人员绩效排名</div>
                     <div class="chart-box-height">
-                        <el-echart :option='kpiSortOption' style="width: 100%; height: 100%"></el-echart>
+                        <zz-echart :option="kpiSortOption" style="width: 100%; height: 100%"></zz-echart>
                     </div>
                 </div>
-                <div class="chartboxw w400 chartboxwfr">                    
+                <div class="chartboxw w400 chartboxwfr">
                     <div class="chart-title">绩效等级分布</div>
                     <div class="chart-box-height">
-                        <el-echart :option='kpiLevelOption' style="width: 100%; height: 100%"></el-echart>
+                        <zz-echart :option="kpiLevelOption" style="width: 100%; height: 100%"></zz-echart>
                     </div>
                 </div>
             </div>
-            <div class="chartlinebox" v-show="mixins_query.cycle!==0">
+            <div class="chartlinebox" v-show="mixins_query.cycle !== 0">
                 <div class="chartboxw">
                     <div class="chart-title">绩效人数合格变化趋势</div>
                     <div class="chart-box-height">
-                        <el-echart :option='qualifiedOption' style="width: 100%; height: 100%"></el-echart>
+                        <zz-echart :option="qualifiedOption" style="width: 100%; height: 100%"></zz-echart>
                     </div>
                 </div>
             </div>
-            <div class="chartlinebox" v-show="mixins_query.cycle!==0">
+            <div class="chartlinebox" v-show="mixins_query.cycle !== 0">
                 <div class="chartboxw">
                     <div class="chart-title">人均绩效得分变化趋势</div>
                     <div class="chart-box-height">
-                        <el-echart :option='scoreOption' style="width: 100%; height: 100%"></el-echart>
+                        <zz-echart :option="scoreOption" style="width: 100%; height: 100%"></zz-echart>
                     </div>
                 </div>
             </div>
         </div>
-        
     </div>
 </template>
 
 <script>
-import {histogramOption,ringFigureOption,lineChartOption} from './echartOptions'
+import { histogramOption, ringFigureOption, lineChartOption } from './echartOptions';
 export default {
     data() {
         return {
             mixins_query: {
                 // companyOrgId: '',
                 // deptOrgId: '',
-                cycle:0,
-                year:0,
-                month:0,
+                cycle: 0,
+                year: 0,
+                month: 0
             },
-            lastQuarter:'',
-            kpiSortOption:histogramOption([]),
-            kpiLevelOption:ringFigureOption([]),
-            qualifiedOption:lineChartOption('','',[]),
-            scoreOption:lineChartOption('','',[]),
-            days:new Date(),
+            lastQuarter: '',
+            kpiSortOption: histogramOption([]),
+            kpiLevelOption: ringFigureOption([]),
+            qualifiedOption: lineChartOption('', '', []),
+            scoreOption: lineChartOption('', '', []),
+            days: new Date(),
             timesnum: 3,
             organListCompany: '',
             organListdepartment: '',
@@ -127,18 +117,18 @@ export default {
                 label: 'orgName', // 标签显示
                 children: 'orgs' // 子级
             },
-            
+
             times: [],
-            mix_path:'routing:taskmg' ,  //按钮权限返回值
+            mix_path: 'routing:taskmg', //按钮权限返回值
             taskTypeList: [],
             selectRow: [],
             dialogMapVisible: false
         };
     },
-    methods: {        
-        changeQuarter(val){
+    methods: {
+        changeQuarter(val) {
             this.lastQuarter = val;
-        },        
+        },
         getorgTree() {
             // 获取公司树
             this.$http.postForm('/sc-user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
@@ -151,6 +141,7 @@ export default {
         },
         selectedcompanyOrgId(e) {
             if (!e) return;
+            debugger;
             // 获取 部门树e
             this.$http.postForm('/sc-user-center/org/getOrgUserTree', { orgType: 'department', id: e }).then(({ status, data, msg }) => {
                 if (status === 0) {
@@ -160,15 +151,15 @@ export default {
                 }
             });
         },
-        //获取表格数据 
-        getPage() {  
-            this.kpiSortOption=histogramOption([]);
-            this.kpiLevelOption=ringFigureOption([]);
-            this.qualifiedOption=lineChartOption('','',[]);
-            this.scoreOption=lineChartOption('','',[]);
+        //获取表格数据
+        getPage() {
+            this.kpiSortOption = histogramOption([]);
+            this.kpiLevelOption = ringFigureOption([]);
+            this.qualifiedOption = lineChartOption('', '', []);
+            this.scoreOption = lineChartOption('', '', []);
             switch (this.mixins_query.cycle) {
                 case 0:
-                    this.mixins_query.month = this.days.getMonth()+1;
+                    this.mixins_query.month = this.days.getMonth() + 1;
                     this.mixins_query.year = this.days.getFullYear();
                     break;
                 case 1:
@@ -178,14 +169,14 @@ export default {
                 case 2:
                     this.mixins_query.month = '';
                     this.mixins_query.year = this.days.getFullYear();
-                    break;            
+                    break;
                 default:
                     break;
             }
             // 人员绩效排名
             this.$http.post('/sc-community/evaluation/report/find/ranking', this.mixins_query).then(({ status, data, msg }) => {
                 if (status === 0) {
-                    this.kpiSortOption=histogramOption(data);            
+                    this.kpiSortOption = histogramOption(data);
                 } else {
                     this.$message.error(msg);
                 }
@@ -193,38 +184,46 @@ export default {
             // 绩效等级分布
             this.$http.post('/sc-community/evaluation/report/find/grade/percentage', this.mixins_query).then(({ status, data, msg }) => {
                 if (status === 0) {
-                    let chartDataArr = data.map(item=>{return {'name':item.evaluationGrade,'value':item.percentage,'rate':item.percentageRate }})
-                    this.kpiLevelOption=ringFigureOption(chartDataArr);            
-                } else {
-                    this.$message.error(msg);
-                }
-            });
-            if(this.mixins_query.cycle){
-            // 绩效人数合格变化趋势
-            this.$http.post('/sc-community/evaluation/report/count/qualified/number', this.mixins_query).then(({ status, data, msg }) => {
-                if (status === 0) {                    
-                    let chartDataArr = data.map(item=>{return {'mouth':this.mixins_query.year+'年'+ item.month+'月','num':item.qualifiedNumber}})
-                    this.qualifiedOption=lineChartOption('人','#29B6FF',chartDataArr);            
-                } else {
-                    this.$message.error(msg);
-                }
-            });
-            // 人均绩效得分变化趋势
-            this.$http.post('/sc-community/evaluation/report/count/performance/avg', this.mixins_query).then(({ status, data, msg }) => {
-                if (status === 0) {
-                    let chartDataArr = data.map(item=>{return {'mouth':this.mixins_query.year+'年'+ item.month+'月','num':item.avg}})
-                    this.scoreOption=lineChartOption('分','#B72EF6',chartDataArr);            
+                    let chartDataArr = data.map((item) => {
+                        return { name: item.evaluationGrade, value: item.percentage, rate: item.percentageRate };
+                    });
+                    this.kpiLevelOption = ringFigureOption(chartDataArr);
                 } else {
                     this.$message.error(msg);
                 }
             });
+            if (this.mixins_query.cycle) {
+                // 绩效人数合格变化趋势
+                this.$http
+                    .post('/sc-community/evaluation/report/count/qualified/number', this.mixins_query)
+                    .then(({ status, data, msg }) => {
+                        if (status === 0) {
+                            let chartDataArr = data.map((item) => {
+                                return { mouth: this.mixins_query.year + '年' + item.month + '月', num: item.qualifiedNumber };
+                            });
+                            this.qualifiedOption = lineChartOption('人', '#29B6FF', chartDataArr);
+                        } else {
+                            this.$message.error(msg);
+                        }
+                    });
+                // 人均绩效得分变化趋势
+                this.$http
+                    .post('/sc-community/evaluation/report/count/performance/avg', this.mixins_query)
+                    .then(({ status, data, msg }) => {
+                        if (status === 0) {
+                            let chartDataArr = data.map((item) => {
+                                return { mouth: this.mixins_query.year + '年' + item.month + '月', num: item.avg };
+                            });
+                            this.scoreOption = lineChartOption('分', '#B72EF6', chartDataArr);
+                        } else {
+                            this.$message.error(msg);
+                        }
+                    });
             }
-        },
-        
+        }
     },
     created() {
-        
-        this.getPage();  //获取表格
+        this.getPage(); //获取表格
         this.getorgTree();
     }
 };
@@ -265,48 +264,49 @@ export default {
 .new-select-tree {
     vertical-align: top;
     margin-right: 20px;
+    display: inline-block;
 }
 .doalogmap {
     width: 100%;
     height: 460px;
 }
 /deep/ .el-dialog__body {
-    padding: 0 20px 20px 20px!important;
+    padding: 0 20px 20px 20px !important;
 }
 .mr20 {
     margin-right: 20px;
 }
 
-.chartlinebox{
+.chartlinebox {
     display: flex;
     // overflow: hidden;
-    .chartboxw{
-        background: #fff;   
+    .chartboxw {
+        background: #fff;
         border-radius: 6px;
         margin-bottom: 20px;
         padding: 30px;
         width: 100%;
-        .chart-title{
+        .chart-title {
             font-size: 14px;
             font-family: MicrosoftYaHei;
             color: #424656;
             padding-bottom: 10px;
-            border-bottom: 1px solid #D8D8D8;
+            border-bottom: 1px solid #d8d8d8;
             margin-bottom: 20px;
         }
-        .chart-box-height{
+        .chart-box-height {
             height: 280px;
         }
     }
-    .w1240{
+    .w1240 {
         width: 1220px;
     }
-    .w400{
+    .w400 {
         flex: 1;
         margin-left: 20px;
         // width: 400px;
     }
-    .ml20{
+    .ml20 {
         margin-left: 20px;
     }
 }

+ 77 - 77
operationSupport/src/views/performanceManagement/performanceStatistics/components/kpiStatistics.vue

@@ -1,12 +1,6 @@
-<!--
- * @Description: 
- * @Date: 2021-05-10 08:25:38
- * @LastEditTime: 2021-05-20 09:24:30
- * @FilePath: \WEB\maintenanceManagement\src\views\performanceManage\performanceStatistics\components\kpiStatistics.vue
--->
 <template>
     <div>
-        <div class="handle-box">
+        <div class="search">
             <select-tree
                 class="new-select-tree"
                 width="220"
@@ -61,8 +55,13 @@
                 <el-radio :label="1">季度</el-radio>
                 <el-radio :label="2">年度</el-radio>
             </el-radio-group>
-            <el-button class="servertype-serch-btn" type="primary" @click="getPage"><i class="iconfont searchbutton">&#xe6fc;</i>查询</el-button>
-            <i class="fr fr-fs-fc fr-add iconfont" v-txt-tip data-txt="导出" @click="exportExcel">&#xe662;</i>
+
+            <el-button type="primary" class="search-btn" @click="getPage" icon="el-icon-search">查询 </el-button>
+            <div class="search-icon">
+                <el-tooltip class="item" effect="light" placement="bottom" content="导出">
+                    <i class="zoniot_font zoniot-icon-daochu2" @click="exportExcel"></i>
+                </el-tooltip>
+            </div>
         </div>
         <!-- 表格 -->
         <div class="device-manage-table">
@@ -76,16 +75,17 @@
                 @selection-change="selectionChange"
             >
                 <template slot="currentTaskName" slot-scope="scope">
-                    <span v-if="scope.row.planStatus===2">完成</span>
-                    <span v-else-if="scope.row.planStatus===3">终止</span>
-                    <span v-else>{{scope.row.currentTaskName}}</span>
+                    <span v-if="scope.row.planStatus === 2">完成</span>
+                    <span v-else-if="scope.row.planStatus === 3">终止</span>
+                    <span v-else>{{ scope.row.currentTaskName }}</span>
                 </template>
                 <template slot="opt" slot-scope="scope">
-                    <i @click="routingdetail('edit', scope.row)" class="iconfont" style="color: #2787f1" v-txt-tip data-txt="详情">&#xe77d;</i>
+                    <i @click="routingdetail('edit', scope.row)" class="iconfont" style="color: #2787f1" v-txt-tip data-txt="详情"
+                        >&#xe77d;</i
+                    >
                 </template>
             </zz-table>
         </div>
-        
     </div>
 </template>
 
@@ -99,13 +99,13 @@ export default {
             mixins_query: {
                 companyOrgId: '',
                 deptOrgId: '',
-                cycle:0,
-                year:'',
-                month:'',
-                sort:2,    
+                cycle: 0,
+                year: '',
+                month: '',
+                sort: 2
             },
-            lastQuarter:'',
-            days:new Date(),
+            lastQuarter: '',
+            days: new Date(),
             organListCompany: '',
             organListdepartment: '',
             defaultProps: {
@@ -113,13 +113,13 @@ export default {
                 label: 'orgName', // 标签显示
                 children: 'orgs' // 子级
             },
-            
+
             times: [],
-            mix_path:'routing:taskmg' ,  //按钮权限返回值
+            mix_path: 'routing:taskmg', //按钮权限返回值
             pickerOptions: {
                 disabledDate(val) {
                     return +new Date(val) > +new Date();
-                },
+                }
             },
             envConfig: envConfig,
             cols: [
@@ -133,7 +133,7 @@ export default {
                 },
                 {
                     label: '所属部门',
-                    prop: 'deptOrgName',
+                    prop: 'deptOrgName'
                 },
                 {
                     label: '绩效等级',
@@ -145,7 +145,7 @@ export default {
                 },
                 {
                     label: '考评周期',
-                    prop: 'cycle'  
+                    prop: 'cycle'
                 }
             ],
             taskTypeList: [],
@@ -158,14 +158,14 @@ export default {
             this.mixins_dataUrl = '/sc-community/evaluation/result/find/page';
             this.mixins_pageset = {
                 pageNum: this.mixins_pageset.pageNum,
-                pageSize: this.mixins_pageset.pageSize,
+                pageSize: this.mixins_pageset.pageSize
             };
             this.mixins_post = 'post';
             this.mixins_search();
         },
         getorgTree() {
             // 获取公司树
-            this.$http.postForm('/user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
+            this.$http.postForm('/sc-user-center/org/getOrgUserTree', { orgType: 'company', id: '000' }).then(({ status, data, msg }) => {
                 if (status === 0 && data) {
                     this.organListCompany = data;
                 } else {
@@ -176,7 +176,7 @@ export default {
         selectedcompanyOrgId(e) {
             if (!e) return;
             // 获取 部门树e
-            this.$http.postForm('/user-center/org/getOrgUserTree', { orgType: 'department', id: e }).then(({ status, data, msg }) => {
+            this.$http.postForm('/sc-user-center/org/getOrgUserTree', { orgType: 'department', id: e }).then(({ status, data, msg }) => {
                 if (status === 0) {
                     this.organListdepartment = data ? data : [];
                 } else {
@@ -187,25 +187,25 @@ export default {
         selectionChange(val) {
             this.selectRow = val;
         },
-        changeMounth(val){
-            this.mixins_query.month = val.getMonth()+1
-            this.mixins_query.year = val.getFullYear()
+        changeMounth(val) {
+            this.mixins_query.month = val.getMonth() + 1;
+            this.mixins_query.year = val.getFullYear();
         },
-         changeQuarter(val){
-            this.mixins_query.month = val.season
-            this.mixins_query.year = val.year
+        changeQuarter(val) {
+            this.mixins_query.month = val.season;
+            this.mixins_query.year = val.year;
             this.lastQuarter = val;
         },
-         changeYear(val){
+        changeYear(val) {
             this.mixins_query.month = '';
-            this.mixins_query.year = val.getFullYear()
+            this.mixins_query.year = val.getFullYear();
         },
-        
-        //获取表格数据 
+
+        //获取表格数据
         getPage() {
             switch (this.mixins_query.cycle) {
                 case 0:
-                    this.mixins_query.month = this.days.getMonth()+1;
+                    this.mixins_query.month = this.days.getMonth() + 1;
                     this.mixins_query.year = this.days.getFullYear();
                     break;
                 case 1:
@@ -215,14 +215,14 @@ export default {
                 case 2:
                     this.mixins_query.month = '';
                     this.mixins_query.year = this.days.getFullYear();
-                    break;            
+                    break;
                 default:
                     break;
             }
             this.mixins_dataUrl = '/sc-community/evaluation/result/find/page';
             this.mixins_pageset = {
                 pageNum: this.mixins_pageset.pageNum,
-                pageSize: this.mixins_pageset.pageSize,
+                pageSize: this.mixins_pageset.pageSize
             };
             this.mixins_post = 'post';
             this.mixins_search();
@@ -230,36 +230,35 @@ export default {
         //详情
         routingdetail(tip, item) {
             let row = {},
-                notip= 'none',
-                showConfirmButton=true,   //确定按钮关闭
-                agree = this.$agree,  //同意按钮默认关闭
-                reject =this.$reject,  //驳回按钮默认关闭
+                notip = 'none',
+                showConfirmButton = true, //确定按钮关闭
+                agree = this.$agree, //同意按钮默认关闭
+                reject = this.$reject, //驳回按钮默认关闭
                 replayTrack = this.$replayTrack, //轨迹回放
                 title = '任务详情',
                 termiNation = this.$termiNation; //终止按钮
-            if(item.planStatus === 3 || item.planStatus === 2) {
-                termiNation = false;    //终止之后关闭按钮
-            }else{
-                termiNation = this.$termiNation;  //根据权限展示
+            if (item.planStatus === 3 || item.planStatus === 2) {
+                termiNation = false; //终止之后关闭按钮
+            } else {
+                termiNation = this.$termiNation; //根据权限展示
             }
-           new Promise((resolve) => {
-               if (tip === 'edit') {
-                   title = '任务详情';
-                   row = item
-                   this.$http.get('/workflow/task/plan/pending/power', {id:item.id}).then(({status, data , msg}) => {
-
-                       if(data === false) {
-                           agree = false;
-                           reject = false;
-                       }else{
-                           agree = this.$agree;
-                           reject = this.$reject;
-                       }
+            new Promise((resolve) => {
+                if (tip === 'edit') {
+                    title = '任务详情';
+                    row = item;
+                    this.$http.get('/workflow/task/plan/pending/power', { id: item.id }).then(({ status, data, msg }) => {
+                        if (data === false) {
+                            agree = false;
+                            reject = false;
+                        } else {
+                            agree = this.$agree;
+                            reject = this.$reject;
+                        }
                         resolve();
-                   })    
-               }  
-           }).then(() => {
-               new Promise((resolve) => {
+                    });
+                }
+            }).then(() => {
+                new Promise((resolve) => {
                     this.$store.dispatch('openModal', {
                         url: '/routingInspectionManage/taskManagement/popups/allTaskPopup.vue',
                         width: '1040px',
@@ -271,22 +270,22 @@ export default {
                         },
                         title: title,
                         notip: notip,
-                        showConfirmButton:showConfirmButton,
+                        showConfirmButton: showConfirmButton,
                         agree: agree,
                         reject: reject,
-                        replayTrack:replayTrack,
-                        termiNation:termiNation
+                        replayTrack: replayTrack,
+                        termiNation: termiNation
                     });
                 }).then(() => {
-                   this.mixins_search();
-                })
-           })
+                    this.mixins_search();
+                });
+            });
         },
         exportExcel() {
             let params = {};
             switch (this.mixins_query.cycle) {
                 case 0:
-                    this.mixins_query.month = this.days.getMonth()+1;
+                    this.mixins_query.month = this.days.getMonth() + 1;
                     this.mixins_query.year = this.days.getFullYear();
                     break;
                 case 1:
@@ -296,7 +295,7 @@ export default {
                 case 2:
                     this.mixins_query.month = '';
                     this.mixins_query.year = this.days.getFullYear();
-                    break;            
+                    break;
                 default:
                     break;
             }
@@ -307,7 +306,7 @@ export default {
                 });
                 params = this.mixins_query;
                 params.ids = ids;
-            } else {                
+            } else {
                 params = this.mixins_query;
             }
             this.$http.post('/sc-community/evaluation/result/export/excel', params).then(({ status, data, msg }) => {
@@ -318,7 +317,7 @@ export default {
         }
     },
     created() {
-        this.getPage();  //获取表格
+        this.getPage(); //获取表格
         this.getorgTree();
     }
 };
@@ -359,13 +358,14 @@ export default {
 .new-select-tree {
     vertical-align: top;
     margin-right: 20px;
+    display: inline-block;
 }
 .doalogmap {
     width: 100%;
     height: 460px;
 }
 /deep/ .el-dialog__body {
-    padding: 0 20px 20px 20px!important;
+    padding: 0 20px 20px 20px !important;
 }
 .mr20 {
     margin-right: 20px;

+ 2 - 4
operationSupport/src/views/performanceManagement/performanceStatistics/index.vue

@@ -5,7 +5,7 @@
  * @FilePath: \WEB\maintenanceManagement\src\views\performanceManage\performanceStatistics\performanceStatistics.vue
 -->
 <template>
-    <div>
+    <div class="main">
         <div class="tabs">
             <div :class="[{ active: currentView == 'kpiStatistics' }, 'tabItem']" @click="changeItem('kpiStatistics')">绩效统计</div>
             <div class="border"></div>
@@ -33,9 +33,7 @@ export default {
             this.currentView = item;
         }
     },
-    created() {
-        
-    }
+    created() {}
 };
 </script>
 

+ 1 - 3
operationSupport/src/views/system/popups/mapmarkgis.vue

@@ -32,9 +32,7 @@
                     @keyup.native="inputlatitude = oninput(inputlatitude, 'y')"
                     placeholder="请输入纬度"
                 ></el-input>
-                <el-button class="map-input-btn" type="primary" @click="querySearchAsyncBtn"
-                    ><i class="iconfont">&#xe6fc;</i>查询</el-button
-                >
+                 <el-button type="primary" class="search-btn" @click="querySearchAsyncBtn" icon="el-icon-search">查询 </el-button>
             </div>
             <div class="form_content_dismap_basic">
                 <map-init ref="mapInit" @getCityNamevalfn="getCityNameval" @getwkidfn="getwkid" @getmoveXYfn="getmoveXY"></map-init>