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 |  608 ++++++++++++++++--------------------------------------
 1 files changed, 183 insertions(+), 425 deletions(-)

diff --git a/src/views/performance/manHour/workTimeManagement.vue b/src/views/performance/manHour/workTimeManagement.vue
index 4bbe90d..f709c4f 100644
--- a/src/views/performance/manHour/workTimeManagement.vue
+++ b/src/views/performance/manHour/workTimeManagement.vue
@@ -1,308 +1,128 @@
 <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">
-          <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()"
-          >
+  <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="寮�濮嬫棩鏈�" 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()"
-        >
-          <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
-        >
-        <el-button
-          v-if="down && currentTable === 'ValueTable0'"
-          :loading="outLoading"
-          size="small"
-          type="primary"
-          @click="handleOut"
-          >瀵� 鍑�</el-button
-        >
-        <el-button
-          v-if="down && currentTable === 'ValueTable1'"
-          :loading="outLoading"
-          size="small"
-          type="primary"
-          @click="handleOut1"
-          >瀵� 鍑�</el-button
-        >
-        <el-button
-          v-show="
-            currentTable == 'ValueTable0' &&
-            checkPermi(['performance:manHour:workTimeManagement:add'])
-          "
-          size="small"
-          type="primary"
-          @click="openBatchCheck(1)"
-          >鎵归噺鎵瑰噯</el-button
-        >
+        <el-button v-show="currentTable == 'ValueTable0' &&
+          checkPermi(['performance:manHour:workTimeManagement:add'])
+          " size="small" type="primary" @click="openAdd">褰曞叆鏁版嵁</el-button>
+        <el-button v-if="down && currentTable === 'ValueTable0'" :loading="outLoading" size="small" type="primary"
+          @click="handleOut">瀵� 鍑�</el-button>
+        <el-button v-if="down && currentTable === 'ValueTable1'" :loading="outLoading" size="small" type="primary"
+          @click="handleOut1">瀵� 鍑�</el-button>
+        <el-button v-show="currentTable == 'ValueTable0' &&
+          checkPermi(['performance:manHour:workTimeManagement:add'])
+          " size="small" type="primary" @click="openBatchCheck(1)">鎵归噺鎵瑰噯</el-button>
       </div>
     </div>
     <div class="table">
-      <lims-table
-        :tableData="tableData"
-        :column="column"
-        :page="page"
-        :tableLoading="tableLoading"
-        :height="'calc(100vh - 320px)'"
-        v-if="currentTable == 'ValueTable0'"
-        @pagination="pagination"
-      ></lims-table>
-      <lims-table
-        :tableData="tableData0"
-        :column="column0"
-        :page="page0"
-        :tableLoading="tableLoading"
-        :height="'calc(100vh - 320px)'"
-        v-if="currentTable == 'ValueTable1'"
-        @pagination="pagination0"
-      ></lims-table>
+      <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
+                  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"
+                  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"
-    >
+    <el-dialog :before-close="handleClose" :title="formData.id ? '缂栬緫' : '褰曞叆鏁版嵁'" :visible.sync="addVisible"
+      width="600px">
       <el-row style="display: flex; justify-content: space-around">
         <el-col :span="12">
           <el-form :model="formData" label-width="90px">
             <el-form-item label="褰曞叆鏃堕棿:">
               <el-radio-group v-model="formData.dateTime" size="small">
-                <el-radio :label="getYearAndMonthAndDays() + ' 00:00:00'"
-                  >浠婂ぉ</el-radio
-                >
-                <el-radio
-                  :label="
-                    getYearAndMonthAndDays(
-                      new Date(new Date().getTime() - 24 * 60 * 60 * 1000)
-                    ) + ' 00:00:00'
-                  "
-                  >鏄ㄥぉ</el-radio
-                >
+                <el-radio :label="getYearAndMonthAndDays() + ' 00:00:00'">浠婂ぉ</el-radio>
+                <el-radio :label="getYearAndMonthAndDays(
+                  new Date(new Date().getTime() - 24 * 60 * 60 * 1000)
+                ) + ' 00:00:00'
+                  ">鏄ㄥぉ</el-radio>
               </el-radio-group>
             </el-form-item>
             <el-form-item label="骞翠唤:">
-              <el-input
-                v-model="formData.year"
-                disabled
-                size="small"
-              ></el-input>
+              <el-input v-model="formData.year" disabled size="small"></el-input>
             </el-form-item>
             <el-form-item label="鍛ㄦ:">
