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>&nbsp;&nbsp;&nbsp;&nbsp;浜ч噺宸ユ椂姹囨�伙細<span v-if="totalInfo" style="font-size: 16px; color: #3a7bfa">{{
-              totalInfo["浜ч噺宸ユ椂姹囨��"]
-                ? Number(totalInfo["浜ч噺宸ユ椂姹囨��"]).tofixed(4)
-                : 0
-            }}</span>&nbsp;&nbsp;&nbsp;&nbsp;杈呭姪宸ユ椂姹囨�伙細<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