From aaa40084e725685366a63f88b9d5b98eaaf3c34e Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期四, 15 一月 2026 13:37:48 +0800
Subject: [PATCH] Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev

---
 .gitignore                                                                     |    1 
 pages/MJGL/mujudianjianjiludan/Sc_MouldDotCheckBill.vue                        |    2 
 pages/tiaomachaima/tiaomachaima.vue                                            |    2 
 utils/BasicInfo.js                                                             |   37 
 pages/qitachukujiaoyan/qitachukudanjiaoyan.vue                                 |  108 +
 pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue                            |  108 +
 .hbuilderx/launch.json                                                         |    4 
 App.vue                                                                        |    1 
 pages/ZLGL/AanDengHujiao/OA_ErrMsgBackReceiveBill/OA_ErrMsgBackReceiveBill.vue |    2 
 utils/common.js                                                                |   15 
 pages/shengchanruku/ProductInCheckBill.vue                                     |  100 +
 pages/ZLGL/AanDengHujiao/OA_ErrMsgBackCheckBill/OA_ErrMsgBackCheckBill.vue     |    2 
 pages/MJGL/Sb_EquipMaintainBill/Sb_EquipMaintainBill.vue                       |    5 
 pages/MJGL/Sc_MouldRepairTaskReport/Sc_MouldRepairTaskReport.vue               |  121 +
 pages/index/login.vue                                                          |   11 
 pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue                     |    2 
 pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainBill.vue                         |    2 
 utils/WebSocketServices.js                                                     |   98 +
 pages/MJGL/Sb_EquipDotCheckBill/Sb_EquipDotCheckBill.vue                       |    2 
 pages.json                                                                     |  105 
 pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue                                  |  108 +
 pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue                                |  109 +
 pages/ZLGL/style/MJListStyle.scss                                              |  193 ++
 pages/index/tab4.vue                                                           |   14 
 pages/ZLGL/AanDengHujiao/OA_ErrMsgBackBill/OA_ErrMsgBackBill.vue               |    2 
 pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue                  |   17 
 pages/MJGL/Sb_EquipRepairCheckBill/Sb_EquipRepairCheckBill.vue                 |    2 
 pages/ZLGL/AanDengHujiao/OA_ErrMsgBackHandleBill/OA_ErrMsgBackHandleBill.vue   |    2 
 pages/MJGL/Sb_EquipRepairTaskReport/Sb_EquipRepairTaskReport.vue               |  121 +
 pages/ZLGL/OA_WorkLink/OA_WorkLinkBillList.vue                                 |  483 +++++++
 pages/ZLGL/style/MJBillStyle.scss                                              |  310 ++++
 pages/shengchandiaobo/MoveStockBill.vue                                        |  290 ++++
 pages/MJGL/Sb_EquipRepairSendWork/Sb_EquipRepairSendWorkBill.vue               |    2 
 pages/ZLGL/OA_WorkLink/OA_WorkLinkBill.vue                                     |  474 +++++++
 pages/index/tab3.vue                                                           |  687 +++++-----
 pages/caigourukujiaoyan/POStockInCheckBill.vue                                 |  119 +
 pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue                     |  108 +
 pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill.vue               |    2 
 pages/ZLGL/AanDengHujiao/OA_ErrMsgBackSignBill/OA_ErrMsgBackSignBill.vue       |    2 
 pages/shengchanlingliao/PPickingCheckBill.vue                                  |  105 +
 pages/tiaomachaima/tiaomachaima2.vue                                           |   11 
 41 files changed, 3,333 insertions(+), 556 deletions(-)

diff --git a/.gitignore b/.gitignore
index f8d66e1..b99a29d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
 node_modules
 /package-lock.json
 /unpackage
+
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 c4c1fff..bb88175 100644
--- a/App.vue
+++ b/App.vue
@@ -11,6 +11,7 @@
         },
         onShow: function() {
             console.log('App Show')
+        
         },
         onHide: function() {
             console.log('App Hide')
diff --git a/pages.json b/pages.json
index 296104a..0f9865c 100644
--- a/pages.json
+++ b/pages.json
@@ -29,7 +29,7 @@
 		{
 			"path": "pages/index/tab3",
 			"style": {
-				"navigationBarTitleText": "妯″叿绠$悊"
+				"navigationBarTitleText": "鍣ㄥ叿绠$悊"
 			}
 		},
 		{
@@ -230,20 +230,13 @@
 				"enablePullDownRefresh": true
 			}
 		},
-		{
-			"path": "pages/baogong/AddLineBind",
-			"style": {
-				"navigationBarTitleText": "浜х嚎缁戝畾",
-				"enablePullDownRefresh": true
-			}
-		},
-		{
-			"path": "pages/baogong/OA_ErrMsgBackBill",
-			"style": {
-				"navigationBarTitleText": "寮傚父鍙嶉鍗�",
-				"enablePullDownRefresh": false
-			}
-		},
+		// {
+		// 	"path": "pages/baogong/OA_ErrMsgBackBill",
+		// 	"style": {
+		// 		"navigationBarTitleText": "寮傚父鍙嶉鍗�",
+		// 		"enablePullDownRefresh": false
+		// 	}
+		// },
 		{
 			"path": "pages/ZLGL/AanDengHujiao/OA_ErrMsgBackBill/OA_ErrMsgBackBillList",
 			"style": {
@@ -341,16 +334,7 @@
 			"style": {
 				"navigationBarTitleText": "閲囪喘閫�鏂欏垪琛�",
 				"enablePullDownRefresh": true
-            }
-        },
-        {
-            "path" : "pages/ZLGL/QualityReportStep/QualityReportStepBill",
-            "style" : 
-            {
-                "navigationBarTitleText" : "鍏ㄦ妫�楠屽崟(涓嶈壇姹囨姤)",
-				"pageOrientation": "auto"
-				
-            }
+			}
 		},
 		{
 			"path": "pages/caigoutuiliao/POStockInBackBill",
@@ -1138,14 +1122,14 @@
 		{
 			"path": "pages/MJGL/qijudiaobodan/Sc_MouldMoveStockBillList",
 			"style": {
-				"navigationBarTitleText": "妯″叿璋冩嫧鍗�",
+				"navigationBarTitleText": "鍣ㄥ叿璋冩嫧鍗�",
 				"enablePullDownRefresh": true
 			}
 		},
 		{
 			"path": "pages/MJGL/qijudiaobodan/Sc_MouldMoveStockBill",
 			"style": {
-				"navigationBarTitleText": "妯″叿璋冩嫧鍗�",
+				"navigationBarTitleText": "鍣ㄥ叿璋冩嫧鍗�",
 				"enablePullDownRefresh": true
 			}
 		},
@@ -1541,42 +1525,56 @@
             "path" : "pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill",
             "style" : 
             {
-                "navigationBarTitleText" : "妯″叿缁翠慨娲惧伐鍗�"
+                "navigationBarTitleText" : "鍣ㄥ叿缁翠慨娲惧伐鍗�"
             }
         },
         {
             "path" : "pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBillList",
             "style" : 
             {
-                "navigationBarTitleText" : "妯″叿缁翠慨娲惧伐鍗曠紦瀛�"
+                "navigationBarTitleText" : "鍣ㄥ叿缁翠慨娲惧伐鍗曠紦瀛�"
             }
         },
         {
             "path" : "pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill",
             "style" : 
             {
-                "navigationBarTitleText" : "妯″叿缁翠慨楠屾敹鍗�"
+                "navigationBarTitleText" : "鍣ㄥ叿缁翠慨楠屾敹鍗�"
             }
         },
         {
             "path" : "pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBillList",
             "style" : 
             {
-                "navigationBarTitleText" : "妯″叿缁翠慨楠屾敹鍗曠紦瀛�"
+                "navigationBarTitleText" : "鍣ㄥ叿缁翠慨楠屾敹鍗曠紦瀛�"
             }
 		},
 		{
-		    "path" : "pages/MJGL/SBMJReport/Sb_EquipMaintainTaskReport",
+		    "path" : "pages/ZLGL/OA_WorkLink/OA_WorkLinkBill",
 		    "style" : 
 		    {
-		        "navigationBarTitleText" : "璁惧淇濆吇浠诲姟"
+		        "navigationBarTitleText" : "宸ヤ綔鑱旂郴鍗�"
 		    }
 		},
 		{
-		    "path" : "pages/MJGL/SBMJReport/Sc_MouldMaintainTaskReport",
+		    "path" : "pages/ZLGL/OA_WorkLink/OA_WorkLinkBillList",
 		    "style" : 
 		    {
-		        "navigationBarTitleText" : "妯″叿淇濆吇浠诲姟"
+		        "navigationBarTitleText" : "宸ヤ綔鑱旂郴鍗曞垪琛�"
+		    }
+		},
+		{
+		    "path" : "pages/MJGL/Sb_EquipRepairTaskReport/Sb_EquipRepairTaskReport",
+		    "style" : 
+		    {
+		        "navigationBarTitleText" : "璁惧缁翠慨浠诲姟"
+		    }
+		},
+		{
+		    "path" : "pages/MJGL/Sc_MouldRepairTaskReport/Sc_MouldRepairTaskReport",
+		    "style" : 
+		    {
+		        "navigationBarTitleText" : "鍣ㄥ叿缁翠慨浠诲姟"
 		    }
 		}
 
@@ -1608,7 +1606,7 @@
 				"pagePath": "pages/index/tab4",
 				"iconPath": "static/tabBar/icon3.png",
 				"selectedIconPath": "static/tabBar/icon3-default.png",
-				"text": "璐ㄩ噺绠$悊" 
+				"text": "璐ㄩ噺绠$悊"
 			},
 			{
 				"pagePath": "pages/index/tab2",
@@ -1622,21 +1620,22 @@
 				"selectedIconPath": "static/tabBar/user-default.png",
 				"text": "鎴戠殑"
 			}
-        ]
-    },
-    "globalStyle": {
-        "navigationBarTextStyle": "white",
-        "navigationBarTitleText": "璁惧绠$悊",
-        "navigationBarBackgroundColor": "#3A78FF",
-        "backgroundColor": "#F8F8F8"
-    },
-    "uniIdRouter": {},
-    "condition": { //妯″紡閰嶇疆锛屼粎寮�鍙戞湡闂寸敓鏁�
-        "current": 0, //褰撳墠婵�娲荤殑妯″紡(list 鐨勭储寮曢」)
-        "list": [{
-            "name": "", //妯″紡鍚嶇О
-            "path": "", //鍚姩椤甸潰锛屽繀閫�
-            "query": "" //鍚姩鍙傛暟锛屽湪椤甸潰鐨刼nLoad鍑芥暟閲岄潰寰楀埌
-        }]
-    }
+		]
+	},
+	"globalStyle": {
+		"navigationBarTextStyle": "white",
+		"navigationBarTitleText": "璁惧绠$悊",
+		"navigationBarBackgroundColor": "#3A78FF",
+		"backgroundColor": "#F8F8F8",
+		"pageOrientation": "default"
+	},
+	"uniIdRouter": {},
+	"condition": { //妯″紡閰嶇疆锛屼粎寮�鍙戞湡闂寸敓鏁�
+		"current": 0, //褰撳墠婵�娲荤殑妯″紡(list 鐨勭储寮曢」)
+		"list": [{
+			"name": "", //妯″紡鍚嶇О
+			"path": "", //鍚姩椤甸潰锛屽繀閫�
+			"query": "" //鍚姩鍙傛暟锛屽湪椤甸潰鐨刼nLoad鍑芥暟閲岄潰寰楀埌
+		}]
+	}
 }
