| | |
| | | <template> |
| | | <div> |
| | | <div class="capacity-scope"> |
| | | <div> |
| | | <div class="search"> |
| | | <div class="search_thing"> |
| | | <div class="search_label">日期:</div> |
| | | <div class="search_input" style="display: flex; align-items: center"> |
| | | <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> |
| | | </div> |
| | | </div> |
| | | <div class="search_thing"> |
| | | <div class="search_label">员工:</div> |
| | | <el-input |
| | | v-model="queryParams.name" |
| | | clearable |
| | | placeholder="请输入" |
| | | size="small" |
| | | @keyup.enter.native="refreshTable()" |
| | | ></el-input> |
| | | </div> |
| | | <div class="search_thing" style="padding-left: 30px"> |
| | | <el-button size="small" @click="refresh()">重 置</el-button> |
| | | <el-button size="small" type="primary" @click="refreshTable()" |
| | | >查 询</el-button |
| | | > |
| | | <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> |
| | | <div class="table"> |
| | | <TableCard :showForm="false" :showTitle="false"> |
| | | <template v-slot:table> |
| | | <limsTable |
| | | :column="tableColumn" |
| | | :table-data="tableData" |
| | | :table-loading="tableLoading" |
| | | :page="page" |
| | | style="padding: 0 15px" |
| | | :height="'calc(100vh - 290px)'" |
| | | @pagination="pagination" |
| | | > |
| | | </limsTable> |
| | | </template> |
| | | </TableCard> |
| | | </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 { getYearAndMonthAndDays } from "@/utils/date"; |
| | | import TableCard from "@/components/TableCard/index.vue"; |
| | | 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, |
| | | TableCard, |
| | | limsTable |
| | | }, |
| | | data() { |
| | | return { |
| | | queryParams: { |
| | | month: getYearAndMonthAndDays().slice(0, 7), |
| | | month: getWorkMonth().format('YYYY-MM'), |
| | | name: "", |
| | | departLims: "", |
| | | }, |
| | |
| | | tableLoading: false, |
| | | page: { |
| | | total: 0, |
| | | size: 10, |
| | | 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) |
| | |
| | | }, |
| | | refresh() { |
| | | this.queryParams = { |
| | | month: getYearAndMonthAndDays().slice(0, 7), |
| | | month: getWorkMonth().format('YYYY-MM'), |
| | | name: "", |
| | | departLims: "", |
| | | }; |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .work-time-statistics { |
| | | height: 100%; |
| | | } |
| | | .search { |
| | | background-color: #fff; |
| | | height: 80px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_thing { |
| | | width: 270px; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .search_label { |
| | | width: 60px; |
| | | font-size: 14px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .search_input { |
| | | width: calc(100% - 60px); |
| | | } |
| | | .table { |
| | | height: calc(100% - 60px - 80px - 10px - 40px - 25px); |
| | | } |
| | | </style> |