From 4794dcd8c41b42476934a2a5ca85647dddf5044b Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期三, 14 一月 2026 22:20:21 +0800
Subject: [PATCH] 新增消息推送 检验单据 添加 仓位扫码功能

---
 utils/WebSocketServices.js                                    |   69 +
 pages.json                                                    |   38 
 pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue                 |  108 +++
 pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue               |  109 +++
 pages/qitachukujiaoyan/qitachukudanjiaoyan.vue                |  108 +++
 pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue           |  108 +++
 .hbuilderx/launch.json                                        |    4 
 App.vue                                                       |   10 
 pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue |   17 
 utils/common.js                                               |    4 
 pages/shengchandiaobo/MoveStockBill.vue                       |  290 ++++++++++
 pages/shengchanruku/ProductInCheckBill.vue                    |  100 +++
 manifest.json                                                 |  244 +++++----
 pages/caigourukujiaoyan/POStockInCheckBill.vue                |  119 +++
 pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue    |  108 +++
 pages/index/login.vue                                         |   10 
 pages/shengchanlingliao/PPickingCheckBill.vue                 |  105 +++
 17 files changed, 1,238 insertions(+), 313 deletions(-)

diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json
index 4dd14cd..a7d9080 100644
--- a/.hbuilderx/launch.json
+++ b/.hbuilderx/launch.json
@@ -21,11 +21,11 @@
             "type" : "uni-app:app-ios"
         },
         {
-            "customPlaygroundType" : "device",
+            "customPlaygroundType" : "local",
             "localRepoPath" : "D:/WorkBench/ZY_APP_Dev/STUWMS/unpackage/debug",
             "openVueDevtools" : true,
             "packageName" : "com.shebeiguanli.www",
-            "playground" : "standard",
+            "playground" : "custom",
             "type" : "uni-app:app-android"
         }
     ]