\ No newline at end of file
diff --git a/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue b/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue
index 9a53f20..b41f1a2 100644
--- a/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue
+++ b/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill.vue
@@ -441,7 +441,7 @@
                     let res = await CommonUtils.doRequest2Async({
                         url: '/Gy_Department/list',
                         data: {
-                            sWhere: "",
+                            sWhere: ` and HUSEORGID = ${uni.getStorageSync('OrganizationID')}`,
                             user: uni.getStorageSync('HUserName'),
                             Organization: uni.getStorageSync('Organization')
                         }
diff --git a/pages/MJGL/Sb_EquipDotCheckBill/Sb_EquipDotCheckBill.vue b/pages/MJGL/Sb_EquipDotCheckBill/Sb_EquipDotCheckBill.vue
index acd4e0e..e33628e 100644
--- a/pages/MJGL/Sb_EquipDotCheckBill/Sb_EquipDotCheckBill.vue
+++ b/pages/MJGL/Sb_EquipDotCheckBill/Sb_EquipDotCheckBill.vue
@@ -504,7 +504,7 @@
                     let res = await CommonUtils.doRequest2Async({
                         url: '/Gy_Department/list',
                         data: {
-                            sWhere: "",
+                            sWhere: ` AND HUSEORGID = ${uni.getStorageSync('OrganizationID')} `,
                             user: uni.getStorageSync('HUserName'),
                             Organization: uni.getStorageSync('Organization')
                         }
diff --git a/pages/MJGL/Sb_EquipMaintainBill/Sb_EquipMaintainBill.vue b/pages/MJGL/Sb_EquipMaintainBill/Sb_EquipMaintainBill.vue
index a651419..a687fab 100644
--- a/pages/MJGL/Sb_EquipMaintainBill/Sb_EquipMaintainBill.vue
+++ b/pages/MJGL/Sb_EquipMaintainBill/Sb_EquipMaintainBill.vue
@@ -424,9 +424,6 @@
                         message: err
                     })
                 }
-
-
-
             },
             toCheckFile() {
                 if (this.hform.HEquipID == 0) {
@@ -554,7 +551,7 @@
                     let res = await CommonUtils.doRequest2Async({
                         url: '/Gy_Department/list',
                         data: {
-                            sWhere: "",
+                            sWhere: ` AND HUSEORGID = ${uni.getStorageSync('OrganizationID')}`,
                             user: uni.getStorageSync('HUserName'),
                             Organization: uni.getStorageSync('Organization')
                         }
diff --git a/pages/MJGL/Sb_EquipRepairCheckBill/Sb_EquipRepairCheckBill.vue b/pages/MJGL/Sb_EquipRepairCheckBill/Sb_EquipRepairCheckBill.vue
index 19c06df..cfbeb05 100644
--- a/pages/MJGL/Sb_EquipRepairCheckBill/Sb_EquipRepairCheckBill.vue
+++ b/pages/MJGL/Sb_EquipRepairCheckBill/Sb_EquipRepairCheckBill.vue
@@ -403,7 +403,7 @@
                     let res = await CommonUtils.doRequest2Async({
                         url: '/Gy_Department/list',
                         data: {
-                            sWhere: "",
+                            sWhere: ` and HUSEORGID = ${uni.getStorageSync('OrganizationID')}`,
                             user: uni.getStorageSync('HUserName'),
                             Organization: uni.getStorageSync('Organization')
                         }
diff --git a/pages/MJGL/Sb_EquipRepairSendWork/Sb_EquipRepairSendWorkBill.vue b/pages/MJGL/Sb_EquipRepairSendWork/Sb_EquipRepairSendWorkBill.vue
index cff4b33..fba70a1 100644
--- a/pages/MJGL/Sb_EquipRepairSendWork/Sb_EquipRepairSendWorkBill.vue
+++ b/pages/MJGL/Sb_EquipRepairSendWork/Sb_EquipRepairSendWorkBill.vue
@@ -463,7 +463,7 @@
                     let res = await CommonUtils.doRequest2Async({
                         url: '/Gy_Department/list',
                         data: {
-                            sWhere: "",
+                            sWhere: ` and HUSEORGID = ${uni.getStorageSync('OrganizationID')} `,
                             user: uni.getStorageSync('HUserName'),
                             Organization: uni.getStorageSync('Organization')
                         }
diff --git a/pages/MJGL/Sb_EquipRepairTaskReport/Sb_EquipRepairTaskReport.vue b/pages/MJGL/Sb_EquipRepairTaskReport/Sb_EquipRepairTaskReport.vue
new file mode 100644
index 0000000..b0618b2
--- /dev/null
+++ b/pages/MJGL/Sb_EquipRepairTaskReport/Sb_EquipRepairTaskReport.vue
@@ -0,0 +1,121 @@
+<template>
+    <view>
+        <view class="tabs" id="tabs">
+            <view :class="tabs == 0 ? 'on':''" @tap="switchTab(0)">寰呯淮淇�</view>
+            <view :class="tabs == 1 ? 'on':''" @tap="switchTab(1)">宸茬淮淇�</view>
+            <view :class="tabs == 2 ? 'on':''" @tap="switchTab(2)">鍏ㄩ儴浠诲姟</view>
+        </view>
+
+        <!-- 璁惧缁翠慨浠诲姟鍒楄〃鍒楄〃 -->
+        <view class="list" v-for="(item,index) in reportBillsDisplay" :key="index">
+            <uni-card :title="item.鏁呴殰鐧昏鍗曞彿" :extra="`鏃ユ湡: ${dayjs(item.璁惧鏁呴殰鏃ユ湡).format('YYYY-MM-DD')}`" style="margin: 10px;">
+                <view class="card-detail">
+                    <view class="detail" v-for="(field, index) in CommonUtils.emptyValueFilter(item, HFieldList)" :key="index">
+                        <text>{{field.ColmCols}}锛�</text>{{item[field.ColmCols]}}
+                    </view>
+                </view>
+            </uni-card>
+        </view>
+        <view class="over" v-if="reportBillsDisplay.length == 0">鏆傛棤鏁版嵁</view>
+    </view>
+</template>
+
+<script>
+    import {
+        getUserInfo
+    } from '../../../utils/auth';
+    import {
+        CommonUtils
+    } from '../../../utils/common';
+    import dayjs from 'dayjs';
+    export default {
+        // 璁惧缁翠慨浠诲姟 妯″潡
+        name: 'Sb_EquipRepairTaskReport',
+        data() {
+            return {
+                dayjs,
+                CommonUtils,
+                tabs: 0,
+                reportBillsDisplay: [],
+                reportBillsAwaitRepair: [], // 寰呯淮淇�
+                reportBillsRepaired: [], // 宸茬淮淇�
+                reportBillsAll: [], // 鍏ㄩ儴浠诲姟
+                HFieldList: [], // 瀛楁鍒楄〃
+            };
+        },
+        methods: {
+            switchTab(tabIndex) {
+                this.tabs = tabIndex
+                switch (tabIndex) {
+                    case 0:
+                        this.reportBillsDisplay = this.reportBillsAwaitRepair;
+                        break;
+                    case 1:
+                        this.reportBillsDisplay = this.reportBillsRepaired;
+                        break;
+                    case 2:
+                        this.reportBillsDisplay = this.reportBillsAll;
+                        break;
+                }
+            },
+            async getRepairList() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: 'Sb_EquipRepairTaskReport/RepairList',
+                        data: {
+                            user: getUserInfo()["Czymc"]
+                        }
+                    })
+
+                    let {
+                        count,
+                        data,
+                        Message,
+                        list
+                    } = res.data
+                    if (count == 1) {
+                        console.log('data: ', data);
+
+                        this.reportBillsAwaitRepair = data.h_p_Sb_EquipRepairTaskReport
+                        this.reportBillsRepaired = data.h_p_Sb_EquipRepairTaskReport1
+                        this.reportBillsAll = data.h_p_Sb_EquipRepairTaskReport2
+                        
+                        let fieldList = CommonUtils.fieldListFilterRole({
+                            ExcludeKeys: ['鏁呴殰鐧昏鍗曞彿', '璁惧鏁呴殰鏃ユ湡'],
+                            FieldList: list
+                        })
+                        
+                        if (fieldList.status == false) {
+                            CommonUtils.showTips({
+                                title: '娓╅Θ鎻愮ず',
+                                message: `鑾峰彇琛ㄥ崟缁撴瀯澶辫触: ${fieldList.Message}`
+                            })
+                        }
+                        
+                        this.HFieldList = fieldList.data
+
+                        this.switchTab(0)
+                    } else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: `鑾峰彇缁翠慨鍗曞紓甯�: ${Message}`
+                        })
+                    }
+
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: `鑾峰彇缁翠慨鍗曞紓甯�: ${err}`
+                    })
+                }
+            }
+        },
+        onLoad() {
+            this.getRepairList()
+        }
+    }
+</script>
+
+<style lang="scss">
+    @import "@/pages/MJGL/style/MJBillStyle.scss"
+</style>
\ No newline at end of file
diff --git a/pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill.vue b/pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill.vue
index 7066f6c..ef6f93b 100644
--- a/pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill.vue
+++ b/pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill.vue
@@ -550,7 +550,7 @@
                     let res = await CommonUtils.doRequest2Async({
                         url: '/Gy_Department/list',
                         data: {
-                            sWhere: "",
+                            sWhere: ` and HUSEORGID = ${uni.getStorageSync('OrganizationID')}`,
                             user: uni.getStorageSync('HUserName'),
                             Organization: uni.getStorageSync('Organization')
                         }
diff --git a/pages/MJGL/Sc_MouldRepairTaskReport/Sc_MouldRepairTaskReport.vue b/pages/MJGL/Sc_MouldRepairTaskReport/Sc_MouldRepairTaskReport.vue
new file mode 100644
index 0000000..e5b6577
--- /dev/null
+++ b/pages/MJGL/Sc_MouldRepairTaskReport/Sc_MouldRepairTaskReport.vue
@@ -0,0 +1,121 @@
+<template>
+    <view>
+        <view class="tabs" id="tabs">
+            <view :class="tabs == 0 ? 'on':''" @tap="switchTab(0)">寰呯淮淇�</view>
+            <view :class="tabs == 1 ? 'on':''" @tap="switchTab(1)">宸茬淮淇�</view>
+            <view :class="tabs == 2 ? 'on':''" @tap="switchTab(2)">鍏ㄩ儴浠诲姟</view>
+        </view>
+
+        <!-- 璁惧缁翠慨浠诲姟鍒楄〃鍒楄〃 -->
+        <view class="list" v-for="(item,index) in reportBillsDisplay" :key="index">
+            <uni-card :title="item.鏁呴殰鐧昏鍗曞彿" :extra="`鏃ユ湡: ${dayjs(item.鍣ㄥ叿鏁呴殰鏃ユ湡).format('YYYY-MM-DD')}`" style="margin: 10px;">
+                <view class="card-detail">
+                    <view class="detail" v-for="(field, index) in CommonUtils.emptyValueFilter(item, HFieldList)" :key="index">
+                        <text>{{field.ColmCols}}锛�</text>{{item[field.ColmCols]}}
+                    </view>
+                </view>
+            </uni-card>
+        </view>
+        <view class="over" v-if="reportBillsDisplay.length == 0">鏆傛棤鏁版嵁</view>
+    </view>
+</template>
+
+<script>
+    import {
+        getUserInfo
+    } from '../../../utils/auth';
+    import {
+        CommonUtils
+    } from '../../../utils/common';
+    import dayjs from 'dayjs';
+    export default {
+        // 璁惧缁翠慨浠诲姟 妯″潡
+        name: 'Sb_EquipRepairTaskReport',
+        data() {
+            return {
+                dayjs,
+                CommonUtils,
+                tabs: 0,
+                reportBillsDisplay: [],
+                reportBillsAwaitRepair: [], // 寰呯淮淇�
+                reportBillsRepaired: [], // 宸茬淮淇�
+                reportBillsAll: [], // 鍏ㄩ儴浠诲姟
+                HFieldList: [], // 瀛楁鍒楄〃
+            };
+        },
+        methods: {
+            switchTab(tabIndex) {
+                this.tabs = tabIndex
+                switch (tabIndex) {
+                    case 0:
+                        this.reportBillsDisplay = this.reportBillsAwaitRepair;
+                        break;
+                    case 1:
+                        this.reportBillsDisplay = this.reportBillsRepaired;
+                        break;
+                    case 2:
+                        this.reportBillsDisplay = this.reportBillsAll;
+                        break;
+                }
+            },
+            async getRepairList() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: 'Sc_MouldRepairTaskReport/RepairList',
+                        data: {
+                            user: getUserInfo()["Czymc"]
+                        }
+                    })
+
+                    let {
+                        count,
+                        data,
+                        Message,
+                        list
+                    } = res.data
+                    if (count == 1) {
+                        console.log('data: ', data);
+
+                        this.reportBillsAwaitRepair = data.h_p_Sc_MouldRepairTaskReport
+                        this.reportBillsRepaired = data.h_p_Sc_MouldRepairTaskReport1
+                        this.reportBillsAll = data.h_p_Sc_MouldRepairTaskReport2
+                        
+                        let fieldList = CommonUtils.fieldListFilterRole({
+                            ExcludeKeys: ['鏁呴殰鐧昏鍗曞彿', '鍣ㄥ叿鏁呴殰鏃ユ湡'],
+                            FieldList: list
+                        })
+                        
+                        if (fieldList.status == false) {
+                            CommonUtils.showTips({
+                                title: '娓╅Θ鎻愮ず',
+                                message: `鑾峰彇琛ㄥ崟缁撴瀯澶辫触: ${fieldList.Message}`
+                            })
+                        }
+                        
+                        this.HFieldList = fieldList.data
+
+                        this.switchTab(0)
+                    } else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: `鑾峰彇缁翠慨鍗曞紓甯�: ${Message}`
+                        })
+                    }
+
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: `鑾峰彇缁翠慨鍗曞紓甯�: ${err}`
+                    })
+                }
+            }
+        },
+        onLoad() {
+            this.getRepairList()
+        }
+    }
+</script>
+
+<style lang="scss">
+    @import "@/pages/MJGL/style/MJBillStyle.scss"
+</style>
\ No newline at end of file
diff --git a/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainBill.vue b/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainBill.vue
index be9739d..37d6acd 100644
--- a/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainBill.vue
+++ b/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainBill.vue
@@ -273,7 +273,6 @@
 	import {
 		MpaasScan
 	} from "@/utils/mpaasScan.js"