-              <el-input
-                v-model="formData.week"
-                disabled
-                size="small"
-              ></el-input>
+              <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-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>
               </el-select>
             </el-form-item>
             <el-form-item label="鐝:">
-              <el-input
-                v-model="formData.shift"
-                disabled
-                size="small"
-              ></el-input>
+              <el-input v-model="formData.shift" disabled size="small"></el-input>
             </el-form-item>
           </el-form>
         </el-col>
         <el-col :span="12">
           <el-form :model="formData" label-width="90px">
             <el-form-item label="缂栧彿:" required>
-              <el-input
-                v-model="formData.number"
-                size="small"
-                @blur="getInfoByCode"
-              ></el-input>
+              <el-input v-model="formData.number" size="small" @blur="getInfoByCode"></el-input>
             </el-form-item>
             <el-form-item label="鏁伴噺:" required>
               <el-input v-model="formData.amount" size="small"></el-input>
             </el-form-item>
             <el-form-item label="鏍稿噯宸ユ椂:">
-              <el-input
-                v-model="formData.approvedWorkingHour"
-                disabled
-                size="small"
-              ></el-input>
+              <el-input v-model="formData.approvedWorkingHour" disabled size="small"></el-input>
             </el-form-item>
             <el-form-item label="杈呭姪宸ユ椂:">
-              <el-input
-                v-model="formData.nonproductiveTime"
-                disabled
-                size="small"
-              ></el-input>
+              <el-input v-model="formData.nonproductiveTime" disabled size="small"></el-input>
             </el-form-item>
             <el-form-item label="杈呭姪椤圭洰:">
-              <el-input
-                v-model="formData.auxiliaryProject"
-                disabled
-                size="small"
-              ></el-input>
+              <el-input v-model="formData.auxiliaryProject" disabled size="small"></el-input>
             </el-form-item>
           </el-form>
         </el-col>
       </el-row>
       <el-form :model="formData" label-width="90px">
         <el-form-item label="杈呭姪璇存槑:">
-          <el-input
-            v-model="formData.remarks"
-            :rows="3"
-            size="small"
-            type="textarea"
-          ></el-input>
+          <el-input v-model="formData.remarks" :rows="3" size="small" type="textarea"></el-input>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-row>
           <el-button @click="handleClose">鍙� 娑�</el-button>
-          <el-button :loading="addLoad" type="primary" @click="submitAdd"
-            >纭� 瀹�</el-button
-          >
+          <el-button :loading="addLoad" type="primary" @click="submitAdd">纭� 瀹�</el-button>
         </el-row>
       </span>
     </el-dialog>
@@ -312,134 +132,63 @@
         <el-col :span="12">
           <el-form :model="formData0" label-width="90px">
             <el-form-item label="骞翠唤:">
-              <el-input
-                v-model="formData0.year"
-                :disabled="title == '鎵瑰噯'"
-                size="small"
-              ></el-input>
+              <el-input v-model="formData0.year" :disabled="title == '鎵瑰噯'" size="small"></el-input>
             </el-form-item>
             <el-form-item label="鍛ㄦ:">
-              <el-input
-                v-model="formData0.week"
-                :disabled="title == '鎵瑰噯'"
-                size="small"
-              ></el-input>
+              <el-input v-model="formData0.week" :disabled="title == '鎵瑰噯'" size="small"></el-input>
             </el-form-item>
             <el-form-item label="鏄熸湡:">
-              <el-select
-                v-model="formData0.weekDay"
-                :disabled="title == '鎵瑰噯'"
-                placeholder="璇烽�夋嫨"
-                size="small"
-              >
-                <el-option
-                  v-for="item in weekList"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
+              <el-select v-model="formData0.weekDay" :disabled="title == '鎵瑰噯'" placeholder="璇烽�夋嫨" size="small">
+                <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="濮撳悕:">
-              <el-input
-                v-model="formData0.name"
-                disabled
-                size="small"
-              ></el-input>
+              <el-input v-model="formData0.name" disabled size="small"></el-input>
             </el-form-item>
             <el-form-item label="鐝:">
