Browse Source

1.油卡页面新增牧场字段;2.备件申购页面新增特殊申购功能;3.设备指标新增饲养头日字段;4.维修故障新增设备类别下钻需求;

duanxiaoduan 1 year ago
parent
commit
561d01ba02
38 changed files with 94 additions and 6682 deletions
  1. 1 0
      src/views/basic/otherinfo/index.vue
  2. 48 4
      src/views/custom/subscribe/index.vue
  3. 1 0
      src/views/report/equipmentIndex/index.vue
  4. 44 108
      src/views/report/maintenanceFault/index.vue
  5. 0 592
      src/views/report/queryCombustion/index11.vue
  6. 0 132
      src/views/report/queryElec/components/BarChartDept.vue
  7. 0 115
      src/views/report/queryElec/components/BarChartPasture.vue
  8. 0 80
      src/views/report/queryElec/components/BarChartPastureMonth.vue
  9. 0 165
      src/views/report/queryElec/components/Contrast.vue
  10. 0 120
      src/views/report/queryElec/components/PieChartDepartment.vue
  11. 0 109
      src/views/report/queryElec/components/PieChartType.vue
  12. 0 81
      src/views/report/queryElec/components/TodoList/Todo.vue
  13. 0 320
      src/views/report/queryElec/components/TodoList/index.scss
  14. 0 127
      src/views/report/queryElec/components/TodoList/index.vue
  15. 0 56
      src/views/report/queryElec/components/mixins/resize.js
  16. 0 580
      src/views/report/queryElec/index11.vue
  17. 0 128
      src/views/report/queryRepair/components/BarChartDept.vue
  18. 0 114
      src/views/report/queryRepair/components/BarChartPasture.vue
  19. 0 80
      src/views/report/queryRepair/components/BarChartPastureMonth.vue
  20. 0 165
      src/views/report/queryRepair/components/Contrast.vue
  21. 0 120
      src/views/report/queryRepair/components/PieChartDepartment.vue
  22. 0 116
      src/views/report/queryRepair/components/PieChartType.vue
  23. 0 81
      src/views/report/queryRepair/components/TodoList/Todo.vue
  24. 0 320
      src/views/report/queryRepair/components/TodoList/index.scss
  25. 0 127
      src/views/report/queryRepair/components/TodoList/index.vue
  26. 0 56
      src/views/report/queryRepair/components/mixins/resize.js
  27. 0 833
      src/views/report/queryRepair/index11.vue
  28. 0 130
      src/views/report/queryWater/components/BarChartDept.vue
  29. 0 115
      src/views/report/queryWater/components/BarChartPasture.vue
  30. 0 80
      src/views/report/queryWater/components/BarChartPastureMonth.vue
  31. 0 166
      src/views/report/queryWater/components/Contrast.vue
  32. 0 120
      src/views/report/queryWater/components/PieChartDepartment.vue
  33. 0 116
      src/views/report/queryWater/components/PieChartType.vue
  34. 0 81
      src/views/report/queryWater/components/TodoList/Todo.vue
  35. 0 320
      src/views/report/queryWater/components/TodoList/index.scss
  36. 0 127
      src/views/report/queryWater/components/TodoList/index.vue
  37. 0 56
      src/views/report/queryWater/components/mixins/resize.js
  38. 0 642
      src/views/report/queryWater/index11.vue

+ 1 - 0
src/views/basic/otherinfo/index.vue

@@ -41,6 +41,7 @@
           <span>{{ scope.$index + (pageNum-1) * pageSize + 1 }}</span>
         </template>
       </el-table-column>
+      <el-table-column label="牧场" min-width="110px" align="center" prop="pastureName" />
       <el-table-column label="部门" min-width="110px" align="center" prop="departmentName" />
       <el-table-column label="油卡编号" min-width="110px" align="center" prop="cardNumber" />
       <el-table-column label="油卡类型" min-width="110px" align="center" prop="cardType" />

+ 48 - 4
src/views/custom/subscribe/index.vue

@@ -24,6 +24,7 @@
       <div>
 
         <el-button v-if="isSubscribeAdd" class="filter-item" type="primary" icon="el-icon-edit" @click="form_add">新增</el-button>
+        <el-button v-if="isSubscribeAdd" class="filter-item" type="primary" icon="el-icon-edit" @click="handle_specialSubscription">特殊申购</el-button>
         <el-button v-if="isSubscribeExport" v-waves class="filter-item" type="success" icon="el-icon-upload2" @click="handleDownload">导出</el-button>
         <el-radio-group v-model="radioAll" style="margin-top:-9px" @change="changeAll()">
           <el-radio-button label="全部" />
@@ -174,7 +175,28 @@
                 <el-input ref="providerName" v-model="createTemp.providerName" disabled />
               </el-form-item>
             </el-col>
-
+            <el-col v-if="dialogStatus==='special' && createTemp.subscribeType == '1'" :span="8">
+              <el-form-item label="供应商:" prop="providerName">
+                <el-select v-model="createTemp.employeId" placeholder="供应商" class="filter-item" style="width:100%" :disabled="dialogStatus==='update'">
+                  <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col v-if="dialogStatus==='special' && createTemp.subscribeType == '2'" :span="8">
+              <el-form-item label="垫付人:" prop="providerName">
+                <el-select v-model="createTemp.employeId" placeholder="垫付人" class="filter-item" style="width:100%" :disabled="dialogStatus==='update'">
+                  <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-if="dialogStatus==='special'">
+            <el-col :span="24">
+              <el-form-item label="申购类型:" prop="subscribeType">
+                <el-radio v-model="createTemp.subscribeType" label="1">暂估</el-radio>
+                <el-radio v-model="createTemp.subscribeType" label="2">垫付</el-radio>
+              </el-form-item>
+            </el-col>
           </el-row>
           <el-row>
             <el-col :span="16">
@@ -289,7 +311,9 @@
           </el-table-column>
         </el-table>
         <div slot="footer" class="dialog-footer" style="bottom:10px">
-          <el-button type="primary" :disabled="isokDisable" @click="dialogStatus==='create'?add_dialog_save():edit_dialog_save()">保存并关闭</el-button>
+          <el-button type="primary" :disabled="isokDisable" v-if="dialogStatus==='create'" @click="add_dialog_save()">保存并关闭</el-button>
+          <el-button type="primary" :disabled="isokDisable" v-else-if="dialogStatus==='update'" @click="edit_dialog_save()">保存并关闭</el-button>
+          <el-button type="primary" :disabled="isokDisable" v-else-if="dialogStatus==='special'" @click="special_dialog_save()">保存并关闭</el-button>
           <el-button @click="dialogFormVisible = false;get_table_data()">取消并关闭</el-button>
         </div>
       </div>
@@ -488,6 +512,8 @@
         <el-button @click="dialogFormVisible_Examine = false;">关闭</el-button>
       </div>
     </el-dialog>
+
+
   </div>
 </template>
 
@@ -538,7 +564,8 @@ export default {
         examine22: '审核2',
         examine2: '审核3',
         examine33: '审核4',
-        examine3: '审核5'
+        examine3: '审核5',
+        special: '特殊申购'
       },
       rules: {
         equipmentName: [{ required: true, message: '必填', trigger: 'blur' }]
@@ -589,7 +616,8 @@ export default {
         departmentId: this.$store.state.user.departmentid,
         employeId: this.$store.state.user.employeid,
         createTime: parseTime(new Date(), '{y}-{m}-{d}'),
-        providerId: ''
+        providerId: '',
+        subscribeType:'1'
       },
       requestSparePart: {
         name: 'getPartsListSG',
@@ -868,6 +896,7 @@ export default {
       this.createTemp.createTime = parseTime(new Date(), '{y}-{m}-{d}')
       this.createTemp.orderNumber = ''
       this.createTemp.providerId = ''
+      this.createTemp.subscribeType = '1'
       this.listAdd = []
     },
     form_add() {
@@ -1813,6 +1842,21 @@ export default {
           })
         }
       })
+    },
+    handle_specialSubscription(){
+      this.resetCreateTemp()
+      this.edit = 1
+      this.getDepartParam.parammaps.pastureId = this.createTemp.pastureId
+      this.getCreateDepartDownList()
+      this.dialogStatus = 'special'
+      this.dialogFormVisible = true
+      this.$nextTick(() => {
+        this.$refs['createTemp'].clearValidate()
+      })
+      this.getCreateNumber()
+    },
+    special_dialog_save(){
+      console.log('特殊申购保存')
     }
   }
 }

+ 1 - 0
src/views/report/equipmentIndex/index.vue

@@ -44,6 +44,7 @@
                 <a @click="clickEquipmentIndex(row)">{{ row.pastureName }}</a>
               </template>
             </el-table-column>
+            <el-table-column label="饲养头日" sortable min-width="80px" align="center" prop="monthBudget" />
           </el-table-column>
           <el-table-column label="总指标(万元)" align="center">
             <el-table-column label="预算" sortable min-width="80px" align="center" prop="monthBudget" />

+ 44 - 108
src/views/report/maintenanceFault/index.vue

@@ -5,48 +5,20 @@
       <el-progress style="padding-left: 10px;" :text-inside="true" :stroke-width="26" :percentage="percentage" />
     </div>
     <div class="filter-container">
-
-      <el-select  v-if="isPasture" v-model="tableObj.getdataListParm.parammaps.pastureName" placeholder="牧场" style="width: 140px;" class="filter-item" >
+      <el-select  v-if="isPasture || isType3" v-model="tableObj.getdataListParm.parammaps.pastureName" placeholder="牧场" style="width: 140px;" class="filter-item" >
         <el-option v-for="item in pastureList" :key="item.id" :label="item.name" :value="item.name" />
       </el-select>
-
-
-      <el-select  v-if="isPasture || isType" v-model="tableObj.getdataListParm.parammaps.eqClassId" placeholder="设备类别" style="width: 140px;" class="filter-item" clearable>
+      <el-select  v-if="isPasture || isType || isType3" v-model="tableObj.getdataListParm.parammaps.eqClassId" placeholder="设备类别" style="width: 140px;" class="filter-item" clearable>
         <el-option v-for="item in eqClassList" :key="item.id" :label="item.remark" :value="item.id" />
       </el-select>
-
-      <el-date-picker
-        v-if="isPasture"
-        ref="inputDatetime"
-        v-model="tableObj.getdataListParm.parammaps.inputDatetime"
-        class="inputDatetime"
-        type="datetimerange"
-        style="width: 280px;top:-3px;"
-        format="yyyy-MM-dd"
-        value-format="yyyy-MM-dd"
-        range-separator="至"
-        start-placeholder="开始日期"
-        end-placeholder="结束日期"
-        :clearable="false"
-      />
-
-
-
-
-
+      <el-date-picker v-if="isPasture" ref="inputDatetime" v-model="tableObj.getdataListParm.parammaps.inputDatetime" class="inputDatetime" type="datetimerange" style="width: 280px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :clearable="false" />
       <el-input  v-if="isType2" v-model="tableObj.getdataListParm.parammaps.eqName" placeholder="设备名称" style="width: 200px;" class="filter-item" />
-
-      <!-- <el-select v-if="isType2" v-model="eqName" style="width: 140px;" placeholder="设备名称" class="filter-item">
-        <el-option v-for="item in eqNameList" :key="item.id" :label="item.name" :value="item.name" />
-      </el-select> -->
-
-
-
       <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_search">搜索</el-button>
       <el-button class="filter-item" type="success" icon="el-icon-upload2" @click="form_export">导出</el-button>
     </div>
     <div v-if="isTitle" style="line-height:50px;height:50px"><b @click="goFirst">所有牧场</b>&gt;<span>{{ this.pastureName }}</span></div>
     <div v-if="isTitle2" style="line-height:50px;height:50px"><b @click="goFirst">所有牧场</b>&gt;<span @click="goSecond">{{ this.pastureName }}</span>&gt;<span>{{ this.typename }}</span></div>
+    <div v-if="isTitle3" style="line-height:50px;height:50px"><b @click="goFirst">所有资产</b>&gt;<span>{{ this.eqClassName }}</span></div>
     <el-table
       :key="tableObj.tableKey"
       v-loading="tableObj.listLoading"
@@ -69,59 +41,36 @@
       </el-table-column>
       <el-table-column v-if="isPasture" :key="1" label="牧场" min-width="140px" sortable align="center">
         <template slot-scope="{row}">
-          <a @click="table_click(row)">{{ row.pastureName }}</a>
+          <a @click="table_click1(row)">{{ row.pastureName }}</a>
         </template>
       </el-table-column>
-
-
-
-      <!-- <el-table-column v-if="isType" :key="2" label="设备分类" min-width="140px" align="center">
+      <el-table-column  v-if="isPasture" :key="5" label="设备二级分类名称" sortable min-width="140px" align="center">
         <template slot-scope="{row}">
-          <a @click="table_click2(row)">{{ row.typename }}</a>
+          <a @click="table_click4(row)" style="text-decoration: underline;">{{ row.eqClassName }}</a>
         </template>
       </el-table-column>
-      <el-table-column v-if="isType2" :key="3" label="设备名称" min-width="140px" align="center">
+      <el-table-column  v-if="isType" :key="5" label="设备三级分类名称"  sortable min-width="140px" align="center">
         <template slot-scope="{row}">
-          <a @click="table_click3(row)">{{ row.eqName }}</a>
-        </template>
-      </el-table-column>
-      <el-table-column v-if="isType2" :key="4" label="设备编号" min-width="140px" align="center">
-        <template slot-scope="{row}">
-          <span>{{ row.eqCode }}</span>
-        </template>
-      </el-table-column> -->
-
-
-
-      <el-table-column  v-if="isPasture"   :key="5" label="设备二级分类名称" sortable min-width="140px" align="center">
-        <template slot-scope="{row}">
-          <span>{{ row.eqClassName }}</span>
-        </template>
-      </el-table-column>
-
-      <el-table-column  v-if="isType"   :key="5" label="设备三级分类名称"  sortable min-width="140px" align="center">
-        <template slot-scope="{row}">
-
           <a @click="table_click2(row)">{{ row.eqClassName }}</a>
         </template>
       </el-table-column>
-
-
-
-      <el-table-column  v-if="isType2"    label="设备名称" sortable min-width="140px" align="center">
+      <el-table-column  v-if="isType2" label="设备名称" sortable min-width="140px" align="center">
         <template slot-scope="{row}">
           <span>{{ row.eqName }}</span>
         </template>
       </el-table-column>
-
-      <el-table-column  v-if="isType2"    label="设备内部编号" sortable min-width="140px" align="center">
+      <el-table-column  v-if="isType2" label="设备内部编号" sortable min-width="140px" align="center">
         <template slot-scope="{row}">
           <span>{{ row.eqCode }}</span>
         </template>
       </el-table-column>
 
-
-
+      <el-table-column  v-if="isType3" :key="5" label="牧场"  sortable min-width="140px" align="center" prop="pastureName" />
+      <el-table-column  v-if="isType3" :key="5" label="设备三级分类名称"  sortable min-width="140px" align="center">
+        <template slot-scope="{row}">
+          <span>{{ row.eqClassName }}</span>
+        </template>
+      </el-table-column>
 
       <el-table-column   :key="6" label="维修次数" sortable min-width="140px" align="center">
         <template slot-scope="{row}">
@@ -173,12 +122,15 @@ export default {
         }
       },
       isTitle: false,
+      isTitle3:false,
       isTitle2: false,
       isPasture: true,
       isType: false,
       isType2: false,
+      isType3:false,
       pastureName: '',
       eqName: '',
+      eqClassName:'',
       eqNameList: [],
       pastureList: [],
       eqClassList: [],
@@ -357,9 +309,8 @@ export default {
         textDecoration: 'none'
       }
     },
-    table_click(row) {
+    table_click1(row) {
       if (row.name !== '现代牧业') {
-
         this.pastureName = row.pastureName
         this.tableObj.getdataListParm.parammaps.offset = 1
         this.tableObj.getdataListParm.parammaps.pastureId = row.pastureId
@@ -368,38 +319,22 @@ export default {
         this.tableObj.getdataListParm.parammaps.eqClassId = ""
         this.get_table_data()
         this.isPasture = false
-         this.isType = true
-         this.isType2 = false
-          this.isTitle = true
-          this.isTitle2 = false
-
-
-
-
+        this.isType = true
+        this.isType2 = false
+        this.isTitle = true
+        this.isTitle2 = false
+        this.isType3 = false
       }
-
-
       this.eqClassList =  this.eqClassList3
-      // else {
-      //   this.get_table_data()
-      //   this.isTitle = false
-      //   this.isTitle2 = false
-      //   this.isType2 = false
-      // }
     },
     table_click2(row) {
       this.tableObj.getdataListParm.parammaps.offset = 1
-
-      // this.pastureName = row.name
       this.typename = row.eqClassName
-
       this.tableObj.getdataListParm.parammaps.pastureId = row.pastureId
-        this.tableObj.getdataListParm.parammaps.pastureName = row.pastureName
-        this.tableObj.getdataListParm.parammaps.level = "3"
-        this.tableObj.getdataListParm.parammaps.eqClassId = row.eqClassId
-        this.tableObj.getdataListParm.parammaps.eqName = ""
-
-
+      this.tableObj.getdataListParm.parammaps.pastureName = row.pastureName
+      this.tableObj.getdataListParm.parammaps.level = "3"
+      this.tableObj.getdataListParm.parammaps.eqClassId = row.eqClassId
+      this.tableObj.getdataListParm.parammaps.eqName = ""
       this.get_table_data()
       this.isPasture = false
       this.isType = false
@@ -418,19 +353,7 @@ export default {
         }
       }
     },
-    // goBack() {
-    //   this.isPasture = true
-    //   this.isType = false
-    //   this.isTitle = false
-    //   this.tableObj.getdataListParm.name = 'UkdoneRatePasture'
-    //   this.tableObj.getdataListParm.parammaps.typecode = ''
-    //   this.tableObj.getdataListParm.parammaps.eqClassId = ''
-    //   this.dataform.eqClassId = ''
-    //   this.dataform.typeCode = ''
-    //   this.get_table_data()
-    // },
     goFirst() {
-
       console.log("goFirst")
       this.tableObj.getdataListParm.offset = 1
       this.tableObj.getdataListParm.parammaps.level = "1"
@@ -439,14 +362,15 @@ export default {
       this.tableObj.getdataListParm.parammaps.pastureId = ''
       this.tableObj.getdataListParm.parammaps.pastureName = ''
       this.eqClassList =  this.eqClassList2
-
-
       this.get_table_data()
       this.isType = false
       this.isType2 = false
       this.isTitle = false
       this.isTitle2 = false
+      this.isTitle3 = false
       this.isPasture = true
+      this.isType3 = false
+      this.isTitle3 = false
     },
     goSecond() {
       console.log("goSecond")
@@ -605,6 +529,18 @@ export default {
           })
         })
       }
+    },
+    table_click4(row){
+      this.isTitle3 = true
+      this.isType3 = true
+      this.isTitle2 = false
+      this.isPasture = false
+      this.isType = false
+      this.isType2 = false
+      this.eqClassName = row.eqClassName
+      // this.tableObj.getdataListParm.parammaps.offset = 1
+      // this.tableObj.getdataListParm.parammaps.level = "2"
+      // this.get_table_data()
     }
 
   }

+ 0 - 592
src/views/report/queryCombustion/index11.vue

