From 72b6915d2825f9a11ae3c0bd5d2a3076052828bf Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期四, 05 二月 2026 12:29:27 +0800
Subject: [PATCH] Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev

---
 pages/tiaomachaima/tiaomachaimaCopy_HK.vue  |  181 ++++---
 pages/chaixiang/chaixiang_xiaowei.vue       |  580 +++++++++++++++++++++++++
 pages.json                                  |   16 
 pages/zhuangxiang/snZhuangxiang_xiaowei.vue |  578 +++++++++++++++++++++++++
 pages/index/index.vue                       |   14 
 5 files changed, 1,281 insertions(+), 88 deletions(-)

diff --git a/pages.json b/pages.json
index 9de6831..8526796 100644
--- a/pages.json
+++ b/pages.json
@@ -1763,7 +1763,21 @@
             {
                 "navigationBarTitleText" : "鐩存帴璋冩嫧鍗�(楠岃瘉)"
             }
-        }
+ 		},
+		{
+		    "path" : "pages/chaixiang/chaixiang_xiaowei",
+		    "style" : 
+		    {
+		        "navigationBarTitleText" : "鎷嗙灏忓崼"
+		    }
+		},
+		{
+		    "path" : "pages/zhuangxiang/snZhuangxiang_xiaowei",
+		    "style" : 
+		    {
+		        "navigationBarTitleText" : "瑁呯锛堝皬鍗級"
+		    }
+		}
 		
 
 