-	import "@/pages/MJGL/style/MJBillStyle.scss"
 	import {
 		getUserInfo
 	} from "../../../utils/auth";
@@ -869,4 +868,5 @@
 </script>
 
 <style lang="scss">
+    @import "@/pages/MJGL/style/MJBillStyle.scss"
 </style>
\ No newline at end of file
diff --git a/pages/MJGL/mujudianjianjiludan/Sc_MouldDotCheckBill.vue b/pages/MJGL/mujudianjianjiludan/Sc_MouldDotCheckBill.vue
index 6d8027b..792f7d2 100644
--- a/pages/MJGL/mujudianjianjiludan/Sc_MouldDotCheckBill.vue
+++ b/pages/MJGL/mujudianjianjiludan/Sc_MouldDotCheckBill.vue
@@ -309,7 +309,6 @@
 	import {
 		MpaasScan
 	} from "@/utils/mpaasScan.js"
-	import "@/pages/MJGL/style/MJBillStyle.scss"
 	import {
 		getUserInfo
 	} from "../../../utils/auth";
@@ -951,4 +950,5 @@
 </script>
 
 <style lang="scss">
+    @import "@/pages/MJGL/style/MJBillStyle.scss"
 </style>
\ No newline at end of file
diff --git a/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackBill/OA_ErrMsgBackBill.vue b/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackBill/OA_ErrMsgBackBill.vue
index 5b4afdd..48535d4 100644
--- a/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackBill/OA_ErrMsgBackBill.vue
+++ b/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackBill/OA_ErrMsgBackBill.vue
@@ -277,7 +277,6 @@
 	import {CommonUtils} from "@/utils/common";
 	import getDateTime from '@/utils/getdateTime.js';
 	import {getUserInfo} from "../../../../utils/auth";