@@ -1,592 +0,0 @@
-<template>
-  <div class="app-container">
-    <div class="filter-container">
-      <div class="block">
-        <el-date-picker v-model="yearDate" :clearable="false" type="year" placeholder="选择年" />
-
-        <el-radio-group v-model="radio"    style="float:right;margin-top:20px">
-          <el-radio  label="集团">集团</el-radio>
-          <el-radio  label="一中心">一中心</el-radio>
-          <el-radio  label="二中心">二中心</el-radio>
-          <el-radio  label="三中心">三中心</el-radio>
-        </el-radio-group>   
-
-      </div>
-    </div>
-
-    <!-- 年度维修成本 -->
-    <el-row v-if="isBarChart1" style="position: relative;">
-      <p style="position: absolute;top:-12px;left:40%;color:rgb(130, 165, 252);background:rgb(230, 243, 255);border:1px solid rgb(130, 165, 252);padding:10px;border-radius:10px">
-        {{ year }}年集团柴油量:{{ total }}万升
-      </p>
-      <el-col :span="24">
-        <div id="barChart1" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-    <!-- 年度维修成本 -->
-    <el-row>
-      <el-col :span="12">
-        <div id="lineChart1" style="width: 100%;height:400px;" />
-      </el-col>
-      <el-col :span="12">
-        <div id="lineChart2" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-    <el-row>
-      <el-col :span="12">
-        <div id="pieChart1" style="width: 100%;height:400px;" />
-      </el-col>
-      <el-col :span="12">
-        <div id="barChart2" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-  </div>
-
-</template>
-
-<script>
-import echarts from 'echarts'
-
-require('echarts/theme/macarons')
-// eslint-disable-next-line no-unused-vars
-import waves from '@/directive/waves' // waves directive
-import { GetDataByName, GetReportform, checkButtons } from '@/api/common'
-
-import Cookies from 'js-cookie'
-export default {
-  name: 'QueryCombustion',
-  directives: { waves },
-  data() {
-    return {
-      yearDate: new Date(),
-      total: '',
-      // type: '柴油',
-      // types: [{ id: '0', name: '柴油' }, { id: '1', name: '天然气' }, { id: '2', name: '煤炭' }, { id: '3', name: '生物质颗粒' }],
-
-      radio: "集团",
-
-      pasture: Cookies.get('pasturename'),
-      year: new Date().getFullYear(),
-      month: new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1,
-      deptment: '维修处',
-
-      getBarChart1Parm: {
-        name: 'getpSumNowDiesel',
-        parammaps: {
-          receiveTime: new Date().getFullYear(),
-          center:'',
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getLineChart1Parm: {
-        name: 'getPastureSumMonthDiesel',
-        parammaps: {
-          receiveTime: new Date().getFullYear(),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getLineChart2Parm: {
-        name: 'getPastureSumDayDiesel',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getPieChart1Parm: {
-        name: 'getdeptSumMonthDiesel',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getBarChart2Parm: {
-        name: 'geteqclassSumMonthDiesel',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename'),
-          deptName: ''
-        }
-      },
-      barChart1: null,
-      lineChart1: null,
-      lineChart2: null,
-      pieChart1: null,
-      barChart2: null,
-
-      chart_data1: {
-        // pasture: ['宝鸡', '恒盛', '塞一', '塞二', '塞三', '塞四', '塞五', '通山', '合肥', '和林'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data2: {
-        // months: ['2019-01', '2019-02', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66],
-        // budget: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data3: {
-        // day: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data4: {
-        // name: ['饲养处', '其他部门', '设备处', '能源处', '牧场办公室'],
-        // psum: [
-        //   { value: 335, name: '饲养处' },
-        //   { value: 310, name: '其他部门' },
-        //   { value: 234, name: '设备处' },
-        //   { value: 135, name: '能源处' },
-        //   { value: 1548, name: '牧场办公室' }
-        // ]
-      },
-      chart_data5: {
-        // typeName: ['小型装载机', '叉车', '拖拉机', '抛料机', '搅拌机'],
-        // eqCost: [123, 332, 222, 333, 444],
-        // lastYear: [22, 342, 234, 234, 66]
-      },
-
-      tableKey: 0,
-      list: null,
-      total: 0,
-      listLoading: true,
-      rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
-      cellStyle: { padding: 0 + 'px' },
-
-      dialogFormVisibleCard: false,
-      listLoadingSee: true,
-      rowSeeData: {},
-      listSee: [],
-      totalSee: 0,
-      getdataListParmSee: {
-        name: 'geteqclassSumDay',
-        page: 1,
-        offset: 1,
-        pagecount: 10,
-        returntype: 'Map',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename'),
-          deptName: '',
-          typeName: '',
-          assetCode: '',
-          eqName: '',
-          startTime: '',
-          stopTime: '',
-          pastureId: Cookies.get('pastureid')
-        }
-      },
-      buttons: [],
-      isBarChart1: []
-
-    }
-  },
-
-  watch: {
-    'yearDate': {
-      deep: true,
-      handler: function(newVal, oldVal) {
-        var time = this.yearDate
-        console.log(newVal.getFullYear())
-        this.year = time.getFullYear()
-        this.getBarChart1Parm.parammaps.receiveTime = time.getFullYear()
-        this.getLineChart1Parm.parammaps.receiveTime = time.getFullYear()
-        this.getLineChart2Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-        this.getPieChart1Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-        this.getBarChart2Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-
-        this.getBarChart1()
-        this.getLineChart1()
-        this.getLineChart2()
-        this.getPieChart1()
-      }
-    },
-    'radio': {
-      deep: true,
-      handler: function(newVal, oldVal) {
-        console.log(newVal, oldVal)
-        if(newVal == '集团'){
-          this.getBarChart1Parm.parammaps.center = ''
-        } else {
-          this.getBarChart1Parm.parammaps.center = newVal
-        }
-        this.getBarChart1()
-        // this.getLineChart1()
-        // this.getLineChart2()
-        // this.getPieChart1()
-      }
-    },
-    // 'type': {
-    //   deep: true,
-    //   handler: function(newVal, oldVal) {
-    //     console.log(newVal, oldVal)
-    //     this.getBarChart1Parm.parammaps.type = newVal
-    //     this.getLineChart1Parm.parammaps.type = newVal
-    //     this.getLineChart2Parm.parammaps.type = newVal
-    //     this.getPieChart1Parm.parammaps.type = newVal
-    //     this.getBarChart2Parm.parammaps.type = newVal
-
-    //     this.getBarChart1()
-    //     this.getLineChart1()
-    //     this.getLineChart2()
-    //     this.getPieChart1()
-    //   }
-    // }
-  },
-
-  created() {
-    this.getBarChart1()
-    this.getLineChart1()
-    this.getLineChart2()
-    this.getPieChart1()
-    const that = this
-    GetDataByName({ 'name': 'getUserPCButtons', 'parammaps': { 'jwt_username': Cookies.get('name') }}).then(response => {
-      that.buttons = response.data.list
-      that.get_auto_buttons()
-    })
-  },
-  mounted() {
-    // this.roadBarChart1(this.chart_data1)
-    // this.roadlineChart1(this.chart_data2, this.pasture, this.year)
-    // this.roadlineChart2(this.chart_data3, this.pasture, this.month)
-    //  this.roadpieChart1(this.chart_data4, this.month)
-    // this.roadBarChart2(this.chart_data5, this.deptment)
-  },
-  methods: {
-    get_auto_buttons() {
-      // 图1
-      const BarChart1 = 'report:queryCombustion:pastures'
-      const isBarChart1 = checkButtons(this.$store.state.user.buttons, BarChart1)
-      this.isBarChart1 = isBarChart1
-    },
-    // 各牧场年度维修成本对比
-    getBarChart1() {
-      GetReportform(this.getBarChart1Parm).then(response => {
-        console.log('图1', response)
-        this.chart_data1 = response.data.chart_data
-        this.roadBarChart1(this.chart_data1)
-        var nowYear = response.data.chart_data.nowYear
-        var total = 0
-        if (nowYear !== null || nowYear !== undefined) {
-          nowYear.forEach(function(item, index) {
-            console.log(parseFloat(item))
-            total = total + parseFloat(item)
-          })
-        }
-        this.total = total.toFixed(4)
-      })
-    },
-    getLineChart1() {
-      GetReportform(this.getLineChart1Parm).then(response => {
-        console.log('图2', response)
-        this.chart_data2 = response.data.chart_data
-        this.roadlineChart1(this.chart_data2, this.pasture, this.year)
-      })
-    },
-    getLineChart2() {
-      GetReportform(this.getLineChart2Parm).then(response => {
-        console.log('图3', response)
-        this.chart_data3 = response.data.chart_data
-        this.roadlineChart2(this.chart_data3, this.pasture, this.month)
-      })
-    },
-    getPieChart1() {
-      GetDataByName(this.getPieChart1Parm).then(response => {
-        console.log('图4', response)
-        if (response.data === null || response.data.list === null) {
-          this.chart_data4 = { name: [], psum: [] }
-          this.roadpieChart1(this.chart_data4, this.month)
-        } else {
-          this.chart_data4.psum = response.data.list
-          var name = []
-          console.log(response.data.list)
-          response.data.list.forEach(function(i) {
-            name.push(i.name)
-          })
-          console.log(this.chart_data4)
-          this.chart_data4.name = name
-          this.roadpieChart1(this.chart_data4, this.month)
-          this.deptment = name[0]
-          this.getdataListParmSee.parammaps.deptName = name[0]
-          this.getBarChart2Parm.parammaps.deptName = name[0]
-          this.getBarChart2()
-        }
-      })
-    },
-    getBarChart2() {
-      GetReportform(this.getBarChart2Parm).then(response => {
-        console.log('图5', response)
-        this.chart_data5 = response.data.chart_data
-        this.roadBarChart2(this.chart_data5, this.deptment)
-      })
-    },
-
-    // 各牧场年度柴油量对比
-    roadBarChart1(chart_data1) {
-      if (this.barChart1 != null) {
-        this.barChart1.dispose()
-      }
-      this.barChart1 = echarts.init(document.getElementById('barChart1'))
-      var option = {
-        title: { text: '各牧场年度柴油量对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年用量', '去年同期'],
-          right: 40
-        },
-        color: ['#2dc0e8', '#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '4%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', name: '牧场', data: chart_data1.pasture, axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '升', axisLabel: { formatter: '{value}万' }}],
-        series: [
-          {
-            name: '今年用量',
-            type: 'bar',
-            data: chart_data1.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期',
-            type: 'bar',
-            data: chart_data1.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.barChart1.setOption(option)
-      window.onresize = function() {
-        this.barChart1.resize()
-      }
-      var that = this
-      this.barChart1.on('click', function(param, i) {
-        console.log(param)
-        that.pasture = param.name
-        that.getLineChart1Parm.parammaps.pastureName = param.name
-        that.getLineChart2Parm.parammaps.pastureName = param.name
-        that.getPieChart1Parm.parammaps.pastureName = param.name
-        that.getBarChart2Parm.parammaps.pastureName = param.name
-
-        that.getLineChart1()
-        that.getLineChart2()
-        that.getPieChart1()
-      })
-    },
-    // 每月维修成本对比
-    roadlineChart1(chart_data2, pasture, year) {
-      if (this.lineChart1 != null) {
-        this.lineChart1.dispose()
-      }
-      this.lineChart1 = echarts.init(document.getElementById('lineChart1'))
-      var option = {
-        title: { text: pasture + year + '每月柴油量对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年用量', '去年同期用量']
-        },
-        color: [ '#769cfc', '#FFB800', '#6bda00'],
-        grid: { left: '3%', right: '8%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data2.months, name: '月份', axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '升', axisLabel: { formatter: '{value}' }}],
-        series: [
-          {
-            name: '今年用量',
-            type: 'line',
-            data: chart_data2.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期用量',
-            type: 'line',
-            data: chart_data2.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '预算',
-            type: 'line',
-            data: chart_data2.budget,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.lineChart1.setOption(option)
-      window.onresize = function() {
-        this.lineChart1.resize()
-      }
-      var that = this
-      this.lineChart1.on('click', function(param, i) {
-        console.log(param)
-
-        that.getLineChart2Parm.parammaps.receiveTime = param.name
-        that.getPieChart1Parm.parammaps.receiveTime = param.name
-        that.getBarChart2Parm.parammaps.receiveTime = param.name
-
-        var num = param.name.substring(5)
-        console.log(num)
-        that.month = num
-        that.getLineChart2()
-        that.getPieChart1()
-      })
-    },
-
-    // 每日维修成本对比
-    roadlineChart2(chart_data3, pasture, month) {
-      if (this.lineChart2 != null) {
-        this.lineChart2.dispose()
-      }
-      this.lineChart2 = echarts.init(document.getElementById('lineChart2'))
-      var option = {
-        title: { text: pasture + month + '月每日柴油量对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年日用量', '去年同期']
-        },
-        color: [ '#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '5%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data3.day, name: '日期', axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '升', axisLabel: { formatter: '{value}' }}],
-        series: [
-          {
-            name: '今年日用量',
-            type: 'line',
-            data: chart_data3.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期',
-            type: 'line',
-            data: chart_data3.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.lineChart2.setOption(option)
-      window.onresize = function() {
-        this.lineChart2.resize()
-      }
-      this.lineChart2.on('click', function(param, i) {
-        console.log(param)
-      })
-    },
-    // 部门统计
-    roadpieChart1(chart_data4, month) {
-      if (this.pieChart1 != null) {
-        this.pieChart1.dispose()
-      }
-      this.pieChart1 = echarts.init(document.getElementById('pieChart1'))
-      var option = {
-        title: { text: month + '月部门统计', textStyle: { color: '#769cfc' }},
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        legend: {
-          data: chart_data4.name, top: 40
-        },
-        color: [ '#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '5%', bottom: '4%', containLabel: true },
-        series: [
-          {
-            name: '',
-            type: 'pie',
-            radius: '55%',
-            center: ['50%', '60%'],
-            data: chart_data4.psum,
-            emphasis: {
-              itemStyle: {
-                shadowBlur: 10,
-                shadowOffsetX: 0,
-                shadowColor: 'rgba(0, 0, 0, 0.5)'
-              }
-            }
-          }
-
-        ]
-      }
-      this.pieChart1.setOption(option)
-      window.onresize = function() {
-        this.pieChart1.resize()
-      }
-      var that = this
-      this.pieChart1.on('click', function(param, i) {
-        console.log(param)
-        that.deptment = param.name
-        that.getBarChart2Parm.parammaps.deptName = param.name
-        that.getBarChart2()
-      })
-    },
-    // 维修成本
-    roadBarChart2(chart_data5, deptment) {
-      if (this.barChart2 != null) {
-        this.barChart2.dispose()
-      }
-      this.barChart2 = echarts.init(document.getElementById('barChart2'))
-      var option = {
-        title: { text: deptment + '柴油用量', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['柴油用量']
-        },
-        color: [ '#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '10%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data5.typeName, name: '设备', axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '升', axisLabel: { formatter: '{value}' }}],
-        series: [
-          {
-            name: '柴油用量',
-            type: 'bar',
-            barWidth: 14,
-            data: chart_data5.eqCost,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.barChart2.setOption(option)
-      window.onresize = function() {
-        this.barChart2.resize()
-      }
-    }
-
-  }
-}
-</script>
-<style>
-.el-row {
-    margin-bottom: 40px;
-    &:last-child {
-      margin-bottom: 0;
-    }
-  }
-</style>
-
-<style lang="scss" scoped>
-
-.dashboard-editor-container {
-  padding: 20px;
-  background-color: rgb(240, 242, 245);
-  position: relative;
-
-  .github-corner {
-    position: absolute;
-    top: 0px;
-    border: 0;
-    right: 0;
-  }
-
-  .chart-wrapper {
-    background: #fff;
-    padding: 16px 16px 0;
-  }
-}
-
-@media (max-width:1024px) {
-  .chart-wrapper {
-    padding: 8px;
-  }
-}
-</style>

+ 0 - 132
src/views/report/queryElec/components/BarChartDept.vue

@@ -1,132 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-// import { parseTime } from '@/utils/index.js'
-// import { emit } from 'cluster'
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    barCharDeptData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null,
-      sourceDate: []
-    }
-  },
-  watch: {
-    barCharDeptData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log(val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.barCharDeptData)
-      console.log(this.barCharDeptData)
-    },
-    setOptions({ xAxisData, seriesData, text } = {}) {
-      this.chart.setOption({
-        title: {
-          text: text + '电表柱状图',
-          subtext: ''
-        },
-        tooltip: {
-          trigger: 'axis',
-          axisPointer: { // 坐标轴指示器,坐标轴触发有效
-            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
-          }
-        },
-        grid: {
-          left: '3%',
-          right: '15%',
-          bottom: '-4%',
-          containLabel: true
-        },
-        xAxis: [
-          {
-            name: '电表名称',
-            type: 'category',
-            // data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
-            data: xAxisData,
-            // data: [],
-            axisTick: {
-              alignWithLabel: true
-            },
-            // axisLabel: { interval: 0, rotate: 40 }
-            axisLabel: { interval: 0 }
-            // show: false
-          }
-        ],
-        yAxis: [
-          {
-            name: '千瓦',
-            type: 'value'
-          }
-        ],
-        series: [
-          {
-            name: '',
-            type: 'bar',
-            barWidth: '60%',
-            // data: [10, 52, 200, 334, 390, 330, 220]
-            data: seriesData
-          }
-        ]
-      })
-      const that = this
-      // 点击柱状图拿到对应内容
-      this.chart.on('click', function(params) {
-        console.log(params.name)
-        // console.log(parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-        // that.$emit('barClickDept', parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-        that.$emit('barClickDept', params.name)
-      })
-    }
-  }
-}
-</script>

+ 0 - 115
src/views/report/queryElec/components/BarChartPasture.vue

@@ -1,115 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-// import { parseTime } from '@/utils/index.js'
-// import { emit } from 'cluster'
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    barPastureData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null,
-      sourceDate: []
-    }
-  },
-  watch: {
-    barPastureData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log(val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.barPastureData)
-    },
-    setOptions({ sourceDate, text } = {}) {
-      this.chart.setOption({
-        title: {
-          text: '最近12个月用电量同期对比',
-          subtext: ''
-        },
-        legend: { x: 'right' },
-        tooltip: {
-          trigger: 'axis',
-          axisPointer: { // 坐标轴指示器,坐标轴触发有效
-            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
-          }
-        },
-        dataset: {
-          source: sourceDate
-          // source: [
-          //   ['product', '去年同期', '预算', '实际']
-          //   // ['10月', 433, 85.8, 93.7],
-          //   // ['9月', 83.1, 73.4, 55.1],
-          //   // ['8月', 86.4, 65.2, 82.5],
-          //   // ['7月', 72.4, 53.9, 39.1]
-          // ]
-        },
-        xAxis: { type: 'category', name: '最近12个月', formatter: '', axisLabel: { interval: 0, rotate: 40 }},
-        yAxis: { name: '千瓦' },
-        grid: [
-          { left: '15%', right: '17%' }
-        ],
-        series: [
-          { type: 'bar' },
-          { type: 'bar' },
-          { type: 'bar' }
-        ]
-      })
-      const that = this
-      // 点击柱状图拿到对应内容
-      this.chart.on('click', function(params) {
-        // console.log(parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-        // that.$emit('chartClick', parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-        that.$emit('chartClick', params.name.substring(0, 7))
-      })
-    }
-  }
-}
-</script>

+ 0 - 80
src/views/report/queryElec/components/BarChartPastureMonth.vue

@@ -1,80 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '475px'
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.chart.setOption({
-        legend: {},
-        tooltip: {},
-        dataset: {
-          source: [
-            ['product', '2015', '2016', '2017'],
-            ['10月', 43.3, 85.8, 93.7],
-            ['9月', 83.1, 73.4, 55.1],
-            ['8月', 86.4, 65.2, 82.5],
-            ['7月', 72.4, 53.9, 39.1]
-          ]
-        },
-        xAxis: [
-          { type: 'category', gridIndex: 0, name: '最近12个月' }
-        ],
-        yAxis: [
-          { gridIndex: 0, name: '总费用' }
-        ],
-        grid: [
-          { bottom: '58%' },
-          { top: '58%' }
-        ],
-        series: [
-          { type: 'bar' },
-          { type: 'bar' },
-          { type: 'bar' }
-        ]
-      })
-    }
-  }
-}
-</script>

+ 0 - 165
src/views/report/queryElec/components/Contrast.vue

@@ -1,165 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-// import { debounce } from '@/utils'
-
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    contrastData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  watch: {
-    contrastData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log('watch拿到的val', val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.contrastData)
-      // console.log('methods拿到的pieDeptData', this.pieDeptData)
-    },
-    setOptions({ lastData, thisData, text, thisMinData, days } = {}) {
-      this.chart.setOption({
-        title: {
-          text: text + '月用电量同期对比',
-          subtext: ''
-        },
-        tooltip: {
-          trigger: 'axis'
-        },
-        legend: {
-          data: ['去年', '今年']
-        },
-        toolbox: {
-          show: true,
-          feature: {
-            dataZoom: {
-              yAxisIndex: 'none'
-            },
-            dataView: { readOnly: false },
-            magicType: { type: ['line', 'bar'] },
-            restore: {},
-            saveAsImage: {}
-          }
-        },
-        xAxis: {
-          type: 'category',
-          name: '日期',
-          boundaryGap: false,
-          data: days
-        },
-        yAxis: {
-          type: 'value',
-          name: '千瓦',
-          axisLabel: {
-            formatter: '{value}'
-          }
-        },
-        grid: [
-          { top: '25%', left: '15%', bottom: '5%' }
-        ],
-        series: [
-          {
-            name: '去年',
-            type: 'line',
-            // data: [11, 11, 15, 13, 12, 13, 10, 9, 11, 3],
-            data: lastData,
-            markPoint: {
-              data: [
-                // { type: 'max', name: '最大值' },
-                // { type: 'min', name: '最小值' }
-              ]
-            },
-            markLine: {
-              data: [
-                { type: 'average', name: '平均值' }
-              ]
-            }
-          },
-          {
-            name: '今年',
-            type: 'line',
-            // data: [1, 5, 2, 5, 3, 2, 0, 9, 6, 7],
-            data: thisData,
-            markPoint: {
-              data: [
-                // { name: '周最低', value: 5, xAxis: 1, yAxis: 2 }
-                // { type: 'max', name: '最大值' },
-                // { type: 'min', name: '最小值' }
-              ]
-            },
-            markLine: {
-              data: [
-                { type: 'average', name: '平均值' },
-                [{
-                  symbol: 'none',
-                  x: '90%',
-                  yAxis: 'max'
-                }, {
-                  symbol: 'circle',
-                  label: {
-                    normal: {
-                      position: 'start',
-                      formatter: '最大值'
-                    }
-                  },
-                  type: 'max',
-                  name: '最高点'
-                }]
-              ]
-            }
-          }
-        ]
-      })
-    }
-  }
-}
-</script>

+ 0 - 120
src/views/report/queryElec/components/PieChartDepartment.vue

@@ -1,120 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-// import { debounce } from '@/utils'
-
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    pieDeptData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  watch: {
-    pieDeptData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log('watch拿到的val', val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.pieDeptData)
-      // console.log('methods拿到的pieDeptData', this.pieDeptData)
-    },
-    setOptions({ DeptData, text } = {}) {
-      // console.log('setOptions拿到的DeptData', DeptData)
-      this.chart.setOption({
-        title: {
-          text: text + '月部门统计',
-          subtext: '',
-          x: 'center'
-        },
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        legend: {
-          orient: 'vertical',
-          left: 'left',
-          data: ['', '', '', '', '']
-        },
-        series: [
-          {
-            name: text + '月',
-            type: 'pie',
-            radius: '55%',
-            center: ['50%', '60%'],
-            data: DeptData,
-            // data: [
-            //   { value: 335, name: '直接访问' },
-            //   { value: 310, name: '邮件营销' },
-            //   { value: 234, name: '联盟广告' },
-            //   { value: 135, name: '视频广告' },
-            //   { value: 1548, name: '搜索引擎' }
-            // ],
-            itemStyle: {
-              emphasis: {
-                shadowBlur: 10,
-                shadowOffsetX: 0,
-                shadowColor: 'rgba(0, 0, 0, 0.5)'
-              }
-            }
-          }
-        ]
-      })
-      const that = this
-      // 点击饼图拿到对应内容
-      this.chart.on('click', function(params) {
-        // console.log(params)
-        that.$emit('chartClickDept', params.name)
-      })
-    }
-  }
-}
-</script>