diff --git a/pages/chaixiang/chaixiang_xiaowei.vue b/pages/chaixiang/chaixiang_xiaowei.vue
new file mode 100644
index 0000000..764b50b
--- /dev/null
+++ b/pages/chaixiang/chaixiang_xiaowei.vue
@@ -0,0 +1,580 @@
+<template>
+    <view class="form">
+        <view class="form-base-info">
+            <view class="form-item">
+                <view class="title">涓鐮�</view>
+                <view class="right">
+                    <input type="text" :focus="HBarCodePackFocus" v-model="HBarCode_Pack" @confirm="GetMeesageByBarCode_Pack(HBarCode_Pack)" />
+                </view>
+                <view class="right-icon">
+                    <uni-icons class="right-icon" type="scan"
+                        style="background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" size="20"
+                        @click="toScanCode"></uni-icons>
+                </view>
+            </view>
+        </view>
+        <view class="tabs">
+            <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">鎷嗙淇℃伅</view>
+            <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">鍗曟嵁淇℃伅</view>
+        </view>
+        <!-- 鎷嗙淇℃伅 -->
+        <view v-if="tabs == 0">
+            <zb-table id="list-table" :fit="true" :style="{height: `${listTableHeight}px`}" :columns="columns" :data="listData"
+                :show-header="true" :border="true" :row-key="row => row.index" @toggleRowSelection="handleSelect"
+                @toggleAllSelection="handleSelectAll" />
+        </view>
+        <!-- 鍗曟嵁淇℃伅 -->
+        <view v-if="tabs == 1">
+            <view class="bill-info">
+                <view class="form-item">
+                    <view class="title">鍗曟嵁鏃ユ湡</view>
+                    <view class="right">
+                        <uni-datetime-picker type="date" v-model="hform.HDate">
+                            <input type="text" v-model="hform.HDate" />
+                        </uni-datetime-picker>
+                    </view>
+                </view>
+            </view>
+            <view class="bill-info">
+                <view class="form-item">
+                    <view class="title">鍒跺崟浜�</view>
+                    <view class="right disabled">
+                        <input type="text" disabled :value="hform.HMaker" />
+                    </view>
+                </view>
+            </view>
+            <!-- <view class="bill-info">
+                <view class="form-item">
+                    <view class="title">鍗曟嵁鍙�</view>
+                    <view class="right disabled">
+                        <input type="text" disabled :value="hform.HBillNo" />
+                    </view>
+                </view>
+            </view> -->
+            <!-- <view class="bill-info">
+                <view class="form-item">
+                    <view class="title">鍗曟嵁ID</view>
+                    <view class="right disabled">
+                        <input type="text" disabled :value="hform.HInterID" />
+                    </view>
+                </view>
+            </view> -->
+            <view class="bill-info">
+                <view class="form-item">
+                    <view class="title">缁勭粐</view>
+                    <view class="right disabled">
+                        <input type="text" disabled :value="hform.HStockOrgName" />
+                    </view>
+                </view>
+            </view>
+        </view>
+        <view class="bottom-btn" id="bottom-btn">
+            <button :class="EnableSubmit?'btn-a':'btn-c'" :disabled="!EnableSubmit" size="mini" @tap="cmdSubmit">鎷嗙</button>
+            <view style="flex: 1;"></view>
+            <!-- <button class="btn-d" size="mini" @tap="cmdDelete">鍒犻櫎</button> -->
+            <button class="btn-c" size="mini" @tap="cmdExit">閫�鍑�</button>
+        </view>
+    </view>
+</template>
+
+<script>
+    import dayjs from 'dayjs'
+    import {
+        getUserInfo
+    } from "../../utils/auth";
+    import {
+        CommonUtils
+    } from "@/utils/common.js"
+    import {
+        MpaasScan
+    } from "@/utils/mpaasScan.js"
+    export default {
+        data() {
+            return {
+                EnableSubmit: true,
+                // 璁$畻鍒楄〃楂樺害
+                bottomBtnTop: 0,
+                listTableTop: 0,
+                // 鍏叡鍙橀噺 
+                HBarCodePackFocus: false,
+                HBarCodeFocus: false,
+                HBarCode_Pack: '', //绠辨潯鐮�
+                HBarCode: '', // 鍖呮潯鐮�
+                tabs: 0,
+                HBillType: '3783',
+                HBillSubType: '1', //瀛愮被鍨嬶紙1鎷嗙銆�2鎷嗘墭锛�
+                OperationType: 1, //鎿嶄綔绫诲瀷锛�1鏂板銆�2浠庣紦瀛樺垪琛ㄤ腑杩斿洖锛�
+                HMaterNumber_Pack: "", //鎵樻潯鐮佸搴旂墿鏂欎唬鐮�
+                listOption: [],
+                listData: [],
+                columns: [
+                    {
+                        name: 'index',
+                        label: '搴忓彿',
+                        width: 60,
+                        hidden: true,
+                    },
+                    {
+                        name: '涓鐮�',
+                        label: '涓鐮�',
+                        width: 100,
+                    },
+                    {
+                        name: '瀵瑰簲鐨凷N鐮�',
+                        label: '瀵瑰簲鐨凷N鐮�',
+                        width: 100,
+                    },
+                    {
+                        name: '鐗╂枡浠g爜',
+                        label: '鐗╂枡浠g爜',
+                        width: 100,
+                    },
+                    {
+                        name: '鐗╂枡鍚嶇О',
+                        label: '鐗╂枡鍚嶇О',
+                        width: 100,
+                    },
+                    
+                ],
+                selectedRows: [], // 瀛樺偍閫変腑鐨勬暟鎹�
+                HModName: "Sc_UnPackUnionBill_Packing_PDA",
+                ModRightName: "CE_UnPackUnionBill_Packing", //妯″潡鏉冮檺鍙傛暟
+                titleData: [], //涓嶉渶瑕佹樉绀虹殑瀛楁
+                OperationType: 1, //浠庣紦瀛樺垪琛ㄤ腑杩斿洖鏁版嵁绫诲瀷锛�1鏂板銆�2浠庣紦瀛樺垪琛ㄤ腑杩斿洖锛�
+                HBarCode_Pack_Temp: "", //浠庣紦瀛樺垪琛ㄤ腑杩斿洖绠辨潯鐮�
+
+                // 琛ㄥ崟鎻愪氦鍊�
+                hform: {
+                    HDate: dayjs(new Date()).format('YYYY-MM-DD'),
+                    HMaker: getUserInfo()['Czymc'],
+                    HBillNo: '',
+                    HInterID: '',
+                    HStockOrgName: uni.getStorageSync("Organization"),
+                    HStockOrgID: uni.getStorageSync("OrganizationID"),
+                },
+                // 鍒嗛〉妯″潡鍏冩暟鎹�
+                paginationMeta: {
+
+                }
+            }
+        },
+        methods: {
+            async HBarCodeFocusRefresh(){
+              this.HBarCode = ''
+              this.HBarCodeFocus = false
+              await this.$nextTick()
+              this.HBarCodeFocus = true
+            },
+            async HBarCodePackFocusRefresh(){
+              this.HBarCode_Pack = ''
+              this.HBarCodePackFocus = false
+              await this.$nextTick()
+              this.HBarCodePackFocus = true
+            },
+            toScanCode() {
+                MpaasScan.scanCode((scanCode) => {
+                    this.HBarCode_Pack = scanCode
+                    this.GetMeesageByBarCode_Pack(HBarCode_Pack)
+                })
+            },
+            GetMeesageByBarCode_Pack(HBarCode) {
+                // 鑾峰彇鍖呮潯鐮佸搴旂殑鏁版嵁 
+                let HBarCode_Pack = this.HBarCode_Pack
+                let sOldBarCode = this.HBarCode_Pack
+                let HDeleteFlag = sOldBarCode.substring(0, 1)
+                let sBarCode = sOldBarCode.slice(1)
+                if (!HBarCode_Pack) {
+                    return uni.showToast({
+                        icon: 'none',
+                        title: '绠辨潯鐮佷负绌猴紝璇峰厛鎵弿绠辨潯鐮�',
+                    })
+                }
+                    let sBarCode_b = this.HBarCode_Pack
+                    if (!sBarCode_b) {
+                        return uni.showToast({
+                            icon: 'none',
+                            title: '绠辨潯鐮佷笉鑳戒负绌猴紝璇锋壂鎻忕鏉$爜',
+                        })
+                    }
+                    CommonUtils.doRequest2({
+                        url: '/CheckBarcodeController/UnpackMiddleBox',
+                        data: {
+                            
+                            "HBarCode_Middle": sBarCode_b,
+                            "signal": 1,
+							"HMaker":this.hform.HMaker,
+							"HDate":this.hform.HDate
+                            //"HBarCode_Pack": HBarCode_Pack,
+                        },
+                        resFunction: (res) => {
+                            let {
+                                data,
+                                count,
+                                Message
+                            } = res.data
+                            if (count == 1) {
+                                CommonUtils.playSound(1)
+                                console.log(data[0])
+                                this.listData = []
+								var codeLength=data.length
+                                for (let i = 0; i < codeLength; i++) {
+                                    this.listData.push(Object.assign(data[i], {
+                                        index: i
+                                    }))
+                                }
+                            } else {
+                                CommonUtils.playSound(0)
+                                this.HBarCodeFocusRefresh()
+                                uni.showToast({
+                                    icon: 'none',
+                                    title: Message
+                                })
+                            }
+							console.log(sBarCode_b)
+                        }
+                    })
+                
+            },
+            handleSelect(selected, array) {
+                this.selectedRows = array
+            },
+            handleSelectAll(selected, array) {
+                this.selectedRows = array
+            },
+            getMaxNo() {
+                CommonUtils.doRequest2({
+                    url: "/WEBSController/GetMaxBillNoAndID_Json",
+                    data: {
+                        "HBillType": this.HBillType
+                    },
+                    resFunction: (d) => {
+                        console.log('d: ', d);
+                        let {
+                            count,
+                            data,
+                            Message
+                        } = d.data
+                        if (count == 1) {
+                            this.hform.HInterID = data[0].HInterID;
+                            this.hform.HBillNo = data[0].HBillNo
+                        } else {
+
+                            uni.showModal({
+                                title: "娓╅Θ鎻愮ず",
+                                showCancel: false,
+                                content: Message
+
+                            })
+
+                        }
+                    }
+                })
+            },
+            submitPreCheck() {
+                if (CommonUtils.isEmpty(this.hform.HInterID)) {
+                    uni.showToast({
+                        icon: 'none',
+                        title: '鍗曟嵁鍐呯爜鑾峰彇澶辫触锛岄敊璇殑鍗曟嵁鍐呯爜锛�'
+                    })
+                    return false
+                }
+                if (CommonUtils.isEmpty(this.hform.HBillNo)) {
+                    uni.showToast({
+                        icon: 'none',
+                        title: '鍗曟嵁鍙疯幏鍙栧け璐ワ紝閿欒鐨勫崟鎹彿锛�'
+                    })
+                    return false
+                }
+                if (this.listData.length < 1) {
+                    uni.showToast({
+                        icon: 'none',
+                        title: '娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�'
+                    })
+                    return false
+                }
+                return true
+            },
+            cmdDelete() {
+                console.log('this.selectedRows: ', this.selectedRows);
+                if (this.selectedRows.length != 1) {
+                    return uni.showToast({
+                        icon: 'none',
+                        title: '璇烽�夋嫨涓�琛岃褰曪紝杩涜鍒犻櫎锛�'
+                    })
+                }
+                uni.showModal({
+                    title: '鍒犻櫎纭',
+                    content: '纭瑕佸垹闄ら�変腑琛屾墍鏈夋壂鐮佽褰曪紵鍒犻櫎鍚庡皢涓嶅彲鎭㈠!',
+                    success: () => {
+                        if (confirm) {
+                            CommonUtils.doRequest2({
+                                url: '/WEBSController/set_DelPackUnionBill_Temp_Pack_Json',
+                                data: {
+                                    HInterID: this.hform.HInterID,
+                                    HBillType: this.HBillType,
+                                    HBarCode: this.selectedRows[0].HBarCode
+                                },
+                                resFunction: (res) => {
+                                    let {
+                                        data,
+                                        count,
+                                        Message
+                                    } = res.data
+                                    if (count == 1) {
+                                        CommonUtils.playSound(1)
+                                        uni.showToast({
+                                            icon: 'none',
+                                            title: Message
+                                        })
+                                        this.DisBillEntryList()
+                                    } else {
+                                        CommonUtils.playSound(0)
+                                        uni.showToast({
+                                            icon: 'none',
+                                            title: Message
+                                        })
+                                    }
+                                }
+                            })
+                        }
+                    }
+                })
+            },
+            cmdSubmit() {
+                // let checkRes = this.submitPreCheck()
+                // if (!checkRes) {
+                //     return
+                // }
+                this.EnableSubmit = false
+				console.log(this.hform.HInterID)
+				console.log(this.hform.HBillNo)
+				console.log(this.HBarCode_Pack)
+				console.log(this.hform.HMaker)
+				uni.showModal({
+					title: '娓╅Θ鎻愮ず',
+					content: '鏄惁鍒犻櫎涓鐮佺殑缁勭璁板綍',
+					confirmText: "纭畾",
+					cancelText: '鍙栨秷',
+					success: ({confirm,cancel}) => {
+					    if(confirm) {
+					        CommonUtils.doRequest2({
+					            url: '/CheckBarcodeController/UnpackMiddleBox',
+					            data: {
+					                
+					                "HBarCode_Middle": this.HBarCode_Pack,
+					                "signal": 2,
+									 "HMaker":this.hform.HMaker,
+									 "HDate":this.hform.HDate
+					            },
+					            resFunction: (res) => {
+					                let {data, count, Message} = res.data
+					                if(count == 1){
+					                    uni.showModal({
+					                        title: '娓╅Θ鎻愮ず',
+					                        content: Message,
+					                        confirmText: "鏂板",
+					                        cancelText: '鍏抽棴',
+					                        success: ({confirm,cancel}) => {
+					                            if(confirm) {
+					                                uni.redirectTo({
+					                                    url: "/pages/chaixiang/chaixiang_xiaowei"
+					                                })
+					                            }
+					                            
+					                            if(cancel) {
+					                                uni.navigateBack()
+					                            }
+					                        }
+					                    })
+					                }else {
+					                    uni.showToast({
+					                        icon:'none',
+					                        title: Message
+					                    })
+					                }
+					            }
+					        })
+					    }
+					    
+					    if(cancel) {
+					        uni.navigateBack()
+					    }
+					}
+				})
+
+            },
+            cmdExit() {
+                uni.navigateBack()
+            }
+        },
+        computed: {
+            listTableHeight: {
+                get() {
+                    return this.bottomBtnTop - this.listTableTop - 10
+                }
+            }
+        },
+        async onReady() {
+            // #ifndef MP-WEIXIN
+            let query = uni.createSelectorQuery().in(this)
+            query.select("#bottom-btn")
+                .boundingClientRect((data) => {
+                    if (data) {
+                        this.bottomBtnTop = data.top
+                    } else {
+                        console.log("鏈壘鍒�#bottom-btn鑺傜偣");
+                    }
+                })
+                .exec();
+            query.select("#list-table")
+                .boundingClientRect((data) => {
+                    if (data) {
+                        this.listTableTop = data.top
+                    } else {
+                        console.log("鏈壘鍒�#list-table鑺傜偣");
+                    }
+                })
+                .exec();
+            // #endif
+        },
+        onLoad(e) {
+            this.OperationType = e.OperationType || 1
+            this.HBarCode_Pack_Temp = e.CommonUtils || ""
+
+            // if (this.OperationType == 1) {
+            //     this.getMaxNo()
+            // } else if (this.OperationType == 2) {
+
+            // }
+            
+            this.HBarCodePackFocusRefresh()
+        }
+    }
+</script>
+
+<style lang="scss">
+    input {
+        width: inherit;
+        padding: 8rpx 20rpx;
+        font-size: 30rpx;
+    }
+
+    .form {
+        display: flex;
+        flex-direction: column;
+        gap: 20rpx;
+
+        .form-base-info {
+            display: flex;
+            flex-direction: column;
+            gap: 10rpx;
+            box-sizing: border-box;
+            padding: 30rpx;
+        }
+
+        .bill-info {
+            display: flex;
+            flex-direction: column;
+            gap: 10rpx;
+            box-sizing: border-box;
+            padding: 16rpx 30rpx;
+        }
+
+        .form-item {
+            display: flex;
+            flex-direction: row;
+            gap: 10rpx;
+
+            .title {
+                width: 5rem;
+                flex-shrink: 0;
+            }
+
+            .right {
+                flex: 1;
+                border-radius: 22rpx;
+                border: 1px solid #acacac;
+            }
+
+            .disabled {
+                border: 1px solid #e4e4e4;
+                background-color: #e4e4e4;
+            }
+
+            .right-icon {
+                flex-shrink: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+            }
+
+        }
+    }
+
+    .tabs {
+        width: 100%;
+        display: flex;
+        border-bottom: 1px solid #ddd;
+        margin: 20rpx 0;
+
+        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;
+        }
+    }
+
+    .bottom-btn {
+        width: 100%;
+        box-sizing: border-box;
+        // 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;
+        }
+    }
+    
+</style>
\ No newline at end of file
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 9b64db1..84c6954 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -357,8 +357,20 @@
 						"url": "/pages/Kf_MoveStockBill_CusBar/Kf_MoveStockBill_CusBar_APP",
 						"id": 28,
 						"hidden": false