-              <el-select
-                v-model="formData0.shift"
-                :disabled="title == '鎵瑰噯'"
-                placeholder="璇烽�夋嫨"
-                size="small"
-              >
-                <el-option
-                  v-for="item in classType"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
-                >
+              <el-select v-model="formData0.shift" :disabled="title == '鎵瑰噯'" placeholder="璇烽�夋嫨" size="small">
+                <el-option v-for="item in classType" :key="item.value" :label="item.label" :value="item.value">
                 </el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="澶嶆牳璇存槑:">
-              <el-input
-                v-model="formData0.reviewerRemark"
-                :rows="3"
-                size="small"
-                type="textarea"
-              ></el-input>
+              <el-input v-model="formData0.reviewerRemark" :rows="3" size="small" type="textarea"></el-input>
             </el-form-item>
           </el-form>
         </el-col>
         <el-col :span="12">
           <el-form :model="formData0" label-width="90px">
             <el-form-item label="缂栧彿:" required>
-              <el-input
-                v-model="formData0.number"
-                :disabled="title == '鎵瑰噯'"
-                size="small"
-              ></el-input>
+              <el-input v-model="formData0.number" :disabled="title == '鎵瑰噯'" size="small"></el-input>
             </el-form-item>
             <el-form-item label="鏁伴噺:" required>
-              <el-input
-                v-model="formData0.amount"
-                :disabled="title == '鎵瑰噯'"
-                size="small"
-              ></el-input>
+              <el-input v-model="formData0.amount" :disabled="title == '鎵瑰噯'" size="small"></el-input>
             </el-form-item>
             <el-form-item label="澶嶆牳鏁伴噺:" required>
-              <el-input
-                v-model="formData0.reviewerNumber"
-                size="small"
-              ></el-input>
+              <el-input v-model="formData0.reviewerNumber" size="small"></el-input>
             </el-form-item>
             <el-form-item label="鏍稿噯宸ユ椂:">
-              <el-input
-                v-model="formData0.approvedWorkingHour"
-                disabled
-                size="small"
-              ></el-input>
+              <el-input v-model="formData0.approvedWorkingHour" disabled size="small"></el-input>
             </el-form-item>
             <el-form-item label="澶嶆牳宸ユ椂:">
-              <el-input
-                v-model="formData0.reviewerNonproductiveTime"
-                disabled
-                size="small"
-              ></el-input>
+              <el-input v-model="formData0.reviewerNonproductiveTime" disabled size="small"></el-input>
             </el-form-item>
             <el-form-item label="杈呭姪椤圭洰:">
-              <el-input
-                v-model="formData0.auxiliaryProject"
-                disabled
-                size="small"
-              ></el-input>
+              <el-input v-model="formData0.auxiliaryProject" disabled size="small"></el-input>
             </el-form-item>
           </el-form>
         </el-col>
       </el-row>
       <span slot="footer" class="dialog-footer">
         <el-row>
-          <el-button :loading="checkLoadN" @click="submitCheck(0)"
-            >涓嶆壒鍑�</el-button
-          >
-          <el-button
-            :loading="checkLoadY"
-            type="primary"
-            @click="submitCheck(1)"
-            >鎵� 鍑�</el-button
-          >
+          <el-button :loading="checkLoadN" @click="submitCheck(0)">涓嶆壒鍑�</el-button>
+          <el-button :loading="checkLoadY" type="primary" @click="submitCheck(1)">鎵� 鍑�</el-button>
         </el-row>
       </span>
     </el-dialog>
-    <el-dialog
-      :before-close="closeBatchCheckDialog"
-      :title="batchCheckTitle"
-      :visible.sync="batchCheckDialog"
-      width="30%"
-    >
+    <el-dialog :before-close="closeBatchCheckDialog" :title="batchCheckTitle" :visible.sync="batchCheckDialog"
+      width="30%">
       <span>{{ batchCheckDialogMessage }}</span>
       <span slot="footer" class="dialog-footer">
         <el-button @click="batchCheck(0)">涓嶆壒鍑�</el-button>
@@ -450,7 +199,6 @@
 </template>
 
 <script>
-import ValueTable from "@/components/Table/value-table.vue";
 import { getYearAndMonthAndDays } from "@/utils/date";
 import {
   selectAuxiliaryWorkingHoursDay,
@@ -466,10 +214,8 @@
   exportOutputHours,
 } from "@/api/performance/manHour";
 import limsTable from "@/components/Table/lims-table.vue";