+ 0 - 109
src/views/report/queryElec/components/PieChartType.vue

@@ -1,109 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    pieTypeData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  watch: {
-    pieTypeData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log('watch拿到的val', val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.pieTypeData)
-      // console.log('methods拿到的pieTypeData', this.pieTypeData)
-    },
-    setOptions({ TypeData, text } = {}) {
-      // console.log('setOptions拿到的TypeData', TypeData)
-      this.chart.setOption({
-        title: {
-          text: text + '月类型统计',
-          subtext: '',
-          x: 'center'
-        },
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        legend: {
-          orient: 'vertical',
-          left: 'left',
-          data: ['', '', '', '', '']
-        },
-        series: [
-          {
-            name: text + '月',
-            type: 'pie',
-            radius: '55%',
-            center: ['50%', '60%'],
-            data: TypeData,
-            itemStyle: {
-              emphasis: {
-                shadowBlur: 10,
-                shadowOffsetX: 0,
-                shadowColor: 'rgba(0, 0, 0, 0.5)'
-              }
-            }
-          }
-        ]
-      })
-      const that = this
-      // 点击饼图拿到对应内容
-      this.chart.on('click', function(params) {
-        console.log(params)
-        that.$emit('chartClickType', params.name)
-      })
-    }
-  }
-}
-</script>

+ 0 - 81
src/views/report/queryElec/components/TodoList/Todo.vue

@@ -1,81 +0,0 @@
-<template>
-  <li :class="{ completed: todo.done, editing: editing }" class="todo">
-    <div class="view">
-      <input
-        :checked="todo.done"
-        class="toggle"
-        type="checkbox"
-        @change="toggleTodo( todo)"
-      >
-      <label @dblclick="editing = true" v-text="todo.text" />
-      <button class="destroy" @click="deleteTodo( todo )" />
-    </div>
-    <input
-      v-show="editing"
-      v-focus="editing"
-      :value="todo.text"
-      class="edit"
-      @keyup.enter="doneEdit"
-      @keyup.esc="cancelEdit"
-      @blur="doneEdit"
-    >
-  </li>
-</template>
-
-<script>
-export default {
-  name: 'Todo',
-  directives: {
-    focus(el, { value }, { context }) {
-      if (value) {
-        context.$nextTick(() => {
-          el.focus()
-        })
-      }
-    }
-  },
-  props: {
-    todo: {
-      type: Object,
-      default: function() {
-        return {}
-      }
-    }
-  },
-  data() {
-    return {
-      editing: false
-    }
-  },
-  methods: {
-    deleteTodo(todo) {
-      this.$emit('deleteTodo', todo)
-    },
-    editTodo({ todo, value }) {
-      this.$emit('editTodo', { todo, value })
-    },
-    toggleTodo(todo) {
-      this.$emit('toggleTodo', todo)
-    },
-    doneEdit(e) {
-      const value = e.target.value.trim()
-      const { todo } = this
-      if (!value) {
-        this.deleteTodo({
-          todo
-        })
-      } else if (this.editing) {
-        this.editTodo({
-          todo,
-          value
-        })
-        this.editing = false
-      }
-    },
-    cancelEdit(e) {
-      e.target.value = this.todo.text
-      this.editing = false
-    }
-  }
-}
-</script>

+ 0 - 320
src/views/report/queryElec/components/TodoList/index.scss

@@ -1,320 +0,0 @@
-.todoapp {
-  font: 14px 'Helvetica Neue', Helvetica, Arial, sans-serif;
-  line-height: 1.4em;
-  color: #4d4d4d;
-  min-width: 230px;
-  max-width: 550px;
-  margin: 0 auto ;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  font-weight: 300;
-  background: #fff;
-  z-index: 1;
-  position: relative;
-  button {
-    margin: 0;
-    padding: 0;
-    border: 0;
-    background: none;
-    font-size: 100%;
-    vertical-align: baseline;
-    font-family: inherit;
-    font-weight: inherit;
-    color: inherit;
-    -webkit-appearance: none;
-    appearance: none;
-    -webkit-font-smoothing: antialiased;
-    -moz-osx-font-smoothing: grayscale;
-  }
-  :focus {
-    outline: 0;
-  }
-  .hidden {
-    display: none;
-  }
-  .todoapp {
-    background: #fff;
-    margin: 130px 0 40px 0;
-    position: relative;
-    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1);
-  }
-  .todoapp input::-webkit-input-placeholder {
-    font-style: italic;
-    font-weight: 300;
-    color: #e6e6e6;
-  }
-  .todoapp input::-moz-placeholder {
-    font-style: italic;
-    font-weight: 300;
-    color: #e6e6e6;
-  }
-  .todoapp input::input-placeholder {
-    font-style: italic;
-    font-weight: 300;
-    color: #e6e6e6;
-  }
-  .todoapp h1 {
-    position: absolute;
-    top: -155px;
-    width: 100%;
-    font-size: 100px;
-    font-weight: 100;
-    text-align: center;
-    color: rgba(175, 47, 47, 0.15);
-    -webkit-text-rendering: optimizeLegibility;
-    -moz-text-rendering: optimizeLegibility;
-    text-rendering: optimizeLegibility;
-  }
-  .new-todo,
-  .edit {
-    position: relative;
-    margin: 0;
-    width: 100%;
-    font-size: 18px;
-    font-family: inherit;
-    font-weight: inherit;
-    line-height: 1.4em;
-    border: 0;
-    color: inherit;
-    padding: 6px;
-    border: 1px solid #999;
-    box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-    box-sizing: border-box;
-    -webkit-font-smoothing: antialiased;
-    -moz-osx-font-smoothing: grayscale;
-  }
-  .new-todo {
-    padding: 10px 16px 16px 60px;
-    border: none;
-    background: rgba(0, 0, 0, 0.003);
-    box-shadow: inset 0 -2px 1px rgba(0, 0, 0, 0.03);
-  }
-  .main {
-    position: relative;
-    z-index: 2;
-    border-top: 1px solid #e6e6e6;
-  }
-  .toggle-all {
-    text-align: center;
-    border: none;
-    /* Mobile Safari */
-    opacity: 0;
-    position: absolute;
-  }
-  .toggle-all+label {
-    width: 60px;
-    height: 34px;
-    font-size: 0;
-    position: absolute;
-    top: -52px;
-    left: -13px;
-    -webkit-transform: rotate(90deg);
-    transform: rotate(90deg);
-  }
-  .toggle-all+label:before {
-    content: '❯';
-    font-size: 22px;
-    color: #e6e6e6;
-    padding: 10px 27px 10px 27px;
-  }
-  .toggle-all:checked+label:before {
-    color: #737373;
-  }
-  .todo-list {
-    margin: 0;
-    padding: 0;
-    list-style: none;
-  }
-  .todo-list li {
-    position: relative;
-    font-size: 24px;
-    border-bottom: 1px solid #ededed;
-  }
-  .todo-list li:last-child {
-    border-bottom: none;
-  }
-  .todo-list li.editing {
-    border-bottom: none;
-    padding: 0;
-  }
-  .todo-list li.editing .edit {
-    display: block;
-    width: 506px;
-    padding: 12px 16px;
-    margin: 0 0 0 43px;
-  }
-  .todo-list li.editing .view {
-    display: none;
-  }
-  .todo-list li .toggle {
-    text-align: center;
-    width: 40px;
-    /* auto, since non-WebKit browsers doesn't support input styling */
-    height: auto;
-    position: absolute;
-    top: 0;
-    bottom: 0;
-    margin: auto 0;
-    border: none;
-    /* Mobile Safari */
-    -webkit-appearance: none;
-    appearance: none;
-  }
-  .todo-list li .toggle {
-    opacity: 0;
-  }
-  .todo-list li .toggle+label {
-    /*
-    Firefox requires `#` to be escaped - https://bugzilla.mozilla.org/show_bug.cgi?id=922433
-    IE and Edge requires *everything* to be escaped to render, so we do that instead of just the `#` - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7157459/
-  */
-    background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23ededed%22%20stroke-width%3D%223%22/%3E%3C/svg%3E');
-    background-repeat: no-repeat;
-    background-position: center left;
-    background-size: 36px;
-  }
-  .todo-list li .toggle:checked+label {
-    background-size: 36px;
-    background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23bddad5%22%20stroke-width%3D%223%22/%3E%3Cpath%20fill%3D%22%235dc2af%22%20d%3D%22M72%2025L42%2071%2027%2056l-4%204%2020%2020%2034-52z%22/%3E%3C/svg%3E');
-  }
-  .todo-list li label {
-    word-break: break-all;
-    padding: 15px 15px 15px 50px;
-    display: block;
-    line-height: 1.0;
-        font-size: 14px;
-    transition: color 0.4s;
-  }
-  .todo-list li.completed label {
-    color: #d9d9d9;
-    text-decoration: line-through;
-  }
-  .todo-list li .destroy {
-    display: none;
-    position: absolute;
-    top: 0;
-    right: 10px;
-    bottom: 0;
-    width: 40px;
-    height: 40px;
-    margin: auto 0;
-    font-size: 30px;
-    color: #cc9a9a;
-    transition: color 0.2s ease-out;
-    cursor: pointer;
-  }
-  .todo-list li .destroy:hover {
-    color: #af5b5e;
-  }
-  .todo-list li .destroy:after {
-    content: '×';
-  }
-  .todo-list li:hover .destroy {
-    display: block;
-  }
-  .todo-list li .edit {
-    display: none;
-  }
-  .todo-list li.editing:last-child {
-    margin-bottom: -1px;
-  }
-  .footer {
-    color: #777;
-    position: relative;
-    padding: 10px 15px;
-    height: 40px;
-    text-align: center;
-    border-top: 1px solid #e6e6e6;
-  }
-  .footer:before {
-    content: '';
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 0;
-    height: 40px;
-    overflow: hidden;
-    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 8px 0 -3px #f6f6f6, 0 9px 1px -3px rgba(0, 0, 0, 0.2), 0 16px 0 -6px #f6f6f6, 0 17px 2px -6px rgba(0, 0, 0, 0.2);
-  }
-  .todo-count {
-    float: left;
-    text-align: left;
-  }
-  .todo-count strong {
-    font-weight: 300;
-  }
-  .filters {
-    margin: 0;
-    padding: 0;
-    position: relative;
-    z-index: 1;
-    list-style: none;
-  }
-  .filters li {
-    display: inline;
-  }
-  .filters li a {
-    color: inherit;
-    font-size: 12px;
-    padding: 3px 7px;
-    text-decoration: none;
-    border: 1px solid transparent;
-    border-radius: 3px;
-  }
-  .filters li a:hover {
-    border-color: rgba(175, 47, 47, 0.1);
-  }
-  .filters li a.selected {
-    border-color: rgba(175, 47, 47, 0.2);
-  }
-  .clear-completed,
-  html .clear-completed:active {
-    float: right;
-    position: relative;
-    line-height: 20px;
-    text-decoration: none;
-    cursor: pointer;
-  }
-  .clear-completed:hover {
-    text-decoration: underline;
-  }
-  .info {
-    margin: 65px auto 0;
-    color: #bfbfbf;
-    font-size: 10px;
-    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-    text-align: center;
-  }
-  .info p {
-    line-height: 1;
-  }
-  .info a {
-    color: inherit;
-    text-decoration: none;
-    font-weight: 400;
-  }
-  .info a:hover {
-    text-decoration: underline;
-  }
-  /*
-  Hack to remove background from Mobile Safari.
-  Can't use it globally since it destroys checkboxes in Firefox
-*/
-  @media screen and (-webkit-min-device-pixel-ratio:0) {
-    .toggle-all,
-    .todo-list li .toggle {
-      background: none;
-    }
-    .todo-list li .toggle {
-      height: 40px;
-    }
-  }
-  @media (max-width: 430px) {
-    .footer {
-      height: 50px;
-    }
-    .filters {
-      bottom: 10px;
-    }
-  }
-}

+ 0 - 127
src/views/report/queryElec/components/TodoList/index.vue

@@ -1,127 +0,0 @@
-<template>
-  <section class="todoapp">
-    <!-- header -->
-    <header class="header">
-      <input class="new-todo" autocomplete="off" placeholder="Todo List" @keyup.enter="addTodo">
-    </header>
-    <!-- main section -->
-    <section v-show="todos.length" class="main">
-      <input id="toggle-all" :checked="allChecked" class="toggle-all" type="checkbox" @change="toggleAll({ done: !allChecked })">
-      <label for="toggle-all" />
-      <ul class="todo-list">
-        <todo
-          v-for="(todo, index) in filteredTodos"
-          :key="index"
-          :todo="todo"
-          @toggleTodo="toggleTodo"
-          @editTodo="editTodo"
-          @deleteTodo="deleteTodo"
-        />
-      </ul>
-    </section>
-    <!-- footer -->
-    <footer v-show="todos.length" class="footer">
-      <span class="todo-count">
-        <strong>{{ remaining }}</strong>
-        {{ remaining | pluralize('item') }} left
-      </span>
-      <ul class="filters">
-        <li v-for="(val, key) in filters" :key="key">
-          <a :class="{ selected: visibility === key }" @click.prevent="visibility = key">{{ key | capitalize }}</a>
-        </li>
-      </ul>
-      <!-- <button class="clear-completed" v-show="todos.length > remaining" @click="clearCompleted">
-        Clear completed
-      </button> -->
-    </footer>
-  </section>
-</template>
-
-<script>
-import Todo from './Todo.vue'
-
-const STORAGE_KEY = 'todos'
-const filters = {
-  all: todos => todos,
-  active: todos => todos.filter(todo => !todo.done),
-  completed: todos => todos.filter(todo => todo.done)
-}
-const defalutList = [
-  { text: 'star this repository', done: false },
-  { text: 'fork this repository', done: false },
-  { text: 'follow author', done: false },
-  { text: 'vue-element-admin', done: true },
-  { text: 'vue', done: true },
-  { text: 'element-ui', done: true },
-  { text: 'axios', done: true },
-  { text: 'webpack', done: true }
-]
-export default {
-  components: { Todo },
-  filters: {
-    pluralize: (n, w) => n === 1 ? w : w + 's',
-    capitalize: s => s.charAt(0).toUpperCase() + s.slice(1)
-  },
-  data() {
-    return {
-      visibility: 'all',
-      filters,
-      // todos: JSON.parse(window.localStorage.getItem(STORAGE_KEY)) || defalutList
-      todos: defalutList
-    }
-  },
-  computed: {
-    allChecked() {
-      return this.todos.every(todo => todo.done)
-    },
-    filteredTodos() {
-      return filters[this.visibility](this.todos)
-    },
-    remaining() {
-      return this.todos.filter(todo => !todo.done).length
-    }
-  },
-  methods: {
-    setLocalStorage() {
-      window.localStorage.setItem(STORAGE_KEY, JSON.stringify(this.todos))
-    },
-    addTodo(e) {
-      const text = e.target.value
-      if (text.trim()) {
-        this.todos.push({
-          text,
-          done: false
-        })
-        this.setLocalStorage()
-      }
-      e.target.value = ''
-    },
-    toggleTodo(val) {
-      val.done = !val.done
-      this.setLocalStorage()
-    },
-    deleteTodo(todo) {
-      this.todos.splice(this.todos.indexOf(todo), 1)
-      this.setLocalStorage()
-    },
-    editTodo({ todo, value }) {
-      todo.text = value
-      this.setLocalStorage()
-    },
-    clearCompleted() {
-      this.todos = this.todos.filter(todo => !todo.done)
-      this.setLocalStorage()
-    },
-    toggleAll({ done }) {
-      this.todos.forEach(todo => {
-        todo.done = done
-        this.setLocalStorage()
-      })
-    }
-  }
-}
-</script>
-
-<style lang="scss">
-  @import './index.scss';
-</style>

+ 0 - 56
src/views/report/queryElec/components/mixins/resize.js

@@ -1,56 +0,0 @@
-import { debounce } from '@/utils'
-
-export default {
-  data() {
-    return {
-      $_sidebarElm: null
-    }
-  },
-  mounted() {
-    this.$_initResizeEvent()
-    this.$_initSidebarResizeEvent()
-  },
-  beforeDestroy() {
-    this.$_destroyResizeEvent()
-    this.$_destroySidebarResizeEvent()
-  },
-  // to fixed bug when cached by keep-alive
-  // https://github.com/PanJiaChen/vue-element-admin/issues/2116
-  activated() {
-    this.$_initResizeEvent()
-    this.$_initSidebarResizeEvent()
-  },
-  deactivated() {
-    this.$_destroyResizeEvent()
-    this.$_destroySidebarResizeEvent()
-  },
-  methods: {
-    // use $_ for mixins properties
-    // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
-    $_resizeHandler() {
-      return debounce(() => {
-        if (this.chart) {
-          this.chart.resize()
-        }
-      }, 100)()
-    },
-    $_initResizeEvent() {
-      window.addEventListener('resize', this.$_resizeHandler)
-    },
-    $_destroyResizeEvent() {
-      window.removeEventListener('resize', this.$_resizeHandler)
-    },
-    $_sidebarResizeHandler(e) {
-      if (e.propertyName === 'width') {
-        this.$_resizeHandler()
-      }
-    },
-    $_initSidebarResizeEvent() {
-      this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
-      this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
-    },
-    $_destroySidebarResizeEvent() {
-      this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
-    }
-  }
-}

+ 0 - 580
src/views/report/queryElec/index11.vue