+					},{
+						"img": "../../static/icon/icon21.png",
+						"text": "灏忓崼鎷嗙",
+						"url": "/pages/chaixiang/chaixiang_xiaowei",
+						"id": 27,
+						"hidden": false
 					},
-					
+					{
+						"img": "../../static/icon/icon21.png",
+						"text": "灏忓崼瑁呯",
+						"url": "/pages/zhuangxiang/snZhuangxiang_xiaowei",
+						"id": 28,
+						"hidden": false
+					}
 				],
             }
         },
diff --git a/pages/tiaomachaima/tiaomachaimaCopy_HK.vue b/pages/tiaomachaima/tiaomachaimaCopy_HK.vue
index c07bb5a..3f3a2af 100644
--- a/pages/tiaomachaima/tiaomachaimaCopy_HK.vue
+++ b/pages/tiaomachaima/tiaomachaimaCopy_HK.vue
@@ -5,7 +5,7 @@
 				<view class="left">鏉$爜缂栧彿锛�</view>
 				<view class="right">
 					<input :focus="HBarCodeFocus" v-model="barCodeInfoMeta.barCodeNo" placeholder="璇锋壂鎻忔潯鐮�"
-						 @confirm="searchbarCodeInfo" />
+						@confirm="searchbarCodeInfo" />
 				</view>
 				<view>
 					<uni-icons type="scan"
@@ -33,7 +33,7 @@
 					:disabled="cantGenerate">鐢熸垚</button>
 				<button type="default" :class="cantPrint ? 'btn-disabled' : 'btn-c'" @click="PrintHBarCode"
 					:disabled="cantPrint">鎵撳嵃</button>
-					<button type="primary" @click="printerLabel2">娴嬭瘯鎵撳嵃2</button>
+				<button type="primary" @click="printerLabel2">娴嬭瘯鎵撳嵃2</button>
 			</view>
 		</view>
 		<view class="divide"></view>
@@ -77,7 +77,7 @@
 					<view class="dWetail">
 						<text>鐗╂枡缂栫爜锛�</text>{{barCodeInfo['鐗╂枡浠g爜'] || ''}}
 					</view>
-					
+
 					<view class="detail">
 						<text>瑙勬牸鍨嬪彿锛�</text>{{barCodeInfo['瑙勬牸鍨嬪彿'] || ''}}
 					</view>