-import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
 export default {
   components: {
-    ValueTable,
     limsTable,
   },
   dicts: ["sys_class_type"],
@@ -481,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,
@@ -585,17 +331,29 @@
           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" },
         {
           dataType: "action",
           fixed: "right",
           label: "鎿嶄綔",
-          width: "160px",
           operation: [
             {
               name: "缂栬緫",
@@ -647,8 +405,8 @@
       ],
       page: {
         total: 0,
-        size: 10,
-        current: 0,
+        size: 20,
+        current: 1,
       },
       tableLoading: false,
       tableData0: [],
@@ -669,8 +427,8 @@
       ],
       page0: {
         total: 0,
-        size: 10,
-        current: 0,
+        size: 20,
+        current: 1,
       },
       shifList: [],
     };
@@ -737,13 +495,19 @@
   },
   mounted() {
     this.getCurrentWeekNumber();
-    this.collectWorkingHours();
+    // this.collectWorkingHours();
     this.selectshiftByUser();
-    this.getList();
-    this.getList0();
+    this.searchList()
   },
   methods: {
-    checkPermi,
+    searchList() {
+      if (this.currentTable == 'ValueTable0') {
+        this.getList();
+      } else {
+        this.getList0();
+      }
+    },
+    // 鏌ヨ杈呭姪宸ユ椂鍒楄〃
     getList(entity) {
       this.tableLoading = true;
       let param = {};
@@ -751,6 +515,7 @@
         param = { ...entity, ...this.page };
       } else {
         param = { ...this.entity, ...this.page };
+        param.dateTime = param.dateTime?.length > 0 ? JSON.stringify(param.dateTime) : null;
       }
       delete param.total;
       selectAuxiliaryWorkingHoursDay({ ...param })
@@ -765,6 +530,7 @@
           this.tableLoading = false;
         });
     },
+    // 鏌ヨ浜ч噺宸ユ椂鍒楄〃
     getList0(entity) {
       this.tableLoading = true;
       let param = {};
@@ -772,8 +538,10 @@
         param = { ...entity, ...this.page0 };
       } else {
         param = { ...this.entity, ...this.page0 };
+        param.dateTime = param.dateTime?.length > 0 ? JSON.stringify(param.dateTime) : null
       }
       delete param.total;
+      delete param.state;
       selectAuxiliaryOutputWorkingHours({ ...param })
         .then((res) => {
           this.tableLoading = false;
@@ -786,13 +554,15 @@
           this.tableLoading = false;
         });
     },
-    pagination(current, size) {
-      this.page.current = current;
+    pagination({ page, limit }) {
+      this.page.current = page;
+      this.page.size = limit;
       this.getList();
     },
-    pagination0(current, size) {
-      this.page0.current = current;
-      this.getList();
+    pagination0({ page, limit }) {
+      this.page0.current = page;
+      this.page0.size = limit;
+      this.getList0();
     },
     /** 灏嗘椂闂撮�夋嫨鍣ㄩ粯璁ら�変负褰撳ぉ鐨勬棩鏈� */
     setDate() {
@@ -832,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() {
@@ -866,12 +638,11 @@
       })
         .then(() => {
           deleteAuxiliaryWorkingHoursDay({ id: row.id }).then((res) => {
-            if (res.code == 201) return;
             this.$message.success("鍒犻櫎鎴愬姛");
             this.refreshTable("page");
           });
         })
-        .catch(() => {});
+        .catch(() => { });
     },
     handleClose() {
       this.addVisible = false;
@@ -889,7 +660,6 @@
       if (!this.formData.id) {
         insertAuxiliaryWorkingHoursDay(this.formData).then((res) => {
           this.addLoad = false;
-          if (res.code == 201) return;
           this.$message.success("宸叉彁浜�");
           this.formData.number = "";
           this.formData.amount = "";
@@ -899,12 +669,11 @@
           this.formData.auxiliaryProject = "";
           this.addVisible = false;
           this.refreshTable("page");
-          this.collectWorkingHours();
+          // this.collectWorkingHours();
         });
       } else {
         updateAuxiliaryWorkingHoursDay(this.formData).then((res) => {
           this.addLoad = false;
-          if (res.code == 201) return;
           this.$message.success("鎿嶄綔鎴愬姛");
           this.formData.number = "";
           this.formData.amount = "";
@@ -913,7 +682,7 @@
           this.formData.nonproductiveTime = "";
           this.formData.auxiliaryProject = "";
           this.refreshTable("page");
-          this.collectWorkingHours();
+          // this.collectWorkingHours();
         });
       }
     },
@@ -947,7 +716,20 @@
       }
     },
     batchCheck(e) {
-      this.$refs.ValueTable0.batchCheck(e);
+      const list = JSON.parse(JSON.stringify(this.ValueTable0Selected));
+      const state = e === 0 ? "涓嶆壒鍑�" : "宸叉壒鍑�";
+      let auxiliaryWorkingHoursDays = [];
+      list.forEach((item) => {
+        delete item.orderBy;
+        item.state = state;
+        auxiliaryWorkingHoursDays.push(item);
+      });
+      approve({ auxiliaryWorkingHoursDays: auxiliaryWorkingHoursDays }).then(
+        (res) => {
+          this.submitBatchCheckDialog();
+          this.$message.success("鎿嶄綔鎴愬姛");
+        }
+      );
     },
     closeBatchCheckDialog() {
       this.batchCheckDialog = false;
@@ -955,7 +737,7 @@
     submitBatchCheckDialog() {
       this.batchCheckDialog = false;
       this.refreshTable("page");
-      this.collectWorkingHours();
+      // this.collectWorkingHours();
     },
     submitCheck(e) {
       if (!this.formData0.number) {
@@ -980,11 +762,10 @@
         } else {
           this.checkLoadY = false;
         }
-        if (res.code == 201) return;
         this.$message.success("鎿嶄綔鎴愬姛");
         this.checkVisible = false;
         this.refreshTable("page");
-        this.collectWorkingHours();
+        // this.collectWorkingHours();
       });
     },
     getCurrentWeekNumber(now = new Date()) {
@@ -1036,7 +817,8 @@
       }
       entity.weekDay = this.entity.weekDay;
       entity.name = this.entity.name;