@@ -1,580 +0,0 @@
-/* eslint-disable vue/valid-template-root */
-<template>
-  <div class="app-container">
-    <div class="filter-container">
-      <div class="block">
-        <el-date-picker v-model="yearDate" :clearable="false" type="year" placeholder="选择年" />
-
-        <el-radio-group v-model="radio"    style="float:right;margin-top:20px">
-          <el-radio  label="集团">集团</el-radio>
-          <el-radio  label="一中心">一中心</el-radio>
-          <el-radio  label="二中心">二中心</el-radio>
-          <el-radio  label="三中心">三中心</el-radio>
-        </el-radio-group>   
-
-      </div>
-    </div>
-
-    <el-row v-if="isBarChart1" style="position: relative;">
-      <p style="position: absolute;top:-12px;left:40%;color:rgb(130, 165, 252);background:rgb(230, 243, 255);border:1px solid rgb(130, 165, 252);padding:10px;border-radius:10px">
-        {{ year }}年集团用电量:{{ total }}万千瓦
-      </p>
-      <el-col :span="24">
-        <div id="barChart1" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-    <!-- 年度维修成本 -->
-    <el-row>
-      <el-col :span="12">
-        <div id="lineChart1" style="width: 100%;height:400px;" />
-      </el-col>
-      <el-col :span="12">
-        <div id="lineChart2" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-    <el-row>
-      <el-col :span="12">
-        <div id="pieChart1" style="width: 100%;height:400px;" />
-      </el-col>
-      <el-col :span="12">
-        <div id="barChart2" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-  </div>
-
-</template>
-
-<script>
-import echarts from 'echarts'
-
-require('echarts/theme/macarons') // echarts theme
-
-// eslint-disable-next-line no-unused-vars
-import waves from '@/directive/waves' // waves directive
-import Pagination from '@/components/Pagination' // secondary package based on el-pagination
-import { GetDataByName, GetDataByNames, GetReportform, checkButtons } from '@/api/common'
-import { parseTime } from '@/utils/index.js'
-
-import Cookies from 'js-cookie'
-export default {
-  name: 'QueryElec',
-  directives: { waves },
-  components: { Pagination },
-  data() {
-    return {
-      yearDate: new Date(),
-
-      radio: "集团",
-
-      pasture: Cookies.get('pasturename'),
-      year: new Date().getFullYear(),
-      month: new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1,
-      deptment: '维修处',
-      total: '',
-      getBarChart1Parm: {
-        name: 'getpSumNowElec',
-        parammaps: {
-          receiveTime: new Date().getFullYear(),
-          center:'',
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getLineChart1Parm: {
-        name: 'getPastureSumMonthElec',
-        parammaps: {
-          receiveTime: new Date().getFullYear(),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getLineChart2Parm: {
-        name: 'getPastureSumDayElec',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() <= 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getPieChart1Parm: {
-        name: 'getdeptSumMonthElec',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() <= 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getBarChart2Parm: {
-        name: 'geteqclassSumMonthElec',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() <= 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename'),
-          deptName: ''
-        }
-      },
-      barChart1: null,
-      lineChart1: null,
-      lineChart2: null,
-      pieChart1: null,
-      barChart2: null,
-
-      chart_data1: {
-        // pasture: ['宝鸡', '恒盛', '塞一', '塞二', '塞三', '塞四', '塞五', '通山', '合肥', '和林'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data2: {
-        // months: ['2019-01', '2019-02', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66],
-        // budget: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data3: {
-        // day: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data4: {
-        // name: ['饲养处', '其他部门', '设备处', '能源处', '牧场办公室'],
-        // psum: [
-        //   { value: 335, name: '饲养处' },
-        //   { value: 310, name: '其他部门' },
-        //   { value: 234, name: '设备处' },
-        //   { value: 135, name: '能源处' },
-        //   { value: 1548, name: '牧场办公室' }
-        // ]
-      },
-      chart_data5: {
-        // typeName: ['小型装载机', '叉车', '拖拉机', '抛料机', '搅拌机'],
-        // eqCost: [123, 332, 222, 333, 444],
-        // lastYear: [22, 342, 234, 234, 66]
-      },
-
-      tableKey: 0,
-      list: null,
-      total: 0,
-      listLoading: true,
-      rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
-      cellStyle: { padding: 0 + 'px' },
-
-      dialogFormVisibleCard: false,
-      listLoadingSee: true,
-      rowSeeData: {},
-      listSee: [],
-      totalSee: 0,
-      getdataListParmSee: {
-        name: 'geteqclassSumDay',
-        page: 1,
-        offset: 1,
-        pagecount: 10,
-        returntype: 'Map',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() <= 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename'),
-          deptName: '',
-          typeName: '',
-          assetCode: '',
-          eqName: '',
-          startTime: '',
-          stopTime: '',
-          pastureId: Cookies.get('pastureid')
-        }
-      },
-      buttons: [],
-      isBarChart1: []
-
-    }
-  },
-
-  watch: {
-    'yearDate': {
-      deep: true,
-      handler: function(newVal, oldVal) {
-        var time = this.yearDate
-        console.log(newVal.getFullYear())
-        this.year = time.getFullYear()
-        this.getBarChart1Parm.parammaps.receiveTime = time.getFullYear()
-        this.getLineChart1Parm.parammaps.receiveTime = time.getFullYear()
-        this.getLineChart2Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() <= 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-        this.getPieChart1Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() <= 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-        this.getBarChart2Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() <= 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-
-        this.getBarChart1()
-        this.getLineChart1()
-        this.getLineChart2()
-        this.getPieChart1()
-      }
-    },
-    'radio': {
-      deep: true,
-      handler: function(newVal, oldVal) {
-        console.log(newVal, oldVal)
-        if(newVal == '集团'){
-          this.getBarChart1Parm.parammaps.center = ''
-        } else {
-          this.getBarChart1Parm.parammaps.center = newVal
-        }
-        this.getBarChart1()
-        // this.getLineChart1()
-        // this.getLineChart2()
-        // this.getPieChart1()
-      }
-    },
-  },
-
-  created() {
-    this.getBarChart1()
-    this.getLineChart1()
-    this.getLineChart2()
-    this.getPieChart1()
-    const that = this
-    GetDataByName({ 'name': 'getUserPCButtons', 'parammaps': { 'jwt_username': Cookies.get('name') }}).then(response => {
-      that.buttons = response.data.list
-      that.get_auto_buttons()
-    })
-  },
-  mounted() {
-    // this.roadBarChart1(this.chart_data1)
-    // this.roadlineChart1(this.chart_data2, this.pasture, this.year)
-    // this.roadlineChart2(this.chart_data3, this.pasture, this.month)
-    //  this.roadpieChart1(this.chart_data4, this.month)
-    // this.roadBarChart2(this.chart_data5, this.deptment)
-  },
-  methods: {
-    get_auto_buttons() {
-      // 图1
-      const BarChart1 = 'report:queryElec:pastures'
-      const isBarChart1 = checkButtons(this.$store.state.user.buttons, BarChart1)
-      this.isBarChart1 = isBarChart1
-    },
-    // 各牧场年度维修成本对比
-    getBarChart1() {
-      GetReportform(this.getBarChart1Parm).then(response => {
-        console.log('图1', response)
-        this.chart_data1 = response.data.chart_data
-        this.roadBarChart1(this.chart_data1)
-        var nowYear = response.data.chart_data.nowYear
-        var total = 0
-        if (nowYear !== null || nowYear !== undefined) {
-          nowYear.forEach(function(item, index) {
-            console.log(parseFloat(item))
-            total = total + parseFloat(item)
-          })
-        }
-        this.total = total.toFixed(4)
-      })
-    },
-    getLineChart1() {
-      GetReportform(this.getLineChart1Parm).then(response => {
-        console.log('图2', response)
-        this.chart_data2 = response.data.chart_data
-        this.roadlineChart1(this.chart_data2, this.pasture, this.year)
-      })
-    },
-    getLineChart2() {
-      GetReportform(this.getLineChart2Parm).then(response => {
-        console.log('图3', response)
-        this.chart_data3 = response.data.chart_data
-        this.roadlineChart2(this.chart_data3, this.pasture, this.month)
-      })
-    },
-    getPieChart1() {
-      GetDataByName(this.getPieChart1Parm).then(response => {
-        console.log('图4', response)
-        if (response.data === null || response.data.list === null) {
-          this.chart_data4 = { name: [], psum: [] }
-          this.roadpieChart1(this.chart_data4, this.month)
-        } else {
-          this.chart_data4.psum = response.data.list
-          var name = []
-          console.log(response.data.list)
-          response.data.list.forEach(function(i) {
-            name.push(i.name)
-          })
-          console.log(this.chart_data4)
-          this.chart_data4.name = name
-          this.roadpieChart1(this.chart_data4, this.month)
-          this.deptment = name[0]
-          this.getdataListParmSee.parammaps.deptName = name[0]
-          this.getBarChart2Parm.parammaps.deptName = name[0]
-          this.getBarChart2()
-        }
-      })
-    },
-    getBarChart2() {
-      GetReportform(this.getBarChart2Parm).then(response => {
-        console.log('图5', response)
-        this.chart_data5 = response.data.chart_data
-        this.roadBarChart2(this.chart_data5, this.deptment)
-      })
-    },
-
-    // 各牧场年度维修成本对比
-    roadBarChart1(chart_data1) {
-      if (this.barChart1 != null) {
-        this.barChart1.dispose()
-      }
-      this.barChart1 = echarts.init(document.getElementById('barChart1'))
-      var option = {
-        title: { text: '各牧场年度用电量对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年用量', '去年同期'],
-          right: 40
-        },
-        color: ['#2dc0e8', '#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '4%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data1.pasture, axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '电量(千瓦)', axisLabel: { formatter: '{value}万' }}],
-        series: [
-          {
-            name: '今年用量',
-            type: 'bar',
-            data: chart_data1.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期',
-            type: 'bar',
-            data: chart_data1.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.barChart1.setOption(option)
-      window.onresize = function() {
-        this.barChart1.resize()
-      }
-      var that = this
-      this.barChart1.on('click', function(param, i) {
-        console.log(param)
-        that.pasture = param.name
-        that.getLineChart1Parm.parammaps.pastureName = param.name
-        that.getLineChart2Parm.parammaps.pastureName = param.name
-        that.getPieChart1Parm.parammaps.pastureName = param.name
-        that.getBarChart2Parm.parammaps.pastureName = param.name
-
-        that.getLineChart1()
-        that.getLineChart2()
-        that.getPieChart1()
-      })
-    },
-    // 每月维修成本对比
-    roadlineChart1(chart_data2, pasture, year) {
-      if (this.lineChart1 != null) {
-        this.lineChart1.dispose()
-      }
-      this.lineChart1 = echarts.init(document.getElementById('lineChart1'))
-      var option = {
-        title: { text: pasture + year + '每月用电量对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年用量', '去年同期用量'],
-          x: 'right'
-        },
-        color: [ '#769cfc', '#FFB800', '#6bda00'],
-        grid: { left: '3%', right: '5%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data2.months, name: '月份', axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '电量(千瓦)', axisLabel: { formatter: '{value}万' }}],
-        series: [
-          {
-            name: '今年用量',
-            type: 'line',
-            data: chart_data2.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期用量',
-            type: 'line',
-            data: chart_data2.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '预算',
-            type: 'line',
-            data: chart_data2.budget,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.lineChart1.setOption(option)
-      window.onresize = function() {
-        this.lineChart1.resize()
-      }
-      var that = this
-      this.lineChart1.on('click', function(param, i) {
-        console.log(param)
-
-        that.getLineChart2Parm.parammaps.receiveTime = param.name
-        that.getPieChart1Parm.parammaps.receiveTime = param.name
-        that.getBarChart2Parm.parammaps.receiveTime = param.name
-
-        var num = param.name.substring(5)
-        console.log(num)
-        that.month = num
-        that.getLineChart2()
-        that.getPieChart1()
-      })
-    },
-
-    // 每月维修成本对比
-    roadlineChart2(chart_data3, pasture, month) {
-      if (this.lineChart2 != null) {
-        this.lineChart2.dispose()
-      }
-      this.lineChart2 = echarts.init(document.getElementById('lineChart2'))
-      var option = {
-        title: { text: pasture + month + '月每日用电量对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年日用量', '去年同期'],
-          x: 'right'
-        },
-        color: [ '#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '5%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data3.day, name: '日期', axisLabel: { interval: 0 }}],
-        yAxis: [{ type: 'value', name: '电量(千瓦)', axisLabel: { formatter: '{value}' }}],
-        series: [
-          {
-            name: '今年日用量',
-            type: 'line',
-            data: chart_data3.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期',
-            type: 'line',
-            data: chart_data3.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.lineChart2.setOption(option)
-      window.onresize = function() {
-        this.lineChart2.resize()
-      }
-      this.lineChart2.on('click', function(param, i) {
-        console.log(param)
-      })
-    },
-    // 部门统计
-    roadpieChart1(chart_data4, month) {
-      if (this.pieChart1 != null) {
-        this.pieChart1.dispose()
-      }
-      this.pieChart1 = echarts.init(document.getElementById('pieChart1'))
-      var option = {
-        title: { text: month + '月部门统计', textStyle: { color: '#769cfc' }},
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        legend: {
-          data: chart_data4.name, top: 40, x: 'right'
-        },
-        color: ['#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '5%', bottom: '4%', containLabel: true },
-        series: [
-          {
-            name: '',
-            type: 'pie',
-            radius: '55%',
-            center: ['50%', '60%'],
-            data: chart_data4.psum,
-            emphasis: {
-              itemStyle: {
-                shadowBlur: 10,
-                shadowOffsetX: 0,
-                shadowColor: 'rgba(0, 0, 0, 0.5)'
-              }
-            }
-          }
-
-        ]
-      }
-      this.pieChart1.setOption(option)
-      window.onresize = function() {
-        this.pieChart1.resize()
-      }
-      var that = this
-      this.pieChart1.on('click', function(param, i) {
-        console.log(param)
-        that.deptment = param.name
-        that.getBarChart2Parm.parammaps.deptName = param.name
-        that.getBarChart2()
-      })
-    },
-    // 维修成本
-    roadBarChart2(chart_data5, deptment) {
-      if (this.barChart2 != null) {
-        this.barChart2.dispose()
-      }
-      this.barChart2 = echarts.init(document.getElementById('barChart2'))
-      var option = {
-        title: { text: deptment + '用电量', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['用电量'],
-          x: 'right'
-        },
-        color: [ '#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '10%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data5.typeName, name: '电表名称', axisLabel: { interval: 0 }}],
-        yAxis: [{ type: 'value', name: '电量(千瓦)', axisLabel: { formatter: '{value}万' }}],
-        series: [
-          {
-            name: '用电量',
-            type: 'bar',
-            barWidth: 14,
-            data: chart_data5.eqCost,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.barChart2.setOption(option)
-      window.onresize = function() {
-        this.barChart2.resize()
-      }
-    }
-
-  }
-}
-</script>
-<style>
-.el-row {
-    margin-bottom: 40px;
-    &:last-child {
-      margin-bottom: 0;
-    }
-  }
-</style>
-
-<style lang="scss" scoped>
-
-.dashboard-editor-container {
-  padding: 20px;
-  background-color: rgb(240, 242, 245);
-  position: relative;
-
-  .github-corner {
-    position: absolute;
-    top: 0px;
-    border: 0;
-    right: 0;
-  }
-
-  .chart-wrapper {
-    background: #fff;
-    padding: 16px 16px 0;
-  }
-}
-
-@media (max-width:1024px) {
-  .chart-wrapper {
-    padding: 8px;
-  }
-}
-</style>

+ 0 - 128
src/views/report/queryRepair/components/BarChartDept.vue

@@ -1,128 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-// import { parseTime } from '@/utils/index.js'
-// import { emit } from 'cluster'
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    barCharDeptData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null,
-      sourceDate: []
-    }
-  },
-  watch: {
-    barCharDeptData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log(val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.barCharDeptData)
-      // console.log('this.barCharDeptData', this.barCharDeptData)
-    },
-    setOptions({ xAxisData, seriesData, text } = {}) {
-      this.chart.setOption({
-        title: {
-          text: text + '维修成本柱状图',
-          subtext: ''
-        },
-        tooltip: {
-          trigger: 'axis',
-          axisPointer: { // 坐标轴指示器,坐标轴触发有效
-            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
-          }
-        },
-        grid: {
-          left: '3%',
-          right: '15%',
-          bottom: '3%',
-          containLabel: true
-        },
-        xAxis: [
-          {
-            name: '水表名称',
-            type: 'category',
-            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
-            // data: xAxisData,
-            axisTick: {
-              alignWithLabel: true
-            },
-            axisLabel: { interval: 0, rotate: 40 }
-          }
-        ],
-        yAxis: [
-          {
-            name: '吨',
-            type: 'value'
-          }
-        ],
-        series: [
-          {
-            type: 'bar',
-            barWidth: '60%',
-            data: [10, 52, 200, 334, 390, 330, 220]
-            // data: seriesData
-          }
-        ]
-      })
-      const that = this
-      // 点击柱状图拿到对应内容
-      this.chart.on('click', function(params) {
-        console.log(params)
-        // console.log(parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-        // that.$emit('barClickDept', parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-        that.$emit('barClickDept', params.name)
-      })
-    }
-  }
-}
-</script>

+ 0 - 114
src/views/report/queryRepair/components/BarChartPasture.vue

@@ -1,114 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-import { parseTime } from '@/utils/index.js'
-// import { emit } from 'cluster'
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    barPastureData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null,
-      sourceDate: []
-    }
-  },
-  watch: {
-    barPastureData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log(val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.barPastureData)
-    },
-    setOptions({ sourceDate, text } = {}) {
-      this.chart.setOption({
-        title: {
-          text: '最近12个月维修同期对比',
-          subtext: ''
-        },
-        legend: { x: 'right' },
-        tooltip: {
-          trigger: 'axis',
-          axisPointer: { // 坐标轴指示器,坐标轴触发有效
-            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
-          }
-        },
-        dataset: {
-          source: sourceDate
-          // source: [
-          //   ['product', '去年同期', '预算', '实际']
-          //   // ['10月', 433, 85.8, 93.7],
-          //   // ['9月', 83.1, 73.4, 55.1],
-          //   // ['8月', 86.4, 65.2, 82.5],
-          //   // ['7月', 72.4, 53.9, 39.1]
-          // ]
-        },
-        xAxis: { type: 'category', name: '最近12个月', formatter: '' },
-        yAxis: { name: '元' },
-        grid: [
-          { left: '15%', right: '17%' }
-        ],
-        series: [
-          { type: 'bar' },
-          { type: 'bar' },
-          { type: 'bar' }
-        ]
-      })
-      const that = this
-      // 点击柱状图拿到对应内容
-      this.chart.on('click', function(params) {
-        // console.log(parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-        that.$emit('chartClick', parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-      })
-    }
-  }
-}
-</script>

+ 0 - 80
src/views/report/queryRepair/components/BarChartPastureMonth.vue

@@ -1,80 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '475px'
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.chart.setOption({
-        legend: {},
-        tooltip: {},
-        dataset: {
-          source: [
-            ['product', '2015', '2016', '2017'],
-            ['10月', 43.3, 85.8, 93.7],
-            ['9月', 83.1, 73.4, 55.1],
-            ['8月', 86.4, 65.2, 82.5],
-            ['7月', 72.4, 53.9, 39.1]
-          ]
-        },
-        xAxis: [
-          { type: 'category', gridIndex: 0, name: '最近12个月' }
-        ],
-        yAxis: [
-          { gridIndex: 0, name: '总费用' }
-        ],
-        grid: [
-          { bottom: '58%' },
-          { top: '58%' }
-        ],
-        series: [
-          { type: 'bar' },
-          { type: 'bar' },
-          { type: 'bar' }
-        ]
-      })
-    }
-  }
-}
-</script>

+ 0 - 165
src/views/report/queryRepair/components/Contrast.vue

@@ -1,165 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-import { debounce } from '@/utils'
-
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    contrastData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  watch: {
-    contrastData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log('watch拿到的val', val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.contrastData)
-      // console.log('methods拿到的pieDeptData', this.pieDeptData)
-    },
-    setOptions({ lastData, thisData, text, thisMinData, days } = {}) {
-      this.chart.setOption({
-        title: {
-          text: text + '月维修同期对比',
-          subtext: ''
-        },
-        tooltip: {
-          trigger: 'axis'
-        },
-        legend: {
-          data: ['去年', '今年']
-        },
-        toolbox: {
-          show: true,
-          feature: {
-            dataZoom: {
-              yAxisIndex: 'none'
-            },
-            dataView: { readOnly: false },
-            magicType: { type: ['line', 'bar'] },
-            restore: {},
-            saveAsImage: {}
-          }
-        },
-        xAxis: {
-          type: 'category',
-          name: '日期',
-          boundaryGap: false,
-          data: days
-        },
-        yAxis: {
-          type: 'value',
-          name: '元',
-          axisLabel: {
-            formatter: '{value}'
-          }
-        },
-        grid: [
-          { top: '25%', left: '15%' }
-        ],
-        series: [
-          {
-            name: '去年',
-            type: 'line',
-            // data: [11, 11, 15, 13, 12, 13, 10, 9, 11, 3],
-            data: lastData,
-            markPoint: {
-              data: [
-                // { type: 'max', name: '最大值' },
-                // { type: 'min', name: '最小值' }
-              ]
-            },
-            markLine: {
-              data: [
-                { type: 'average', name: '平均值' }
-              ]
-            }
-          },
-          {
-            name: '今年',
-            type: 'line',
-            // data: [1, 5, 2, 5, 3, 2, 0, 9, 6, 7],
-            data: thisData,
-            markPoint: {
-              data: [
-                // { name: '周最低', value: 5, xAxis: 1, yAxis: 2 }
-                // { type: 'max', name: '最大值' },
-                // { type: 'min', name: '最小值' }
-              ]
-            },
-            markLine: {
-              data: [
-                { type: 'average', name: '平均值' },
-                [{
-                  symbol: 'none',
-                  x: '90%',
-                  yAxis: 'max'
-                }, {
-                  symbol: 'circle',
-                  label: {
-                    normal: {
-                      position: 'start',
-                      formatter: '最大值'
-                    }
-                  },
-                  type: 'max',
-                  name: '最高点'
-                }]
-              ]
-            }
-          }
-        ]
-      })
-    }
-  }
-}
-</script>

+ 0 - 120
src/views/report/queryRepair/components/PieChartDepartment.vue

@@ -1,120 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-import { debounce } from '@/utils'
-
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    pieDeptData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  watch: {
-    pieDeptData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log('watch拿到的val', val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.pieDeptData)
-      // console.log('methods拿到的pieDeptData', this.pieDeptData)
-    },
-    setOptions({ DeptData, text } = {}) {
-      // console.log('setOptions拿到的DeptData', DeptData)
-      this.chart.setOption({
-        title: {
-          text: text + '月部门统计',
-          subtext: '',
-          x: 'center'
-        },
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        legend: {
-          orient: 'vertical',
-          left: 'left',
-          data: ['', '', '', '', '']
-        },
-        series: [
-          {
-            name: text + '月',
-            type: 'pie',
-            radius: '55%',
-            center: ['50%', '60%'],
-            data: DeptData,
-            // data: [
-            //   { value: 335, name: '直接访问' },
-            //   { value: 310, name: '邮件营销' },
-            //   { value: 234, name: '联盟广告' },
-            //   { value: 135, name: '视频广告' },
-            //   { value: 1548, name: '搜索引擎' }
-            // ],
-            itemStyle: {
-              emphasis: {
-                shadowBlur: 10,
-                shadowOffsetX: 0,
-                shadowColor: 'rgba(0, 0, 0, 0.5)'
-              }
-            }
-          }
-        ]
-      })
-      const that = this
-      // 点击饼图拿到对应内容
-      this.chart.on('click', function(params) {
-        // console.log(params)
-        that.$emit('chartClickDept', params.name)
-      })
-    }
-  }
-}
-</script>

+ 0 - 116
src/views/report/queryRepair/components/PieChartType.vue

@@ -1,116 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    pieTypeData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  watch: {
-    pieTypeData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log('watch拿到的val', val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.pieTypeData)
-      // console.log('methods拿到的pieTypeData', this.pieTypeData)
-    },
-    setOptions({ TypeData, text } = {}) {
-      // console.log('setOptions拿到的TypeData', TypeData)
-      this.chart.setOption({
-        title: {
-          text: text + '月类型统计',
-          subtext: '',
-          x: 'center'
-        },
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        legend: {
-          orient: 'vertical',
-          left: 'left',
-          data: ['', '', '', '', '']
-        },
-        series: [
-          {
-            name: text + '月',
-            type: 'pie',
-            radius: '55%',
-            center: ['50%', '60%'],
-            data: TypeData,
-            // data: [
-            //   { value: 335, name: '直接访问' },
-            //   { value: 310, name: '邮件营销' },
-            //   { value: 234, name: '联盟广告' },
-            //   { value: 135, name: '视频广告' },
-            //   { value: 1548, name: '搜索引擎' }
-            // ],
-            itemStyle: {
-              emphasis: {
-                shadowBlur: 10,
-                shadowOffsetX: 0,
-                shadowColor: 'rgba(0, 0, 0, 0.5)'
-              }
-            }
-          }
-        ]
-      })
-      const that = this
-      // 点击饼图拿到对应内容
-      this.chart.on('click', function(params) {
-        console.log(params)
-        that.$emit('chartClickType', params.name)
-      })
-    }
-  }
-}
-</script>