@@ -127,7 +127,7 @@
 		</view>
 		<view class="over" v-if="barCodeSplitInfo.length == 0">鏆傛棤鏁版嵁</view>
 		<view class="over" v-if="barCodeSplitInfo.length != 0">宸插埌搴�</view>
-		
+
 	</view>
 </template>
 
@@ -135,7 +135,7 @@
 	const printer = uni.requireNativePlugin('LcPrinter');
 	const modal = uni.requireNativePlugin('modal');
 	var globalEvent = uni.requireNativePlugin('globalEvent');
-	
+
 	// 鍦ㄥ叏灞�瀹氫箟涓�涓彉閲忔潵鏍囪瘑鏄惁宸茬粡鍒濆鍖�
 	var isPrinterInitialized = false;
 
@@ -156,16 +156,16 @@
 					splitNum: "",
 					billMaker: getUserInfo().Czymc,
 				},
-				base64:"",
-				barCodeInfo: {//鍘熸潯鐮佷俊鎭�
+				base64: "",
+				barCodeInfo: { //鍘熸潯鐮佷俊鎭�
 
 				},
-				barCodeSplitInfo: [],//鎷嗙爜淇℃伅
+				barCodeSplitInfo: [], //鎷嗙爜淇℃伅
 				cantGenerate: true, // 鐢熸垚鎸夐挳鍒濆绂佺敤
 				cantPrint: true, // 鎵撳嵃鎸夐挳鍒濆绂佺敤
 				cantSplit: false, // 鎷嗙爜鎸夐挳鍒濆鍙敤
 				HBarCodeFocus: false,
-				isPrinting:false,
+				isPrinting: false,
 				printInfo: "" //鎵撳嵃
 			};
 		},
@@ -188,15 +188,17 @@
 				printer.setConcentration({ //璁剧疆鎵撳嵃娴撳害銆俧ont_level 鍙栧�艰寖鍥达細1~39銆�
 					level: 39
 				});
-			
+
 			},
 			printerLabel() {
 				const formatDate = new Date().toISOString().split('T')[0];
 				printer.setLineSpacing({
 					spacing: 1.2
 				});
-				
-				printer.setUnwindPaperLen({ length: 60 });
+
+				printer.setUnwindPaperLen({
+					length: 60
+				});
 				printer.setFontSize({
 					fontSize: 1
 				});
@@ -206,57 +208,57 @@
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '渚涘簲鍟嗗悕绉帮細'+this.barCodeInfo['渚涘簲鍟�']+'\r\n'
+					content: '渚涘簲鍟嗗悕绉帮細' + this.barCodeInfo['渚涘簲鍟�'] + '\r\n'
 				});
