<template>
|
<div class="capacity-scope">
|
<div>
|
<div class="search">
|
<div>
|
<el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
|
<el-form-item label="日期" prop="month">
|
<el-date-picker
|
v-model="queryParams.month"
|
:clearable="false"
|
format="yyyy-MM"
|
placeholder="选择月"
|
size="small"
|
style="width: 100%"
|
type="month"
|
value-format="yyyy-MM"
|
@change="refreshTable()"
|
>
|
</el-date-picker>
|
</el-form-item>
|
<el-form-item label="员工" prop="name">
|
<el-input
|
v-model="queryParams.name"
|
clearable
|
placeholder="请输入"
|
size="small"
|
@keyup.enter.native="refreshTable()"
|
></el-input>
|
</el-form-item>
|
<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"-->
|
<!-- :height="'calc(100vh - 290px)'"-->
|
<!-- @pagination="pagination"-->
|
<!-- >-->
|
<!-- </limsTable>-->
|
<el-table
|
:data="tableData"
|
v-loading="tableLoading"
|
:height="'calc(100vh - 290px)'"
|
:cell-style="{ textAlign: 'center' }"
|
:header-cell-style="{ background: '#f8f8f9', color: '#515a6e', textAlign: 'center' }"
|
border
|
>
|
<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="耐丝域MES">
|
<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="科技域MES">
|
<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 {transformExcel} from '@/utils/file'
|
import { getYearAndMonthAndDays, getWorkMonth } from "@/utils/date";
|
import limsTable from "@/components/Table/lims-table.vue";
|
import { selectAuxiliaryAllByMonth,exportWorkHoursTotal } from "@/api/performance/manHour";
|
export default {
|
components: {
|
limsTable
|
},
|
data() {
|
return {
|
queryParams: {
|
month: getWorkMonth().format('YYYY-MM'),
|
name: "",
|
departLims: "",
|
},
|
tableColumn: [
|
{
|
label: "姓名",
|
minWidth: "120px",
|
prop: "userName",
|
},
|
{
|
label: "月份",
|
minWidth: "120px",
|
prop: "month",
|
},
|
{
|
label: "产量工时",
|
minWidth: "120px",
|
prop: "yieldHour",
|
},
|
{
|
label: "辅助工时",
|
minWidth: "120px",
|
prop: "subsidiaryHour",
|
},
|
{
|
label: "总工时",
|
minWidth: "120px",
|
prop: "totalHour",
|
},
|
],
|
tableData: [],
|
tableLoading: false,
|
page: {
|
total: 0,
|
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)
|
.then((res) => {
|
this.tableLoading = false;
|
this.tableData = res.data;
|
})
|
.catch(() => {
|
this.tableLoading = false;
|
});
|
},
|
refresh() {
|
this.queryParams = {
|
month: getWorkMonth().format('YYYY-MM'),
|
name: "",
|
departLims: "",
|
};
|
this.refreshTable();
|
},
|
// 分页
|
pagination({ page, limit }) {
|
this.page.current = page;
|
this.page.size = limit;
|
this.refreshTable();
|
},
|
},
|
};
|
</script>
|
|
<style scoped>
|
|
</style>
|