+ 0 - 81
src/views/report/queryRepair/components/TodoList/Todo.vue

@@ -1,81 +0,0 @@
-<template>
-  <li :class="{ completed: todo.done, editing: editing }" class="todo">
-    <div class="view">
-      <input
-        :checked="todo.done"
-        class="toggle"
-        type="checkbox"
-        @change="toggleTodo( todo)"
-      >
-      <label @dblclick="editing = true" v-text="todo.text" />
-      <button class="destroy" @click="deleteTodo( todo )" />
-    </div>
-    <input
-      v-show="editing"
-      v-focus="editing"
-      :value="todo.text"
-      class="edit"
-      @keyup.enter="doneEdit"
-      @keyup.esc="cancelEdit"
-      @blur="doneEdit"
-    >
-  </li>
-</template>
-
-<script>
-export default {
-  name: 'Todo',
-  directives: {
-    focus(el, { value }, { context }) {
-      if (value) {
-        context.$nextTick(() => {
-          el.focus()
-        })
-      }
-    }
-  },
-  props: {
-    todo: {
-      type: Object,
-      default: function() {
-        return {}
-      }
-    }
-  },
-  data() {
-    return {
-      editing: false
-    }
-  },
-  methods: {
-    deleteTodo(todo) {
-      this.$emit('deleteTodo', todo)
-    },
-    editTodo({ todo, value }) {
-      this.$emit('editTodo', { todo, value })
-    },
-    toggleTodo(todo) {
-      this.$emit('toggleTodo', todo)
-    },
-    doneEdit(e) {
-      const value = e.target.value.trim()
-      const { todo } = this
-      if (!value) {
-        this.deleteTodo({
-          todo
-        })
-      } else if (this.editing) {
-        this.editTodo({
-          todo,
-          value
-        })
-        this.editing = false
-      }
-    },
-    cancelEdit(e) {
-      e.target.value = this.todo.text
-      this.editing = false
-    }
-  }
-}
-</script>

+ 0 - 320
src/views/report/queryRepair/components/TodoList/index.scss

@@ -1,320 +0,0 @@
-.todoapp {
-  font: 14px 'Helvetica Neue', Helvetica, Arial, sans-serif;
-  line-height: 1.4em;
-  color: #4d4d4d;
-  min-width: 230px;
-  max-width: 550px;
-  margin: 0 auto ;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  font-weight: 300;
-  background: #fff;
-  z-index: 1;
-  position: relative;
-  button {
-    margin: 0;
-    padding: 0;
-    border: 0;
-    background: none;
-    font-size: 100%;
-    vertical-align: baseline;
-    font-family: inherit;
-    font-weight: inherit;
-    color: inherit;
-    -webkit-appearance: none;
-    appearance: none;
-    -webkit-font-smoothing: antialiased;
-    -moz-osx-font-smoothing: grayscale;
-  }
-  :focus {
-    outline: 0;
-  }
-  .hidden {
-    display: none;
-  }
-  .todoapp {
-    background: #fff;
-    margin: 130px 0 40px 0;
-    position: relative;
-    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1);
-  }
-  .todoapp input::-webkit-input-placeholder {
-    font-style: italic;
-    font-weight: 300;
-    color: #e6e6e6;
-  }
-  .todoapp input::-moz-placeholder {
-    font-style: italic;
-    font-weight: 300;
-    color: #e6e6e6;
-  }
-  .todoapp input::input-placeholder {
-    font-style: italic;
-    font-weight: 300;
-    color: #e6e6e6;
-  }
-  .todoapp h1 {
-    position: absolute;
-    top: -155px;
-    width: 100%;
-    font-size: 100px;
-    font-weight: 100;
-    text-align: center;
-    color: rgba(175, 47, 47, 0.15);
-    -webkit-text-rendering: optimizeLegibility;
-    -moz-text-rendering: optimizeLegibility;
-    text-rendering: optimizeLegibility;
-  }
-  .new-todo,
-  .edit {
-    position: relative;
-    margin: 0;
-    width: 100%;
-    font-size: 18px;
-    font-family: inherit;
-    font-weight: inherit;
-    line-height: 1.4em;
-    border: 0;
-    color: inherit;
-    padding: 6px;
-    border: 1px solid #999;
-    box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-    box-sizing: border-box;
-    -webkit-font-smoothing: antialiased;
-    -moz-osx-font-smoothing: grayscale;
-  }
-  .new-todo {
-    padding: 10px 16px 16px 60px;
-    border: none;
-    background: rgba(0, 0, 0, 0.003);
-    box-shadow: inset 0 -2px 1px rgba(0, 0, 0, 0.03);
-  }
-  .main {
-    position: relative;
-    z-index: 2;
-    border-top: 1px solid #e6e6e6;
-  }
-  .toggle-all {
-    text-align: center;
-    border: none;
-    /* Mobile Safari */
-    opacity: 0;
-    position: absolute;
-  }
-  .toggle-all+label {
-    width: 60px;
-    height: 34px;
-    font-size: 0;
-    position: absolute;
-    top: -52px;
-    left: -13px;
-    -webkit-transform: rotate(90deg);
-    transform: rotate(90deg);
-  }
-  .toggle-all+label:before {
-    content: '❯';
-    font-size: 22px;
-    color: #e6e6e6;
-    padding: 10px 27px 10px 27px;
-  }
-  .toggle-all:checked+label:before {
-    color: #737373;
-  }
-  .todo-list {
-    margin: 0;
-    padding: 0;
-    list-style: none;
-  }
-  .todo-list li {
-    position: relative;
-    font-size: 24px;
-    border-bottom: 1px solid #ededed;
-  }
-  .todo-list li:last-child {
-    border-bottom: none;
-  }
-  .todo-list li.editing {
-    border-bottom: none;
-    padding: 0;
-  }
-  .todo-list li.editing .edit {
-    display: block;
-    width: 506px;
-    padding: 12px 16px;
-    margin: 0 0 0 43px;
-  }
-  .todo-list li.editing .view {
-    display: none;
-  }
-  .todo-list li .toggle {
-    text-align: center;
-    width: 40px;
-    /* auto, since non-WebKit browsers doesn't support input styling */
-    height: auto;
-    position: absolute;
-    top: 0;
-    bottom: 0;
-    margin: auto 0;
-    border: none;
-    /* Mobile Safari */
-    -webkit-appearance: none;
-    appearance: none;
-  }
-  .todo-list li .toggle {
-    opacity: 0;
-  }
-  .todo-list li .toggle+label {
-    /*
-    Firefox requires `#` to be escaped - https://bugzilla.mozilla.org/show_bug.cgi?id=922433
-    IE and Edge requires *everything* to be escaped to render, so we do that instead of just the `#` - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7157459/
-  */
-    background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23ededed%22%20stroke-width%3D%223%22/%3E%3C/svg%3E');
-    background-repeat: no-repeat;
-    background-position: center left;
-    background-size: 36px;
-  }
-  .todo-list li .toggle:checked+label {
-    background-size: 36px;
-    background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23bddad5%22%20stroke-width%3D%223%22/%3E%3Cpath%20fill%3D%22%235dc2af%22%20d%3D%22M72%2025L42%2071%2027%2056l-4%204%2020%2020%2034-52z%22/%3E%3C/svg%3E');
-  }
-  .todo-list li label {
-    word-break: break-all;
-    padding: 15px 15px 15px 50px;
-    display: block;
-    line-height: 1.0;
-        font-size: 14px;
-    transition: color 0.4s;
-  }
-  .todo-list li.completed label {
-    color: #d9d9d9;
-    text-decoration: line-through;
-  }
-  .todo-list li .destroy {
-    display: none;
-    position: absolute;
-    top: 0;
-    right: 10px;
-    bottom: 0;
-    width: 40px;
-    height: 40px;
-    margin: auto 0;
-    font-size: 30px;
-    color: #cc9a9a;
-    transition: color 0.2s ease-out;
-    cursor: pointer;
-  }
-  .todo-list li .destroy:hover {
-    color: #af5b5e;
-  }
-  .todo-list li .destroy:after {
-    content: '×';
-  }
-  .todo-list li:hover .destroy {
-    display: block;
-  }
-  .todo-list li .edit {
-    display: none;
-  }
-  .todo-list li.editing:last-child {
-    margin-bottom: -1px;
-  }
-  .footer {
-    color: #777;
-    position: relative;
-    padding: 10px 15px;
-    height: 40px;
-    text-align: center;
-    border-top: 1px solid #e6e6e6;
-  }
-  .footer:before {
-    content: '';
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 0;
-    height: 40px;
-    overflow: hidden;
-    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 8px 0 -3px #f6f6f6, 0 9px 1px -3px rgba(0, 0, 0, 0.2), 0 16px 0 -6px #f6f6f6, 0 17px 2px -6px rgba(0, 0, 0, 0.2);
-  }
-  .todo-count {
-    float: left;
-    text-align: left;
-  }
-  .todo-count strong {
-    font-weight: 300;
-  }
-  .filters {
-    margin: 0;
-    padding: 0;
-    position: relative;
-    z-index: 1;
-    list-style: none;
-  }
-  .filters li {
-    display: inline;
-  }
-  .filters li a {
-    color: inherit;
-    font-size: 12px;
-    padding: 3px 7px;
-    text-decoration: none;
-    border: 1px solid transparent;
-    border-radius: 3px;
-  }
-  .filters li a:hover {
-    border-color: rgba(175, 47, 47, 0.1);
-  }
-  .filters li a.selected {
-    border-color: rgba(175, 47, 47, 0.2);
-  }
-  .clear-completed,
-  html .clear-completed:active {
-    float: right;
-    position: relative;
-    line-height: 20px;
-    text-decoration: none;
-    cursor: pointer;
-  }
-  .clear-completed:hover {
-    text-decoration: underline;
-  }
-  .info {
-    margin: 65px auto 0;
-    color: #bfbfbf;
-    font-size: 10px;
-    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-    text-align: center;
-  }
-  .info p {
-    line-height: 1;
-  }
-  .info a {
-    color: inherit;
-    text-decoration: none;
-    font-weight: 400;
-  }
-  .info a:hover {
-    text-decoration: underline;
-  }
-  /*
-  Hack to remove background from Mobile Safari.
-  Can't use it globally since it destroys checkboxes in Firefox
-*/
-  @media screen and (-webkit-min-device-pixel-ratio:0) {
-    .toggle-all,
-    .todo-list li .toggle {
-      background: none;
-    }
-    .todo-list li .toggle {
-      height: 40px;
-    }
-  }
-  @media (max-width: 430px) {
-    .footer {
-      height: 50px;
-    }
-    .filters {
-      bottom: 10px;
-    }
-  }
-}

+ 0 - 127
src/views/report/queryRepair/components/TodoList/index.vue

@@ -1,127 +0,0 @@
-<template>
-  <section class="todoapp">
-    <!-- header -->
-    <header class="header">
-      <input class="new-todo" autocomplete="off" placeholder="Todo List" @keyup.enter="addTodo">
-    </header>
-    <!-- main section -->
-    <section v-show="todos.length" class="main">
-      <input id="toggle-all" :checked="allChecked" class="toggle-all" type="checkbox" @change="toggleAll({ done: !allChecked })">
-      <label for="toggle-all" />
-      <ul class="todo-list">
-        <todo
-          v-for="(todo, index) in filteredTodos"
-          :key="index"
-          :todo="todo"
-          @toggleTodo="toggleTodo"
-          @editTodo="editTodo"
-          @deleteTodo="deleteTodo"
-        />
-      </ul>
-    </section>
-    <!-- footer -->
-    <footer v-show="todos.length" class="footer">
-      <span class="todo-count">
-        <strong>{{ remaining }}</strong>
-        {{ remaining | pluralize('item') }} left
-      </span>
-      <ul class="filters">
-        <li v-for="(val, key) in filters" :key="key">
-          <a :class="{ selected: visibility === key }" @click.prevent="visibility = key">{{ key | capitalize }}</a>
-        </li>
-      </ul>
-      <!-- <button class="clear-completed" v-show="todos.length > remaining" @click="clearCompleted">
-        Clear completed
-      </button> -->
-    </footer>
-  </section>
-</template>
-
-<script>
-import Todo from './Todo.vue'
-
-const STORAGE_KEY = 'todos'
-const filters = {
-  all: todos => todos,
-  active: todos => todos.filter(todo => !todo.done),
-  completed: todos => todos.filter(todo => todo.done)
-}
-const defalutList = [
-  { text: 'star this repository', done: false },
-  { text: 'fork this repository', done: false },
-  { text: 'follow author', done: false },
-  { text: 'vue-element-admin', done: true },
-  { text: 'vue', done: true },
-  { text: 'element-ui', done: true },
-  { text: 'axios', done: true },
-  { text: 'webpack', done: true }
-]
-export default {
-  components: { Todo },
-  filters: {
-    pluralize: (n, w) => n === 1 ? w : w + 's',
-    capitalize: s => s.charAt(0).toUpperCase() + s.slice(1)
-  },
-  data() {
-    return {
-      visibility: 'all',
-      filters,
-      // todos: JSON.parse(window.localStorage.getItem(STORAGE_KEY)) || defalutList
-      todos: defalutList
-    }
-  },
-  computed: {
-    allChecked() {
-      return this.todos.every(todo => todo.done)
-    },
-    filteredTodos() {
-      return filters[this.visibility](this.todos)
-    },
-    remaining() {
-      return this.todos.filter(todo => !todo.done).length
-    }
-  },
-  methods: {
-    setLocalStorage() {
-      window.localStorage.setItem(STORAGE_KEY, JSON.stringify(this.todos))
-    },
-    addTodo(e) {
-      const text = e.target.value
-      if (text.trim()) {
-        this.todos.push({
-          text,
-          done: false
-        })
-        this.setLocalStorage()
-      }
-      e.target.value = ''
-    },
-    toggleTodo(val) {
-      val.done = !val.done
-      this.setLocalStorage()
-    },
-    deleteTodo(todo) {
-      this.todos.splice(this.todos.indexOf(todo), 1)
-      this.setLocalStorage()
-    },
-    editTodo({ todo, value }) {
-      todo.text = value
-      this.setLocalStorage()
-    },
-    clearCompleted() {
-      this.todos = this.todos.filter(todo => !todo.done)
-      this.setLocalStorage()
-    },
-    toggleAll({ done }) {
-      this.todos.forEach(todo => {
-        todo.done = done
-        this.setLocalStorage()
-      })
-    }
-  }
-}
-</script>
-
-<style lang="scss">
-  @import './index.scss';
-</style>

+ 0 - 56
src/views/report/queryRepair/components/mixins/resize.js

@@ -1,56 +0,0 @@
-import { debounce } from '@/utils'
-
-export default {
-  data() {
-    return {
-      $_sidebarElm: null
-    }
-  },
-  mounted() {
-    this.$_initResizeEvent()
-    this.$_initSidebarResizeEvent()
-  },
-  beforeDestroy() {
-    this.$_destroyResizeEvent()
-    this.$_destroySidebarResizeEvent()
-  },
-  // to fixed bug when cached by keep-alive
-  // https://github.com/PanJiaChen/vue-element-admin/issues/2116
-  activated() {
-    this.$_initResizeEvent()
-    this.$_initSidebarResizeEvent()
-  },
-  deactivated() {
-    this.$_destroyResizeEvent()
-    this.$_destroySidebarResizeEvent()
-  },
-  methods: {
-    // use $_ for mixins properties
-    // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
-    $_resizeHandler() {
-      return debounce(() => {
-        if (this.chart) {
-          this.chart.resize()
-        }
-      }, 100)()
-    },
-    $_initResizeEvent() {
-      window.addEventListener('resize', this.$_resizeHandler)
-    },
-    $_destroyResizeEvent() {
-      window.removeEventListener('resize', this.$_resizeHandler)
-    },
-    $_sidebarResizeHandler(e) {
-      if (e.propertyName === 'width') {
-        this.$_resizeHandler()
-      }
-    },
-    $_initSidebarResizeEvent() {
-      this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
-      this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
-    },
-    $_destroySidebarResizeEvent() {
-      this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
-    }
-  }
-}

+ 0 - 833
src/views/report/queryRepair/index11.vue