-      collectWorkingHours({ entity: entity }).then((res) => {
+      entity.state = this.entity.state;
+      collectWorkingHours(entity).then((res) => {
         this.totalInfo = res.data;
       });
     },
@@ -1047,22 +829,22 @@
     },
     getInfoByCode() {
       if (this.formData.number) {
-        selectAuxiliaryWorkingHoursByNumber(this.formData.number).then(
-          (res) => {
-            this.auxiliaryWorking = res.data;
-            if (this.addVisible) {
-              this.formData.approvedWorkingHour =
-                this.auxiliaryWorking.approvedWorkingHour;
-              this.formData.auxiliaryProject =
-                this.auxiliaryWorking.auxiliaryProject;
-            } else if (this.title == "瀹℃牳" && this.checkVisible) {
-              this.formData0.approvedWorkingHour =
-                this.auxiliaryWorking.approvedWorkingHour;
-              this.formData0.auxiliaryProject =
-                this.auxiliaryWorking.auxiliaryProject;
-            }
+        selectAuxiliaryWorkingHoursByNumber({
+          number: this.formData.number,
+        }).then((res) => {
+          this.auxiliaryWorking = res.data;
+          if (this.addVisible) {
+            this.formData.approvedWorkingHour =
+              this.auxiliaryWorking.approvedWorkingHour;
+            this.formData.auxiliaryProject =
+              this.auxiliaryWorking.auxiliaryProject;
+          } else if (this.title == "瀹℃牳" && this.checkVisible) {
+            this.formData0.approvedWorkingHour =
+              this.auxiliaryWorking.approvedWorkingHour;
+            this.formData0.auxiliaryProject =
+              this.auxiliaryWorking.auxiliaryProject;
           }
-        );
+        });
       }
     },
     handleOut() {
@@ -1076,7 +858,6 @@
       exportAssistantHours({ entity: entity })
         .then((res) => {
           this.outLoading = false;
-          this.$message.success("瀵煎嚭鎴愬姛");
           const blob = new Blob([res]);
           this.$download.saveAs(blob, "杈呭姪宸ユ椂淇℃伅瀵煎嚭.xlsx");
         })
@@ -1095,7 +876,6 @@
       exportOutputHours({ entity: entity })
         .then((res) => {
           this.outLoading = false;
-          this.$message.success("瀵煎嚭鎴愬姛");
           const blob = new Blob([res]);
           this.$download.saveAs(blob, "浜ч噺宸ユ椂淇℃伅瀵煎嚭.xlsx");
         })
@@ -1103,41 +883,19 @@
           this.outLoading = false;
         });
     },
+    handleSelectionChange(val) {
+      // console.log(111, val);
+      this.ValueTable0Selected = val;
+    },
   },
 };
 </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