From 0365c235877b5d09b3f02423681417da0a4a8b81 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期四, 16 四月 2026 17:54:53 +0800
Subject: [PATCH] Merge branch 'dev_天津_君歌化工' of http://114.132.189.42:9002/r/product-inventory-management into dev_天津_君歌化工

---
 src/views/productionManagement/workOrderEdit/index.vue |   69 +++++++++++++++++++++++++++++++---
 1 files changed, 63 insertions(+), 6 deletions(-)

diff --git a/src/views/productionManagement/workOrderEdit/index.vue b/src/views/productionManagement/workOrderEdit/index.vue
index 50f9fce..deca368 100644
--- a/src/views/productionManagement/workOrderEdit/index.vue
+++ b/src/views/productionManagement/workOrderEdit/index.vue
@@ -40,17 +40,33 @@
                label-width="120px">
         <el-form-item label="璁″垝寮�濮嬫椂闂�">
           <el-date-picker v-model="editrow.planStartTime"
-                          type="date"
+                          type="datetime"
                           placeholder="璇烽�夋嫨"
-                          value-format="YYYY-MM-DD"
+                          format="YYYY-MM-DD HH:mm:ss"
+                          value-format="YYYY-MM-DD HH:mm:ss"
                           style="width: 300px" />
         </el-form-item>
         <el-form-item label="璁″垝缁撴潫鏃堕棿">
           <el-date-picker v-model="editrow.planEndTime"
-                          type="date"
+                          type="datetime"
                           placeholder="璇烽�夋嫨"
-                          value-format="YYYY-MM-DD"
+                          format="YYYY-MM-DD HH:mm:ss"
+                          value-format="YYYY-MM-DD HH:mm:ss"
                           style="width: 300px" />
+        </el-form-item>
+        <el-form-item label="鎶ュ伐浜�">
+          <el-select v-model="editrow.reportWorkUserIds"
+                     multiple
+                     filterable
+                     collapse-tags
+                     collapse-tags-tooltip
+                     placeholder="璇烽�夋嫨鎶ュ伐浜�"
+                     style="width: 300px">
+            <el-option v-for="user in userOptions"
+                       :key="user.userId"
+                       :label="user.nickName"
+                       :value="user.userId" />
+          </el-select>
         </el-form-item>
       </el-form>
       <template #footer>
@@ -72,6 +88,7 @@
     productWorkOrderPage,
     updateProductWorkOrder,
   } from "@/api/productionManagement/workOrder.js";
+  import { userListNoPageByTenantId } from "@/api/system/user.js";
   import { getCurrentInstance, reactive, toRefs } from "vue";
   const { proxy } = getCurrentInstance();
 
@@ -163,6 +180,7 @@
   ]);
   
   const tableData = ref([]);
+  const userOptions = ref([]);
   const tableLoading = ref(false);
   const editDialogVisible = ref(false);
   let editrow = ref(null);
@@ -210,7 +228,11 @@
     productWorkOrderPage(params)
       .then(res => {
         tableLoading.value = false;
-        tableData.value = res.data.records;
+        tableData.value = (res.data.records || []).map(item => ({
+          ...item,
+          planStartTime: formatDateTime(item.planStartTime),
+          planEndTime: formatDateTime(item.planEndTime),
+        }));
         page.total = res.data.total;
       })
       .catch(() => {
@@ -220,11 +242,45 @@
 
   const handleEdit = row => {
     editrow.value = JSON.parse(JSON.stringify(row));
+    if (typeof editrow.value.reportWorkUserIds === "string") {
+      editrow.value.reportWorkUserIds = editrow.value.reportWorkUserIds
+        .split(",")
+        .map(v => Number(v))
+        .filter(v => Number.isFinite(v));
+    } else if (!Array.isArray(editrow.value.reportWorkUserIds)) {
+      editrow.value.reportWorkUserIds = [];
+    }
     editDialogVisible.value = true;
   };
 
+  const formatDateTime = value => {
+    if (!value) return "";
+    const date = dayjs(value);
+    return date.isValid() ? date.format("YYYY-MM-DD HH:mm:ss") : value;
+  };
+
+  const getUserList = () => {
+    userListNoPageByTenantId()
+      .then(res => {
+        if (res.code === 200) {
+          userOptions.value = res.data || [];
+        }
+      })
+      .catch(() => {
+        userOptions.value = [];
+      });
+  };
+
   const handleUpdate = () => {
-    updateProductWorkOrder(editrow.value)
+    const selectedUsers = userOptions.value.filter(user =>
+      (editrow.value.reportWorkUserIds || []).includes(user.userId)
+    );
+    const submitData = {
+      ...editrow.value,
+      reportWorkUserIds: editrow.value.reportWorkUserIds || [],
+      reportWork: selectedUsers.map(user => user.nickName).join(","),
+    };
+    updateProductWorkOrder(submitData)
       .then(res => {
         proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
         editDialogVisible.value = false;
@@ -239,6 +295,7 @@
 
   onMounted(() => {
     getList();
+    getUserList();
   });
 </script>
 

--
Gitblit v1.9.3