From 37a41ee5074eaa824143c2bb07a5d055419aa21c Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 02 七月 2026 16:12:13 +0800
Subject: [PATCH] fix: 库存管理的导出按钮位置调整

---
 src/views/productionManagement/workOrderEdit/index.vue |   57 ++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 9 deletions(-)

diff --git a/src/views/productionManagement/workOrderEdit/index.vue b/src/views/productionManagement/workOrderEdit/index.vue
index fe75df3..98d29f5 100644
--- a/src/views/productionManagement/workOrderEdit/index.vue
+++ b/src/views/productionManagement/workOrderEdit/index.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <div class="search_form">
+    <div class="search_form mb20">
       <div class="search-row">
         <div class="search-item">
           <span class="search_title">宸ュ崟缂栧彿锛�</span>
@@ -13,7 +13,7 @@
         </div>
         <div class="search-item">
           <span class="search_title">鐢熶骇璁㈠崟鍙凤細</span>
-          <el-input v-model="searchForm.productOrderNpsNo"
+          <el-input v-model="searchForm.npsNo"
                     style="width: 240px"
                     placeholder="璇疯緭鍏�"
                     @change="handleQuery"
@@ -73,6 +73,18 @@
                title="鎸囧畾鎶ュ伐浜�"
                width="800px">
       <div class="assign-reporter-content">
+        <div class="search-box">
+          <el-input
+            v-model="employeeSearchKeyword"
+            placeholder="鎼滅储浜哄憳濮撳悕"
+            clearable
+            @input="handleEmployeeSearch"
+            style="width: 350px">
+            <template #prefix>
+              <i class="el-icon-search"></i>
+            </template>
+          </el-input>
+        </div>
         <div class="selected-tags-box"
              v-if="selectedEmployeeIds.length > 0">
           <div class="tags-label">宸查�夋嫨锛�</div>
@@ -90,7 +102,7 @@
              v-loading="employeeTableLoading">
           <el-checkbox-group v-model="selectedEmployeeIds">
             <div class="employee-grid">
-              <div v-for="item in employeeTableData"
+              <div v-for="item in filteredEmployeeList"
                    :key="item.userId"
                    class="employee-item">
                 <el-checkbox :label="item.userId"
@@ -103,17 +115,17 @@
               </div>
             </div>
           </el-checkbox-group>
-          <div v-if="employeeTableData.length === 0"
+          <div v-if="filteredEmployeeList.length === 0"
                class="empty-text">
-            鏆傛棤鍖归厤浜哄憳
+            {{ employeeSearchKeyword ? '鏃犲尮閰嶄汉鍛�' : '鏆傛棤浜哄憳鏁版嵁' }}
           </div>
         </div>
       </div>
       <template #footer>
         <span class="dialog-footer">
-          <el-button @click="assignReporterDialogVisible = false">鍙栨秷</el-button>
           <el-button type="primary"
                      @click="handleSaveReporters">纭畾</el-button>
+          <el-button @click="assignReporterDialogVisible = false">鍙栨秷</el-button>
         </span>
       </template>
     </el-dialog>
@@ -121,7 +133,7 @@
 </template>
 
 <script setup>
-  import { getCurrentInstance, onMounted, reactive, ref, toRefs } from "vue";
+  import { getCurrentInstance, onMounted, reactive, ref, toRefs, computed } from "vue";
   import { ElMessageBox } from "element-plus";
   import {
     productWorkOrderPage,
@@ -204,6 +216,11 @@
       width: "140",
     },
     {
+      label: "鎸囧畾鎶ュ伐浜�",
+      prop: "userNames",
+      width: "180",
+    },
+    {
       label: "鎿嶄綔",
       width: "200",
       align: "center",
@@ -248,13 +265,29 @@
   const employeeSearchForm = reactive({
     staffName: "",
   });
+  const employeeSearchKeyword = ref("");
   const selectedEmployeeIds = ref([]);
   const currentWorkOrder = ref(null);
+
+  const filteredEmployeeList = computed(() => {
+    const keyword = employeeSearchKeyword.value.trim().toLowerCase();
+    if (!keyword) {
+      return employeeTableData.value;
+    }
+    return employeeTableData.value.filter(item => {
+      const name = (item.nickName || "").toLowerCase();
+      const dept = (item.dept?.deptName || "").toLowerCase();
+      return name.includes(keyword) || dept.includes(keyword);
+    });
+  });
+
+  const handleEmployeeSearch = () => {
+  };
 
   const data = reactive({
     searchForm: {
       workOrderNo: "",
-      productOrderNpsNo: "",
+      npsNo: "",
     },
   });
   const { searchForm } = toRefs(data);
@@ -264,7 +297,7 @@
     if (!Number.isFinite(n)) return 0;
     if (n <= 0) return 0;
     if (n >= 100) return 100;
-    return Math.round(n);
+    return parseFloat(n.toFixed(2));
   };
 
   const progressColor = percentage => {
@@ -411,6 +444,12 @@
   }
 
   .assign-reporter-content {
+    .search-box {
+      margin-bottom: 16px;
+      display: flex;
+      justify-content: center;
+    }
+
     .selected-tags-box {
       margin-bottom: 16px;
       padding: 12px;

--
Gitblit v1.9.3