From 9753f6bbaa4b4a7a1af9c49d1a1cccea350fa829 Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期二, 30 十二月 2025 10:07:27 +0800
Subject: [PATCH] Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev

---
 pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue                 |    6 
 pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue               |   47 +++
 pages/qitachukujiaoyan/qitachukudanjiaoyan.vue                |   83 ++++++
 pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue           |   49 ++++
 utils/i18n.js                                                 |   44 +++
 pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue |   10 
 pages/shengchandiaobo/MoveStockBill.vue                       |  158 +++++++++++-
 pages/shengchanruku/ProductInCheckBill.vue                    |    2 
 main.js                                                       |    9 
 pages/caigourukujiaoyan/POStockInCheckBill.vue                |    5 
 pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue    |   47 +++
 pages/index/login.vue                                         |   21 +
 pages/shengchanlingliao/PPickingCheckBill.vue                 |   59 ++++
 components/FIFOListModule/FIFOListComponent.vue               |  154 ++++++++++++
 pages/index/index.vue                                         |    2 
 15 files changed, 650 insertions(+), 46 deletions(-)

diff --git a/components/FIFOListModule/FIFOListComponent.vue b/components/FIFOListModule/FIFOListComponent.vue
new file mode 100644
index 0000000..63735c1
--- /dev/null
+++ b/components/FIFOListModule/FIFOListComponent.vue
@@ -0,0 +1,154 @@
+<template>
+    <view class="content">
+        <scroll-view scroll-y="true" :style="{height: containerHeight}">
+            <view class="options-wrapper" v-show="FIFOList.length != 0">
+                <uni-card v-for="(FIFOItem,index) in FIFOList" :title="FIFOItem['鐗╂枡鍚嶇О']"
+                    :extra="`鏁伴噺: ${FIFOItem['鏁伴噺']}`" @tap="" style="margin: 10px;">
+                    <view class="item-parent">
+                        <view class="item">
+                            <text>鐗╂枡浠g爜: </text>
+                            {{ FIFOItem['鐗╂枡浠g爜'] }}
+                        </view>
+                        <view class="item">
+                            <text>浠撳簱: </text>
+                            {{ FIFOItem['浠撳簱'] }}
+                        </view>
+                        <view class="item">
+                            <text >浠撲綅: </text>
+                            {{ FIFOItem['浠撲綅'] }}
+                        </view>
+                        <view class="item">
+                            <text>瑙勬牸鍨嬪彿: </text>
+                            {{ FIFOItem['瑙勬牸鍨嬪彿'] }}
+                        </view>
+                        <view class="item">
+                            <text>涓嬫灦鏁伴噺: </text>
+                            {{ FIFOItem['涓嬫灦鏁伴噺'] }}
+                        </view>
+                    </view>
+                </uni-card>
+            </view>
+            <view class="over" v-show="FIFOList.length == 0">鏆傛棤鏁版嵁</view>
+        </scroll-view>
+    </view>
+</template>
+
+<script>
+    export default {
+        // 鍏堝叆鍏堝嚭鍒楄〃鏄剧ず妯″潡
+        name: "FIFOListComponent",
+        props: {
+            FIFOList: {
+                require: true,
+                type: [Array]
+            },
+            Height: {
+                require: false,
+                type: [Number, String],
+                default: '100%'
+            },
+            Unit: {
+                require: false,
+                type: [String],
+                default: 'px'
+            },
+
+        },
+        data() {
+            return {
+                containerHeight: 0,
+            };
+        },
+        mounted() {
+            // 鏍规嵁閫掑叆鐨勯珮搴︽暟鎹� 璁惧畾婊氬姩瀹瑰櫒楂樺害
+            if (typeof this.Height == 'string') {
+                this.containerHeight = this.Height
+            } else {
+                this.containerHeight = `${this.Height}${this.Unit}`
+            }
+
+        },
+        methods: {
+
+        }
+    }
+</script>
+
+<style lang="scss">
+    .content {
+        box-sizing: border-box;
+        border-radius: 15rpx 15rpx 0 0;
+        padding: 20rpx 20rpx 40rpx 20rpx;
+        background-color: #fff;
+        display: flex;
+        flex-direction: column;
+        gap: 10rpx;
+
+        .search-condition {
+            display: flex;
+            flex-direction: row;
+            align-items: center;
+            gap: 20rpx;
+
+            .title {
+                width: 5rem;
+                text-align: right;
+            }
+
+            .right {
+                flex: 1;
+                border-radius: 22rpx;
+                border: 1px solid #acacac;
+                height: auto;
+
+                input {
+                    width: 100%;
+                    padding: 8rpx 20rpx;
+                    font-size: 24rpx;
+                }
+            }
+        }
+
+        .buttons {
+            display: flex;
+            flex-direction: row;
+            gap: 20rpx;
+            justify-content: flex-end;
+
+            >button {
+                display: inline-flex;
+                width: 4rem;
+            }
+        }
+
+        .options-wrapper {
+            width: 100%;
+            
+            .item-parent {
+                width: 100%;
+                display: flex;
+                flex-wrap: wrap;
+                justify-content: space-between;
+                line-height: 120%;
+
+                .item {
+                    // width: 50%;
+                    font-size: 26rpx;
+                    margin-bottom: 12rpx;
+                    color: #555;
+                    margin-right: 20rpx;
+
+                    text {
+                        color: #999;
+                        font-size: 26rpx;
+                    }
+                }
+            }
+
+        }
+
+        .uni-card--is-active {
+            background-color: rgba(0, 122, 255, 0.2);
+        }
+    }
+</style>
\ No newline at end of file
diff --git a/main.js b/main.js
index ab8bfb7..6bd543f 100644
--- a/main.js
+++ b/main.js
@@ -10,7 +10,14 @@
 
 let i18nConfig = {
   locale: uni.getLocale(),// 鑾峰彇宸茶缃殑璇█
-  messages
+  messages,
+  silentTranslationWarn: true,
+  missing: function(locale, key, vm, values){
+    // 椤甸潰涓惈鏈夎瑷�鍖呬腑涓嶅瓨鍦ㄧ殑瀛楁锛岄渶鍚屾鍒版暟鎹簱涓�
+      console.log("[i18n]: 椤甸潰涓璳ey涓�: ", key ,"鐨勫瓧娈靛湪缈昏瘧鏂囦欢涓笉瀛樺湪锛屽悓姝ュ埌鏁版嵁搴�...")
+  
+    // 涓洪檷浣庡悓姝ョ殑闅惧害锛孉PP涓� 瀵圭炕璇戞ā鍧楃殑key 涓嶉噰鐢ㄦ暟缁勭殑鍐欐硶锛岀粺涓�浣跨敤 妯″潡鍚�.瀛楁鍚嶇殑鍐欐硶
+  }
 }
 
 