-	import "@/pages/ZLGL/AanDengHujiao/style/OA_ErrMsgStyle.scss"
 	export default {
 		data() {
 			return {
@@ -1040,4 +1039,5 @@
 </script>
 
 <style lang="scss">
+    @import "@/pages/ZLGL/AanDengHujiao/style/OA_ErrMsgStyle.scss"
 </style>
\ No newline at end of file
diff --git a/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackCheckBill/OA_ErrMsgBackCheckBill.vue b/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackCheckBill/OA_ErrMsgBackCheckBill.vue
index 977fc23..cad1a85 100644
--- a/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackCheckBill/OA_ErrMsgBackCheckBill.vue
+++ b/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackCheckBill/OA_ErrMsgBackCheckBill.vue
@@ -232,7 +232,6 @@
 	import {
 		getUserInfo
 	} from "../../../../utils/auth";
-	import "@/pages/ZLGL/AanDengHujiao/style/OA_ErrMsgStyle.scss"
 	export default {
 		data() {
 			return {
@@ -1020,4 +1019,5 @@
 </script>
 
 <style lang="scss">
+    @import "@/pages/ZLGL/AanDengHujiao/style/OA_ErrMsgStyle.scss"
 </style>
\ No newline at end of file
diff --git a/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackHandleBill/OA_ErrMsgBackHandleBill.vue b/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackHandleBill/OA_ErrMsgBackHandleBill.vue
index dc0a762..1eb2a83 100644
--- a/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackHandleBill/OA_ErrMsgBackHandleBill.vue
+++ b/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackHandleBill/OA_ErrMsgBackHandleBill.vue
@@ -239,7 +239,6 @@
 	import {
 		getUserInfo
 	} from "../../../../utils/auth";
-	import "@/pages/ZLGL/AanDengHujiao/style/OA_ErrMsgStyle.scss"
 	export default {
 		data() {
 			return {
@@ -1044,4 +1043,5 @@
 </script>
 
 <style lang="scss">
+    @import "@/pages/ZLGL/AanDengHujiao/style/OA_ErrMsgStyle.scss"
 </style>
\ No newline at end of file
diff --git a/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackReceiveBill/OA_ErrMsgBackReceiveBill.vue b/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackReceiveBill/OA_ErrMsgBackReceiveBill.vue
index aaff83c..1d9f27f 100644
--- a/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackReceiveBill/OA_ErrMsgBackReceiveBill.vue
+++ b/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackReceiveBill/OA_ErrMsgBackReceiveBill.vue
@@ -240,7 +240,6 @@
 	import {
 		getUserInfo
 	} from "../../../../utils/auth";
-	import "@/pages/ZLGL/AanDengHujiao/style/OA_ErrMsgStyle.scss"
 	export default {
 		data() {
 			return {
@@ -905,4 +904,5 @@
 </script>
 
 <style lang="scss">
+    @import "@/pages/ZLGL/AanDengHujiao/style/OA_ErrMsgStyle.scss"
 </style>
\ No newline at end of file
diff --git a/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackSignBill/OA_ErrMsgBackSignBill.vue b/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackSignBill/OA_ErrMsgBackSignBill.vue
index d9c5c84..1025f80 100644
--- a/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackSignBill/OA_ErrMsgBackSignBill.vue
+++ b/pages/ZLGL/AanDengHujiao/OA_ErrMsgBackSignBill/OA_ErrMsgBackSignBill.vue
@@ -227,7 +227,6 @@
 	import {
 		getUserInfo
 	} from "../../../../utils/auth";
-	import "@/pages/ZLGL/AanDengHujiao/style/OA_ErrMsgStyle.scss"
 	export default {
 		data() {
 			return {
@@ -986,4 +985,5 @@
 </script>
 
 <style lang="scss">
+    @import "@/pages/ZLGL/AanDengHujiao/style/OA_ErrMsgStyle.scss"
 </style>
\ No newline at end of file
diff --git a/pages/ZLGL/OA_WorkLink/OA_WorkLinkBill.vue b/pages/ZLGL/OA_WorkLink/OA_WorkLinkBill.vue
new file mode 100644
index 0000000..1678a02
--- /dev/null
+++ b/pages/ZLGL/OA_WorkLink/OA_WorkLinkBill.vue
@@ -0,0 +1,474 @@
+<template>
+    <view>
+        <view class="tabs" id="tabs">
+            <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">鍩烘湰淇℃伅</view>
+            <!-- <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">鏄庣粏淇℃伅</view> -->
+            <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">鍏朵粬淇℃伅</view>
+            <!-- <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">闄勪欢淇℃伅</view> -->
+        </view>
+        <!-- 鍩烘湰淇℃伅 -->
+        <template v-if="tabs == 0">
+            <view class="form" :style="{
+                height: containerHeight + 'px',
+                overflow: 'auto'
+            }">
+                <view class="form-item">
+                    <view class="title">涓婚:</view>
+                    <view class="right">
+                        <input type="text" v-model="hform.HContext" placeholder="璇疯緭鍏ヤ富棰�..." />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鍙戦�佷汉:</view>
+                    <zxz-uni-data-select class="right" :localdata="HEmpList" dataKey="HName" dataValue="HName"
+                        v-model="hform.HSendMan" :filterable="true">
+                    </zxz-uni-data-select>
+                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+                </view>
+                <view class="form-item">
+                    <view class="title">鎺ユ敹浜�:</view>
+                    <zxz-uni-data-select class="right" :localdata="HEmpList" dataKey="HName" dataValue="HName"
+                        v-model="hform.HReceiveMan" :filterable="true">
+                    </zxz-uni-data-select>
+                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+                </view>
+                <view class="form-item">
+                    <view class="title">绱ф�ョ被鍨�:</view>
+                    <zxz-uni-data-select class="right" :localdata="[
+                        {value: '鏅��'},
+                        {value: '绱ф��'}
+                        ]" dataKey="value" dataValue="value" v-model="hform.HLevel">
+                    </zxz-uni-data-select>
+                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+                </view>
+                <view class="form-item">
+                    <view class="title">鍙戦�佺被鍨�:</view>
+                    <zxz-uni-data-select class="right" :localdata="[
+                        {value: '鍏叡'},
+                        {value: '涓汉'}
+                    ]" dataKey="value" dataValue="value" v-model="hform.HSendType">
+                    </zxz-uni-data-select>
+                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+                </view>
+                <view class="form-item">
+                    <view class="title">鎶勯�佷汉:</view>
+                    <zxz-uni-data-select class="right" :localdata="HEmpList" dataKey="HName" dataValue="HName"
+                        :filterable="true" 
+                        :multiple="true" placeholder="璇烽�夋嫨鎶勯�佷汉..."
+                         @input="HCopyManChange">
+                    </zxz-uni-data-select>
+                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+                </view>
+                <view class="form-item">
+                    <view class="title">鍗曟嵁鍙�:</view>
+                    <view class="righton">
+                        <input disabled v-model="hform.HBillNo" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鍗曟嵁鏃ユ湡:</view>
+                    <view class="righton">
+                        <input disabled v-model="hform.HDate" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鎺ㄨ崘瀹屾垚鏃ユ湡:</view>
+                    <view class="right">
+                        <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HCommDate">
+                            <input :value="hform.HCommDate" />
+                        </uni-datetime-picker>
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鍙戦�侀儴闂�:</view>
+                    <zxz-uni-data-select class="right" :localdata="HDeptList" dataKey="閮ㄩ棬鍚嶇О" dataValue="HItemID"
+                        v-model="hform.HDeptID" :filterable="true">
+
+                    </zxz-uni-data-select>
+                    <!-- <input disabled v-model="hform.HDeptName" placeholder="璇烽�夋嫨閮ㄩ棬" /> -->
+                </view>
+                <view class="form-item">
+                    <view class="title">璇︾粏鍐呭:</view>
+                    <view class="right">
+                        <textarea v-model="hform.HDescription" placeholder="璇疯緭鍏ヨ缁嗗唴瀹�" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">澶囨敞:</view>
+                    <view class="right">
+                        <textarea v-model="hform.HRemark" placeholder="璇疯緭鍏ュ娉�" />
+                    </view>
+                </view>
+
+            </view>
+        </template>
+        <!-- 鍏朵粬淇℃伅 -->
+        <template v-if="tabs == 2">
+            <view class="form" :style="{
+                height: containerHeight + 'px',
+                overflow: 'auto'
+            }">
+                <view class="form-item">
+                    <view class="title">鍒涘缓浜�:</view>
+                    <view class="righton">
+                        <input v-model="hform.HMaker" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鍒涘缓鏃ユ湡:</view>
+                    <view class="righton">
+                        <input v-model="hform.HMakeDate" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">淇敼浜�:</view>
+                    <view class="righton">
+                        <input v-model="hform.HUpDater" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">淇敼鏃ユ湡:</view>
+                    <view class="righton">
+                        <input v-model="hform.HUpDateDate" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">瀹℃牳浜�:</view>
+                    <view class="righton">
+                        <input v-model="hform.HChecker" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">瀹℃牳鏃堕棿:</view>
+                    <view class="righton">
+                        <input v-model="hform.HCheckDate" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">浣滃簾浜�:</view>
+                    <view class="righton">
+                        <input v-model="hform.HDeleteMan" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">浣滃簾鏃ユ湡:</view>
+                    <view class="righton">
+                        <input v-model="hform.HDeleteDate" />
+                    </view>
+                </view>
+            </view>
+
+        </template>
+        <!-- 鎿嶄綔鎸夐挳 -->
+        <view class="buttons" id="buttons">
+            <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+            <view style="flex: 1;"></view>
+            <button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+            <button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+        </view>
+    </view>
+</template>
+
+<script>
+    import dayjs from "dayjs";
+    import {
+        CommonUtils
+    } from "@/utils/common";
+    import {
+        MpaasScan
+    } from "@/utils/mpaasScan.js"
+    import {
+        getUserInfo
+    } from "../../../utils/auth";
+    import {
+        getEmpList
+    } from "@/utils/BasicInfo.js"
+    export default {
+        name: 'OA_WorkLinkBill',
+        data() {
+            return {
+                tabs: 0,
+                HMainSourceBillType: "",
+                btnTop: 0,
+                tabsBottom: 0,
+                HModName: "OA_WorkLinkBill",
+                HBillType: '4501',
+                operationType: 1,
+                refSav: 'Add', // 鎵ц鎻愪氦鐨勬搷浣滅被鍨嬶紝涓巓perationType绫讳技
+                enableEdit: true,
+                uploadOptions: {},
+
+                HEmpList: [],
+                HDeptList: [],
+                HShiftsList: [],
+                HCheckFileList: [],
+                attachmentInfo: [],
+
+                hform: {
+                    HBarCode: "",
+                    HBillNo: "",
+                    HInterID: "",
+                    HEntryID: "",
+                    HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+                    HContext: "",
+                    HSendMan: getUserInfo()["HEmpName"],
+                    HReceiveMan: "",
+                    HLevel: "鏅��",
+                    HSendType: "鍏叡",
+                    HCopyMan: "",
+                    HDescription: "",
+                    HRemark: "",
+                    HCommDate: "",
+                    HEvaluateStatusName: "",
+                    HEvaluateStatusID: "0",
+                    HRelationBillNo: "",
+                    HRelationInterID: "0",
+                    HRelationEntryID: "0",
+                    HRelationBillType: "",
+                    HDeptName: "",
+                    HDeptID: "0",
+                    HHasten: "0",
+                    HMaker: getUserInfo()['Czymc'],
+                    HMakeDate: dayjs(new Date()).format("YYYY-MM-DD"),
+                    HUpDater: "",
+                    HUpDateDate: "",
+                    HChecker: "",
+                    HCheckDate: "",
+                    HDeleteMan: "",
+                    HDeleteDate: "",
+                }
+            };
+        },
+        computed: {
+            containerHeight: {
+                get() {
+                    return this.btnTop - this.tabsBottom - 5
+                }
+            },
+            calcHLastResult: {
+                get() {
+                    if (this.HCheckFileList.length == 0) {
+                        return 'OK'
+                    } else {
+                        let okCount = this.HCheckFileList.reduce((acc, item) => {
+                            if (item.HMaintainResult) {
+                                return acc + 1
+                            }
+                            return acc
+                        }, 0)
+                        if (okCount == this.HCheckFileList.length) {
+                            return 'OK'
+                        }
+                        return 'NG'
+                    }
+                }
+            }
+
+        },
+        methods: {
+            // 鎶勯�佷汉淇敼
+            HCopyManChange(e) {
+                this.hform.HCopyMan = e.join(',')
+            },
+            ValidCheck() {
+                if (this.hform.HContext == "") {
+                    return {
+                        Message: "鏈綍鍏ヤ富棰橈紝璇峰厛褰曞叆涓婚!",
+                        state: false
+                    }
+                }
+                if (this.hform.HSendMan == "") {
+                    return {
+                        Message: "鏈綍鍏ヤ富棰橈紝璇峰厛褰曞叆涓婚!",
+                        state: false
+                    }
+                }
+                if (this.hform.HReceiveMan == "") {
+                    return {
+                        Message: "鏈�夋嫨鎺ユ敹浜猴紝璇峰厛閫夋嫨鎺ユ敹浜�!",
+                        state: false
+                    }
+                }
+                if (this.hform.HDeptID == 0) {
+                    return {
+                        Message: "鏈�夋嫨鍙戦�侀儴闂紝璇峰厛閫夋嫨鍙戦�侀儴闂�",
+                        state: false
+                    }
+                }
+
+                return {
+                    Message: "",
+                    state: true
+                }
+            },
+            addNew() {
+                uni.redirectTo({
+                    url: './OA_WorkLinkBill?operationType=1'
+                })
+            },
+            goBack() {
+                uni.navigateBack()
+            },
+            //鑾峰彇浣跨敤閮ㄩ棬鏁版嵁
+            async getHDeptList() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_Department/list',
+                        data: {
+                            sWhere: "",
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        }
+                    })
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data
+                    if (count == 1) {
+                        this.HDeptList = data
+                    } else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: Message
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: err
+                    })
+                }
+            },
+            async getMaxNum() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/Web/GetMAXNum",
+                        data: {
+                            "HBillType": this.HBillType
+                        }
+                    })
+
+                    let {
+                        count,
+                        data,
+                        Message
+                    } = res.data
+                    console.log('data: ', data);
+                    this.hform.HInterID = 0
+                    this.hform.HBillNo = data[0]["HBillNo"]
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: "鑾峰彇鍗曟嵁淇℃伅寮傚父: " + err
+                    })
+                }
+            },
+            async submit() {
+                let valid = this.ValidCheck()
+                if (!valid.state) {
+                    return CommonUtils.showTips({
+                        message: valid.Message
+                    })
+                }
+
+                try {
+                    let oMain = JSON.stringify(this.hform);
+                    let sMainSub = oMain + ';' + getUserInfo()['Czymc'] + ';' + this.refSav;
+                    let res = await CommonUtils.doRequest2Sync({
+                        url: "/Sc_MESTransFerWorkBill/SaveOA_WorkLinkBill",
+                        data: {
+                            "msg": sMainSub
+                        },
+                        method: "POST"
+                    })
+
+                    if (!res) {
+                        return
+                    }
+
+                    let {
+                        count,
+                        Message
+                    } = res.data
+                    if (count == 1) {
+                        uni.showModal({
+                            title: '鎻愮ず',
+                            content: res.data.Message + '銆傛槸鍚︾户缁柊澧烇紵(鐐瑰嚮鍙栨秷杩斿洖涓婄骇椤甸潰)',
+                            success: (res) => {
+                                if (res.confirm) {
+                                    console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+                                    uni.redirectTo({
+                                        url: './OA_WorkLinkBill?operationType=1'
+                                    })
+                                } else if (res.cancel) {
+                                    console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+                                    setTimeout(() => {
+                                        uni.navigateBack();
+                                    }, 50)
+                                }
+                            }
+                        });
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: "鎻愪氦鍗曟嵁澶辫触: " + Message
+                        })
+                    }
+
+
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: "鎻愪氦鍗曟嵁澶辫触: " + err
+                    })
+                }
+            }
+        },
+        async onLoad(e) {
+            console.log('e: ', e);
+            if (!e.operationType) {
+                this.operationType = 1
+            } else {
+                this.operationType = e.operationType
+            }
+
+            if (this.operationType == 1) {
+                // 鏂板
+                this.getMaxNum()
+            } else if (this.operationType == 2) {
+                // 澶嶅埗
+            } else if (this.operationType == 3) {
+                // 缂栬緫
+
+            } else if (this.operationType == 4) {
+                // 娴忚
+
+            }
+            
+            this.getHDeptList()
+            try {
+                this.HEmpList = await getEmpList()
+            } catch (err) {
+
+            }
+
+        },
+        onReady() {
+            const query = uni.createSelectorQuery().in(this)
+            query.select("#buttons")
+                .boundingClientRect()
+                .select("#tabs")
+                .boundingClientRect()
+                .exec(res => {
+                    this.btnTop = Math.floor(res[0].top)
+                    this.tabsBottom = Math.ceil(res[1].bottom)
+                })
+        }
+    }
+</script>
+
+<style lang="scss" scoped>
+    @import "@/pages/ZLGL/style/MJBillStyle.scss"
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillList.vue b/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillList.vue
new file mode 100644
index 0000000..b0356ab
--- /dev/null
+++ b/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillList.vue
@@ -0,0 +1,483 @@
+<template>
+    <view class="content">
+        <view class="form">
+            <view class="form-item">
+                <view class="title">寮�濮嬫椂闂�:</view>
+                <view class="right">
+                    <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HBeginDate">
+                        <input :value="hform.HBeginDate" />
+                    </uni-datetime-picker>
+                </view>
+            </view>
+            <view class="form-item">
+                <view class="title">缁撴潫鏃堕棿:</view>
+                <view class="right">
+                    <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HEndDate">
+                        <input :value="hform.HEndDate" />
+                    </uni-datetime-picker>
+                </view>
+            </view>
+            <view v-if="showmore">
+                <view class="form-item">
+                    <view class="title">鍗曟嵁鍙�:</view>
+                    <view class="right">
+                        <input v-model="hform.HBillNo" placeholder="璇疯緭鍏ュ崟鎹彿" />
+                    </view>
+                </view>
+
+            </view>
+            <view class="other">
+                <view v-if="!showmore" @tap="changeShowMore">
+                    灞曞紑鍏朵粬鏉′欢<uni-icons color="#1890FF" style="margin-left: 8rpx;" type="bottom"></uni-icons>
+                </view>
+                <view v-if="showmore" @tap="changeShowMore">
+                    鎶樺彔鍏朵粬鏉′欢<uni-icons color="#1890FF" style="margin-left: 8rpx;" type="top"></uni-icons>
+                </view>
+            </view>
+
+            <view class="buttons">
+                <button class="btn-a" size="mini" type="default" @tap="clear">閲嶇疆</button>
+                <button class="btn-b" size="mini" type="default" @tap="add">鏂板</button>
+                <button class="btn-c" size="mini" type="default" @tap="search">鏌ヨ</button>
+            </view>
+        </view>
+
+        <view id="divide" style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view>
+        <view :style="{
+            height: calcContentHeight + 'px',
+            overflowY: 'auto'
+        }">
+            <view class="list" v-for="(item,index) in showList" :key="index" v-if="tabs==0">
+                <uni-card :title="item.鍒跺崟鏃ユ湡.substr(0,10)" :extra="item.鍗曟嵁鍙�" style="margin: 10px;"
+                    @tap="showDetail = showDetail==index?-1:index">
+                    <view class="card-detail">
+                        <view class="detail" v-if="item.涓婚">
+                            <text>涓婚锛�</text>{{item.涓婚}}
+                        </view>
+                        <view class="detail" v-if="item.绱ф�ョ▼搴�">
+                            <text>绱ф�ョ▼搴︼細</text>{{item.绱ф�ョ▼搴}
+                        </view>
+                        <view class="detail" v-if="item.鍙戦�佺被鍨�">
+                            <text>鍙戦�佺被鍨嬶細</text>{{item.鍙戦�佺被鍨媫}
+                        </view>
+                        <view class="detail" v-if="item.鍒跺崟浜�">
+                            <text>鍒跺崟浜猴細</text>{{item.鍒跺崟浜簘}
+                        </view>
+                        <view class="detail" v-if="item.闃呰鐘舵��">
+                            <text>闃呰鐘舵�侊細</text>{{item.闃呰鐘舵�亇}
+                        </view>
+                        <view class="detail" v-if="item.鍙戦�侀儴闂�">
+                            <text>鍙戦�侀儴闂細</text>{{item.鍙戦�侀儴闂▆}
+                        </view>
+                        <view class="detail" v-if="item.鍙戦�佷汉">
+                            <text>鍙戦�佷汉锛�</text>{{item.鍙戦�佷汉}}
+                        </view>
+                        <view class="detail" v-if="item.鎺ユ敹浜�">
+                            <text>鎺ユ敹浜猴細</text>{{item.鎺ユ敹浜簘}
+                        </view>
+                        <view class="detail" v-if="item.鎶勯�佹帴鏀朵汉">
+                            <text>鎶勯�佹帴鏀朵汉锛�</text>{{item.鎶勯�佹帴鏀朵汉}}
+                        </view>
+                        <view class="detail" v-if="item.鎵�鏈夋妱閫佷汉">
+                            <text>鎵�鏈夋妱閫佷汉锛�</text>{{item.鎵�鏈夋妱閫佷汉}}
+                        </view>
+                        <view class="card-detail" v-if="showDetail == index">
+                            <view class="detail" v-if="item.鍐呭">
+                                <text>鍐呭锛�</text>{{item.鍐呭}}
+                            </view>
+                            <view class="detail" v-if="item.琛ㄥご澶囨敞">
+                                <text>琛ㄥご澶囨敞锛�</text>{{item.琛ㄥご澶囨敞}}
+                            </view>
+                            <view class="detail" v-if="item.寤鸿瀹屾垚鏃ユ湡">
+                                <text>寤鸿瀹屾垚鏃ユ湡锛�</text>{{dayjs(item.寤鸿瀹屾垚鏃ユ湡).format("YYYY-MM-DD HH:mm:DD")}}
+                            </view>
+                            <view class="detail" v-if="item.鍌績娆℃暟">
+                                <text>鍌績娆℃暟锛�</text>{{item.鍌績娆℃暟}}
+                            </view>
+                            <view class="detail" v-if="item.hmainid">
+                                <text>鍐呴儴鍗曟嵁鍙凤細</text>{{item.hmainid}}
+                            </view>
+                        </view>
+                    </view>
+
+                    <view class="more" v-if="showDetail == index && operations != index">
+                        <view class="part" style="border-right: 1px solid #eee;">
+                            <uni-icons type="top" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>鏀惰捣
+                        </view>
+                        <view class="part" @tap.stop="operations = operations==index?-1:index">
+                            <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;"
+                                size="14"></uni-icons>鎿嶄綔
+                        </view>
+                    </view>
+                    <view class="more" v-if="showDetail != index && operations != index">
+                        <view class="part" style="border-right: 1px solid #eee;">
+                            <uni-icons type="bottom" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>鏇村淇℃伅
+                        </view>
+                        <view class="part" @tap.stop="operations = operations==index?-1:index">
+                            <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;"
+                                size="14"></uni-icons>鎿嶄綔
+                        </view>
+                    </view>
+                    <view class="op" v-if="operations == index">
+                        <!-- <button class="op3" size="mini" plain @tap.stop="edit(item)">缂栬緫</button> -->
+                        <!-- <button class="op4" size="mini" plain @tap.stop="del(item)">鍒犻櫎</button> -->
+                        <button class="op5" size="mini" plain @tap.stop="operations = -1">鍙栨秷鎿嶄綔</button>
+                    </view>
+                </uni-card>
+            </view>
+        </view>
+        <view class="pagination-zone" id="pagination-zone">
+            <uni-pagination show-icon :page-size="size" :total="dataLength" :current="page"
+                @change="onPaginationChangeHandler"></uni-pagination>
+        </view>
+        <BarCodePopupVue ref="barcodePopup"></BarCodePopupVue>
+    </view>
+</template>
+
+<script>
+    import {
+        getUserInfo
+    } from "@/utils/auth.js";
+    import BarCodePopupVue from "@/components/BarCodePopup/BarCodePopup.vue";
+    import {
+        CommonUtils
+    } from "../../../utils/common";
+    import dayjs from "dayjs";
+    export default {
+        data() {
+            return {
+                dayjs,
+                userInfo: getUserInfo(),
+                serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
+                tabs: 0,
+                urls: '/Sc_MESTransFerWorkBill/GetOA_WorkLinkBillListPage',
+                MvarReportTitle: '璁惧缁翠慨娲惧伐鍗曠紦瀛�',
+                hform: {
+                    HBillNo: '',
+                    HSourceBillNo: '',
+                    HBillType: 3909,
+                    user: uni.getStorageSync('HUserName'),
+                    HStockOrgID: uni.getStorageSync('OrganizationID'),
+                    sWhere: "",
+                    HBeginDate: dayjs(new Date()).subtract(30, 'day').format("YYYY-MM-DD"),
+                    HEndDate: dayjs(new Date()).format("YYYY-MM-DD"),
+                },
+                sWhere: '',
+                listData: [],
+                showList: [],
+                showDetail: -1,
+                operations: -1,
+
+                page: 1,
+                size: 20,
+                dataLength: 0,
+                divideBottom: 0,
+                paginationTop: 0,
+                showmore: false,
+            }
+        },
+        computed: {
+            calcContentHeight: {
+                get() {
+                    return this.paginationTop - this.divideBottom
+                }
+            }
+        },
+        onShow() {
+            //鐢ㄦ埛妯″潡鏉冮檺鍒ゆ柇
+            this.CheckModRight()
+            this.changeTab(0)
+            console.log(this.userInfo, uni.getStorageSync('HUserName'))
+        },
+        components: {
+            BarCodePopupVue
+        },
+        onPullDownRefresh: function() {
+            this.clear()
+            setTimeout(() => {
+                uni.stopPullDownRefresh();
+            }, 1000);
+        },
+        onReady() {
+            this.getCalcHeight()
+        },
+        methods: {
+            changeShowMore() {
+                this.showmore = !this.showmore
+                this.$nextTick(() => {
+                    // 閲嶆柊璁$畻鍐呭瑙嗗彛楂樺害
+                    this.getCalcHeight()
+                })
+            },
+            getCalcHeight() {
+                let query = uni.createSelectorQuery().in(this)
+                query
+                    .select("#divide")
+                    .boundingClientRect()
+                    .select("#pagination-zone")
+                    .boundingClientRect()
+                    .exec(res => {
+                        this.divideBottom = Math.ceil(res[0].bottom)
+                        this.paginationTop = Math.floor(res[1].top)
+                    })
+            },
+            async qrCodeDisplay(item) {
+                this.$refs.barcodePopup.setCodeInfo(item.HBillNo)
+                await this.$nextTick()
+                this.$refs.barcodePopup.open()
+            },
+            CheckModRight() {
+                uni.request({
+                    url: this.serverUrl + '/WEBSController/CheckModRight_Json',
+                    data: {
+                        ModRightName: 'CE_OtherOut',
+                        HUserName: uni.getStorageSync('HUserName')
+                    },
+                    success: (res) => {
+                        if (res.data.count == 1) {} else {
+                            uni.showToast({
+                                title: res.data.Message,
+                                icon: 'none'
+                            })
+                        }
+                    },
+                    fail: (res) => {
+                        console.log(res);
+                        uni.showToast({
+                            title: '鎺ュ彛璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    },
+                });
+            },
+            onPaginationChangeHandler({
+                current
+            }) {
+                this.page = current
+                // this.showList = this.getPage(current, this.size, this.listData)
+                this.getList()
+            },
+            getPage(page, size, list) {
+                let sindex = (parseInt(page) - 1) * size
+                let eindex = parseInt(page) * size
+                let newList = list.slice(sindex, eindex)
+                return newList
+            },
+            changeTab(e) {
+                this.tabs = e
+                this.page = 1
+                this.showList = []
+
+                if (this.tabs == 0) {
+                    this.urls = '/Sc_MESTransFerWorkBill/GetOA_WorkLinkBillListPage'
+                }
+                // if (this.tabs == 1) {
+                // 	this.urls = '/WEBSController/GetKf_ICStockBillQueryList_User_Json'
+                // }
+                this.search()
+            },
+            async getList() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: this.urls,
+                        data: {
+                            sWhere: this.hform.sWhere,
+                            user: this.hform.user,
+                            page: this.page,
+                            size: this.size
+                        }
+                    })
+
+                    let {
+                        count,
+                        data,
+                        Message
+                    } = res.data
+
+                    if (count > 0) {
+                        if (data == null) {
+                            data = []
+                        }
+                        this.listData = data
+                        console.log('data: ', data);
+                        this.showList = data
+                        this.dataLength = count
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鑾峰彇璁惧鐐规璁板綍鍗曞け璐�: ${Message}`
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鑾峰彇璁惧鐐规璁板綍鍗曞け璐�: ${err}`
+                    })
+                }
+
+            },
+            search() {
+                this.hform.sWhere = ''
+                this.listData = []
+                this.page = 1
+                this.showList = []
+
+                console.log(this.hform)
+                if (this.hform.HBillNo) {
+                    this.hform.sWhere += " and 鍗曟嵁鍙� like '%" + this.hform.HBillNo + "%'";
+                }
+                if (this.hform.HBeginDate && this.hform.HEndDate) {
+                    this.hform.sWhere +=
+                        ` and convert(date,鏃ユ湡) between convert(date, '${this.hform.HBeginDate}') and convert(date, '${this.hform.HEndDate}')`;
+                }
+                this.getList()
+            },
+            clear() {
+                this.listData = []
+                this.page = 1
+                this.showList = []
+
+                this.sWhere = ''
+                this.hform = {
+                    HBillNo: '',
+                    HSourceBillNo: '',
+                    HBillType: 3909,
+                    user: uni.getStorageSync('HUserName'),
+                    HStockOrgID: uni.getStorageSync('OrganizationID'),
+                    sWhere: "",
+                    HBeginDate: dayjs(new Date()).subtract(30, 'day').format("YYYY-MM-DD"),
+                    HEndDate: dayjs(new Date()).format("YYYY-MM-DD"),
+                }
+                this.search()
+            },
+            add() {
+                uni.navigateTo({
+                    url: '/pages/ZLGL/OA_WorkLink/OA_WorkLinkBill?operationType=1'
+                })
+            },
+            //缂栬緫
+            edit(item) {
+                console.log(item)
+                uni.request({
+                    url: this.serverUrl + '/WEBSController/TempList_Modify_Json',
+                    data: {
+                        "HInterID": item.HInterID,
+                        "HBillNo": item.鍗曟嵁鍙�,
+                        "HBillType": this.hform.HBillType
+                    },
+                    success: (res) => {
+                        console.log(1, res);
+                        if (res.data.count == 1) {
+                            uni.navigateTo({
+                                url: './OtherOutBill?OperationType=2&HInterID=' + item.HInterID
+                            })
+                        } else {
+                            uni.showToast({
+                                title: res.data.Message,
+                                icon: 'none'
+                            })
+                        }
+
+                    },
+                    fail: (res) => {
+                        console.log(res);
+                        uni.hideLoading()
+                        uni.showToast({
+                            title: '鎺ュ彛璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    },
+                })
+            },
+            //鍒犻櫎
+            del(item) {
+                // console.log(item.hmainid,uni.getStorageSync('HUserName'))
+                uni.showModal({
+                    title: '鎻愮ず',
+                    content: '纭瑕佸垹闄よ褰曪紵鍒犻櫎鍚庝笉鑳芥仮澶�',
+                    success: (res) => {
+                        if (res.confirm) {
+                            console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+                            uni.request({
+                                url: this.serverUrl +
+                                    '/Sb_EquipRepairSendWorkBill/DeleteWorkBill',
+                                data: {
+                                    HInterID: item.hmainid,
+                                    user: uni.getStorageSync('HUserName'),
+                                },
+                                success: (res) => {
+                                    console.log(1, res);
+                                    if (res.data.count == 1) {
+                                        this.clear()
+                                    }
+                                    uni.showToast({
+                                        title: res.data.Message,
+                                        icon: 'none'
+                                    })
+                                },
+                                fail: (res) => {
+                                    console.log(res);
+                                    uni.hideLoading()
+                                    uni.showToast({
+                                        title: '鎺ュ彛璇锋眰澶辫触',
+                                        icon: 'none'
+                                    })
+                                },
+                            });
+                        } else if (res.cancel) {
+                            console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+                        }
+                    }
+                });
+            },
+            //鎾ら攢
+            revoke(item) {
+                // console.log(item.hmainid,uni.getStorageSync('HUserName'))
+                uni.showModal({
+                    title: '鎻愮ず',
+                    content: '鏄惁纭鎾ら攢',
+                    success: (res) => {
+                        if (res.confirm) {
+                            console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+                            uni.request({
+                                url: this.serverUrl +
+                                    '/WEBSController/set_DeleteICStockBillAndWMS_Json',
+                                data: {
+                                    HInterID: item.HInterID,
+                                    HBillNo: item.鍗曟嵁鍙�,
+                                    HBillType: this.hform.HBillType,
+                                    HMaker: uni.getStorageSync('HUserName'),
+                                    MvarReportTitle: this.MvarReportTitle,
+                                },
+                                success: (res) => {
+                                    console.log(1, res);
+                                    if (res.data.count == 1) {
+                                        this.clear()
+                                    }
+                                    uni.showToast({
+                                        title: res.data.Message,
+                                        icon: 'none'
+                                    })
+                                },
+                                fail: (res) => {
+                                    console.log(res);
+                                    uni.hideLoading()
+                                    uni.showToast({
+                                        title: '鎺ュ彛璇锋眰澶辫触',
+                                        icon: 'none'
+                                    })
+                                },
+                            });
+                        } else if (res.cancel) {
+                            console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+                        }
+                    }
+                });
+            },
+        }
+    }
+</script>
+
+<style lang="scss" scoped>
+    @import "@/pages/ZLGL/style/MJListStyle.scss"
+</style>
\ No newline at end of file
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/ZLGL/style/MJBillStyle.scss b/pages/ZLGL/style/MJBillStyle.scss
new file mode 100644
index 0000000..21ebdbb
--- /dev/null
+++ b/pages/ZLGL/style/MJBillStyle.scss
@@ -0,0 +1,310 @@
+.buttons {
+    box-sizing: border-box;
+    width: 100%;
+    height: 120rpx;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+    background-color: #fff;
+    box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+    padding: 30rpx 40rpx 40rpx 40rpx;
+    display: flex;
+    flex-direction: row;
+    gap: 10rpx;
+    button {
+        border-radius: 50rpx;
+        width: 180rpx;
+        height: 66rpx;
+        line-height: 66rpx;
+        font-size: 28rpx;
+    }
+    .btn-a {
+        background-color: #3a78ff;
+        color: #fff;
+    }
+    .btn-b {
+        background-color: #41a863;
+        color: #fff;
+    }
+    .btn-c {
+        background-color: #acacac;
+        color: #fff;
+        // position: absolute;
+        // right: 120rpx;
+    }
+    .btn-d {
+        background-color: #ff8901;
+        color: #fff;
+    }
+    .placeholder-view {
+        flex: 1;
+    }
+}
+
+.tabs {
+    width: 100%;
+    display: flex;
+    border-bottom: 1px solid #ddd;
+
+    view {
+        width: 25%;
+        font-size: 30rpx;
+        color: #555;
+        text-align: center;
+        padding: 16rpx 0;
+    }
+
+    .on {
+        color: #3a78ff;
+        font-weight: bold;
+        border-bottom: 3px solid #3a78ff;
+    }
+}
+
+.form {
+    display: flex;
+    flex-direction: column;
+    gap: 10rpx;
+    box-sizing: border-box;
+    padding: 20rpx 40rpx;
+}
+
+.form-item {
+    display: flex;
+    align-items: center;
+    font-size: 30rpx;
+    padding: 6rpx 0;
+    gap: 12rpx;
+
+    .title {
+        width: 208rpx;
+        flex-shrink: 0;
+
+        text {
+            color: red;
+            font-weight: bold;
+        }
+    }
+    
+    .required::after{
+          content: "*";
+          color: red;
+          margin-left: 4px; 
+          font-weight: bold;
+    }
+    
+    .right {
+        // width: 450rpx;
+        flex: 1;
+        border-radius: 22rpx;
+        border: 1px solid #acacac;
+        position: relative;
+        display: flex;
+
+        picker {
+            width: 100%;
+        }
+
+        .uni-combox {
+            width: 100%
+        }
+    }
+
+    .righton {
+        width: 450rpx;
+        border-radius: 22rpx;
+        border: 1px solid #e4e4e4;
+        background-color: #e4e4e4;
+    }
+
+    input {
+        width: 100%;
+        padding: 8rpx 20rpx;
+        font-size: 30rpx;
+    }
+
+    textarea {
+        width: 98%;
+        height: 6em;
+        padding: 8rpx 20rpx;
+        font-size: 30rpx;
+    }
+
+    .icon-wrapper {
+        background-color: #3A78FF;
+        width: 52rpx;
+        height: 52rpx;
+        border-radius: 100%;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        flex-shrink: 0;
+
+        .uni-icons {
+            color: #fff !important;
+        }
+    }
+
+    .icon-wrapper[disabled] {
+        background-color: rgba(228, 228, 228, 1);
+        pointer-events: none;
+        touch-action: none;
+    }
+
+}
+
+.none-border {
+    border: none !important;
+}
+
+.radio_Container {
+    display: flex;
+    flex-direction: row;
+    gap: 30rpx;
+}
+
+ .list {
+        width: 100%;
+
+        .card-detail {
+            width: 100%;
+            display: flex;
+            flex-wrap: wrap;
+            justify-content: space-between;
+            line-height: 120%;
+
+            .detail {
+                // width: 50%;
+                font-size: 26rpx;
+                margin-bottom: 12rpx;
+                color: #555;
+                margin-right: 20rpx;
+
+                text {
+                    color: #999;
+                    font-size: 26rpx;
+                }
+            }
+        }
+
+        .more {
+            color: #888;
+            font-size: 24rpx;
+            display: flex;
+            border-top: 1px solid #eee;
+            padding-top: 20rpx;
+
+            .part {
+                width: 50%;
+                text-align: center;
+            }
+        }
+    }
+    
+.card-item-wrapper {
+        display: flex;
+        flex-direction: column;
+        justify-content: center;
+        box-sizing: border-box;
+        padding: 20rpx 20rpx;
+
+        .card-detail {
+            width: 100%;
+            display: flex;
+            flex-wrap: wrap;
+            justify-content: space-between;
+            line-height: 120%;
+
+            .detail {
+                // width: 50%;
+                font-size: 26rpx;
+                margin-bottom: 12rpx;
+                color: #555;
+                margin-right: 20rpx;
+
+                text {
+                    color: #999;
+                    font-size: 26rpx;
+                }
+            }
+
+            .operation {
+                display: flex;
+                align-items: center;
+                gap: 10rpx;
+
+                .btn-a {
+                    background-color: #3A78FF;
+                    color: #fff;
+                }
+
+                .btn-b {
+                    background-color: rgb(255, 87, 34);
+                    color: #fff;
+                }
+
+                uni-button {}
+            }
+
+        }
+
+        .more {
+            color: #888;
+            font-size: 24rpx;
+            display: flex;
+            border-top: 1px solid #eee;
+            padding-top: 20rpx;
+
+            .part {
+                width: 50%;
+                text-align: center;
+            }
+        }
+    }
+
+    .attachment-btns {
+        display: flex;
+        flex-direction: row;
+        justify-content: flex-start;
+        gap: 6rpx;
+
+    }
+    
+    .card-buttons {
+        padding: 8rpx;
+        display: flex;
+        flex-direction: row;
+        gap: 20rpx;
+        justify-content: center;
+        align-items: flex-start;
+        
+        button {
+            border-radius: 10rpx;
+            width: 180rpx;
+            height: 66rpx;
+            line-height: 66rpx;
+            font-size: 28rpx;
+        }
+        .btn-a {
+            background-color: #3a78ff;
+            color: #fff;
+        }
+        .btn-b {
+            background-color: #41a863;
+            color: #fff;
+        }
+        .btn-c {
+            background-color: #acacac;
+            color: #fff;
+            // position: absolute;
+            // right: 120rpx;
+        }
+        .btn-d {
+            background-color: #ff8901;
+            color: #fff;
+        }
+        
+        .placeholder {
+            flex: 1
+        }
+    }
\ No newline at end of file
diff --git a/pages/ZLGL/style/MJListStyle.scss b/pages/ZLGL/style/MJListStyle.scss
new file mode 100644
index 0000000..f27e690
--- /dev/null
+++ b/pages/ZLGL/style/MJListStyle.scss
@@ -0,0 +1,193 @@
+	.form {
+		padding: 20rpx;
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+	}
+    
+    .other {
+    	margin-top: 8rpx;
+    	text-align: center;
+    	font-size: 28rpx;
+    	padding: 4rpx 18rpx;
+    	color: #1890FF;
+    }
+
+	.tabs {
+		width: 100%;
+		position: fixed;
+		left: 0;
+		z-index: 9;
+		display: flex;
+		background-color: #e5e5e5;
+
+		view {
+			width: 50%;
+			font-size: 30rpx;
+			color: #333;
+			text-align: center;
+			padding: 16rpx 0;
+		}
+
+		.on {
+			color: #3a78ff;
+			font-weight: bold;
+			border-bottom: 3px solid #3a78ff;
+		}
+	}
+
+	.buttons {
+		width: 100%;
+		display: flex;
+		justify-content: center;
+		margin-top: 20rpx;
+
+		button {
+			border-radius: 50rpx;
+			width: 180rpx;
+			height: 66rpx;
+			line-height: 66rpx;
+			font-size: 28rpx;
+		}
+
+		.btn-a {
+			background-color: #acacac;
+			color: #fff;
+		}
+
+		.btn-b {
+			background-color: #41a863;
+			color: #fff;
+		}
+
+		.btn-c {
+			background-color: #3a78ff;
+			color: #fff;
+		}
+	}
+
+	.form-item {
+		display: flex;
+		align-items: center;
+		font-size: 28rpx;
+		padding: 6rpx 0;
+
+		.title {
+			width: 180rpx;
+
+			text {
+				color: red;
+				font-weight: bold;
+			}
+		}
+
+		.right {
+			width: 450rpx;
+			border-radius: 22rpx;
+			border: 1px solid #acacac;
+		}
+
+		.righton {
+			width: 450rpx;
+			border-radius: 22rpx;
+			border: 1px solid #e4e4e4;
+			background-color: #e4e4e4;
+		}
+
+		input {
+			width: 100%;
+			padding: 8rpx 20rpx;
+			font-size: 30rpx;
+		}
+	}
+
+	.list {
+		width: 100%;
+
+		.card-detail {
+			width: 100%;
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+			line-height: 120%;
+
+			.detail {
+				// width: 50%;
+				font-size: 26rpx;
+				color: #555;
+                padding-bottom: 20rpx;
+
+				text {
+					color: #999;
+					font-size: 26rpx;
+				}
+			}
+		}
+
+		.more {
+			color: #888;
+			font-size: 26rpx;
+			display: flex;
+			border-top: 1px solid #eee;
+			padding-top: 20rpx;
+
+			.part {
+				width: 50%;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+			}
+		}
+        
+        .op {
+            display: flex;
+            justify-content: space-around;
+            margin-top: 20rpx;
+        
+            button {
+                padding: 0;
+                width: 150rpx;
+                font-size: 25rpx;
+            }
+        
+            .op1 {
+                border: 1px solid #41a863;
+                color: #41a863;
+            }
+        
+            .op2 {
+                border: 1px solid #d98d00;
+                color: #d98d00;
+            }
+        
+            .op3 {
+                border: 1px solid #3a78ff;
+                color: #3a78ff;
+            }
+        
+            .op4 {
+                border: 1px solid #da0000;
+                color: #da0000;
+            }
+        
+            .op5 {
+                border: 1px solid #888;
+                color: #888;
+            }
+        }
+	}
+    
+    .pagination-zone {
+        position: fixed;
+        bottom: 0;
+        box-sizing: border-box;
+        background-color: #fff;
+        box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+        padding: 20rpx 40rpx 20rpx 40rpx;
+        display: flex;
+        flex-direction: column;
+        gap: 20rpx;
+        justify-content: space-between;
+        width: 100%;
+    }
\ No newline at end of file
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 2a77fea..e23efbb 100644
--- a/pages/index/login.vue
+++ b/pages/index/login.vue
@@ -81,7 +81,8 @@
     import {
         CommonUtils
     } from "../../utils/common";
-import { getLanguagePackJson } from "../../utils/i18n";
+    import { getLanguagePackJson } from "../../utils/i18n";
+    import WebSocketServices from "@/utils/WebSocketServices";
     export default {
         components: {
             hFormAlert
@@ -91,6 +92,7 @@
         },
         data() {
             return {
+                WebSocketServices,
                 CommonUtils,
                 arrayDataBases: [],
                 DataBases: '',
@@ -105,7 +107,7 @@
                     "鏉窞鍑礉濂堢壒澶栫綉": '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/',
+                    "闄堥晲鍝叉湰鍦版祴璇�2": 'http://192.168.255.35:81/API/',
                     "寮犵憺骞挎湰鍦版祴璇�": 'http://localhost:8082/API/',
                     "浣欐�濇澃鏈湴娴嬭瘯": 'http://localhost:8082/LuBaoAPI/',
                     // 灏忓崼鍐呭缃�
@@ -116,9 +118,10 @@
                     "瀹佹尝鍥涚淮灏�-澶栫綉": "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/",
+					"瀹佹尝鍗庤垷鍖呰-澶栫綉": "http://61.164.64.222:8082/API/",
                 },
                 serverUrlName:uni.getStorageSync('serverUrlName') || '娴欐睙鏅轰簯杩堟��',
 
@@ -332,6 +335,8 @@
 								uni.setStorageSync('HSecManagerID', res.data.data[0].HSecManagerID); //瀵瑰簲楠屾敹
 								uni.setStorageSync('HSecManagerName', res.data.data[0].HSecManagerName);
                                 this.CommonUtils.setServerUrl(this.serverUrl)
+                                // console.log('this.WebSocsketServices: ',this.WebSocsketServices);
+                                // this.WebSocketServices.createConnect(res.data.data[0].Czybm,res.data.data[0].Czymc);
                                 uni.reLaunch({
                                     url: '/pages/index/index'
                                 })
diff --git a/pages/index/tab3.vue b/pages/index/tab3.vue
index f864579..46e036b 100644
--- a/pages/index/tab3.vue
+++ b/pages/index/tab3.vue
@@ -1,351 +1,378 @@
 <template>
-	<view class="content">
-		<view class="header">
-			<view class="switch-button">
-				<uni-icons type="loop" @click="switchIconsModeHandler"></uni-icons>
-			</view>
-		</view>
-		<view class="mains">
-			<view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData"
-				:key="index" @tap="toUrl(item)">
-				<image :src="item.img" mode=""></image>
-				<view class="texts">
-					{{item.text}}
-				</view>
-			</view>
-			<view :enable-hidden="item.hidden" :hidden="!item.id" v-if="canEdit" class="box edit"
-				v-for="(item,index) in itemData" :key="index" @tap="switchHidden(index)">
-				<uni-icons class="edit-mark" color="red" type="closeempty"></uni-icons>
-				<image :src="item.img" mode=""></image>
-				<view class="texts">
-					{{item.text}}
-				</view>
-			</view>
-		</view>
-	</view>
+    <view class="content">
+        <view class="header">
+            <view class="switch-button">
+                <uni-icons type="loop" @click="switchIconsModeHandler"></uni-icons>
+            </view>
+        </view>
+        <view class="mains">
+            <view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData"
+                :key="index" @tap="toUrl(item)">
+                <image :src="item.img" mode=""></image>
+                <view class="texts">
+                    {{item.text}}
+                </view>
+            </view>
+            <view :enable-hidden="item.hidden" :hidden="!item.id" v-if="canEdit" class="box edit"
+                v-for="(item,index) in itemData" :key="index" @tap="switchHidden(index)">
+                <uni-icons class="edit-mark" color="red" type="closeempty"></uni-icons>
+                <image :src="item.img" mode=""></image>
+                <view class="texts">
+                    {{item.text}}
+                </view>
+            </view>
+        </view>
+    </view>
 </template>
 
 <script>
-	import {
-		CommonUtils
-	} from '../../utils/common'
-	import {
-		getMenuList,
-		setMenuList
-	} from '../../utils/menuListApp'
-	import {
-		getUserInfo
-	} from '../../utils/auth'
-	export default {
-		data() {
-			return {
-				updateCount: 0,
-				menuListName: 'tab3',
-				canEdit: false,
-				serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
-				itemData: [{
-						img: '../../static/icon/icon6.png',
-						text: '妯″叿鐘舵�佸垎鏋�',
-						tip: '鏌ョ湅璇︽儏',
-						url: '/pages/mujvzhuangtai/mujvzhuangtai',
-						id: 1,
-						hidden: false,
+    import {
+        CommonUtils
+    } from '../../utils/common'
+    import {
+        getMenuList,
+        setMenuList
+    } from '../../utils/menuListApp'
+    import {
+        getUserInfo
+    } from '../../utils/auth'
+    export default {
+        data() {
+            return {
+                updateCount: 0,
+                menuListName: 'tab3',
+                canEdit: false,
+                serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
+                itemData: [{
+                        img: '../../static/icon/icon6.png',
+                        text: '妯″叿鐘舵�佸垎鏋�',
+                        tip: '鏌ョ湅璇︽儏',
+                        url: '/pages/mujvzhuangtai/mujvzhuangtai',
+                        id: 1,
+                        hidden: false,
 
-					},
-					{
-						img: '../../static/icon/icon8.png',
-						text: '妯″叿妗f鏌ヨ',
-						url: `/pages/MJGL/Gy_MouldFile/Gy_MouldFileList`,
-						id: 2,
-						hidden: false,
-					},
-					{
-						img: '../../static/icon/icon16.png',
-						text: '妯″叿瀵垮懡',
-						url: '/pages/shoujishouming/table',
-						id: 3,
-						hidden: false,
-					},
-					{
-						"img": "../../static/icon/icon13.png",
-						"text": "妯″叿鏁呴殰鐧昏鍗�",
-						"url": "/pages/qijvguzhangdengji/mouldMistakeBill?operationType=1",
-						"id": 4,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "妯″叿缁翠慨娲惧伐鍗�",
-						"url": "/pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill",
-						"id": 5,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon13.png",
-						"text": "妯″叿缁翠慨璁板綍鍗�",
-						"url": "/pages/weixiujilu/mouldRepairRecordBill",
-						"id": 6,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "妯″叿缁翠慨楠屾敹鍗�",
-						"url": "/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill",
-						"id": 7,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "妯″叿鐐规璁板綍鍗�",
-						"url": "/pages/MJGL/mujudianjianjiludan/Sc_MouldDotCheckBill",
-						"id": 8,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "妯″叿淇濆吇璁板綍鍗�",
-						"url": "/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainBill",
-						"id": 9,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "妯″叿棰嗙敤鍑哄簱鍗�",
-						"url": "/pages/MJGL/mujulingliaochukudan/MouldProdOutBill",
-						"id": 10,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "妯″叿棰嗙敤閫�搴撳崟",
-						"url": "/pages/MJGL/mujulingliaotuikudan/Sc_MouldProdBackBill",
-						"id": 11,
-						"hidden": false
-					},
-					{
-						img: '../../static/icon/icon8.png',
-						text: '涓婃ā鍗�',
-						url: `/pages/MJGL/shangmudan/MouldUpperBill`,
-						id: 12,
-						hidden: false,
-					},
-					{
-						img: '../../static/icon/icon8.png',
-						text: '涓嬫ā鍗�',
-						url: `/pages/MJGL/xiamodan/MouldLowerBill`,
-						id: 13,
-						hidden: false,
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "妯″叿鎶ュ簾鍑哄簱鍗�",
-						"url": "/pages/MJGL/MouldScrapOutBill/MouldScrapOutBill",
-						"id": 14,
-						"hidden": false
-					},
-					{
-						img: '../../static/icon/icon1.png',
-						text: '璁惧妗f鏌ヨ',
-						tip: '鏌ョ湅璇︽儏',
-						url: '/pages/shebeidangan/Gy_EquipFileMainBillList',
-						id: 15,
-						hidden: true,
-					},
-					{
-						img: '../../static/icon/icon8.png',
-						text: '璁惧灞ュ巻鏌ヨ',
-						tip: '鏌ョ湅璇︽儏',
-						url: '/pages/shebeilvli/EquipFileBillResume',
-						id: 16,
-						hidden: true,
-					},
-					{
-						img: '../../static/icon/icon32.png',
-						text: '璁惧杩愯鐘舵��',
-						tip: '鏌ョ湅璇︽儏',
-						url: '/pages/shebeiyunxingzhuangtai/shebeiyunxingzhuangtai',
-						id: 17,
-						hidden: true,
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "璁惧鐐规璁板綍鍗�",
-						"url": "/pages/MJGL/Sb_EquipDotCheckBill/Sb_EquipDotCheckBill",
-						"id": 18,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "璁惧淇濆吇璁板綍鍗�",
-						"url": "/pages/MJGL/Sb_EquipMaintainBill/Sb_EquipMaintainBill",
-						"id": 19,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "璁惧缁翠慨娲惧伐鍗�",
-						"url": "/pages/MJGL/Sb_EquipRepairSendWork/Sb_EquipRepairSendWorkBill",
-						"id": 21,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "璁惧缁翠慨楠屾敹鍗�",
-						"url": "/pages/MJGL/Sb_EquipRepairCheckBill/Sb_EquipRepairCheckBill",
-						"id": 23,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "璁惧淇濆吇浠诲姟",
-						"url": "/pages/MJGL/SBMJReport/Sb_EquipMaintainTaskReport",
-						"id": 24,
-						"hidden": false
-					},
-					{
-						"img": "../../static/icon/icon8.png",
-						"text": "妯″叿淇濆吇浠诲姟",
-						"url": "/pages/MJGL/SBMJReport/Sc_MouldMaintainTaskReport",
-						"id": 25,
-						"hidden": false
-					},
-				]
-			}
-		},
-		onLoad() {
-			this.getHiddenItem()
-		},
-		methods: {
-			judgeHidden() {
-				return process.env.NODE_ENV === 'development'
-			},
-			async getHiddenItem() {
-				let data = await getMenuList({
-					menuName: this.menuListName
-				})
-				Array.from(data).forEach(e => {
-					this.itemData[e["HIndex"]].hidden = !CommonUtils.stringToBoolean(e["HShowMode"])
-					this.itemData[e["HIndex"]].id = e["HEntryID"]; //id涓�0寮哄埗闅愯棌
-				})
-			},
-			switchHidden(index) {
-				this.updateCount++;
-				this.itemData[index].hidden = !this.itemData[index].hidden
+                    },
+                    {
+                        img: '../../static/icon/icon8.png',
+                        text: '妯″叿妗f鏌ヨ',
+                        url: `/pages/MJGL/Gy_MouldFile/Gy_MouldFileList`,
+                        id: 2,
+                        hidden: false,
+                    },
+                    {
+                        img: '../../static/icon/icon16.png',
+                        text: '妯″叿瀵垮懡',
+                        url: '/pages/shoujishouming/table',
+                        id: 3,
+                        hidden: false,
+                    },
+                    {
+                        "img": "../../static/icon/icon13.png",
+                        "text": "妯″叿鏁呴殰鐧昏鍗�",
+                        "url": "/pages/qijvguzhangdengji/mouldMistakeBill?operationType=1",
+                        "id": 4,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "妯″叿缁翠慨娲惧伐鍗�",
+                        "url": "/pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill",
+                        "id": 5,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon13.png",
+                        "text": "妯″叿缁翠慨璁板綍鍗�",
+                        "url": "/pages/weixiujilu/mouldRepairRecordBill",
+                        "id": 6,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "妯″叿缁翠慨楠屾敹鍗�",
+                        "url": "/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill",
+                        "id": 7,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "妯″叿鐐规璁板綍鍗�",
+                        "url": "/pages/MJGL/mujudianjianjiludan/Sc_MouldDotCheckBill",
+                        "id": 8,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "妯″叿淇濆吇璁板綍鍗�",
+                        "url": "/pages/MJGL/mujubaoyangjiludan/Sc_MouldMaintainBill",
+                        "id": 9,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "妯″叿棰嗙敤鍑哄簱鍗�",
+                        "url": "/pages/MJGL/mujulingliaochukudan/MouldProdOutBill",
+                        "id": 10,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "妯″叿棰嗙敤閫�搴撳崟",
+                        "url": "/pages/MJGL/mujulingliaotuikudan/Sc_MouldProdBackBill",
+                        "id": 11,
+                        "hidden": false
+                    },
+                    {
+                        img: '../../static/icon/icon8.png',
+                        text: '涓婃ā鍗�',
+                        url: `/pages/MJGL/shangmudan/MouldUpperBill`,
+                        id: 12,
+                        hidden: false,
+                    },
+                    {
+                        img: '../../static/icon/icon8.png',
+                        text: '涓嬫ā鍗�',
+                        url: `/pages/MJGL/xiamodan/MouldLowerBill`,
+                        id: 13,
+                        hidden: false,
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "妯″叿鎶ュ簾鍑哄簱鍗�",
+                        "url": "/pages/MJGL/MouldScrapOutBill/MouldScrapOutBill",
+                        "id": 14,
+                        "hidden": false
+                    },
+                    {
+                        img: '../../static/icon/icon1.png',
+                        text: '璁惧妗f鏌ヨ',
+                        tip: '鏌ョ湅璇︽儏',
+                        url: '/pages/shebeidangan/Gy_EquipFileMainBillList',
+                        id: 15,
+                        hidden: true,
+                    },
+                    {
+                        img: '../../static/icon/icon8.png',
+                        text: '璁惧灞ュ巻鏌ヨ',
+                        tip: '鏌ョ湅璇︽儏',
+                        url: '/pages/shebeilvli/EquipFileBillResume',
+                        id: 16,
+                        hidden: true,
+                    },
+                    {
+                        img: '../../static/icon/icon32.png',
+                        text: '璁惧杩愯鐘舵��',
+                        tip: '鏌ョ湅璇︽儏',
+                        url: '/pages/shebeiyunxingzhuangtai/shebeiyunxingzhuangtai',
+                        id: 17,
+                        hidden: true,
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "璁惧鐐规璁板綍鍗�",
+                        "url": "/pages/MJGL/Sb_EquipDotCheckBill/Sb_EquipDotCheckBill",
+                        "id": 18,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "璁惧淇濆吇璁板綍鍗�",
+                        "url": "/pages/MJGL/Sb_EquipMaintainBill/Sb_EquipMaintainBill",
+                        "id": 19,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "璁惧缁翠慨娲惧伐鍗�",
+                        "url": "/pages/MJGL/Sb_EquipRepairSendWork/Sb_EquipRepairSendWorkBill",
+                        "id": 21,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "璁惧缁翠慨楠屾敹鍗�",
+                        "url": "/pages/MJGL/Sb_EquipRepairCheckBill/Sb_EquipRepairCheckBill",
+                        "id": 23,
+                        "hidden": false
+                    }, {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "鍣ㄥ叿缁翠慨娲惧伐鍗�",
+                        "url": "/pages/MJGL/Sc_MouldRepairSendWork/Sc_MouldRepairSendWorkBill",
+                        "id": 29,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "鍣ㄥ叿缁翠慨楠屾敹鍗�",
+                        "url": "/pages/MJGL/SC_MouldRepairCheck/Sc_MouldRepairCheckBill",
+                        "id": 30,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "璁惧淇濆吇浠诲姟",
+                        "url": "/pages/MJGL/SBMJReport/Sb_EquipMaintainTaskReport",
+                        "id": 24,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "妯″叿淇濆吇浠诲姟",
+                        "url": "/pages/MJGL/SBMJReport/Sc_MouldMaintainTaskReport",
+                        "id": 25,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "璁惧缁翠慨浠诲姟",
+                        "url": "/pages/MJGL/Sb_EquipRepairTaskReport/Sb_EquipRepairTaskReport",
+                        "id": 26,
+                        "hidden": false
+                    },
+                    {
+                        "img": "../../static/icon/icon8.png",
+                        "text": "鍣ㄥ叿缁翠慨浠诲姟",
+                        "url": "/pages/MJGL/Sc_MouldRepairTaskReport/Sc_MouldRepairTaskReport",
+                        "id": 27,
+                        "hidden": false
+                    },
+                ]
+            }
+        },
+        onLoad() {
+            this.getHiddenItem()
+        },
+        methods: {
+            judgeHidden() {
+                return process.env.NODE_ENV === 'development'
+            },
+            async getHiddenItem() {
+                let data = await getMenuList({
+                    menuName: this.menuListName
+                })
+                Array.from(data).forEach(e => {
+                    this.itemData[e["HIndex"]].hidden = !CommonUtils.stringToBoolean(e["HShowMode"])
+                    this.itemData[e["HIndex"]].id = e["HEntryID"]; //id涓�0寮哄埗闅愯棌
+                })
+            },
+            switchHidden(index) {
+                this.updateCount++;
+                this.itemData[index].hidden = !this.itemData[index].hidden
 
-			},
-			switchIconsModeHandler() {
-				this.canEdit = !this.canEdit
-				if (this.canEdit == false && this.updateCount > 0) {
-					this.$nextTick(() => {
-						// uni.setStorageSync("HIndexItemData", this.itemData)
-						setMenuList({
-							menuName: this.menuListName,
-							payload: this.itemData
-						})
+            },
+            switchIconsModeHandler() {
+                this.canEdit = !this.canEdit
+                if (this.canEdit == false && this.updateCount > 0) {
+                    this.$nextTick(() => {
+                        // uni.setStorageSync("HIndexItemData", this.itemData)
+                        setMenuList({
+                            menuName: this.menuListName,
+                            payload: this.itemData
+                        })
 
-						this.updateCount = 0
-					})
-				}
-				this.$forceUpdate()
-			},
-			toUrl(item) {
-				if (item.url) {
-					uni.navigateTo({
-						url: item.url
-					})
-				} else {
-					uni.showToast({
-						title: '鍔熻兘寮�鍙戜腑銆傘�傘��',
-						icon: 'none'
-					})
-				}
-			}
-		}
-	}
+                        this.updateCount = 0
+                    })
+                }
+                this.$forceUpdate()
+            },
+            toUrl(item) {
+                if (item.url) {
+                    uni.navigateTo({
+                        url: item.url
+                    })
+                } else {
+                    uni.showToast({
+                        title: '鍔熻兘寮�鍙戜腑銆傘�傘��',
+                        icon: 'none'
+                    })
+                }
+            }
+        }
+    }
 </script>
 
 <style lang="scss" scoped>
-	// .mains{
-	// 	width: 720rpx;
-	// 	margin: 0 auto;
-	// 	display: flex;
-	// 	flex-wrap: wrap;
-	// 	margin-top: 10rpx;
-	// 	padding-bottom: 80rpx;
-	// 	.box{
-	// 		width: 100%;
-	// 		margin: 26rpx 26rpx 0 26rpx;
-	// 		padding: 0 0 16rpx 10rpx;
-	// 		display: flex;
-	// 		align-items: center;
-	// 		border-bottom: 1px solid #f0f0f0;
-	// 		image{
-	// 			width: 52rpx;
-	// 			height: 52rpx;
-	// 		}
-	// 		.texts{
-	// 			font-size: 30rpx;
-	// 			color: #333333;
-	// 			margin-left: 30rpx;
-	// 		}
-	// 	}
-	// }
+    // .mains{
+    // 	width: 720rpx;
+    // 	margin: 0 auto;
+    // 	display: flex;
+    // 	flex-wrap: wrap;
+    // 	margin-top: 10rpx;
+    // 	padding-bottom: 80rpx;
+    // 	.box{
+    // 		width: 100%;
+    // 		margin: 26rpx 26rpx 0 26rpx;
+    // 		padding: 0 0 16rpx 10rpx;
+    // 		display: flex;
+    // 		align-items: center;
+    // 		border-bottom: 1px solid #f0f0f0;
+    // 		image{
+    // 			width: 52rpx;
+    // 			height: 52rpx;
+    // 		}
+    // 		.texts{
+    // 			font-size: 30rpx;
+    // 			color: #333333;
+    // 			margin-left: 30rpx;
+    // 		}
+    // 	}
+    // }
 
-	.header {
-		width: 100%;
-		height: 2em;
-		position: relative;
+    .header {
+        width: 100%;
+        height: 2em;
+        position: relative;
 
-		.switch-button {
-			position: absolute;
-			right: 10rpx;
-			bottom: 0;
-		}
-	}
+        .switch-button {
+            position: absolute;
+            right: 10rpx;
+            bottom: 0;
+        }
+    }
 
-	.mains {
-		width: 720rpx;
-		margin: 0 auto;
-		display: flex;
-		flex-wrap: wrap;
-		padding-bottom: 80rpx;
+    .mains {
+        width: 720rpx;
+        margin: 0 auto;
+        display: flex;
+        flex-wrap: wrap;
+        padding-bottom: 80rpx;
 
-		.box {
-			width: 25%;
-			margin-top: 2.5vh;
-			text-align: center;
+        .box {
+            width: 25%;
+            margin-top: 2.5vh;
+            text-align: center;
 
-			image {
-				width: 18vw;
-				height: 18vw;
-			}
+            image {
+                width: 18vw;
+                height: 18vw;
+            }
 
-			.texts {
-				width: 120rpx;
-				margin: 0 auto;
-				font-size: 29rpx;
-				font-weight: normal;
-				color: #333333;
-				margin-top: .2vh;
-			}
-		}
+            .texts {
+                width: 120rpx;
+                margin: 0 auto;
+                font-size: 29rpx;
+                font-weight: normal;
+                color: #333333;
+                margin-top: .2vh;
+            }
+        }
 
-		.edit {
-			position: relative;
-		}
+        .edit {
+            position: relative;
+        }
 
-		.edit-mark {
-			position: absolute;
-			top: 0;
-			right: 0;
-		}
+        .edit-mark {
+            position: absolute;
+            top: 0;
+            right: 0;
+        }
 
-		view[enable-hidden] {
-			opacity: .4 !important;
-		}
+        view[enable-hidden] {
+            opacity: .4 !important;
+        }
 
-		view[hidden] {
-			display: none;
-		}
-	}
+        view[hidden] {
+            display: none;
+        }
+    }
 </style>
\ No newline at end of file
diff --git a/pages/index/tab4.vue b/pages/index/tab4.vue
index f5e689b..8ce41ca 100644
--- a/pages/index/tab4.vue
+++ b/pages/index/tab4.vue
@@ -154,6 +154,20 @@
                     	"id": 15,
                     	"hidden": false
                     },
+                    {
+                    	"img": "../../static/icon/icon15.png",
+                    	"text": "宸ヤ綔鑱旂郴鍗�",
+                    	"url": "/pages/ZLGL/OA_WorkLink/OA_WorkLinkBill?OperationType=1",
+                    	"id": 16,
+                    	"hidden": false
+                    },
+                    {
+                    	"img": "../../static/icon/icon15.png",
+                    	"text": "宸ヤ綔鑱旂郴鍗曞垪琛�",
+                    	"url": "/pages/ZLGL/OA_WorkLink/OA_WorkLinkBillList?OperationType=1",
+                    	"id": 16,
+                    	"hidden": false
+                    },
 
 				]
 			}
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/tiaomachaima/tiaomachaima.vue b/pages/tiaomachaima/tiaomachaima.vue
index 7ff1d79..931a901 100644
--- a/pages/tiaomachaima/tiaomachaima.vue
+++ b/pages/tiaomachaima/tiaomachaima.vue
@@ -239,7 +239,7 @@
 			async searchbarCodeInfo() {
 				await this.$nextTick()
 				let urlEncode =
-					`/Gy_BarCodeBillList/page?sWhere= and 鏉$爜缂栧彿=\'\'${this.barCodeInfoMeta.barCodeNo}\'\'&user=${this.userInfo.HEmpName}&page=1&size=1`
+					`/Gy_BarCodeBillList/page?sWhere= and 鏉$爜缂栧彿=\'\'${this.barCodeInfoMeta.barCodeNo}\'\'&user=${getUserInfo()['Czymc']}&page=1&size=1`
 					.toString()
 				if (CommonUtils.isEmpty(this.barCodeInfoMeta.barCodeNo) == true) {
 					return uni.showToast({
diff --git a/pages/tiaomachaima/tiaomachaima2.vue b/pages/tiaomachaima/tiaomachaima2.vue
index 5f9c841..6d6b8ac 100644
--- a/pages/tiaomachaima/tiaomachaima2.vue
+++ b/pages/tiaomachaima/tiaomachaima2.vue
@@ -5,7 +5,7 @@
 				<view class="left">鏉$爜缂栧彿锛�</view>
 				<view class="right">
 					<input :focus="HBarCodeFocus" v-model="barCodeInfoMeta.barCodeNo" placeholder="璇锋壂鎻忔潯鐮�"
-						@blur="searchbarCodeInfo" @confirm="getCode(barCodeInfoMeta.barCodeNo)" />
+						@blur="searchbarCodeInfo" @confirm="searchbarCodeInfo" />
 				</view>
 				<view>
 					<uni-icons type="scan"
@@ -151,6 +151,7 @@
 				barCodeInfo: {
 
 				},
+                barCodeCall: false,
 				barCodeSplitInfo: [],
 				dialogVal: 0,
 				itemCache: {},
@@ -219,9 +220,13 @@
 			},
 			//鎽勫儚澶磋皟鐢�
 			async searchbarCodeInfo() {
+                if(this.barCodeCall) {
+                    return
+                }
+                this.barCodeCall = true
 				await this.$nextTick()
 				let urlEncode =
-					`/Gy_BarCodeBillList/page?sWhere= and 鏉$爜缂栧彿=\'\'${this.barCodeInfoMeta.barCodeNo}\'\'&user=${this.userInfo.HEmpName}&page=1&size=1`
+					`/Gy_BarCodeBillList/page?sWhere= and 鏉$爜缂栧彿=''${this.barCodeInfoMeta.barCodeNo}''&user=${getUserInfo()["Czymc"]}&page=1&size=1`
 					.toString()
 				if (CommonUtils.isEmpty(this.barCodeInfoMeta.barCodeNo) == true) {
 					return uni.showToast({
@@ -243,10 +248,12 @@
 							this.barCodeSplitInfo = []
 							// 鎵弿鏉$爜鍚庨噸缃寜閽姸鎬�
 							this.resetButtonState();
+                            this.barCodeCall = false
 						}
 					},
 					(err) => {
 						console.err(err)
+                        this.barCodeCall = false
 					}
 				)
 			},
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/BasicInfo.js b/utils/BasicInfo.js
new file mode 100644
index 0000000..1d6863b
--- /dev/null
+++ b/utils/BasicInfo.js
@@ -0,0 +1,37 @@
+import { CommonUtils } from "./common"
+
+export async function getEmpList() {
+    return new Promise(async (resolve, reject) => {
+        // 鑾峰彇鑱屽憳鏁版嵁
+        try {
+            let res = await CommonUtils.doRequest2Async({
+                url: '/PublicPageMethod/UserList',
+                data: {
+                    sWhere: " where 1=1",
+                }
+            })
+        
+            let {
+                data,
+                count,
+                Message
+            } = res.data
+            if (count == 1) {
+                resolve(data)
+            } else {
+                CommonUtils.showTips({
+                    title: '娓╅Θ鎻愮ず',
+                    message: Message
+                })
+                reject()
+                
+            }
+        } catch (err) {
+            CommonUtils.showTips({
+                title: '娓╅Θ鎻愮ず',
+                message: err
+            })
+            reject()
+        }
+    })   
+}
\ No newline at end of file
diff --git a/utils/WebSocketServices.js b/utils/WebSocketServices.js
new file mode 100644
index 0000000..850b8d8
--- /dev/null
+++ b/utils/WebSocketServices.js
@@ -0,0 +1,98 @@
+import {
+    CommonUtils
+} from "@/utils/common.js";
+
+class WebSocketServices {
+    constructor() {
+        this.wsInstance = null; // WebSocket 瀹炰緥
+        this.isConnecting = false; // 閬垮厤骞跺彂閲嶈繛
+        this.isConnected = false; // 閬垮厤骞跺彂閲嶈繛
+        this.wsUrl = CommonUtils.httpFormatWs()
+    }
+
+    // 寤虹珛WebSocket杩炴帴
+    createConnect(userId, userName) { // 浣跨敤鐢ㄦ埛鏍囪瘑 浣滀负鍚庣杩炴帴鐨勫嚟鎹�
+        console.log('wsUrl: ', this.wsUrl);
+        console.log('userId: ', userId);
+        console.log('userName: ', userName);
+        if (this.isConnecting || !userId || this.isConnected) {
+            return
+        }
+        this.wsInstance = uni.connectSocket({
+            url: this.wsUrl + `?userId=${encodeURIComponent(userId)}&userName=${encodeURIComponent(userName)}`,
+            success() {
+                this.isConnecting = true
+            }
+        })
+
+        // 鐩戝惉濂楁帴瀛楄繛鎺ュ缓绔�
+        uni.onSocketOpen((res) => {
+            console.log('[webSocket]: 濂楁帴瀛楄繛鎺ュ缓绔嬫垚鍔�');
+            this.isConnecting = false
+            this.isConnected = true
+            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) {
+            uni.showToast({
+                icon: 'none',
+                title: `瓒呭嚭鏈�澶ч噸杩炴鏁般�傚凡閫�鍑鸿繛鎺
+            })
+            this.isConnecting = false
+            return
+        }
+        uni.showToast({
+            icon: 'none',
+            title: `姝e湪灏濊瘯閲嶈繛锛岄噸杩炴鏁� ${reCount}`
+        })
+
+        reConnect(reCount + 1, limit)
+
+        uni.hideToast()
+    }
+
+    // 杩炴帴娉ㄩ攢
+    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 2002e39..4c609a4 100644
--- a/utils/common.js
+++ b/utils/common.js
@@ -494,6 +494,21 @@
             return item[e.ColmCols]
         })
     }
+    
+    httpFormatWs(httpUrl=this.serverUrl) {
+        console.log('httpUrl: ',httpUrl);
+        if(httpUrl.indexOf("http://") === 0){
+            httpUrl = httpUrl.replace("http://", "")
+            httpUrl = "ws://" + httpUrl.split(":")[0]+":8089/ws"
+        }else if(httpUrl.indexOf("https://") === 0) {
+            httpUrl = httpUrl.replace("https://", "")
+            httpUrl = "wss://" + httpUrl.split(":")[0]+":8089/ws"
+        }else{
+            // 鎻愮ず浼犲叆杩炴帴閿欒
+        }
+        
+        return httpUrl
+    }
 }
 
 export const CommonUtils = new commonUtils()
\ No newline at end of file

--
Gitblit v1.9.1