From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 二月 2025 10:08:32 +0800
Subject: [PATCH] #

---
 zy-asrs-admin/src/components/orderDetl/show.vue |  137 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 107 insertions(+), 30 deletions(-)

diff --git a/zy-asrs-admin/src/components/orderDetl/show.vue b/zy-asrs-admin/src/components/orderDetl/show.vue
index 16ebaa1..84acf33 100644
--- a/zy-asrs-admin/src/components/orderDetl/show.vue
+++ b/zy-asrs-admin/src/components/orderDetl/show.vue
@@ -6,6 +6,9 @@
 import { logout } from '@/config.js';
 import { formatMessage } from '@/utils/localeUtils.js';
 import useTableSearch from '@/utils/tableUtils.jsx';
+import WorkTaskView from '@/components/order/workTask/index.vue'
+import CompleteTaskView from '@/components/order/completeTask/index.vue'
+import WaitTaskView from '@/components/order/waitTask/index.vue'
 const context = getCurrentInstance()?.appContext.config.globalProperties;
 
 const router = useRouter();
@@ -20,6 +23,11 @@
     orderType$: '',
     orderSettle$: '',
 });
+const workTaskChild = ref(null)
+const completeTaskChild = ref(null)
+const waitTaskChild = ref(null)
+
+const showWidth = ref("60%")
 getColumns();
 
 const {
@@ -40,13 +48,13 @@
         ellipsis: true,
     },
     {
-        title: formatMessage('db.man_loc_detl.matnr', '鐗╂枡鍙�'),
+        title: formatMessage('db.man_loc_detl.matnr', '鍟嗗搧缂栧彿'),
         dataIndex: 'matnr',
         width: 140,
         ellipsis: true,
     },
     {
-        title: formatMessage('db.man_loc_detl.maktx', '鐗╂枡鍚�'),
+        title: formatMessage('db.man_loc_detl.maktx', '鍟嗗搧鍚嶇О'),
         dataIndex: 'maktx',
         width: 140,
         ellipsis: true,
@@ -61,6 +69,27 @@
     {
         title: formatMessage('db.man_loc_detl.anfme', '鏁伴噺'),
         dataIndex: 'anfme',
+        width: 140,
+        ellipsis: true,
+        editable: true,
+    },
+    {
+        title: formatMessage('db.man_loc_detl.qty', '宸插畬鎴愭暟閲�'),
+        dataIndex: 'qty',
+        width: 140,
+        ellipsis: true,
+        editable: true,
+    },
+    {
+        title: formatMessage('db.man_loc_detl.workQty', '浣滀笟涓暟閲�'),
+        dataIndex: 'workQty',
+        width: 140,
+        ellipsis: true,
+        editable: true,
+    },
+    {
+        title: formatMessage('db.man_loc_detl.waitQty', '缁勬墭鏁伴噺'),
+        dataIndex: 'waitQty',
         width: 140,
         ellipsis: true,
         editable: true,
@@ -119,39 +148,70 @@
     openDetl.value = false;
 }
 
-watch(orderId, (newVal, oldVal) => {
-    get("/api/orderDetl/orderId/" + newVal, {}).then((resp) => {
-        let result = resp.data;
-        let index = 1;
-        let tmp = [];
-        result.data.forEach((item) => {
-            let data = {
-                _id: index++,
-                detlId: item.id,
-                matnr: item.mat$.matnr,
-                maktx: item.mat$.maktx,
-                batch: item.batch,
-                anfme: item.anfme,
-                memo: item.memo
-            };
-            fieldList.forEach((field) => {
-                data[field] = item[field];
-            })
-            tmp.push(data)
-        })
-        tableData.value = tmp;
-    })
+const handleCancel = () => {
+    openDetl.value = false;
+    orderId.value = null;
+}
 
-    get("/api/order/" + newVal, {}).then((resp) => {
-        let result = resp.data;
-        orderInfo.value = result.data;
-    })
+watch(orderId, (newVal, oldVal) => {
+    if (newVal != null) {
+        get("/api/orderDetl/orderId/" + newVal, {}).then((resp) => {
+            let result = resp.data;
+            let index = 1;
+            let tmp = [];
+            result.data.forEach((item) => {
+                let data = {
+                    _id: index++,
+                    detlId: item.id,
+                    matnr: item.mat$.matnr,
+                    maktx: item.mat$.maktx,
+                    batch: item.batch,
+                    anfme: item.anfme,
+                    qty: item.qty,
+                    workQty: item.workQty,
+                    waitQty: item.waitQty,
+                    memo: item.memo
+                };
+                fieldList.forEach((field) => {
+                    data[field] = item[field];
+                })
+                tmp.push(data)
+            })
+            tableData.value = tmp;
+        })
+
+        get("/api/order/" + newVal, {}).then((resp) => {
+            let result = resp.data;
+            if(result.data != null) {
+                orderInfo.value = result.data;
+            }
+        })
+    }
 })
+
+const openWorkTask = (record) => {
+    workTaskChild.value.open = true;
+    workTaskChild.value.showWidth = '55%';
+    workTaskChild.value.orderDetlId = record.detlId;
+}
+
+const openCompleteQty = (record) => {
+    completeTaskChild.value.open = true;
+    completeTaskChild.value.showWidth = '55%';
+    completeTaskChild.value.orderDetlId = record.detlId;
+}
+
+const openWaitQty = (record) => {
+    waitTaskChild.value.open = true;
+    waitTaskChild.value.showWidth = '55%';
+    waitTaskChild.value.orderDetlId = record.detlId;
+}
 
 defineExpose({
     tableData,
     orderId,
     openDetl,
+    showWidth,
 })
 
 </script>
@@ -164,7 +224,7 @@
 
 <template>
     <div>
-        <a-modal v-model:open="openDetl" width="60%" @ok="handleOk">
+        <a-modal v-model:open="openDetl" :width="showWidth" @ok="handleOk" @cancel="handleCancel">
             <div class="component-header">
                 <div>
                     <h3>
@@ -183,7 +243,24 @@
             </div>
             <a-table :data-source="tableData" :defaultExpandAllRows="false" :key="TABLE_KEY" rowKey="id"
                 :scroll="{ y: 768 }" :columns="state.columns">
+                <template #bodyCell="{ column, text, record }">
+                    <template v-if="column.dataIndex === 'workQty'">
+                        <a-button type="link" @click="openWorkTask(record)">{{ text }}</a-button>
+                    </template>
+
+                    <template v-if="column.dataIndex === 'qty'">
+                        <a-button type="link" @click="openCompleteQty(record)">{{ text }}</a-button>
+                    </template>
+
+                    <template v-if="column.dataIndex === 'waitQty'">
+                        <a-button type="link" @click="openWaitQty(record)">{{ text }}</a-button>
+                    </template>
+                </template>
             </a-table>
+
+            <WorkTaskView ref="workTaskChild" />
+            <CompleteTaskView ref="completeTaskChild" />
+            <WaitTaskView ref="waitTaskChild" />
         </a-modal>
     </div>
 </template>
@@ -193,7 +270,7 @@
     display: flex;
 }
 
-.component-header > div {
+.component-header>div {
     flex: 1;
 }
 

--
Gitblit v1.9.1