diff --git a/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue b/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue
index d3c5e07..03a77c0 100644
--- a/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue
+++ b/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast.vue
@@ -285,6 +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>
             <view style="flex: 1;"></view>
             <!-- <button class="btn-d" size="mini" @tap="cmdDelete">鍒犻櫎</button> -->
             <button class="btn-c" size="mini" @tap="cmdExit">閫�鍑�</button>
@@ -392,7 +393,7 @@
         },
         methods: {
             handleUploadCallback(res) { // 鏂囦欢涓婁紶鍥炶皟
-                console.log('file: ',res);
+                console.log('file: ', res);
                 let fileInfo = res.data[0]
                 this.attachmentInfo.push({
                     fileName: fileInfo.name,
@@ -402,7 +403,7 @@
                 })
             },
             delFile(index) {
-                console.log('attachmentInfo: ',this.attachmentInfo[index]);
+                console.log('attachmentInfo: ', this.attachmentInfo[index]);
                 uni.showModal({
                     title: '鎻愮ず',
                     content: '纭瑕佸垹闄� " ' + this.attachmentInfo[index].fileName + ' " 鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛�',
@@ -588,6 +589,11 @@
                     this.getCode(code)
                 })
             },
+            cmdAdd(){
+                uni.redirectTo({
+                    url: "/pages/ZLGL/lailiaojianyan_fast/Kf_QCStockInCheckBill_Fast"
+                })
+            },
             async cmdSubmit() { // 鍚庣鍦ㄥ崟娆′笂浼犳枃浠舵彁浜ゅ悗浼氬垹闄ゆ湰鍦版枃浠讹紝涓�娆″彧鑳芥彁浜や竴涓暟鎹�
                 try {
                     let res = await CommonUtils.doRequest2Sync({
diff --git a/pages/caigourukujiaoyan/POStockInCheckBill.vue b/pages/caigourukujiaoyan/POStockInCheckBill.vue
index a7c1501..01efad5 100644
--- a/pages/caigourukujiaoyan/POStockInCheckBill.vue
+++ b/pages/caigourukujiaoyan/POStockInCheckBill.vue
@@ -169,7 +169,7 @@
 					</view>
 				</view>
 			</view>
-
+            
 			<view class="bottom-btn">
 				<button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
 				<button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
@@ -209,6 +209,7 @@
 				HStockPlaceNameList: [],
 
 				Materlist: [],
+                
 				hform: {
 					HBillType: 1201,
 					HBillerID: uni.getStorageSync('HBillerID'),
@@ -625,6 +626,8 @@
 			                    HMaker: this.hform.HMaker,
 			                    HWhID: sHWHID,
 			                    HSPID: sHSPID,
+                                HSCWHID: 0,
+                                HSCSPID: 0,
 			                    HQty: sHQty,
 			                    // HRedBlueFlag: this.hform.HRedBlueFlag,
 			                    // SourceFlag: HSourceFlag,
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 7569885..8f37c02 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -222,7 +222,7 @@
 					{
 						img: '../../static/icon/icon16.png',
 						text: '鍏朵粬鍏ュ簱鏍¢獙',
-						url: '/pages/qitarukujiaoyan/Kf_OtherInBillCheckList',
+						url: '/pages/qitarukujiaoyan/Kf_OtherInBillCheck',
 						id: 27,
 						hidden: false,
 					},
diff --git a/pages/index/login.vue b/pages/index/login.vue
index 1e65a67..a1b464c 100644
--- a/pages/index/login.vue
+++ b/pages/index/login.vue
@@ -81,6 +81,7 @@
     import {
         CommonUtils
     } from "../../utils/common";
+import { getLanguagePackJson } from "../../utils/i18n";
     export default {
         components: {
             hFormAlert
@@ -103,7 +104,8 @@
                     "鏉窞鍑礉濂堢壒": 'http://192.168.50.253:8080/API/',
                     "鏉窞鍑礉濂堢壒澶栫綉": 'http://erp.hzcabinet.cn:9090/API/',
                     "缈佹稕娑涙湰鍦版祴璇�": 'http://localhost:81/API/',
-                    "闄堥晲鍝叉湰鍦版祴璇�": 'http://192.168.0.123:81/API/',
+                    "闄堥晲鍝叉湰鍦版祴璇�": 'http://192.168.0.121:81/API/',
+                    "闄堥晲鍝叉湰鍦版祴璇�2": 'http://192.168.0.102:81/API/',
                     "寮犵憺骞挎湰鍦版祴璇�": 'http://localhost:8082/API/',
                     "浣欐�濇澃鏈湴娴嬭瘯": 'http://localhost:8082/LuBaoAPI/',
                     // 灏忓崼鍐呭缃�
@@ -112,6 +114,8 @@
                     // 鍥涚淮灏斿唴澶栫綉
                     "瀹佹尝鍥涚淮灏�-鍐呯綉": "http://192.168.0.236:9010/API/",
                     "瀹佹尝鍥涚淮灏�-澶栫綉": "http://220.189.218.155:9010/API/",
+                    // 閿﹂殕
+                    "閿﹂殕-鏅鸿兘瀹跺眳": "http://192.168.1.11/API/"
                 },
                 serverUrlName: '娴欐睙鏅轰簯杩堟��',
 
@@ -125,6 +129,9 @@
                 serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API/',
                 serverUrlCache: '',
             }
+        },
+        onLoad() {
+            this.ApplyLanguagePack(this.$i18n.locale)
         },
         onShow() {
             var logindata = uni.getStorageSync('loginData') || ''
@@ -142,16 +149,24 @@
             this.getDataBases()
         },
         methods: {
+            async ApplyLanguagePack(lang, forceUpdate = false) {
+                // 璇诲彇璇█鍖呭苟鍔犺浇
+                let languagePack = await getLanguagePackJson(lang)
+                // this.$i18n.setLocaleMessage(lang, JSON.parse(languagePack))
+                this.$i18n.locale = lang
+            },
             onLanguageChangeHandler(e) {
                 //TODO: 鍔ㄦ�佽幏鍙栧悗绔殑璇█鍖呮枃浠讹紝骞跺皢璇█鍖呭簲鐢ㄥ埌鍏ㄥ眬
                 console.log('e: ', e.detail.value);
                 if (e.detail.value == 0) {
                     this.Language = '涓枃'
-                    this.$i18n.locale = 'zh-Hans'
+                    this.ApplyLanguagePack("zh-Hans")
+                    // this.$i18n.locale = 'zh-Hans'
                 }
                 if (e.detail.value == 1) {
                     this.Language = 'English'
-                    this.$i18n.locale = 'en'
+                    this.ApplyLanguagePack("en")
+                    // this.$i18n.locale = 'en'
                 }
             },
             async InitOrgination() {
diff --git a/pages/qitachukujiaoyan/qitachukudanjiaoyan.vue b/pages/qitachukujiaoyan/qitachukudanjiaoyan.vue
index 82d9c18..432a39a 100644
--- a/pages/qitachukujiaoyan/qitachukudanjiaoyan.vue
+++ b/pages/qitachukujiaoyan/qitachukudanjiaoyan.vue
@@ -40,6 +40,7 @@
                 <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 :class="tabs == 4 ? 'on':''" @tap="tabs = 4">涓嬫灦淇℃伅</view>
             </view>
 
             <view v-if="tabs == 1">
@@ -83,7 +84,7 @@
             </view>
             <view v-if="tabs == 2">
                 <view class="list" v-for="(item,index) in Materlist" :key="index">
-                    <uni-card :title="item.鐗╂枡鍚嶇О" :extra="'鏁伴噺:'+item.鏁伴噺" style="margin: 10px;" @tap="delMater(item)">
+                    <uni-card :title="item.鐗╂枡鍚嶇О" :extra="'鏁伴噺:'+item.鏁伴噺" style="margin: 10px;" @tap="cmdDelete(item)">
                         <view class="card-detail">
                             <view class="detail">
                                 <text>鍗曟嵁鍙凤細</text>{{item.鍗曟嵁鍙穧}
@@ -169,6 +170,10 @@
                 </view>
             </view>
 
+            <view v-if="tabs == 4">
+                <FIFOListComponentVue :FIFOList="HFIFOList"></FIFOListComponentVue>
+            </view>
+
             <view class="bottom-btn">
                 <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
                 <view style="flex: 1;"></view>
@@ -180,6 +185,7 @@
 </template>
 <script>
     import getDateTime from '@/utils/getdateTime.js';
+    import FIFOListComponentVue from "@/components/FIFOListModule/FIFOListComponent.vue"
     import {
         getUserInfo
     } from "@/utils/auth.js";
@@ -187,6 +193,9 @@
         CommonUtils
     } from "@/utils/common.js"
     export default {
+        components: {
+            FIFOListComponentVue
+        },
         data() {
             return {
                 userInfo: getUserInfo(),
@@ -239,7 +248,8 @@
                     HTMQty_B: '',
                     HWHName_B: '',
                     HSPName_B: '',
-                }
+                },
+                HFIFOList: [], // 鍏堣繘鍏堝嚭鍒楄〃缂撳瓨
             }
         },
         onLoad(e) {
@@ -256,6 +266,37 @@
             this.getHBaseList()
         },
         methods: {
+            cmdDelete(item) {
+                uni.showModal({
+                    title: '鎻愮ず',
+                    content: '纭瑕佸垹闄� " ' + item.鐗╂枡鍚嶇О + ' " 鎵�鏈夋壂鐮佽褰曪紵鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛�',
+                    success: (res) => {
+                        if (res.confirm) {
+                            CommonUtils.doRequest2({
+                                url: "/WEBSController/set_DeleteBarCodeByEntryID_BillCheck_New_Json",
+                                data: {
+                                    HInterID: this.hform.HInterID,
+                                    HBillType: this.hform.HBillType,
+                                    HSourceInterID: item.HSourceInterID,
+                                    HSourceEntryID: item.HSourceEntryID,
+                                    HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl
+                                },
+                                resFunction: (res) => {
+                                    if (res.data.count == 1) {
+            
+                                        this.DisBillEntryList()
+                                    } else {
+                                        uni.showToast({
+                                            title: res.data.Message,
+                                            icon: 'none'
+                                        })
+                                    }
+                                }
+                            })
+                        }
+                    }
+                })
+            },
             async refreshHBillState() {
                 this.HBillNoFocus = false
                 await this.$nextTick(() => {
@@ -607,6 +648,8 @@
                                 HMaker: this.hform.HMaker,
                                 HWhID: sHWHID,
                                 HSPID: sHSPID,
+                                HSCWHID: 0,
+                                HSCSPID: 0,
                                 HQty: sHQty,
                                 // HRedBlueFlag: this.hform.HRedBlueFlag,
                                 // SourceFlag: HSourceFlag,
@@ -676,6 +719,37 @@
                             } else { //鐗╂枡鏉$爜
                                 this.tabs = 2
                                 console.log('data', data)
+                                let exit = false
+                                let controlState = data.hBackField
+                                if (controlState == 1) {
+                                    // 鍚敤寮烘帶鍒� 绂佹 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑 鐗╂枡鎵爜
+                                    CommonUtils.showTips({
+                                        title: "娓╅Θ鎻愮ず",
+                                        message: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝绂佹鍑哄簱..."
+                                    })
+                                    exit = true
+                                }
+                                if (controlState == 2) {
+                                    // 涓嶅惎鐢ㄥ己鎺у埗 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑鐗╂枡 閫氳繃寮圭獥璇㈤棶鏄惁闇�瑕� 鍑哄簱
+                                    uni.showModal({
+                                        title: "娓╅Θ鎻愮ず",
+                                        content: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝璇风‘璁ゆ槸鍚﹁鍑哄簱...",
+                                        success: (res) => {
+                                            if (res.confirm) {
+                                                exit = false
+                                            } else if (res.cancel) {
+                                                // 鍙栨秷鍑哄簱
+                                                exit = true
+                                            }
+                                        }
+                                    })
+                                
+                                }
+                                
+                                if(exit) {
+                                    return
+                                }
+                                
                                 if (!this.hform.HSourceBillNo) {
                                     this.hform.HSupName = data.hSupNameField
                                     this.hform.HSupID = data.hSupIDField
@@ -713,7 +787,7 @@
                             this.refreshBarCodeState()
                         } else {
                             CommonUtils.playSound(0);
-                            this.refreshHBillState()
+                            this.refreshBarCodeState()
                             uni.showToast({
                                 title: res.data.Message,
                                 icon: 'none'
@@ -721,7 +795,7 @@
                         }
                     } catch (e) {
                         CommonUtils.playSound(0)
-                        this.refreshHBillState()
+                        this.refreshBarCodeState()
                         uni.showToast({
                             title: '鎺ュ彛璇锋眰澶辫触: ' + e,
                             icon: 'none'
@@ -875,6 +949,7 @@
                         if (res.data.count == 1) {
                             var data = res.data.data
                             this.Materlist = data.Materlist
+                            this.HFIFOList = data.FIFOlist
                             if (!data.BarCodeDetailslist[0].HBarCode) {
                                 this.hform.HMaterName_B = ''
                                 this.hform.HMaterModel_B = ''
diff --git a/pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue b/pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue
index 7f1f775..74a35fb 100644
--- a/pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue
+++ b/pages/qitarukujiaoyan/Kf_OtherInBillCheck.vue
@@ -592,6 +592,8 @@
                                 HMaker: this.hform.HMaker,
                                 HWhID: sHWHID,
                                 HSPID: sHSPID,
+                                HSCWHID: 0,
+                                HSCSPID: 0,
                                 HQty: sHQty,
                                 // HRedBlueFlag: this.hform.HRedBlueFlag,
                                 // SourceFlag: HSourceFlag,
@@ -698,7 +700,7 @@
                             this.refreshHBarCodeFocus()
                         } else {
                             CommonUtils.playSound(0);
-                            this.refreshHBillNoFocus()
+                            this.refreshHBarCodeFocus()
                             uni.showToast({
                                 title: res.data.Message,
                                 icon: 'none'
@@ -706,7 +708,7 @@
                         }
                     } catch (e) {
                         CommonUtils.playSound(0)
-                        this.refreshHBillNoFocus()
+                        this.refreshHBarCodeFocus()
                         uni.showToast({
                             title: '鎺ュ彛璇锋眰澶辫触: ' + e,
                             icon: 'none'
diff --git a/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue b/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue
index 1299003..d962d7d 100644
--- a/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue
+++ b/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue
@@ -40,6 +40,7 @@
                 <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 :class="tabs == 4 ? 'on':''" @tap="tabs = 4">涓嬫灦淇℃伅</view>
             </view>
 
             <view v-if="tabs == 1">
@@ -169,6 +170,9 @@
                 </view>
             </view>
 
+            <view v-if="tabs == 4">
+                <FIFOListComponentVue :FIFOList="HFIFOList"></FIFOListComponentVue>
+            </view>
             <view class="bottom-btn">
                 <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
                 <view style="flex: 1;"></view>
@@ -186,7 +190,11 @@
     import {
         CommonUtils
     } from "@/utils/common.js"
+    import FIFOListComponentVue from "@/components/FIFOListModule/FIFOListComponent.vue"
     export default {
+        components: {
+            FIFOListComponentVue
+        },
         data() {
             return {
                 userInfo: getUserInfo(),
@@ -239,7 +247,8 @@
                     HTMQty_B: '',
                     HWHName_B: '',
                     HSPName_B: '',
-                }
+                },
+                HFIFOList: [], // 鍏堣繘鍏堝嚭鍒楄〃缂撳瓨
             }
         },
         onLoad(e) {
@@ -609,6 +618,8 @@
                                 HMaker: this.hform.HMaker,
                                 HWhID: sHWHID,
                                 HSPID: sHSPID,
+                                HSCWHID: 0,
+                                HSCSPID: 0,
                                 HQty: sHQty,
                                 // HRedBlueFlag: this.hform.HRedBlueFlag,
                                 // SourceFlag: HSourceFlag,
@@ -678,6 +689,35 @@
                             } else { //鐗╂枡鏉$爜
                                 this.tabs = 2
                                 console.log('data', data)
+                                let exit = false
+                                let controlState = data.hBackField
+                                if (controlState == 1) {
+                                    // 鍚敤寮烘帶鍒� 绂佹 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑 鐗╂枡鎵爜
+                                    CommonUtils.showTips({
+                                        title: "娓╅Θ鎻愮ず",
+                                        message: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝绂佹鍑哄簱..."
+                                    })
+                                    exit = true
+                                }
+                                if (controlState == 2) {
+                                    // 涓嶅惎鐢ㄥ己鎺у埗 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑鐗╂枡 閫氳繃寮圭獥璇㈤棶鏄惁闇�瑕� 鍑哄簱
+                                    uni.showModal({
+                                        title: "娓╅Θ鎻愮ず",
+                                        content: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝璇风‘璁ゆ槸鍚﹁鍑哄簱...",
+                                        success: (res) => {
+                                            if (res.confirm) {
+                                                exit = false
+                                            } else if (res.cancel) {
+                                                // 鍙栨秷鍑哄簱
+                                                exit = true
+                                            }
+                                        }
+                                    })
+                                }
+                                
+                                if(exit) {
+                                    return
+                                }
                                 if (!this.hform.HSourceBillNo) {
                                     this.hform.HSupName = data.hSupNameField
                                     this.hform.HSupID = data.hSupIDField
@@ -715,7 +755,7 @@
                             this.hform.HQty = ''
                         } else {
                             CommonUtils.playSound(0);
-                            this.refreshHBillState()
+                            this.refreshBarCodeState()
                             uni.showToast({
                                 title: res.data.Message,
                                 icon: 'none'
@@ -723,7 +763,7 @@
                         }
                     } catch (e) {
                         CommonUtils.playSound(0)
-                        this.refreshHBillState()
+                        this.refreshBarCodeState()
                         uni.showToast({
                             title: '鎺ュ彛璇锋眰澶辫触: ' + e,
                             icon: 'none'
@@ -876,6 +916,7 @@
                         if (res.data.count == 1) {
                             var data = res.data.data
                             this.Materlist = data.Materlist
+                            this.HFIFOList = data.FIFOlist
                             if (!data.BarCodeDetailslist[0].HBarCode) {
                                 this.hform.HMaterName_B = ''
                                 this.hform.HMaterModel_B = ''
diff --git a/pages/shengchandiaobo/MoveStockBill.vue b/pages/shengchandiaobo/MoveStockBill.vue
index 5ec221c..52c9c1c 100644
--- a/pages/shengchandiaobo/MoveStockBill.vue
+++ b/pages/shengchandiaobo/MoveStockBill.vue
@@ -18,29 +18,47 @@
                 </view>
             </view>
             <view class="form-item">
-                <view class="title">浠撳簱:</view>
+                <view class="title">璋冨嚭浠撳簱:</view>
                 <view class="right">
-                    <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
-                        @input="HWHNameChange"></uni-combox>
+                    <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HSCWHName"
+                        @input="HSCWHNameChange"></uni-combox>
                 </view>
             </view>
             <view class="form-item">
-                <view class="title">浠撲綅:</view>
-                <view class="right" v-show="showHStockPlaceName">
+                <view class="title">璋冨嚭浠撲綅:</view>
+                <view class="right" v-show="showHSCStockPlaceName">
                     <uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
-                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"></uni-combox>
+                        v-model="hform.HSCSPName" @input="HSCStockPlaceNameChange"></uni-combox>
                 </view>
-                <view class="righton" v-show="!showHStockPlaceName">
-                    <input v-model="hform.HStockPlaceName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" />
+                <view class="righton" v-show="!showHSCStockPlaceName">
+                    <input v-model="hform.HSCSPName" :disabled="!showHStockPlaceName" placeholder="涓嶅彲鎿嶄綔" />
                 </view>
             </view>
             <view class="tabs">
                 <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 :class="tabs == 4 ? 'on':''" @tap="tabs = 4">涓嬫灦淇℃伅</view>
             </view>
 
             <view v-if="tabs == 1">
+                <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>
+                <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>
                 <view class="form-item" v-show="showHBillNo">
                     <view class="title">鍗曟嵁鍙�:</view>
                     <view class="right" style="width: 380rpx;">
@@ -86,7 +104,7 @@
                 </label>
             </view>
             <view v-if="tabs == 2">
-                <view class="list" v-for="(item,index) in Materlist" :key="index">
+                <view class="list" v-for="(item,index) in Materlist" :key="index" @tap.stop="cmdDelete(item)">
                     <uni-card :title="item.鐗╂枡鍚嶇О" :extra="'鏁伴噺:'+item.鏁伴噺" style="margin: 10px;">
                         <view class="card-detail">
                             <view class="detail">
@@ -203,6 +221,10 @@
                 </view>
             </view>
 
+            <view v-if="tabs == 4">
+                <FIFOListComponentVue :FIFOList="HFIFOList"></FIFOListComponentVue>
+            </view>
+            
             <view class="bottom-btn">
                 <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
                 <view style="flex: 1;"></view>
@@ -214,6 +236,7 @@
 </template>
 <script>
     import getDateTime from '@/utils/getdateTime.js';
+    import FIFOListComponentVue from "@/components/FIFOListModule/FIFOListComponent.vue"
     import {
         getUserInfo
     } from "@/utils/auth.js";
@@ -221,6 +244,9 @@
         CommonUtils
     } from '../../utils/common';
     export default {
+        components: {
+             FIFOListComponentVue
+        },
         data() {
             return {
                 HBillNoFocus: false,
@@ -232,6 +258,7 @@
                 OperationType: 1,
 
                 showHStockPlaceName: false,
+                showHSCStockPlaceName: false,
                 HBillNoFocus: false,
                 BarCodeFocus: false,
                 showHBillNo: true,
@@ -252,10 +279,14 @@
 
                     HBarCode: '',
                     HQty: '',
-                    HWHName: getUserInfo().HWHName,
-                    HWHID: getUserInfo().HWhID,
-                    HStockPlaceName: getUserInfo().HSPName,
-                    HStockPlaceID: getUserInfo().HSPID,
+                    HWHName: "",
+                    HWHID: 0,
+                    HStockPlaceName: "",
+                    HStockPlaceID: 0,
+                    HSCWHName: getUserInfo().HWHName,
+                    HSCWHID: getUserInfo().HWhID || 0,
+                    HSCSPName: getUserInfo().HSPName,
+                    HSCSPID: getUserInfo().HSPID || 0,
 
                     HBillNo: '',
                     HInterID: '',
@@ -280,7 +311,8 @@
                     HSPName_B: '',
                     HSCWHName_B: '',
                     HSCSPName_B: '',
-                }
+                },
+                HFIFOList: [], // 鍏堣繘鍏堝嚭鍒楄〃缂撳瓨 
             }
         },
         onLoad(e) {
@@ -296,6 +328,37 @@
             this.getHBaseList()
         },
         methods: {
+            cmdDelete(item){
+                uni.showModal({
+                    title: '鎻愮ず',
+                    content: '纭瑕佸垹闄� " ' + item.鐗╂枡鍚嶇О + ' " 鎵�鏈夋壂鐮佽褰曪紵鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛�',
+                    success: (res) => {
+                        if (res.confirm) {
+                            CommonUtils.doRequest2({
+                                url: "/WEBSController/set_DeleteBarCodeByEntryID_BillCheck_New_Json",
+                                data: {
+                                    HInterID: this.hform.HInterID,
+                                    HBillType: this.hform.HBillType,
+                                    HSourceInterID: item.HSourceInterID,
+                                    HSourceEntryID: item.HSourceEntryID,
+                                    HSourceBarCodeCtl: this.hform.HSourceBarCodeCtl
+                                },
+                                resFunction: (res) => {
+                                    if (res.data.count == 1) {
+                
+                                        this.DisBillEntryList()
+                                    } else {
+                                        uni.showToast({
+                                            title: res.data.Message,
+                                            icon: 'none'
+                                        })
+                                    }
+                                }
+                            })
+                        }
+                    }
+                })
+            },
             async refreshHBillState() {
                 this.HBillNoFocus = false
                 await this.$nextTick(() => {
@@ -370,9 +433,10 @@
                     },
                 });
             },
-            //閫夋嫨浠撳簱
+            //閫夋嫨璋冨叆浠撳簱
             HWHNameChange(e) {
                 // var name = e.split("(")
+                console.log('璋冨叆浠撳簱: ',e);
                 for (var i = 0; i < this.HWHNameList.length; i++) {
                     if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
                         this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
@@ -387,12 +451,38 @@
                     }
                 }
             },
-            //閫夋嫨浠撲綅
+            // 閫夋嫨璋冨嚭浠撳簱
+            HSCWHNameChange(e) {
+                // var name = e.split("(")
+                console.log('璋冨嚭浠撳簱: ',e);
+                for (var i = 0; i < this.HWHNameList.length; i++) {
+                    if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
+                        this.hform.HSCWHName = this.HWHNameList[i].浠撳簱鍚嶇О
+                        this.hform.HSCWHID = this.HWHNameList[i].HItemID
+                        if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
+                            this.showHSCStockPlaceName = true
+                        } else {
+                            this.hform.HStockPlaceName = ''
+                            this.showHSCStockPlaceName = false
+                        }
+                    }
+                }
+            },
+            //閫夋嫨璋冨叆浠撲綅
             HStockPlaceNameChange(e) {
                 for (var i = 0; i < this.HStockPlaceNameList.length; i++) {
                     if (this.HStockPlaceNameList[i].浠撲綅鍚嶇О == e) {
                         this.hform.HStockPlaceName = this.HStockPlaceNameList[i].浠撲綅鍚嶇О
                         this.hform.HStockPlaceID = this.HStockPlaceNameList[i].HItemID
+                    }
+                }
+            },
+            //閫夋嫨璋冨嚭浠撲綅
+            HSCStockPlaceNameChange(e) {
+                for (var i = 0; i < this.HStockPlaceNameList.length; i++) {
+                    if (this.HStockPlaceNameList[i].浠撲綅鍚嶇О == e) {
+                        this.hform.HSCSPName = this.HStockPlaceNameList[i].浠撲綅鍚嶇О
+                        this.hform.HSCSPID = this.HStockPlaceNameList[i].HItemID
                     }
                 }
             },
@@ -562,6 +652,8 @@
 
                 var sHWHID = this.hform.HWHID
                 var sHSPID = this.hform.HStockPlaceID
+                let sHSCWHID = this.hform.HSCWHID
+                let sHSCSPID = this.hform.HSCSPID
                 var sHQty = this.hform.HQty
                 var sSourceBillNo = this.hform.HSourceBillNo
                 var sSourceBillType = this.hform.HMainSourceBillType
@@ -660,6 +752,8 @@
                                 HMaker: this.hform.HMaker,
                                 HWhID: sHWHID,
                                 HSPID: sHSPID,
+                                HSCWHID: sHSCWHID,
+                                HSCSPID: sHSCSPID,
                                 HQty: sHQty,
                                 // HRedBlueFlag: this.hform.HRedBlueFlag,
                                 // SourceFlag: HSourceFlag,
@@ -731,6 +825,37 @@
                             } else { //鐗╂枡鏉$爜
                                 this.tabs = 2
                                 console.log('data', data)
+                                // 鏄惁寮烘帶
+                                let exit = false
+                                let controlState = data.hBackField
+                                if (controlState == 1) {
+                                    // 鍚敤寮烘帶鍒� 绂佹 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑 鐗╂枡鎵爜
+                                    CommonUtils.showTips({
+                                        title: "娓╅Θ鎻愮ず",
+                                        message: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝绂佹鍑哄簱..."
+                                    })
+                                    exit = true
+                                }
+                                if (controlState == 2) {
+                                    // 涓嶅惎鐢ㄥ己鎺у埗 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑鐗╂枡 閫氳繃寮圭獥璇㈤棶鏄惁闇�瑕� 鍑哄簱
+                                    uni.showModal({
+                                        title: "娓╅Θ鎻愮ず",
+                                        content: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝璇风‘璁ゆ槸鍚﹁鍑哄簱...",
+                                        success: (res) => {
+                                            if (res.confirm) {
+                                                exit = false
+                                            } else if (res.cancel) {
+                                                // 鍙栨秷鍑哄簱
+                                                exit = true
+                                            }
+                                        }
+                                    })
+
+                                }
+                                if(exit) {
+                                    return
+                                }
+                                
                                 if (!this.hform.HSourceBillNo) {
                                     this.hform.HSupName = data.hSupNameField
                                     this.hform.HSupID = data.hSupIDField
@@ -931,6 +1056,7 @@
                         if (res.data.count == 1) {
                             var data = res.data.data
                             this.Materlist = data.Materlist
+                            this.HFIFOList = data.FIFOlist
                             if (!data.BarCodeDetailslist[0].HBarCode) {
                                 this.hform.HBarCode_B = ''
                                 this.hform.HMaterName_B = ''
diff --git a/pages/shengchanlingliao/PPickingCheckBill.vue b/pages/shengchanlingliao/PPickingCheckBill.vue
index a4a3dc5..23d398a 100644
--- a/pages/shengchanlingliao/PPickingCheckBill.vue
+++ b/pages/shengchanlingliao/PPickingCheckBill.vue
@@ -39,6 +39,7 @@
                 <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 :class="tabs == 4 ? 'on':''" @tap="tabs = 4">涓嬫灦淇℃伅</view>
             </view>
 
             <view v-if="tabs == 1">
@@ -178,6 +179,10 @@
                     </view>
                 </view>
             </view>
+            
+            <view v-if="tabs == 4">
+                <FIFOListComponentVue :FIFOList="HFIFOList"></FIFOListComponentVue>
+            </view>
 
             <view class="bottom-btn">
                 <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
@@ -193,12 +198,14 @@
 <script>
     import getDateTime from '@/utils/getdateTime.js';
     import BillListPopupVue from '../../components/BillListPopup/BillListPopup_Check.vue';
+    import FIFOListComponentVue from "@/components/FIFOListModule/FIFOListComponent.vue"
     import {
         getUserInfo
     } from "@/utils/auth.js";
     import {
         CommonUtils
     } from '../../utils/common';
+
     export default {
         data() {
             return {
@@ -256,11 +263,14 @@
                     HTMQty_B: '',
                     HWHName_B: '',
                     HSPName_B: '',
-                }
+                },
+
+                HFIFOList: [], // 鍏堣繘鍏堝嚭鍒楄〃缂撳瓨 
             }
         },
         components: {
-            BillListPopupVue
+            BillListPopupVue,
+            FIFOListComponentVue
         },
         onUnload() {
             uni.$off('BillSelectComplete')
@@ -360,9 +370,9 @@
                 // await this.$nextTick(() => {
                 //     this.HBarCodeFocus = true
                 // })
-				setTimeout(() => {
-				  this.HBarCodeFocus = true;
-				}, 300);
+                setTimeout(() => {
+                    this.HBarCodeFocus = true;
+                }, 300);
             },
             async refreshHBillNoFocus() {
                 this.HBillNoFocus = false
@@ -404,7 +414,7 @@
                     return
                 }
                 let targetUrl = () => {
-                    if (/鏅轰簯|鎯犲悍/.test(this.hform.HStockOrgName)) {
+                    if (/鎯犲悍/.test(this.hform.HStockOrgName)) {
                         return "/WEBSController/get_BillBarCode_BillCheck_Json_MateOut_HuiKang"
                     }
                     return "/WEBSController/get_BillBarCode_BillCheck_Json"
@@ -711,6 +721,8 @@
                                 HMaker: this.hform.HMaker,
                                 HWhID: sHWHID,
                                 HSPID: sHSPID,
+                                HSCWHID: 0,
+                                HSCSPID: 0,
                                 HQty: sHQty,
                                 // HRedBlueFlag: this.hform.HRedBlueFlag,
                                 // SourceFlag: HSourceFlag,
@@ -782,6 +794,36 @@
                             } else { //鐗╂枡鏉$爜
                                 this.tabs = 2
                                 console.log('data', data)
+                                let exit = false
+                                let controlState = data.hBackField
+                                if (controlState == 1) {
+                                    // 鍚敤寮烘帶鍒� 绂佹 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑 鐗╂枡鎵爜
+                                    CommonUtils.showTips({
+                                        title: "娓╅Θ鎻愮ず",
+                                        message: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝绂佹鍑哄簱..."
+                                    })
+                                    exit = true
+                                }
+                                if (controlState == 2) {
+                                    // 涓嶅惎鐢ㄥ己鎺у埗 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑鐗╂枡 閫氳繃寮圭獥璇㈤棶鏄惁闇�瑕� 鍑哄簱
+                                    uni.showModal({
+                                        title: "娓╅Θ鎻愮ず",
+                                        content: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝璇风‘璁ゆ槸鍚﹁鍑哄簱...",
+                                        success: (res) => {
+                                            if (res.confirm) {
+                                                exit = false
+                                            } else if (res.cancel) {
+                                                // 鍙栨秷鍑哄簱
+                                                exit = true
+                                            }
+                                        }
+                                    })
+
+                                }
+                                if(exit){
+                                    return
+                                }
+                                
                                 if (!this.hform.HSourceBillNo) {
                                     this.hform.HSupName = data.hSupNameField
                                     this.hform.HSupID = data.hSupIDField
@@ -815,13 +857,13 @@
                             this.refreshHBarCodeFocus()
                             //鏄剧ず琛ㄤ綋鏄庣粏
                             this.DisBillEntryList()
-							this.refreshHBarCodeFocus()
+                            this.refreshHBarCodeFocus()
                             //娓呯┖鏁伴噺
                             this.hform.HQty = ''
                         } else {
                             this.refreshHBarCodeFocus()
                             CommonUtils.playSound(0);
-							this.refreshHBarCodeFocus()
+                            this.refreshHBarCodeFocus()
                             uni.showToast({
                                 title: res.data.Message,
                                 icon: 'none'
@@ -983,6 +1025,7 @@
                         if (res.data.count == 1) {
                             var data = res.data.data
                             this.Materlist = data.Materlist
+                            this.HFIFOList = data.FIFOlist
                             if (!data.BarCodeDetailslist[0].HBarCode) {
                                 this.hform.HBarCode_B = ''
                                 this.hform.HMaterName_B = ''
diff --git a/pages/shengchanruku/ProductInCheckBill.vue b/pages/shengchanruku/ProductInCheckBill.vue
index 83a97c0..ba43464 100644
--- a/pages/shengchanruku/ProductInCheckBill.vue
+++ b/pages/shengchanruku/ProductInCheckBill.vue
@@ -641,6 +641,8 @@
                                 HMaker: this.hform.HMaker,
                                 HWhID: sHWHID,
                                 HSPID: sHSPID,
+                                HSCWHID: 0,
+                                HSCSPID: 0,
                                 HQty: sHQty,
                                 // HRedBlueFlag: this.hform.HRedBlueFlag,
                                 // SourceFlag: HSourceFlag,
diff --git a/pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue b/pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue
index 9660e1b..5c37658 100644
--- a/pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue
+++ b/pages/weiwailingliaojiaoyan/EntrustOutCheckBill.vue
@@ -40,6 +40,7 @@
                 <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 :class="tabs == 4 ? 'on':''" @tap="tabs = 4">涓嬫灦淇℃伅</view>
             </view>
 
             <view v-if="tabs == 1">
@@ -172,6 +173,11 @@
                     </view>
                 </view>
             </view>
+            
+            <view v-if="tabs == 4">
+                <FIFOListComponentVue :FIFOList="HFIFOList"></FIFOListComponentVue>
+            </view>
+            
 
             <view class="bottom-btn">
                 <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
@@ -184,6 +190,7 @@
 </template>
 <script>
     import getDateTime from '@/utils/getdateTime.js';
+    import FIFOListComponentVue from "@/components/FIFOListModule/FIFOListComponent.vue"
     import {
         getUserInfo
     } from "@/utils/auth.js";
@@ -191,6 +198,9 @@
         CommonUtils
     } from "@/utils/common.js"
     export default {
+        components: {
+          FIFOListComponentVue  
+        },
         data() {
             return {
                 userInfo: getUserInfo(),
@@ -243,7 +253,8 @@
                     HTMQty_B: '',
                     HWHName_B: '',
                     HSPName_B: '',
-                }
+                },
+                HFIFOList: [], // 鍏堣繘鍏堝嚭鍒楄〃缂撳瓨
             }
         },
         onLoad(e) {
@@ -524,6 +535,8 @@
                             HMaker: this.hform.HMaker,
                             HWhID: sHWHID,
                             HSPID: sHSPID,
+                            HSCWHID: 0,
+                            HSCSPID: 0,
                             HQty: sHQty,
                             // HRedBlueFlag: this.hform.HRedBlueFlag,
                             // SourceFlag: HSourceFlag,
@@ -589,6 +602,39 @@
                                     this.tabs = 2
                                 } else { //鐗╂枡鏉$爜
                                     this.tabs = 2
+                                    
+                                    let exit = false
+                                    let controlState = data.hBackField
+                                    if (controlState == 1) {
+                                        // 鍚敤寮烘帶鍒� 绂佹 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑 鐗╂枡鎵爜
+                                        CommonUtils.showTips({
+                                            title: "娓╅Θ鎻愮ず",
+                                            message: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝绂佹鍑哄簱..."
+                                        })
+                                        exit = true
+                                    }
+                                    if (controlState == 2) {
+                                        // 涓嶅惎鐢ㄥ己鎺у埗 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑鐗╂枡 閫氳繃寮圭獥璇㈤棶鏄惁闇�瑕� 鍑哄簱
+                                        uni.showModal({
+                                            title: "娓╅Θ鎻愮ず",
+                                            content: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝璇风‘璁ゆ槸鍚﹁鍑哄簱...",
+                                            success: (res) => {
+                                                if (res.confirm) {
+                                                    exit = false
+                                                } else if (res.cancel) {
+                                                    // 鍙栨秷鍑哄簱
+                                                    exit = true
+                                                }
+                                            }
+                                        })
+                                    
+                                    }
+                                    
+                                    if(exit){
+                                        return
+                                    }
+                                    
+                                    
                                     if (!this.hform.HSourceBillNo) {
                                         this.hform.HSupName = data.hSupNameField
                                         this.hform.HSupID = data.hSupIDField
@@ -660,6 +706,7 @@
                         if (res.data.count == 1) {
                             var data = res.data.data
                             this.Materlist = data.Materlist
+                            this.HFIFOList = data.FIFOlist
                             if (!data.BarCodeDetailslist[0].HBarCode) {
                                 this.hform.HMaterName_B = ''
                                 this.hform.HMaterModel_B = ''
diff --git a/pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue b/pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue
index ea4a7fa..49d6b35 100644
--- a/pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue
+++ b/pages/xiaoshouchukujiaoyan/SellOutCheckBill.vue
@@ -40,6 +40,7 @@
                 <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 :class="tabs == 4 ? 'on':''" @tap="tabs = 4">涓嬫灦淇℃伅</view>
             </view>
 
             <view v-if="tabs == 1">
@@ -78,7 +79,7 @@
                     </view>
                 </view>
                 <label class="checkbox" style="float: right !important;">
-                    <checkbox :checked="hform.chkHBarflag" style="transform:scale(0.8)" disabled color="#4f81fc" />鏉$爜鏍稿
+                    <checkbox :checked="hform.chkHBarflag == 1" style="transform:scale(0.8)" disabled color="#4f81fc" />鏉$爜鏍稿
                 </label>
             </view>
             <view v-if="tabs == 2">
@@ -114,7 +115,6 @@
                 </view>
                 <view class="over" v-if="Materlist.length == 0">鏆傛棤鏁版嵁</view>
             </view>
-
             <view v-if="tabs == 3">
                 <view class="form-item">
                     <view class="title">鏉$爜:</view>
@@ -171,6 +171,9 @@
                     </view>
                 </view>
             </view>
+            <view v-if="tabs == 4">
+                <FIFOListComponentVue :FIFOList="HFIFOList"></FIFOListComponentVue>
+            </view>
 
             <view class="bottom-btn">
                 <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
@@ -183,6 +186,7 @@
 </template>
 <script>
     import getDateTime from '@/utils/getdateTime.js';
+    import FIFOListComponentVue from "@/components/FIFOListModule/FIFOListComponent.vue"
     import {
         getUserInfo
     } from "@/utils/auth.js";
@@ -190,6 +194,9 @@
         CommonUtils
     } from "@/utils/common.js"
     export default {
+        components: {
+            FIFOListComponentVue
+        },
         data() {
             return {
                 userInfo: getUserInfo(),
@@ -243,7 +250,8 @@
                     HTMQty_B: '',
                     HWHName_B: '',
                     HSPName_B: '',
-                }
+                },
+                HFIFOList: [], // 鍏堣繘鍏堝嚭鍒楄〃缂撳瓨
             }
         },
         onLoad(e) {
@@ -523,6 +531,8 @@
                             HMaker: this.hform.HMaker,
                             HWhID: sHWHID,
                             HSPID: sHSPID,
+                            HSCWHID: 0,
+                            HSCSPID: 0,
                             HQty: sHQty,
                             // HRedBlueFlag: this.hform.HRedBlueFlag,
                             // SourceFlag: HSourceFlag,
@@ -588,6 +598,36 @@
                                     this.tabs = 2
                                 } else { //鐗╂枡鏉$爜
                                     this.tabs = 2
+                                    
+                                    let exit = false
+                                    let controlState = data.hBackField
+                                    if (controlState == 1) {
+                                        // 鍚敤寮烘帶鍒� 绂佹 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑 鐗╂枡鎵爜
+                                        CommonUtils.showTips({
+                                            title: "娓╅Θ鎻愮ず",
+                                            message: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝绂佹鍑哄簱..."
+                                        })
+                                        exit = true
+                                    }
+                                    if (controlState == 2) {
+                                        // 涓嶅惎鐢ㄥ己鎺у埗 涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓殑鐗╂枡 閫氳繃寮圭獥璇㈤棶鏄惁闇�瑕� 鍑哄簱
+                                        uni.showModal({
+                                            title: "娓╅Θ鎻愮ず",
+                                            content: "鐗╂枡涓嶅湪鍏堣繘鍏堝嚭鍒楄〃涓紝璇风‘璁ゆ槸鍚﹁鍑哄簱...",
+                                            success: (res) => {
+                                                if (res.confirm) {
+                                                    exit = false
+                                                } else if (res.cancel) {
+                                                    // 鍙栨秷鍑哄簱
+                                                    exit = true
+                                                }
+                                            }
+                                        })
+                                    
+                                    }
+                                    if(exit){
+                                        return
+                                    }
                                     if (!this.hform.HSourceBillNo) {
                                         this.hform.HSupName = data.hSupNameField
                                         this.hform.HSupID = data.hSupIDField
@@ -659,6 +699,7 @@
                         if (res.data.count == 1) {
                             var data = res.data.data
                             this.Materlist = data.Materlist
+                            this.HFIFOList = data.FIFOlist
                             if (!data.BarCodeDetailslist[0].HBarCode) {
                                 this.hform.HMaterName_B = ''
                                 this.hform.HMaterModel_B = ''
diff --git a/utils/i18n.js b/utils/i18n.js
index de6b8aa..b097a7e 100644
--- a/utils/i18n.js
+++ b/utils/i18n.js
@@ -1,4 +1,46 @@
 // 杩滅▼鑾峰彇璇█鍖呭苟鍔犺浇
 import i18n from "@/main";
-import { CommonUtils }  from "./common.js"
+import {
+    CommonUtils
+} from "./common.js"
+const MissingKeysMap = new Map()
 
+// 杩滅▼鑾峰彇璇█鍖�
+export async function getLanguagePackJson(language, forceUpdate = false) {
+    try {
+        const res = await CommonUtils.doRequest2Async({
+            url: '/Xt_grdAlignment_WMES/SelectMESLanguage_JSON',
+            data: {
+                language: language,
+                forceUpdate: forceUpdate
+            }
+        })
+        let {data, Message, count} = res.data
+        if(count == 1) {   
+            return data
+        }else {
+            CommonUtils.showTips({
+                title: "娓╅Θ鎻愮ず",
+                message: "[i18n]鑾峰彇璇█鍖呭け璐�: " + Message
+            })
+            return
+        }
+    }catch(err) {
+        CommonUtils.showTips({
+            title: "娓╅Θ鎻愮ず",
+            message: "[i18n]鑾峰彇璇█鍖呭け璐�: " + err.message
+        })
+        return
+    }
+}
+
+export function addMissingKeyToMap(key) {
+    MissingKeysMap.set(key, key)
+}
+
+// 娣诲姞缂哄け瀛楁鍒拌繙绋嬫暟鎹簱
+export async function syncMissingKeyToDB(){
+    
+    // 娓呴櫎缂哄け瀛楁缂撳瓨
+    MissingKeysMap.clear()
+}

--
Gitblit v1.9.1