@@ -1,833 +0,0 @@
-<template>
-  <div class="app-container">
-    <div v-if="isPercentage" class="percentage" style="width: 210px;height: 90px;background: #fff;position: fixed;bottom: 0;left: 0;z-index: 9999999999999;">
-      <h4 style="padding-left: 10px;line-height: 0;">导出进度:</h4>
-      <el-progress style="padding-left: 10px;" :text-inside="true" :stroke-width="26" :percentage="percentage" />
-    </div>
-    <div class="filter-container">
-      <div class="block">
-        <el-date-picker v-model="yearDate" :clearable="false" class="filter-item" type="year" placeholder="选择年" />
-        <el-select v-model="cost" style="width: 150px;" placeholder="费用分类" class="filter-item" @change="changeCost">
-          <el-option v-for="item in costList" :key="item.id" :label="item.name" :value="item.id" />
-        </el-select>
-
-        <el-radio-group v-model="radio"    style="float:right;margin-top:20px">
-          <el-radio  label="集团">集团</el-radio>
-          <el-radio  label="一中心">一中心</el-radio>
-          <el-radio  label="二中心">二中心</el-radio>
-          <el-radio  label="三中心">三中心</el-radio>
-        </el-radio-group>   
-
-      </div>
-    </div>
-    <!-- 年度维修成本 -->
-    <el-row v-if="isBarChart1" style="position: relative;">
-      <p style="position: absolute;top:-12px;left:40%;color:rgb(130, 165, 252);background:rgb(230, 243, 255);border:1px solid rgb(130, 165, 252);padding:10px;border-radius:10px">
-        {{ year }}年集团{{ costTypeName }}:{{ totaltitle }}万元
-      </p>
-      <el-col :span="24">
-        <div id="barChart1" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-    <!-- 年度维修成本 -->
-    <el-row>
-      <el-col :span="12">
-        <div id="lineChart1" style="width: 100%;height:400px;" />
-      </el-col>
-      <el-col :span="12">
-        <div id="lineChart2" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-    <el-row>
-      <el-col :span="12">
-        <div id="pieChart1" style="width: 100%;height:400px;" />
-      </el-col>
-      <el-col :span="12">
-        <div id="barChart2" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-    <!-- 弹窗 -->
-    <el-dialog title="详情" :visible.sync="dialogFormVisibleCard" width="90%" :close-on-click-modal="false">
-      <div class="app-contentcard">
-        <el-form ref="rowSeeData" :model="rowSeeData" label-position="right" label-width="120px" style="width: 100%;margin:0 auto;">
-          <div class="filter-container">
-            <el-input v-model="getdataListParmSee.parammaps.eqName" placeholder="设备内部编号" clearable class="filter-item" style="width: 130px" />
-            <el-input v-model="getdataListParmSee.parammaps.assetCode" placeholder="资产编号" clearable class="filter-item" style="width: 130px" />
-            <el-date-picker ref="inputDatetime" v-model="getdataListParmSee.parammaps.inputDatetime" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="领用开始日期" end-placeholder="领用结束日期" />
-
-            <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_searchDelivery">搜索</el-button>
-            <el-button class="filter-item" style="margin-left: 10px;" type="success" icon="el-icon-edit" @click="handleDownloadDelivery">导出</el-button>
-          </div>
-        </el-form>
-        <el-table
-          :key="tableKey"
-          v-loading="listLoadingSee"
-          element-loading-text="给我一点时间"
-          :data="listSee"
-          border
-          fit
-          highlight-current-row
-          style="width: 100%;"
-          :row-style="rowStyle"
-          :cell-style="cellStyle"
-          class="elTable"
-        >
-          <el-table-column label="序号" align="center" type="index" width="50px">
-            <template slot-scope="scope">
-              <span>{{ scope.$index + (pageNumSee-1) * pageSizeSee + 1 }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="资产编号" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.assetCode }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="设备名称" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.eqName }}</span>
-            </template>
-          </el-table-column>
-
-          <el-table-column label="设备内部编号" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.eqCode }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="设备规格" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.eqSpecification }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="领用日期" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.receiveTime }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="领用部门" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.deptName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件编号" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.partCode }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件名称" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.partName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件规格" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.specification }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="备件品牌" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.brandName }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="计量单位" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.unit }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="出库数量" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.checkoutNumber }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="退库数量" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.quitNumber }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="单价" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.price }}</span>
-            </template>
-          </el-table-column>
-          <el-table-column label="总价" min-width="110px" align="center">
-            <template slot-scope="scope">
-              <span>{{ scope.row.sumPrice }}</span>
-            </template>
-          </el-table-column>
-
-        </el-table>
-        <pagination
-          v-show="totalSee>=0"
-          :total="totalSee"
-          :page.sync="getdataListParmSee.offset"
-          :limit.sync="getdataListParmSee.pagecount"
-          @pagination="get_table_dataSee"
-        />
-        <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom:10px">
-          <el-button @click="dialogFormVisibleCard = false">关闭</el-button>
-        </div>
-      </div>
-    </el-dialog>
-  </div>
-
-</template>
-
-<script>
-import echarts from 'echarts'
-
-require('echarts/theme/macarons') // echarts theme
-
-// eslint-disable-next-line no-unused-vars
-import waves from '@/directive/waves' // waves directive
-import Pagination from '@/components/Pagination' // secondary package based on el-pagination
-import { GetDataByName, GetDataByNames, GetReportform, checkButtons, GetAccount } from '@/api/common'
-import { parseTime } from '@/utils/index.js'
-import { json2excel } from '@/utils/index.js'
-import Cookies from 'js-cookie'
-export default {
-  name: 'QueryRepair',
-  directives: { waves },
-  components: { Pagination },
-  data() {
-    return {
-      yearDate: new Date(),
-
-      radio: "集团",
-
-      cost: '',
-      totaltitle: 0,
-      costTypeName: '所有维修费',
-      costList: [{ id: '', name: '全部费用' }, { id: '挤奶处', name: '直接费用' }, { id: '牧场办公室', name: '管理费用' }, { id: 1, name: '制造费用' }],
-      pasture: Cookies.get('pasturename'),
-      year: new Date().getFullYear(),
-      month: new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1,
-      deptment: '维修处',
-
-      getBarChart1Parm: {
-        name: 'getpSumNow',
-        parammaps: {
-          receiveTime: new Date().getFullYear(),
-          center:'',
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getLineChart1Parm: {
-        name: 'getPastureSumMonth',
-        parammaps: {
-          receiveTime: new Date().getFullYear(),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getLineChart2Parm: {
-        name: 'getPastureSumDay',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getPieChart1Parm: {
-        name: 'getdeptSumMonth',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getBarChart2Parm: {
-        name: 'geteqclassSumMonth',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename'),
-          deptName: ''
-        }
-      },
-      barChart1: null,
-      lineChart1: null,
-      lineChart2: null,
-      pieChart1: null,
-      barChart2: null,
-
-      chart_data1: {
-        // pasture: ['宝鸡', '恒盛', '塞一', '塞二', '塞三', '塞四', '塞五', '通山', '合肥', '和林'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data2: {
-        // months: ['2019-01', '2019-02', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66],
-        // budget: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data3: {
-        // day: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data4: {
-        // name: ['饲养处', '其他部门', '设备处', '能源处', '牧场办公室'],
-        // psum: [
-        //   { value: 335, name: '饲养处' },
-        //   { value: 310, name: '其他部门' },
-        //   { value: 234, name: '设备处' },
-        //   { value: 135, name: '能源处' },
-        //   { value: 1548, name: '牧场办公室' }
-        // ]
-      },
-      chart_data5: {
-        // typeName: ['小型装载机', '叉车', '拖拉机', '抛料机', '搅拌机'],
-        // eqCost: [123, 332, 222, 333, 444],
-        // lastYear: [22, 342, 234, 234, 66]
-      },
-
-      tableKey: 0,
-      list: null,
-      total: 0,
-      listLoading: true,
-      rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
-      cellStyle: { padding: 0 + 'px' },
-
-      dialogFormVisibleCard: false,
-      listLoadingSee: true,
-      rowSeeData: {},
-      listSee: [],
-      totalSee: 0,
-      getdataListParmSee: {
-        name: 'geteqclassSumDay',
-        page: 1,
-        offset: 1,
-        pagecount: 10,
-        returntype: 'Map',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          deptName: '',
-          typeName: '',
-          assetCode: '',
-          eqName: '',
-          startTime: '',
-          stopTime: '',
-          pastureId: Cookies.get('pastureid'),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      buttons: [],
-      isBarChart1: [],
-      downLoadParm: {},
-      downLoadList: [],
-      isPercentage: false,
-      percentage: 1
-
-    }
-  },
-
-  watch: {
-    'yearDate': {
-      deep: true,
-      handler: function(newVal, oldVal) {
-        var time = this.yearDate
-        console.log(newVal.getFullYear())
-        this.year = time.getFullYear()
-        this.getBarChart1Parm.parammaps.receiveTime = time.getFullYear()
-        this.getLineChart1Parm.parammaps.receiveTime = time.getFullYear()
-        this.getLineChart2Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-        this.getPieChart1Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-        this.getBarChart2Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-        this.getBarChart1Parm.parammaps.departmentName = this.cost
-        this.getLineChart1Parm.parammaps.departmentName = this.cost
-        this.getLineChart2Parm.parammaps.departmentName = this.cost
-        this.getBarChart1()
-        this.getLineChart1()
-        this.getLineChart2()
-        this.getPieChart1()
-        this.getBarChart2()
-      }
-    },
-    'radio': {
-      deep: true,
-      handler: function(newVal, oldVal) {
-        console.log(newVal, oldVal)
-        if(newVal == '集团'){
-          this.getBarChart1Parm.parammaps.center = ''
-        } else {
-          this.getBarChart1Parm.parammaps.center = newVal
-        }
-        this.getBarChart1()
-        // this.getLineChart1()
-        // this.getLineChart2()
-        // this.getPieChart1()
-      }
-    },
-  },
-
-  created() {
-    this.getBarChart1()
-    this.getLineChart1()
-    this.getLineChart2()
-    this.getPieChart1()
-    const that = this
-    GetDataByName({ 'name': 'getUserPCButtons', 'parammaps': { 'jwt_username': Cookies.get('name') }}).then(response => {
-      that.buttons = response.data.list
-      that.get_auto_buttons()
-    })
-  },
-  mounted() {
-    // this.roadBarChart1(this.chart_data1)
-    // this.roadlineChart1(this.chart_data2, this.pasture, this.year)
-    // this.roadlineChart2(this.chart_data3, this.pasture, this.month)
-    //  this.roadpieChart1(this.chart_data4, this.month)
-    // this.roadBarChart2(this.chart_data5, this.deptment)
-  },
-  methods: {
-    get_auto_buttons() {
-      // 图1
-      const BarChart1 = 'report:queryRepair:pastures'
-      const isBarChart1 = checkButtons(this.$store.state.user.buttons, BarChart1)
-      this.isBarChart1 = isBarChart1
-    },
-    // 各牧场年度维修成本对比
-    getBarChart1() {
-      GetReportform(this.getBarChart1Parm).then(response => {
-        console.log('图1', response)
-        this.chart_data1 = response.data.chart_data
-        this.roadBarChart1(this.chart_data1)
-        var nowYear = response.data.chart_data.nowYear
-        var totaltitle = 0
-        if (nowYear !== null || nowYear !== undefined) {
-          nowYear.forEach(function(item, index) {
-            // console.log(parseFloat(item))
-            totaltitle = totaltitle + parseFloat(item)
-          })
-        }
-        this.totaltitle = totaltitle.toFixed(4)
-      })
-    },
-    getLineChart1() {
-      GetReportform(this.getLineChart1Parm).then(response => {
-        console.log('图2', response)
-        this.chart_data2 = response.data.chart_data
-        this.roadlineChart1(this.chart_data2, this.pasture, this.year)
-      })
-    },
-    getLineChart2() {
-      GetReportform(this.getLineChart2Parm).then(response => {
-        console.log('图3', response)
-        this.chart_data3 = response.data.chart_data
-        this.roadlineChart2(this.chart_data3, this.pasture, this.year)
-      })
-    },
-    getPieChart1() {
-      GetDataByName(this.getPieChart1Parm).then(response => {
-        console.log('图4', response)
-        if (response.data === null || response.data.list === null) {
-          this.chart_data4 = { name: [], psum: [] }
-          this.roadpieChart1(this.chart_data4, this.month)
-        } else {
-          this.chart_data4.psum = response.data.list
-          var name = []
-          console.log(response.data.list)
-          response.data.list.forEach(function(i) {
-            name.push(i.name)
-          })
-          console.log(this.chart_data4)
-          this.chart_data4.name = name
-          this.roadpieChart1(this.chart_data4, this.month)
-          this.deptment = name[0]
-          this.getBarChart2Parm.parammaps.deptName = name[0]
-          this.getBarChart2Parm.parammaps.deptName = name[0]
-          this.getdataListParmSee.parammaps.deptName = name[0]
-
-          this.getBarChart2()
-        }
-      })
-    },
-    getBarChart2() {
-      GetReportform(this.getBarChart2Parm).then(response => {
-        console.log('图5', response)
-        this.chart_data5 = response.data.chart_data
-        this.roadBarChart2(this.chart_data5, this.deptment)
-      })
-    },
-
-    // 各牧场年度维修成本对比
-    roadBarChart1(chart_data1) {
-      if (this.barChart1 != null) {
-        this.barChart1.dispose()
-      }
-      this.barChart1 = echarts.init(document.getElementById('barChart1'))
-      var option = {
-        title: { text: '各牧场年度维修费用对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年维修费用', '去年同期维修费用'],
-          right: 40,
-          x: 'right'
-        },
-        color: ['#2dc0e8', '#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '4%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data1.pasture, axisLabel: { interval: 0, rotate: 30 }}],
-
-        yAxis: [{ type: 'value', name: '元', axisLabel: { formatter: '{value}万' }}],
-        series: [
-          {
-            name: '今年维修费用',
-            type: 'bar',
-            data: chart_data1.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期维修费用',
-            type: 'bar',
-            data: chart_data1.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.barChart1.setOption(option)
-      window.onresize = function() {
-        this.barChart1.resize()
-      }
-      var that = this
-      this.barChart1.on('click', function(param, i) {
-        console.log(param)
-        that.pasture = param.name
-        that.getLineChart1Parm.parammaps.pastureName = param.name
-        that.getLineChart2Parm.parammaps.pastureName = param.name
-        that.getPieChart1Parm.parammaps.pastureName = param.name
-        that.getBarChart2Parm.parammaps.pastureName = param.name
-        that.getdataListParmSee.parammaps.pastureName = param.name
-
-        that.getLineChart1()
-        that.getLineChart2()
-        that.getPieChart1()
-      })
-    },
-    // 每月维修成本对比
-    roadlineChart1(chart_data2, pasture, year) {
-      if (this.lineChart1 != null) {
-        this.lineChart1.dispose()
-      }
-      this.lineChart1 = echarts.init(document.getElementById('lineChart1'))
-      var option = {
-        title: { text: pasture + year + '每月维修费用对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年维修费用', '去年同期维修费用'],
-          x: 'right'
-        },
-        color: [ '#769cfc', '#FFB800', '#6bda00'],
-        grid: { left: '3%', right: '10%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data2.months, name: '月份', axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '元', axisLabel: { formatter: '{value}万' }}],
-        series: [
-          {
-            name: '今年维修费用',
-            type: 'line',
-            data: chart_data2.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期维修费用',
-            type: 'line',
-            data: chart_data2.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '预算',
-            type: 'line',
-            data: chart_data2.budget,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.lineChart1.setOption(option)
-      window.onresize = function() {
-        this.lineChart1.resize()
-      }
-      var that = this
-      this.lineChart1.on('click', function(param, i) {
-        console.log(param)
-
-        that.getLineChart2Parm.parammaps.receiveTime = param.name
-        that.getPieChart1Parm.parammaps.receiveTime = param.name
-        that.getBarChart2Parm.parammaps.receiveTime = param.name
-        that.getdataListParmSee.parammaps.receiveTime = param.name
-
-        var num = param.name.substring(5)
-        console.log(num)
-        that.month = num
-        that.getLineChart2()
-        that.getPieChart1()
-      })
-    },
-
-    // 每月维修成本对比
-    roadlineChart2(chart_data3, pasture, year) {
-      if (this.lineChart2 != null) {
-        this.lineChart2.dispose()
-      }
-      this.lineChart2 = echarts.init(document.getElementById('lineChart2'))
-      var option = {
-        title: { text: pasture + year + '年每月单头牛维修费用', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年维修费用', '去年同期维修费用'],
-          x: 'right'
-        },
-        color: ['#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '10%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data3.months, name: '日期', axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '元', axisLabel: { formatter: '{value}' }}],
-        series: [
-          {
-            name: '今年维修费用',
-            type: 'line',
-            data: chart_data3.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期维修费用',
-            type: 'line',
-            data: chart_data3.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.lineChart2.setOption(option)
-      window.onresize = function() {
-        this.lineChart2.resize()
-      }
-      this.lineChart2.on('click', function(param, i) {
-        console.log(param)
-      })
-    },
-    // 部门统计
-    roadpieChart1(chart_data4, month) {
-      if (this.pieChart1 != null) {
-        this.pieChart1.dispose()
-      }
-      this.pieChart1 = echarts.init(document.getElementById('pieChart1'))
-      var option = {
-        title: { text: month + '月部门统计', textStyle: { color: '#769cfc' }},
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        legend: {
-          data: chart_data4.name, top: 40, x: 'right'
-        },
-        color: ['#42b983', '#769cfc', '#FFB800', '#fb9999', '#ba99fb', '#99fbf2', '#b5ffc5', '#edffb5', '#ff9d6e', '#897cf3'],
-        grid: { left: '3%', right: '5%', bottom: '4%', containLabel: true },
-        series: [
-          {
-            name: '',
-            type: 'pie',
-            radius: '55%',
-            center: ['50%', '60%'],
-            // label: { // 饼图图形上的文本标签
-            //   normal: {
-            //     show: true,
-            //     position: 'inner', // 标签的位置
-            //     textStyle: {
-            //       fontWeight: 300,
-            //       fontSize: 16 // 文字的字体大小
-            //     },
-            //     formatter: '{d}%'
-
-            //   }
-            // },
-            data: chart_data4.psum,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.pieChart1.setOption(option)
-      window.onresize = function() {
-        this.pieChart1.resize()
-      }
-      var that = this
-      this.pieChart1.on('click', function(param, i) {
-        console.log(param)
-        that.deptment = param.name
-
-        that.getdataListParmSee.parammaps.deptName = param.name
-        that.getBarChart2Parm.parammaps.deptName = param.name
-        that.getBarChart2()
-      })
-    },
-    // 维修成本
-    roadBarChart2(chart_data5, deptment) {
-      if (this.barChart2 != null) {
-        this.barChart2.dispose()
-      }
-      this.barChart2 = echarts.init(document.getElementById('barChart2'))
-      var option = {
-        title: { text: deptment + '维修费用', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['维修费用'],
-          x: 'right'
-        },
-        color: ['#42b983', '#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '12%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data5.typeName, name: '设备类别', axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '元', axisLabel: { formatter: '{value}' }}],
-        series: [
-          {
-            name: '维修费用',
-            type: 'bar',
-            barWidth: 14,
-            data: chart_data5.eqCost,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.barChart2.setOption(option)
-      window.onresize = function() {
-        this.barChart2.resize()
-      }
-      var that = this
-
-      that.barChart2.on('click', function(param, i) {
-        console.log(param)
-
-        that.getdataListParmSee.parammaps.typeName = param.name
-        that.getdataListParmSee.offset = 1
-        that.get_table_dataSee()
-        that.dialogFormVisibleCard = true
-      })
-    },
-    // 搜索
-    form_searchDelivery() {
-      if (this.getdataListParmSee.parammaps.inputDatetime == null) {
-        this.getdataListParmSee.parammaps.startTime = ''
-        this.getdataListParmSee.parammaps.stopTime = ''
-      }
-      this.getdataListParmSee.offset = 1
-      this.get_table_dataSee()
-    },
-    get_table_dataSee() {
-      if (this.getdataListParmSee.parammaps.inputDatetime !== undefined && this.getdataListParmSee.parammaps.inputDatetime !== null) {
-        this.getdataListParmSee.parammaps.startTime = this.$refs['inputDatetime'].value[0]
-        this.getdataListParmSee.parammaps.stopTime = this.$refs['inputDatetime'].value[1]
-      } else {
-        this.getdataListParmSee.parammaps.startTime = ''
-        this.getdataListParmSee.parammaps.stopTime = ''
-      }
-
-      GetDataByName(this.getdataListParmSee).then(response => {
-        this.listSee = response.data.list
-        console.log('记录列表数据', response.data.list)
-        this.pageNumSee = response.data.pageNum
-        this.pageSizeSee = response.data.pageSize
-        if (response.data.total) {
-          this.totalSee = response.data.total
-        }
-        // Just to simulate the time of the request
-        setTimeout(() => {
-          this.listLoadingSee = false
-        }, 300)
-      })
-    },
-    handleDownloadDelivery() {
-      this.$alert('正在导出中,请勿刷新或离开本页面,若导出时间过长,建议缩小导出数据范围重新导出', {})
-      this.isPercentage = true
-      this.percentage = 1
-      var timer = setInterval(() => {
-        this.percentage += 5
-        if (this.percentage > 95) {
-          this.percentage = 99
-          clearInterval(timer)
-        }
-        this.percentage = this.percentage
-      }, 1000)
-      this.downLoadParm.name = 'geteqclassSumDay'
-      this.downLoadParm.returntype = 'Map'
-      this.downLoadParm.parammaps = this.getdataListParmSee.parammaps
-      GetAccount(this.downLoadParm).then(response => {
-        if (response.data.list !== '') {
-          this.percentage = 99
-          setTimeout(() => {
-            this.isPercentage = false
-          }, 2000)
-        }
-        this.$nextTick(() => {
-          this.downLoadList = response.data.list
-          console.log(this.downLoadList)
-          const ExcelDatas = [
-            {
-              tHeader: ['资产编号', '设备名称', '设备内部编号', '设备规格', '领用日期', '领用部门', '备件编号', '备件名称', '备件规格', '备件品牌', '计量单位', '出库数量', '退库数量', '单价', '总价'],
-              filterVal: ['assetCode', 'eqName', 'eqCode', 'eqSpecification', 'receiveTime', 'deptName', 'partCode', 'partName', 'specification', 'brandName', 'unit', 'checkoutNumber', 'quitNumber', 'price', 'sumPrice'],
-              tableDatas: this.downLoadList,
-              sheetName: '设备维修费用'
-            }
-          ]
-          json2excel(ExcelDatas, '设备维修费用', true, 'xlsx')
-        })
-      })
-    },
-    changeCost(item) {
-      console.log(item)
-      // costList: [{ id: '全部费用', name: '全部费用' }, { id: '挤奶处', name: '直接费用' }, { id: '牧场办公室', name: '管理费用' }, { id: 1, name: '制造费用' }],
-      if (item == '挤奶处') {
-        this.costTypeName = '直接维修费'
-      } else if (item == '牧场办公室') {
-        this.costTypeName = '管理维修费'
-      } else if (item == 1) {
-        this.costTypeName = '制造维修费'
-      } else if (item == '') {
-        this.costTypeName = '所有维修费'
-        this.cost = ''
-      } else {
-        this.costTypeName = '所有维修费'
-      }
-      this.getBarChart1Parm.parammaps.departmentName = this.cost
-      this.getLineChart1Parm.parammaps.departmentName = this.cost
-      this.getLineChart2Parm.parammaps.departmentName = this.cost
-      this.getBarChart1()
-      this.getLineChart1()
-      this.getLineChart2()
-    }
-
-  }
-}
-</script>
-<style>
-.el-row {
-    margin-bottom: 40px;
-    &:last-child {
-      margin-bottom: 0;
-    }
-  }
-</style>
-
-<style lang="scss" scoped>
-
-.dashboard-editor-container {
-  padding: 20px;
-  background-color: rgb(240, 242, 245);
-  position: relative;
-
-  .github-corner {
-    position: absolute;
-    top: 0px;
-    border: 0;
-    right: 0;
-  }
-
-  .chart-wrapper {
-    background: #fff;
-    padding: 16px 16px 0;
-  }
-}
-
-@media (max-width:1024px) {
-  .chart-wrapper {
-    padding: 8px;
-  }
-}
-</style>

+ 0 - 130
src/views/report/queryWater/components/BarChartDept.vue

@@ -1,130 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-// import { parseTime } from '@/utils/index.js'
-// import { emit } from 'cluster'
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    barCharDeptData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null,
-      sourceDate: []
-    }
-  },
-  watch: {
-    barCharDeptData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log(val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.barCharDeptData)
-      // console.log('this.barCharDeptData', this.barCharDeptData)
-    },
-    setOptions({ xAxisData, seriesData, text } = {}) {
-      this.chart.setOption({
-        title: {
-          text: text + '水表柱状图',
-          subtext: ''
-        },
-        tooltip: {
-          trigger: 'axis',
-          axisPointer: { // 坐标轴指示器,坐标轴触发有效
-            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
-          }
-        },
-        grid: {
-          left: '3%',
-          right: '15%',
-          bottom: '-4%',
-          containLabel: true
-        },
-        xAxis: [
-          {
-            name: '水表名称',
-            type: 'category',
-            // data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
-            data: xAxisData,
-            axisTick: {
-              alignWithLabel: true
-            },
-            // axisLabel: { interval: 0, rotate: 40 }
-            axisLabel: { interval: 0 }
-            // show: false
-          }
-        ],
-        yAxis: [
-          {
-            name: '吨',
-            type: 'value'
-          }
-        ],
-        series: [
-          {
-            type: 'bar',
-            barWidth: '60%',
-            // data: [10, 52, 200, 334, 390, 330, 220]
-            data: seriesData
-          }
-        ]
-      })
-      const that = this
-      // 点击柱状图拿到对应内容
-      this.chart.on('click', function(params) {
-        console.log(params)
-        // console.log(parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-        // that.$emit('barClickDept', parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-        that.$emit('barClickDept', params.name)
-      })
-    }
-  }
-}
-</script>

+ 0 - 115
src/views/report/queryWater/components/BarChartPasture.vue

@@ -1,115 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-// import { parseTime } from '@/utils/index.js'
-// import { emit } from 'cluster'
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    barPastureData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null,
-      sourceDate: []
-    }
-  },
-  watch: {
-    barPastureData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        // console.log(val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.barPastureData)
-    },
-    setOptions({ sourceDate, text } = {}) {
-      this.chart.setOption({
-        title: {
-          text: '最近12个月用水量同期对比',
-          subtext: ''
-        },
-        legend: { x: 'right' },
-        tooltip: {
-          trigger: 'axis',
-          axisPointer: { // 坐标轴指示器,坐标轴触发有效
-            type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
-          }
-        },
-        dataset: {
-          source: sourceDate
-          // source: [
-          //   ['product', '去年同期', '预算', '实际']
-          //   // ['10月', 433, 85.8, 93.7],
-          //   // ['9月', 83.1, 73.4, 55.1],
-          //   // ['8月', 86.4, 65.2, 82.5],
-          //   // ['7月', 72.4, 53.9, 39.1]
-          // ]
-        },
-        xAxis: { type: 'category', name: '最近12个月', formatter: '', axisLabel: { interval: 0, rotate: 40 }},
-        yAxis: { name: 'm³' },
-        grid: [
-          { left: '15%', right: '17%' }
-        ],
-        series: [
-          { type: 'bar' },
-          { type: 'bar' },
-          { type: 'bar' }
-        ]
-      })
-      const that = this
-      // 点击柱状图拿到对应内容
-      this.chart.on('click', function(params) {
-        console.log(params.name)
-        // that.$emit('chartClick', parseTime(new Date(), '{y}') + '-' + params.name.substring(0, 2))
-        that.$emit('chartClick', params.name.substring(0, 7))
-      })
-    }
-  }
-}
-</script>

+ 0 - 80
src/views/report/queryWater/components/BarChartPastureMonth.vue

@@ -1,80 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '475px'
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.chart.setOption({
-        legend: {},
-        tooltip: {},
-        dataset: {
-          source: [
-            ['product', '2015', '2016', '2017'],
-            ['10月', 43.3, 85.8, 93.7],
-            ['9月', 83.1, 73.4, 55.1],
-            ['8月', 86.4, 65.2, 82.5],
-            ['7月', 72.4, 53.9, 39.1]
-          ]
-        },
-        xAxis: [
-          { type: 'category', gridIndex: 0, name: '最近12个月' }
-        ],
-        yAxis: [
-          { gridIndex: 0, name: '总费用' }
-        ],
-        grid: [
-          { bottom: '58%' },
-          { top: '58%' }
-        ],
-        series: [
-          { type: 'bar' },
-          { type: 'bar' },
-          { type: 'bar' }
-        ]
-      })
-    }
-  }
-}
-</script>

+ 0 - 166
src/views/report/queryWater/components/Contrast.vue

@@ -1,166 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-// import { debounce } from '@/utils'
-
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    contrastData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  watch: {
-    contrastData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log('watch拿到的val', val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.contrastData)
-      // console.log('methods拿到的contrastData', this.contrastData)
-    },
-    setOptions({ lastData, thisData, text, thisMinData, days } = {}) {
-      this.chart.setOption({
-        title: {
-          text: text + '月用水量同期对比',
-          subtext: ''
-        },
-        tooltip: {
-          trigger: 'axis'
-        },
-        legend: {
-          data: ['去年同期', '今年日用量'],
-          orient: 'vertical'
-        },
-        toolbox: {
-          show: true,
-          feature: {
-            dataZoom: {
-              yAxisIndex: 'none'
-            },
-            dataView: { readOnly: false },
-            magicType: { type: ['line', 'bar'] },
-            restore: {},
-            saveAsImage: {}
-          }
-        },
-        xAxis: {
-          type: 'category',
-          name: '日期',
-          boundaryGap: false,
-          data: days
-        },
-        yAxis: {
-          type: 'value',
-          name: 'm³',
-          axisLabel: {
-            formatter: '{value}'
-          }
-        },
-        grid: [
-          { top: '25%', left: '15%', bottom: '5%' }
-        ],
-        series: [
-          {
-            name: '去年同期',
-            type: 'line',
-            // data: [11, 11, 15, 13, 12, 13, 10, 9, 11, 3],
-            data: lastData,
-            markPoint: {
-              data: [
-                // { type: 'max', name: '最大值' },
-                // { type: 'min', name: '最小值' }
-              ]
-            },
-            markLine: {
-              data: [
-                { type: 'average', name: '平均值' }
-              ]
-            }
-          },
-          {
-            name: '今年日用量',
-            type: 'line',
-            // data: [1, 5, 2, 5, 3, 2, 0, 9, 6, 7],
-            data: thisData,
-            markPoint: {
-              data: [
-                // { name: '周最低', value: 5, xAxis: 1, yAxis: 2 }
-                // { type: 'max', name: '最大值' },
-                // { type: 'min', name: '最小值' }
-              ]
-            },
-            markLine: {
-              data: [
-                { type: 'average', name: '平均值' },
-                [{
-                  symbol: 'none',
-                  x: '90%',
-                  yAxis: 'max'
-                }, {
-                  symbol: 'circle',
-                  label: {
-                    normal: {
-                      position: 'start',
-                      formatter: '最大值'
-                    }
-                  },
-                  type: 'max',
-                  name: '最高点'
-                }]
-              ]
-            }
-          }
-        ]
-      })
-    }
-  }
-}
-</script>

+ 0 - 120
src/views/report/queryWater/components/PieChartDepartment.vue

@@ -1,120 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-import { debounce } from '@/utils'
-
-// eslint-disable-next-line no-unused-vars
-const animationDuration = 6000
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    pieDeptData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  watch: {
-    pieDeptData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        console.log('watch拿到的val', val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.pieDeptData)
-      // console.log('methods拿到的pieDeptData', this.pieDeptData)
-    },
-    setOptions({ DeptData, text } = {}) {
-      // console.log('setOptions拿到的DeptData', DeptData)
-      this.chart.setOption({
-        title: {
-          text: text + '月部门统计',
-          subtext: '',
-          x: 'center'
-        },
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        legend: {
-          orient: 'vertical',
-          left: 'left',
-          data: ['', '', '', '', '']
-        },
-        series: [
-          {
-            name: text + '月',
-            type: 'pie',
-            radius: '55%',
-            center: ['50%', '60%'],
-            data: DeptData,
-            // data: [
-            //   { value: 335, name: '直接访问' },
-            //   { value: 310, name: '邮件营销' },
-            //   { value: 234, name: '联盟广告' },
-            //   { value: 135, name: '视频广告' },
-            //   { value: 1548, name: '搜索引擎' }
-            // ],
-            itemStyle: {
-              emphasis: {
-                shadowBlur: 10,
-                shadowOffsetX: 0,
-                shadowColor: 'rgba(0, 0, 0, 0.5)'
-              }
-            }
-          }
-        ]
-      })
-      const that = this
-      // 点击饼图拿到对应内容
-      this.chart.on('click', function(params) {
-        console.log(params)
-        that.$emit('pieClickDept', params.name)
-      })
-    }
-  }
-}
-</script>

+ 0 - 116
src/views/report/queryWater/components/PieChartType.vue

@@ -1,116 +0,0 @@
-<template>
-  <div :class="className" :style="{height:height,width:width}" />
-</template>
-
-<script>
-import echarts from 'echarts'
-require('echarts/theme/macarons') // echarts theme
-import resize from './mixins/resize'
-
-export default {
-  mixins: [resize],
-  props: {
-    className: {
-      type: String,
-      default: 'chart'
-    },
-    width: {
-      type: String,
-      default: '100%'
-    },
-    height: {
-      type: String,
-      default: '350px'
-    },
-    autoResize: {
-      type: Boolean,
-      default: true
-    },
-    pieTypeData: {
-      type: Object,
-      required: true
-    }
-  },
-  data() {
-    return {
-      chart: null
-    }
-  },
-  watch: {
-    pieTypeData: {
-      deep: true,
-      handler(val) {
-        this.setOptions(val)
-        // console.log('watch拿到的val', val)
-      }
-    }
-  },
-  mounted() {
-    this.$nextTick(() => {
-      this.initChart()
-    })
-  },
-  beforeDestroy() {
-    if (!this.chart) {
-      return
-    }
-    this.chart.dispose()
-    this.chart = null
-  },
-  methods: {
-    initChart() {
-      this.chart = echarts.init(this.$el, 'macarons')
-      this.setOptions(this.pieTypeData)
-      // console.log('methods拿到的pieTypeData', this.pieTypeData)
-    },
-    setOptions({ TypeData, text } = {}) {
-      // console.log('setOptions拿到的TypeData', TypeData)
-      this.chart.setOption({
-        title: {
-          text: text + '月类型统计',
-          subtext: '',
-          x: 'center'
-        },
-        tooltip: {
-          trigger: 'item',
-          formatter: '{a} <br/>{b} : {c} ({d}%)'
-        },
-        legend: {
-          orient: 'vertical',
-          left: 'left',
-          data: ['', '', '', '', '']
-        },
-        series: [
-          {
-            name: text + '月',
-            type: 'pie',
-            radius: '55%',
-            center: ['50%', '60%'],
-            data: TypeData,
-            // data: [
-            //   { value: 335, name: '直接访问' },
-            //   { value: 310, name: '邮件营销' },
-            //   { value: 234, name: '联盟广告' },
-            //   { value: 135, name: '视频广告' },
-            //   { value: 1548, name: '搜索引擎' }
-            // ],
-            itemStyle: {
-              emphasis: {
-                shadowBlur: 10,
-                shadowOffsetX: 0,
-                shadowColor: 'rgba(0, 0, 0, 0.5)'
-              }
-            }
-          }
-        ]
-      })
-      const that = this
-      // 点击饼图拿到对应内容
-      this.chart.on('click', function(params) {
-        console.log(params)
-        that.$emit('chartClickType', params.name)
-      })
-    }
-  }
-}
-</script>

+ 0 - 81
src/views/report/queryWater/components/TodoList/Todo.vue

@@ -1,81 +0,0 @@
-<template>
-  <li :class="{ completed: todo.done, editing: editing }" class="todo">
-    <div class="view">
-      <input
-        :checked="todo.done"
-        class="toggle"
-        type="checkbox"
-        @change="toggleTodo( todo)"
-      >
-      <label @dblclick="editing = true" v-text="todo.text" />
-      <button class="destroy" @click="deleteTodo( todo )" />
-    </div>
-    <input
-      v-show="editing"
-      v-focus="editing"
-      :value="todo.text"
-      class="edit"
-      @keyup.enter="doneEdit"
-      @keyup.esc="cancelEdit"
-      @blur="doneEdit"
-    >
-  </li>
-</template>
-
-<script>
-export default {
-  name: 'Todo',
-  directives: {
-    focus(el, { value }, { context }) {
-      if (value) {
-        context.$nextTick(() => {
-          el.focus()
-        })
-      }
-    }
-  },
-  props: {
-    todo: {
-      type: Object,
-      default: function() {
-        return {}
-      }
-    }
-  },
-  data() {
-    return {
-      editing: false
-    }
-  },
-  methods: {
-    deleteTodo(todo) {
-      this.$emit('deleteTodo', todo)
-    },
-    editTodo({ todo, value }) {
-      this.$emit('editTodo', { todo, value })
-    },
-    toggleTodo(todo) {
-      this.$emit('toggleTodo', todo)
-    },
-    doneEdit(e) {
-      const value = e.target.value.trim()
-      const { todo } = this
-      if (!value) {
-        this.deleteTodo({
-          todo
-        })
-      } else if (this.editing) {
-        this.editTodo({
-          todo,
-          value
-        })
-        this.editing = false
-      }
-    },
-    cancelEdit(e) {
-      e.target.value = this.todo.text
-      this.editing = false
-    }
-  }
-}
-</script>

+ 0 - 320
src/views/report/queryWater/components/TodoList/index.scss

@@ -1,320 +0,0 @@
-.todoapp {
-  font: 14px 'Helvetica Neue', Helvetica, Arial, sans-serif;
-  line-height: 1.4em;
-  color: #4d4d4d;
-  min-width: 230px;
-  max-width: 550px;
-  margin: 0 auto ;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  font-weight: 300;
-  background: #fff;
-  z-index: 1;
-  position: relative;
-  button {
-    margin: 0;
-    padding: 0;
-    border: 0;
-    background: none;
-    font-size: 100%;
-    vertical-align: baseline;
-    font-family: inherit;
-    font-weight: inherit;
-    color: inherit;
-    -webkit-appearance: none;
-    appearance: none;
-    -webkit-font-smoothing: antialiased;
-    -moz-osx-font-smoothing: grayscale;
-  }
-  :focus {
-    outline: 0;
-  }
-  .hidden {
-    display: none;
-  }
-  .todoapp {
-    background: #fff;
-    margin: 130px 0 40px 0;
-    position: relative;
-    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1);
-  }
-  .todoapp input::-webkit-input-placeholder {
-    font-style: italic;
-    font-weight: 300;
-    color: #e6e6e6;
-  }
-  .todoapp input::-moz-placeholder {
-    font-style: italic;
-    font-weight: 300;
-    color: #e6e6e6;
-  }
-  .todoapp input::input-placeholder {
-    font-style: italic;
-    font-weight: 300;
-    color: #e6e6e6;
-  }
-  .todoapp h1 {
-    position: absolute;
-    top: -155px;
-    width: 100%;
-    font-size: 100px;
-    font-weight: 100;
-    text-align: center;
-    color: rgba(175, 47, 47, 0.15);
-    -webkit-text-rendering: optimizeLegibility;
-    -moz-text-rendering: optimizeLegibility;
-    text-rendering: optimizeLegibility;
-  }
-  .new-todo,
-  .edit {
-    position: relative;
-    margin: 0;
-    width: 100%;
-    font-size: 18px;
-    font-family: inherit;
-    font-weight: inherit;
-    line-height: 1.4em;
-    border: 0;
-    color: inherit;
-    padding: 6px;
-    border: 1px solid #999;
-    box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
-    box-sizing: border-box;
-    -webkit-font-smoothing: antialiased;
-    -moz-osx-font-smoothing: grayscale;
-  }
-  .new-todo {
-    padding: 10px 16px 16px 60px;
-    border: none;
-    background: rgba(0, 0, 0, 0.003);
-    box-shadow: inset 0 -2px 1px rgba(0, 0, 0, 0.03);
-  }
-  .main {
-    position: relative;
-    z-index: 2;
-    border-top: 1px solid #e6e6e6;
-  }
-  .toggle-all {
-    text-align: center;
-    border: none;
-    /* Mobile Safari */
-    opacity: 0;
-    position: absolute;
-  }
-  .toggle-all+label {
-    width: 60px;
-    height: 34px;
-    font-size: 0;
-    position: absolute;
-    top: -52px;
-    left: -13px;
-    -webkit-transform: rotate(90deg);
-    transform: rotate(90deg);
-  }
-  .toggle-all+label:before {
-    content: '❯';
-    font-size: 22px;
-    color: #e6e6e6;
-    padding: 10px 27px 10px 27px;
-  }
-  .toggle-all:checked+label:before {
-    color: #737373;
-  }
-  .todo-list {
-    margin: 0;
-    padding: 0;
-    list-style: none;
-  }
-  .todo-list li {
-    position: relative;
-    font-size: 24px;
-    border-bottom: 1px solid #ededed;
-  }
-  .todo-list li:last-child {
-    border-bottom: none;
-  }
-  .todo-list li.editing {
-    border-bottom: none;
-    padding: 0;
-  }
-  .todo-list li.editing .edit {
-    display: block;
-    width: 506px;
-    padding: 12px 16px;
-    margin: 0 0 0 43px;
-  }
-  .todo-list li.editing .view {
-    display: none;
-  }
-  .todo-list li .toggle {
-    text-align: center;
-    width: 40px;
-    /* auto, since non-WebKit browsers doesn't support input styling */
-    height: auto;
-    position: absolute;
-    top: 0;
-    bottom: 0;
-    margin: auto 0;
-    border: none;
-    /* Mobile Safari */
-    -webkit-appearance: none;
-    appearance: none;
-  }
-  .todo-list li .toggle {
-    opacity: 0;
-  }
-  .todo-list li .toggle+label {
-    /*
-    Firefox requires `#` to be escaped - https://bugzilla.mozilla.org/show_bug.cgi?id=922433
-    IE and Edge requires *everything* to be escaped to render, so we do that instead of just the `#` - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7157459/
-  */
-    background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23ededed%22%20stroke-width%3D%223%22/%3E%3C/svg%3E');
-    background-repeat: no-repeat;
-    background-position: center left;
-    background-size: 36px;
-  }
-  .todo-list li .toggle:checked+label {
-    background-size: 36px;
-    background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23bddad5%22%20stroke-width%3D%223%22/%3E%3Cpath%20fill%3D%22%235dc2af%22%20d%3D%22M72%2025L42%2071%2027%2056l-4%204%2020%2020%2034-52z%22/%3E%3C/svg%3E');
-  }
-  .todo-list li label {
-    word-break: break-all;
-    padding: 15px 15px 15px 50px;
-    display: block;
-    line-height: 1.0;
-        font-size: 14px;
-    transition: color 0.4s;
-  }
-  .todo-list li.completed label {
-    color: #d9d9d9;
-    text-decoration: line-through;
-  }
-  .todo-list li .destroy {
-    display: none;
-    position: absolute;
-    top: 0;
-    right: 10px;
-    bottom: 0;
-    width: 40px;
-    height: 40px;
-    margin: auto 0;
-    font-size: 30px;
-    color: #cc9a9a;
-    transition: color 0.2s ease-out;
-    cursor: pointer;
-  }
-  .todo-list li .destroy:hover {
-    color: #af5b5e;
-  }
-  .todo-list li .destroy:after {
-    content: '×';
-  }
-  .todo-list li:hover .destroy {
-    display: block;
-  }
-  .todo-list li .edit {
-    display: none;
-  }
-  .todo-list li.editing:last-child {
-    margin-bottom: -1px;
-  }
-  .footer {
-    color: #777;
-    position: relative;
-    padding: 10px 15px;
-    height: 40px;
-    text-align: center;
-    border-top: 1px solid #e6e6e6;
-  }
-  .footer:before {
-    content: '';
-    position: absolute;
-    right: 0;
-    bottom: 0;
-    left: 0;
-    height: 40px;
-    overflow: hidden;
-    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 8px 0 -3px #f6f6f6, 0 9px 1px -3px rgba(0, 0, 0, 0.2), 0 16px 0 -6px #f6f6f6, 0 17px 2px -6px rgba(0, 0, 0, 0.2);
-  }
-  .todo-count {
-    float: left;
-    text-align: left;
-  }
-  .todo-count strong {
-    font-weight: 300;
-  }
-  .filters {
-    margin: 0;
-    padding: 0;
-    position: relative;
-    z-index: 1;
-    list-style: none;
-  }
-  .filters li {
-    display: inline;
-  }
-  .filters li a {
-    color: inherit;
-    font-size: 12px;
-    padding: 3px 7px;
-    text-decoration: none;
-    border: 1px solid transparent;
-    border-radius: 3px;
-  }
-  .filters li a:hover {
-    border-color: rgba(175, 47, 47, 0.1);
-  }
-  .filters li a.selected {
-    border-color: rgba(175, 47, 47, 0.2);
-  }
-  .clear-completed,
-  html .clear-completed:active {
-    float: right;
-    position: relative;
-    line-height: 20px;
-    text-decoration: none;
-    cursor: pointer;
-  }
-  .clear-completed:hover {
-    text-decoration: underline;
-  }
-  .info {
-    margin: 65px auto 0;
-    color: #bfbfbf;
-    font-size: 10px;
-    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
-    text-align: center;
-  }
-  .info p {
-    line-height: 1;
-  }
-  .info a {
-    color: inherit;
-    text-decoration: none;
-    font-weight: 400;
-  }
-  .info a:hover {
-    text-decoration: underline;
-  }
-  /*
-  Hack to remove background from Mobile Safari.
-  Can't use it globally since it destroys checkboxes in Firefox
-*/
-  @media screen and (-webkit-min-device-pixel-ratio:0) {
-    .toggle-all,
-    .todo-list li .toggle {
-      background: none;
-    }
-    .todo-list li .toggle {
-      height: 40px;
-    }
-  }
-  @media (max-width: 430px) {
-    .footer {
-      height: 50px;
-    }
-    .filters {
-      bottom: 10px;
-    }
-  }
-}

+ 0 - 127
src/views/report/queryWater/components/TodoList/index.vue

@@ -1,127 +0,0 @@
-<template>
-  <section class="todoapp">
-    <!-- header -->
-    <header class="header">
-      <input class="new-todo" autocomplete="off" placeholder="Todo List" @keyup.enter="addTodo">
-    </header>
-    <!-- main section -->
-    <section v-show="todos.length" class="main">
-      <input id="toggle-all" :checked="allChecked" class="toggle-all" type="checkbox" @change="toggleAll({ done: !allChecked })">
-      <label for="toggle-all" />
-      <ul class="todo-list">
-        <todo
-          v-for="(todo, index) in filteredTodos"
-          :key="index"
-          :todo="todo"
-          @toggleTodo="toggleTodo"
-          @editTodo="editTodo"
-          @deleteTodo="deleteTodo"
-        />
-      </ul>
-    </section>
-    <!-- footer -->
-    <footer v-show="todos.length" class="footer">
-      <span class="todo-count">
-        <strong>{{ remaining }}</strong>
-        {{ remaining | pluralize('item') }} left
-      </span>
-      <ul class="filters">
-        <li v-for="(val, key) in filters" :key="key">
-          <a :class="{ selected: visibility === key }" @click.prevent="visibility = key">{{ key | capitalize }}</a>
-        </li>
-      </ul>
-      <!-- <button class="clear-completed" v-show="todos.length > remaining" @click="clearCompleted">
-        Clear completed
-      </button> -->
-    </footer>
-  </section>
-</template>
-
-<script>
-import Todo from './Todo.vue'
-
-const STORAGE_KEY = 'todos'
-const filters = {
-  all: todos => todos,
-  active: todos => todos.filter(todo => !todo.done),
-  completed: todos => todos.filter(todo => todo.done)
-}
-const defalutList = [
-  { text: 'star this repository', done: false },
-  { text: 'fork this repository', done: false },
-  { text: 'follow author', done: false },
-  { text: 'vue-element-admin', done: true },
-  { text: 'vue', done: true },
-  { text: 'element-ui', done: true },
-  { text: 'axios', done: true },
-  { text: 'webpack', done: true }
-]
-export default {
-  components: { Todo },
-  filters: {
-    pluralize: (n, w) => n === 1 ? w : w + 's',
-    capitalize: s => s.charAt(0).toUpperCase() + s.slice(1)
-  },
-  data() {
-    return {
-      visibility: 'all',
-      filters,
-      // todos: JSON.parse(window.localStorage.getItem(STORAGE_KEY)) || defalutList
-      todos: defalutList
-    }
-  },
-  computed: {
-    allChecked() {
-      return this.todos.every(todo => todo.done)
-    },
-    filteredTodos() {
-      return filters[this.visibility](this.todos)
-    },
-    remaining() {
-      return this.todos.filter(todo => !todo.done).length
-    }
-  },
-  methods: {
-    setLocalStorage() {
-      window.localStorage.setItem(STORAGE_KEY, JSON.stringify(this.todos))
-    },
-    addTodo(e) {
-      const text = e.target.value
-      if (text.trim()) {
-        this.todos.push({
-          text,
-          done: false
-        })
-        this.setLocalStorage()
-      }
-      e.target.value = ''
-    },
-    toggleTodo(val) {
-      val.done = !val.done
-      this.setLocalStorage()
-    },
-    deleteTodo(todo) {
-      this.todos.splice(this.todos.indexOf(todo), 1)
-      this.setLocalStorage()
-    },
-    editTodo({ todo, value }) {
-      todo.text = value
-      this.setLocalStorage()
-    },
-    clearCompleted() {
-      this.todos = this.todos.filter(todo => !todo.done)
-      this.setLocalStorage()
-    },
-    toggleAll({ done }) {
-      this.todos.forEach(todo => {
-        todo.done = done
-        this.setLocalStorage()
-      })
-    }
-  }
-}
-</script>
-
-<style lang="scss">
-  @import './index.scss';
-</style>

+ 0 - 56
src/views/report/queryWater/components/mixins/resize.js

@@ -1,56 +0,0 @@
-import { debounce } from '@/utils'
-
-export default {
-  data() {
-    return {
-      $_sidebarElm: null
-    }
-  },
-  mounted() {
-    this.$_initResizeEvent()
-    this.$_initSidebarResizeEvent()
-  },
-  beforeDestroy() {
-    this.$_destroyResizeEvent()
-    this.$_destroySidebarResizeEvent()
-  },
-  // to fixed bug when cached by keep-alive
-  // https://github.com/PanJiaChen/vue-element-admin/issues/2116
-  activated() {
-    this.$_initResizeEvent()
-    this.$_initSidebarResizeEvent()
-  },
-  deactivated() {
-    this.$_destroyResizeEvent()
-    this.$_destroySidebarResizeEvent()
-  },
-  methods: {
-    // use $_ for mixins properties
-    // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
-    $_resizeHandler() {
-      return debounce(() => {
-        if (this.chart) {
-          this.chart.resize()
-        }
-      }, 100)()
-    },
-    $_initResizeEvent() {
-      window.addEventListener('resize', this.$_resizeHandler)
-    },
-    $_destroyResizeEvent() {
-      window.removeEventListener('resize', this.$_resizeHandler)
-    },
-    $_sidebarResizeHandler(e) {
-      if (e.propertyName === 'width') {
-        this.$_resizeHandler()
-      }
-    },
-    $_initSidebarResizeEvent() {
-      this.$_sidebarElm = document.getElementsByClassName('sidebar-container')[0]
-      this.$_sidebarElm && this.$_sidebarElm.addEventListener('transitionend', this.$_sidebarResizeHandler)
-    },
-    $_destroySidebarResizeEvent() {
-      this.$_sidebarElm && this.$_sidebarElm.removeEventListener('transitionend', this.$_sidebarResizeHandler)
-    }
-  }
-}

+ 0 - 642
src/views/report/queryWater/index11.vue

@@ -1,642 +0,0 @@
-/* eslint-disable vue/valid-template-root */
-<template>
-  <div class="app-container">
-    <div class="filter-container">
-      <div class="block">
-        <el-date-picker v-model="yearDate" :clearable="false" type="year" placeholder="选择年" />
- 
-        <el-radio-group v-model="radio"    style="float:right;margin-top:20px">
-          <el-radio  label="集团">集团</el-radio>
-          <el-radio  label="一中心">一中心</el-radio>
-          <el-radio  label="二中心">二中心</el-radio>
-          <el-radio  label="三中心">三中心</el-radio>
-        </el-radio-group>   
-
-      </div>
-
-      
-    </div>
-
-    <!-- 年度维修成本 -->
-    <el-row v-if="isBarChart1" style="position: relative;">
-      <p style="position: absolute;top:-12px;left:40%;color:rgb(130, 165, 252);background:rgb(230, 243, 255);border:1px solid rgb(130, 165, 252);padding:10px;border-radius:10px">
-        {{ year }}年集团用水量:{{ total }}万m³
-      </p>
-      <el-col :span="24">
-        <div id="barChart1" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-    <!-- 年度维修成本 -->
-    <el-row>
-      <el-col :span="12">
-        <div  style="width: 100%;height:70px;" />
-        <div id="lineChart1" style="width: 100%;height:400px;" />
-      </el-col>
-      <el-col :span="12">
-
-
-        <el-select v-model="pastureNameListP"  multiple clearable filterable placeholder="牧场" class="filter-item" style="width:700px" @change="changePastureName">
-          <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.name" />
-        </el-select>
-
-
-        <div id="lineChart2" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-    <el-row>
-      <el-col :span="12">
-        <div id="pieChart1" style="width: 100%;height:400px;" />
-      </el-col>
-      <el-col :span="12">
-        <div id="barChart2" style="width: 100%;height:400px;" />
-      </el-col>
-    </el-row>
-
-  </div>
-
-</template>
-
-<script>
-import echarts from 'echarts'
-
-require('echarts/theme/macarons')
-
-// eslint-disable-next-line no-unused-vars
-import waves from '@/directive/waves' // waves directive
-import Pagination from '@/components/Pagination' // secondary package based on el-pagination
-import { GetDataByName, GetReportform, checkButtons } from '@/api/common'
-
-import Cookies from 'js-cookie'
-export default {
-  name: 'QueryWater',
-  directives: { waves },
-  components: { Pagination },
-  data() {
-    return {
-      yearDate: new Date(),
-      total: '',
-
-      pasture: Cookies.get('pasturename'),
-      year: new Date().getFullYear(),
-      month: new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1,
-      deptment: '维修处',
-
-
-      pastureNameListP: [],
-      findAllPasture: [],
-
-      radio: "集团",
-
-      getBarChart1Parm: {
-        name: 'getpSumNowWater',
-        parammaps: {
-          receiveTime: new Date().getFullYear(),
-          center:'',
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getLineChart1Parm: {
-        name: 'getPastureSumMonthWater',
-        parammaps: {
-          receiveTime: new Date().getFullYear(),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getLineChart2Parm: {
-        name: 'getPastureSumDayWater',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getPieChart1Parm: {
-        name: 'getdeptSumMonthWater',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename')
-        }
-      },
-      getBarChart2Parm: {
-        name: 'geteqclassSumMonthWater',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename'),
-          deptName: ''
-        }
-      },
-      barChart1: null,
-      lineChart1: null,
-      lineChart2: null,
-      pieChart1: null,
-      barChart2: null,
-
-      chart_data1: {
-        // pasture: ['宝鸡', '恒盛', '塞一', '塞二', '塞三', '塞四', '塞五', '通山', '合肥', '和林'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data2: {
-        // months: ['2019-01', '2019-02', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66],
-        // budget: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data3: {
-        // day: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
-        // nowYear: [123, 332, 222, 333, 444, 333, 222, 334, 234, 223],
-        // lastYear: [22, 44, 77, 88, 444, 234, 342, 234, 234, 66]
-      },
-      chart_data4: {
-        // name: ['饲养处', '其他部门', '设备处', '能源处', '牧场办公室'],
-        // psum: [
-        //   { value: 335, name: '饲养处' },
-        //   { value: 310, name: '其他部门' },
-        //   { value: 234, name: '设备处' },
-        //   { value: 135, name: '能源处' },
-        //   { value: 1548, name: '牧场办公室' }
-        // ]
-      },
-      chart_data5: {
-        // typeName: ['小型装载机', '叉车', '拖拉机', '抛料机', '搅拌机'],
-        // eqCost: [123, 332, 222, 333, 444],
-        // lastYear: [22, 342, 234, 234, 66]
-      },
-
-      tableKey: 0,
-      list: null,
-      total: 0,
-      listLoading: true,
-      rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
-      cellStyle: { padding: 0 + 'px' },
-
-      dialogFormVisibleCard: false,
-      listLoadingSee: true,
-      rowSeeData: {},
-      listSee: [],
-      totalSee: 0,
-      getdataListParmSee: {
-        name: 'geteqclassSumDay',
-        page: 1,
-        offset: 1,
-        pagecount: 10,
-        returntype: 'Map',
-        parammaps: {
-          receiveTime: new Date().getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1),
-          pastureName: Cookies.get('pasturename'),
-          deptName: '',
-          typeName: '',
-          assetCode: '',
-          eqName: '',
-          startTime: '',
-          stopTime: '',
-          pastureId: Cookies.get('pastureid')
-        }
-      },
-      buttons: [],
-      isBarChart1: []
-
-    }
-  },
-
-  watch: {
-    'yearDate': {
-      deep: true,
-      handler: function(newVal, oldVal) {
-        var time = this.yearDate
-        console.log(newVal.getFullYear())
-        this.year = time.getFullYear()
-        this.getBarChart1Parm.parammaps.receiveTime = time.getFullYear()
-        this.getLineChart1Parm.parammaps.receiveTime = time.getFullYear()
-        this.getLineChart2Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-        this.getPieChart1Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-        this.getBarChart2Parm.parammaps.receiveTime = time.getFullYear() + '-' + (new Date().getMonth() < 9 ? '0' + (new Date().getMonth() + 1) : new Date().getMonth() + 1)
-
-        this.getBarChart1()
-        this.getLineChart1()
-        this.getLineChart2()
-        this.getPieChart1()
-      }
-    },
-    'radio': {
-      deep: true,
-      handler: function(newVal, oldVal) {
-        console.log(newVal, oldVal)
-        if(newVal == '集团'){
-          this.getBarChart1Parm.parammaps.center = ''
-        } else {
-          this.getBarChart1Parm.parammaps.center = newVal
-        }
-        this.getBarChart1()
-        // this.getLineChart1()
-        // this.getLineChart2()
-        // this.getPieChart1()
-      }
-    },
-
-  },
-
-  created() {
-    this.getBarChart1()
-    this.getLineChart1()
-    this.getLineChart2()
-    
-    this.getPieChart1()
-    const that = this
-    GetDataByName({ 'name': 'getUserPCButtons', 'parammaps': { 'jwt_username': Cookies.get('name') }}).then(response => {
-      that.buttons = response.data.list
-      that.get_auto_buttons()
-    })
-
-    GetDataByName({ name: 'findAllPasture', offset: 0, pagecount: 0, returntype: 'Map', parammaps: { 'id': Cookies.get('pastureid') }}).then(response => {
-      console.log(response)
-      that.findAllPasture = response.data.list
- 
-    })
-  },
-  mounted() {
-    // this.roadBarChart1(this.chart_data1)
-    // this.roadlineChart1(this.chart_data2, this.pasture, this.year)
-    // this.roadlineChart2(this.chart_data3, this.pasture, this.month)
-    //  this.roadpieChart1(this.chart_data4, this.month)
-    // this.roadBarChart2(this.chart_data5, this.deptment)
-  },
-  methods: {
-
-    changePastureName(item){
-      console.log(item)
-      if(item.length > 5){
-          this.$notify({
-            title: '提示',
-            message: '最多只能选5家牧场!',
-            type: 'danger',
-            duration: 2000
-          })
-      } else {
-
-      }
-    },
-    get_auto_buttons() {
-      // 图1
-      const BarChart1 = 'report:queryWater:pastures'
-      const isBarChart1 = checkButtons(this.$store.state.user.buttons, BarChart1)
-      this.isBarChart1 = isBarChart1
-    },
-    // 各牧场年度维修成本对比
-    getBarChart1() {
-      GetReportform(this.getBarChart1Parm).then(response => {
-        console.log('图1', response)
-        this.chart_data1 = response.data.chart_data
-        this.roadBarChart1(this.chart_data1)
-        var nowYear = response.data.chart_data.nowYear
-        var total = 0
-        if (nowYear !== null || nowYear !== undefined) {
-          nowYear.forEach(function(item, index) {
-            console.log(parseFloat(item))
-            total = total + parseFloat(item)
-          })
-        }
-        this.total = total.toFixed(4)
-      })
-    },
-    getLineChart1() {
-      GetReportform(this.getLineChart1Parm).then(response => {
-        console.log('图2', response)
-        this.chart_data2 = response.data.chart_data
-        this.roadlineChart1(this.chart_data2, this.pasture, this.year)
-      })
-    },
-    getLineChart2() {
-      GetReportform(this.getLineChart2Parm).then(response => {
-        console.log('图3', response)
-        this.chart_data3 = response.data.chart_data
-
-        this.roadlineChart2(this.chart_data3, this.pasture, this.month)
-      })
-    },
-    
-
-    getPieChart1() {
-      GetDataByName(this.getPieChart1Parm).then(response => {
-        console.log('图4', response)
-        if (response.data === null || response.data.list === null) {
-          this.chart_data4 = { name: [], arr1: [] , arr2: [] }
-          this.chart_data4 = {
-            name: ['挤奶处', '安环处', '饲喂处', '牧场办公室', '品控处'], 
-            arr1: [2,3,13,43,12],
-            arr2: [12,31,23,33,13]
-          }
-          this.roadpieChart1(this.chart_data4, this.month)
-        } else {
-        
-          this.chart_data4 = {
-            name: ['挤奶处', '安环处', '饲喂处', '牧场办公室', '品控处'], 
-            arr1: [2,3,13,43,12],
-            arr2: [12,31,23,33,13]
-          }
-          this.roadpieChart1(this.chart_data4, this.month)
- 
-        }
-
-    
-       })
-    },
-
-    roadpieChart1(chart_data4, month) {
-      if (this.pieChart1 != null) {
-        this.pieChart1.dispose()
-      }
-      this.pieChart1 = echarts.init(document.getElementById('pieChart1'))
-      var option = {
-        title: { text: month + '月部门统计', textStyle: { color: '#769cfc' }},
-       
-        tooltip: {  trigger: 'axis'  },
-        legend: {
-          data:['实际', '预算']
-        },
-        color: ['#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '5%', bottom: '4%', containLabel: true },
-        toolbox: {show: true },
-        calculable: true,
-        xAxis: [
-          {
-            type: 'category',
-            // prettier-ignore
-            data: chart_data4.name
-          }
-        ],
-        yAxis: [
-          {
-            type: 'value'
-          }
-        ],
-        series: [
-          {
-            name: '实际', type: 'bar',  data: chart_data4.arr1,  
-          },
-          {
-            name: '预算',  type: 'bar',  data: chart_data4.arr2, 
-          }
-        ]
-      }
-      this.pieChart1.setOption(option)
-      window.onresize = function() {
-        this.pieChart1.resize()
-      }
-      var that = this
-      this.pieChart1.on('click', function(param, i) {
-        console.log(param)
-        that.deptment = param.name
-        that.getBarChart2Parm.parammaps.deptName = param.name
-        that.getBarChart2()
-      })
-    },
-    getBarChart2() {
-      GetReportform(this.getBarChart2Parm).then(response => {
-        console.log('图5', response)
-        this.chart_data5 = response.data.chart_data
-        this.chart_data5 = {
-            name: ['装载机', '安环处', '饲喂处', '牧场办公室', '品控处'], 
-            arr1: [2,3,13,43,12],
-            arr2: [12,31,23,33,13]
-          }
-
-        this.roadBarChart2(this.chart_data5, this.deptment)
-      })
-    },
-
-    // xx用水量
-    roadBarChart2(chart_data5, deptment) {
-      if (this.barChart2 != null) {
-        this.barChart2.dispose()
-      }
-      this.barChart2 = echarts.init(document.getElementById('barChart2'))
-      var option = {
-        title: { text: deptment + '用水量', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['实际', '预算'],
-          x: 'right'
-        },
-        color: ['#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '15%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data5.name, name: '', axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '水(m³)', axisLabel: { formatter: '{value}' }}],
-        series: [
-          // {
-          //   name: '用水量',
-          //   type: 'bar',
-          //   barWidth: 14,
-          //   data: chart_data5.eqCost,
-          //   emphasis: { label: { show: true, position: 'inside' }}
-          // }
-
-          {
-            name: '实际', type: 'bar',  data: chart_data5.arr1,  
-          },
-          {
-            name: '预算',  type: 'bar',  data: chart_data5.arr2, 
-          }
-
-        ]
-      }
-      this.barChart2.setOption(option)
-      window.onresize = function() {
-        this.barChart2.resize()
-      }
-    },
-
-
-    // 各牧场年度维修成本对比
-    roadBarChart1(chart_data1) {
-      if (this.barChart1 != null) {
-        this.barChart1.dispose()
-      }
-      this.barChart1 = echarts.init(document.getElementById('barChart1'))
-      var option = {
-        title: { text: '各牧场年度用水量对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年用量', '去年同期'],
-          right: 40
-        },
-        color: ['#2dc0e8', '#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '4%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data1.pasture, axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '水(m³)', axisLabel: { formatter: '{value}万' }}],
-        series: [
-          {
-            name: '今年用量',
-            type: 'bar',
-            data: chart_data1.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期',
-            type: 'bar',
-            data: chart_data1.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.barChart1.setOption(option)
-      window.onresize = function() {
-        this.barChart1.resize()
-      }
-      var that = this
-      this.barChart1.on('click', function(param, i) {
-        console.log(param)
-        that.pasture = param.name
-        that.getLineChart1Parm.parammaps.pastureName = param.name
-        that.getLineChart2Parm.parammaps.pastureName = param.name
-        that.getPieChart1Parm.parammaps.pastureName = param.name
-        that.getBarChart2Parm.parammaps.pastureName = param.name
-
-        that.getLineChart1()
-        that.getLineChart2()
-        that.getPieChart1()
-      })
-    },
-    // xx每月用水量对比
-    roadlineChart1(chart_data2, pasture, year) {
-      if (this.lineChart1 != null) {
-        this.lineChart1.dispose()
-      }
-      this.lineChart1 = echarts.init(document.getElementById('lineChart1'))
-      var option = {
-        title: { text: pasture + year + '每月用水量对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年用量', '去年同期用量', '预算'],
-          x: 'right'
-        },
-        color: ['#769cfc', '#FFB800', '#6bda00'],
-        grid: { left: '3%', right: '8%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data2.months, name: '月份', axisLabel: { interval: 0, rotate: 30 }}],
-        yAxis: [{ type: 'value', name: '水(m³)', axisLabel: { formatter: '{value}' }}],
-        series: [
-          {
-            name: '今年用量',
-            type: 'line',
-            data: chart_data2.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期用量',
-            type: 'line',
-            data: chart_data2.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '预算',
-            type: 'line',
-            data: chart_data2.budget,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.lineChart1.setOption(option)
-      window.onresize = function() {
-        this.lineChart1.resize()
-      }
-      var that = this
-      this.lineChart1.on('click', function(param, i) {
-        console.log(param)
-
-        that.getLineChart2Parm.parammaps.receiveTime = param.name
-        that.getPieChart1Parm.parammaps.receiveTime = param.name
-        that.getBarChart2Parm.parammaps.receiveTime = param.name
-
-        var num = param.name.substring(5)
-        console.log(num)
-        that.month = num
-        that.getLineChart2()
-        that.getPieChart1()
-      })
-    },
-
-    // xx用水量对比
-    roadlineChart2(chart_data3, pasture, month) {
-      if (this.lineChart2 != null) {
-        this.lineChart2.dispose()
-      }
-      this.lineChart2 = echarts.init(document.getElementById('lineChart2'))
-      var option = {
-        title: { text:  month + '月每日用水量对比', textStyle: { color: '#769cfc' }},
-        tooltip: { trigger: 'axis' },
-        legend: {
-          data: ['今年日用量', '去年同期'],
-          x: 'right'
-        },
-        color: ['#769cfc', '#FFB800'],
-        grid: { left: '3%', right: '8%', bottom: '4%', containLabel: true },
-        xAxis: [{ type: 'category', data: chart_data3.day, name: '日期', axisLabel: { interval: 0 }}],
-        yAxis: [{ type: 'value', name: '水(m³)', axisLabel: { formatter: '{value}' }}],
-        series: [
-          {
-            name: '今年日用量',
-            type: 'line',
-            data: chart_data3.nowYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          },
-          {
-            name: '去年同期',
-            type: 'line',
-            data: chart_data3.lastYear,
-            emphasis: { label: { show: true, position: 'inside' }}
-          }
-
-        ]
-      }
-      this.lineChart2.setOption(option)
-      window.onresize = function() {
-        this.lineChart2.resize()
-      }
-      this.lineChart2.on('click', function(param, i) {
-        console.log(param)
-      })
-    },
-    // 部门统计
-   
-    
-  }
-}
-</script>
-<style>
-.el-row {
-    margin-bottom: 40px;
-    &:last-child {
-      margin-bottom: 0;
-    }
-  }
-</style>
-
-<style lang="scss" scoped>
-
-.dashboard-editor-container {
-  padding: 20px;
-  background-color: rgb(240, 242, 245);
-  position: relative;
-
-  .github-corner {
-    position: absolute;
-    top: 0px;
-    border: 0;
-    right: 0;
-  }
-
-  .chart-wrapper {
-    background: #fff;
-    padding: 16px 16px 0;
-  }
-}
-
-@media (max-width:1024px) {
-  .chart-wrapper {
-    padding: 8px;
-  }
-}
-</style>