From a8c315dc781efcf605546c92468adc58020692c5 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期二, 11 十一月 2025 11:40:04 +0800
Subject: [PATCH] 提交

---
 项目代码/WIDESEA_WMSClient/src/extension/outbound/outboundOrder.js |  165 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 163 insertions(+), 2 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/outboundOrder.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/outboundOrder.js"
index 52c18aa..fb04c10 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/outboundOrder.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/outboundOrder.js"
@@ -1,8 +1,8 @@
 
 //姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
 import http from '@/api/http.js'
-import { defineAsyncComponent } from "vue";
-import { ElMessage } from 'element-plus'; // 寮曞叆ElMessage锛岃В鍐虫彁绀烘棤鍙嶅簲
+import { h,createVNode, render,reactive  } from 'vue';
+import { ElDialog , ElForm, ElFormItem, ElInput, ElButton, ElMessage ,ElSelect, ElOption} from 'element-plus';
 
 import gridBody from './extend/outOrderDetail.vue'
 let extension = {
@@ -42,7 +42,168 @@
             createDate: selectedRows[0].createDate || new Date().toLocaleDateString()  // 鍑哄簱鏃ユ湡
           });
         }
+      },
+      {
+  name: '绌烘墭鐩樺嚭搴�',
+  type: 'primary',
+  value: '绌烘墭鐩樺嚭搴�',
+  onClick: function () {
+    
+    // 2. 鐢熸垚3-12绔欏彴閫夐」锛堥粯璁ょ涓�涓负绔欏彴3锛�
+    const platformOptions = Array.from({ length: 1 }, (_, i) => {
+      const num = 1;
+      return { label: `绔欏彴${num}`, value: `1-2` };
+    });
+
+    const mountNode = document.createElement('div');
+    document.body.appendChild(mountNode);
+
+    // 3. 琛ㄥ崟鏁版嵁锛堥粯璁ら�変腑绔欏彴3锛�
+    const formData = reactive({
+      palletCode: '',
+      selectedPlatform: platformOptions[0].value // 榛樿缁戝畾绔欏彴3鐨剉alue
+    });
+
+    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: {
+          palletCode: [
+            { type: 'string', message: '鏂欑鍙峰繀椤讳负瀛楃涓�', trigger: 'blur' }
+          ],
+          selectedPlatform: [
+            { required: true, message: '璇烽�夋嫨鍑哄簱绔欏彴', trigger: 'change' }
+          ]
+        },
+        ref: 'batchOutForm',
+        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(ElFormItem, {
+          label: '鏂欑鍙�',
+          prop: 'palletCode',
+          style: {
+            marginBottom: '16px' // 涓庢寜閽尯鎷夊紑鍚堢悊闂磋窛
+          }
+        }, [
+          h(ElInput, {
+            type: 'text',
+            placeholder: '鍙�夎緭鍏ユ枡绠卞彿锛屼笉濉垯鑷姩鍒嗛厤绌烘枡绠�',
+            modelValue: formData.palletCode,
+            'onUpdate:modelValue': (val) => {
+              formData.palletCode = val;
+            },
+            style: {
+              width: '100%',
+              height: '40px', // 涓庨�夋嫨鍣ㄩ珮搴︾粺涓�
+              borderRadius: '4px',
+              borderColor: '#dcdfe6'
+            },
+            attrs: {
+              placeholderStyle: 'color: #909399;' // 鍗犱綅鏂囧瓧棰滆壊浼樺寲锛屾洿鏌斿拰
+            }
+          })
+        ]),
+        // 搴曢儴鎸夐挳鍖猴紙鏍峰紡浼樺寲锛�
+        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.batchOutForm;
+              try {
+                await formRef.validate();
+              } catch (err) {
+                return;
+              }
+
+              http.post('/api/Task/PalletOutboundTask?palletCode='+formData.palletCode+'&endStation='+formData.selectedPlatform, {
+                
+              }).then(({ data, status, message }) => {
+                if (status) {
+                  ElMessage.success(`鍑哄簱鎴愬姛锛屽垎閰嶇殑鎵樼洏缂栧彿锛�${data.palletCode || formData.palletCode}`);
+                  this.refresh();
+                  render(null, mountNode);
+                  document.body.removeChild(mountNode);
+                } else {
+                  ElMessage.error(message || data?.message || '鍑哄簱澶辫触');
+                }
+              }).catch(() => {
+                ElMessage.error('璇锋眰澶辫触锛岃绋嶅悗閲嶈瘯');
+              });
+            },
+            style: {
+              borderRadius: '4px',
+              padding: '8px 20px' // 鎸夐挳鍐呰竟璺濅紭鍖栵紝鐐瑰嚮鍖哄煙鏇磋垝閫�
+            }
+          }, '纭畾')
+        ])
+      ])
+    });
+
+    vnode.appContext = this.$.appContext;
+    render(vnode, mountNode);
+  }
+}
     ], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
     methods: {
        //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�

--
Gitblit v1.9.3