diff --git a/App.vue b/App.vue
index 0e962d5..bb88175 100644
--- a/App.vue
+++ b/App.vue
@@ -11,15 +11,7 @@
         },
         onShow: function() {
             console.log('App Show')
-            // let content = "鎮ㄦ湁涓�鏉℃柊鐨勬秷鎭紒";
-            // let options = {
-            // title: "閫氱煡鏍囬",
-            // cover: false, // 鏄惁瑕嗙洊涓婁竴娆$殑閫氱煡
-            // when: new Date() // 閫氱煡鏄剧ず鏃堕棿
-            // };
-            // let payload = JSON.stringify({ id: "123", key: "value" });
-            
-            // plus.push.createMessage(content, payload, options);
+        
         },
         onHide: function() {
             console.log('App Hide')
diff --git a/manifest.json b/manifest.json
index 620f08f..75fc7c1 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,38 +1,33 @@
 {
-    "name" : "鏅轰簯LMES",
-    "appid" : "__UNI__B002F49",
-    "description" : "",
-    "versionName" : "2.0.52",
-    "versionCode" : 252,
-    "transformPx" : false,
+    "name": "鏅轰簯LMES",
+    "appid": "__UNI__B002F49",
+    "description": "",
+    "versionName": "2.0.54",
+    "versionCode": 254,
+    "transformPx": false,
     /* 5+App鐗规湁鐩稿叧 */
-    "app-plus" : {
-        "usingComponents" : true,
-        "nvueStyleCompiler" : "uni-app",
-        "compilerVersion" : 3,
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
+    "app-plus": {
+        "usingComponents": true,
+        "nvueStyleCompiler": "uni-app",
+        "compilerVersion": 3,
+        "splashscreen": {
+            "alwaysShowBeforeRender": true,
+            "waiting": true,
+            "autoclose": true,
+            "delay": 0
         },
-		"screenOrientation": [          //鍙�夛紝瀛楃涓叉暟缁勭被鍨嬶紝搴旂敤鏀寔鐨勬í绔栧睆
-			"portrait-primary",                 //鍙�夛紝瀛楃涓茬被鍨嬶紝鏀寔绔栧睆
-			"portrait-secondary"               //鍙�夛紝瀛楃涓茬被鍨嬶紝鏀寔鍙嶅悜绔栧睆
-		],
         /* 妯″潡閰嶇疆 */
-        "modules" : {
-            "Camera" : {},
-            "Contacts" : {},
-            "Bluetooth" : {},
-            "Barcode" : {},
-            "Push" : {}
+        "modules": {
+            "Camera": {},
+            "Contacts": {},
+            "Bluetooth": {},
+            "Barcode": {}
         },
         /* 搴旂敤鍙戝竷淇℃伅 */
-        "distribute" : {
+        "distribute": {
             /* android鎵撳寘閰嶇疆 */
-            "android" : {
-                "permissions" : [
+            "android": {
+                "permissions": [
                     "<uses-feature android:name=\"android.hardware.camera\"/>",
                     "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
                     "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
@@ -53,111 +48,140 @@
                     "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
                     "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>"
                 ],
-                "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
-                "minSdkVersion" : 23
+                "abiFilters": ["armeabi-v7a", "arm64-v8a", "x86"],
+                "minSdkVersion": 23
             },
             /* ios鎵撳寘閰嶇疆 */
-            "ios" : {
-                "dSYMs" : false
+            "ios": {
+                "dSYMs": false
             },
             /* SDK閰嶇疆 */
-            "sdkConfigs" : {
-                "ad" : {},
-                "push" : {}
+            "sdkConfigs": {
+                "ad": {},
+                "push": {}
             },
-            "icons" : {
-                "android" : {
-                    "hdpi" : "unpackage/res/icons/72x72.png",
-                    "xhdpi" : "unpackage/res/icons/96x96.png",
-                    "xxhdpi" : "unpackage/res/icons/144x144.png",
-                    "xxxhdpi" : "unpackage/res/icons/192x192.png"
+            "icons": {
+                "android": {
+                    "hdpi": "unpackage/res/icons/72x72.png",
+                    "xhdpi": "unpackage/res/icons/96x96.png",
+                    "xxhdpi": "unpackage/res/icons/144x144.png",
+                    "xxxhdpi": "unpackage/res/icons/192x192.png"
                 },
-                "ios" : {
-                    "appstore" : "unpackage/res/icons/1024x1024.png",
-                    "ipad" : {
-                        "app" : "unpackage/res/icons/76x76.png",
-                        "app@2x" : "unpackage/res/icons/152x152.png",
-                        "notification" : "unpackage/res/icons/20x20.png",
-                        "notification@2x" : "unpackage/res/icons/40x40.png",
-                        "proapp@2x" : "unpackage/res/icons/167x167.png",
-                        "settings" : "unpackage/res/icons/29x29.png",
-                        "settings@2x" : "unpackage/res/icons/58x58.png",
-                        "spotlight" : "unpackage/res/icons/40x40.png",
-                        "spotlight@2x" : "unpackage/res/icons/80x80.png"
+                "ios": {
+                    "appstore": "unpackage/res/icons/1024x1024.png",
+                    "ipad": {
+                        "app": "unpackage/res/icons/76x76.png",
+                        "app@2x": "unpackage/res/icons/152x152.png",
+                        "notification": "unpackage/res/icons/20x20.png",
+                        "notification@2x": "unpackage/res/icons/40x40.png",
+                        "proapp@2x": "unpackage/res/icons/167x167.png",
+                        "settings": "unpackage/res/icons/29x29.png",
+                        "settings@2x": "unpackage/res/icons/58x58.png",
+                        "spotlight": "unpackage/res/icons/40x40.png",
+                        "spotlight@2x": "unpackage/res/icons/80x80.png"
                     },
-                    "iphone" : {
-                        "app@2x" : "unpackage/res/icons/120x120.png",
-                        "app@3x" : "unpackage/res/icons/180x180.png",
-                        "notification@2x" : "unpackage/res/icons/40x40.png",
-                        "notification@3x" : "unpackage/res/icons/60x60.png",
-                        "settings@2x" : "unpackage/res/icons/58x58.png",
-                        "settings@3x" : "unpackage/res/icons/87x87.png",
-                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
-                        "spotlight@3x" : "unpackage/res/icons/120x120.png"
+                    "iphone": {
+                        "app@2x": "unpackage/res/icons/120x120.png",
+                        "app@3x": "unpackage/res/icons/180x180.png",
+                        "notification@2x": "unpackage/res/icons/40x40.png",
+                        "notification@3x": "unpackage/res/icons/60x60.png",
+                        "settings@2x": "unpackage/res/icons/58x58.png",
+                        "settings@3x": "unpackage/res/icons/87x87.png",
+                        "spotlight@2x": "unpackage/res/icons/80x80.png",
+                        "spotlight@3x": "unpackage/res/icons/120x120.png"
                     }
                 }
             }
         },
-        "nativePlugins" : {
-            "Mpaas-Scan" : {
-                "AppId" : "ALIPUB2087527291109",
-                "License" : "uqSDoPf8ArVz0mKgs62fihEiELxaNc/fCwZU2eRwDvfdN3uhWCRRtXgszPkWmqjSUPYSFgOdMh0dv4UkQe0twC8fZt8+71FB3K6A83NaLtwi5gu+hVJ8MZnOTUe/ipmCCVmRGapmwfKfyHbV2oSAOLbq4/fgBszewOVtdjx7ogzyIltcCHOESsdejnFxmg/7+HuX5/0qmLxGIUUwGhwQazot0bQeGBP8sJ4ONZLd7n4WQFe8bQCrRcB3CPAFClwA/VldpIjOwrTYTd0LHyrhPJN5xHdpeoKmGIyJYsoxm94DDUFZyGHB+Qs+3euCJHOlCqpa7/A+ciAdUSeKHa0tkw==",
-                "WorkspaceId" : "default",
-                "__plugin_info__" : {
-                    "name" : "鏀粯瀹濆師鐢熸壂鐮佹彃浠�",
-                    "description" : "鏀粯瀹濆師鐢熸壂鐮佺粍浠讹紝鍖呬綋绉粎0.7MB锛�15鍒嗛挓鍗冲彲瀹屾垚鎺ュ叆銆傚悓鏃讹紝mPaaS鎻愪緵銆屾壂鐮佸垎鏋愩�嶅ぇ鐩�",
-                    "platforms" : "Android,iOS",
-                    "url" : "https://ext.dcloud.net.cn/plugin?id=2636",
-                    "android_package_name" : "com.shebeiguanli.www",
-                    "ios_bundle_id" : "",
-                    "isCloud" : true,
-                    "bought" : 1,
-                    "pid" : "2636",
-                    "parameters" : {
-                        "AppId" : {
-                            "des" : "Android骞冲彴鐨凙ppId锛岃濉啓Android鐨刢onfig鏂囦欢涓殑appId瀵瑰簲鐨勫��",
-                            "key" : "mobilegw.appid",
-                            "value" : ""
+        "nativePlugins": {
+            "Mpaas-Scan": {
+                "AppId": "ALIPUB2087527291109",
+                "License": "uqSDoPf8ArVz0mKgs62fihEiELxaNc/fCwZU2eRwDvfdN3uhWCRRtXgszPkWmqjSUPYSFgOdMh0dv4UkQe0twC8fZt8+71FB3K6A83NaLtwi5gu+hVJ8MZnOTUe/ipmCCVmRGapmwfKfyHbV2oSAOLbq4/fgBszewOVtdjx7ogzyIltcCHOESsdejnFxmg/7+HuX5/0qmLxGIUUwGhwQazot0bQeGBP8sJ4ONZLd7n4WQFe8bQCrRcB3CPAFClwA/VldpIjOwrTYTd0LHyrhPJN5xHdpeoKmGIyJYsoxm94DDUFZyGHB+Qs+3euCJHOlCqpa7/A+ciAdUSeKHa0tkw==",
+                "WorkspaceId": "default",
+                "__plugin_info__": {
+                    "name": "鏀粯瀹濆師鐢熸壂鐮佹彃浠�",
+                    "description": "鏀粯瀹濆師鐢熸壂鐮佺粍浠讹紝鍖呬綋绉粎0.7MB锛�15鍒嗛挓鍗冲彲瀹屾垚鎺ュ叆銆傚悓鏃讹紝mPaaS鎻愪緵銆屾壂鐮佸垎鏋愩�嶅ぇ鐩�",
+                    "platforms": "Android,iOS",
+                    "url": "https://ext.dcloud.net.cn/plugin?id=2636",
+                    "android_package_name": "com.shebeiguanli.www",
+                    "ios_bundle_id": "",
+                    "isCloud": true,
+                    "bought": 1,
+                    "pid": "2636",
+                    "parameters": {
+                        "AppId": {
+                            "des": "Android骞冲彴鐨凙ppId锛岃濉啓Android鐨刢onfig鏂囦欢涓殑appId瀵瑰簲鐨勫��",
+                            "key": "mobilegw.appid",
+                            "value": ""
                         },
-                        "License" : {
-                            "des" : "Android骞冲彴鐨凩icense,锛岃濉啓Android鐨刢onfig鏂囦欢涓殑mpaasConfigLicense瀵瑰簲鐨勫��",
-                            "key" : "mpaasConfigLicense",
-                            "value" : ""
+                        "License": {
+                            "des": "Android骞冲彴鐨凩icense,锛岃濉啓Android鐨刢onfig鏂囦欢涓殑mpaasConfigLicense瀵瑰簲鐨勫��",
+                            "key": "mpaasConfigLicense",
+                            "value": ""
                         },
-                        "WorkspaceId" : {
-                            "des" : "Android骞冲彴鐨刉orkspaceId锛岃濉啓Android鐨刢onfig鏂囦欢涓殑workspaceId瀵瑰簲鐨勫��",
-                            "key" : "workspaceId",
-                            "value" : ""
+                        "WorkspaceId": {
+                            "des": "Android骞冲彴鐨刉orkspaceId锛岃濉啓Android鐨刢onfig鏂囦欢涓殑workspaceId瀵瑰簲鐨勫��",
+                            "key": "workspaceId",
+                            "value": ""
                         }
                     }
                 }
             }
-        }
+        },
+        "permissions": [
+            "android.permission.POST_NOTIFICATIONS" // Android 13+ 蹇呴渶锛氶�氱煡鏉冮檺
+        ],
+        "notificationChannels": [
+            // 娓犻亾1锛氶噸瑕侀�氱煡锛堜笉鎶樺彔銆佸脊鍑恒�佸0闊�+闇囧姩锛�
+            {
+                "id": "critical_notify", // 娓犻亾ID锛堝敮涓�锛岃嚜瀹氫箟锛�
+                "name": "閲嶈閫氱煡", // 鐢ㄦ埛鍙鐨勬笭閬撳悕绉�
+                "description": "", // 鐢ㄦ埛鍙鐨勬笭閬撴弿杩�
+                "importance": 4, // 鏈�楂樹紭鍏堢骇锛�1-4锛�4=寮瑰嚭+澹伴煶+闇囧姩锛�
+                "sound": "system", // 鑷畾涔夐�氱煡澹伴煶锛堟敮鎸佹湰鍦拌矾寰勬垨绯荤粺澹伴煶锛�
+                "vibration": true, // 鍚敤闇囧姩
+                "vibrationPattern": [0, 100, 200, 300], // 闇囧姩妯″紡锛歔寤惰繜, 闇囧姩, 鏆傚仠, 闇囧姩]锛堟绉掞級
+                "lights": true, // 鍚敤鍛煎惛鐏�
+                "lightColor": "#FF0000", // 鍛煎惛鐏鑹诧紙RGB鏍煎紡锛�
+                "showBadge": true // 鏄剧ず搴旂敤瑙掓爣
+            }
+        ]
     },
     /* 蹇簲鐢ㄧ壒鏈夌浉鍏� */
-    "quickapp" : {},
+    "quickapp": {},
     /* 灏忕▼搴忕壒鏈夌浉鍏� */
-    "mp-weixin" : {
-        "appid" : "",
-        "setting" : {
-            "urlCheck" : false
+    "mp-weixin": {
+        "appid": "",
+        "setting": {
+            "urlCheck": false
         },
-        "usingComponents" : true
+        "usingComponents": true
     },
-    "mp-alipay" : {
-        "usingComponents" : true
+    "mp-alipay": {
+        "usingComponents": true
     },
-    "mp-baidu" : {
-        "usingComponents" : true
+    "mp-baidu": {
+        "usingComponents": true
     },
-    "mp-toutiao" : {
-        "usingComponents" : true
+    "mp-toutiao": {
+        "usingComponents": true
     },
-    "uniStatistics" : {
-        "enable" : false
+    "uniStatistics": {
+        "enable": false
     },
-    "vueVersion" : "2",
-    
-    "locale" : "zh-Hans",
-    "fallbackLocale" : "zh-Hans"
-}
+    "vueVersion": "2",
+    "orientation": [
+        //绔栧睆姝f柟鍚�
+        "portrait-primary",
+        //绔栧睆鍙嶆柟鍚�
+        "portrait-secondary",
+        //妯睆姝f柟鍚�
+        "landscape-primary",
+        //妯睆鍙嶆柟鍚�
+        "landscape-secondary",
+        //鑷劧鏂瑰悜
+        "default"
+    ],
+    "locale": "zh-Hans",
+    "fallbackLocale": "zh-Hans"
+}
\ No newline at end of file
diff --git a/pages.json b/pages.json
index c6105d1..21fcf65 100644
--- a/pages.json
+++ b/pages.json
@@ -230,13 +230,13 @@
 				"enablePullDownRefresh": true
 			}
 		},
-		{
-			"path": "pages/baogong/abnormal",
-			"style": {
-				"navigationBarTitleText": "寮傚父鍙嶉鍗�",
-				"enablePullDownRefresh": false
-			}
-		},
+		// {
+		// 	"path": "pages/baogong/abnormal",
+		// 	"style": {
+		// 		"navigationBarTitleText": "寮傚父鍙嶉鍗�",
+		// 		"enablePullDownRefresh": false
+		// 	}
+		// },
 		{
 			"path": "pages/ZLGL/AanDengHujiao/OA_ErrMsgBackBill/OA_ErrMsgBackBillList",
 			"style": {
@@ -1309,12 +1309,12 @@
 				"navigationBarTitleText": "宸℃鍗�"
 			}
 		},
-		{
-			"path": "pages/ZLGL/mojianjianyan/lastPieceCheckBillList",
-			"style": {
-				"navigationBarTitleText": "鏈欢妫�楠屽崟缁存姢"
-			}
-		},
+		// {
+		// 	"path": "pages/ZLGL/mojianjianyan/lastPieceCheckBillList",
+		// 	"style": {
+		// 		"navigationBarTitleText": "鏈欢妫�楠屽崟缁存姢"
+		// 	}
+		// },
 		{
 			"path": "pages/ZLGL/lailiaojianyan/POStockInCheckBill",
 			"style": {
@@ -1327,12 +1327,12 @@
 				"navigationBarTitleText": "鏉ユ枡妫�楠屽崟缁存姢"
 			}
 		},
-		{
-			"path": "pages/ZLGL/mojianjianyan/lastPieceCheckBill",
-			"style": {
-				"navigationBarTitleText": "鏈欢妫�楠屽崟"
-			}
-		},
+		// {
+		// 	"path": "pages/ZLGL/mojianjianyan/lastPieceCheckBill",
+		// 	"style": {
+		// 		"navigationBarTitleText": "鏈欢妫�楠屽崟"
+		// 	}
+		// },
 		{
 			"path": "pages/chaituosaoma-xiaowei/UnpackPallet",
 			"style": {
diff --git a/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue b/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue
index 37fb1b4..2710c7b 100644
--- a/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue
+++ b/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue
@@ -285,7 +285,7 @@
         <view class="bottom-btn" id="bottom-btn">
             <button :class="EnableSubmit?'btn-a':'btn-c'" :disabled="!EnableSubmit" size="mini"
                 @tap="cmdSubmit">鎻愪氦</button>
-            <button class="btn-a"  size="mini" @tap="cmdAdd">鏂板</button>
+            <button class="btn-a" size="mini" @tap="cmdAdd">鏂板</button>
             <view style="flex: 1;"></view>
             <!-- <button class="btn-d" size="mini" @tap="cmdDelete">鍒犻櫎</button> -->
             <button class="btn-c" size="mini" @tap="cmdExit">閫�鍑�</button>
@@ -362,7 +362,7 @@
                 detailManifestCursor: 0, // 鏄庣粏娓呭崟绱㈠紩鎸囬拡
 
                 HCheckResultValueList: ["鍚堟牸", "涓嶅悎鏍�", "淇濈暀"],
-                HUseResultValueList: ["鎺ユ敹", "璁╂鎺ユ敹", "鎸戦��(鍏ㄦ)", "鍒ら��"],
+                HUseResultValueList: ["鎺ユ敹", "璁╂鎺ユ敹"],
                 HCheckResultList: [{
                     value: 1,
                     text: "鍚堟牸"
@@ -373,6 +373,7 @@
                     value: 3,
                     text: "淇濈暀"
                 }],
+
                 HUseResultList: [{
                     value: "A",
                     text: "鎺ユ敹"
@@ -472,7 +473,15 @@
             HCheckResultChangeHandle(e) {
                 this.detailManifestItem.HCheckResult =
                     this.HCheckResultList.find(elem => elem.text == e)?.value
+                if (e == '鍚堟牸') {
+                    this.HUseResultValueList = ["鎺ユ敹", "璁╂鎺ユ敹"]
+                } else if (e == '涓嶅悎鏍�') {
+                    this.HUseResultValueList = ["鎸戦��(鍏ㄦ)", "鍒ら��"]
+                } else if (e == '淇濈暀') {
+                    this.HUseResultValueList = ["鎺ユ敹", "璁╂鎺ユ敹", "鎸戦��(鍏ㄦ)", "鍒ら��"]
+                }
 
+                this.HUseResultChangeHandle(this.HUseResultValueList[0])
             },
             HUseResultChangeHandle(e) {
                 this.detailManifestItem.HUseResult =
@@ -588,7 +597,7 @@
                     this.getCode(code)
                 })
             },
-            cmdAdd(){
+            cmdAdd() {
                 uni.redirectTo({
                     url: "/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast"
                 })
@@ -607,7 +616,7 @@
                             "HCheckResult": this.detailManifestItem.HCheckResult,
                             "HSupNumber": this.detailManifestItem.HSupNumber,
                             "HUseResult": this.detailManifestItem.HUseResult,
-                            "HSeQ": this.detailManifestItem.HSeQ,
+                            "HSeQ": this.detailManifestItem.HSeQ || 1,
                             "HSourceInterID": this.detailManifestItem.HSourceInterID,
                             "HSourceEntryID": this.detailManifestItem.HSourceEntryID,
                             "HSourceBillNo": this.detailManifestItem.HSourceBillNo,
diff --git a/pages/caigourukujiaoyan/POStockInCheckBill.vue b/pages/caigourukujiaoyan/POStockInCheckBill.vue
index 01efad5..763ef78 100644
--- a/pages/caigourukujiaoyan/POStockInCheckBill.vue
+++ b/pages/caigourukujiaoyan/POStockInCheckBill.vue
@@ -17,20 +17,21 @@
 				</view>
 			</view>
 			<view class="form-item">
-				<view class="title">浠撳簱:</view>
-				<view class="right">
-					<uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
-						@input="HWHNameChange"></uni-combox>
-				</view>
+			    <view class="title">浠撳簱:</view>
+			    <view class="right">
+			        <uni-combox :candidates="arrayHWHName" placeholder="璇烽�夋嫨浠撳簱" v-model="hform.HWHName"
+			            @input="HWHNameChange"></uni-combox>
+			    </view>
 			</view>
 			<view class="form-item">
-				<view class="title">浠撲綅:</view>
-				<view class="right" v-show="showHStockPlaceName">
-					<uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-						v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
-				</view>
-				<view class="righton" v-show="!showHStockPlaceName">
-					<input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" /></view>
+			    <view class="title">浠撲綅:</view>
+			    <view class="right" v-show="true">
+			        <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+			            v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"
+			            @confirm="HStockPlaceNameScan"></uni-combox>
+			    </view>
+			    <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="涓嶅彲鎿嶄綔"
+			            :disabled="!showHStockPlaceName" /></view>
 			</view>
 
 			<view class="tabs">
@@ -243,6 +244,16 @@
 				}
 			}
 		},
+        computed: {
+            arrayHStockPlaceNameComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴斾粨搴撶殑浠撲綅
+                    return this.HStockPlaceNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            }
+        },
 		onLoad(e) {
 			console.log(e, this.userInfo)
 			this.OperationType = e.OperationType
@@ -257,6 +268,73 @@
             this.refreshHBillNoFocus()
 		},
 		methods: {
+            // 鑾峰彇浠撲綅
+            async getStockPlaceRemote(HSPGroupID) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+                        this.HStockPlaceNameList = res.data.data
+                        for (var i = 0; i < res.data.data.length; i++) {
+                            this.arrayHStockPlaceName[i] = res.data.data[i].浠撲綅鍚嶇О
+                        }
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            async HStockPlaceNameScan(e) {
+                // 鎵弿浠撲綅鐮�
+                console.log('Code: ', e);
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HStockPlaceID = 0
+                this.hform.HStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+            
+                        this.hform.HStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HWHID = res.data.data[0].HWHID
+                        this.hform.HWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
 			handleInput(event) {
 			  // 杩欓噷鍙互娣诲姞棰濆鐨勯�昏緫澶勭悊锛屾瘮濡傛牎楠屾垨杩涗竴姝ョ殑鎿嶄綔
 			  console.log(event.target.value);
@@ -490,15 +568,14 @@
 				// var name = e.split("(")
 				for (var i = 0; i < this.HWHNameList.length; i++) {
 					if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
-						this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
-						this.hform.HWHID = this.HWHNameList[i].HItemID
-						
-						if(this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y'){
-							this.showHStockPlaceName = true
-						}else {
-							this.hform.HStockPlaceName = ''
-							this.showHStockPlaceName = false
-						}
+					   this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
+					   this.hform.HWHID = this.HWHNameList[i].HItemID
+					   this.HStockPlaceNameChange(null)
+					   this.showHStockPlaceName = false
+					   if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
+					       this.showHStockPlaceName = true
+					       this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"])
+					   } 
 					}
 				}
 			},
diff --git a/pages/index/login.vue b/pages/index/login.vue
index 4e96492..acd878b 100644
--- a/pages/index/login.vue
+++ b/pages/index/login.vue
@@ -82,7 +82,7 @@
         CommonUtils
     } from "../../utils/common";
     import { getLanguagePackJson } from "../../utils/i18n";
-    import WebSocketServices from "../../utils/WebSocketServices";
+    import WebSocketServices from "@/utils/WebSocketServices";
     export default {
         components: {
             hFormAlert
@@ -106,8 +106,8 @@
                     "鏉窞鍑礉濂堢壒": 'http://192.168.50.253:8080/API/',
                     "鏉窞鍑礉濂堢壒澶栫綉": 'http://erp.hzcabinet.cn:9090/API/',
                     "缈佹稕娑涙湰鍦版祴璇�": 'http://localhost:81/API/',
-                    "闄堥晲鍝叉湰鍦版祴璇�": 'http://192.168.0.121:81/API/',
-                    "闄堥晲鍝叉湰鍦版祴璇�2": 'http://192.168.89.27:81/API/',
+                    "闄堥晲鍝叉湰鍦版祴璇�": 'http://192.168.0.102:81/API/',
+                    "闄堥晲鍝叉湰鍦版祴璇�2": 'http://192.168.255.35:81/API/',
                     "寮犵憺骞挎湰鍦版祴璇�": 'http://localhost:8082/API/',
                     "浣欐�濇澃鏈湴娴嬭瘯": 'http://localhost:8082/LuBaoAPI/',
                     // 灏忓崼鍐呭缃�
@@ -118,6 +118,7 @@
                     "瀹佹尝鍥涚淮灏�-澶栫綉": "http://220.189.218.155:9010/API/",
                     // 閿﹂殕
                     "閿﹂殕-鏅鸿兘瀹跺眳": "http://192.168.1.11/API/",
+                    "閿﹂殕-鏅鸿兘瀹跺眳-澶栫綉": "http://61.174.29.234:8880/API/",
 					// 鍗庤垷鍖呰
 					"瀹佹尝鍗庤垷鍖呰": "http://192.168.88.167:8082/API/",
 					"瀹佹尝鍗庤垷鍖呰-澶栫綉": "http://61.164.64.222:8082//API/",
@@ -334,7 +335,8 @@
 								uni.setStorageSync('HSecManagerID', res.data.data[0].HSecManagerID); //瀵瑰簲楠屾敹
 								uni.setStorageSync('HSecManagerName', res.data.data[0].HSecManagerName);
                                 this.CommonUtils.setServerUrl(this.serverUrl)
-                                // this.WebSocketServices.createConnect(res.data.data[0].Czybm)
+                                // console.log('this.WebSocsketServices: ',this.WebSocsketServices);
+                                // this.WebSocketServices.createConnect(res.data.data[0].HEmpID,res.data.data[0].HEmpName);
                                 uni.reLaunch({
                                     url: '/pages/index/index'
                                 })
diff --git a/pages/qitachukujiaoyan/qitachukudanjiaoyan.vue b/pages/qitachukujiaoyan/qitachukudanjiaoyan.vue
index 432a39a..f8a221a 100644
--- a/pages/qitachukujiaoyan/qitachukudanjiaoyan.vue
+++ b/pages/qitachukujiaoyan/qitachukudanjiaoyan.vue
@@ -20,19 +20,19 @@
             <view class="form-item">
                 <view class="title">浠撳簱:</view>
                 <view class="right">
-                    <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
+                    <uni-combox :candidates="arrayHWHName" placeholder="璇烽�夋嫨浠撳簱" v-model="hform.HWHName"
                         @input="HWHNameChange"></uni-combox>
                 </view>
             </view>
             <view class="form-item">
                 <view class="title">浠撲綅:</view>
-                <view class="right" v-show="showHStockPlaceName">
-                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
+                <view class="right" v-show="true">
+                    <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"
+                        @confirm="HStockPlaceNameScan"></uni-combox>
                 </view>
-                <view class="righton" v-show="!showHStockPlaceName">
-                    <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" />
-                </view>
+                <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="涓嶅彲鎿嶄綔"
+                        :disabled="!showHStockPlaceName" /></view>
             </view>
 
             <view class="tabs">
@@ -196,6 +196,16 @@
         components: {
             FIFOListComponentVue
         },
+        computed: {
+            arrayHStockPlaceNameComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴斾粨搴撶殑浠撲綅
+                    return this.HStockPlaceNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            }
+        },
         data() {
             return {
                 userInfo: getUserInfo(),
@@ -266,6 +276,73 @@
             this.getHBaseList()
         },
         methods: {
+            // 鑾峰彇浠撲綅
+            async getStockPlaceRemote(HSPGroupID) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+                        this.HStockPlaceNameList = res.data.data
+                        for (var i = 0; i < res.data.data.length; i++) {
+                            this.arrayHStockPlaceName[i] = res.data.data[i].浠撲綅鍚嶇О
+                        }
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            async HStockPlaceNameScan(e) {
+                // 鎵弿浠撲綅鐮�
+                console.log('Code: ', e);
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HStockPlaceID = 0
+                this.hform.HStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+            
+                        this.hform.HStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HWHID = res.data.data[0].HWHID
+                        this.hform.HWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
             cmdDelete(item) {
                 uni.showModal({
                     title: '鎻愮ず',
@@ -514,15 +591,14 @@
                 // var name = e.split("(")
                 for (var i = 0; i < this.HWHNameList.length; i++) {
                     if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
-                        this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
-                        this.hform.HWHID = this.HWHNameList[i].HItemID
-
-                        if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
-                            this.showHStockPlaceName = true
-                        } else {
-                            this.hform.HStockPlaceName = ''
-                            this.showHStockPlaceName = false
-                        }
+                       this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
+                       this.hform.HWHID = this.HWHNameList[i].HItemID
+                       this.HStockPlaceNameChange(null)
+                       this.showHStockPlaceName = false
+                       if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
+                           this.showHStockPlaceName = true
+                           this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"])
+                       } 
                     }
                 }
             },
diff --git a/pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue b/pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue
index 74a35fb..1ca48ac 100644
--- a/pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue
+++ b/pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue
@@ -19,19 +19,19 @@
             <view class="form-item">
                 <view class="title">浠撳簱:</view>
                 <view class="right">
-                    <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
+                    <uni-combox :candidates="arrayHWHName" placeholder="璇烽�夋嫨浠撳簱" v-model="hform.HWHName"
                         @input="HWHNameChange"></uni-combox>
                 </view>
             </view>
             <view class="form-item">
                 <view class="title">浠撲綅:</view>
-                <view class="right" v-show="showHStockPlaceName">
-                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
+                <view class="right" v-show="true">
+                    <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"
+                        @confirm="HStockPlaceNameScan"></uni-combox>
                 </view>
-                <view class="righton" v-show="!showHStockPlaceName">
-                    <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" />
-                </view>
+                <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="涓嶅彲鎿嶄綔"
+                        :disabled="!showHStockPlaceName" /></view>
             </view>
 
             <view class="tabs">
@@ -240,6 +240,16 @@
                 }
             }
         },
+        computed: {
+            arrayHStockPlaceNameComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴斾粨搴撶殑浠撲綅
+                    return this.HStockPlaceNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            }
+        },
         onLoad(e) {
             console.log(e, this.userInfo)
             this.OperationType = e.OperationType
@@ -252,6 +262,73 @@
             this.getHBaseList()
         },
         methods: {
+            // 鑾峰彇浠撲綅
+            async getStockPlaceRemote(HSPGroupID) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+                        this.HStockPlaceNameList = res.data.data
+                        for (var i = 0; i < res.data.data.length; i++) {
+                            this.arrayHStockPlaceName[i] = res.data.data[i].浠撲綅鍚嶇О
+                        }
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            async HStockPlaceNameScan(e) {
+                // 鎵弿浠撲綅鐮�
+                console.log('Code: ', e);
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HStockPlaceID = 0
+                this.hform.HStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+            
+                        this.hform.HStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HWHID = res.data.data[0].HWHID
+                        this.hform.HWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
             async refreshHBarCodeFocus() {
                 this.HBarCodeFocus = false
                 await this.$nextTick()
@@ -464,15 +541,14 @@
                 // var name = e.split("(")
                 for (var i = 0; i < this.HWHNameList.length; i++) {
                     if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
-                        this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
-                        this.hform.HWHID = this.HWHNameList[i].HItemID
-
-                        if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
-                            this.showHStockPlaceName = true
-                        } else {
-                            this.hform.HStockPlaceName = ''
-                            this.showHStockPlaceName = false
-                        }
+                       this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
+                       this.hform.HWHID = this.HWHNameList[i].HItemID
+                       this.HStockPlaceNameChange(null)
+                       this.showHStockPlaceName = false
+                       if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
+                           this.showHStockPlaceName = true
+                           this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"])
+                       } 
                     }
                 }
             },
diff --git a/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue b/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue
index 24a691a..d308931 100644
--- a/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue
+++ b/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue
@@ -20,19 +20,19 @@
             <view class="form-item">
                 <view class="title">浠撳簱:</view>
                 <view class="right">
-                    <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
+                    <uni-combox :candidates="arrayHWHName" placeholder="璇烽�夋嫨浠撳簱" v-model="hform.HWHName"
                         @input="HWHNameChange"></uni-combox>
                 </view>
             </view>
             <view class="form-item">
                 <view class="title">浠撲綅:</view>
-                <view class="right" v-show="showHStockPlaceName">
-                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
+                <view class="right" v-show="true">
+                    <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"
+                        @confirm="HStockPlaceNameScan"></uni-combox>
                 </view>
-                <view class="righton" v-show="!showHStockPlaceName">
-                    <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" />
-                </view>
+                <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="涓嶅彲鎿嶄綔"
+                        :disabled="!showHStockPlaceName" /></view>
             </view>
 
             <view class="tabs">
@@ -195,6 +195,16 @@
         components: {
             FIFOListComponentVue
         },
+        computed: {
+            arrayHStockPlaceNameComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴斾粨搴撶殑浠撲綅
+                    return this.HStockPlaceNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            }
+        },
         data() {
             return {
                 userInfo: getUserInfo(),
@@ -265,6 +275,73 @@
             this.getHBaseList()
         },
         methods: {
+            // 鑾峰彇浠撲綅
+            async getStockPlaceRemote(HSPGroupID) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+                        this.HStockPlaceNameList = res.data.data
+                        for (var i = 0; i < res.data.data.length; i++) {
+                            this.arrayHStockPlaceName[i] = res.data.data[i].浠撲綅鍚嶇О
+                        }
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            async HStockPlaceNameScan(e) {
+                // 鎵弿浠撲綅鐮�
+                console.log('Code: ', e);
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HStockPlaceID = 0
+                this.hform.HStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+            
+                        this.hform.HStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HWHID = res.data.data[0].HWHID
+                        this.hform.HWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
             async refreshHBillState() {
                 this.HBillNoFocus = false
                 await this.$nextTick(() => {
@@ -485,15 +562,14 @@
                 // var name = e.split("(")
                 for (var i = 0; i < this.HWHNameList.length; i++) {
                     if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
-                        this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
-                        this.hform.HWHID = this.HWHNameList[i].HItemID
-
-                        if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
-                            this.showHStockPlaceName = true
-                        } else {
-                            this.hform.HStockPlaceName = ''
-                            this.showHStockPlaceName = false
-                        }
+                       this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
+                       this.hform.HWHID = this.HWHNameList[i].HItemID
+                       this.HStockPlaceNameChange(null)
+                       this.showHStockPlaceName = false
+                       if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
+                           this.showHStockPlaceName = true
+                           this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"])
+                       } 
                     }
                 }
             },
diff --git a/pages/shengchandiaobo/MoveStockBill.vue b/pages/shengchandiaobo/MoveStockBill.vue
index c5ee5e3..b66fe04 100644
--- a/pages/shengchandiaobo/MoveStockBill.vue
+++ b/pages/shengchandiaobo/MoveStockBill.vue
@@ -21,17 +21,16 @@
                 <view class="title">璋冨嚭浠撳簱:</view>
                 <view class="right">
                     <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HSCWHName"
-                        @input="HSCWHNameChange"></uni-combox>
+                        @input="HSCWHNameChange" @confirm="HWHNameOutScan"></uni-combox>
                 </view>
             </view>
             <view class="form-item">
                 <view class="title">璋冨嚭浠撲綅:</view>
-                <view class="right" v-show="showHSCStockPlaceName">
-                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-                        v-model="hform.HSCSPName" @input="HSCStockPlaceNameChange"></uni-combox>
-                </view>
-                <view class="righton" v-show="!showHSCStockPlaceName">
-                    <input v-model="hform.HSCSPName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" />
+                <!-- TODO: 鍥涚淮灏旈渶瑕佹壂浠撲綅鐮� 甯﹀嚭浠撳簱浠撲綅淇℃伅锛屾牴鎹叕鍙稿垽鏂槸鍚﹂渶瑕佺鐢ㄤ粨浣� -->
+                <view class="right">
+                    <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+                        v-model="hform.HOutStockPlaceName" @input="HOutStockPlaceNameChange"
+                        @confirm="HStockPlaceOutNameScan"></uni-combox>
                 </view>
             </view>
             <view class="tabs">
@@ -45,19 +44,21 @@
                 <view class="form-item">
                     <view class="title">璋冨叆浠撳簱:</view>
                     <view class="right">
-                        <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
-                            @input="HWHNameChange"></uni-combox>
+                        <uni-combox :candidates="arrayHWHInName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
+                            @input="HWHInNameChange" @confirm="HWHNameInScan"></uni-combox>
                     </view>
                 </view>
                 <view class="form-item">
                     <view class="title">璋冨叆浠撲綅:</view>
-                    <view class="right" v-show="showHStockPlaceName">
-                        <uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-                            v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
+                    <!-- TODO: 娣诲姞鍏徃鍒ゆ柇锛屽洓缁村皵娓呴櫎浠撲綅鎵爜闄愬埗锛屽叾浠栫収鏃� -->
+                    <view class="right">
+                        <uni-combox :candidates="arrayHStockPlaceInNameComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+                            v-model="hform.HStockPlaceName" @input="HStockPlaceInNameChange"
+                            @confirm="HStockPlaceNameInScan"></uni-combox>
                     </view>
-                    <view class="righton" v-show="!showHStockPlaceName">
-                        <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" />
-                    </view>
+                    <!--                    <view class="righton" v-show="!HIsStockMgr">
+                        <input v-model="hform.HStockPlaceName" :disabled="!HIsStockMgr" placeholder="涓嶅彲鎿嶄綔" />
+                    </view> -->
                 </view>
                 <view class="form-item" v-show="showHBillNo">
                     <view class="title">鍗曟嵁鍙�:</view>
@@ -270,6 +271,10 @@
                 HWHNameList: [],
                 arrayHStockPlaceName: [], //浠撲綅
                 HStockPlaceNameList: [],
+                arrayHWHInName: [], // 璋冨叆浠撳簱
+                HWHInNameList: [],
+                arrayHStockPlaceInName: [], //璋冨叆浠撲綅
+                HStockPlaceInNameList: [],
 
                 Materlist: [],
                 hform: {
@@ -315,6 +320,32 @@
                 HFIFOList: [], // 鍏堣繘鍏堝嚭鍒楄〃缂撳瓨 
             }
         },
+        computed: {
+            HIsStockInner: {
+                get: function() {
+                    if (this.hform.HStockStyle == '缁勭粐鍐呰皟鎷�') {
+                        return true
+                    }
+                    return false
+                }
+            },
+            arrayHStockPlaceNameComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴旇皟鍑轰粨搴撶殑浠撲綅
+                    return this.HStockPlaceNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HSCWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            },
+            arrayHStockPlaceInNameComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴旇皟鍏ヤ粨搴撶殑浠撲綅
+                    return this.HStockPlaceInNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            }
+        },
         onLoad(e) {
             console.log(e, this.userInfo)
             this.OperationType = e.OperationType
@@ -326,8 +357,212 @@
             }
 
             this.getHBaseList()
+            this.getHWarehouseInList()
         },
         methods: {
+            // 璋冨叆浠撲綅淇敼
+            HStockPlaceInNameChange(e) {
+                for (var i = 0; i < this.HStockPlaceInNameList.length; i++) {
+                    if (this.HStockPlaceInNameList[i].浠撲綅鍚嶇О == e) {
+                        this.hform.HStockPlaceName = this.HStockPlaceInNameList[i].浠撲綅鍚嶇О
+                        this.hform.HStockPlaceID = this.HStockPlaceInNameList[i].HMainID
+                    }
+                }
+            },
+            // 璋冨叆浠撳簱淇敼
+            HWHInNameChange(e) {
+                console.log('e: ', e);
+                this.hform.HStockPlaceName = ''
+                this.hform.HStockPlaceID = 0
+                for (var i = 0; i < this.HWHInNameList.length; i++) {
+                    if (this.HWHInNameList[i].浠撳簱鍚嶇О == e) {
+                        this.hform.HWHName = this.HWHInNameList[i].浠撳簱鍚嶇О
+                        this.hform.HWHID = this.HWHInNameList[i].HItemID
+                        this.HStockPlaceNameChange(null)
+                        if (this.HWHInNameList[i]['鍚敤浠撲綅'] == 'Y') {
+                            this.HIsStockMgr = true
+                            this.getStockPlaceRemote(this.HWHInNameList[i]["HSPGroupID"], 1) // 淇敼璋冨叆浠撳簱
+                        } else {
+                            // this.hform.HStockPlaceName = ''
+                            this.HIsStockMgr = false
+                        }
+                    }
+                }
+            },
+            // 璋冨叆浠撳簱璧勬枡
+            getHWarehouseInList(Organizaiton) {
+                Organizaiton = Organizaiton || uni.getStorageSync("Organization")
+                CommonUtils.doRequest2({
+                    url: '/Gy_Warehouse/list',
+                    data: {
+                        sWhere: "",
+                        user: uni.getStorageSync('HUserName'),
+                        Organization: Organizaiton
+                    },
+                    resFunction: (res) => {
+                        console.log('璋冨叆浠撳簱 res: ', res.data.data);
+                        if (res.data.count == 1) {
+                            this.HWHInNameList = []
+                            this.arrayHWHInName = []
+            
+                            this.HWHInNameList = res.data.data
+                            for (var i = 0; i < res.data.data.length; i++) {
+                                this.arrayHWHInName[i] = res.data.data[i].浠撳簱鍚嶇О
+                            }
+                        } else {
+                            uni.showToast({
+                                title: '浠撳簱鏁版嵁璇锋眰澶辫触',
+                                icon: 'none'
+                            })
+                        }
+                    }
+                });
+            
+                
+            },
+            // 鑾峰彇浠撲綅
+            async getStockPlaceRemote(HSPGroupID, Mode) {
+                // Mode=1 -> 璋冨叆浠撲綅鏁版嵁鑾峰彇; Mode=2 -> 璋冨嚭浠撲綅鏁版嵁鑾峰彇
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+                        if (Mode == 1) {
+                            this.HStockPlaceInNameList = res.data.data
+                            for (var i = 0; i < res.data.data.length; i++) {
+                                this.arrayHStockPlaceInName[i] = res.data.data[i].浠撲綅鍚嶇О
+                            }
+                            return
+                        }
+                        if (Mode == 2) {
+                            this.HStockPlaceNameList = res.data.data
+                            for (var i = 0; i < res.data.data.length; i++) {
+                                this.arrayHStockPlaceName[i] = res.data.data[i].浠撲綅鍚嶇О
+                            }
+                            return
+                        }
+            
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            async HWHNameOutScan(e) {
+                return
+                // 鎵弿浠撳簱鐮�
+                console.log('浠撳簱鐮�: ', e);
+                let index = this.HWHNameList.findIndex(elem => elem['鏉$爜缂栧彿'] == e)
+                if (index == -1) {
+                    uni.showToast({
+                        icon: 'none',
+                        title: '鎵弿浠撳簱鏉$爜瀵瑰簲鐨勪粨搴撲笉瀛樺湪...'
+                    })
+                } else {
+                    this.HWHNameChange(this.HWHNameList[index]['浠撳簱鍚嶇О'])
+                }
+            },
+            async HStockPlaceOutNameScan(e) {
+                // 鎵弿浠撲綅鐮�
+                console.log('浠撲綅鐮�: ', e);
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HOutStockPlaceID = 0
+                this.hform.HOutStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+            
+                        this.hform.HOutStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HOutStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HSCWHID = res.data.data[0].HWHID
+                        this.hform.HSCWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            async HWHNameInScan(e) {
+                return;
+                // 鎵弿浠撳簱鐮�
+                console.log('浠撳簱鐮�: ', e);
+                let index = this.HWHInNameList.findIndex(elem => elem['鏉$爜缂栧彿'] == e)
+                if (index == -1) {
+                    uni.showToast({
+                        icon: 'none',
+                        title: '鎵弿浠撳簱鏉$爜瀵瑰簲鐨勪粨搴撲笉瀛樺湪...'
+                    })
+                } else {
+                    this.HWHInNameChange(this.HWHInNameList[index]['浠撳簱鍚嶇О'])
+                }
+            },
+            async HStockPlaceNameInScan(e) {
+                // 鎵弿浠撲綅鐮�
+                console.log('浠撲綅鐮�: ', e);
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HStockPlaceID = 0
+                this.hform.HStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+            
+                        this.hform.HStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HWHID = res.data.data[0].HWHID
+                        this.hform.HWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
             cmdDelete(item){
                 uni.showModal({
                     title: '鎻愮ず',
@@ -461,15 +696,34 @@
                         console.log('璋冨嚭浠撳簱: ',this.HWHNameList[i]);
                         this.hform.HSCWHName = this.HWHNameList[i].浠撳簱鍚嶇О
                         this.hform.HSCWHID = this.HWHNameList[i].HItemID
+                        this.HOutStockPlaceNameChange(null)
                         if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
-                            this.showHSCStockPlaceName = true
+                            this.HSCIsStockMgr = true
+                            this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"], 2) // 淇敼璋冨嚭浠撳簱
+                            // 鏌ヨ浠撲綅鏁版嵁
                         } else {
-                            this.hform.HSCSPName = ''
-                            this.showHSCStockPlaceName = false
+                        
+                            this.HSCIsStockMgr = false
                         }
                     }
                 }
             },
+            HOutStockPlaceNameChange(e) {
+                let index = this.HStockPlaceNameList.findIndex(elem => elem['浠撲綅鍚嶇О'] == e)
+                this.hform.HOutStockPlaceName = ''
+                this.hform.HOutStockPlaceID = 0
+                if (index != -1) {
+                    this.hform.HOutStockPlaceName = this.HStockPlaceNameList[index].浠撲綅鍚嶇О
+                    this.hform.HOutStockPlaceID = this.HStockPlaceNameList[index].HMainID
+                }
+            
+                // for (var i = 0; i < this.HStockPlaceInNameList.length; i++) {
+                //     if (this.HStockPlaceInNameList[i].浠撲綅鍚嶇О == e) {
+                //         this.hform.HOutStockPlaceName = this.HStockPlaceInNameList[i].浠撲綅鍚嶇О
+                //         this.hform.HOutStockPlaceID = this.HStockPlaceInNameList[i].HMainID
+                //     }
+                // }
+            },
             //閫夋嫨璋冨叆浠撲綅
             HStockPlaceNameChange(e) {
                 for (var i = 0; i < this.HStockPlaceNameList.length; i++) {
diff --git a/pages/shengchanlingliao/PPickingCheckBill.vue b/pages/shengchanlingliao/PPickingCheckBill.vue
index 71bcaf5..239d49b 100644
--- a/pages/shengchanlingliao/PPickingCheckBill.vue
+++ b/pages/shengchanlingliao/PPickingCheckBill.vue
@@ -20,18 +20,19 @@
             <view class="form-item">
                 <view class="title">浠撳簱:</view>
                 <view class="right">
-                    <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
+                    <uni-combox :candidates="arrayHWHName" placeholder="璇烽�夋嫨浠撳簱" v-model="hform.HWHName"
                         @input="HWHNameChange"></uni-combox>
                 </view>
             </view>
             <view class="form-item">
                 <view class="title">浠撲綅:</view>
-                <view class="right" v-show="showHStockPlaceName">
-                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
+                <view class="right" v-show="true">
+                    <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"
+                        @confirm="HStockPlaceNameScan"></uni-combox>
                 </view>
-                <view class="righton" v-show="!showHStockPlaceName"><input v-model="hform.HStockPlaceName"
-                        placeholder="涓嶅彲鎿嶄綔" /></view>
+                <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="涓嶅彲鎿嶄綔"
+                        :disabled="!showHStockPlaceName" /></view>
             </view>
 
             <view class="tabs">
@@ -268,6 +269,16 @@
                 HFIFOList: [], // 鍏堣繘鍏堝嚭鍒楄〃缂撳瓨 
             }
         },
+        computed: {
+            arrayHStockPlaceNameComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴斾粨搴撶殑浠撲綅
+                    return this.HStockPlaceNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            }
+        },
         components: {
             BillListPopupVue,
             FIFOListComponentVue
@@ -314,6 +325,73 @@
             uni.$off('BillSelectComplete')
         },
         methods: {
+            // 鑾峰彇浠撲綅
+            async getStockPlaceRemote(HSPGroupID) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+                        this.HStockPlaceNameList = res.data.data
+                        for (var i = 0; i < res.data.data.length; i++) {
+                            this.arrayHStockPlaceName[i] = res.data.data[i].浠撲綅鍚嶇О
+                        }
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            async HStockPlaceNameScan(e) {
+                // 鎵弿浠撲綅鐮�
+                console.log('Code: ', e);
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HStockPlaceID = 0
+                this.hform.HStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+            
+                        this.hform.HStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HWHID = res.data.data[0].HWHID
+                        this.hform.HWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
             toScanCode2() {
                 var mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module")
                 mpaasScanModule.mpaasScan({
@@ -584,13 +662,14 @@
                 // var name = e.split("(")
                 for (var i = 0; i < this.HWHNameList.length; i++) {
                     if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
-                        this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
-                        this.hform.HWHID = this.HWHNameList[i].HItemID
-                        if (this.HWHNameList[i].鍚敤浠撲綅 == 'Y') {
-                            this.showHStockPlaceName = true
-                        } else {
-                            this.showHStockPlaceName = false
-                        }
+                       this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
+                       this.hform.HWHID = this.HWHNameList[i].HItemID
+                       this.HStockPlaceNameChange(null)
+                       this.showHStockPlaceName = false
+                       if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
+                           this.showHStockPlaceName = true
+                           this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"])
+                       } 
                     }
                 }
             },
diff --git a/pages/shengchanruku/ProductInCheckBill.vue b/pages/shengchanruku/ProductInCheckBill.vue
index c91c584..e648467 100644
--- a/pages/shengchanruku/ProductInCheckBill.vue
+++ b/pages/shengchanruku/ProductInCheckBill.vue
@@ -20,19 +20,19 @@
             <view class="form-item">
                 <view class="title">浠撳簱:</view>
                 <view class="right">
-                    <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
+                    <uni-combox :candidates="arrayHWHName" placeholder="璇烽�夋嫨浠撳簱" v-model="hform.HWHName"
                         @input="HWHNameChange"></uni-combox>
                 </view>
             </view>
             <view class="form-item">
                 <view class="title">浠撲綅:</view>
-                <view class="right" v-show="showHStockPlaceName">
-                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
+                <view class="right" v-show="true">
+                    <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"
+                        @confirm="HStockPlaceNameScan"></uni-combox>
                 </view>
-                <view class="righton" v-show="!showHStockPlaceName">
-                    <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" />
-                </view>
+                <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="涓嶅彲鎿嶄綔"
+                        :disabled="!showHStockPlaceName" /></view>
             </view>
 
 
@@ -252,6 +252,16 @@
                 }
             }
         },
+        computed: {
+            arrayHStockPlaceNameComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴斾粨搴撶殑浠撲綅
+                    return this.HStockPlaceNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            }
+        },
         onLoad(e) {
             console.log(e, this.userInfo)
             this.OperationType = e.OperationType
@@ -264,6 +274,73 @@
             this.getHBaseList()
         },
         methods: {
+            // 鑾峰彇浠撲綅
+            async getStockPlaceRemote(HSPGroupID) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+                        this.HStockPlaceNameList = res.data.data
+                        for (var i = 0; i < res.data.data.length; i++) {
+                            this.arrayHStockPlaceName[i] = res.data.data[i].浠撲綅鍚嶇О
+                        }
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            async HStockPlaceNameScan(e) {
+                // 鎵弿浠撲綅鐮�
+                console.log('Code: ', e);
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HStockPlaceID = 0
+                this.hform.HStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+            
+                        this.hform.HStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HWHID = res.data.data[0].HWHID
+                        this.hform.HWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
             async refreshHBarCodeFocus() {
                 this.HBarCodeFocus = false
                 await this.$nextTick()
@@ -343,13 +420,12 @@
                     if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
                         this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
                         this.hform.HWHID = this.HWHNameList[i].HItemID
-
+                        this.HStockPlaceNameChange(null)
+                        this.showHStockPlaceName = false
                         if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
                             this.showHStockPlaceName = true
-                        } else {
-                            this.hform.HStockPlaceName = ''
-                            this.showHStockPlaceName = false
-                        }
+                            this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"])
+                        } 
                     }
                 }
             },
diff --git a/pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue b/pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue
index 5c37658..d738ac6 100644
--- a/pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue
+++ b/pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue
@@ -20,19 +20,19 @@
             <view class="form-item">
                 <view class="title">浠撳簱:</view>
                 <view class="right">
-                    <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
+                    <uni-combox :candidates="arrayHWHName" placeholder="璇烽�夋嫨浠撳簱" v-model="hform.HWHName"
                         @input="HWHNameChange"></uni-combox>
                 </view>
             </view>
             <view class="form-item">
                 <view class="title">浠撲綅:</view>
-                <view class="right" v-show="showHStockPlaceName">
-                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
+                <view class="right" v-show="true">
+                    <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"
+                        @confirm="HStockPlaceNameScan"></uni-combox>
                 </view>
-                <view class="righton" v-show="!showHStockPlaceName">
-                    <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" />
-                </view>
+                <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="涓嶅彲鎿嶄綔"
+                        :disabled="!showHStockPlaceName" /></view>
             </view>
 
             <view class="tabs">
@@ -201,6 +201,16 @@
         components: {
           FIFOListComponentVue  
         },
+        computed: {
+            arrayHStockPlaceNameComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴斾粨搴撶殑浠撲綅
+                    return this.HStockPlaceNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            }
+        },
         data() {
             return {
                 userInfo: getUserInfo(),
@@ -271,6 +281,73 @@
             this.getHBaseList()
         },
         methods: {
+            // 鑾峰彇浠撲綅
+            async getStockPlaceRemote(HSPGroupID) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+                        this.HStockPlaceNameList = res.data.data
+                        for (var i = 0; i < res.data.data.length; i++) {
+                            this.arrayHStockPlaceName[i] = res.data.data[i].浠撲綅鍚嶇О
+                        }
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            async HStockPlaceNameScan(e) {
+                // 鎵弿浠撲綅鐮�
+                console.log('Code: ', e);
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HStockPlaceID = 0
+                this.hform.HStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+            
+                        this.hform.HStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HWHID = res.data.data[0].HWHID
+                        this.hform.HWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
             async refreshHBillState() {
                 this.HBillNoFocus = false
                 await this.$nextTick(() => {
@@ -436,15 +513,14 @@
                 // var name = e.split("(")
                 for (var i = 0; i < this.HWHNameList.length; i++) {
                     if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
-                        this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
-                        this.hform.HWHID = this.HWHNameList[i].HItemID
-
-                        if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
-                            this.showHStockPlaceName = true
-                        } else {
-                            this.hform.HStockPlaceName = ''
-                            this.showHStockPlaceName = false
-                        }
+                       this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
+                       this.hform.HWHID = this.HWHNameList[i].HItemID
+                       this.HStockPlaceNameChange(null)
+                       this.showHStockPlaceName = false
+                       if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
+                           this.showHStockPlaceName = true
+                           this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"])
+                       } 
                     }
                 }
             },
diff --git a/pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue b/pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue
index 49d6b35..4c5041f 100644
--- a/pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue
+++ b/pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue
@@ -20,21 +20,20 @@
             <view class="form-item">
                 <view class="title">浠撳簱:</view>
                 <view class="right">
-                    <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
+                    <uni-combox :candidates="arrayHWHName" placeholder="璇烽�夋嫨浠撳簱" v-model="hform.HWHName"
                         @input="HWHNameChange"></uni-combox>
                 </view>
             </view>
             <view class="form-item">
                 <view class="title">浠撲綅:</view>
-                <view class="right" v-show="showHStockPlaceName">
-                    <uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
+                <view class="right" v-show="true">
+                    <uni-combox :candidates="arrayHStockPlaceNameComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"
+                        @confirm="HStockPlaceNameScan"></uni-combox>
                 </view>
-                <view class="righton" v-show="!showHStockPlaceName">
-                    <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" />
-                </view>
+                <view class="righton" v-show="false"><input v-model="hform.HStockPlaceName" placeholder="涓嶅彲鎿嶄綔"
+                        :disabled="!showHStockPlaceName" /></view>
             </view>
-
             <view class="tabs">
                 <!-- <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">閫夋嫨婧愬崟</view> -->
                 <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">琛ㄥご淇℃伅</view>
@@ -254,6 +253,16 @@
                 HFIFOList: [], // 鍏堣繘鍏堝嚭鍒楄〃缂撳瓨
             }
         },
+        computed: {
+            arrayHStockPlaceNameComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴斾粨搴撶殑浠撲綅
+                    return this.HStockPlaceNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            }
+        },
         onLoad(e) {
             console.log(e, this.userInfo)
             this.OperationType = e.OperationType
@@ -268,6 +277,73 @@
             this.getHBaseList()
         },
         methods: {
+            // 鑾峰彇浠撲綅
+            async getStockPlaceRemote(HSPGroupID) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+                        this.HStockPlaceNameList = res.data.data
+                        for (var i = 0; i < res.data.data.length; i++) {
+                            this.arrayHStockPlaceName[i] = res.data.data[i].浠撲綅鍚嶇О
+                        }
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            async HStockPlaceNameScan(e) {
+                // 鎵弿浠撲綅鐮�
+                console.log('Code: ', e);
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HStockPlaceID = 0
+                this.hform.HStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+            
+                    if (res.data.count == 1) {
+            
+                        this.hform.HStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HWHID = res.data.data[0].HWHID
+                        this.hform.HWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+            
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
             async refreshHBillState() {
                 this.HBillNoFocus = false
                 await this.$nextTick(() => {
@@ -433,15 +509,14 @@
                 // var name = e.split("(")
                 for (var i = 0; i < this.HWHNameList.length; i++) {
                     if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
-                        this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
-                        this.hform.HWHID = this.HWHNameList[i].HItemID
-
-                        if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
-                            this.showHStockPlaceName = true
-                        } else {
-                            this.hform.HStockPlaceName = ''
-                            this.showHStockPlaceName = false
-                        }
+                       this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
+                       this.hform.HWHID = this.HWHNameList[i].HItemID
+                       this.HStockPlaceNameChange(null)
+                       this.showHStockPlaceName = false
+                       if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
+                           this.showHStockPlaceName = true
+                           this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"])
+                       } 
                     }
                 }
             },
diff --git a/utils/WebSocketServices.js b/utils/WebSocketServices.js
index 4a86605..6e5bdb5 100644
--- a/utils/WebSocketServices.js
+++ b/utils/WebSocketServices.js
@@ -1,44 +1,60 @@
-import { CommonUtils } from "@/utils/common.js";
+import {
+    CommonUtils
+} from "@/utils/common.js";
 
 class WebSocketServices {
     constructor() {
         this.wsInstance = null; // WebSocket 瀹炰緥
         this.isConnecting = false; // 閬垮厤骞跺彂閲嶈繛
         this.isConnected = false; // 閬垮厤骞跺彂閲嶈繛
-        this.wsUrl = CommonUtils.httpFormatWs() 
+        this.wsUrl = CommonUtils.httpFormatWs()
     }
-    
+
     // 寤虹珛WebSocket杩炴帴
-    createConnect(userId) { // 浣跨敤鐢ㄦ埛鏍囪瘑 浣滀负鍚庣杩炴帴鐨勫嚟鎹�
-       
-        if(this.isConnecting || !userId || this.isConnected) {
+    createConnect(userId, userName) { // 浣跨敤鐢ㄦ埛鏍囪瘑 浣滀负鍚庣杩炴帴鐨勫嚟鎹�
+        console.log('wsUrl: ', this.wsUrl);
+        console.log('userId: ', userId);
+        console.log('userName: ', userName);
+        if (this.isConnecting || !userId || this.isConnected) {
             return
         }
-        console.log('wsUrl: ',this.wsUrl);
-        console.log('userId: ',userId);
         this.wsInstance = uni.connectSocket({
-            url: this.wsUrl,
-            header: {
-                "X-User-Id": userId
-            },
+            url: this.wsUrl + `?userId=${userId}&userName=${encodeURIComponent(userName)}`,
             success() {
                 this.isConnecting = true
             }
         })
-        
+
         // 鐩戝惉濂楁帴瀛楄繛鎺ュ缓绔�
         uni.onSocketOpen((res) => {
             console.log('[webSocket]: 濂楁帴瀛楄繛鎺ュ缓绔嬫垚鍔�');
             this.isConnecting = false
             this.isConnected = true
-            console.log('res: ',res);
+            console.log('res: ', res);
             this.wsInstance = res.socketTask
+        })
+
+        uni.onSocketMessage((res) => {
+            let message = JSON.parse(res.data)
+            console.log('message: ', message);
+            if (message.Type == 'Message') {
+                // 娑堟伅淇″彿
+                let content = JSON.parse(message.Content)
+                console.log('content: ', content);
+
+                this.showTaskTip(`鎮ㄦ湁${content.length}鏉℃秷鎭渶瑕佸鐞�!`)
+            } else if (message.Type == 'ping') {
+                // 蹇冭烦淇″彿
+                uni.sendSocketMessage({
+                    data: "pong"
+                })
+            }
         })
     }
 
     // 閲嶈繛
     reConnect(reCount = 1, limit = 3) {
-        if(reCount > limit) {
+        if (reCount > limit) {
             uni.showToast({
                 icon: 'none',
                 title: `瓒呭嚭鏈�澶ч噸杩炴鏁般�傚凡閫�鍑鸿繛鎺
@@ -50,9 +66,9 @@
             icon: 'none',
             title: `姝e湪灏濊瘯閲嶈繛锛岄噸杩炴鏁� ${reCount}`
         })
-        
-        reConnect(reCount+1, limit)
-        
+
+        reConnect(reCount + 1, limit)
+
         uni.hideToast()
     }
 
@@ -60,6 +76,23 @@
     disConnect() {
 
     }
+
+    showTaskTip(Content) {
+        console.log('Content: ', Content);
+        // #ifdef APP-PLUS || APP
+        console.log('Content2: ', Content);
+        let content = Content;
+        let options = {
+            title: "閲嶈閫氱煡",
+            cover: true, // 鏄惁瑕嗙洊涓婁竴娆$殑閫氱煡
+            when: new Date() // 閫氱煡鏄剧ず鏃堕棿
+        };
+        // TODO 璺宠浆鍒版寚瀹氶〉
+        let payload = JSON.stringify({});
+
+        plus.push.createMessage(content, payload, options);
+        // #endif
+    }
 }
 
 export default new WebSocketServices()
\ No newline at end of file
diff --git a/utils/common.js b/utils/common.js
index 77074ff..4c609a4 100644
--- a/utils/common.js
+++ b/utils/common.js
@@ -499,10 +499,10 @@
         console.log('httpUrl: ',httpUrl);
         if(httpUrl.indexOf("http://") === 0){
             httpUrl = httpUrl.replace("http://", "")
-            httpUrl = "ws://" + httpUrl.split(":")[0]+":18080/WS"
+            httpUrl = "ws://" + httpUrl.split(":")[0]+":8089/ws"
         }else if(httpUrl.indexOf("https://") === 0) {
             httpUrl = httpUrl.replace("https://", "")
-            httpUrl = "wss://" + httpUrl.split(":")[0]+":18080/WS"
+            httpUrl = "wss://" + httpUrl.split(":")[0]+":8089/ws"
         }else{
             // 鎻愮ず浼犲叆杩炴帴閿欒
         }

--
Gitblit v1.9.1