-				
+
 				printer.printText2({
 					offset: 1,
-					fontSize:2,
+					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鐗╂枡浠g爜锛�'+this.barCodeInfo['鐗╂枡浠g爜']+'\r\n'
+					content: '鐗╂枡浠g爜锛�' + this.barCodeInfo['鐗╂枡浠g爜'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鐗╂枡绠�绉帮細'+this.barCodeInfo['鐗╂枡绠�绉�']+'\r\n'
-				});
-				printer.printText2({
-					offset: 1,
-					fontSize:2,
-					isBold: false,
-					isUnderLine: false,
-					content: '鏁伴噺锛�'+this.barCodeInfo['鍓╀綑鏁伴噺']+'\r\n'
+					content: '鐗╂枡绠�绉帮細' + this.barCodeInfo['鐗╂枡绠�绉�'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '宸ュ彿锛�'+this.barCodeInfo['宸ュ彿']+'\r\n'
+					content: '鏁伴噺锛�' + this.barCodeInfo['鍓╀綑鏁伴噺'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鐢熶骇鏃ユ湡锛�'+this.barCodeInfo['鐢熶骇鏃ユ湡']+'\r\n'
+					content: '宸ュ彿锛�' + this.barCodeInfo['宸ュ彿'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '娴佹按鍙凤細'+this.barCodeInfo['娴佹按鍙�']+'\r\n'
+					content: '鐢熶骇鏃ユ湡锛�' + this.barCodeInfo['鐢熶骇鏃ユ湡'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鎵撳嵃鏃ユ湡锛�'+formatDate+'\r\n'
+					content: '娴佹按鍙凤細' + this.barCodeInfo['娴佹按鍙�'] + '\r\n'
+				});
+				printer.printText2({
+					offset: 1,
+					fontSize: 2,
+					isBold: false,
+					isUnderLine: false,
+					content: '鎵撳嵃鏃ユ湡锛�' + formatDate + '\r\n'
 				});
 				printer.printQR2({
 					text: this.barCodeInfo['鏉$爜缂栧彿'],
@@ -273,57 +275,57 @@
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '渚涘簲鍟嗗悕绉帮細'+this.barCodeInfo['渚涘簲鍟�']+'\r\n'
+					content: '渚涘簲鍟嗗悕绉帮細' + this.barCodeInfo['渚涘簲鍟�'] + '\r\n'
 				});
-				
+
 				printer.printText2({
 					offset: 1,
-					fontSize:2,
+					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鐗╂枡浠g爜锛�'+this.barCodeInfo['鐗╂枡浠g爜']+'\r\n'
+					content: '鐗╂枡浠g爜锛�' + this.barCodeInfo['鐗╂枡浠g爜'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鐗╂枡绠�绉帮細'+this.barCodeInfo['鐗╂枡绠�绉�']+'\r\n'
-				});
-				printer.printText2({
-					offset: 1,
-					fontSize:2,
-					isBold: false,
-					isUnderLine: false,
-					content: '鏁伴噺锛�'+this.barCodeSplitInfo[0]['HSplitNum']+'\r\n'
+					content: '鐗╂枡绠�绉帮細' + this.barCodeInfo['鐗╂枡绠�绉�'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '宸ュ彿锛�'+this.barCodeInfo['宸ュ彿']+'\r\n'
+					content: '鏁伴噺锛�' + this.barCodeSplitInfo[0]['HSplitNum'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鐢熶骇鏃ユ湡锛�'+this.barCodeInfo['鐢熶骇鏃ユ湡']+'\r\n'
+					content: '宸ュ彿锛�' + this.barCodeInfo['宸ュ彿'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '娴佹按鍙凤細'+this.barCodeInfo['娴佹按鍙�']+'\r\n'
+					content: '鐢熶骇鏃ユ湡锛�' + this.barCodeInfo['鐢熶骇鏃ユ湡'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鎵撳嵃鏃ユ湡锛�'+formatDate+'\r\n'
+					content: '娴佹按鍙凤細' + this.barCodeInfo['娴佹按鍙�'] + '\r\n'
+				});
+				printer.printText2({
+					offset: 1,
+					fontSize: 2,
+					isBold: false,
+					isUnderLine: false,
+					content: '鎵撳嵃鏃ユ湡锛�' + formatDate + '\r\n'
 				});
 				printer.printQR2({
 					text: this.barCodeSplitInfo[0]['HBarCode'],
@@ -337,23 +339,30 @@
 			},
 			printerLabel2() {
 				console.log('娴嬭瘯鎵撳嵃');
-				const formatDate =new Date().toISOString().split('T')[0];
+				const formatDate = new Date().toISOString().split('T')[0];
 				console.log(formatDate)
 				CommonUtils.showTips({
-				    message:'姣嶆爣绛綷r\n'+'渚涘簲鍟嗗悕绉帮細'+this.barCodeInfo['渚涘簲鍟�']+'\r\n'+'鐗╂枡浠g爜锛�'+this.barCodeInfo['鐗╂枡浠g爜']+'\r\n'+'鐗╂枡绠�绉帮細'+this.barCodeInfo['鐗╂枡绠�绉�']+'\r\n'
-					+'鏁伴噺锛�'+this.barCodeInfo['鍓╀綑鏁伴噺']+'\r\n'+'宸ュ彿锛�'+this.barCodeInfo['宸ュ彿']+'\r\n'+'鐢熶骇鏃ユ湡锛�'+this.barCodeInfo['鐢熶骇鏃ユ湡']+'\r\n'+'娴佹按鍙凤細'+this.barCodeInfo['娴佹按鍙�']+'\r\n'
-					+'鎵撳嵃鏃ユ湡锛�'+formatDate+'\r\n'+this.barCodeInfo['鏉$爜缂栧彿']+'\r\n'
-					+'瀛愭爣绛綷r\n'+'渚涘簲鍟嗗悕绉帮細'+this.barCodeInfo['渚涘簲鍟�']+'\r\n'+'鐗╂枡浠g爜锛�'+this.barCodeInfo['鐗╂枡浠g爜']+'\r\n'+'鐗╂枡绠�绉帮細'+this.barCodeInfo['鐗╂枡绠�绉�']+'\r\n'
-					+'鏁伴噺锛�'+this.barCodeSplitInfo[0]['HSplitNum']+'\r\n'+'宸ュ彿锛�'+this.barCodeInfo['宸ュ彿']+'\r\n'+'鐢熶骇鏃ユ湡锛�'+this.barCodeInfo['鐢熶骇鏃ユ湡']+'\r\n'+'娴佹按鍙凤細'+this.barCodeInfo['娴佹按鍙�']+'\r\n'
-					+'鎵撳嵃鏃ユ湡锛�'+formatDate+'\r\n'+this.barCodeSplitInfo[0]['HBarCode']+'\r\n'
-					
-					,
+					message: '姣嶆爣绛綷r\n' + '渚涘簲鍟嗗悕绉帮細' + this.barCodeInfo['渚涘簲鍟�'] + '\r\n' + '鐗╂枡浠g爜锛�' + this.barCodeInfo[
+							'鐗╂枡浠g爜'] + '\r\n' + '鐗╂枡绠�绉帮細' + this.barCodeInfo['鐗╂枡绠�绉�'] + '\r\n' +
+						'鏁伴噺锛�' + this.barCodeInfo['鍓╀綑鏁伴噺'] + '\r\n' + '宸ュ彿锛�' + this.barCodeInfo['宸ュ彿'] + '\r\n' +
+						'鐢熶骇鏃ユ湡锛�' + this.barCodeInfo['鐢熶骇鏃ユ湡'] + '\r\n' + '娴佹按鍙凤細' + this.barCodeInfo['娴佹按鍙�'] + '\r\n' +
+						'鎵撳嵃鏃ユ湡锛�' + formatDate + '\r\n' + this.barCodeInfo['鏉$爜缂栧彿'] + '\r\n' +
+						'瀛愭爣绛綷r\n' + '渚涘簲鍟嗗悕绉帮細' + this.barCodeInfo['渚涘簲鍟�'] + '\r\n' + '鐗╂枡浠g爜锛�' + this.barCodeInfo[
+							'鐗╂枡浠g爜'] + '\r\n' + '鐗╂枡绠�绉帮細' + this.barCodeInfo['鐗╂枡绠�绉�'] + '\r\n' +
+						'鏁伴噺锛�' + this.barCodeSplitInfo[0]['HSplitNum'] + '\r\n' + '宸ュ彿锛�' + this.barCodeInfo['宸ュ彿'] +
+						'\r\n' + '鐢熶骇鏃ユ湡锛�' + this.barCodeInfo['鐢熶骇鏃ユ湡'] + '\r\n' + '娴佹按鍙凤細' + this.barCodeInfo['娴佹按鍙�'] +
+						'\r\n' +
+						'鎵撳嵃鏃ユ湡锛�' + formatDate + '\r\n' + this.barCodeSplitInfo[0]['HBarCode'] + '\r\n'
+
+						,
 				})
 				printer.setLineSpacing({
 					spacing: 1.2
 				});
-				
-				printer.setUnwindPaperLen({ length: 60 });
+
+				printer.setUnwindPaperLen({
+					length: 60
+				});
 				printer.setFontSize({
 					fontSize: 1
 				});
@@ -363,57 +372,57 @@
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '渚涘簲鍟嗗悕绉帮細'+this.barCodeInfo['渚涘簲鍟�']+'\r\n'
+					content: '渚涘簲鍟嗗悕绉帮細' + this.barCodeInfo['渚涘簲鍟�'] + '\r\n'
 				});
-				
+
 				printer.printText2({
 					offset: 1,
-					fontSize:2,
+					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鐗╂枡浠g爜锛�'+this.barCodeInfo['鐗╂枡浠g爜']+'\r\n'
+					content: '鐗╂枡浠g爜锛�' + this.barCodeInfo['鐗╂枡浠g爜'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鐗╂枡绠�绉帮細'+this.barCodeInfo['鐗╂枡绠�绉�']+'\r\n'
-				});
-				printer.printText2({
-					offset: 1,
-					fontSize:2,
-					isBold: false,
-					isUnderLine: false,
-					content: '鏁伴噺锛�'+this.barCodeInfo['鍓╀綑鏁伴噺']+'\r\n'
+					content: '鐗╂枡绠�绉帮細' + this.barCodeInfo['鐗╂枡绠�绉�'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '宸ュ彿锛�'+this.barCodeInfo['宸ュ彿']+'\r\n'
+					content: '鏁伴噺锛�' + this.barCodeInfo['鍓╀綑鏁伴噺'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鐢熶骇鏃ユ湡锛�'+this.barCodeInfo['鐢熶骇鏃ユ湡']+'\r\n'
+					content: '宸ュ彿锛�' + this.barCodeInfo['宸ュ彿'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '娴佹按鍙凤細'+this.barCodeInfo['娴佹按鍙�']+'\r\n'
+					content: '鐢熶骇鏃ユ湡锛�' + this.barCodeInfo['鐢熶骇鏃ユ湡'] + '\r\n'
 				});
 				printer.printText2({
 					offset: 1,
 					fontSize: 2,
 					isBold: false,
 					isUnderLine: false,
-					content: '鎵撳嵃鏃ユ湡锛�'+formatDate+'\r\n'
+					content: '娴佹按鍙凤細' + this.barCodeInfo['娴佹按鍙�'] + '\r\n'
+				});
+				printer.printText2({
+					offset: 1,
+					fontSize: 2,
+					isBold: false,
+					isUnderLine: false,
+					content: '鎵撳嵃鏃ユ湡锛�' + formatDate + '\r\n'
 				});
 				printer.printQR2({
 					text: this.barCodeInfo['鏉$爜缂栧彿'],
@@ -490,17 +499,17 @@
 							count
 						} = res1
 						if (count > 0) {
-							
+
 							this.barCodeInfo = data[0]
 							this.barCodeSplitInfo = []
 							// 鎵弿鏉$爜鍚庨噸缃寜閽姸鎬�
 							this.resetButtonState();
-                            
-						}else{
+
+						} else {
 							CommonUtils.showTips({
-							    message: "璇ユ潯鐮佷笉瀛樺湪锛�"+this.barCodeInfoMeta.barCodeNo,
+								message: "璇ユ潯鐮佷笉瀛樺湪锛�" + this.barCodeInfoMeta.barCodeNo,
 							})
-							this.barCodeInfoMeta.barCodeNo="";
+							this.barCodeInfoMeta.barCodeNo = "";
 						}
 					},
 					(err) => {
@@ -585,7 +594,7 @@
 					},
 					(err) => {
 						CommonUtils.showTips({
-						    message: "鏉$爜鎷嗙爜鍑虹幇閿欒"+err,
+							message: "鏉$爜鎷嗙爜鍑虹幇閿欒" + err,
 						})
 						console.error(err)
 					}
@@ -605,7 +614,7 @@
 					});
 				}
 				let msg =
-					`${this.barCodeInfoMeta["barCodeNo"]};${this.barCodeInfoMeta["splitNum"]};${JSON.stringify(this.barCodeSplitInfo)};${this.billMaker}`
+					`${this.barCodeInfoMeta["barCodeNo"]};${this.barCodeInfoMeta["splitNum"]};${JSON.stringify(this.barCodeSplitInfo)};${this.barCodeInfoMeta["billMaker"]}`
 				this.doRequest(
 					"/Sc_BarCode/SplitBarCode_Save", {
 						msg: msg
@@ -616,7 +625,7 @@
 							this.cantGenerate = true;
 							this.cantPrint = false;
 							this.cantSplit = true;
-							this.barCodeInfoMeta.barCodeNo="";//娓呯┖杈撳叆妗�
+							this.barCodeInfoMeta.barCodeNo = ""; //娓呯┖杈撳叆妗�
 							uni.showToast({
 								title: '鐢熸垚鎴愬姛!'
 							});
@@ -631,9 +640,9 @@
 					(err) => {
 						console.log(err)
 						CommonUtils.showTips({
-						    message: "鏉$爜鐢熸垚鍑虹幇閿欒"+err,
+							message: "鏉$爜鐢熸垚鍑虹幇閿欒" + err,
 						})
-						
+
 					},
 					"POST"
 				)
@@ -653,7 +662,7 @@
 				this.isPrinting = true;
 
 				try {
-					this.printerLabel();//鎵撳嵃
+					this.printerLabel(); //鎵撳嵃
 				} catch (error) {
 					console.error('鎵撳嵃澶辫触:', error);
 					this.isPrinting = false;
@@ -694,7 +703,7 @@
 			// 椤甸潰鍒濆鍖栨椂璁剧疆鎸夐挳鐘舵��
 			this.resetButtonState();
 			// 娣诲姞鎵撳嵃鐘舵�佺洃鍚�
-			if(!isPrinterInitialized){
+			if (!isPrinterInitialized) {
 				const self = this;
 				globalEvent.addEventListener('onPrintCallback', function(e) {
 					uni.showToast({
@@ -727,14 +736,14 @@
 			}
 			//鍒濆鍖栨墦鍗�
 			this.initPrinter();
-			
+
 		},
 		onReady() {
-			
+
 		},
 		onUnload() {
 			// 璋冪敤鍚屾鏂规硶
-			
+
 		}
 	}
 </script>
diff --git a/pages/zhuangxiang/snZhuangxiang_xiaowei.vue b/pages/zhuangxiang/snZhuangxiang_xiaowei.vue
new file mode 100644
index 0000000..97faa11
--- /dev/null
+++ b/pages/zhuangxiang/snZhuangxiang_xiaowei.vue
@@ -0,0 +1,578 @@
+<template>
+    <view class="form">
+        <view class="form-base-info">
+            <view class="form-item">
+                <view class="title">sn鐮�</view>
+                <view class="right">
+                    <input type="text" :focus="HBarCodePackFocus" v-model="HBarCode_Pack" @confirm="GetMeesageByBarCode_Pack(HBarCode_Pack)" />
+                </view>
+                <view class="right-icon">
+                    <uni-icons class="right-icon" type="scan"
+                        style="background-color: #3A78FF;padding: 6rpx;color: #fff;border-radius: 100%;" size="20"
+                        @click="toScanCode"></uni-icons>
+                </view>
+            </view>
+        </view>
+        <view class="tabs">
+            <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">瑁呯淇℃伅</view>
+            <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">鍗曟嵁淇℃伅</view>
+        </view>
+        <!-- 鎷嗙淇℃伅 -->
+        <view v-if="tabs == 0">
+            <zb-table id="list-table" :fit="true" :style="{height: `${listTableHeight}px`}" :columns="columns" :data="listData"
+                :show-header="true" :border="true" :row-key="row => row.index" @toggleRowSelection="handleSelect"
+                @toggleAllSelection="handleSelectAll" />
+        </view>
+        <!-- 鍗曟嵁淇℃伅 -->
+        <view v-if="tabs == 1">
+            <view class="bill-info">
+                <view class="form-item">
+                    <view class="title">鍗曟嵁鏃ユ湡</view>
+                    <view class="right">
+                        <uni-datetime-picker type="date" v-model="hform.HDate">
+                            <input type="text" v-model="hform.HDate" />
+                        </uni-datetime-picker>
+                    </view>
+                </view>
+            </view>
+            <view class="bill-info">
+                <view class="form-item">
+                    <view class="title">鍒跺崟浜�</view>
+                    <view class="right disabled">
+                        <input type="text" disabled :value="hform.HMaker" />
+                    </view>
+                </view>
+            </view>
+            <!-- <view class="bill-info">
+                <view class="form-item">
+                    <view class="title">鍗曟嵁鍙�</view>
+                    <view class="right disabled">
+                        <input type="text" disabled :value="hform.HBillNo" />
+                    </view>
+                </view>
+            </view> -->
+            <!-- <view class="bill-info">
+                <view class="form-item">
+                    <view class="title">鍗曟嵁ID</view>
+                    <view class="right disabled">
+                        <input type="text" disabled :value="hform.HInterID" />
+                    </view>
+                </view>
+            </view> -->
+            <view class="bill-info">
+                <view class="form-item">
+                    <view class="title">缁勭粐</view>
+                    <view class="right disabled">
+                        <input type="text" disabled :value="hform.HStockOrgName" />
+                    </view>
+                </view>
+            </view>
+        </view>
+        <view class="bottom-btn" id="bottom-btn">
+            <button :class="EnableSubmit?'btn-a':'btn-c'" :disabled="!EnableSubmit" size="mini" @tap="cmdSubmit">鎷嗙</button>
+            <view style="flex: 1;"></view>
+            <!-- <button class="btn-d" size="mini" @tap="cmdDelete">鍒犻櫎</button> -->
+            <button class="btn-c" size="mini" @tap="cmdExit">閫�鍑�</button>
+        </view>
+    </view>
+</template>
+
+<script>
+    import dayjs from 'dayjs'
+    import {
+        getUserInfo
+    } from "../../utils/auth";
+    import {
+        CommonUtils
+    } from "@/utils/common.js"
+    import {
+        MpaasScan
+    } from "@/utils/mpaasScan.js"
+    export default {
+        data() {
+            return {
+				ItemidList:'',
+                EnableSubmit: true,
+                // 璁$畻鍒楄〃楂樺害
+                bottomBtnTop: 0,
+                listTableTop: 0,
+                // 鍏叡鍙橀噺 
+                HBarCodePackFocus: false,
+                HBarCodeFocus: false,
+                HBarCode_Pack: '', //绠辨潯鐮�
+                HBarCode: '', // 鍖呮潯鐮�
+                tabs: 0,
+                HBillType: '3783',
+                HBillSubType: '1', //瀛愮被鍨嬶紙1鎷嗙銆�2鎷嗘墭锛�
+                OperationType: 1, //鎿嶄綔绫诲瀷锛�1鏂板銆�2浠庣紦瀛樺垪琛ㄤ腑杩斿洖锛�
+                HMaterNumber_Pack: "", //鎵樻潯鐮佸搴旂墿鏂欎唬鐮�
+                listOption: [],
+                listData: [],
+                columns: [
+                    {
+                        name: 'index',
+                        label: '搴忓彿',
+                        width: 60,
+                        hidden: true,
+                    },
+                    // {
+                    //     name: '涓鐮�',
+                    //     label: '涓鐮�',
+                    //     width: 100,
+                    // },
+                    {
+                        name: 'sn鐮�',
+                        label: 'sn鐮�',
+                        width: 100,
+                    },
+                    {
+                        name: '鐗╂枡浠g爜',
+                        label: '鐗╂枡浠g爜',
+                        width: 100,
+                    },
+                    {
+                        name: '鐗╂枡鍚嶇О',
+                        label: '鐗╂枡鍚嶇О',
+                        width: 100,
+                    },
+                    
+                ],
+                selectedRows: [], // 瀛樺偍閫変腑鐨勬暟鎹�
+                HModName: "Sc_UnPackUnionBill_Packing_PDA",
+                ModRightName: "CE_UnPackUnionBill_Packing", //妯″潡鏉冮檺鍙傛暟
+                titleData: [], //涓嶉渶瑕佹樉绀虹殑瀛楁
+                OperationType: 1, //浠庣紦瀛樺垪琛ㄤ腑杩斿洖鏁版嵁绫诲瀷锛�1鏂板銆�2浠庣紦瀛樺垪琛ㄤ腑杩斿洖锛�
+                HBarCode_Pack_Temp: "", //浠庣紦瀛樺垪琛ㄤ腑杩斿洖绠辨潯鐮�
+
+                // 琛ㄥ崟鎻愪氦鍊�
+                hform: {
+                    HDate: dayjs(new Date()).format('YYYY-MM-DD'),
+                    HMaker: getUserInfo()['Czymc'],
+                    HBillNo: '',
+                    HInterID: '',
+                    HStockOrgName: uni.getStorageSync("Organization"),
+                    HStockOrgID: uni.getStorageSync("OrganizationID"),
+                },
+                // 鍒嗛〉妯″潡鍏冩暟鎹�
+                paginationMeta: {
+
+                }
+            }
+        },
+        methods: {
+            async HBarCodeFocusRefresh(){
+              this.HBarCode = ''
+              this.HBarCodeFocus = false
+              await this.$nextTick()
+              this.HBarCodeFocus = true
+            },
+            async HBarCodePackFocusRefresh(){
+              this.HBarCode_Pack = ''
+              this.HBarCodePackFocus = false
+              await this.$nextTick()
+              this.HBarCodePackFocus = true
+            },
+            toScanCode() {
+                MpaasScan.scanCode((scanCode) => {
+                    this.HBarCode_Pack = scanCode
+                    this.GetMeesageByBarCode_Pack(HBarCode_Pack)
+                })
+            },
+            GetMeesageByBarCode_Pack(HBarCode) {
+                // 鑾峰彇鍖呮潯鐮佸搴旂殑鏁版嵁 
+                let HBarCode_Pack = this.HBarCode_Pack
+                let sOldBarCode = this.HBarCode_Pack
+                let HDeleteFlag = sOldBarCode.substring(0, 1)
+                let sBarCode = sOldBarCode.slice(1)
+                if (!HBarCode_Pack) {
+                    return uni.showToast({
+                        icon: 'none',
+                        title: 'sn鏉$爜涓虹┖锛岃鍏堟壂鎻弒n鏉$爜',
+                    })
+                }
+                    let sBarCode_b = this.HBarCode_Pack
+                    if (!sBarCode_b) {
+                        return uni.showToast({
+                            icon: 'none',
+                            title: 'sn鏉$爜涓嶈兘涓虹┖锛岃鎵弿sn鏉$爜',
+                        })
+                    }
+                    CommonUtils.doRequest2({
+                        url: '/CheckBarcodeController/PackedBoxSn',
+                        data: {
+                            
+                            "HBarCode": sBarCode_b,
+							"HMaker":this.hform.HMaker,
+							"HDate":this.hform.HDate
+                            //"HBarCode_Pack": HBarCode_Pack,
+                        },
+                        resFunction: (res) => {
+                            let {
+                                data,
+                                count,
+                                Message
+                            } = res.data
+                            if (count == 1) {
+                                CommonUtils.playSound(1)
+                                console.log(data[0])
+                                //this.listData = []
+								var codeLength=data.length
+                                for (let i = 0; i < codeLength; i++) {
+                                    const newItem = data[i]
+                                    const isExist = this.listData.some(item => 
+                                        item['sn鐮�'] === newItem['sn鐮�']
+                                    )
+                                                    
+                                    if (!isExist) {
+                                            this.listData.push(Object.assign(newItem, {
+                                             index: this.listData.length // 浣跨敤褰撳墠鍒楄〃闀垮害浣滀负鏂癷ndex
+                                       }))
+                                  }
+								  this.ItemidList=this.ItemidList+newItem['HItemID']+","
+								  console.log(this.ItemidList)
+                                   }
+									this.HBarCode_Pack = ''
+									this.HBarCodePackFocusRefresh()
+                            } else {
+                                CommonUtils.playSound(0)
+                                this.HBarCodeFocusRefresh()
+                                uni.showToast({
+                                    icon: 'none',
+                                    title: Message
+                                })
+                            }
+							console.log(sBarCode_b)
+                        }
+                    })
+                
+            },
+            handleSelect(selected, array) {
+                this.selectedRows = array
+            },
+            handleSelectAll(selected, array) {
+                this.selectedRows = array
+            },
+            getMaxNo() {
+                CommonUtils.doRequest2({
+                    url: "/WEBSController/GetMaxBillNoAndID_Json",
+                    data: {
+                        "HBillType": this.HBillType
+                    },
+                    resFunction: (d) => {
+                        console.log('d: ', d);
+                        let {
+                            count,
+                            data,
+                            Message
+                        } = d.data
+                        if (count == 1) {
+                            this.hform.HInterID = data[0].HInterID;
+                            this.hform.HBillNo = data[0].HBillNo
+                        } else {
+
+                            uni.showModal({
+                                title: "娓╅Θ鎻愮ず",
+                                showCancel: false,
+                                content: Message
+
+                            })
+
+                        }
+                    }
+                })
+            },
+            submitPreCheck() {
+                if (CommonUtils.isEmpty(this.hform.HInterID)) {
+                    uni.showToast({
+                        icon: 'none',
+                        title: '鍗曟嵁鍐呯爜鑾峰彇澶辫触锛岄敊璇殑鍗曟嵁鍐呯爜锛�'
+                    })
+                    return false
+                }
+                if (CommonUtils.isEmpty(this.hform.HBillNo)) {
+                    uni.showToast({
+                        icon: 'none',
+                        title: '鍗曟嵁鍙疯幏鍙栧け璐ワ紝閿欒鐨勫崟鎹彿锛�'
+                    })
+                    return false
+                }
+                if (this.listData.length < 1) {
+                    uni.showToast({
+                        icon: 'none',
+                        title: '娌℃湁鎵爜淇℃伅锛岃鍏堟壂鎻忔潯鐮侊紝纭鏃犺鍚庡啀鎻愪氦锛�'
+                    })
+                    return false
+                }
+                return true
+            },
+            cmdDelete() {
+                console.log('this.selectedRows: ', this.selectedRows);
+                if (this.selectedRows.length != 1) {
+                    return uni.showToast({
+                        icon: 'none',
+                        title: '璇烽�夋嫨涓�琛岃褰曪紝杩涜鍒犻櫎锛�'
+                    })
+                }
+                uni.showModal({
+                    title: '鍒犻櫎纭',
+                    content: '纭瑕佸垹闄ら�変腑琛屾墍鏈夋壂鐮佽褰曪紵鍒犻櫎鍚庡皢涓嶅彲鎭㈠!',
+                    success: () => {
+                        if (confirm) {
+                            CommonUtils.doRequest2({
+                                url: '/WEBSController/set_DelPackUnionBill_Temp_Pack_Json',
+                                data: {
+                                    HInterID: this.hform.HInterID,
+                                    HBillType: this.HBillType,
+                                    HBarCode: this.selectedRows[0].HBarCode
+                                },
+                                resFunction: (res) => {
+                                    let {
+                                        data,
+                                        count,
+                                        Message
+                                    } = res.data
+                                    if (count == 1) {
+                                        CommonUtils.playSound(1)
+                                        uni.showToast({
+                                            icon: 'none',
+                                            title: Message
+                                        })
+                                        this.DisBillEntryList()
+                                    } else {
+                                        CommonUtils.playSound(0)
+                                        uni.showToast({
+                                            icon: 'none',
+                                            title: Message
+                                        })
+                                    }
+                                }
+                            })
+                        }
+                    }
+                })
+            },
+            cmdSubmit() {
+                // let checkRes = this.submitPreCheck()
+                // if (!checkRes) {
+                //     return
+                // }
+                this.EnableSubmit = false
+				let HItemIDs=this.ItemidList.slice(0,-1)
+					        CommonUtils.doRequest2({
+					            url: '/CheckBarcodeController/submitPackedBoxSn',
+					            data: {
+					                
+					                "HItemIDs": HItemIDs,
+									 "HMaker":this.hform.HMaker,
+									 "HDate":this.hform.HDate
+					            },
+					            resFunction: (res) => {
+					                let {data, count, Message} = res.data
+					                if(count == 1){
+					                    uni.showModal({
+					                        title: '鐢熸垚鐨勬潯鐮侊細',
+					                        content: res.data.data[0].HBackRemark,
+					                        confirmText: "鏂板",
+					                        cancelText: '鍏抽棴',
+					                        success: ({confirm,cancel}) => {
+					                            if(confirm) {
+					                                uni.redirectTo({
+					                                    url: "/pages/zhuangxiang/snZhuangxiang_xiaowei"
+					                                })
+					                            }
+					                            
+					                            if(cancel) {
+					                                uni.navigateBack()
+					                            }
+					                        }
+					                    })
+					                }else {
+					                    uni.showToast({
+					                        icon:'none',
+					                        title: Message
+					                    })
+					                }
+					            }
+					        })
+					    
+					    
+					   
+					
+		
+
+            },
+            cmdExit() {
+                uni.navigateBack()
+            }
+        },
+        computed: {
+            listTableHeight: {
+                get() {
+                    return this.bottomBtnTop - this.listTableTop - 10
+                }
+            }
+        },
+        async onReady() {
+            // #ifndef MP-WEIXIN
+            let query = uni.createSelectorQuery().in(this)
+            query.select("#bottom-btn")
+                .boundingClientRect((data) => {
+                    if (data) {
+                        this.bottomBtnTop = data.top
+                    } else {
+                        console.log("鏈壘鍒�#bottom-btn鑺傜偣");
+                    }
+                })
+                .exec();
+            query.select("#list-table")
+                .boundingClientRect((data) => {
+                    if (data) {
+                        this.listTableTop = data.top
+                    } else {
+                        console.log("鏈壘鍒�#list-table鑺傜偣");
+                    }
+                })
+                .exec();
+            // #endif
+        },
+        onLoad(e) {
+            this.OperationType = e.OperationType || 1
+            this.HBarCode_Pack_Temp = e.CommonUtils || ""
+
+            // if (this.OperationType == 1) {
+            //     this.getMaxNo()
+            // } else if (this.OperationType == 2) {
+
+            // }
+            
+            this.HBarCodePackFocusRefresh()
+        }
+    }
+</script>
+
+<style lang="scss">
+    input {
+        width: inherit;
+        padding: 8rpx 20rpx;
+        font-size: 30rpx;
+    }
+
+    .form {
+        display: flex;
+        flex-direction: column;
+        gap: 20rpx;
+
+        .form-base-info {
+            display: flex;
+            flex-direction: column;
+            gap: 10rpx;
+            box-sizing: border-box;
+            padding: 30rpx;
+        }
+
+        .bill-info {
+            display: flex;
+            flex-direction: column;
+            gap: 10rpx;
+            box-sizing: border-box;
+            padding: 16rpx 30rpx;
+        }
+
+        .form-item {
+            display: flex;
+            flex-direction: row;
+            gap: 10rpx;
+
+            .title {
+                width: 5rem;
+                flex-shrink: 0;
+            }
+
+            .right {
+                flex: 1;
+                border-radius: 22rpx;
+                border: 1px solid #acacac;
+            }
+
+            .disabled {
+                border: 1px solid #e4e4e4;
+                background-color: #e4e4e4;
+            }
+
+            .right-icon {
+                flex-shrink: 0;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+            }
+
+        }
+    }
+
+    .tabs {
+        width: 100%;
+        display: flex;
+        border-bottom: 1px solid #ddd;
+        margin: 20rpx 0;
+
+        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;
+        }
+    }
+
+    .bottom-btn {
+        width: 100%;
+        box-sizing: border-box;
+        // 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;
+        }
+    }
+    
+</style>
\ No newline at end of file

--
Gitblit v1.9.1