From ca5e5389e5f466c631e10988c97d40a3e134d40e Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期三, 12 十一月 2025 13:56:02 +0800
Subject: [PATCH] 1

---
 项目代码/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue |  142 +++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 131 insertions(+), 11 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue"
index 53a6eba..e995b74 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue"
@@ -334,18 +334,138 @@
       if (this.selection.length === 0) {
         return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
       }
-      var keys = this.selection.map((item) => item.id); // 鑾峰彇閫変腑琛岀殑id
+      const platformOptions = [{label:'绔欏彴2',value:'2-1'},{label:'绔欏彴3',value:'3-1'}];
+      const mountNode = document.createElement('div');
+      document.body.appendChild(mountNode);
 
-      this.http
-        .post("api/Task/GenerateOutboundTasks", keys, "鏁版嵁澶勭悊涓�")
-        .then((x) => {
-          if (!x.status) return this.$message.error(x.message);
-          this.$message.success("鎿嶄綔鎴愬姛");
-          this.showDetialBox = false;
-          this.$emit("parentCall", ($vue) => {
-            $vue.getData();
-          });
-        });
+      // 2. 琛ㄥ崟鏁版嵁锛堥粯璁ら�変腑绔欏彴3锛�
+      const formData = reactive({
+        selectedPlatform: platformOptions[0].value // 榛樿缁戝畾銆岀珯鍙�3銆嶇殑value
+      });
+
+      // 3. 鍔ㄦ�佸垱寤哄脊绐楃粍浠�
+      const vnode = createVNode(ElDialog, {
+        title: '鍑哄簱鎿嶄綔 - 閫夋嫨鍑哄簱绔欏彴',
+        width: '500px',
+        modelValue: true,
+        appendToBody: true,
+        'onUpdate:modelValue': (isVisible) => {
+          if (!isVisible) {
+            render(null, mountNode);
+            document.body.removeChild(mountNode);
+          }
+        },
+        style: {
+          padding: '20px 0',
+          borderRadius: '8px'
+        }
+      }, {
+        default: () => h(ElForm, {
+          model: formData,
+          rules: {
+            selectedPlatform: [
+              { required: true, message: '璇烽�夋嫨鍑哄簱绔欏彴', trigger: 'change' }
+            ]
+          },
+          ref: 'outboundForm',
+          labelWidth: '100px',
+          style: {
+            padding: '0 30px'
+          }
+        }, [
+          // 鍑哄簱绔欏彴閫夋嫨椤癸紙鏍稿績琛ㄥ崟椤癸級
+          h(ElFormItem, {
+            label: '鍑哄簱绔欏彴',
+            prop: 'selectedPlatform',
+            style: {
+              marginBottom: '24px'
+            }
+          }, [
+            h(ElSelect, {
+              placeholder: '璇烽�夋嫨鍑哄簱绔欏彴锛�3-12锛�',
+              modelValue: formData.selectedPlatform,
+              'onUpdate:modelValue': (val) => {
+                formData.selectedPlatform = val;
+              },
+              style: {
+                width: '100%',
+                height: '40px',
+                borderRadius: '4px',
+                borderColor: '#dcdfe6'
+              }
+            }, platformOptions.map(platform => 
+              h(ElOption, { label: platform.label, value: platform.value })
+            ))
+          ]),
+          // 搴曢儴鎸夐挳鍖�
+          h('div', {
+            style: {
+              textAlign: 'right',
+              marginTop: '8px',
+              paddingRight: '4px'
+            }
+          }, [
+            h(ElButton, {
+              type: 'text',
+              onClick: () => {
+                render(null, mountNode);
+                document.body.removeChild(mountNode);
+                ElMessage.info('鍙栨秷鍑哄簱鎿嶄綔');
+              },
+              style: {
+                marginRight: '8px',
+                color: '#606266'
+              }
+            }, '鍙栨秷'),
+            h(ElButton, {
+              type: 'primary',
+              onClick: async () => {
+                const formRef = vnode.component.refs.outboundForm;
+                try {
+                  // 琛ㄥ崟鏍¢獙
+                  await formRef.validate();
+                } catch (err) {
+                  return;
+                }
+
+                // 4. 鏋勯�犺姹傚弬鏁帮紙閫変腑鍗曟嵁ID + 閫夋嫨鐨勫嚭搴撶珯鍙帮級
+                const keys = this.selection.map((item) => item.id);
+                const requestParams = {
+                  taskIds: keys,
+                  outboundPlatform: formData.selectedPlatform // 鍑哄簱绔欏彴
+                };
+
+                // 5. 璋冪敤鍑哄簱鎺ュ彛
+                this.http
+                  .post("api/Task/GenerateOutboundTasks", requestParams, "鏁版嵁澶勭悊涓�")
+                  .then((x) => {
+                    if (!x.status) return ElMessage.error(x.message);
+                    
+                    ElMessage.success("鎿嶄綔鎴愬姛");
+                    this.showDetialBox = false; // 鍏抽棴璇︽儏妗�
+                    this.$emit("parentCall", ($vue) => {
+                      $vue.getData(); // 閫氱煡鐖剁粍浠跺埛鏂�
+                    });
+                    // 鍏抽棴寮圭獥
+                    render(null, mountNode);
+                    document.body.removeChild(mountNode);
+                  })
+                  .catch(() => {
+                    ElMessage.error('璇锋眰澶辫触锛岃绋嶅悗閲嶈瘯');
+                  });
+              },
+              style: {
+                borderRadius: '4px',
+                padding: '8px 20px'
+              }
+            }, '纭畾鍑哄簱')
+          ])
+        ])
+      });
+
+      // 缁戝畾app涓婁笅鏂囷紝纭繚El缁勪欢姝e父宸ヤ綔
+      vnode.appContext = this.$.appContext;
+      render(vnode, mountNode);
     },
     setCurrent(row) {
       this.$refs.singleTable.setCurrentRow(row);

--
Gitblit v1.9.3