From e5454b769d44a34af423bf87ac8a740bf8c20341 Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期二, 29 四月 2025 13:25:29 +0800 Subject: [PATCH] Merge branch 'dev' into dev_tides --- src/views/performance/manHour/workTimeManagement.vue | 199 ++++++++++++++++++++++--------------------------- 1 files changed, 88 insertions(+), 111 deletions(-) diff --git a/src/views/performance/manHour/workTimeManagement.vue b/src/views/performance/manHour/workTimeManagement.vue index 3585646..f709c4f 100644 --- a/src/views/performance/manHour/workTimeManagement.vue +++ b/src/views/performance/manHour/workTimeManagement.vue @@ -1,69 +1,47 @@ <template> <!--鏃ュ伐鏃剁鐞�--> - <div class="work-time-management"> - <div class="search"> - <div class="search_thing" style="width: 200px"> - <div class="search_label">鏄熸湡锛�</div> - <el-select v-model="entity.weekDay" clearable placeholder="鍏ㄩ儴" size="small" @change="refreshTable()"> - <el-option v-for="item in weekList" :key="item.value" :label="item.label" :value="item.value"> - </el-option> - </el-select> - </div> - <div class="search_thing" style="width: 390px"> - <div class="search_label" style="width: 90px">鏃堕棿鑼冨洿锛�</div> - <div class="search_input"> + <div class="capacity-scope"> + <div> + <el-form :model="entity" ref="entity" size="small" :inline="true"> + <el-form-item label="鏄熸湡" prop="weekDay" class="form-item"> + <el-select v-model="entity.weekDay" clearable placeholder="鍏ㄩ儴" size="small" @change="refreshTable()"> + <el-option v-for="item in weekList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鏃堕棿鑼冨洿" prop="dateTime" class="dateTime"> <el-date-picker v-model="entity.dateTime" clearable end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd" - range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" style="width: 100%" type="daterange" - value-format="yyyy-MM-dd" @change="refreshTable()"> + range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" type="daterange" + style="width: 100%" + value-format="yyyy-MM-dd" @change="refreshTable()"> </el-date-picker> - </div> - </div> - <!-- 浠ヤ笅杩欎袱涓负缁勯暱瑙掕壊鐗规湁鐨� --> - <div class="search_thing" style="width: 200px"> - <div class="search_label">鍚嶅瓧锛�</div> - <el-input v-model="entity.name" clearable placeholder="璇疯緭鍏�" size="small" - @keyup.enter.native="refreshTable()"></el-input> - </div> - <div v-if="currentTable == 'ValueTable1'" class="search_thing" style="width: 250px"> - <div class="search_label" style="width: 120px">鏍峰搧缂栧彿锛�</div> - <el-input v-model="entity.sample" clearable placeholder="璇疯緭鍏�" size="small" - @keyup.enter.native="refreshTable()"></el-input> - </div> - <div v-if="currentTable == 'ValueTable0'" class="search_thing" style="width: 200px"> - <div class="search_label">鐘舵�侊細</div> - <el-select v-model="entity.state" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()" clearable> - <el-option v-for="item in stateList" :key="item.value" :label="item.label" :value="item.value"> - </el-option> - </el-select> - </div> - <div class="search_thing" style="padding-left: 30px; width: 100px"> - <el-button size="small" @click="refresh()">閲� 缃�</el-button> - <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button> - </div> + </el-form-item> + <el-form-item label="鍚嶅瓧" prop="name"> + <el-input v-model="entity.name" clearable placeholder="璇疯緭鍏�" size="small" + @keyup.enter.native="refreshTable()"></el-input> + </el-form-item> + <el-form-item label="鐘舵��" prop="state" v-if="currentTable == 'ValueTable0'"> + <el-select v-model="entity.state" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()" clearable> + <el-option v-for="item in stateList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鏍峰搧缂栧彿" prop="sample" v-if="currentTable == 'ValueTable1'"> + <el-input v-model="entity.sample" 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-form-item> + </el-form> </div> - <div style="display: flex; align-items: center; justify-content: space-between"> - <el-radio-group :key="'111'" v-model="currentTable" size="small"> + <div style="display: flex; align-items: center; justify-content: space-between;margin-bottom: 10px"> + <el-radio-group :key="'111'" v-model="currentTable" size="small" @change="searchList"> <el-radio-button label="ValueTable0"> 杈呭姪宸ユ椂 </el-radio-button> <el-radio-button label="ValueTable1"> 浜ч噺宸ユ椂 </el-radio-button> </el-radio-group> <div style="display: flex; align-items: center"> - <p style="font-size: 14px; margin-right: 30px"> - 鎬诲伐鏃舵眹鎬伙細<span v-if="totalInfo" style="font-size: 16px; color: #3a7bfa">{{ - totalInfo["浜ч噺宸ユ椂姹囨��"] + totalInfo["杈呭姪宸ユ椂姹囨��"] - ? Number( - totalInfo["浜ч噺宸ユ椂姹囨��"] + totalInfo["杈呭姪宸ユ椂姹囨��"] - ).tofixed(4) - : 0 - }}</span> 浜ч噺宸ユ椂姹囨�伙細<span v-if="totalInfo" style="font-size: 16px; color: #3a7bfa">{{ - totalInfo["浜ч噺宸ユ椂姹囨��"] - ? Number(totalInfo["浜ч噺宸ユ椂姹囨��"]).tofixed(4) - : 0 - }}</span> 杈呭姪宸ユ椂姹囨�伙細<span v-if="totalInfo" style="font-size: 16px; color: #3a7bfa">{{ - totalInfo["杈呭姪宸ユ椂姹囨��"] - ? Number(totalInfo["杈呭姪宸ユ椂姹囨��"]).tofixed(4) - : 0 - }}</span> - </p> <el-button v-show="currentTable == 'ValueTable0' && checkPermi(['performance:manHour:workTimeManagement:add']) " size="small" type="primary" @click="openAdd">褰曞叆鏁版嵁</el-button> @@ -78,10 +56,12 @@ </div> <div class="table"> <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading" - :height="'calc(100vh - 350px)'" :isSelection="true" v-if="currentTable == 'ValueTable0'" - @pagination="pagination" :handleSelectionChange="handleSelectionChange"></lims-table> + key="tableData" :height="'calc(100vh - 330px)'" + :isSelection="true" v-if="currentTable == 'ValueTable0'" + @pagination="pagination" :handleSelectionChange="handleSelectionChange"></lims-table> <lims-table :tableData="tableData0" :column="column0" :page="page0" :tableLoading="tableLoading" - :height="'calc(100vh - 350px)'" v-if="currentTable == 'ValueTable1'" @pagination="pagination0"></lims-table> + key="tableData0" :height="'calc(100vh - 330px)'" + v-if="currentTable == 'ValueTable1'" @pagination="pagination0"></lims-table> </div> <el-dialog :before-close="handleClose" :title="formData.id ? '缂栬緫' : '褰曞叆鏁版嵁'" :visible.sync="addVisible" width="600px"> @@ -104,7 +84,6 @@ <el-input v-model="formData.week" disabled size="small"></el-input> </el-form-item> <el-form-item label="鏄熸湡:"> - <!-- <el-input v-model="formData.weekDay" size="small" disabled></el-input> --> <el-select v-model="formData.weekDay" disabled placeholder="璇烽�夋嫨" size="small"> <el-option v-for="item in weekList" :key="item.value" :label="item.label" :value="item.value"> </el-option> @@ -248,13 +227,13 @@ down: false, addFileVisible: false, weekList: [ - { label: "鍛ㄤ竴", value: "鍛ㄤ竴", type: "primary" }, - { label: "鍛ㄤ簩", value: "鍛ㄤ簩", type: "primary" }, - { label: "鍛ㄤ笁", value: "鍛ㄤ笁", type: "primary" }, - { label: "鍛ㄥ洓", value: "鍛ㄥ洓", type: "primary" }, - { label: "鍛ㄤ簲", value: "鍛ㄤ簲", type: "primary" }, - { label: "鍛ㄥ叚", value: "鍛ㄥ叚", type: "primary" }, - { label: "鍛ㄦ棩", value: "鍛ㄦ棩", type: "primary" }, + { label: "鍛ㄤ竴", value: "1", type: "primary" }, + { label: "鍛ㄤ簩", value: "2", type: "primary" }, + { label: "鍛ㄤ笁", value: "3", type: "primary" }, + { label: "鍛ㄥ洓", value: "4", type: "primary" }, + { label: "鍛ㄤ簲", value: "5", type: "primary" }, + { label: "鍛ㄥ叚", value: "6", type: "primary" }, + { label: "鍛ㄦ棩", value: "0", type: "primary" }, ], currentTable: "ValueTable0", addVisible: false, @@ -352,10 +331,23 @@ label: "鐝", prop: "shift", dataType: "tag", - formatData: this.shifList, + formatData: (params) => { + if (this.shifList.find(m => m.value == params)) { + return this.shifList.find(m => m.value == params).label + } else { + return null + } + }, }, { label: "鍛ㄦ", prop: "week" }, - { label: "鏄熸湡", prop: "weekDay" }, + { + label: "鏄熸湡", + prop: "weekDay", + dataType: "tag", + formatData: (params) => { + return this.weekList.find(m => m.value == params).label + }, + }, { label: "鍒涘缓鏃堕棿", prop: "createTime" }, { label: "鏃ユ湡", prop: "dateTime" }, { @@ -413,7 +405,7 @@ ], page: { total: 0, - size: 10, + size: 20, current: 1, }, tableLoading: false, @@ -435,7 +427,7 @@ ], page0: { total: 0, - size: 10, + size: 20, current: 1, }, shifList: [], @@ -503,12 +495,19 @@ }, mounted() { this.getCurrentWeekNumber(); - this.collectWorkingHours(); + // this.collectWorkingHours(); this.selectshiftByUser(); - this.getList(); - this.getList0(); + this.searchList() }, methods: { + searchList() { + if (this.currentTable == 'ValueTable0') { + this.getList(); + } else { + this.getList0(); + } + }, + // 鏌ヨ杈呭姪宸ユ椂鍒楄〃 getList(entity) { this.tableLoading = true; let param = {}; @@ -531,6 +530,7 @@ this.tableLoading = false; }); }, + // 鏌ヨ浜ч噺宸ユ椂鍒楄〃 getList0(entity) { this.tableLoading = true; let param = {}; @@ -541,6 +541,7 @@ param.dateTime = param.dateTime?.length > 0 ? JSON.stringify(param.dateTime) : null } delete param.total; + delete param.state; selectAuxiliaryOutputWorkingHours({ ...param }) .then((res) => { this.tableLoading = false; @@ -601,10 +602,12 @@ this.page0.current = 1; this.getList0(entity); } - this.collectWorkingHours(); + // this.collectWorkingHours(); }, refresh() { this.entity = {}; + this.entity.dateTime = [] + this.setDate() this.refreshTable(); }, openAdd() { @@ -666,7 +669,7 @@ this.formData.auxiliaryProject = ""; this.addVisible = false; this.refreshTable("page"); - this.collectWorkingHours(); + // this.collectWorkingHours(); }); } else { updateAuxiliaryWorkingHoursDay(this.formData).then((res) => { @@ -679,7 +682,7 @@ this.formData.nonproductiveTime = ""; this.formData.auxiliaryProject = ""; this.refreshTable("page"); - this.collectWorkingHours(); + // this.collectWorkingHours(); }); } }, @@ -734,7 +737,7 @@ submitBatchCheckDialog() { this.batchCheckDialog = false; this.refreshTable("page"); - this.collectWorkingHours(); + // this.collectWorkingHours(); }, submitCheck(e) { if (!this.formData0.number) { @@ -762,7 +765,7 @@ this.$message.success("鎿嶄綔鎴愬姛"); this.checkVisible = false; this.refreshTable("page"); - this.collectWorkingHours(); + // this.collectWorkingHours(); }); }, getCurrentWeekNumber(now = new Date()) { @@ -814,6 +817,7 @@ } entity.weekDay = this.entity.weekDay; entity.name = this.entity.name; + entity.state = this.entity.state; collectWorkingHours(entity).then((res) => { this.totalInfo = res.data; }); @@ -888,37 +892,10 @@ </script> <style scoped> -.work-time-management { - height: 100%; - overflow-y: scroll; - padding: 20px; - padding-top: 0; - /* scrollbar-width: none; */ +.form-item >>>.el-form-item__content { + width: 120px; } - -/* .work-time-management::-webkit-scrollbar { - display: none; -} */ -.search { - background-color: #fff; - height: 80px; - display: flex; - align-items: center; -} - -.search_thing { - width: 300px; - display: flex; - align-items: center; -} - -.search_label { - width: 70px; - font-size: 14px; - text-align: right; -} - -.search_input { - width: calc(100% - 70px); +.dateTime >>>.el-form-item__content { + width: 260px; } </style> -- Gitblit v1.9.3