From 8fc1138d2f2115121fd15b679ca1a20fc2ba838a Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 02 四月 2026 13:37:40 +0800
Subject: [PATCH] 绩效管理:工时汇总对接MES数据&人员考勤调整
---
src/views/performance/manHour/workTimeStatistics.vue | 67 ++++++++++++++++++++++++++++-----
1 files changed, 56 insertions(+), 11 deletions(-)
diff --git a/src/views/performance/manHour/workTimeStatistics.vue b/src/views/performance/manHour/workTimeStatistics.vue
index 422aa61..2bd920d 100644
--- a/src/views/performance/manHour/workTimeStatistics.vue
+++ b/src/views/performance/manHour/workTimeStatistics.vue
@@ -30,27 +30,59 @@
<el-form-item>
<el-button type="primary" size="mini" @click="refreshTable">鏌ヨ</el-button>
<el-button size="mini" @click="refresh">閲嶇疆</el-button>
+ <el-button :loading="downloadLoading" type="success" size="mini" @click="exportWorkHoursTotal">瀵煎嚭</el-button>
</el-form-item>
</el-form>
</div>
</div>
- <limsTable
- :column="tableColumn"
- :table-data="tableData"
- :table-loading="tableLoading"
- :page="page"
+<!-- <limsTable-->
+<!-- :column="tableColumn"-->
+<!-- :table-data="tableData"-->
+<!-- :table-loading="tableLoading"-->
+<!-- :page="page"-->
+<!-- :height="'calc(100vh - 290px)'"-->
+<!-- @pagination="pagination"-->
+<!-- >-->
+<!-- </limsTable>-->
+ <el-table
+ :data="tableData"
+ v-loading="tableLoading"
:height="'calc(100vh - 290px)'"
- @pagination="pagination"
+ :cell-style="{ textAlign: 'center' }"
+ :header-cell-style="{ background: '#f8f8f9', color: '#515a6e', textAlign: 'center' }"
+ border
>
- </limsTable>
+ <el-table-column type="index" label="搴忓彿"></el-table-column>
+ <el-table-column prop="userName" label="濮撳悕" min-width="120"></el-table-column>
+ <el-table-column prop="month" label="鏈堜唤" min-width="120"></el-table-column>
+ <el-table-column label="LIMS">
+ <el-table-column prop="yieldHour" label="浜ч噺宸ユ椂" min-width="120"></el-table-column>
+ <el-table-column prop="subsidiaryHour" label="杈呭姪宸ユ椂" min-width="120"></el-table-column>
+ <el-table-column prop="totalHour" label="鎬诲伐鏃�" min-width="120"></el-table-column>
+ </el-table-column>
+ <el-table-column label="鑰愪笣鍩烳ES">
+ <el-table-column prop="operationPerformanceByNS" label="宸ュ簭缁╂晥" min-width="120"></el-table-column>
+ <el-table-column prop="productPerformanceByNS" label="鎴愬搧缁╂晥" min-width="120"></el-table-column>
+ <el-table-column prop="onsiteInspWageByNS" label="宸℃缁╂晥" min-width="120"></el-table-column>
+ <el-table-column prop="handymanWageByNS" label="鏉傚伐宸ヨ祫" min-width="120"></el-table-column>
+ </el-table-column>
+ <el-table-column label="绉戞妧鍩烳ES">
+ <el-table-column prop="operationPerformanceByKJ" label="宸ュ簭缁╂晥" min-width="120"></el-table-column>
+ <el-table-column prop="productPerformanceByKJ" label="鎴愬搧缁╂晥" min-width="120"></el-table-column>
+ <el-table-column prop="onsiteInspWageByKJ" label="宸℃缁╂晥" min-width="120"></el-table-column>
+ <el-table-column prop="handymanWageByKJ" label="鏉傚伐宸ヨ祫" min-width="120"></el-table-column>
+ </el-table-column>
+ </el-table>
+
</div>
</div>
</template>
<script>
-import { getYearAndMonthAndDays, getYearAndMonthAndDaysZTZB } from "@/utils/date";
+import {transformExcel} from '@/utils/file'
+import { getYearAndMonthAndDays, getWorkMonth } from "@/utils/date";
import limsTable from "@/components/Table/lims-table.vue";
-import { selectAuxiliaryAllByMonth } from "@/api/performance/manHour";
+import { selectAuxiliaryAllByMonth,exportWorkHoursTotal } from "@/api/performance/manHour";
export default {
components: {
limsTable
@@ -58,7 +90,7 @@
data() {
return {
queryParams: {
- month: getYearAndMonthAndDaysZTZB().slice(0, 7),
+ month: getWorkMonth().format('YYYY-MM'),
name: "",
departLims: "",
},
@@ -96,12 +128,25 @@
size: 20,
current: 0,
},
+ downloadLoading: false,
};
},
mounted() {
this.refreshTable();
},
methods: {
+ exportWorkHoursTotal(){
+ this.downloadLoading = true
+ exportWorkHoursTotal(this.queryParams).then(res=>{
+ transformExcel(res, "涓ぉ鑰愪笣璐ㄩ噺閮ㄥ伐鏃舵眹鎬�.xlsx")
+ this.$message.success("瀵煎嚭鎴愬姛")
+ this.$nextTick(()=>{
+ this.downloadLoading = false
+ })
+ }).catch((error)=>{
+ console.error(error)
+ })
+ },
refreshTable() {
this.tableLoading = true;
selectAuxiliaryAllByMonth(this.queryParams)
@@ -115,7 +160,7 @@
},
refresh() {
this.queryParams = {
- month: getYearAndMonthAndDaysZTZB().slice(0, 7),
+ month: getWorkMonth().format('YYYY-MM'),
name: "",
departLims: "",
};
--
Gitblit v1.9.3