| 
					
				 | 
			
			
				@@ -0,0 +1,212 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<!-- 工单中心 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="stock"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template v-if="!detailVisible"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item label="时间"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-date-picker 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            v-model="date" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value-format="yyyy-MM-dd" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            @change="dateChangeHandle" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type="daterange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="right" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :clearable="false" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            unlink-panels 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            range-separator="至" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            start-placeholder="开始日期" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            end-placeholder="截止日期"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-date-picker> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button @click="getDataList()">查询</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button type="primary" @click="exportHandle('', {})">导出汇总表</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table :data="dataList" border v-loading="dataListLoading" style="width:100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column label="序号" type="index" width="50" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="receiverName" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            header-align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            min-width="140" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :show-tooltip-when-overflow="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="姓名" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="taskNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            header-align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            min-width="140" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :show-tooltip-when-overflow="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="报工总数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="taskTime" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            header-align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            min-width="180" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :show-tooltip-when-overflow="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="报工总工时" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          prop="damageNum" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          header-align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          min-width="140" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          :show-tooltip-when-overflow="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label="报损数" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="damageTime" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            header-align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            min-width="180" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            :show-tooltip-when-overflow="true" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="报损总工时" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prop="performance" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            header-align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            width="80" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="绩效分" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-table-column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fixed="right" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            header-align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            align="center" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            width="180" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label="操作" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <template slot-scope="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    type="text" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @click="showDetail(scope.row)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    >查看</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <el-button 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    type="text" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    size="small" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    @click="exportDetailHandle(scope.row)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    >导出</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-pagination 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @size-change="sizeChangeHandle" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @current-change="currentChangeHandle" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :current-page="pageIndex" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :page-sizes="[10, 20, 50, 100]" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :page-size="pageSize" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :total="totalPage" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        layout="total, sizes, prev, pager, next, jumper" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-pagination> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <work-stat-detail ref="detail" v-if="detailVisible" @onChose="onChose"></work-stat-detail> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import Vue from 'vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getWorkStatList 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} from '@/api/task' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import WorkStatDetail from './work-stat-detail' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: 'works-work-stat', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  components: {WorkStatDetail}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      detailVisible: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pageIndex: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      pageSize: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      totalPage: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataForm: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      dataList: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      date: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  created () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const currentDate = new Date() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const year = currentDate.getFullYear() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const month = currentDate.getMonth() + 1 // 月份是从 0 开始计数的,因此要加1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const day = currentDate.getDate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.date = [`${year}-${month}-01`, `${year}-${month}-${day}`] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.getDataList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onChose () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.detailVisible = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 每页数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sizeChangeHandle (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.pageSize = val 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.pageIndex = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getDataList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 当前页 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    currentChangeHandle (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.pageIndex = val 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.getDataList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dateChangeHandle (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   this.dataForm.dateStart = val[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //   this.dataForm.dateEnd = val[1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getDataList () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataListLoading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataForm.dateStart = this.date[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.dataForm.dateEnd = this.date[1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let params = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        current: this.pageIndex, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        size: this.pageSize, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ...this.dataForm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getWorkStatList(params).then(({ data }) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data && data.code === '200') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.dataList = data.data.records 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.totalPage = Number(data.data.total) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.dataList = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.totalPage = 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.dataListLoading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 查看详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showDetail (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      val.dateStart = this.dataForm.dateStart 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      val.dateEnd = this.dataForm.dateEnd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.detailVisible = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$refs.detail.init(val) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 导出详情 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    exportDetailHandle (val) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      val.dateStart = this.dataForm.dateStart 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      val.dateEnd = this.dataForm.dateEnd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      location.href = this.$http.adornUrl(`/biz-service/WorkController/count/info/exportExcel?_token=${Vue.cookie.get('token')}&userId=${val.receiver}&dateStart=${val.dateStart}&dateEnd=${val.dateEnd}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     // 导出 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    exportHandle () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let dateStart = this.dataForm.dateStart 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      let dateEnd = this.dataForm.dateEnd 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      location.href = this.$http.adornUrl(`/biz-service/WorkController/count/exportExcel?_token=${Vue.cookie.get('token')}&dateStart=${dateStart}&dateEnd=${dateEnd}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |