From e846e2aef87f51ffaeba4bd14d15b0099b17b62a Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期三, 24 十二月 2025 08:57:35 +0800
Subject: [PATCH] 海诚检验单优化

---
 pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue           |    8 
 pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue    |   14 
 pages/ZLGL/mojianjianyan/lastPieceCheckBill.vue                 |  231 +++++++++++++++++--------
 pages/ZLGL/xunjianjianyan/PatrolProcCheckBill.vue               |    2 
 pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue        |    6 
 pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue                |   16 
 pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue |    6 
 pages/ZLGL/shoujianjianyan/firstCheckBill.vue                   |  207 +++++++++++++++-------
 8 files changed, 322 insertions(+), 168 deletions(-)

diff --git a/pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue b/pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue
index 23b3660..840c1ab 100644
--- a/pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue
+++ b/pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue
@@ -640,11 +640,11 @@
 			    }
 			    
 			    if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
-			     this.checkItems[item.num].HResult = true
+			     this.checkItems[item.num].HResult = 1
 		         return
 		     }
 		     
-		     this.checkItems[item.num].HResult = false
+		     this.checkItems[item.num].HResult = 2
 			},
 			// 婧愬崟绫诲瀷閫夋嫨
 			HSourceBillTypeNameChange(e) {
@@ -1601,7 +1601,7 @@
 				}
 				try {
 					let res = await CommonUtils.doRequest2Async({
-						url: "/Web/GetCheckItemByCheckProjectID",
+						url: "/Web/GetCheckItemByCheckProjectID_Sec",
 						data: {
 							CheckProjectID: this.hform.HQCSchemeID || 0,
 							HBatchQty: this.hform.HProcExchQty || 0,
diff --git a/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue b/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
index c2dc66d..1f2c0b3 100644
--- a/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
+++ b/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
@@ -640,11 +640,11 @@
 			    }
 			    
 			    if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
-			     this.checkItems[item.num].HResult = true
+			     this.checkItems[item.num].HResult = 1
 		         return
 		     }
 		     
-		     this.checkItems[item.num].HResult = false
+		     this.checkItems[item.num].HResult = 2
 			},
 			// 婧愬崟绫诲瀷閫夋嫨
 			HSourceBillTypeNameChange(e) {
@@ -1565,7 +1565,7 @@
 				}
 				try {
 					let res = await CommonUtils.doRequest2Async({
-						url: "/Web/GetCheckItemByCheckProjectID",
+						url: "/Web/GetCheckItemByCheckProjectID_Sec",
 						data: {
 							CheckProjectID: this.hform.HQCSchemeID || 0,
 							HBatchQty: this.hform.HProcExchQty || 0,
diff --git a/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue b/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue
index 3b5fff0..f4b7b7a 100644
--- a/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue
+++ b/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue
@@ -826,16 +826,16 @@
             calcHResult(item) {
                 // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
                 console.log('item: ', item);
-                if (item.HSampleSchemeID) {
+                if (!item.HSampleSchemeID) {
                     return
                 }
 
                 if (item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit) {
-                    this.checkItems[item.num].HResult = true
+                    this.checkItems[item.num].HResult = 1
                     return
                 }
 
-                this.checkItems[item.num].HResult = false
+                this.checkItems[item.num].HResult = 2
             },
             // 婧愬崟绫诲瀷閫夋嫨
             HSourceBillTypeNameChange(e) {
@@ -1819,7 +1819,7 @@
                 }
                 try {
                     let res = await CommonUtils.doRequest2Async({
-                        url: "/Web/GetCheckItemByCheckProjectID",
+                        url: "/Web/GetCheckItemByCheckProjectID_Sec",
                         data: {
                             CheckProjectID: this.hform.HQCSchemeID || 0,
                             HBatchQty: this.hform.HProcExchQty || 0,
diff --git a/pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue b/pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue
index 216f481..3241dd7 100644
--- a/pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue
+++ b/pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue
@@ -96,7 +96,7 @@
                         <view class="left">妫�楠屽憳</view>
                         <view class="right">
                             <uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
-                                :v-model="hform.HFirstCheckEmpName"
+                                v-model="hform.HFirstCheckEmpName"
                                 @update:modelValue="HFirstCheckEmpChange"></uni-combox>
                         </view>
                     </view>
@@ -679,8 +679,8 @@
                     HMaterNumber: "",
                     HMaterID: "0",
                     HMaterName: "",
-                    HFirstCheckEmpName: "",
-                    HFirstCheckEmp: 0,
+                    HFirstCheckEmpName: getUserInfo().HEmpName,
+                    HFirstCheckEmp: getUserInfo().HEmpID,
                     HQCSchemeName: "",
                     HQCSchemeID: "0",
                     HBatchNo: "",
@@ -822,16 +822,16 @@
             calcHResult(item) {
                 // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
                 console.log('item: ', item);
-                if (item.HSampleSchemeID) {
+                if (!item.HSampleSchemeID) {
                     return
                 }
 
                 if (item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit) {
-                    this.checkItems[item.num].HResult = true
+                    this.checkItems[item.num].HResult = 1
                     return
                 }
 
-                this.checkItems[item.num].HResult = false
+                this.checkItems[item.num].HResult = 2
             },
             // 婧愬崟绫诲瀷閫夋嫨
             HSourceBillTypeNameChange(e) {
@@ -1804,7 +1804,7 @@
                 }
                 try {
                     let res = await CommonUtils.doRequest2Async({
-                        url: "/Web/GetCheckItemByCheckProjectID",
+                        url: "/Web/GetCheckItemByCheckProjectID_Sec",
                         data: {
                             CheckProjectID: this.hform.HQCSchemeID || 0,
                             HBatchQty: this.hform.HProcExchQty || 0,
@@ -2254,7 +2254,7 @@
         async onLoad(e) {
             this.operationType = e.operationType || 1;
             this.hform.HInterID = e.linterid || 0;
-            
+            console.log(this.hform.HFirstCheckEmp)
             if (this.operationType == 1) {
                 await this.getMaxBillNo();
             } else if (this.operationType == 2) {} else if (this.operationType == 3) {
diff --git a/pages/ZLGL/mojianjianyan/lastPieceCheckBill.vue b/pages/ZLGL/mojianjianyan/lastPieceCheckBill.vue
index c80f0a6..7b428ee 100644
--- a/pages/ZLGL/mojianjianyan/lastPieceCheckBill.vue
+++ b/pages/ZLGL/mojianjianyan/lastPieceCheckBill.vue
@@ -35,12 +35,14 @@
 								v-model="hform.HSourceBillNo" @confirm="getSourceBillInfo(hform.HSourceBillNo)" />
 						</view>
 						<view class="icon-wrapper-big">
-							<uni-icons class="right-icon" type="scan" style="
-                  background-color: #3a78ff;
-                  padding: 6rpx;
-                  color: #fff;
-                  border-radius: 100%;
-                " size="20" @click="toScanCode"></uni-icons>
+							<uni-icons class="right-icon" type="scan" 
+								:class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+                                :disabled="hasSourceBill" size="20" @click="toScanCode"></uni-icons>
+						</view>
+						<view class="icon-wrapper-big">
+							<uni-icons class="right-icon" type="search"
+								:class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+								:disabled="hasSourceBill" size="20" @click="toBillSelector"></uni-icons>
 						</view>
 					</view>
 					
@@ -49,7 +51,8 @@
 						<view class="right disabled">
 							<input type="text" :value="hform.HICMOBillNo" disabled />
 						</view>
-						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20":class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+							:disabled="hasSourceBill"
 								@click="showSelectorModule(hform, 5)"></uni-icons></view>
 					</view>
 				
@@ -58,7 +61,8 @@
 						<view class="right disabled">
 							<input type="text" :value="hform.HProcExchBillNo" disabled />
 						</view>
-						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20":class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+							:disabled="hasSourceBill"
 								@click="showSelectorModule(hform, 6)"></uni-icons></view>
 					</view>
 					
@@ -68,7 +72,8 @@
 							<input type="text" disabled :value="hform.HMaterNumber" />
 						</view>
 						<view class="icon-wrapper-big">
-							<uni-icons type="search" size="20" @click="showSelectorModule(hform, 4)"></uni-icons>
+							<uni-icons type="search" size="20" :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+							:disabled="hasSourceBill" @click="showSelectorModule(hform, 4)"></uni-icons>
 						</view>
 					</view>
 					<view class="form-item">
@@ -78,10 +83,16 @@
 						</view>
 					</view>
 					<view class="form-item">
+						<view class="left">妫�楠屾暟閲�</view>
+						<view class="right">
+							<input type="number" v-model="hform.HCheckQty" />
+						</view>
+					</view>
+					<view class="form-item">
 						<view class="left">妫�楠屽憳</view>
 						<view class="right">
 							<uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
-								:v-model="hform.HFirstCheckEmpName"
+								v-model="hform.HFirstCheckEmpName"
 								@update:modelValue="HFirstCheckEmpChange"></uni-combox>
 						</view>
 					</view>
@@ -99,12 +110,12 @@
 						<view class="right none-border">
 							<radio-group @changer="checkResultChange">
 								<label>
-									<radio value="0" :checked="hform.HLastResult" /><text></text>
+									<radio value="0" :checked="hform.HCheckerResult" /><text></text>
 									鍚堟牸
 								</label>
 								<view style="width: 20rpx; display: inline-block"></view>
 								<label>
-									<radio value="1" :checked="!hform.HLastResult" /><text></text>
+									<radio value="1" :checked="!hform.HCheckerResult" /><text></text>
 									涓嶅悎鏍�
 								</label>
 							</radio-group>
@@ -115,7 +126,8 @@
 						<view class="right disabled">
 							<input type="text" disabled :value="hform.HProcName" />
 						</view>
-						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20" :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+                                :disabled="hasSourceBill"
 								@click="showSelectorModule(hform, 8)"></uni-icons></view>
 					</view>
 					
@@ -308,8 +320,11 @@
 								<view class="detail" v-if="checkItem.HUnit">
 									<text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
 								</view>
-								<view class="detail" v-if="checkItem.HQCStd">
-									<text>妫�楠屽�硷細</text>{{ checkItem.HQCStd }}
+								<!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+								<view class="detail editable" v-show="checkItem.HAnalysisMethod == 2">
+								    <text>妫�楠屽�硷細</text>
+								    <input type="text" class="editable-input" @blur="calcHResult(checkItem)"
+								        v-model="checkItem.HInspectValQ" />
 								</view>
 								<view class="detail" v-if="checkItem.HQCNote">
 									<text>妫�楠岃褰曪細</text>{{ checkItem.HQCNote }}
@@ -448,6 +463,8 @@
 			:bindKey="0"></ProcessPopupVue>
 		<CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
 			@update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+		<BillListPopupVue ref="billList" :HBillType="hform.HBillType" :HSourceBillType="hform.HSourceBillType"
+			:HStockOrgID="hform.HStockOrgID" @BillSelectComplete="HandleBillSelectComplete"></BillListPopupVue>
 	</view>
 </template>
 
@@ -465,6 +482,7 @@
 	import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
 	import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
 	import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+	import BillListPopupVue from "../../../components/BillListPopup/BillListPopup.vue";
 	import {
 		getUserInfo
 	} from "../../../utils/auth";
@@ -482,6 +500,7 @@
 			ProcExchBillPopupVue,
 			ProcessPopupVue,
 			CheckProjectPopupVue,
+			BillListPopupVue,
 		},
 		computed: {
 			judgeConclusion: {
@@ -565,7 +584,9 @@
 				// 涓昏〃灞炴��
 				hform: {
 					HSourceBillType: "3791",
+					HBillType: '7507',
 					HSourceBillNo: "",
+					HSourceBillQty: 0,
 					HBillNo: "",
 					HInterID: "0",
 					HDate: dayjs(new Date()).format("YYYY-MM-DD"),
@@ -584,12 +605,12 @@
 					HMaterNumber: "",
 					HMaterID: "0",
 					HMaterName: "",
-					HFirstCheckEmpName: "",
-					HFirstCheckEmp: 0,
+					HFirstCheckEmpName: getUserInfo().HEmpName,
+					HFirstCheckEmp: getUserInfo().HEmpID,
 					HQCSchemeName: "",
 					HQCSchemeID: "0",
 					HBatchNo: "",
-					HLastResult: true, // 榛樿鍚堟牸
+					HCheckerResult: true, // 榛樿鍚堟牸
 					HProcName: "",
 					HProcID: "0",
 					HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
@@ -608,7 +629,9 @@
 					HDeleteDate: "",
 					HResult: 1,
 					HAnalysisMethod: "",
-
+					
+					HCheckQty: 0,
+					
 					HResDec: "",
 					HStatus: 1,
 
@@ -616,6 +639,7 @@
 					HMainSourceInterID: "0",
 					HMainSourceEntryID: "1",
 					HMainSourceBillNo: "",
+					HStockOrgID: uni.getStorageSync('OrganizationID'),
 				},
 				// 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
 				checkItems: {},
@@ -630,6 +654,30 @@
 			HSourceBillTypeNameChange(e) {
 				this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
 				this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+				const pages = getCurrentPages()
+				// 鑾峰彇椤甸潰鏍堜腑鐨勬渶鍚庝竴涓厓绱狅紝涔熷氨鏄綋鍓嶆樉绀虹殑椤甸潰
+				const currentPage = pages[pages.length - 1]
+				// 閫夋嫨婧愬崟绫诲瀷鍚� 缂撳瓨褰撳墠椤甸潰閫夋嫨
+				uni.setStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`, {
+					HSourceBillTypeName: this.HSourceBillType,
+					HSourceBillType: this.hform.HSourceBillType
+				})
+			},
+			// 璇诲彇缂撳瓨
+			loadCache() {
+				const pages = getCurrentPages()
+				// 鑾峰彇椤甸潰鏍堜腑鐨勬渶鍚庝竴涓厓绱狅紝涔熷氨鏄綋鍓嶆樉绀虹殑椤甸潰
+				const currentPage = pages[pages.length - 1]
+				let HBillTypeCache = uni.getStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`)
+				if (HBillTypeCache) {
+					this.HSourceBillType = HBillTypeCache.HSourceBillTypeName
+					this.hform.HSourceBillType = HBillTypeCache.HSourceBillType
+					this.hform.HMainSourceBillType = HBillTypeCache.HSourceBillType
+				}
+			},
+			// 鏍规嵁婧愬崟绫诲瀷閫夋嫨鍗曟嵁
+			toBillSelector() {
+				this.$refs['billList'].showPopup()
 			},
 			toScanCode() {
 				MpaasScan.scanCode((res) => {
@@ -640,58 +688,55 @@
 			},
 			async getSourceBillInfo(HBarCode) {
 				console.log('HBarCode: ', HBarCode);
-				// 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
-				if (this.hform.HSourceBillType == 3791) {
-					// 宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛ㄩ妫�
-					await this.LoadingInformation_StationInBill(HBarCode);
-					if (
-						(uni.getStorageSync("OrganizationID") == "7667152" &&
-							uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
-						(uni.getStorageSync("OrganizationID") == "100199" &&
-							uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
-					) {
-						await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+				let res = await CommonUtils.doRequest2Async({
+					url: "/WEBSController/get_CheckBillBarCode_Json_CheckItem",
+					data: {
+						HBillType: this.hform.HBillType,
+						HSourceBillType: this.hform.HSourceBillType,
+						HBarCode: HBarCode,
+						HInterID: 0,
+						HEntryID: 0,
+						Mode: 1 //鎵爜妯″紡
 					}
-					return;
-				}
-				// if (this.hform.HSourceBillType == 3793) {
-				//     // 宸ュ簭濮斿鎺ユ敹鍗曞垪琛ㄩ妫�
-				//     await this.LoadingInformation_StationEntrustOutBill(HBarCode);
-				//     if (
-				//         (uni.getStorageSync("OrganizationID") == "7667152" &&
-				//             uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
-				//         (uni.getStorageSync("OrganizationID") == "100199" &&
-				//             uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
-				//     ) {
-				//         await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
-				//     }
-				//     return;
-				// }
-				if (this.hform.HSourceBillType == 3710) {
-					// 鐢熶骇璁㈠崟鍒楄〃棣栨
-					await this.LoadingInformation_ICMO(HBarCode);
-					if (
-						(uni.getStorageSync("OrganizationID") == "7667152" &&
-							uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
-						(uni.getStorageSync("OrganizationID") == "100199" &&
-							uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
-					) {
-						await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
-					}
-					return;
-				}
-				if (this.hform.HSourceBillType == 3772) {
-					// 宸ュ簭娴佽浆鍗″垪琛ㄩ妫�
-					await this.LoadingInformation_ProcExchange(HBarCode);
-					if (
-						(uni.getStorageSync("OrganizationID") == "7667152" &&
-							uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
-						(uni.getStorageSync("OrganizationID") == "100199" &&
-							uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
-					) {
-						await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
-					}
-					return;
+				})
+			
+				console.log(res)
+				let {
+					data,
+					Message,
+					count
+				} = res.data
+				if (count == 1) {
+					this.hform.HMaterID = data[0]['HMaterID']
+					this.hform.HMaterName = data[0]['浜у搧鍚嶇О']
+					this.hform.HMaterNumber = data[0]['HMaterNumber']
+					this.hform.HMainSourceBillNo = data[0]['HBillNo']
+					this.hform.HSourceBillNo = data[0]['HBillNo']
+					this.hform.HMainSourceInterID = data[0].HInterID
+					this.hform.HMainSourceEntryID = data[0].HEntryID
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D
+					this.hform.HSourceBillQty = data[0].HSourceBillQty
+					this.hasSourceBill = true
+					this.hform.HICMOBillNo= data[0].浠诲姟鍗曞彿
+					this.hform.HICMOInterID= data[0].HICMOInterID
+					this.hform.HICMOEntryID= data[0].HICMOEntryID
+					this.hform.HICMOQty= data[0].鐢熶骇鏁伴噺
+					this.hform.HProcExchBillNo= data[0].鍗曟嵁鍙�
+					this.hform.HProcExchInterID= data[0].HInterID
+					this.hform.HProcExchEntryID= data[0].HEntryID
+					this.hform.HProcExchQty= data[0].娴佽浆鍗℃暟閲�
+					this.hform.HSourceName= data[0].鐢熶骇璧勬簮
+					this.hform.HSourceID= data[0].HSourceID
+					this.hform.HProcID= data[0].HProcID
+					this.hform.HProcName= data[0].褰撳墠宸ュ簭
+
+					this.get_CheckItem();
+				} else {
+					CommonUtils.showTips({
+						title: '娓╅Θ鎻愮ず',
+						message: Message
+					})
 				}
 			},
 			async GetCheckItemID() {
@@ -1258,10 +1303,25 @@
 				}
 
 				if (unPassNum > 0) {
-					this.hform.HLastResult = false;
+					this.hform.HCheckerResult = false;
 					return;
 				}
-				this.hform.HLastResult = true;
+				this.hform.HCheckerResult = true;
+			},
+			// 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+			calcHResult(item) {
+			    // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+			    console.log('item: ', item);
+			    if (!item.HSampleSchemeID) {
+			        return
+			    }
+			
+			    if (item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit) {
+			        this.checkItems[item.num].HResult = 1
+			        return
+			    }
+			
+			    this.checkItems[item.num].HResult = 2
 			},
 			// 妫�楠屾柟妗堜慨鏀�
 			HAnalysisMethodChange(id, e) {
@@ -1565,10 +1625,12 @@
 				}
 				try {
 					let res = await CommonUtils.doRequest2Async({
-						url: "/Web/GetCheckItemByCheckProjectID",
+						url: "/Web/GetCheckItemByCheckProjectID_Sec",
 						data: {
 							CheckProjectID: this.hform.HQCSchemeID || 0,
 							HBatchQty: this.hform.HProcExchQty || 0,
+							HMaterID: this.hform.HMaterID,
+							HBillType: '鐢熶骇鍏ュ簱妫�鏂规'
 						},
 					});
 
@@ -1918,7 +1980,7 @@
 							HShiftsName: data[0].鐝鍚嶇О,
 							HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
 							HBatchNo: data[0].鎵瑰彿,
-							HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+							HCheckerResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
 							HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
 							HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
 							HAnalysisMethod: function() {
@@ -2011,6 +2073,7 @@
 			await this.InitHSource();
 			await this.InitHWorkShift();
 			await this.InitHEmp();
+			await this.loadCache();
 		},
 	};
 </script>
@@ -2232,6 +2295,11 @@
 					border-radius: 10%;
 					padding: 0 12rpx;
 				}
+				.editable-input {
+				    border: 1px solid #acacac;
+				    border-radius: 5rpx;
+				    padding: 0 12rpx;
+				}
 			}
 		}
 	}
@@ -2289,4 +2357,19 @@
 		background-color: #f0d6e3;
 		border: none;
 	}
+	.enable-icon-button {
+		background-color: #3a78ff;
+		padding: 6rpx;
+		color: #fff;
+		border-radius: 100%;
+	}
+	
+	.disable-icon-button {
+		background-color: lightgray;
+		padding: 6rpx;
+		color: #fff;
+		border-radius: 100%;
+		pointer-events: none;
+	}
+	
 </style>
\ No newline at end of file
diff --git a/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue b/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
index dd75951..5551ec4 100644
--- a/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
+++ b/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
@@ -110,7 +110,7 @@
                         <view class="left">妫�楠屽憳</view>
                         <view class="right">
                             <uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
-                                :v-model="hform.HFirstCheckEmpName"
+                                v-model="hform.HFirstCheckEmpName"
                                 @update:modelValue="HFirstCheckEmpChange"></uni-combox>
                         </view>
                     </view>
@@ -675,8 +675,8 @@
                     HMaterNumber: "",
                     HMaterID: "0",
                     HMaterName: "",
-                    HFirstCheckEmpName: "",
-                    HFirstCheckEmp: 0,
+                    HFirstCheckEmpName: getUserInfo().HEmpName,
+                    HFirstCheckEmp: getUserInfo().HEmpID,
                     HQCSchemeName: "",
                     HQCSchemeID: "0",
                     HBatchNo: "",
@@ -835,16 +835,16 @@
             calcHResult(item) {
                 // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
                 console.log('item: ', item);
-                if (item.HSampleSchemeID) {
+                if (!item.HSampleSchemeID) {
                     return
                 }
 
                 if (item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit) {
-                    this.checkItems[item.num].HResult = true
+                    this.checkItems[item.num].HResult = 1
                     return
                 }
 
-                this.checkItems[item.num].HResult = false
+                this.checkItems[item.num].HResult = 2
             },
             // 婧愬崟绫诲瀷閫夋嫨
             HSourceBillTypeNameChange(e) {
@@ -1801,7 +1801,7 @@
                 }
                 try {
                     let res = await CommonUtils.doRequest2Async({
-                        url: "/Web/GetCheckItemByCheckProjectID",
+                        url: "/Web/GetCheckItemByCheckProjectID_Sec",
                         data: {
                             CheckProjectID: this.hform.HQCSchemeID || 0,
                             HBatchQty: this.hform.HProcExchQty || 0,
diff --git a/pages/ZLGL/shoujianjianyan/firstCheckBill.vue b/pages/ZLGL/shoujianjianyan/firstCheckBill.vue
index 423f253..d507198 100644
--- a/pages/ZLGL/shoujianjianyan/firstCheckBill.vue
+++ b/pages/ZLGL/shoujianjianyan/firstCheckBill.vue
@@ -34,13 +34,15 @@
                                 v-model="hform.HSourceBillNo" @confirm="getSourceBillInfo(hform.HSourceBillNo)" />
                         </view>
                         <view class="icon-wrapper-big">
-                            <uni-icons class="right-icon" type="scan" style="
-                  background-color: #3a78ff;
-                  padding: 6rpx;
-                  color: #fff;
-                  border-radius: 100%;
-                " size="20" @click="toScanCode"></uni-icons>
+                            <uni-icons class="right-icon" type="scan"
+                                :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+                                :disabled="hasSourceBill" size="20" @click="toScanCode"></uni-icons>
                         </view>
+						<view class="icon-wrapper-big">
+						    <uni-icons class="right-icon" type="search"
+						        :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+						        :disabled="hasSourceBill" size="20" @click="toBillSelector"></uni-icons>
+						</view>
                     </view>
                     
                     <view class="form-item">
@@ -49,6 +51,8 @@
                             <input type="text" :value="hform.HICMOBillNo" disabled />
                         </view>
                         <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+							:class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+							:disabled="hasSourceBill"
                                 @click="showSelectorModule(hform, 5)"></uni-icons></view>
                     </view>
                     <view class="form-item">
@@ -57,7 +61,8 @@
                             <input type="text" :value="hform.HProcExchBillNo" disabled />
                         </view>
                         <view class="icon-wrapper-big"><uni-icons type="search" size="20"
-                                @click="showSelectorModule(hform, 6)"></uni-icons></view>
+                                :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+                                :disabled="hasSourceBill"@click="showSelectorModule(hform, 6)"></uni-icons></view>
                     </view>
                     <view class="form-item">
                         <view class="left">浜у搧浠g爜</view>
@@ -65,7 +70,8 @@
                             <input type="text" disabled :value="hform.HMaterNumber" />
                         </view>
                         <view class="icon-wrapper-big">
-                            <uni-icons type="search" size="20" @click="showSelectorModule(hform, 4)"></uni-icons>
+                            <uni-icons type="search" size="20":class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+                                :disabled="hasSourceBill" @click="showSelectorModule(hform, 4)"></uni-icons>
                         </view>
                     </view>
                     <view class="form-item">
@@ -74,11 +80,17 @@
                             <input type="text" disabled :value="hform.HMaterName" />
                         </view>
                     </view>
+					<view class="form-item">
+					    <view class="left">妫�楠屾暟閲�</view>
+					    <view class="right">
+					        <input type="number" v-model="hform.HCheckQty" />
+					    </view>
+					</view>
                     <view class="form-item">
                         <view class="left">妫�楠屽憳</view>
                         <view class="right">
                             <uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
-                                :v-model="hform.HFirstCheckEmpName"
+                                v-model="hform.HFirstCheckEmpName"
                                 @update:modelValue="HFirstCheckEmpChange"></uni-combox>
                         </view>
                     </view>
@@ -113,7 +125,8 @@
                             <input type="text" disabled :value="hform.HProcName" />
                         </view>
                         <view class="icon-wrapper-big"><uni-icons type="search" size="20"
-                                @click="showSelectorModule(hform, 8)"></uni-icons></view>
+                                :class="!hasSourceBill?'enable-icon-button':'disable-icon-button'"
+                                :disabled="hasSourceBill"@click="showSelectorModule(hform, 8)"></uni-icons></view>
                     </view>
                     
                 </view>
@@ -456,6 +469,8 @@
             :bindKey="0"></ProcessPopupVue>
         <CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
             @update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+		<BillListPopupVue ref="billList" :HBillType="hform.HBillType" :HSourceBillType="hform.HSourceBillType"
+		    :HStockOrgID="hform.HStockOrgID" @BillSelectComplete="HandleBillSelectComplete"></BillListPopupVue>
     </view>
 </template>
 
@@ -473,6 +488,7 @@
     import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
     import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
     import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+	import BillListPopupVue from "../../../components/BillListPopup/BillListPopup.vue";
     import {
         getUserInfo
     } from "../../../utils/auth";
@@ -490,6 +506,7 @@
             ProcExchBillPopupVue,
             ProcessPopupVue,
             CheckProjectPopupVue,
+			BillListPopupVue,
         },
         computed: {
             judgeConclusion: {
@@ -573,8 +590,10 @@
                 ],
                 // 涓昏〃灞炴��
                 hform: {
+					HBillType: '7505',
                     HSourceBillType: "3790",
                     HSourceBillNo: "",
+					HSourceBillQty: 0,
                     HBillNo: "",
                     HInterID: "0",
                     HDate: dayjs(new Date()).format("YYYY-MM-DD"),
@@ -593,8 +612,8 @@
                     HMaterNumber: "",
                     HMaterID: "0",
                     HMaterName: "",
-                    HFirstCheckEmpName: "",
-                    HFirstCheckEmp: 0,
+                    HFirstCheckEmpName: getUserInfo().HEmpName,
+                    HFirstCheckEmp: getUserInfo().HEmpID,
                     HQCSchemeName: "",
                     HQCSchemeID: "0",
                     HBatchNo: "",
@@ -617,7 +636,9 @@
                     HDeleteDate: "",
                     HResult: 1,
                     HAnalysisMethod: "",
-
+					
+					HCheckQty: 0,
+					
                     HResDec: "",
                     HStatus: 1,
 
@@ -625,6 +646,8 @@
                     HMainSourceInterID: "0",
                     HMainSourceEntryID: "1",
                     HMainSourceBillNo: "",
+					
+					HStockOrgID: uni.getStorageSync('OrganizationID'),
                 },
                 // 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
                 checkItems: {},
@@ -639,22 +662,46 @@
             calcHResult(item){
                 // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
                 console.log('item: ',item);
-                if(item.HSampleSchemeID) {
+                if(!item.HSampleSchemeID) {
                     return
                 }
                 
                 if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
-                    this.checkItems[item.num].HResult = true
+                    this.checkItems[item.num].HResult = 1
                     return
                 }
                 
-                this.checkItems[item.num].HResult = false
+                this.checkItems[item.num].HResult = 2
             },
+			// 璇诲彇缂撳瓨
+			loadCache() {
+			    const pages = getCurrentPages()
+			    // 鑾峰彇椤甸潰鏍堜腑鐨勬渶鍚庝竴涓厓绱狅紝涔熷氨鏄綋鍓嶆樉绀虹殑椤甸潰
+			    const currentPage = pages[pages.length - 1]
+			    let HBillTypeCache = uni.getStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`)
+			    if (HBillTypeCache) {
+			        this.HSourceBillType = HBillTypeCache.HSourceBillTypeName
+			        this.hform.HSourceBillType = HBillTypeCache.HSourceBillType
+			        this.hform.HMainSourceBillType = HBillTypeCache.HSourceBillType
+			    }
+			},
             // 婧愬崟绫诲瀷閫夋嫨
             HSourceBillTypeNameChange(e) {
                 this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
                 this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+				const pages = getCurrentPages()
+				// 鑾峰彇椤甸潰鏍堜腑鐨勬渶鍚庝竴涓厓绱狅紝涔熷氨鏄綋鍓嶆樉绀虹殑椤甸潰
+				const currentPage = pages[pages.length - 1]
+				// 閫夋嫨婧愬崟绫诲瀷鍚� 缂撳瓨褰撳墠椤甸潰閫夋嫨
+				uni.setStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`, {
+				    HSourceBillTypeName: this.HSourceBillType,
+				    HSourceBillType: this.hform.HSourceBillType
+				})
             },
+			// 鏍规嵁婧愬崟绫诲瀷閫夋嫨鍗曟嵁
+			toBillSelector() {
+			    this.$refs['billList'].showPopup()
+			},
             toScanCode() {
                 MpaasScan.scanCode((res) => {
                     if (res) {
@@ -664,59 +711,66 @@
             },
             async getSourceBillInfo(HBarCode) {
                 console.log('HBarCode: ', HBarCode);
-                // 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
-                if (this.hform.HSourceBillType == 3790) {
-                    // 宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛ㄩ妫�
-                    await this.LoadingInformation_StationInBill(HBarCode);
-                    if (
-                        (uni.getStorageSync("OrganizationID") == "7667152" &&
-                            uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
-                        (uni.getStorageSync("OrganizationID") == "100199" &&
-                            uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
-                    ) {
-                        await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+                let res = await CommonUtils.doRequest2Async({
+                    url: "/WEBSController/get_CheckBillBarCode_Json_CheckItem",
+                    data: {
+                        HBillType: this.hform.HBillType,
+                        HSourceBillType: this.hform.HSourceBillType,
+                        HBarCode: HBarCode,
+                        HInterID: 0,
+                        HEntryID: 0,
+                        Mode: 1 //鎵爜妯″紡
                     }
-                    return;
+                })
+            
+                console.log(res)
+                let {
+                    data,
+                    Message,
+                    count
+                } = res.data
+                if (count == 1) {
+                    this.hform.HMaterID = data[0]['HMaterID']
+                    this.hform.HMaterName = data[0]['浜у搧鍚嶇О']
+                    this.hform.HMaterNumber = data[0]['HMaterNumber']
+                    this.hform.HMainSourceBillNo = data[0]['HBillNo']
+                    this.hform.HSourceBillNo = data[0]['HBillNo']
+                    this.hform.HMainSourceInterID = data[0].HInterID
+                    this.hform.HMainSourceEntryID = data[0].HEntryID
+                    this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�
+                    this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D
+                    this.hform.HSourceBillQty = data[0].HSourceBillQty
+                    this.hasSourceBill = true
+					this.hform.HICMOBillNo= data[0].浠诲姟鍗曞彿
+					this.hform.HICMOInterID= data[0].HICMOInterID
+					this.hform.HICMOEntryID= data[0].HICMOEntryID
+					this.hform.HICMOQty= data[0].鐢熶骇鏁伴噺
+					this.hform.HProcExchBillNo= data[0].鍗曟嵁鍙�
+					this.hform.HProcExchInterID= data[0].HInterID
+					this.hform.HProcExchEntryID= data[0].HEntryID
+					this.hform.HProcExchQty= data[0].娴佽浆鍗℃暟閲�
+					this.hform.HSourceName= data[0].鐢熶骇璧勬簮
+					this.hform.HSourceID= data[0].HSourceID
+					this.hform.HProcID= data[0].HProcID
+					this.hform.HProcName= data[0].褰撳墠宸ュ簭
+
+                    this.get_CheckItem();
+                } else {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: Message
+                    })
                 }
-                if (this.hform.HSourceBillType == 3793) {
-                    // 宸ュ簭濮斿鎺ユ敹鍗曞垪琛ㄩ妫�
-                    await this.LoadingInformation_StationEntrustOutBill(HBarCode);
-                    if (
-                        (uni.getStorageSync("OrganizationID") == "7667152" &&
-                            uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
-                        (uni.getStorageSync("OrganizationID") == "100199" &&
-                            uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
-                    ) {
-                        await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
-                    }
-                    return;
-                }
-                if (this.hform.HSourceBillType == 3710) {
-                    // 鐢熶骇璁㈠崟鍒楄〃棣栨
-                    await this.LoadingInformation_ICMO(HBarCode);
-                    if (
-                        (uni.getStorageSync("OrganizationID") == "7667152" &&
-                            uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
-                        (uni.getStorageSync("OrganizationID") == "100199" &&
-                            uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
-                    ) {
-                        await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
-                    }
-                    return;
-                }
-                if (this.hform.HSourceBillType == 3772) {
-                    // 宸ュ簭娴佽浆鍗″垪琛ㄩ妫�
-                    await this.LoadingInformation_ProcExchange(HBarCode);
-                    if (
-                        (uni.getStorageSync("OrganizationID") == "7667152" &&
-                            uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
-                        (uni.getStorageSync("OrganizationID") == "100199" &&
-                            uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
-                    ) {
-                        await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
-                    }
-                    return;
-                }
+            
+                // if (
+                //     (uni.getStorageSync("OrganizationID") == "7667152" &&
+                //         uni.getStorageSync("Organization") == "CMR Technology Mexico S.A. de C.V.") ||
+                //     (uni.getStorageSync("OrganizationID") == "100199" &&
+                //         uni.getStorageSync("Organization") == "鏉窞鏂帿灏旂鎬ф潗鏂欐湁闄愬叕鍙�")
+                // ) {
+                //     await this.GetCheckItemID(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+                // }
+                
             },
             async GetCheckItemID() {
                 if (!this.hform.HMaterName && !this.hform.HProcName) {
@@ -1542,10 +1596,12 @@
                 }
                 try {
                     let res = await CommonUtils.doRequest2Async({
-                        url: "/Web/GetCheckItemByCheckProjectID",
+                        url: "/Web/GetCheckItemByCheckProjectID_Sec",
                         data: {
                             CheckProjectID: this.hform.HQCSchemeID || 0,
                             HBatchQty: this.hform.HProcExchQty || 0,
+                            HMaterID: this.hform.HMaterID,
+                            HBillType: '鐢熶骇鍏ュ簱妫�鏂规'
                         },
                     });
 
@@ -1981,6 +2037,7 @@
             await this.InitHSource();
             await this.InitHWorkShift();
             await this.InitHEmp();
+			await this.loadCache();
         },
     };
 </script>
@@ -2259,4 +2316,18 @@
         background-color: #f0d6e3;
         border: none;
     }
+	.enable-icon-button {
+	    background-color: #3a78ff;
+	    padding: 6rpx;
+	    color: #fff;
+	    border-radius: 100%;
+	}
+	
+	.disable-icon-button {
+	    background-color: lightgray;
+	    padding: 6rpx;
+	    color: #fff;
+	    border-radius: 100%;
+	    pointer-events: none;
+	}
 </style>
\ No newline at end of file
diff --git a/pages/ZLGL/xunjianjianyan/PatrolProcCheckBill.vue b/pages/ZLGL/xunjianjianyan/PatrolProcCheckBill.vue
index dcc3c95..68d0633 100644
--- a/pages/ZLGL/xunjianjianyan/PatrolProcCheckBill.vue
+++ b/pages/ZLGL/xunjianjianyan/PatrolProcCheckBill.vue
@@ -1524,7 +1524,7 @@
                 }
                 try {
                     let res = await CommonUtils.doRequest2Async({
-                        url: "/Web/GetCheckItemByCheckProjectID",
+                        url: "/Web/GetCheckItemByCheckProjectID_Sec",
                         data: {
                             CheckProjectID: this.hform.HQCSchemeID || 0,
                             HBatchQty: this.hform.HProcExchQty || 0,

--
Gitblit v1.9.1