From 54af9d770cf2347f36f40515df51de2fcbebf40f Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期二, 25 十一月 2025 09:45:47 +0800
Subject: [PATCH] Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev

---
 pages/ZLGL/shoujianjianyan/firstCheckBillList.vue               |    2 
 pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue           | 2328 +++++++++++
 pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue    | 2292 ++++++++++
 pages/shouliaotongzhi/table.vue                                 |    2 
 utils/menuListApp.js                                            |   20 
 pages.json                                                      |  107 
 pages/index/tab2.vue                                            |   34 
 pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue        | 2328 +++++++++++
 .hbuilderx/launch.json                                          |    4 
 pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue                | 2262 ++++++++++
 pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue | 2292 ++++++++++
 pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList.vue           |    2 
 pages/ZLGL/lailiaojianyan/POStockInCheckBillList.vue            |  571 ++
 pages/index/tab1.vue                                            |    7 
 components/ZLGL/InspectValueTemplate.vue                        |   13 
 pages/zutuo_xiaowei/form_xiaowei.vue                            |  216 +
 pages/ZLGL/mojianjianyan/lastPieceCheckBillList.vue             |    2 
 pages/index/index.vue                                           |    5 
 18 files changed, 12,412 insertions(+), 75 deletions(-)

diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json
index a7d9080..4dd14cd 100644
--- a/.hbuilderx/launch.json
+++ b/.hbuilderx/launch.json
@@ -21,11 +21,11 @@
             "type" : "uni-app:app-ios"
         },
         {
-            "customPlaygroundType" : "local",
+            "customPlaygroundType" : "device",
             "localRepoPath" : "D:/WorkBench/ZY_APP_Dev/STUWMS/unpackage/debug",
             "openVueDevtools" : true,
             "packageName" : "com.shebeiguanli.www",
-            "playground" : "custom",
+            "playground" : "standard",
             "type" : "uni-app:app-android"
         }
     ]
diff --git a/components/ZLGL/InspectValueTemplate.vue b/components/ZLGL/InspectValueTemplate.vue
index 369eab5..5310ff8 100644
--- a/components/ZLGL/InspectValueTemplate.vue
+++ b/components/ZLGL/InspectValueTemplate.vue
@@ -45,7 +45,7 @@
                         {{ checkData.HStatus?"鍚堟牸":"涓嶅悎鏍�" }}
                     </view>
                     <view>
-                        <switch style="width: 2em; transform:scale(0.7);" :checked="checkData.HStatus"
+                        <switch style="width: 2em; transform:scale(0.7);" :checked="!!checkData.HStatus"
                             @change="HStatusChange" />
                     </view>
                 </view>
@@ -261,6 +261,14 @@
                             setUrl: '/QC_PatrolProcCheckOtherBill/set_SaveValue',
                             getUrl: '/QC_PatrolProcCheckOtherBill/getValueList'
                         }
+						case 3: return {
+						    setUrl: '/QC_LastPieceCheckBill/set_SaveValue',
+						    getUrl: '/QC_LastPieceCheckBill_ValueTable/getValueList'
+						}
+						case 4:return{
+							setUrl: '/QC_OutCompCheckBill/set_SaveValue',
+							getUrl: '/QC_OutCompCheckBill_ValueTable/getValueList'
+						}
                     }
                 } 
             }
@@ -395,6 +403,7 @@
 
             },
             async set_SaveValue() {
+				await this.$nextTick(); 
                 console.log("InSpect Values: ", this.InSpectValues)
                 try {
                     let res = await CommonUtils.doRequest2Sync({
@@ -405,7 +414,7 @@
                         method: "POST"
                     })
 
-                    if (res) {
+                    if (!res) {
                         return
                     }
                     let {
diff --git a/pages.json b/pages.json
index e703350..1e59ce8 100644
--- a/pages.json
+++ b/pages.json
@@ -1190,35 +1190,35 @@
             }
         },
         {
-			"path": "pages/chaixiang/form",
-			"style": {
-				"navigationBarTitleText": "鎷嗙"
-			}
-		},
-		{
-			"path": "pages/zhuangxiang/form_mix",
-			"style": {
-				"navigationBarTitleText": "瑁呯"
-			}
-		},
-		{
-			"path": "pages/zutuo_xiaowei/form_xiaowei",
-			"style": {
-				"navigationBarTitleText": "缁勬墭-灏忓崼"
-			}
-		},
+            "path": "pages/chaixiang/form",
+            "style": {
+                "navigationBarTitleText": "鎷嗙"
+            }
+        },
+        {
+            "path": "pages/zhuangxiang/form_mix",
+            "style": {
+                "navigationBarTitleText": "瑁呯"
+            }
+        },
+        {
+            "path": "pages/zutuo_xiaowei/form_xiaowei",
+            "style": {
+                "navigationBarTitleText": "缁勬墭-灏忓崼"
+            }
+        },
         {
             "path": "pages/zhuangxiangdan/table",
             "style": {
                 "navigationBarTitleText": "瑁呯鍗曠紦瀛�"
             }
-        }, 
+        },
         {
             "path": "pages/zhuangxiangdan/form",
             "style": {
                 "navigationBarTitleText": "瑁呯鍗�"
             }
-        }, 
+        },
         {
             "path": "pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList",
             "style": {
@@ -1230,11 +1230,23 @@
             "style": {
                 "navigationBarTitleText": "宸℃鍗�"
             }
-        }, 
+        },
         {
             "path": "pages/ZLGL/mojianjianyan/lastPieceCheckBillList",
             "style": {
                 "navigationBarTitleText": "鏈欢妫�楠屽崟缁存姢"
+            }
+        },
+        {
+            "path": "pages/ZLGL/lailiaojianyan/POStockInCheckBill",
+            "style": {
+                "navigationBarTitleText": "鏉ユ枡妫�楠屽崟"
+            }
+        },
+        {
+            "path": "pages/ZLGL/lailiaojianyan/POStockInCheckBillList",
+            "style": {
+                "navigationBarTitleText": "鏉ユ枡妫�楠屽崟缁存姢"
             }
         },
         {
@@ -1243,18 +1255,30 @@
                 "navigationBarTitleText": "鏈欢妫�楠屽崟"
             }
         },
-		{
-		    "path": "pages/chaituosaoma-xiaowei/UnpackPallet",
-		    "style": {
-		        "navigationBarTitleText": "鎷嗘墭鎵爜锛堝皬鍗級"
-		    }
-		},
-		{
-		    "path": "pages/sanmaheyi/BarCodeCheck",
-		    "style": {
-		        "navigationBarTitleText": "涓夌爜鍚堜竴"
-		    }
-		},
+        {
+            "path": "pages/chaituosaoma-xiaowei/UnpackPallet",
+            "style": {
+                "navigationBarTitleText": "鎷嗘墭鎵爜锛堝皬鍗級"
+            }
+        },
+        {
+            "path": "pages/sanmaheyi/BarCodeCheck",
+            "style": {
+                "navigationBarTitleText": "涓夌爜鍚堜竴"
+            }
+        },
+        {
+            "path": "pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2",
+            "style": {
+                "navigationBarTitleText": "鐢熶骇鍏ュ簱鏍¢獙"
+            }
+        },
+        {
+            "path": "pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill",
+            "style": {
+                "navigationBarTitleText": "鍑哄巶鏍¢獙"
+            }
+        },
         {
             "path": "pages/weiwaigxIn/Cj_StationEntrustInBill",
             "style": {
@@ -1285,7 +1309,6 @@
                 "navigationBarTitleText": "鍗虫椂搴撳瓨鏌ヨ"
             }
         }
-        
     ],
     "tabBar": {
         "color": "#888888", //tab 涓婄殑鏂囧瓧榛樿棰滆壊锛屼粎鏀寔鍗佸叚杩涘埗棰滆壊
@@ -1326,14 +1349,12 @@
         "pageOrientation": "default"
     },
     "uniIdRouter": {},
-	"condition" : { //妯″紡閰嶇疆锛屼粎寮�鍙戞湡闂寸敓鏁�
-		"current": 0, //褰撳墠婵�娲荤殑妯″紡(list 鐨勭储寮曢」)
-		"list": [
-			{
-				"name": "", //妯″紡鍚嶇О
-				"path": "", //鍚姩椤甸潰锛屽繀閫�
-				"query": "" //鍚姩鍙傛暟锛屽湪椤甸潰鐨刼nLoad鍑芥暟閲岄潰寰楀埌
-			}
-		]
-	}
+    "condition": { //妯″紡閰嶇疆锛屼粎寮�鍙戞湡闂寸敓鏁�
+        "current": 0, //褰撳墠婵�娲荤殑妯″紡(list 鐨勭储寮曢」)
+        "list": [{
+            "name": "", //妯″紡鍚嶇О
+            "path": "", //鍚姩椤甸潰锛屽繀閫�
+            "query": "" //鍚姩鍙傛暟锛屽湪椤甸潰鐨刼nLoad鍑芥暟閲岄潰寰楀埌
+        }]
+    }
 }
\ No newline at end of file
diff --git a/pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue b/pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue
new file mode 100644
index 0000000..23b3660
--- /dev/null
+++ b/pages/JIAOYAN/chuchangjiaoyandan/QC_OutCompCheckBill.vue
@@ -0,0 +1,2328 @@
+<template>
+	<view>
+		<!-- 涓昏〃鍖哄煙 -->
+		<view class="bill-main-area">
+			<!-- 涓昏〃椤电 -->
+			<view class="bill-main-tabs">
+				<view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">鍩烘湰淇℃伅</view>
+				<view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">鍏朵粬淇℃伅</view>
+				<view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">鍒跺崟淇℃伅</view>
+			</view>
+			<!-- 涓昏〃鍐呭 -->
+			<view class="bill-main-contents">
+				<!-- 鍩烘湰淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 1">
+					<view class="form-item">
+						<view class="left">鍗曟嵁鍙�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HBillNo" disabled />
+						</view>
+					</view>
+
+					<view class="form-item">
+						<view class="left">鏃ユ湡</view>
+						<view class="right">
+							<uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate">
+								<view>{{ hform.HDate }}</view>
+							</uni-datetime-picker>
+						</view>
+					</view>
+
+					<view class="form-item">
+						<view class="left">婧愬崟鍗曞彿</view>
+						<view class="right" :class="!hasSourceBill?'':'disabled'">
+							<input type="text" :disabled="hasSourceBill" placeholder="璇疯緭鍏ユ垨鎵弿婧愬崟鍙�"
+								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>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇璧勬簮</view>
+						<view class="right">
+							<uni-combox :candidates="GySourceNameList" placeholder="璇烽�夋嫨鐢熶骇璧勬簮" v-model="hform.HSourceName"
+								@update:modelValue="HSourceChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇鐝</view>
+						<view class="right">
+							<uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+								v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+						</view>
+					</view>				
+					<view class="form-item" v-if="false">
+						<view class="left">浠诲姟鍗曞彿</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HICMOBillNo" disabled />
+						</view>
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+								@click="showSelectorModule(hform, 5)"></uni-icons></view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">娴佽浆鍗″彿</view>
+						<view class="right disabled">
+							<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>
+					</view>
+					<view class="form-item">
+						<view class="left">浜у搧浠g爜</view>
+						<view class="right disabled">
+							<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>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浜у搧鍚嶇О</view>
+						<view class="right disabled">
+							<input type="text" disabled :value="hform.HMaterName" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">妫�楠屽憳</view>
+						<view class="right">
+							<uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
+								:v-model="hform.HFirstCheckEmpName"
+								@update:modelValue="HFirstCheckEmpChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">妫�楠屾柟妗�</view>
+						<view class="right disabled">
+							<input type="text" disabled :value="this.hform.HQCSchemeName" />
+						</view>
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+								@click="showSelectorModule(hform, 7)"></uni-icons></view>
+					</view>
+					
+					<view class="form-item">
+						<view class="left">鍒ゆ柇缁撹</view>
+						<view class="right none-border">
+							<radio-group @changer="checkResultChange">
+								<label>
+									<radio value="0" :checked="hform.HLastResult" /><text></text>
+									鍚堟牸
+								</label>
+								<view style="width: 20rpx; display: inline-block"></view>
+								<label>
+									<radio value="1" :checked="!hform.HLastResult" /><text></text>
+									涓嶅悎鏍�
+								</label>
+							</radio-group>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">宸ュ簭</view>
+						<view class="right disabled">
+							<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>
+					</view>
+								
+				</view>
+				<!-- 鍏朵粬淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 2">
+					<view class="form-item">
+						<view class="left">婧愬崟绫诲瀷</view>
+						<view class="right" style="position: relative" :class="!hasSourceBill?'':'disabled'">
+							<picker mode="selector" :range="HSourceBillTypeNameList" :disabled="hasSourceBill"
+								@change="HSourceBillTypeNameChange">
+								<input type="text" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="HSourceBillType" disabled/>
+								<view class="picker-overlay"></view>
+							</picker>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇鐝</view>
+						<view class="right">
+							<uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+								v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">寮傚父涓存椂澶勭悊鏂规</view>
+						<view class="right">
+							<input type="text" v-model="hform.HErrTreatment" value="" />
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">浠诲姟鍗曟暟閲�</view>
+						<view class="right">
+							<input type="number" v-model="hform.HICMOQty" />
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">娴佽浆鍗℃暟閲�</view>
+						<view class="right">
+							<input type="number" v-model="hform.HProcExchQty" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鎵瑰彿</view>
+						<view class="right">
+							<input type="text" value="" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">澶囨敞</view>
+						<view class="right">
+							<input type="text" v-model="hform.HRemark" value="" />
+						</view>
+					</view>		
+				</view>
+				<!-- 鍒跺崟淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 3">
+					<view class="form-item">
+						<view class="left">鍒跺崟浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HMaker" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍒跺崟鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HMakeDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">瀹℃牳浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HChecker" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">瀹℃牳鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCheckDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍏抽棴浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCloseMan" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍏抽棴鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCloseDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">淇敼浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HUpDater" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">淇敼鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HUpDateDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浣滃簾浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HDeleteMan" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浣滃簾鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HDeleteDate" disabled />
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 瀛愯〃鍖哄煙 -->
+		<view class="bill-sub-area">
+			<!-- 瀛愯〃椤电 -->
+			<view class="bill-sub-tabs">
+				<view v-for="subTab in subTabs" :key="subTab.id" :class="subTab.id == subTabSelected ? 'selected' : ''"
+					@tap="subTabSelected = subTab.id">{{ subTab.name }}</view>
+			</view>
+			<!-- 瀛愯〃鍐呭 -->
+			<view class="bill-main-contents">
+				<!-- 妫�楠岄」鐩� 鍛堢幇 -->
+				<view v-if="subTabSelected == 1">
+					<!-- 闇�閫氳繃鏄惧紡璋冪敤蹇界暐$event鍙傛暟 -->
+					<view class="buttons" @tap="addCheckItem()">
+						<uni-icons type="plus" style="margin-right: 10rpx" size="22"></uni-icons>鏂板
+					</view>
+					<view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+					<view class="list" v-else>
+						<uni-card v-for="checkItem in checkItems" :key="checkItem.num">
+							<view class="card-detail">
+								<view class="detail"> <text>搴忓彿锛�</text>{{ checkItem.num }} </view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>妫�楠岄」鐩細</text></view>
+									<input type="text" :value="checkItem.HQCCheckItemName" disabled="" />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(checkItem, 2)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>妫�楠屼华鍣細</text></view>
+									<input type="text" :value="checkItem.HInspectInstruMentName" disabled="" />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(checkItem, 3)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<view><text>缁撹锛�</text></view>
+									<view style="width: 4em">
+										{{ checkItem.HResult == 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}
+									</view>
+									<view>
+										<switch style="width: 2em; transform: scale(0.7)"
+											:checked="checkItem.HResult == 1"
+											@change="HResultChange(checkItem.num, $event)" />
+									</view>
+								</view>
+								<view class="detail editable" style="position: relative">
+									<view style="flex-shrink: 0"><text>鍒嗘瀽鏂规硶锛�</text></view>
+									<picker :range="arrayAnalysisMethod" range-key="name"
+										@change="HAnalysisMethodChange(checkItem.num, $event)">
+										<input disabled :value="getAnalysisMethodDisplay(checkItem.HAnalysisMethod)"
+											placeholder="璇烽�夋嫨" />
+										<view class="picker-overlay"></view>
+									</picker>
+								</view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>閲嶇偣妫�鏌ワ細</text></view>
+									<view>
+										<switch type="checkbox" style="transform: scale(0.7)"
+											:checked="checkItem.HKeyInspect"
+											@change="HKeyInspectChange(checkItem, $event)" />
+									</view>
+								</view>
+								<view class="detail" v-if="checkItem.HQCStd">
+									<text>妫�楠屾爣鍑嗭細</text>{{ checkItem.HQCStd }}
+								</view>
+								<view class="detail" v-if="checkItem.HUnit">
+									<text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
+								</view>
+								 <!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+								<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 }}
+								</view>
+								<view class="detail" v-if="checkItem.HTargetVal">
+									<text>鐩爣鍊硷細</text>{{ checkItem.HTargetVal }}
+								</view>
+								<view class="detail" v-if="checkItem.HUpLimit">
+									<text>涓婇檺鍊硷細</text>{{ checkItem.HUpLimit }}
+								</view>
+								<view class="detail" v-if="checkItem.HDownLimit">
+									<text>涓嬮檺鍊硷細</text>{{ checkItem.HDownLimit }}
+								</view>
+								<view class="detail" v-if="checkItem.HMax">
+									<text>鏈�澶у�硷細</text>{{ checkItem.HMax }}
+								</view>
+								<view class="detail" v-if="checkItem.HMin">
+									<text>鏈�灏忓�硷細</text>{{ checkItem.HMin }}
+								</view>
+								<view class="detail" v-if="checkItem.HAvg">
+									<text>骞冲潎鍊硷細</text>{{ checkItem.HAvg }}
+								</view>
+							</view>
+							<view style="height: 20rpx"></view>
+							<view class="more">
+								<view class="part" style="color: #da0000" @tap.stop="removeCheckItem(checkItem)">
+									<uni-icons type="trash" style="color: #da0000; margin-right: 10rpx"
+										size="18"></uni-icons>鍒犻櫎
+								</view>
+							</view>
+						</uni-card>
+					</view>
+				</view>
+				<!-- 鎶芥牱妫�楠� 鍛堢幇 -->
+				<view v-if="subTabSelected == 2">
+					<view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+					<view class="list" v-else>
+						<uni-card v-for="SamplingItem in checkItems" :key="SamplingItem.num">
+							<view class="card-detail">
+								<view class="detail"> <text>搴忓彿锛�</text>{{ SamplingItem.num }} </view>
+								<view class="detail editable">
+									<text>妫�楠岄」鐩細</text>{{ SamplingItem.HQCCheckItemName }}
+								</view>
+								<view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+								<view class="detail editable" style="width: 100%">
+									<view style="flex-shrink: 0"><text>鎶芥牱鏂规锛�</text></view>
+									<input type="text" :value="SamplingItem.HSampleSchemeName" disabled />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(SamplingItem, 1)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<text>鎶芥牱绫诲瀷锛�</text>{{ SamplingItem.HSamplingType }}
+								</view>
+								<view class="detail editable">
+									<text>妫�楠屾按骞筹細</text>{{ SamplingItem.HInspectionLevel }}
+								</view>
+								<view class="detail editable">
+									<text>涓ユ牸搴︼細</text>{{ SamplingItem.HStrictness }}
+								</view>
+								<view class="detail editable">
+									<text>AQL锛�</text>{{ SamplingItem.HAQL }}
+								</view>
+								<view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+								<view class="detail editable">
+									<text>鏍锋湰閲忥細</text>{{ SamplingItem.HSampleQty }}
+								</view>
+								<view class="detail editable">
+									<text>鍏佽鏁帮細</text>{{ SamplingItem.HAcceptQty }}
+								</view>
+								<view class="detail editable">
+									<text>鎷掔粷鏁帮細</text>{{ SamplingItem.HRejectQty }}
+								</view>
+								<view class="detail editable">
+									<text>鏍锋湰涓嶅悎鏍兼暟锛�</text>{{ SamplingItem.HSampleUnRightQty }}
+								</view>
+								<view class="detail editable">
+									<text>鏍锋湰鐮村潖鏁帮細</text>
+									<view class="editable-input">
+										<input type="number" v-model="SamplingItem.HSampleDamageQty" />
+									</view>
+								</view>
+								<view class="detail editable">
+									<text>妫�楠岀粨鏋滐細</text>
+									<view style="border-radius: 15%; padding: 0 10rpx" :class="
+                                        SamplingItem.HInspectResultToSee == '鍚堟牸'
+                                        ? 'pass-background'
+                                        : SamplingItem.HInspectResultToSee == '涓嶅悎鏍�'
+                                        ? 'unpass-background'
+                                        : ''
+                                    ">
+										{{ SamplingItem.HInspectResultToSee }}
+									</view>
+								</view>
+							</view>
+						</uni-card>
+					</view>
+				</view>
+				<!-- 妫�娴嬪�� 鍛堢幇 -->
+				<view v-else v-for="item in InspectModules" :key="item.id">
+					<view v-if="subTabSelected == item.id">
+						<InspectValueTemplateVue ref="InspectValueModules" :bind-key="item.id"
+							@syncCheckData="InspectValueComplete" :bind-data="{
+                data: checkItems[item.checkItemId],
+                list: InspectValues[item.checkItemId],
+                mode: 4 // 妫�娴嬪�兼ā鍧�
+              }">
+						</InspectValueTemplateVue>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view style="height: 120rpx"></view>
+		<view class="bottom-btn">
+			<button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+			<view style="flex: 1"></view>
+			<button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+			<button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+		</view>
+		<SampleSchemePopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup"
+			@update="SampleSchemeComplete" :bindKey="currentChechItemIDCache">
+		</SampleSchemePopupVue>
+		<CheckItemPopupVue v-if="enablePopupModule == PopupModuleNameList[2]" ref="listPopup"
+			@update="CheckItemComplete" :bindKey="currentChechItemIDCache">
+		</CheckItemPopupVue>
+		<InspectMentPopupVue v-if="enablePopupModule == PopupModuleNameList[3]" ref="listPopup"
+			@update="InspectMentComplete" :bindKey="currentChechItemIDCache">
+		</InspectMentPopupVue>
+		<MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[4]" ref="listPopup" @update="MaterComplete"
+			:bindKey="0">
+		</MaterialPopupVue>
+		<ICMOBillPopupVue v-if="enablePopupModule == PopupModuleNameList[5]" ref="listPopup" @update="ICMOBillComplete"
+			:bindKey="0"></ICMOBillPopupVue>
+		<ProcExchBillPopupVue v-if="enablePopupModule == PopupModuleNameList[6]" ref="listPopup"
+			@update="ProcExchBillComplete" :bindKey="0"></ProcExchBillPopupVue>
+		<ProcessPopupVue v-if="enablePopupModule == PopupModuleNameList[8]" ref="listPopup" @update="HProcComplete"
+			:bindKey="0"></ProcessPopupVue>
+		<CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
+			@update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+	</view>
+</template>
+
+<script>
+	import dayjs from "dayjs";
+	import {
+		CommonUtils
+	} from "../../../utils/common";
+	import InspectValueTemplateVue from "@/components/ZLGL/InspectValueTemplate.vue";
+	import SampleSchemePopupVue from "@/components/ZLGL/SampleSchemePopup.vue";
+	import CheckItemPopupVue from "@/components/ZLGL/CheckItemPopup.vue";
+	import InspectMentPopupVue from "../../../components/ZLGL/InspectMentPopup.vue";
+	import MaterialPopupVue from "../../../components/ZLGL/MaterialPopup.vue";
+	import ICMOBillPopupVue from "../../../components/ZLGL/ICMOBillPopup.vue";
+	import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
+	import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
+	import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+	import {
+		getUserInfo
+	} from "../../../utils/auth";
+	import {
+		MpaasScan
+	} from "../../../utils/mpaasScan";
+	export default {
+		components: {
+			InspectValueTemplateVue,
+			SampleSchemePopupVue,
+			CheckItemPopupVue,
+			InspectMentPopupVue,
+			MaterialPopupVue,
+			ICMOBillPopupVue,
+			ProcExchBillPopupVue,
+			ProcessPopupVue,
+			CheckProjectPopupVue,
+		},
+		computed: {
+			judgeConclusion: {
+				get() {
+					return true;
+				},
+			},
+		},
+		data() {
+			return {
+				operationType: 1,
+
+				mainTabSelected: 1,
+				subTabSelected: 1,
+
+				// 婧愬崟鐘舵�佹帶鍒�
+				hasSourceBill: false,
+
+				// 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+				enablePopupModule: "",
+				PopupModuleNameList: [
+					"",
+					"SampleScheme",
+					"CheckItem",
+					"InspectMent",
+					"Material",
+					"ICMOBill",
+					"ProcExchBill",
+					"QCScheme",
+					"Process",
+				],
+				// 褰撳墠鎿嶄綔鐨勬楠屽崟ID缂撳瓨
+				currentChechItemIDCache: -1,
+
+				// uni-combox 閫夋嫨鍣ㄤ娇鐢�
+				// 鐢熶骇璧勬簮
+				GySourceList: [],
+				GySourceNameList: [],
+				// 鐝
+				GyWorkShiftList: [],
+				GyWorkShiftNameList: [],
+				// 妫�楠屽憳
+				GyFirstCheckEmpList: [],
+				GyFirstCheckEmpNameList: [],
+
+				// 妫�楠屾柟妗�
+				arrayAnalysisMethod: [{
+						value: 1,
+						name: "瀹氭�у垎鏋�",
+					},
+					{
+						value: 2,
+						name: "瀹氶噺鍒嗘瀽",
+					},
+					{
+						value: 3,
+						name: "鍏朵粬鍒嗘瀽",
+					},
+				],
+				ArrayAnalysisMethodValue: [1, 2, 3],
+				// 瀛愯〃 椤电淇℃伅
+				subTabs: {
+					1: {
+						id: "1",
+						name: "妫�楠岄」鐩�",
+					},
+					2: {
+						id: "2",
+						name: "鎶芥牱妫�楠�",
+					},
+				},
+
+				// 婧愬崟绫诲瀷
+				HSourceBillType: "閿�鍞鍗�",
+				HSourceBillTypeValueList: ['1401','1402'],
+				HSourceBillTypeNameList: [
+					"閿�鍞鍗�","鍙戣揣閫氱煡鍗�"
+				],
+				// 涓昏〃灞炴��
+				hform: {
+					HSourceBillType: "1401",
+					HSourceBillNo: "",
+					HBillNo: "",
+					HInterID: "0",
+					HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+					HSourceName: "",
+					HSourceID: "0",
+					HShiftsName: "",
+					HShiftsID: "0",
+					HICMOBillNo: "",
+					HICMOInterID: "0",
+					HICMOEntryID: "1",
+					HICMOQty: "0",
+					HProcExchBillNo: "",
+					HProcExchInterID: "0",
+					HProcExchEntryID: "0",
+					HProcExchQty: "0",
+					HMaterNumber: "",
+					HMaterID: "0",
+					HMaterName: "",
+					HFirstCheckEmpName: "",
+					HFirstCheckEmp: 0,
+					HQCSchemeName: "",
+					HQCSchemeID: "0",
+					HBatchNo: "",
+					HLastResult: true, // 榛樿鍚堟牸
+					HProcName: "",
+					HProcID: "0",
+					HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
+					HTakeSampleCheckBillID: "0",
+					HRemark: "",
+					HErrTreatment: "", // 寮傚父涓存椂澶勭悊鏂规
+					HMaker: getUserInfo()["Czymc"] || "",
+					HChecker: "",
+					HCloseMan: "",
+					HMakeDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"),
+					HCheckDate: "",
+					HCloseDate: "",
+					HUpDater: "",
+					HDeleteMan: "",
+					HUpDateDate: "",
+					HDeleteDate: "",
+					HResult: 1,
+					HAnalysisMethod: "",
+
+					HResDec: "",
+					HStatus: 1,
+
+					HMainSourceBillType: "",
+					HMainSourceInterID: "0",
+					HMainSourceEntryID: "1",
+					HMainSourceBillNo: "",
+				},
+				// 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
+				checkItems: {},
+				// 妫�娴嬪�兼ā鍧�
+				InspectModules: {},
+				// 妫�娴嬪��
+				InspectValues: {},
+			};
+		},
+		methods: {
+			// 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+			calcHResult(item){
+			    // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+			    console.log('item: ',item);
+			    if(item.HSampleSchemeID) {
+			        return
+			    }
+			    
+			    if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
+			     this.checkItems[item.num].HResult = true
+		         return
+		     }
+		     
+		     this.checkItems[item.num].HResult = false
+			},
+			// 婧愬崟绫诲瀷閫夋嫨
+			HSourceBillTypeNameChange(e) {
+				this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
+				this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+			},
+			toScanCode() {
+				MpaasScan.scanCode((res) => {
+					if (res) {
+						this.getSourceBillInfo(HBarCode);
+					}
+				});
+			},
+			async getSourceBillInfo(HBarCode) {
+				console.log('HBarCode: ', HBarCode);
+				// 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
+				if (this.hform.HSourceBillType == 1401) {
+					// 閿�鍞鍗�
+					await this.LoadingInformation_SeOrder(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 == 1402) {
+					// 鍙戣揣閫氱煡鍗昄oadingInformation_SeOutStock
+					await this.LoadingInformation_SeOutStock(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;
+				}
+			},
+			async GetCheckItemID() {
+				if (!this.hform.HMaterName && !this.hform.HProcName) {
+					try {
+						let res = await CommonUtils.doRequest2Async({
+							url: "/Web/GetCheckItemID",
+							data: {
+								HName: this.hform.HMaterName,
+								HProName: this.hform.HProcName,
+								HSourceID: this.hform.HSourceID,
+							},
+						});
+
+						let {
+							count,
+							Message,
+							data
+						} = res.data;
+
+						if (count != 1) {
+							CommonUtils.showTips({
+								title: "娓╅Θ鎻愮ず",
+								message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${Message}`,
+							});
+							return;
+						}
+
+						this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+						this.hform.HQCSchemeID = data[0].hmainid;
+
+						this.get_CheckItem();
+					} catch (err) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${err}`,
+						});
+					}
+				}
+			},
+			//#region 涓�鑷�
+			async LoadingInformation_ProcExchange(HBarCode) {
+				// 宸ュ簭娴佽浆鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/CheckBill/get_ProcessExchangeBill_ByBillNo",
+						data: {
+							HBillNo: HBarCode,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+					this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					this.hform.HProcExchInterID = data[0].HProcExchInterID;
+					this.hform.HProcExchEntryID = data[0].HProcExchEntryID || 0;
+					this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+					this.hform.HICMOInterID = data[0].HICMOInterID;
+					this.hform.HICMOQty = data[0].HICMOQty || 0;
+					this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+					this.hform.HSourceID = data[0].HSourceID || 0;
+					this.hform.HMaterID = data[0].HMaterID;
+					this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+					this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HMainSourceBillType = data[0].HBillType;
+					this.hform.HMainSourceInterID = data[0].HInterID;
+					this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+					this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+					this.hform.HBatchNo = data[0].鎵瑰彿;
+
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			
+			//#region 淇敼
+			async LoadingInformation_ICMO(HBarCode) {
+				// 鐢熶骇璁㈠崟
+				try {
+					let sWhere="and 鍗曟嵁鍙�='"+HBarCode+"'"
+					console.log(sWhere)
+					let res = await CommonUtils.doRequest2Async({
+						url: "/LEMS/MES_IF_ICMOBillList_Json",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${Message}`,
+						});
+						return;
+					}
+					//鐢熶骇鏀�
+					//this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					//this.hform.HProcExchInterID = data[0].HProcExchInterID;
+					//this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+					//this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					this.hform.HICMOBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HICMOInterID = data[0].hmainid;
+					this.hform.HICMOQty = data[0].鐢熶骇浠诲姟鍗曟暟閲�;
+					this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+					this.hform.HSourceID = data[0].HSourceID;
+					this.hform.HMaterID = data[0].HMaterID;
+					this.hform.HMaterNumber=data[0].浜у搧浠g爜
+					this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+					this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HMainSourceBillType = data[0].鍗曟嵁绫诲瀷;
+					this.hform.HMainSourceInterID = data[0].HInterID;
+					this.hform.HICMOEntryID = data[0].HEntryID || 1;
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+					this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			
+			//#region 涓�鑷�
+			async LoadingInformation_StationEntrustOutBill(HBarCode) {
+				// 宸ュ簭濮斿鎺ユ敹鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Cj_StationEntrustOutBill/list",
+						data: {
+							sWhere: ` and HBillNo = '${HBarCode}'`,
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+
+					HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					HProcExchInterID = data[0].HProcExchInterID;
+					HProcExchEntryID = data[0].HProcExchEntryID;
+					HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					HICMOBillNo = data[0].鐢熶骇璁㈠崟鍙�;
+					HICMOInterID = data[0].HICMOInterID;
+					HICMOQty = data[0].HICMOQty;
+					HSourceName = data[0].鐢熶骇璧勬簮;
+					HSourceID = data[0].HSourceID;
+					HMaterID = data[0].HMaterID;
+					HMaterName = data[0].浜у搧鍚嶇О;
+					HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					HMainSourceBillType = data[0].HBillType;
+					HMainSourceInterID = data[0].hmainid;
+					HICMOEntryID = data[0].HICMOEntryID || 1;
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			//LoadingInformation_SeOutStock
+			async LoadingInformation_SeOrder(HBarCode) {
+				// 婧愬崟涓洪攢鍞鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/QC_OutCompCheckBill/get_SeOrderBill_Tmp_ByBiilNo",
+						data: {
+							HBillNo: HBarCode,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇閿�鍞鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+					//change_inlife
+						this.hform.HMaterNumber=data[0].HMaterNumber;
+
+						this.hform.HMaterID = data[0].HMaterID;
+						this.hform.HMaterName = data[0].HMaterName;
+						this.hform.HMainSourceBillNo = 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;
+					
+
+					for (let i = 0; i < data.length; i++) {
+						this.addCheckItem(data[i])
+					}
+
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇閿�鍞鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			//LoadingInformation_SeOutStock
+			async LoadingInformation_SeOutStock(HBarCode) {
+				// 婧愬崟涓哄彂璐ч�氱煡璁㈠崟
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/QC_OutCompCheckBill/get_SeOutStockBill_Tmp_ByBillNo",
+						data: {
+							HBillNo: HBarCode,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+			
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+			
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鍙戣揣閫氱煡鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+					//change_inlife
+						this.hform.HMaterNumber=data[0].HMaterNumber;
+			
+						this.hform.HMaterID = data[0].HMaterID;
+						this.hform.HMaterName = data[0].HMaterName;
+						this.hform.HMainSourceBillNo = 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;
+					
+			
+					for (let i = 0; i < data.length; i++) {
+						this.addCheckItem(data[i])
+					}
+			
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鍙戣揣閫氱煡鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			// 妫�楠屽憳鍒濆鍖�
+			async InitHEmp() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_Employee/list",
+						data: {
+							sWhere: `  and 缁勭粐鍚嶇О = '${uni.getStorageSync(
+              "Organization"
+            )}' and 绂佺敤鏍囪 = ''and 瀹℃牳浜� !='' order by 閮ㄩ棬浠g爜`,
+							user: getUserInfo()["Czymc"],
+							Organization: uni.getStorageSync("Organization"),
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						console.log("data: ", data);
+						this.GyFirstCheckEmpList = data;
+						this.GyFirstCheckEmpNameList = Array.from(data).map((e) => e["鑱屽憳鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栨楠屽憳澶辫触: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栨楠屽憳澶辫触: ${err}`,
+					});
+				}
+			},
+			async HFirstCheckEmpChange(e) {
+				console.log("閫変腑妫�楠屽憳: ", e);
+				let index = this.GyFirstCheckEmpList.findIndex((elem) => elem["鑱屽憳鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HFirstCheckEmp = 0;
+					this.hform.HFirstCheckEmpName = "";
+					return;
+				}
+
+				this.hform.HFirstCheckEmp = this.GyFirstCheckEmpList[index]["HItemID"];
+				this.hform.HFirstCheckEmpName = this.GyFirstCheckEmpList[index]["鑱屽憳鍚嶇О"];
+			},
+			// 鐢熶骇鐝鍒濆鍖�
+			async InitHWorkShift() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_ShiftsController/Get_Gy_WorkShiftList",
+						data: {
+							sWhere: ` and 绂佺敤鏍囪 = '' and ISNULL(瀹℃牳浜�,'')  != '' and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync(
+              "Organization"
+            )}'`,
+							HMaker: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						console.log("data: ", data);
+						this.GyWorkShiftList = data;
+						this.GyWorkShiftNameList = Array.from(data).map((e) => e["鐝鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栫彮娆″け璐�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栫彮娆″け璐�: ${err}`,
+					});
+				}
+			},
+			async HWorkShiftChange(e) {
+				console.log("閫変腑鐝: ", e);
+				let index = this.GyWorkShiftList.findIndex((elem) => elem["鐝鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HWorkShiftID = 0;
+					this.hform.HWorkShiftName = "";
+					return;
+				}
+
+				this.hform.HWorkShiftID = this.GySourceList[index]["HInterID"];
+				this.hform.HWorkShiftName = this.GySourceList[index]["鐝鍚嶇О"];
+			},
+			// 鐢熶骇璧勬簮鏇存柊
+			// 鐢熶骇璧勬簮鍒濆鍖�
+			async InitHSource() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_Source/list",
+						data: {
+							sWhere: `and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'')  != '' and HUSEORGID = '100038'`,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						this.GySourceList = data;
+						this.GySourceNameList = Array.from(data).map((e) => e["鐢熶骇璧勬簮鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${err}`,
+					});
+				}
+			},
+			// 鐢熶骇璧勬簮鏇存柊
+			async HSourceChange(e) {
+				console.log("閫変腑鐢熶骇璧勬簮: ", e);
+				let index = this.GySourceList.findIndex((elem) => elem["鐢熶骇璧勬簮鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HSourceID = 0;
+					this.hform.HSourceName = "";
+					return;
+				}
+
+				this.hform.HSourceID = this.GySourceList[index]["HItemID"];
+				this.hform.HSourceName = this.GySourceList[index]["鐢熶骇璧勬簮鍚嶇О"];
+
+				this.get_ICMOBillStatusList();
+				this.get_QC_TakeSampleCheckBillList();
+				this.GetCheckItemID();
+			},
+			// 鏄剧ず寮圭獥
+			async showSelectorModule(item, index) {
+				this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+				this.enablePopupModule = this.PopupModuleNameList[index];
+				console.log("this.$refs: ", this.$refs);
+				await this.$nextTick();
+				if (index == 7) {
+					// 妫�楠屾柟妗堥渶瑕侀澶栦紶閫掑伐搴忓拰鐗╂枡鍚嶇О涓や釜鍙傛暟
+					this.$refs.listPopup.setRequiredInfo(item.HMaterName, item.HProcName);
+				}
+
+				this.$refs.listPopup.showPopup();
+			},
+			getAnalysisMethodDisplay(val) {
+				console.log("AnalysisMethodVal: ", val);
+				if (val) {
+					return this.arrayAnalysisMethod.find((e) => e.value == val).name;
+				}
+				return "";
+			},
+			checkResultChange(event) {
+				console.log("event: ", event);
+			},
+			// 妫�楠岄」鐩柊澧炶
+			addCheckItem(resource) {
+				let ordinal = this.getObjLength(this.checkItems) + 1;
+				let checkItem = {
+					num: ordinal,
+					HInterID: this.hform.HInterID,
+					HQCCheckItemID: "",
+					HQCCheckItemNumber: "",
+					HQCCheckItemName: "",
+					HInspectInstruMentID: "0",
+					HInspectInstruMentNumber: "",
+					HInspectInstruMentName: "",
+					HQCStd: "",
+					HUnit: "",
+					HQCNote: "",
+					HAnalysisMethod: "",
+					HResult: 1,
+					HMax: "",
+					HMin: "",
+					HAvg: "",
+					HRemark: "",
+					HKeyInspect: false,
+					HStatus: 1,
+					HSampleSchemeID: "",
+					HUnitID: 0,
+					HInspectVal: "",
+					HTargetVal: "",
+					HUpLimit: "",
+					HDownLimit: "",
+					HUpOffSet: "",
+					HDownOffSet: "",
+					HSampleDamageQty: 0,
+					HSampleSchemeName: "",
+					HSampleQty: 0,
+					HAcceptQty: 0,
+					HInspectionLevel: "",
+					HRejectQty: 0,
+					HStrictness: "",
+					HSampleUnRightQty: 0,
+					HAQL: "",
+					HSamplingType: "",
+					HInspectResultToSee: "",
+				};
+				if (resource) {
+					// 閫氳繃涓昏〃妫�楠屾柟妗堝甫鍑虹殑妫�楠岄」鐩�
+					Object.assign(checkItem, resource);
+				}
+				this.$set(this.checkItems, ordinal, checkItem);
+				this.$nextTick(() => {
+					// 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+					this.setInspectValModule(this.checkItems[ordinal]);
+				});
+			},
+			// 妫�楠岄」鐩垹闄よ
+			removeCheckItem(item) {
+				uni.showModal({
+					title: "娓╅Θ鎻愮ず",
+					content: `纭瑕佸垹闄ょ${item.num}琛屽悧锛熷垹闄ゅ悗涓嶈兘鎭㈠`,
+					success: (res) => {
+						if (res.confirm) {
+							this.$delete(this.checkItems, item.num);
+							this.$delete(this.subTabs, `_${item.num}`);
+							this.$forceUpdate();
+							this.refreshCheckItemNum();
+						}
+					},
+				});
+			},
+			async refreshCheckItemNum() {
+				await this.$nextTick();
+				// 閲嶆帓搴忓彿
+				let num = 1;
+				let checkItemsCache = {};
+				for (let s in this.checkItems) {
+					checkItemsCache[num] = this.checkItems[s];
+					checkItemsCache[num].num = num;
+					num++;
+				}
+				this.checkItems = checkItemsCache;
+			},
+			getObjLength(obj) {
+				return Object.keys(obj).length;
+			},
+			// 缁撹淇敼
+			HResultChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HResult"] = e.detail.value ? 1 : 2;
+
+				this.HCheckLastResult();
+			},
+			// 姣忔妫�楠岄」鐩殑缁撹鏇存柊锛岄兘瑕佸垽鏂渶缁堢粨璁�
+			HCheckLastResult() {
+				let unPassNum = 0;
+				for (var key in this.checkItems) {
+					if (!(this.checkItems[key]["HResult"] == 1)) {
+						unPassNum++;
+					}
+				}
+
+				if (unPassNum > 0) {
+					this.hform.HLastResult = false;
+					return;
+				}
+				this.hform.HLastResult = true;
+			},
+			// 妫�楠屾柟妗堜慨鏀�
+			HAnalysisMethodChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HAnalysisMethod"] = this.arrayAnalysisMethod[e.detail.value][
+					"value"
+				];
+
+				// 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+				this.setInspectValModule(this.checkItems[id]);
+			},
+			// 閲嶇偣妫�鏌ヤ慨鏀�
+			HKeyInspectChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HKeyInspect"] = e.detail.value;
+			},
+			// 妫�楠岄」鐩繑鍥�
+			async CheckItemComplete(e) {
+				console.log("CheckItemRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HQCCheckItemID: data["HItemID"],
+						HQCCheckItemNumber: data["浠g爜"],
+						HQCCheckItemName: data["鍚嶇О"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屾柟妗堣繑鍥�
+			async SampleSchemeComplete(e) {
+				console.log("SampleSchemeRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HSampleSchemeID: data["hmainid"],
+						HSampleSchemeNumber: data["鎶芥牱鏂规浠g爜"],
+						HSampleSchemeName: data["鎶芥牱鏂规鍚嶇О"],
+						HSampleQty: data["鏍锋湰閲�"] || 0,
+						HAcceptQty: data["鍏佽鏁�"] || 0,
+						HInspectionLevel: data["妫�楠屾按骞�"],
+						HRejectQty: data["鎷掔粷鏁�"] || 0,
+						HStrictness: data["涓ユ牸搴�"],
+						HSampleUnRightQty: data["鏍锋湰涓嶅悎鏍兼暟"] || 0,
+						HAQL: data["AQL"],
+						HSamplingType: data["鎶芥牱绫诲瀷"],
+						HInspectResultToSee: data["妫�楠岀粨鏋�"],
+						HUpLimit: data["涓婇檺鍊�"] || 0,
+						HDownLimit: data["涓嬮檺鍊�"] || 0,
+						HSampleDamageQty: data["鏍锋湰鐮村潖鏁�"] || 0,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					this.setInspectValModule(this.checkItems[key]);
+
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屼华鍣ㄨ繑鍥�
+			async InspectMentComplete(e) {
+				console.log("InspectInstruMentRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HInspectInstruMentID: data["HItemID"],
+						HInspectInstruMentNumber: data["妫�楠屼华鍣ㄤ唬鐮�"],
+						HInspectInstruMentName: data["妫�楠屼华鍣ㄥ悕绉�"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 浜у搧浠g爜杩斿洖
+			async MaterComplete(e) {
+				console.log("MaterRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HMaterNumber: data["鐗╂枡浠g爜"],
+						HMaterName: data["鐗╂枡鍚嶇О"],
+						HMaterID: data["HItemID"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+					this.GetCheckItemID();
+				}
+			},
+			// 浠诲姟鍗曡繑鍥�
+			async ICMOBillComplete(e) {
+				console.log("ICMOBillRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HICMOInterID: data.hmainid,
+						HICMOEntryID: data.HEntryID || 1,
+						HICMOBillNo: data.鍗曟嵁鍙�,
+						HMaterNumber: data.浜у搧浠g爜,
+						HMaterName: data.浜у搧鍚嶇О,
+						HMaterID: data.HMaterID,
+						HICMOQty: data.鐢熶骇浠诲姟鍗曟暟閲�,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 娴佽浆鍗¤繑鍥�
+			async ProcExchBillComplete(e) {
+				console.log("ProcExchBillRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HProcExchInterID: data.hmainid,
+						HProcExchEntryID: data.hsubid,
+						HProcExchBillNo: data.鍗曟嵁鍙�,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屾柟妗�(涓昏〃)杩斿洖
+			async HQCSchemeComplete(e) {
+				console.log("HQCSchemeRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HQCSchemeID: data.hmainid,
+						HQCSchemeName: data.妫�楠屾柟妗堝悕绉�,
+					});
+					await this.get_CheckItem();
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 宸ュ簭杩斿洖
+			async HProcComplete(e) {
+				console.log(" HProcRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HProcName: data["宸ュ簭鍚嶇О"],
+						HProcID: data["HItemID"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+					await this.GetCheckItemID();
+					await this.get_ICMOBillStatusList();
+					await this.get_QC_TakeSampleCheckBillList();
+				}
+			},
+			
+			//
+			async get_QC_TakeSampleCheckBillList() {
+				// 鍙栨牱鍗曟煡璇�
+				let HProcID = this.hform.HProcID;
+				let HProcExchInterId = this.hform.HProcExchInterID;
+				let sWhere = "";
+
+				if (HProcID == "0" || HProcID == "") {
+					CommonUtils.showTips({
+						message: "璇烽�夋嫨宸ュ簭",
+					});
+					return;
+				}
+
+				sWhere = " and 宸ュ簭娴佽浆鍗′富鍐呯爜='" + HProcExchInterID + "' and HProcID=" + HProcID;
+
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "//QC_TakeSampleCheckBill/QC_TakeSampleCheckBillMainList",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${Message}`,
+						});
+					}
+
+					this.hform.HTakeSampleCheckBillID = data[0]["hmainid"];
+					this.hform.HTakeSampleCheckBillNo = data[0]["鍗曟嵁鍙�"];
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${err}`,
+					});
+				}
+			},
+			async get_ICMOBillStatusList() {
+				let sWhere = "";
+				let HProcID = this.hform.HProcID;
+				let HSourceID = this.hform.HSourceID;
+				let HProcExchInterId = this.hform.HProcExchInterID;
+
+				if (HProcID != "0") {
+					sWhere += " and HProcID=" + HProcID;
+				}
+				if (HSourceID != "0") {
+					sWhere += " and HSourceID=" + HSourceID;
+				}
+
+				sWhere += " and HSourceInterID=" + HProcExchInterID;
+
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/CheckBill/GetICMOBillStatusList",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${Message}`,
+						});
+					}
+
+					this.hform.HProcID = data[0]["HProcID"];
+					this.hform.HProcName = data[0]["宸ュ簭"];
+					this.hform.HSourceID = data[0]["HSourceID"];
+					this.hform.HSourceName = data[0]["鐢熶骇璧勬簮"];
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${err}`,
+					});
+				}
+			},
+			setInspectValModule(checkItem) {
+				console.log("checkItem: ", checkItem);
+				if (!checkItem || !checkItem.HAnalysisMethod || !checkItem.HSampleSchemeID) {
+					return;
+				}
+				// 鍖哄垎妫�楠屽�奸〉绛惧拰闈欐�侀〉绛撅紝妫�楠屽�奸〉绛剧殑id浠寮�澶�
+				this.$set(this.InspectModules, `_${checkItem.num}`, {
+					id: `_${checkItem.num}`,
+					checkItemId: checkItem.num,
+				});
+				console.log(" this.arrayAnalysisMethod: ", checkItem.HAnalysisMethod);
+				let analysisMethodName = this.arrayAnalysisMethod.find(
+					(e) => e.value == checkItem.HAnalysisMethod
+				).name;
+				this.$set(this.subTabs, `_${checkItem.num}`, {
+					id: `_${checkItem.num}`,
+					name: `${analysisMethodName}-${checkItem.HQCCheckItemName}`,
+				});
+			},
+			InspectValueUpdate(e) {
+				console.log("e: ", e);
+				let {
+					data,
+					list
+				} = e;
+				this.checkItems[data.num] = Object.assign(this.checkItems[data.num], data);
+				this.$set(this.InspectValues, `${data.num}`, list);
+			},
+			// 甯﹀嚭妫�楠岄」鐩�
+			async get_CheckItem() {
+				// 棣栧厛娓呯┖妫�楠岄」鐩� 鍜� 妫�楠屽��
+				this.checkItems = {}
+				for (let key in this.subTabs) {
+					if (key.substring(1) == "_") {
+						this.$delete(this.subTabs, key)
+					}
+				}
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Web/GetCheckItemByCheckProjectID",
+						data: {
+							CheckProjectID: this.hform.HQCSchemeID || 0,
+							HBatchQty: this.hform.HProcExchQty || 0,
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+
+					if (count == 1) {
+						for (var i = 0; i < data.length; i++) {
+							let checkItem = {
+								HQCCheckItemID: data[i]["HQCCheckItemID"],
+								HQCCheckItemNumber: data[i]["妫�楠岄」鐩唬鐮�"],
+								HQCCheckItemName: data[i]["妫�楠岄」鐩�"],
+								HInspectInstruMentID: data[i]["HInspectInstruMentID"],
+								HInspectInstruMentNumber: data[i]["妫�楠屼华鍣ㄤ唬鐮�"],
+								HInspectInstruMentName: data[i]["妫�楠屼华鍣�"],
+								HQCStd: data[i]["HQCStd"],
+								HUnit: data[i]["鍗曚綅鍚嶇О"],
+								HQCNote: "",
+								HAnalysisMethod: data[i]["鍒嗘瀽鏂规硶"],
+								HResult: data[i]["榛樿缁撹"],
+								HMax: "",
+								HMin: "",
+								HAvg: "",
+								HRemark: "",
+								HKeyInspect: data[i]["閲嶇偣妫�鏌�"] == 1 ? true : false,
+								HStatus: 0,
+								HSampleSchemeID: data[i]["HSampleSchemeID"],
+								HUnitID: data[i]["HUnitID"],
+								HInspectVal: "",
+								HTargetVal: "",
+								HUpLimit: data[i].涓婇檺鍊�,
+								HDownLimit: data[i].涓嬮檺鍊�,
+								HUpOffSet: "",
+								HDownOffSet: "",
+								HSampleDamageQty: "0",
+								HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+								HSampleQty: data[i].鏍锋湰閲�,
+								HAcceptQty: data[i].鍏佽鏁�,
+								HInspectionLevel: data[i].妫�楠屾按骞�,
+								HRejectQty: data[i].鎷掔粷鏁�,
+								HStrictness: data[i].涓ユ牸搴�,
+								HSampleUnRightQty: 0,
+								HAQL: data[i].AQL,
+								HSamplingType: data[i].鎶芥牱绫诲瀷,
+								HCompareSymbol: data[i].姣旇緝绗�,
+								HTargetVal: data[i].鐩爣鍊� || 0,
+							};
+
+							this.addCheckItem(checkItem);
+						}
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${Message} `,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${err} `,
+					});
+				}
+			},
+			async getMaxBillNo() {
+				try {
+					let res = await CommonUtils.doRequest2Sync({
+						url: "/Web/GetMAXNum",
+						data: {
+							HBillType: "7504",
+						},
+					});
+
+					if (!res) {
+						return;
+					}
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+					if (count == 1) {
+						this.hform.HInterID = data[0].HInterID;
+						this.hform.HBillNo = data[0].HBillNo;
+					} else {
+						throw Message;
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: "鑾峰彇鍗曟嵁鍙峰紓甯�: " + err,
+					});
+				}
+			},
+			// 妫�楠屽�艰繑鍥炲��
+			InspectValueComplete(e) {
+				console.log("e: ", e);
+				let key = e.num;
+				e.HStatus = e.HStatus ? 1 : 0
+				if (e.HResult2 == '') {
+					e.HResult2 = this.checkItems[key].HResult
+				}
+				Object.assign(this.checkItems[key], e);
+				this.checkItems[key].HInspectResultToSee = this.checkItems[key].HResult2;
+				this.checkItems[key].HResult = this.checkItems[key].HResult2 == '鍚堟牸' ? 1 : 2;
+
+				this.HCheckLastResult();
+
+			},
+			checkSubmitValidate() {
+				// if (this.hform.HICMOQty == "" || this.hform.HICMOQty <= 0) {
+				// 	CommonUtils.showTips({
+				// 		message: "浠诲姟鍗曟暟閲忎笉鑳戒负绌轰笖涓嶈兘灏忎簬绛変簬0锛�",
+				// 	});
+				// 	return false;
+				// }
+
+				if (this.hform.HFirstCheckEmp == 0) {
+					CommonUtils.showTips({
+						message: "妫�楠屽憳鏈�夋嫨锛�",
+					});
+					return false;
+				}
+
+				for (let key in this.checkItems) {
+					if (!this.checkItems[key].HQCCheckItemID) {
+						CommonUtils.showTips({
+							message: `绗�${this.checkItems[key].num}琛屾楠岄」鐩笉鑳戒负绌�!`,
+						});
+						return false;
+					}
+
+					if (
+						this.checkItems[key].HSampleSchemeID == "" ||
+						this.checkItems[key].HSampleSchemeID == null
+					) {
+						this.checkItems[key].HSampleSchemeID = 0;
+					}
+					if (
+						this.checkItems[key].HSampleQty == "" ||
+						this.checkItems[key].HSampleQty == null
+					) {
+						this.checkItems[key].HSampleQty = 0;
+					}
+					if (
+						this.checkItems[key].HSampleDamageQty == "" ||
+						this.checkItems[key].HSampleDamageQty == null
+					) {
+						this.checkItems[key].HSampleDamageQty = 0;
+					}
+					if (
+						this.checkItems[key].HAcceptQty == "" ||
+						this.checkItems[key].HAcceptQty == null
+					) {
+						this.checkItems[key].HAcceptQty = 0;
+					}
+					if (
+						this.checkItems[key].HRejectQty == "" ||
+						this.checkItems[key].HRejectQty == null
+					) {
+						this.checkItems[key].HRejectQty = 0;
+					}
+					if (
+						this.checkItems[key].HSampleUnRightQty == "" ||
+						this.checkItems[key].HSampleUnRightQty == 0
+					) {
+						this.checkItems[key].HSampleUnRightQty = 0;
+					}
+					if (this.checkItems[key].HUnitID == "") {
+						this.checkItems[key].HUnitID = 0;
+					}
+				}
+
+				return true;
+			},
+			async submit() {
+				if (!this.checkSubmitValidate()) {
+					return;
+				}
+				try {
+					console.log('this.$refs: ', this.$refs);
+					// 妫�鏌ユ槸鍚︽湁鏈垏鎹㈢殑妫�楠屽�兼ā鍧�(鏄惁鍖呭惈set_SaveValue鏂规硶),濡傛灉鏈夛紝鍒欒繍琛屼竴娆′繚瀛樻楠屽�肩殑鏂规硶锛屾牴鎹楠屽�兼槸鍚︿繚瀛樻垚鍔熷啀鎵ц涓嬩竴姝�
+					if (typeof this.$refs.InspectValueModules != "undefined" && this.$refs.InspectValueModules.length >
+						0) {
+						// 鍔犺浇鏈夋楠屽�兼ā鍧�
+						await this.$refs.InspectValueModules[0].set_SaveValue();
+						this.InspectValues[0] = this.$refs.InspectValueModules[0].InSpectValues;
+						await this.InspectValueComplete(this.$refs.InspectValueModules[0].checkData)
+					}
+					let InspectValuesTrans = [];
+					let HInterID = this.hform.HInterID;
+					for (let key in this.InspectValues) {
+						let HEntryID = key;
+
+						InspectValuesTrans.push(
+							`${JSON.stringify(this.InspectValues[key])}`
+						);
+					}
+					let checkItemsArray = [];
+					for (var key in this.checkItems) {
+						let checkItem = JSON.parse(JSON.stringify(this.checkItems[key]))
+						delete checkItem.data
+						checkItemsArray.push(checkItem);
+					}
+					console.log('checkItemsArray: ', checkItemsArray);
+					let sMainSub = `${JSON.stringify(this.hform)};${JSON.stringify(
+          checkItemsArray
+        )};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
+					console.log("this.checkItems: ", this.checkItems);
+
+					let res = await CommonUtils.doRequest2Sync({
+						url: "/QC_OutCompCheckBill/AddBill",
+						data: {
+							sMainSub: sMainSub,
+						},
+						method: "POST",
+					});
+
+					if (!res) {
+						return;
+					}
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+					if (count == 1) {
+						uni.showModal({
+							title: "鎻愮ず",
+							content: res.data.Message + "銆傛槸鍚︾户缁柊澧烇紵",
+							success: (res) => {
+								if (res.confirm) {
+									console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+									uni.redirectTo({
+										url: "/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2?operationType=1",
+									});
+								} else if (res.cancel) {
+									console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+									// setTimeout(() => {
+									//     uni.navigateBack();
+									// }, 50)
+								}
+							},
+						});
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${err}`,
+					});
+				}
+			},
+			addNew() {
+				uni.redirectTo({
+					url: "/pages/ZLGL/shoujianjianyan/firstCheckBillList?operationType=1",
+				});
+			},
+			goBack() {
+				uni.navigateBack();
+			},
+			async RoadBillMain() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_Edit",
+						data: {
+							sWhere: ` and hmainid=${this.hform.HInterID}`,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+
+					if (count == 1) {
+						console.log("RoadBillMain: : ", data);
+						Object.assign(this.hform, {
+							HInterID: data[0].hmainid,
+							HBillNo: data[0].鍗曟嵁鍙�,
+							HDate: dayjs(data[0].鏃ユ湡).format("YYYY-MM-DD"),
+							HSourceID: data[0].HSourceID,
+							HSourceName: data[0].鐢熶骇璧勬簮鍚嶇О,
+							HICMOBillNo: data[0].浠诲姟鍗曞彿,
+							HICMOQty: data[0].浠诲姟鍗曟暟閲�,
+							HICMOInterID: data[0].HICMOInterID,
+							HICMOEntryID: data[0].HICMOEntryID || 1,
+							HMaterID: data[0].HMaterID,
+							HMaterName: data[0].鐗╂枡鍚嶇О,
+							HMaterNumber: data[0].鐗╂枡浠g爜,
+							HProcID: data[0].HProcID,
+							HProcName: data[0].HProcName,
+							HProcExchQty: data[0].HProcExchQty || 0,
+							HProcExchBillNo: data[0].HProcExchBillNo,
+							HProcExchInterID: data[0].HProcExchInterID,
+							HProcExchEntryID: data[0].HProcExchEntryID || 0,
+							HFirstCheckEmp: data[0].HFirstCheckEmp,
+							HFirstCheckEmpName: data[0].璐ㄦ鍛樺悕绉�,
+							HQCSchemeID: data[0].妫�楠屾柟妗圛D,
+							HQCSchemeName: data[0].妫�楠屾柟妗堝悕绉�,
+							HRemark: data[0].琛ㄥご澶囨敞,
+							HMaker: data[0].鍒跺崟浜�,
+							HMakeDate: data[0].鍒跺崟鏃ユ湡,
+							HChecker: data[0].瀹℃牳浜�,
+							HCheckDate: data[0].瀹℃牳鏃ユ湡,
+							HCloseMan: data[0].鍏抽棴浜�,
+							HCloseDate: data[0].鍏抽棴鏃ユ湡,
+							HUpDateDate: data[0].淇敼鏃ユ湡,
+							HDeleteDate: data[0].浣滃簾鏃ユ湡,
+							HSampleSchemeID: data[0].HSampleSchemeID,
+							HSampleSchemeName: data[0].鎶芥牱鏂规鍚嶇О,
+							HSampleQty: data[0].鏍锋湰閲�,
+							HSampleQty2: data[0].鏍锋湰閲�,
+							HSampleDamageQty: data[0].鏍锋湰鐮村潖鏁�,
+							HSamplingType: data[0].鎶芥牱绫诲瀷,
+							HAcceptQty: data[0].鍏佽鏁�,
+							HInspectionLevel: data[0].妫�楠屾按骞�,
+							HRejectQty: data[0].鎷掔粷鏁�,
+							HStrictness: data[0].涓ユ牸搴�,
+							HSampleUnRightQty: data[0].鏍锋湰涓嶅悎鏍兼暟 || 0,
+							HSampleUnRightQty2: data[0].鏍锋湰涓嶅悎鏍兼暟,
+							HAQL: data[0].AQL,
+							HUnitID: data[0].HUnitID,
+							HUnit: data[0].鍗曚綅,
+							HInspectValB: data[0].妫�娴嬪�煎熀纭�璧勬枡,
+							HInspectVal: data[0].妫�娴嬪��,
+							HTargetValB: data[0].鐩爣鍊煎熀纭�璧勬枡,
+							HTargetVal: data[0].鐩爣鍊�,
+							HUpLimit: data[0].涓婇檺鍊�,
+							HDownLimit: data[0].涓嬮檺鍊�,
+							HUpOffSet: data[0].涓婂亸宸�,
+							HDownOffSet: data[0].涓嬪亸宸�,
+							HEntryID: data[0].hsubid,
+							HQCCheckItemName: data[0].妫�楠岄」鐩悕绉�,
+							HQCCheckItemID: data[0].HQCCheckItemID,
+							HShiftsID: data[0].HShiftsID,
+							HShiftsName: data[0].鐝鍚嶇О,
+							HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
+							HBatchNo: data[0].鎵瑰彿,
+							HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+							HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
+							HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
+							HAnalysisMethod: function() {
+								if (data[0].HAnalysisMethod == 1) {
+									return '瀹氭�ф楠�'
+								} else if (data[0].HAnalysisMethod == 2) {
+									return '瀹氶噺妫�楠�'
+								} else {
+									return '鍏朵粬妫�楠�'
+								}
+							}(),
+
+
+
+						});
+
+						for (let i = 0; i < data.length; i++) {
+							this.addCheckItem({
+								HQCCheckItemID: data[i].HQCCheckItemID,
+								HQCCheckItemNumber: data[i].妫�楠岄」鐩唬鐮�,
+								HQCCheckItemName: data[i].妫�楠岄」鐩悕绉�,
+								HInspectInstruMentID: data[i].HInspectInstruMentID,
+								HInspectInstruMentNumber: data[i].妫�楠屼华鍣ㄤ唬鐮�,
+								HInspectInstruMentName: data[i].妫�楠屼华鍣ㄥ悕绉�,
+								HQCStd: data[i].妫�楠屾爣鍑�,
+								HUnit: data[i].鍗曚綅鍚嶇О,
+								HQCNote: data[i].妫�楠岃褰�,
+								HResult: data[i].缁撹 == "鍚堟牸" ? 1 : 0,
+								HMax: data[i].鏈�澶у��,
+								HMin: data[i].鏈�灏忓��,
+								HAvg: data[i].骞冲潎鍊�,
+								HRemark: data[i].琛ㄤ綋澶囨敞,
+								HAnalysisMethod: data[i].鍒嗘瀽鏂规硶 == "瀹氭�у垎鏋�" ?
+									1 : data[i].鍒嗘瀽鏂规硶 == "瀹氶噺鍒嗘瀽" ?
+									2 : 3,
+								HKeyInspect: data[i].閲嶇偣妫�鏌� == "鍚�" ? false : true,
+								HSampleSchemeID: data[i].HSampleSchemeID,
+								HUnitID: data[i].HUnitID,
+								HInspectVal: data[i].妫�娴嬪��,
+								HTargetVal: data[i].鐩爣鍊�,
+								HUpLimit: data[i].涓婇檺鍊�,
+								HDownLimit: data[i].涓嬮檺鍊�,
+								HUpOffSet: data[i].涓婂亸宸�,
+								HDownOffSet: data[i].涓嬪亸宸�,
+								HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+								HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+								HSampleQty: data[i].鏍锋湰閲�,
+								HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+								HAcceptQty: data[i].鍏佽鏁�,
+								HInspectionLevel: 0,
+								HRejectQty: data[i].鎷掔粷鏁�,
+								HStrictness: 0,
+								HSampleUnRightQty: data[i].鏍锋湰涓嶅悎鏍兼暟,
+								HAQL: data[i].AQL,
+								HSamplingType: 0,
+								HSamplingType: data[i].鎶芥牱绫诲瀷,
+								HStrictness: data[i].涓ユ牸搴�,
+								HInspectResultToSee: data[i].妫�楠岀粨鏋�
+							});
+
+						}
+
+
+						this.hasSourceBill = true
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍔犺浇鍗曟嵁澶辫触: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍔犺浇鍗曟嵁澶辫触: ${err}`,
+					});
+				}
+			},
+		},
+		async onLoad(e) {
+			this.operationType = e.operationType || 1;
+			this.hform.HInterID = e.linterid || 0;
+			if (this.operationType == 1) {
+				await this.getMaxBillNo();
+			} else if (this.operationType == 2) {
+
+			} else if (this.operationType == 3) {
+				await this.RoadBillMain();
+			}
+
+			await this.InitHSource();
+			await this.InitHWorkShift();
+			await this.InitHEmp();
+		},
+	};
+</script>
+
+<style lang="scss" scoped>
+	input {
+		width: inherit;
+		font-size: 26rpx;
+	}
+
+	.uni-input {
+		padding: 0;
+	}
+
+	.bill-main-tabs,
+	.bill-sub-tabs {
+		box-sizing: border-box;
+		width: 730rpx;
+		display: flex;
+		flex-direction: row;
+		flex-wrap: nowrap;
+		gap: 20rpx;
+		flex-shrink: 0;
+		overflow-x: auto;
+		border-bottom: 1px solid #ddd;
+		padding: 20rpx 10rpx;
+		white-space: nowrap;
+
+		view {
+			width: auto;
+			font-size: 26rpx;
+			color: #555;
+			text-align: center;
+			padding: 16rpx 0;
+		}
+
+		.selected {
+			color: #3a78ff;
+			font-weight: bold;
+			border-bottom: 3px solid #3a78ff;
+		}
+	}
+
+	.bill-main-content,
+	.bill-sub-content {
+		box-sizing: border-box;
+		padding: 0 30rpx 0 30rpx;
+		display: flex;
+		flex-direction: column;
+
+		.form-item {
+			width: 100%;
+			display: flex;
+			align-items: center;
+			font-size: 26rpx;
+			padding: 6rpx 0;
+
+			.left {
+				width: 208rpx;
+
+				text {
+					color: red;
+					font-weight: bold;
+				}
+			}
+
+			.right {
+				// width: 450rpx;
+				padding: 8rpx 20rpx;
+				font-size: 26rpx;
+				flex: 1;
+				border-radius: 22rpx;
+				border: 1px solid #acacac;
+
+				.uni-combox {
+					padding: 0;
+					height: auto;
+
+					.uni-input-placeholder,
+					.uni-input-input {
+						font-size: 26rpx;
+					}
+				}
+
+				.uni-combox::v-deep input {
+					height: inherit;
+					font-size: 26rpx;
+				}
+			}
+
+			.disabled {
+				border: 1px solid #e4e4e4;
+				background-color: #e4e4e4;
+			}
+
+			.none-border {
+				border: none;
+			}
+		}
+	}
+
+	.bottom-btn {
+		box-sizing: border-box;
+		width: 100%;
+		height: 120rpx;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		background-color: #fff;
+		box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+		padding: 30rpx 40rpx 40rpx 40rpx;
+		display: flex;
+		flex-direction: row;
+		gap: 10rpx;
+
+		button {
+			border-radius: 50rpx;
+			width: 180rpx;
+			height: 66rpx;
+			line-height: 66rpx;
+			font-size: 28rpx;
+		}
+
+		.btn-a {
+			background-color: #3a78ff;
+			color: #fff;
+		}
+
+		.btn-b {
+			background-color: #41a863;
+			color: #fff;
+		}
+
+		.btn-c {
+			background-color: #acacac;
+			color: #fff;
+			// position: absolute;
+			// right: 120rpx;
+		}
+
+		.btn-d {
+			background-color: #ff8901;
+			color: #fff;
+		}
+	}
+
+	.buttons {
+		box-sizing: border-box;
+		width: 100%;
+		display: flex;
+		justify-content: center;
+		padding: 10rpx 0;
+
+		button {
+			border-radius: 50rpx;
+			width: 180rpx;
+			height: 66rpx;
+			line-height: 66rpx;
+			font-size: 26rpx;
+		}
+
+		.btn-a {
+			background-color: #acacac;
+			color: #fff;
+		}
+
+		.btn-b {
+			background-color: #41a863;
+			color: #fff;
+		}
+
+		.btn-c {
+			background-color: #3a78ff;
+			color: #fff;
+		}
+	}
+
+	.list {
+		width: 100%;
+
+		.card-detail {
+			width: 100%;
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+			align-items: center;
+			line-height: 120%;
+			gap: 10rpx 0;
+
+			input {
+				font-size: 26rpx;
+			}
+
+			.detail {
+				// width: 50%;
+				box-sizing: border-box;
+				font-size: 26rpx;
+				color: #555;
+				padding-right: 20rpx;
+
+				text {
+					color: #999;
+					font-size: 26rpx;
+				}
+			}
+
+			.editable {
+				width: 50%;
+				display: inline-flex;
+				flex-direction: row;
+				align-items: center;
+
+				text {
+					flex-shrink: 0;
+				}
+
+                .editable-input {
+                    border: 1px solid #acacac;
+                    border-radius: 5rpx;
+                    padding: 0 12rpx;
+                }
+            }
+        }
+    }
+
+	.icon-wrapper {
+		background-color: #3a78ff;
+		border-radius: 100%;
+		width: 40rpx;
+		height: 40rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-shrink: 0;
+
+		.uni-icons {
+			color: #fff !important;
+		}
+	}
+
+	.icon-wrapper-big {
+		background-color: #3a78ff;
+		border-radius: 100%;
+		width: 50rpx;
+		height: 50rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-shrink: 0;
+		margin-left: 20rpx;
+
+		.uni-icons {
+			color: #fff !important;
+		}
+	}
+
+	.more {
+		color: #888;
+		font-size: 22rpx;
+		display: flex;
+		border-top: 1px solid #eee;
+		padding-top: 10rpx;
+
+		.part {
+			width: 100%;
+			text-align: center;
+		}
+	}
+
+	.pass-background {
+		background-color: #cee3f2;
+		border: none;
+	}
+
+	.unpass-background {
+		background-color: #f0d6e3;
+		border: none;
+	}
+</style>
\ No newline at end of file
diff --git a/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue b/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
new file mode 100644
index 0000000..c2dc66d
--- /dev/null
+++ b/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
@@ -0,0 +1,2292 @@
+<template>
+	<view>
+		<!-- 涓昏〃鍖哄煙 -->
+		<view class="bill-main-area">
+			<!-- 涓昏〃椤电 -->
+			<view class="bill-main-tabs">
+				<view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">鍩烘湰淇℃伅</view>
+				<view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">鍏朵粬淇℃伅</view>
+				<view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">鍒跺崟淇℃伅</view>
+			</view>
+			<!-- 涓昏〃鍐呭 -->
+			<view class="bill-main-contents">
+				<!-- 鍩烘湰淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 1">
+					<view class="form-item">
+						<view class="left">鍗曟嵁鍙�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HBillNo" disabled />
+						</view>
+					</view>
+
+					<view class="form-item">
+						<view class="left">鏃ユ湡</view>
+						<view class="right">
+							<uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate">
+								<view>{{ hform.HDate }}</view>
+							</uni-datetime-picker>
+						</view>
+					</view>
+
+					<view class="form-item">
+						<view class="left">婧愬崟鍗曞彿</view>
+						<view class="right" :class="!hasSourceBill?'':'disabled'">
+							<input type="text" :disabled="hasSourceBill" placeholder="璇疯緭鍏ユ垨鎵弿婧愬崟鍙�"
+								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>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇璧勬簮</view>
+						<view class="right">
+							<uni-combox :candidates="GySourceNameList" placeholder="璇烽�夋嫨鐢熶骇璧勬簮" v-model="hform.HSourceName"
+								@update:modelValue="HSourceChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇鐝</view>
+						<view class="right">
+							<uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+								v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+						</view>
+					</view>				
+					<view class="form-item" v-if="false">
+						<view class="left">浠诲姟鍗曞彿</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HICMOBillNo" disabled />
+						</view>
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+								@click="showSelectorModule(hform, 5)"></uni-icons></view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">娴佽浆鍗″彿</view>
+						<view class="right disabled">
+							<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>
+					</view>
+					<view class="form-item">
+						<view class="left">浜у搧浠g爜</view>
+						<view class="right disabled">
+							<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>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浜у搧鍚嶇О</view>
+						<view class="right disabled">
+							<input type="text" disabled :value="hform.HMaterName" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">妫�楠屽憳</view>
+						<view class="right">
+							<uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
+								:v-model="hform.HFirstCheckEmpName"
+								@update:modelValue="HFirstCheckEmpChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">妫�楠屾柟妗�</view>
+						<view class="right disabled">
+							<input type="text" disabled :value="this.hform.HQCSchemeName" />
+						</view>
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+								@click="showSelectorModule(hform, 7)"></uni-icons></view>
+					</view>
+					
+					<view class="form-item">
+						<view class="left">鍒ゆ柇缁撹</view>
+						<view class="right none-border">
+							<radio-group @changer="checkResultChange">
+								<label>
+									<radio value="0" :checked="hform.HLastResult" /><text></text>
+									鍚堟牸
+								</label>
+								<view style="width: 20rpx; display: inline-block"></view>
+								<label>
+									<radio value="1" :checked="!hform.HLastResult" /><text></text>
+									涓嶅悎鏍�
+								</label>
+							</radio-group>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">宸ュ簭</view>
+						<view class="right disabled">
+							<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>
+					</view>
+								
+				</view>
+				<!-- 鍏朵粬淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 2">
+					<view class="form-item">
+						<view class="left">婧愬崟绫诲瀷</view>
+						<view class="right" style="position: relative" :class="!hasSourceBill?'':'disabled'">
+							<picker mode="selector" :range="HSourceBillTypeNameList" :disabled="hasSourceBill"
+								@change="HSourceBillTypeNameChange">
+								<input type="text" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="HSourceBillType" disabled/>
+								<view class="picker-overlay"></view>
+							</picker>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇鐝</view>
+						<view class="right">
+							<uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+								v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">寮傚父涓存椂澶勭悊鏂规</view>
+						<view class="right">
+							<input type="text" v-model="hform.HErrTreatment" value="" />
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">浠诲姟鍗曟暟閲�</view>
+						<view class="right">
+							<input type="number" v-model="hform.HICMOQty" />
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">娴佽浆鍗℃暟閲�</view>
+						<view class="right">
+							<input type="number" v-model="hform.HProcExchQty" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鎵瑰彿</view>
+						<view class="right">
+							<input type="text" value="" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">澶囨敞</view>
+						<view class="right">
+							<input type="text" v-model="hform.HRemark" value="" />
+						</view>
+					</view>		
+				</view>
+				<!-- 鍒跺崟淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 3">
+					<view class="form-item">
+						<view class="left">鍒跺崟浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HMaker" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍒跺崟鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HMakeDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">瀹℃牳浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HChecker" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">瀹℃牳鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCheckDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍏抽棴浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCloseMan" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍏抽棴鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCloseDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">淇敼浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HUpDater" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">淇敼鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HUpDateDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浣滃簾浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HDeleteMan" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浣滃簾鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HDeleteDate" disabled />
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 瀛愯〃鍖哄煙 -->
+		<view class="bill-sub-area">
+			<!-- 瀛愯〃椤电 -->
+			<view class="bill-sub-tabs">
+				<view v-for="subTab in subTabs" :key="subTab.id" :class="subTab.id == subTabSelected ? 'selected' : ''"
+					@tap="subTabSelected = subTab.id">{{ subTab.name }}</view>
+			</view>
+			<!-- 瀛愯〃鍐呭 -->
+			<view class="bill-main-contents">
+				<!-- 妫�楠岄」鐩� 鍛堢幇 -->
+				<view v-if="subTabSelected == 1">
+					<!-- 闇�閫氳繃鏄惧紡璋冪敤蹇界暐$event鍙傛暟 -->
+					<view class="buttons" @tap="addCheckItem()">
+						<uni-icons type="plus" style="margin-right: 10rpx" size="22"></uni-icons>鏂板
+					</view>
+					<view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+					<view class="list" v-else>
+						<uni-card v-for="checkItem in checkItems" :key="checkItem.num">
+							<view class="card-detail">
+								<view class="detail"> <text>搴忓彿锛�</text>{{ checkItem.num }} </view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>妫�楠岄」鐩細</text></view>
+									<input type="text" :value="checkItem.HQCCheckItemName" disabled="" />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(checkItem, 2)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>妫�楠屼华鍣細</text></view>
+									<input type="text" :value="checkItem.HInspectInstruMentName" disabled="" />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(checkItem, 3)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<view><text>缁撹锛�</text></view>
+									<view style="width: 4em">
+										{{ checkItem.HResult == 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}
+									</view>
+									<view>
+										<switch style="width: 2em; transform: scale(0.7)"
+											:checked="checkItem.HResult == 1"
+											@change="HResultChange(checkItem.num, $event)" />
+									</view>
+								</view>
+								<view class="detail editable" style="position: relative">
+									<view style="flex-shrink: 0"><text>鍒嗘瀽鏂规硶锛�</text></view>
+									<picker :range="arrayAnalysisMethod" range-key="name"
+										@change="HAnalysisMethodChange(checkItem.num, $event)">
+										<input disabled :value="getAnalysisMethodDisplay(checkItem.HAnalysisMethod)"
+											placeholder="璇烽�夋嫨" />
+										<view class="picker-overlay"></view>
+									</picker>
+								</view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>閲嶇偣妫�鏌ワ細</text></view>
+									<view>
+										<switch type="checkbox" style="transform: scale(0.7)"
+											:checked="checkItem.HKeyInspect"
+											@change="HKeyInspectChange(checkItem, $event)" />
+									</view>
+								</view>
+								<view class="detail" v-if="checkItem.HQCStd">
+									<text>妫�楠屾爣鍑嗭細</text>{{ checkItem.HQCStd }}
+								</view>
+								<view class="detail" v-if="checkItem.HUnit">
+									<text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
+								</view>
+								 <!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+								<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 }}
+								</view>
+								<view class="detail" v-if="checkItem.HTargetVal">
+									<text>鐩爣鍊硷細</text>{{ checkItem.HTargetVal }}
+								</view>
+								<view class="detail" v-if="checkItem.HUpLimit">
+									<text>涓婇檺鍊硷細</text>{{ checkItem.HUpLimit }}
+								</view>
+								<view class="detail" v-if="checkItem.HDownLimit">
+									<text>涓嬮檺鍊硷細</text>{{ checkItem.HDownLimit }}
+								</view>
+								<view class="detail" v-if="checkItem.HMax">
+									<text>鏈�澶у�硷細</text>{{ checkItem.HMax }}
+								</view>
+								<view class="detail" v-if="checkItem.HMin">
+									<text>鏈�灏忓�硷細</text>{{ checkItem.HMin }}
+								</view>
+								<view class="detail" v-if="checkItem.HAvg">
+									<text>骞冲潎鍊硷細</text>{{ checkItem.HAvg }}
+								</view>
+							</view>
+							<view style="height: 20rpx"></view>
+							<view class="more">
+								<view class="part" style="color: #da0000" @tap.stop="removeCheckItem(checkItem)">
+									<uni-icons type="trash" style="color: #da0000; margin-right: 10rpx"
+										size="18"></uni-icons>鍒犻櫎
+								</view>
+							</view>
+						</uni-card>
+					</view>
+				</view>
+				<!-- 鎶芥牱妫�楠� 鍛堢幇 -->
+				<view v-if="subTabSelected == 2">
+					<view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+					<view class="list" v-else>
+						<uni-card v-for="SamplingItem in checkItems" :key="SamplingItem.num">
+							<view class="card-detail">
+								<view class="detail"> <text>搴忓彿锛�</text>{{ SamplingItem.num }} </view>
+								<view class="detail editable">
+									<text>妫�楠岄」鐩細</text>{{ SamplingItem.HQCCheckItemName }}
+								</view>
+								<view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+								<view class="detail editable" style="width: 100%">
+									<view style="flex-shrink: 0"><text>鎶芥牱鏂规锛�</text></view>
+									<input type="text" :value="SamplingItem.HSampleSchemeName" disabled />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(SamplingItem, 1)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<text>鎶芥牱绫诲瀷锛�</text>{{ SamplingItem.HSamplingType }}
+								</view>
+								<view class="detail editable">
+									<text>妫�楠屾按骞筹細</text>{{ SamplingItem.HInspectionLevel }}
+								</view>
+								<view class="detail editable">
+									<text>涓ユ牸搴︼細</text>{{ SamplingItem.HStrictness }}
+								</view>
+								<view class="detail editable">
+									<text>AQL锛�</text>{{ SamplingItem.HAQL }}
+								</view>
+								<view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+								<view class="detail editable">
+									<text>鏍锋湰閲忥細</text>{{ SamplingItem.HSampleQty }}
+								</view>
+								<view class="detail editable">
+									<text>鍏佽鏁帮細</text>{{ SamplingItem.HAcceptQty }}
+								</view>
+								<view class="detail editable">
+									<text>鎷掔粷鏁帮細</text>{{ SamplingItem.HRejectQty }}
+								</view>
+								<view class="detail editable">
+									<text>鏍锋湰涓嶅悎鏍兼暟锛�</text>{{ SamplingItem.HSampleUnRightQty }}
+								</view>
+								<view class="detail editable">
+									<text>鏍锋湰鐮村潖鏁帮細</text>
+									<view class="editable-input">
+										<input type="number" v-model="SamplingItem.HSampleDamageQty" />
+									</view>
+								</view>
+								<view class="detail editable">
+									<text>妫�楠岀粨鏋滐細</text>
+									<view style="border-radius: 15%; padding: 0 10rpx" :class="
+                                        SamplingItem.HInspectResultToSee == '鍚堟牸'
+                                        ? 'pass-background'
+                                        : SamplingItem.HInspectResultToSee == '涓嶅悎鏍�'
+                                        ? 'unpass-background'
+                                        : ''
+                                    ">
+										{{ SamplingItem.HInspectResultToSee }}
+									</view>
+								</view>
+							</view>
+						</uni-card>
+					</view>
+				</view>
+				<!-- 妫�娴嬪�� 鍛堢幇 -->
+				<view v-else v-for="item in InspectModules" :key="item.id">
+					<view v-if="subTabSelected == item.id">
+						<InspectValueTemplateVue ref="InspectValueModules" :bind-key="item.id"
+							@syncCheckData="InspectValueComplete" :bind-data="{
+                data: checkItems[item.checkItemId],
+                list: InspectValues[item.checkItemId],
+                mode: 3 // 棣栨妫�娴嬪�兼ā鍧�
+              }">
+						</InspectValueTemplateVue>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view style="height: 120rpx"></view>
+		<view class="bottom-btn">
+			<button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+			<view style="flex: 1"></view>
+			<button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+			<button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+		</view>
+		<SampleSchemePopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup"
+			@update="SampleSchemeComplete" :bindKey="currentChechItemIDCache">
+		</SampleSchemePopupVue>
+		<CheckItemPopupVue v-if="enablePopupModule == PopupModuleNameList[2]" ref="listPopup"
+			@update="CheckItemComplete" :bindKey="currentChechItemIDCache">
+		</CheckItemPopupVue>
+		<InspectMentPopupVue v-if="enablePopupModule == PopupModuleNameList[3]" ref="listPopup"
+			@update="InspectMentComplete" :bindKey="currentChechItemIDCache">
+		</InspectMentPopupVue>
+		<MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[4]" ref="listPopup" @update="MaterComplete"
+			:bindKey="0">
+		</MaterialPopupVue>
+		<ICMOBillPopupVue v-if="enablePopupModule == PopupModuleNameList[5]" ref="listPopup" @update="ICMOBillComplete"
+			:bindKey="0"></ICMOBillPopupVue>
+		<ProcExchBillPopupVue v-if="enablePopupModule == PopupModuleNameList[6]" ref="listPopup"
+			@update="ProcExchBillComplete" :bindKey="0"></ProcExchBillPopupVue>
+		<ProcessPopupVue v-if="enablePopupModule == PopupModuleNameList[8]" ref="listPopup" @update="HProcComplete"
+			:bindKey="0"></ProcessPopupVue>
+		<CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
+			@update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+	</view>
+</template>
+
+<script>
+	import dayjs from "dayjs";
+	import {
+		CommonUtils
+	} from "../../../utils/common";
+	import InspectValueTemplateVue from "@/components/ZLGL/InspectValueTemplate.vue";
+	import SampleSchemePopupVue from "@/components/ZLGL/SampleSchemePopup.vue";
+	import CheckItemPopupVue from "@/components/ZLGL/CheckItemPopup.vue";
+	import InspectMentPopupVue from "../../../components/ZLGL/InspectMentPopup.vue";
+	import MaterialPopupVue from "../../../components/ZLGL/MaterialPopup.vue";
+	import ICMOBillPopupVue from "../../../components/ZLGL/ICMOBillPopup.vue";
+	import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
+	import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
+	import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+	import {
+		getUserInfo
+	} from "../../../utils/auth";
+	import {
+		MpaasScan
+	} from "../../../utils/mpaasScan";
+	export default {
+		components: {
+			InspectValueTemplateVue,
+			SampleSchemePopupVue,
+			CheckItemPopupVue,
+			InspectMentPopupVue,
+			MaterialPopupVue,
+			ICMOBillPopupVue,
+			ProcExchBillPopupVue,
+			ProcessPopupVue,
+			CheckProjectPopupVue,
+		},
+		computed: {
+			judgeConclusion: {
+				get() {
+					return true;
+				},
+			},
+		},
+		data() {
+			return {
+				operationType: 1,
+
+				mainTabSelected: 1,
+				subTabSelected: 1,
+
+				// 婧愬崟鐘舵�佹帶鍒�
+				hasSourceBill: false,
+
+				// 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+				enablePopupModule: "",
+				PopupModuleNameList: [
+					"",
+					"SampleScheme",
+					"CheckItem",
+					"InspectMent",
+					"Material",
+					"ICMOBill",
+					"ProcExchBill",
+					"QCScheme",
+					"Process",
+				],
+				// 褰撳墠鎿嶄綔鐨勬楠屽崟ID缂撳瓨
+				currentChechItemIDCache: -1,
+
+				// uni-combox 閫夋嫨鍣ㄤ娇鐢�
+				// 鐢熶骇璧勬簮
+				GySourceList: [],
+				GySourceNameList: [],
+				// 鐝
+				GyWorkShiftList: [],
+				GyWorkShiftNameList: [],
+				// 妫�楠屽憳
+				GyFirstCheckEmpList: [],
+				GyFirstCheckEmpNameList: [],
+
+				// 妫�楠屾柟妗�
+				arrayAnalysisMethod: [{
+						value: 1,
+						name: "瀹氭�у垎鏋�",
+					},
+					{
+						value: 2,
+						name: "瀹氶噺鍒嗘瀽",
+					},
+					{
+						value: 3,
+						name: "鍏朵粬鍒嗘瀽",
+					},
+				],
+				ArrayAnalysisMethodValue: [1, 2, 3],
+				// 瀛愯〃 椤电淇℃伅
+				subTabs: {
+					1: {
+						id: "1",
+						name: "妫�楠岄」鐩�",
+					},
+					2: {
+						id: "2",
+						name: "鎶芥牱妫�楠�",
+					},
+				},
+
+				// 婧愬崟绫诲瀷
+				HSourceBillType: "鐢熶骇姹囨姤鍗�",
+				HSourceBillTypeValueList: ["3771"],
+				HSourceBillTypeNameList: [
+					"鐢熶骇姹囨姤鍗�"
+				],
+				// 涓昏〃灞炴��
+				hform: {
+					HSourceBillType: "3711",
+					HSourceBillNo: "",
+					HBillNo: "",
+					HInterID: "0",
+					HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+					HSourceName: "",
+					HSourceID: "0",
+					HShiftsName: "",
+					HShiftsID: "0",
+					HICMOBillNo: "",
+					HICMOInterID: "0",
+					HICMOEntryID: "1",
+					HICMOQty: "0",
+					HProcExchBillNo: "",
+					HProcExchInterID: "0",
+					HProcExchEntryID: "0",
+					HProcExchQty: "0",
+					HMaterNumber: "",
+					HMaterID: "0",
+					HMaterName: "",
+					HFirstCheckEmpName: "",
+					HFirstCheckEmp: 0,
+					HQCSchemeName: "",
+					HQCSchemeID: "0",
+					HBatchNo: "",
+					HLastResult: true, // 榛樿鍚堟牸
+					HProcName: "",
+					HProcID: "0",
+					HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
+					HTakeSampleCheckBillID: "0",
+					HRemark: "",
+					HErrTreatment: "", // 寮傚父涓存椂澶勭悊鏂规
+					HMaker: getUserInfo()["Czymc"] || "",
+					HChecker: "",
+					HCloseMan: "",
+					HMakeDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"),
+					HCheckDate: "",
+					HCloseDate: "",
+					HUpDater: "",
+					HDeleteMan: "",
+					HUpDateDate: "",
+					HDeleteDate: "",
+					HResult: 1,
+					HAnalysisMethod: "",
+
+					HResDec: "",
+					HStatus: 1,
+
+					HMainSourceBillType: "",
+					HMainSourceInterID: "0",
+					HMainSourceEntryID: "1",
+					HMainSourceBillNo: "",
+				},
+				// 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
+				checkItems: {},
+				// 妫�娴嬪�兼ā鍧�
+				InspectModules: {},
+				// 妫�娴嬪��
+				InspectValues: {},
+			};
+		},
+		methods: {
+			// 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+			calcHResult(item){
+			    // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+			    console.log('item: ',item);
+			    if(item.HSampleSchemeID) {
+			        return
+			    }
+			    
+			    if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
+			     this.checkItems[item.num].HResult = true
+		         return
+		     }
+		     
+		     this.checkItems[item.num].HResult = false
+			},
+			// 婧愬崟绫诲瀷閫夋嫨
+			HSourceBillTypeNameChange(e) {
+				this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
+				this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+			},
+			toScanCode() {
+				MpaasScan.scanCode((res) => {
+					if (res) {
+						this.getSourceBillInfo(HBarCode);
+					}
+				});
+			},
+			async getSourceBillInfo(HBarCode) {
+				console.log('HBarCode: ', HBarCode);
+				// 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
+				if (this.hform.HSourceBillType == 3711) {
+					// 宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛ㄩ妫�
+					await this.LoadingInformation_ICMOReportBill(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 == 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(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+				// 	}
+				// 	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;
+				}
+			},
+			async GetCheckItemID() {
+				if (!this.hform.HMaterName && !this.hform.HProcName) {
+					try {
+						let res = await CommonUtils.doRequest2Async({
+							url: "/Web/GetCheckItemID",
+							data: {
+								HName: this.hform.HMaterName,
+								HProName: this.hform.HProcName,
+								HSourceID: this.hform.HSourceID,
+							},
+						});
+
+						let {
+							count,
+							Message,
+							data
+						} = res.data;
+
+						if (count != 1) {
+							CommonUtils.showTips({
+								title: "娓╅Θ鎻愮ず",
+								message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${Message}`,
+							});
+							return;
+						}
+
+						this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+						this.hform.HQCSchemeID = data[0].hmainid;
+
+						this.get_CheckItem();
+					} catch (err) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${err}`,
+						});
+					}
+				}
+			},
+			//#region 涓�鑷�
+			async LoadingInformation_ProcExchange(HBarCode) {
+				// 宸ュ簭娴佽浆鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/CheckBill/get_ProcessExchangeBill_ByBillNo",
+						data: {
+							HBillNo: HBarCode,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+					this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					this.hform.HProcExchInterID = data[0].HProcExchInterID;
+					this.hform.HProcExchEntryID = data[0].HProcExchEntryID || 0;
+					this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+					this.hform.HICMOInterID = data[0].HICMOInterID;
+					this.hform.HICMOQty = data[0].HICMOQty || 0;
+					this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+					this.hform.HSourceID = data[0].HSourceID || 0;
+					this.hform.HMaterID = data[0].HMaterID;
+					this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+					this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HMainSourceBillType = data[0].HBillType;
+					this.hform.HMainSourceInterID = data[0].HInterID;
+					this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+					this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+					this.hform.HBatchNo = data[0].鎵瑰彿;
+
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			
+			//#region 淇敼
+			async LoadingInformation_ICMO(HBarCode) {
+				// 鐢熶骇璁㈠崟
+				try {
+					let sWhere="and 鍗曟嵁鍙�='"+HBarCode+"'"
+					console.log(sWhere)
+					let res = await CommonUtils.doRequest2Async({
+						url: "/LEMS/MES_IF_ICMOBillList_Json",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${Message}`,
+						});
+						return;
+					}
+					//鐢熶骇鏀�
+					//this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					//this.hform.HProcExchInterID = data[0].HProcExchInterID;
+					//this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+					//this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					this.hform.HICMOBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HICMOInterID = data[0].hmainid;
+					this.hform.HICMOQty = data[0].鐢熶骇浠诲姟鍗曟暟閲�;
+					this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+					this.hform.HSourceID = data[0].HSourceID;
+					this.hform.HMaterID = data[0].HMaterID;
+					this.hform.HMaterNumber=data[0].浜у搧浠g爜
+					this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+					this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HMainSourceBillType = data[0].鍗曟嵁绫诲瀷;
+					this.hform.HMainSourceInterID = data[0].HInterID;
+					this.hform.HICMOEntryID = data[0].HEntryID || 1;
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+					this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			
+			//#region 涓�鑷�
+			async LoadingInformation_StationEntrustOutBill(HBarCode) {
+				// 宸ュ簭濮斿鎺ユ敹鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Cj_StationEntrustOutBill/list",
+						data: {
+							sWhere: ` and HBillNo = '${HBarCode}'`,
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+
+					HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					HProcExchInterID = data[0].HProcExchInterID;
+					HProcExchEntryID = data[0].HProcExchEntryID;
+					HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					HICMOBillNo = data[0].鐢熶骇璁㈠崟鍙�;
+					HICMOInterID = data[0].HICMOInterID;
+					HICMOQty = data[0].HICMOQty;
+					HSourceName = data[0].鐢熶骇璧勬簮;
+					HSourceID = data[0].HSourceID;
+					HMaterID = data[0].HMaterID;
+					HMaterName = data[0].浜у搧鍚嶇О;
+					HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					HMainSourceBillType = data[0].HBillType;
+					HMainSourceInterID = data[0].hmainid;
+					HICMOEntryID = data[0].HICMOEntryID || 1;
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			
+			async LoadingInformation_ICMOReportBill(HBarCode) {
+				// 鐢熶骇姹囨姤鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/QC_LastPieceCheckBill/get_ICMOReportBill_Tmp_getByBillNo",
+						data: {
+							HBillNo: HBarCode,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鐢熶骇姹囨姤鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+					//change_inlife
+					this.hform.HMainSourceEntryID=data[0].HEntryID||1;
+					this.hform.HMaterNumber=data[0].HMaterNumber;
+					this.hform.HICMOBillNo = data[0].HICMOBillNo;
+					this.hform.HICMOInterID = data[0].HICMOInterID;
+					this.hform.HICMOQty = data[0].HICMOQty;
+					this.hform.HSourceName = data[0].HSourceName;
+					this.hform.HSourceID = data[0].HSourceID;
+					this.hform.HMaterID = data[0].HMaterID;
+					this.hform.HMaterName = data[0].HMaterName;
+					this.hform.HMainSourceBillNo = data[0].HBillNo;
+					this.hform.HMainSourceBillType = data[0].HBillType;
+					this.hform.HMainSourceInterID = data[0].HInterID;
+					this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+					
+
+					for (let i = 0; i < data.length; i++) {
+						this.addCheckItem(data[i])
+					}
+
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鐢熶骇姹囨姤鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			// 妫�楠屽憳鍒濆鍖�
+			async InitHEmp() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_Employee/list",
+						data: {
+							sWhere: `  and 缁勭粐鍚嶇О = '${uni.getStorageSync(
+              "Organization"
+            )}' and 绂佺敤鏍囪 = ''and 瀹℃牳浜� !='' order by 閮ㄩ棬浠g爜`,
+							user: getUserInfo()["Czymc"],
+							Organization: uni.getStorageSync("Organization"),
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						console.log("data: ", data);
+						this.GyFirstCheckEmpList = data;
+						this.GyFirstCheckEmpNameList = Array.from(data).map((e) => e["鑱屽憳鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栨楠屽憳澶辫触: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栨楠屽憳澶辫触: ${err}`,
+					});
+				}
+			},
+			async HFirstCheckEmpChange(e) {
+				console.log("閫変腑妫�楠屽憳: ", e);
+				let index = this.GyFirstCheckEmpList.findIndex((elem) => elem["鑱屽憳鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HFirstCheckEmp = 0;
+					this.hform.HFirstCheckEmpName = "";
+					return;
+				}
+
+				this.hform.HFirstCheckEmp = this.GyFirstCheckEmpList[index]["HItemID"];
+				this.hform.HFirstCheckEmpName = this.GyFirstCheckEmpList[index]["鑱屽憳鍚嶇О"];
+			},
+			// 鐢熶骇鐝鍒濆鍖�
+			async InitHWorkShift() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_ShiftsController/Get_Gy_WorkShiftList",
+						data: {
+							sWhere: ` and 绂佺敤鏍囪 = '' and ISNULL(瀹℃牳浜�,'')  != '' and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync(
+              "Organization"
+            )}'`,
+							HMaker: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						console.log("data: ", data);
+						this.GyWorkShiftList = data;
+						this.GyWorkShiftNameList = Array.from(data).map((e) => e["鐝鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栫彮娆″け璐�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栫彮娆″け璐�: ${err}`,
+					});
+				}
+			},
+			async HWorkShiftChange(e) {
+				console.log("閫変腑鐝: ", e);
+				let index = this.GyWorkShiftList.findIndex((elem) => elem["鐝鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HWorkShiftID = 0;
+					this.hform.HWorkShiftName = "";
+					return;
+				}
+
+				this.hform.HWorkShiftID = this.GySourceList[index]["HInterID"];
+				this.hform.HWorkShiftName = this.GySourceList[index]["鐝鍚嶇О"];
+			},
+			// 鐢熶骇璧勬簮鏇存柊
+			// 鐢熶骇璧勬簮鍒濆鍖�
+			async InitHSource() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_Source/list",
+						data: {
+							sWhere: `and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'')  != '' and HUSEORGID = '100038'`,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						this.GySourceList = data;
+						this.GySourceNameList = Array.from(data).map((e) => e["鐢熶骇璧勬簮鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${err}`,
+					});
+				}
+			},
+			// 鐢熶骇璧勬簮鏇存柊
+			async HSourceChange(e) {
+				console.log("閫変腑鐢熶骇璧勬簮: ", e);
+				let index = this.GySourceList.findIndex((elem) => elem["鐢熶骇璧勬簮鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HSourceID = 0;
+					this.hform.HSourceName = "";
+					return;
+				}
+
+				this.hform.HSourceID = this.GySourceList[index]["HItemID"];
+				this.hform.HSourceName = this.GySourceList[index]["鐢熶骇璧勬簮鍚嶇О"];
+
+				this.get_ICMOBillStatusList();
+				this.get_QC_TakeSampleCheckBillList();
+				this.GetCheckItemID();
+			},
+			// 鏄剧ず寮圭獥
+			async showSelectorModule(item, index) {
+				this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+				this.enablePopupModule = this.PopupModuleNameList[index];
+				console.log("this.$refs: ", this.$refs);
+				await this.$nextTick();
+				if (index == 7) {
+					// 妫�楠屾柟妗堥渶瑕侀澶栦紶閫掑伐搴忓拰鐗╂枡鍚嶇О涓や釜鍙傛暟
+					this.$refs.listPopup.setRequiredInfo(item.HMaterName, item.HProcName);
+				}
+
+				this.$refs.listPopup.showPopup();
+			},
+			getAnalysisMethodDisplay(val) {
+				console.log("AnalysisMethodVal: ", val);
+				if (val) {
+					return this.arrayAnalysisMethod.find((e) => e.value == val).name;
+				}
+				return "";
+			},
+			checkResultChange(event) {
+				console.log("event: ", event);
+			},
+			// 妫�楠岄」鐩柊澧炶
+			addCheckItem(resource) {
+				let ordinal = this.getObjLength(this.checkItems) + 1;
+				let checkItem = {
+					num: ordinal,
+					HInterID: this.hform.HInterID,
+					HQCCheckItemID: "",
+					HQCCheckItemNumber: "",
+					HQCCheckItemName: "",
+					HInspectInstruMentID: "0",
+					HInspectInstruMentNumber: "",
+					HInspectInstruMentName: "",
+					HQCStd: "",
+					HUnit: "",
+					HQCNote: "",
+					HAnalysisMethod: "",
+					HResult: 1,
+					HMax: "",
+					HMin: "",
+					HAvg: "",
+					HRemark: "",
+					HKeyInspect: false,
+					HStatus: 1,
+					HSampleSchemeID: "",
+					HUnitID: 0,
+					HInspectVal: "",
+					HTargetVal: "",
+					HUpLimit: "",
+					HDownLimit: "",
+					HUpOffSet: "",
+					HDownOffSet: "",
+					HSampleDamageQty: 0,
+					HSampleSchemeName: "",
+					HSampleQty: 0,
+					HAcceptQty: 0,
+					HInspectionLevel: "",
+					HRejectQty: 0,
+					HStrictness: "",
+					HSampleUnRightQty: 0,
+					HAQL: "",
+					HSamplingType: "",
+					HInspectResultToSee: "",
+				};
+				if (resource) {
+					// 閫氳繃涓昏〃妫�楠屾柟妗堝甫鍑虹殑妫�楠岄」鐩�
+					Object.assign(checkItem, resource);
+				}
+				this.$set(this.checkItems, ordinal, checkItem);
+				this.$nextTick(() => {
+					// 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+					this.setInspectValModule(this.checkItems[ordinal]);
+				});
+			},
+			// 妫�楠岄」鐩垹闄よ
+			removeCheckItem(item) {
+				uni.showModal({
+					title: "娓╅Θ鎻愮ず",
+					content: `纭瑕佸垹闄ょ${item.num}琛屽悧锛熷垹闄ゅ悗涓嶈兘鎭㈠`,
+					success: (res) => {
+						if (res.confirm) {
+							this.$delete(this.checkItems, item.num);
+							this.$delete(this.subTabs, `_${item.num}`);
+							this.$forceUpdate();
+							this.refreshCheckItemNum();
+						}
+					},
+				});
+			},
+			async refreshCheckItemNum() {
+				await this.$nextTick();
+				// 閲嶆帓搴忓彿
+				let num = 1;
+				let checkItemsCache = {};
+				for (let s in this.checkItems) {
+					checkItemsCache[num] = this.checkItems[s];
+					checkItemsCache[num].num = num;
+					num++;
+				}
+				this.checkItems = checkItemsCache;
+			},
+			getObjLength(obj) {
+				return Object.keys(obj).length;
+			},
+			// 缁撹淇敼
+			HResultChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HResult"] = e.detail.value ? 1 : 2;
+
+				this.HCheckLastResult();
+			},
+			// 姣忔妫�楠岄」鐩殑缁撹鏇存柊锛岄兘瑕佸垽鏂渶缁堢粨璁�
+			HCheckLastResult() {
+				let unPassNum = 0;
+				for (var key in this.checkItems) {
+					if (!(this.checkItems[key]["HResult"] == 1)) {
+						unPassNum++;
+					}
+				}
+
+				if (unPassNum > 0) {
+					this.hform.HLastResult = false;
+					return;
+				}
+				this.hform.HLastResult = true;
+			},
+			// 妫�楠屾柟妗堜慨鏀�
+			HAnalysisMethodChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HAnalysisMethod"] = this.arrayAnalysisMethod[e.detail.value][
+					"value"
+				];
+
+				// 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+				this.setInspectValModule(this.checkItems[id]);
+			},
+			// 閲嶇偣妫�鏌ヤ慨鏀�
+			HKeyInspectChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HKeyInspect"] = e.detail.value;
+			},
+			// 妫�楠岄」鐩繑鍥�
+			async CheckItemComplete(e) {
+				console.log("CheckItemRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HQCCheckItemID: data["HItemID"],
+						HQCCheckItemNumber: data["浠g爜"],
+						HQCCheckItemName: data["鍚嶇О"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屾柟妗堣繑鍥�
+			async SampleSchemeComplete(e) {
+				console.log("SampleSchemeRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HSampleSchemeID: data["hmainid"],
+						HSampleSchemeNumber: data["鎶芥牱鏂规浠g爜"],
+						HSampleSchemeName: data["鎶芥牱鏂规鍚嶇О"],
+						HSampleQty: data["鏍锋湰閲�"] || 0,
+						HAcceptQty: data["鍏佽鏁�"] || 0,
+						HInspectionLevel: data["妫�楠屾按骞�"],
+						HRejectQty: data["鎷掔粷鏁�"] || 0,
+						HStrictness: data["涓ユ牸搴�"],
+						HSampleUnRightQty: data["鏍锋湰涓嶅悎鏍兼暟"] || 0,
+						HAQL: data["AQL"],
+						HSamplingType: data["鎶芥牱绫诲瀷"],
+						HInspectResultToSee: data["妫�楠岀粨鏋�"],
+						HUpLimit: data["涓婇檺鍊�"] || 0,
+						HDownLimit: data["涓嬮檺鍊�"] || 0,
+						HSampleDamageQty: data["鏍锋湰鐮村潖鏁�"] || 0,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					this.setInspectValModule(this.checkItems[key]);
+
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屼华鍣ㄨ繑鍥�
+			async InspectMentComplete(e) {
+				console.log("InspectInstruMentRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HInspectInstruMentID: data["HItemID"],
+						HInspectInstruMentNumber: data["妫�楠屼华鍣ㄤ唬鐮�"],
+						HInspectInstruMentName: data["妫�楠屼华鍣ㄥ悕绉�"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 浜у搧浠g爜杩斿洖
+			async MaterComplete(e) {
+				console.log("MaterRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HMaterNumber: data["鐗╂枡浠g爜"],
+						HMaterName: data["鐗╂枡鍚嶇О"],
+						HMaterID: data["HItemID"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+					this.GetCheckItemID();
+				}
+			},
+			// 浠诲姟鍗曡繑鍥�
+			async ICMOBillComplete(e) {
+				console.log("ICMOBillRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HICMOInterID: data.hmainid,
+						HICMOEntryID: data.HEntryID || 1,
+						HICMOBillNo: data.鍗曟嵁鍙�,
+						HMaterNumber: data.浜у搧浠g爜,
+						HMaterName: data.浜у搧鍚嶇О,
+						HMaterID: data.HMaterID,
+						HICMOQty: data.鐢熶骇浠诲姟鍗曟暟閲�,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 娴佽浆鍗¤繑鍥�
+			async ProcExchBillComplete(e) {
+				console.log("ProcExchBillRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HProcExchInterID: data.hmainid,
+						HProcExchEntryID: data.hsubid,
+						HProcExchBillNo: data.鍗曟嵁鍙�,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屾柟妗�(涓昏〃)杩斿洖
+			async HQCSchemeComplete(e) {
+				console.log("HQCSchemeRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HQCSchemeID: data.hmainid,
+						HQCSchemeName: data.妫�楠屾柟妗堝悕绉�,
+					});
+					await this.get_CheckItem();
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 宸ュ簭杩斿洖
+			async HProcComplete(e) {
+				console.log(" HProcRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HProcName: data["宸ュ簭鍚嶇О"],
+						HProcID: data["HItemID"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+					await this.GetCheckItemID();
+					await this.get_ICMOBillStatusList();
+					await this.get_QC_TakeSampleCheckBillList();
+				}
+			},
+			
+			//
+			async get_QC_TakeSampleCheckBillList() {
+				// 鍙栨牱鍗曟煡璇�
+				let HProcID = this.hform.HProcID;
+				let HProcExchInterId = this.hform.HProcExchInterID;
+				let sWhere = "";
+
+				if (HProcID == "0" || HProcID == "") {
+					CommonUtils.showTips({
+						message: "璇烽�夋嫨宸ュ簭",
+					});
+					return;
+				}
+
+				sWhere = " and 宸ュ簭娴佽浆鍗′富鍐呯爜='" + HProcExchInterID + "' and HProcID=" + HProcID;
+
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "//QC_TakeSampleCheckBill/QC_TakeSampleCheckBillMainList",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${Message}`,
+						});
+					}
+
+					this.hform.HTakeSampleCheckBillID = data[0]["hmainid"];
+					this.hform.HTakeSampleCheckBillNo = data[0]["鍗曟嵁鍙�"];
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${err}`,
+					});
+				}
+			},
+			async get_ICMOBillStatusList() {
+				let sWhere = "";
+				let HProcID = this.hform.HProcID;
+				let HSourceID = this.hform.HSourceID;
+				let HProcExchInterId = this.hform.HProcExchInterID;
+
+				if (HProcID != "0") {
+					sWhere += " and HProcID=" + HProcID;
+				}
+				if (HSourceID != "0") {
+					sWhere += " and HSourceID=" + HSourceID;
+				}
+
+				sWhere += " and HSourceInterID=" + HProcExchInterID;
+
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/CheckBill/GetICMOBillStatusList",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${Message}`,
+						});
+					}
+
+					this.hform.HProcID = data[0]["HProcID"];
+					this.hform.HProcName = data[0]["宸ュ簭"];
+					this.hform.HSourceID = data[0]["HSourceID"];
+					this.hform.HSourceName = data[0]["鐢熶骇璧勬簮"];
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${err}`,
+					});
+				}
+			},
+			setInspectValModule(checkItem) {
+				console.log("checkItem: ", checkItem);
+				if (!checkItem || !checkItem.HAnalysisMethod || !checkItem.HSampleSchemeID) {
+					return;
+				}
+				// 鍖哄垎妫�楠屽�奸〉绛惧拰闈欐�侀〉绛撅紝妫�楠屽�奸〉绛剧殑id浠寮�澶�
+				this.$set(this.InspectModules, `_${checkItem.num}`, {
+					id: `_${checkItem.num}`,
+					checkItemId: checkItem.num,
+				});
+				console.log(" this.arrayAnalysisMethod: ", checkItem.HAnalysisMethod);
+				let analysisMethodName = this.arrayAnalysisMethod.find(
+					(e) => e.value == checkItem.HAnalysisMethod
+				).name;
+				this.$set(this.subTabs, `_${checkItem.num}`, {
+					id: `_${checkItem.num}`,
+					name: `${analysisMethodName}-${checkItem.HQCCheckItemName}`,
+				});
+			},
+			InspectValueUpdate(e) {
+				console.log("e: ", e);
+				let {
+					data,
+					list
+				} = e;
+				this.checkItems[data.num] = Object.assign(this.checkItems[data.num], data);
+				this.$set(this.InspectValues, `${data.num}`, list);
+			},
+			// 甯﹀嚭妫�楠岄」鐩�
+			async get_CheckItem() {
+				// 棣栧厛娓呯┖妫�楠岄」鐩� 鍜� 妫�楠屽��
+				this.checkItems = {}
+				for (let key in this.subTabs) {
+					if (key.substring(1) == "_") {
+						this.$delete(this.subTabs, key)
+					}
+				}
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Web/GetCheckItemByCheckProjectID",
+						data: {
+							CheckProjectID: this.hform.HQCSchemeID || 0,
+							HBatchQty: this.hform.HProcExchQty || 0,
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+
+					if (count == 1) {
+						for (var i = 0; i < data.length; i++) {
+							let checkItem = {
+								HQCCheckItemID: data[i]["HQCCheckItemID"],
+								HQCCheckItemNumber: data[i]["妫�楠岄」鐩唬鐮�"],
+								HQCCheckItemName: data[i]["妫�楠岄」鐩�"],
+								HInspectInstruMentID: data[i]["HInspectInstruMentID"],
+								HInspectInstruMentNumber: data[i]["妫�楠屼华鍣ㄤ唬鐮�"],
+								HInspectInstruMentName: data[i]["妫�楠屼华鍣�"],
+								HQCStd: data[i]["HQCStd"],
+								HUnit: data[i]["鍗曚綅鍚嶇О"],
+								HQCNote: "",
+								HAnalysisMethod: data[i]["鍒嗘瀽鏂规硶"],
+								HResult: data[i]["榛樿缁撹"],
+								HMax: "",
+								HMin: "",
+								HAvg: "",
+								HRemark: "",
+								HKeyInspect: data[i]["閲嶇偣妫�鏌�"] == 1 ? true : false,
+								HStatus: 0,
+								HSampleSchemeID: data[i]["HSampleSchemeID"],
+								HUnitID: data[i]["HUnitID"],
+								HInspectVal: "",
+								HTargetVal: "",
+								HUpLimit: data[i].涓婇檺鍊�,
+								HDownLimit: data[i].涓嬮檺鍊�,
+								HUpOffSet: "",
+								HDownOffSet: "",
+								HSampleDamageQty: "0",
+								HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+								HSampleQty: data[i].鏍锋湰閲�,
+								HAcceptQty: data[i].鍏佽鏁�,
+								HInspectionLevel: data[i].妫�楠屾按骞�,
+								HRejectQty: data[i].鎷掔粷鏁�,
+								HStrictness: data[i].涓ユ牸搴�,
+								HSampleUnRightQty: 0,
+								HAQL: data[i].AQL,
+								HSamplingType: data[i].鎶芥牱绫诲瀷,
+								HCompareSymbol: data[i].姣旇緝绗�,
+								HTargetVal: data[i].鐩爣鍊� || 0,
+							};
+
+							this.addCheckItem(checkItem);
+						}
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${Message} `,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${err} `,
+					});
+				}
+			},
+			async getMaxBillNo() {
+				try {
+					let res = await CommonUtils.doRequest2Sync({
+						url: "/Web/GetMAXNum",
+						data: {
+							HBillType: "7501",
+						},
+					});
+
+					if (!res) {
+						return;
+					}
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+					if (count == 1) {
+						this.hform.HInterID = data[0].HInterID;
+						this.hform.HBillNo = data[0].HBillNo;
+					} else {
+						throw Message;
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: "鑾峰彇鍗曟嵁鍙峰紓甯�: " + err,
+					});
+				}
+			},
+			// 妫�楠屽�艰繑鍥炲��
+			InspectValueComplete(e) {
+				console.log("e: ", e);
+				let key = e.num;
+				e.HStatus = e.HStatus ? 1 : 0
+				if (e.HResult2 == '') {
+					e.HResult2 = this.checkItems[key].HResult
+				}
+				Object.assign(this.checkItems[key], e);
+				this.checkItems[key].HInspectResultToSee = this.checkItems[key].HResult2;
+				this.checkItems[key].HResult = this.checkItems[key].HResult2 == '鍚堟牸' ? 1 : 2;
+
+				this.HCheckLastResult();
+
+			},
+			checkSubmitValidate() {
+				// if (this.hform.HICMOQty == "" || this.hform.HICMOQty <= 0) {
+				// 	CommonUtils.showTips({
+				// 		message: "浠诲姟鍗曟暟閲忎笉鑳戒负绌轰笖涓嶈兘灏忎簬绛変簬0锛�",
+				// 	});
+				// 	return false;
+				// }
+
+				if (this.hform.HFirstCheckEmp == 0) {
+					CommonUtils.showTips({
+						message: "妫�楠屽憳鏈�夋嫨锛�",
+					});
+					return false;
+				}
+
+				for (let key in this.checkItems) {
+					if (!this.checkItems[key].HQCCheckItemID) {
+						CommonUtils.showTips({
+							message: `绗�${this.checkItems[key].num}琛屾楠岄」鐩笉鑳戒负绌�!`,
+						});
+						return false;
+					}
+
+					if (
+						this.checkItems[key].HSampleSchemeID == "" ||
+						this.checkItems[key].HSampleSchemeID == null
+					) {
+						this.checkItems[key].HSampleSchemeID = 0;
+					}
+					if (
+						this.checkItems[key].HSampleQty == "" ||
+						this.checkItems[key].HSampleQty == null
+					) {
+						this.checkItems[key].HSampleQty = 0;
+					}
+					if (
+						this.checkItems[key].HSampleDamageQty == "" ||
+						this.checkItems[key].HSampleDamageQty == null
+					) {
+						this.checkItems[key].HSampleDamageQty = 0;
+					}
+					if (
+						this.checkItems[key].HAcceptQty == "" ||
+						this.checkItems[key].HAcceptQty == null
+					) {
+						this.checkItems[key].HAcceptQty = 0;
+					}
+					if (
+						this.checkItems[key].HRejectQty == "" ||
+						this.checkItems[key].HRejectQty == null
+					) {
+						this.checkItems[key].HRejectQty = 0;
+					}
+					if (
+						this.checkItems[key].HSampleUnRightQty == "" ||
+						this.checkItems[key].HSampleUnRightQty == 0
+					) {
+						this.checkItems[key].HSampleUnRightQty = 0;
+					}
+					if (this.checkItems[key].HUnitID == "") {
+						this.checkItems[key].HUnitID = 0;
+					}
+				}
+
+				return true;
+			},
+			async submit() {
+				if (!this.checkSubmitValidate()) {
+					return;
+				}
+				try {
+					console.log('this.$refs: ', this.$refs);
+					// 妫�鏌ユ槸鍚︽湁鏈垏鎹㈢殑妫�楠屽�兼ā鍧�(鏄惁鍖呭惈set_SaveValue鏂规硶),濡傛灉鏈夛紝鍒欒繍琛屼竴娆′繚瀛樻楠屽�肩殑鏂规硶锛屾牴鎹楠屽�兼槸鍚︿繚瀛樻垚鍔熷啀鎵ц涓嬩竴姝�
+					if (typeof this.$refs.InspectValueModules != "undefined" && this.$refs.InspectValueModules.length >
+						0) {
+						// 鍔犺浇鏈夋楠屽�兼ā鍧�
+						await this.$refs.InspectValueModules[0].set_SaveValue();
+						this.InspectValues[0] = this.$refs.InspectValueModules[0].InSpectValues;
+						await this.InspectValueComplete(this.$refs.InspectValueModules[0].checkData)
+					}
+					let InspectValuesTrans = [];
+					let HInterID = this.hform.HInterID;
+					for (let key in this.InspectValues) {
+						let HEntryID = key;
+
+						InspectValuesTrans.push(
+							`${JSON.stringify(this.InspectValues[key])}`
+						);
+					}
+					let checkItemsArray = [];
+					for (var key in this.checkItems) {
+						let checkItem = JSON.parse(JSON.stringify(this.checkItems[key]))
+						delete checkItem.data
+						checkItemsArray.push(checkItem);
+					}
+					console.log('checkItemsArray: ', checkItemsArray);
+					let sMainSub = `${JSON.stringify(this.hform)};${JSON.stringify(
+          checkItemsArray
+        )};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
+					console.log("this.checkItems: ", this.checkItems);
+
+					let res = await CommonUtils.doRequest2Sync({
+						url: "/QC_LastPieceCheckBill/set_SaveBill",
+						data: {
+							sMainSub: sMainSub,
+						},
+						method: "POST",
+					});
+
+					if (!res) {
+						return;
+					}
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+					if (count == 1) {
+						uni.showModal({
+							title: "鎻愮ず",
+							content: res.data.Message + "銆傛槸鍚︾户缁柊澧烇紵",
+							success: (res) => {
+								if (res.confirm) {
+									console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+									uni.redirectTo({
+										url: "/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2?operationType=1",
+									});
+								} else if (res.cancel) {
+									console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+									// setTimeout(() => {
+									//     uni.navigateBack();
+									// }, 50)
+								}
+							},
+						});
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${err}`,
+					});
+				}
+			},
+			addNew() {
+				uni.redirectTo({
+					url: "/pages/ZLGL/shoujianjianyan/firstCheckBillList?operationType=1",
+				});
+			},
+			goBack() {
+				uni.navigateBack();
+			},
+			async RoadBillMain() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_Edit",
+						data: {
+							sWhere: ` and hmainid=${this.hform.HInterID}`,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+
+					if (count == 1) {
+						console.log("RoadBillMain: : ", data);
+						Object.assign(this.hform, {
+							HInterID: data[0].hmainid,
+							HBillNo: data[0].鍗曟嵁鍙�,
+							HDate: dayjs(data[0].鏃ユ湡).format("YYYY-MM-DD"),
+							HSourceID: data[0].HSourceID,
+							HSourceName: data[0].鐢熶骇璧勬簮鍚嶇О,
+							HICMOBillNo: data[0].浠诲姟鍗曞彿,
+							HICMOQty: data[0].浠诲姟鍗曟暟閲�,
+							HICMOInterID: data[0].HICMOInterID,
+							HICMOEntryID: data[0].HICMOEntryID || 1,
+							HMaterID: data[0].HMaterID,
+							HMaterName: data[0].鐗╂枡鍚嶇О,
+							HMaterNumber: data[0].鐗╂枡浠g爜,
+							HProcID: data[0].HProcID,
+							HProcName: data[0].HProcName,
+							HProcExchQty: data[0].HProcExchQty || 0,
+							HProcExchBillNo: data[0].HProcExchBillNo,
+							HProcExchInterID: data[0].HProcExchInterID,
+							HProcExchEntryID: data[0].HProcExchEntryID || 0,
+							HFirstCheckEmp: data[0].HFirstCheckEmp,
+							HFirstCheckEmpName: data[0].璐ㄦ鍛樺悕绉�,
+							HQCSchemeID: data[0].妫�楠屾柟妗圛D,
+							HQCSchemeName: data[0].妫�楠屾柟妗堝悕绉�,
+							HRemark: data[0].琛ㄥご澶囨敞,
+							HMaker: data[0].鍒跺崟浜�,
+							HMakeDate: data[0].鍒跺崟鏃ユ湡,
+							HChecker: data[0].瀹℃牳浜�,
+							HCheckDate: data[0].瀹℃牳鏃ユ湡,
+							HCloseMan: data[0].鍏抽棴浜�,
+							HCloseDate: data[0].鍏抽棴鏃ユ湡,
+							HUpDateDate: data[0].淇敼鏃ユ湡,
+							HDeleteDate: data[0].浣滃簾鏃ユ湡,
+							HSampleSchemeID: data[0].HSampleSchemeID,
+							HSampleSchemeName: data[0].鎶芥牱鏂规鍚嶇О,
+							HSampleQty: data[0].鏍锋湰閲�,
+							HSampleQty2: data[0].鏍锋湰閲�,
+							HSampleDamageQty: data[0].鏍锋湰鐮村潖鏁�,
+							HSamplingType: data[0].鎶芥牱绫诲瀷,
+							HAcceptQty: data[0].鍏佽鏁�,
+							HInspectionLevel: data[0].妫�楠屾按骞�,
+							HRejectQty: data[0].鎷掔粷鏁�,
+							HStrictness: data[0].涓ユ牸搴�,
+							HSampleUnRightQty: data[0].鏍锋湰涓嶅悎鏍兼暟 || 0,
+							HSampleUnRightQty2: data[0].鏍锋湰涓嶅悎鏍兼暟,
+							HAQL: data[0].AQL,
+							HUnitID: data[0].HUnitID,
+							HUnit: data[0].鍗曚綅,
+							HInspectValB: data[0].妫�娴嬪�煎熀纭�璧勬枡,
+							HInspectVal: data[0].妫�娴嬪��,
+							HTargetValB: data[0].鐩爣鍊煎熀纭�璧勬枡,
+							HTargetVal: data[0].鐩爣鍊�,
+							HUpLimit: data[0].涓婇檺鍊�,
+							HDownLimit: data[0].涓嬮檺鍊�,
+							HUpOffSet: data[0].涓婂亸宸�,
+							HDownOffSet: data[0].涓嬪亸宸�,
+							HEntryID: data[0].hsubid,
+							HQCCheckItemName: data[0].妫�楠岄」鐩悕绉�,
+							HQCCheckItemID: data[0].HQCCheckItemID,
+							HShiftsID: data[0].HShiftsID,
+							HShiftsName: data[0].鐝鍚嶇О,
+							HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
+							HBatchNo: data[0].鎵瑰彿,
+							HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+							HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
+							HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
+							HAnalysisMethod: function() {
+								if (data[0].HAnalysisMethod == 1) {
+									return '瀹氭�ф楠�'
+								} else if (data[0].HAnalysisMethod == 2) {
+									return '瀹氶噺妫�楠�'
+								} else {
+									return '鍏朵粬妫�楠�'
+								}
+							}(),
+
+
+
+						});
+
+						for (let i = 0; i < data.length; i++) {
+							this.addCheckItem({
+								HQCCheckItemID: data[i].HQCCheckItemID,
+								HQCCheckItemNumber: data[i].妫�楠岄」鐩唬鐮�,
+								HQCCheckItemName: data[i].妫�楠岄」鐩悕绉�,
+								HInspectInstruMentID: data[i].HInspectInstruMentID,
+								HInspectInstruMentNumber: data[i].妫�楠屼华鍣ㄤ唬鐮�,
+								HInspectInstruMentName: data[i].妫�楠屼华鍣ㄥ悕绉�,
+								HQCStd: data[i].妫�楠屾爣鍑�,
+								HUnit: data[i].鍗曚綅鍚嶇О,
+								HQCNote: data[i].妫�楠岃褰�,
+								HResult: data[i].缁撹 == "鍚堟牸" ? 1 : 0,
+								HMax: data[i].鏈�澶у��,
+								HMin: data[i].鏈�灏忓��,
+								HAvg: data[i].骞冲潎鍊�,
+								HRemark: data[i].琛ㄤ綋澶囨敞,
+								HAnalysisMethod: data[i].鍒嗘瀽鏂规硶 == "瀹氭�у垎鏋�" ?
+									1 : data[i].鍒嗘瀽鏂规硶 == "瀹氶噺鍒嗘瀽" ?
+									2 : 3,
+								HKeyInspect: data[i].閲嶇偣妫�鏌� == "鍚�" ? false : true,
+								HSampleSchemeID: data[i].HSampleSchemeID,
+								HUnitID: data[i].HUnitID,
+								HInspectVal: data[i].妫�娴嬪��,
+								HTargetVal: data[i].鐩爣鍊�,
+								HUpLimit: data[i].涓婇檺鍊�,
+								HDownLimit: data[i].涓嬮檺鍊�,
+								HUpOffSet: data[i].涓婂亸宸�,
+								HDownOffSet: data[i].涓嬪亸宸�,
+								HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+								HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+								HSampleQty: data[i].鏍锋湰閲�,
+								HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+								HAcceptQty: data[i].鍏佽鏁�,
+								HInspectionLevel: 0,
+								HRejectQty: data[i].鎷掔粷鏁�,
+								HStrictness: 0,
+								HSampleUnRightQty: data[i].鏍锋湰涓嶅悎鏍兼暟,
+								HAQL: data[i].AQL,
+								HSamplingType: 0,
+								HSamplingType: data[i].鎶芥牱绫诲瀷,
+								HStrictness: data[i].涓ユ牸搴�,
+								HInspectResultToSee: data[i].妫�楠岀粨鏋�
+							});
+
+						}
+
+
+						this.hasSourceBill = true
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍔犺浇鍗曟嵁澶辫触: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍔犺浇鍗曟嵁澶辫触: ${err}`,
+					});
+				}
+			},
+		},
+		async onLoad(e) {
+			this.operationType = e.operationType || 1;
+			this.hform.HInterID = e.linterid || 0;
+			if (this.operationType == 1) {
+				await this.getMaxBillNo();
+			} else if (this.operationType == 2) {
+
+			} else if (this.operationType == 3) {
+				await this.RoadBillMain();
+			}
+
+			await this.InitHSource();
+			await this.InitHWorkShift();
+			await this.InitHEmp();
+		},
+	};
+</script>
+
+<style lang="scss" scoped>
+	input {
+		width: inherit;
+		font-size: 26rpx;
+	}
+
+	.uni-input {
+		padding: 0;
+	}
+
+	.bill-main-tabs,
+	.bill-sub-tabs {
+		box-sizing: border-box;
+		width: 730rpx;
+		display: flex;
+		flex-direction: row;
+		flex-wrap: nowrap;
+		gap: 20rpx;
+		flex-shrink: 0;
+		overflow-x: auto;
+		border-bottom: 1px solid #ddd;
+		padding: 20rpx 10rpx;
+		white-space: nowrap;
+
+		view {
+			width: auto;
+			font-size: 26rpx;
+			color: #555;
+			text-align: center;
+			padding: 16rpx 0;
+		}
+
+		.selected {
+			color: #3a78ff;
+			font-weight: bold;
+			border-bottom: 3px solid #3a78ff;
+		}
+	}
+
+	.bill-main-content,
+	.bill-sub-content {
+		box-sizing: border-box;
+		padding: 0 30rpx 0 30rpx;
+		display: flex;
+		flex-direction: column;
+
+		.form-item {
+			width: 100%;
+			display: flex;
+			align-items: center;
+			font-size: 26rpx;
+			padding: 6rpx 0;
+
+			.left {
+				width: 208rpx;
+
+				text {
+					color: red;
+					font-weight: bold;
+				}
+			}
+
+			.right {
+				// width: 450rpx;
+				padding: 8rpx 20rpx;
+				font-size: 26rpx;
+				flex: 1;
+				border-radius: 22rpx;
+				border: 1px solid #acacac;
+
+				.uni-combox {
+					padding: 0;
+					height: auto;
+
+					.uni-input-placeholder,
+					.uni-input-input {
+						font-size: 26rpx;
+					}
+				}
+
+				.uni-combox::v-deep input {
+					height: inherit;
+					font-size: 26rpx;
+				}
+			}
+
+			.disabled {
+				border: 1px solid #e4e4e4;
+				background-color: #e4e4e4;
+			}
+
+			.none-border {
+				border: none;
+			}
+		}
+	}
+
+	.bottom-btn {
+		box-sizing: border-box;
+		width: 100%;
+		height: 120rpx;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		background-color: #fff;
+		box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+		padding: 30rpx 40rpx 40rpx 40rpx;
+		display: flex;
+		flex-direction: row;
+		gap: 10rpx;
+
+		button {
+			border-radius: 50rpx;
+			width: 180rpx;
+			height: 66rpx;
+			line-height: 66rpx;
+			font-size: 28rpx;
+		}
+
+		.btn-a {
+			background-color: #3a78ff;
+			color: #fff;
+		}
+
+		.btn-b {
+			background-color: #41a863;
+			color: #fff;
+		}
+
+		.btn-c {
+			background-color: #acacac;
+			color: #fff;
+			// position: absolute;
+			// right: 120rpx;
+		}
+
+		.btn-d {
+			background-color: #ff8901;
+			color: #fff;
+		}
+	}
+
+	.buttons {
+		box-sizing: border-box;
+		width: 100%;
+		display: flex;
+		justify-content: center;
+		padding: 10rpx 0;
+
+		button {
+			border-radius: 50rpx;
+			width: 180rpx;
+			height: 66rpx;
+			line-height: 66rpx;
+			font-size: 26rpx;
+		}
+
+		.btn-a {
+			background-color: #acacac;
+			color: #fff;
+		}
+
+		.btn-b {
+			background-color: #41a863;
+			color: #fff;
+		}
+
+		.btn-c {
+			background-color: #3a78ff;
+			color: #fff;
+		}
+	}
+
+	.list {
+		width: 100%;
+
+		.card-detail {
+			width: 100%;
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+			align-items: center;
+			line-height: 120%;
+			gap: 10rpx 0;
+
+			input {
+				font-size: 26rpx;
+			}
+
+			.detail {
+				// width: 50%;
+				box-sizing: border-box;
+				font-size: 26rpx;
+				color: #555;
+				padding-right: 20rpx;
+
+				text {
+					color: #999;
+					font-size: 26rpx;
+				}
+			}
+
+			.editable {
+				width: 50%;
+				display: inline-flex;
+				flex-direction: row;
+				align-items: center;
+
+				text {
+					flex-shrink: 0;
+				}
+
+                .editable-input {
+                    border: 1px solid #acacac;
+                    border-radius: 5rpx;
+                    padding: 0 12rpx;
+                }
+            }
+        }
+    }
+
+	.icon-wrapper {
+		background-color: #3a78ff;
+		border-radius: 100%;
+		width: 40rpx;
+		height: 40rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-shrink: 0;
+
+		.uni-icons {
+			color: #fff !important;
+		}
+	}
+
+	.icon-wrapper-big {
+		background-color: #3a78ff;
+		border-radius: 100%;
+		width: 50rpx;
+		height: 50rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-shrink: 0;
+		margin-left: 20rpx;
+
+		.uni-icons {
+			color: #fff !important;
+		}
+	}
+
+	.more {
+		color: #888;
+		font-size: 22rpx;
+		display: flex;
+		border-top: 1px solid #eee;
+		padding-top: 10rpx;
+
+		.part {
+			width: 100%;
+			text-align: center;
+		}
+	}
+
+	.pass-background {
+		background-color: #cee3f2;
+		border: none;
+	}
+
+	.unpass-background {
+		background-color: #f0d6e3;
+		border: none;
+	}
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue b/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue
new file mode 100644
index 0000000..23b3660
--- /dev/null
+++ b/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill.vue
@@ -0,0 +1,2328 @@
+<template>
+	<view>
+		<!-- 涓昏〃鍖哄煙 -->
+		<view class="bill-main-area">
+			<!-- 涓昏〃椤电 -->
+			<view class="bill-main-tabs">
+				<view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">鍩烘湰淇℃伅</view>
+				<view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">鍏朵粬淇℃伅</view>
+				<view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">鍒跺崟淇℃伅</view>
+			</view>
+			<!-- 涓昏〃鍐呭 -->
+			<view class="bill-main-contents">
+				<!-- 鍩烘湰淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 1">
+					<view class="form-item">
+						<view class="left">鍗曟嵁鍙�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HBillNo" disabled />
+						</view>
+					</view>
+
+					<view class="form-item">
+						<view class="left">鏃ユ湡</view>
+						<view class="right">
+							<uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate">
+								<view>{{ hform.HDate }}</view>
+							</uni-datetime-picker>
+						</view>
+					</view>
+
+					<view class="form-item">
+						<view class="left">婧愬崟鍗曞彿</view>
+						<view class="right" :class="!hasSourceBill?'':'disabled'">
+							<input type="text" :disabled="hasSourceBill" placeholder="璇疯緭鍏ユ垨鎵弿婧愬崟鍙�"
+								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>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇璧勬簮</view>
+						<view class="right">
+							<uni-combox :candidates="GySourceNameList" placeholder="璇烽�夋嫨鐢熶骇璧勬簮" v-model="hform.HSourceName"
+								@update:modelValue="HSourceChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇鐝</view>
+						<view class="right">
+							<uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+								v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+						</view>
+					</view>				
+					<view class="form-item" v-if="false">
+						<view class="left">浠诲姟鍗曞彿</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HICMOBillNo" disabled />
+						</view>
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+								@click="showSelectorModule(hform, 5)"></uni-icons></view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">娴佽浆鍗″彿</view>
+						<view class="right disabled">
+							<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>
+					</view>
+					<view class="form-item">
+						<view class="left">浜у搧浠g爜</view>
+						<view class="right disabled">
+							<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>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浜у搧鍚嶇О</view>
+						<view class="right disabled">
+							<input type="text" disabled :value="hform.HMaterName" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">妫�楠屽憳</view>
+						<view class="right">
+							<uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
+								:v-model="hform.HFirstCheckEmpName"
+								@update:modelValue="HFirstCheckEmpChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">妫�楠屾柟妗�</view>
+						<view class="right disabled">
+							<input type="text" disabled :value="this.hform.HQCSchemeName" />
+						</view>
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+								@click="showSelectorModule(hform, 7)"></uni-icons></view>
+					</view>
+					
+					<view class="form-item">
+						<view class="left">鍒ゆ柇缁撹</view>
+						<view class="right none-border">
+							<radio-group @changer="checkResultChange">
+								<label>
+									<radio value="0" :checked="hform.HLastResult" /><text></text>
+									鍚堟牸
+								</label>
+								<view style="width: 20rpx; display: inline-block"></view>
+								<label>
+									<radio value="1" :checked="!hform.HLastResult" /><text></text>
+									涓嶅悎鏍�
+								</label>
+							</radio-group>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">宸ュ簭</view>
+						<view class="right disabled">
+							<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>
+					</view>
+								
+				</view>
+				<!-- 鍏朵粬淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 2">
+					<view class="form-item">
+						<view class="left">婧愬崟绫诲瀷</view>
+						<view class="right" style="position: relative" :class="!hasSourceBill?'':'disabled'">
+							<picker mode="selector" :range="HSourceBillTypeNameList" :disabled="hasSourceBill"
+								@change="HSourceBillTypeNameChange">
+								<input type="text" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="HSourceBillType" disabled/>
+								<view class="picker-overlay"></view>
+							</picker>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇鐝</view>
+						<view class="right">
+							<uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+								v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">寮傚父涓存椂澶勭悊鏂规</view>
+						<view class="right">
+							<input type="text" v-model="hform.HErrTreatment" value="" />
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">浠诲姟鍗曟暟閲�</view>
+						<view class="right">
+							<input type="number" v-model="hform.HICMOQty" />
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">娴佽浆鍗℃暟閲�</view>
+						<view class="right">
+							<input type="number" v-model="hform.HProcExchQty" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鎵瑰彿</view>
+						<view class="right">
+							<input type="text" value="" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">澶囨敞</view>
+						<view class="right">
+							<input type="text" v-model="hform.HRemark" value="" />
+						</view>
+					</view>		
+				</view>
+				<!-- 鍒跺崟淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 3">
+					<view class="form-item">
+						<view class="left">鍒跺崟浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HMaker" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍒跺崟鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HMakeDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">瀹℃牳浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HChecker" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">瀹℃牳鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCheckDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍏抽棴浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCloseMan" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍏抽棴鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCloseDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">淇敼浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HUpDater" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">淇敼鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HUpDateDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浣滃簾浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HDeleteMan" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浣滃簾鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HDeleteDate" disabled />
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 瀛愯〃鍖哄煙 -->
+		<view class="bill-sub-area">
+			<!-- 瀛愯〃椤电 -->
+			<view class="bill-sub-tabs">
+				<view v-for="subTab in subTabs" :key="subTab.id" :class="subTab.id == subTabSelected ? 'selected' : ''"
+					@tap="subTabSelected = subTab.id">{{ subTab.name }}</view>
+			</view>
+			<!-- 瀛愯〃鍐呭 -->
+			<view class="bill-main-contents">
+				<!-- 妫�楠岄」鐩� 鍛堢幇 -->
+				<view v-if="subTabSelected == 1">
+					<!-- 闇�閫氳繃鏄惧紡璋冪敤蹇界暐$event鍙傛暟 -->
+					<view class="buttons" @tap="addCheckItem()">
+						<uni-icons type="plus" style="margin-right: 10rpx" size="22"></uni-icons>鏂板
+					</view>
+					<view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+					<view class="list" v-else>
+						<uni-card v-for="checkItem in checkItems" :key="checkItem.num">
+							<view class="card-detail">
+								<view class="detail"> <text>搴忓彿锛�</text>{{ checkItem.num }} </view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>妫�楠岄」鐩細</text></view>
+									<input type="text" :value="checkItem.HQCCheckItemName" disabled="" />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(checkItem, 2)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>妫�楠屼华鍣細</text></view>
+									<input type="text" :value="checkItem.HInspectInstruMentName" disabled="" />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(checkItem, 3)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<view><text>缁撹锛�</text></view>
+									<view style="width: 4em">
+										{{ checkItem.HResult == 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}
+									</view>
+									<view>
+										<switch style="width: 2em; transform: scale(0.7)"
+											:checked="checkItem.HResult == 1"
+											@change="HResultChange(checkItem.num, $event)" />
+									</view>
+								</view>
+								<view class="detail editable" style="position: relative">
+									<view style="flex-shrink: 0"><text>鍒嗘瀽鏂规硶锛�</text></view>
+									<picker :range="arrayAnalysisMethod" range-key="name"
+										@change="HAnalysisMethodChange(checkItem.num, $event)">
+										<input disabled :value="getAnalysisMethodDisplay(checkItem.HAnalysisMethod)"
+											placeholder="璇烽�夋嫨" />
+										<view class="picker-overlay"></view>
+									</picker>
+								</view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>閲嶇偣妫�鏌ワ細</text></view>
+									<view>
+										<switch type="checkbox" style="transform: scale(0.7)"
+											:checked="checkItem.HKeyInspect"
+											@change="HKeyInspectChange(checkItem, $event)" />
+									</view>
+								</view>
+								<view class="detail" v-if="checkItem.HQCStd">
+									<text>妫�楠屾爣鍑嗭細</text>{{ checkItem.HQCStd }}
+								</view>
+								<view class="detail" v-if="checkItem.HUnit">
+									<text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
+								</view>
+								 <!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+								<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 }}
+								</view>
+								<view class="detail" v-if="checkItem.HTargetVal">
+									<text>鐩爣鍊硷細</text>{{ checkItem.HTargetVal }}
+								</view>
+								<view class="detail" v-if="checkItem.HUpLimit">
+									<text>涓婇檺鍊硷細</text>{{ checkItem.HUpLimit }}
+								</view>
+								<view class="detail" v-if="checkItem.HDownLimit">
+									<text>涓嬮檺鍊硷細</text>{{ checkItem.HDownLimit }}
+								</view>
+								<view class="detail" v-if="checkItem.HMax">
+									<text>鏈�澶у�硷細</text>{{ checkItem.HMax }}
+								</view>
+								<view class="detail" v-if="checkItem.HMin">
+									<text>鏈�灏忓�硷細</text>{{ checkItem.HMin }}
+								</view>
+								<view class="detail" v-if="checkItem.HAvg">
+									<text>骞冲潎鍊硷細</text>{{ checkItem.HAvg }}
+								</view>
+							</view>
+							<view style="height: 20rpx"></view>
+							<view class="more">
+								<view class="part" style="color: #da0000" @tap.stop="removeCheckItem(checkItem)">
+									<uni-icons type="trash" style="color: #da0000; margin-right: 10rpx"
+										size="18"></uni-icons>鍒犻櫎
+								</view>
+							</view>
+						</uni-card>
+					</view>
+				</view>
+				<!-- 鎶芥牱妫�楠� 鍛堢幇 -->
+				<view v-if="subTabSelected == 2">
+					<view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+					<view class="list" v-else>
+						<uni-card v-for="SamplingItem in checkItems" :key="SamplingItem.num">
+							<view class="card-detail">
+								<view class="detail"> <text>搴忓彿锛�</text>{{ SamplingItem.num }} </view>
+								<view class="detail editable">
+									<text>妫�楠岄」鐩細</text>{{ SamplingItem.HQCCheckItemName }}
+								</view>
+								<view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+								<view class="detail editable" style="width: 100%">
+									<view style="flex-shrink: 0"><text>鎶芥牱鏂规锛�</text></view>
+									<input type="text" :value="SamplingItem.HSampleSchemeName" disabled />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(SamplingItem, 1)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<text>鎶芥牱绫诲瀷锛�</text>{{ SamplingItem.HSamplingType }}
+								</view>
+								<view class="detail editable">
+									<text>妫�楠屾按骞筹細</text>{{ SamplingItem.HInspectionLevel }}
+								</view>
+								<view class="detail editable">
+									<text>涓ユ牸搴︼細</text>{{ SamplingItem.HStrictness }}
+								</view>
+								<view class="detail editable">
+									<text>AQL锛�</text>{{ SamplingItem.HAQL }}
+								</view>
+								<view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+								<view class="detail editable">
+									<text>鏍锋湰閲忥細</text>{{ SamplingItem.HSampleQty }}
+								</view>
+								<view class="detail editable">
+									<text>鍏佽鏁帮細</text>{{ SamplingItem.HAcceptQty }}
+								</view>
+								<view class="detail editable">
+									<text>鎷掔粷鏁帮細</text>{{ SamplingItem.HRejectQty }}
+								</view>
+								<view class="detail editable">
+									<text>鏍锋湰涓嶅悎鏍兼暟锛�</text>{{ SamplingItem.HSampleUnRightQty }}
+								</view>
+								<view class="detail editable">
+									<text>鏍锋湰鐮村潖鏁帮細</text>
+									<view class="editable-input">
+										<input type="number" v-model="SamplingItem.HSampleDamageQty" />
+									</view>
+								</view>
+								<view class="detail editable">
+									<text>妫�楠岀粨鏋滐細</text>
+									<view style="border-radius: 15%; padding: 0 10rpx" :class="
+                                        SamplingItem.HInspectResultToSee == '鍚堟牸'
+                                        ? 'pass-background'
+                                        : SamplingItem.HInspectResultToSee == '涓嶅悎鏍�'
+                                        ? 'unpass-background'
+                                        : ''
+                                    ">
+										{{ SamplingItem.HInspectResultToSee }}
+									</view>
+								</view>
+							</view>
+						</uni-card>
+					</view>
+				</view>
+				<!-- 妫�娴嬪�� 鍛堢幇 -->
+				<view v-else v-for="item in InspectModules" :key="item.id">
+					<view v-if="subTabSelected == item.id">
+						<InspectValueTemplateVue ref="InspectValueModules" :bind-key="item.id"
+							@syncCheckData="InspectValueComplete" :bind-data="{
+                data: checkItems[item.checkItemId],
+                list: InspectValues[item.checkItemId],
+                mode: 4 // 妫�娴嬪�兼ā鍧�
+              }">
+						</InspectValueTemplateVue>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view style="height: 120rpx"></view>
+		<view class="bottom-btn">
+			<button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+			<view style="flex: 1"></view>
+			<button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+			<button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+		</view>
+		<SampleSchemePopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup"
+			@update="SampleSchemeComplete" :bindKey="currentChechItemIDCache">
+		</SampleSchemePopupVue>
+		<CheckItemPopupVue v-if="enablePopupModule == PopupModuleNameList[2]" ref="listPopup"
+			@update="CheckItemComplete" :bindKey="currentChechItemIDCache">
+		</CheckItemPopupVue>
+		<InspectMentPopupVue v-if="enablePopupModule == PopupModuleNameList[3]" ref="listPopup"
+			@update="InspectMentComplete" :bindKey="currentChechItemIDCache">
+		</InspectMentPopupVue>
+		<MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[4]" ref="listPopup" @update="MaterComplete"
+			:bindKey="0">
+		</MaterialPopupVue>
+		<ICMOBillPopupVue v-if="enablePopupModule == PopupModuleNameList[5]" ref="listPopup" @update="ICMOBillComplete"
+			:bindKey="0"></ICMOBillPopupVue>
+		<ProcExchBillPopupVue v-if="enablePopupModule == PopupModuleNameList[6]" ref="listPopup"
+			@update="ProcExchBillComplete" :bindKey="0"></ProcExchBillPopupVue>
+		<ProcessPopupVue v-if="enablePopupModule == PopupModuleNameList[8]" ref="listPopup" @update="HProcComplete"
+			:bindKey="0"></ProcessPopupVue>
+		<CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
+			@update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+	</view>
+</template>
+
+<script>
+	import dayjs from "dayjs";
+	import {
+		CommonUtils
+	} from "../../../utils/common";
+	import InspectValueTemplateVue from "@/components/ZLGL/InspectValueTemplate.vue";
+	import SampleSchemePopupVue from "@/components/ZLGL/SampleSchemePopup.vue";
+	import CheckItemPopupVue from "@/components/ZLGL/CheckItemPopup.vue";
+	import InspectMentPopupVue from "../../../components/ZLGL/InspectMentPopup.vue";
+	import MaterialPopupVue from "../../../components/ZLGL/MaterialPopup.vue";
+	import ICMOBillPopupVue from "../../../components/ZLGL/ICMOBillPopup.vue";
+	import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
+	import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
+	import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+	import {
+		getUserInfo
+	} from "../../../utils/auth";
+	import {
+		MpaasScan
+	} from "../../../utils/mpaasScan";
+	export default {
+		components: {
+			InspectValueTemplateVue,
+			SampleSchemePopupVue,
+			CheckItemPopupVue,
+			InspectMentPopupVue,
+			MaterialPopupVue,
+			ICMOBillPopupVue,
+			ProcExchBillPopupVue,
+			ProcessPopupVue,
+			CheckProjectPopupVue,
+		},
+		computed: {
+			judgeConclusion: {
+				get() {
+					return true;
+				},
+			},
+		},
+		data() {
+			return {
+				operationType: 1,
+
+				mainTabSelected: 1,
+				subTabSelected: 1,
+
+				// 婧愬崟鐘舵�佹帶鍒�
+				hasSourceBill: false,
+
+				// 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+				enablePopupModule: "",
+				PopupModuleNameList: [
+					"",
+					"SampleScheme",
+					"CheckItem",
+					"InspectMent",
+					"Material",
+					"ICMOBill",
+					"ProcExchBill",
+					"QCScheme",
+					"Process",
+				],
+				// 褰撳墠鎿嶄綔鐨勬楠屽崟ID缂撳瓨
+				currentChechItemIDCache: -1,
+
+				// uni-combox 閫夋嫨鍣ㄤ娇鐢�
+				// 鐢熶骇璧勬簮
+				GySourceList: [],
+				GySourceNameList: [],
+				// 鐝
+				GyWorkShiftList: [],
+				GyWorkShiftNameList: [],
+				// 妫�楠屽憳
+				GyFirstCheckEmpList: [],
+				GyFirstCheckEmpNameList: [],
+
+				// 妫�楠屾柟妗�
+				arrayAnalysisMethod: [{
+						value: 1,
+						name: "瀹氭�у垎鏋�",
+					},
+					{
+						value: 2,
+						name: "瀹氶噺鍒嗘瀽",
+					},
+					{
+						value: 3,
+						name: "鍏朵粬鍒嗘瀽",
+					},
+				],
+				ArrayAnalysisMethodValue: [1, 2, 3],
+				// 瀛愯〃 椤电淇℃伅
+				subTabs: {
+					1: {
+						id: "1",
+						name: "妫�楠岄」鐩�",
+					},
+					2: {
+						id: "2",
+						name: "鎶芥牱妫�楠�",
+					},
+				},
+
+				// 婧愬崟绫诲瀷
+				HSourceBillType: "閿�鍞鍗�",
+				HSourceBillTypeValueList: ['1401','1402'],
+				HSourceBillTypeNameList: [
+					"閿�鍞鍗�","鍙戣揣閫氱煡鍗�"
+				],
+				// 涓昏〃灞炴��
+				hform: {
+					HSourceBillType: "1401",
+					HSourceBillNo: "",
+					HBillNo: "",
+					HInterID: "0",
+					HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+					HSourceName: "",
+					HSourceID: "0",
+					HShiftsName: "",
+					HShiftsID: "0",
+					HICMOBillNo: "",
+					HICMOInterID: "0",
+					HICMOEntryID: "1",
+					HICMOQty: "0",
+					HProcExchBillNo: "",
+					HProcExchInterID: "0",
+					HProcExchEntryID: "0",
+					HProcExchQty: "0",
+					HMaterNumber: "",
+					HMaterID: "0",
+					HMaterName: "",
+					HFirstCheckEmpName: "",
+					HFirstCheckEmp: 0,
+					HQCSchemeName: "",
+					HQCSchemeID: "0",
+					HBatchNo: "",
+					HLastResult: true, // 榛樿鍚堟牸
+					HProcName: "",
+					HProcID: "0",
+					HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
+					HTakeSampleCheckBillID: "0",
+					HRemark: "",
+					HErrTreatment: "", // 寮傚父涓存椂澶勭悊鏂规
+					HMaker: getUserInfo()["Czymc"] || "",
+					HChecker: "",
+					HCloseMan: "",
+					HMakeDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"),
+					HCheckDate: "",
+					HCloseDate: "",
+					HUpDater: "",
+					HDeleteMan: "",
+					HUpDateDate: "",
+					HDeleteDate: "",
+					HResult: 1,
+					HAnalysisMethod: "",
+
+					HResDec: "",
+					HStatus: 1,
+
+					HMainSourceBillType: "",
+					HMainSourceInterID: "0",
+					HMainSourceEntryID: "1",
+					HMainSourceBillNo: "",
+				},
+				// 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
+				checkItems: {},
+				// 妫�娴嬪�兼ā鍧�
+				InspectModules: {},
+				// 妫�娴嬪��
+				InspectValues: {},
+			};
+		},
+		methods: {
+			// 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+			calcHResult(item){
+			    // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+			    console.log('item: ',item);
+			    if(item.HSampleSchemeID) {
+			        return
+			    }
+			    
+			    if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
+			     this.checkItems[item.num].HResult = true
+		         return
+		     }
+		     
+		     this.checkItems[item.num].HResult = false
+			},
+			// 婧愬崟绫诲瀷閫夋嫨
+			HSourceBillTypeNameChange(e) {
+				this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
+				this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+			},
+			toScanCode() {
+				MpaasScan.scanCode((res) => {
+					if (res) {
+						this.getSourceBillInfo(HBarCode);
+					}
+				});
+			},
+			async getSourceBillInfo(HBarCode) {
+				console.log('HBarCode: ', HBarCode);
+				// 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
+				if (this.hform.HSourceBillType == 1401) {
+					// 閿�鍞鍗�
+					await this.LoadingInformation_SeOrder(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 == 1402) {
+					// 鍙戣揣閫氱煡鍗昄oadingInformation_SeOutStock
+					await this.LoadingInformation_SeOutStock(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;
+				}
+			},
+			async GetCheckItemID() {
+				if (!this.hform.HMaterName && !this.hform.HProcName) {
+					try {
+						let res = await CommonUtils.doRequest2Async({
+							url: "/Web/GetCheckItemID",
+							data: {
+								HName: this.hform.HMaterName,
+								HProName: this.hform.HProcName,
+								HSourceID: this.hform.HSourceID,
+							},
+						});
+
+						let {
+							count,
+							Message,
+							data
+						} = res.data;
+
+						if (count != 1) {
+							CommonUtils.showTips({
+								title: "娓╅Θ鎻愮ず",
+								message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${Message}`,
+							});
+							return;
+						}
+
+						this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+						this.hform.HQCSchemeID = data[0].hmainid;
+
+						this.get_CheckItem();
+					} catch (err) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${err}`,
+						});
+					}
+				}
+			},
+			//#region 涓�鑷�
+			async LoadingInformation_ProcExchange(HBarCode) {
+				// 宸ュ簭娴佽浆鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/CheckBill/get_ProcessExchangeBill_ByBillNo",
+						data: {
+							HBillNo: HBarCode,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+					this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					this.hform.HProcExchInterID = data[0].HProcExchInterID;
+					this.hform.HProcExchEntryID = data[0].HProcExchEntryID || 0;
+					this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+					this.hform.HICMOInterID = data[0].HICMOInterID;
+					this.hform.HICMOQty = data[0].HICMOQty || 0;
+					this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+					this.hform.HSourceID = data[0].HSourceID || 0;
+					this.hform.HMaterID = data[0].HMaterID;
+					this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+					this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HMainSourceBillType = data[0].HBillType;
+					this.hform.HMainSourceInterID = data[0].HInterID;
+					this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+					this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+					this.hform.HBatchNo = data[0].鎵瑰彿;
+
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			
+			//#region 淇敼
+			async LoadingInformation_ICMO(HBarCode) {
+				// 鐢熶骇璁㈠崟
+				try {
+					let sWhere="and 鍗曟嵁鍙�='"+HBarCode+"'"
+					console.log(sWhere)
+					let res = await CommonUtils.doRequest2Async({
+						url: "/LEMS/MES_IF_ICMOBillList_Json",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${Message}`,
+						});
+						return;
+					}
+					//鐢熶骇鏀�
+					//this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					//this.hform.HProcExchInterID = data[0].HProcExchInterID;
+					//this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+					//this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					this.hform.HICMOBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HICMOInterID = data[0].hmainid;
+					this.hform.HICMOQty = data[0].鐢熶骇浠诲姟鍗曟暟閲�;
+					this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+					this.hform.HSourceID = data[0].HSourceID;
+					this.hform.HMaterID = data[0].HMaterID;
+					this.hform.HMaterNumber=data[0].浜у搧浠g爜
+					this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+					this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HMainSourceBillType = data[0].鍗曟嵁绫诲瀷;
+					this.hform.HMainSourceInterID = data[0].HInterID;
+					this.hform.HICMOEntryID = data[0].HEntryID || 1;
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+					this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			
+			//#region 涓�鑷�
+			async LoadingInformation_StationEntrustOutBill(HBarCode) {
+				// 宸ュ簭濮斿鎺ユ敹鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Cj_StationEntrustOutBill/list",
+						data: {
+							sWhere: ` and HBillNo = '${HBarCode}'`,
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+
+					HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					HProcExchInterID = data[0].HProcExchInterID;
+					HProcExchEntryID = data[0].HProcExchEntryID;
+					HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					HICMOBillNo = data[0].鐢熶骇璁㈠崟鍙�;
+					HICMOInterID = data[0].HICMOInterID;
+					HICMOQty = data[0].HICMOQty;
+					HSourceName = data[0].鐢熶骇璧勬簮;
+					HSourceID = data[0].HSourceID;
+					HMaterID = data[0].HMaterID;
+					HMaterName = data[0].浜у搧鍚嶇О;
+					HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					HMainSourceBillType = data[0].HBillType;
+					HMainSourceInterID = data[0].hmainid;
+					HICMOEntryID = data[0].HICMOEntryID || 1;
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			//LoadingInformation_SeOutStock
+			async LoadingInformation_SeOrder(HBarCode) {
+				// 婧愬崟涓洪攢鍞鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/QC_OutCompCheckBill/get_SeOrderBill_Tmp_ByBiilNo",
+						data: {
+							HBillNo: HBarCode,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇閿�鍞鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+					//change_inlife
+						this.hform.HMaterNumber=data[0].HMaterNumber;
+
+						this.hform.HMaterID = data[0].HMaterID;
+						this.hform.HMaterName = data[0].HMaterName;
+						this.hform.HMainSourceBillNo = 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;
+					
+
+					for (let i = 0; i < data.length; i++) {
+						this.addCheckItem(data[i])
+					}
+
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇閿�鍞鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			//LoadingInformation_SeOutStock
+			async LoadingInformation_SeOutStock(HBarCode) {
+				// 婧愬崟涓哄彂璐ч�氱煡璁㈠崟
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/QC_OutCompCheckBill/get_SeOutStockBill_Tmp_ByBillNo",
+						data: {
+							HBillNo: HBarCode,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+			
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+			
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鍙戣揣閫氱煡鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+					//change_inlife
+						this.hform.HMaterNumber=data[0].HMaterNumber;
+			
+						this.hform.HMaterID = data[0].HMaterID;
+						this.hform.HMaterName = data[0].HMaterName;
+						this.hform.HMainSourceBillNo = 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;
+					
+			
+					for (let i = 0; i < data.length; i++) {
+						this.addCheckItem(data[i])
+					}
+			
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鍙戣揣閫氱煡鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			// 妫�楠屽憳鍒濆鍖�
+			async InitHEmp() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_Employee/list",
+						data: {
+							sWhere: `  and 缁勭粐鍚嶇О = '${uni.getStorageSync(
+              "Organization"
+            )}' and 绂佺敤鏍囪 = ''and 瀹℃牳浜� !='' order by 閮ㄩ棬浠g爜`,
+							user: getUserInfo()["Czymc"],
+							Organization: uni.getStorageSync("Organization"),
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						console.log("data: ", data);
+						this.GyFirstCheckEmpList = data;
+						this.GyFirstCheckEmpNameList = Array.from(data).map((e) => e["鑱屽憳鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栨楠屽憳澶辫触: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栨楠屽憳澶辫触: ${err}`,
+					});
+				}
+			},
+			async HFirstCheckEmpChange(e) {
+				console.log("閫変腑妫�楠屽憳: ", e);
+				let index = this.GyFirstCheckEmpList.findIndex((elem) => elem["鑱屽憳鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HFirstCheckEmp = 0;
+					this.hform.HFirstCheckEmpName = "";
+					return;
+				}
+
+				this.hform.HFirstCheckEmp = this.GyFirstCheckEmpList[index]["HItemID"];
+				this.hform.HFirstCheckEmpName = this.GyFirstCheckEmpList[index]["鑱屽憳鍚嶇О"];
+			},
+			// 鐢熶骇鐝鍒濆鍖�
+			async InitHWorkShift() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_ShiftsController/Get_Gy_WorkShiftList",
+						data: {
+							sWhere: ` and 绂佺敤鏍囪 = '' and ISNULL(瀹℃牳浜�,'')  != '' and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync(
+              "Organization"
+            )}'`,
+							HMaker: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						console.log("data: ", data);
+						this.GyWorkShiftList = data;
+						this.GyWorkShiftNameList = Array.from(data).map((e) => e["鐝鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栫彮娆″け璐�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栫彮娆″け璐�: ${err}`,
+					});
+				}
+			},
+			async HWorkShiftChange(e) {
+				console.log("閫変腑鐝: ", e);
+				let index = this.GyWorkShiftList.findIndex((elem) => elem["鐝鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HWorkShiftID = 0;
+					this.hform.HWorkShiftName = "";
+					return;
+				}
+
+				this.hform.HWorkShiftID = this.GySourceList[index]["HInterID"];
+				this.hform.HWorkShiftName = this.GySourceList[index]["鐝鍚嶇О"];
+			},
+			// 鐢熶骇璧勬簮鏇存柊
+			// 鐢熶骇璧勬簮鍒濆鍖�
+			async InitHSource() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_Source/list",
+						data: {
+							sWhere: `and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'')  != '' and HUSEORGID = '100038'`,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						this.GySourceList = data;
+						this.GySourceNameList = Array.from(data).map((e) => e["鐢熶骇璧勬簮鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${err}`,
+					});
+				}
+			},
+			// 鐢熶骇璧勬簮鏇存柊
+			async HSourceChange(e) {
+				console.log("閫変腑鐢熶骇璧勬簮: ", e);
+				let index = this.GySourceList.findIndex((elem) => elem["鐢熶骇璧勬簮鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HSourceID = 0;
+					this.hform.HSourceName = "";
+					return;
+				}
+
+				this.hform.HSourceID = this.GySourceList[index]["HItemID"];
+				this.hform.HSourceName = this.GySourceList[index]["鐢熶骇璧勬簮鍚嶇О"];
+
+				this.get_ICMOBillStatusList();
+				this.get_QC_TakeSampleCheckBillList();
+				this.GetCheckItemID();
+			},
+			// 鏄剧ず寮圭獥
+			async showSelectorModule(item, index) {
+				this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+				this.enablePopupModule = this.PopupModuleNameList[index];
+				console.log("this.$refs: ", this.$refs);
+				await this.$nextTick();
+				if (index == 7) {
+					// 妫�楠屾柟妗堥渶瑕侀澶栦紶閫掑伐搴忓拰鐗╂枡鍚嶇О涓や釜鍙傛暟
+					this.$refs.listPopup.setRequiredInfo(item.HMaterName, item.HProcName);
+				}
+
+				this.$refs.listPopup.showPopup();
+			},
+			getAnalysisMethodDisplay(val) {
+				console.log("AnalysisMethodVal: ", val);
+				if (val) {
+					return this.arrayAnalysisMethod.find((e) => e.value == val).name;
+				}
+				return "";
+			},
+			checkResultChange(event) {
+				console.log("event: ", event);
+			},
+			// 妫�楠岄」鐩柊澧炶
+			addCheckItem(resource) {
+				let ordinal = this.getObjLength(this.checkItems) + 1;
+				let checkItem = {
+					num: ordinal,
+					HInterID: this.hform.HInterID,
+					HQCCheckItemID: "",
+					HQCCheckItemNumber: "",
+					HQCCheckItemName: "",
+					HInspectInstruMentID: "0",
+					HInspectInstruMentNumber: "",
+					HInspectInstruMentName: "",
+					HQCStd: "",
+					HUnit: "",
+					HQCNote: "",
+					HAnalysisMethod: "",
+					HResult: 1,
+					HMax: "",
+					HMin: "",
+					HAvg: "",
+					HRemark: "",
+					HKeyInspect: false,
+					HStatus: 1,
+					HSampleSchemeID: "",
+					HUnitID: 0,
+					HInspectVal: "",
+					HTargetVal: "",
+					HUpLimit: "",
+					HDownLimit: "",
+					HUpOffSet: "",
+					HDownOffSet: "",
+					HSampleDamageQty: 0,
+					HSampleSchemeName: "",
+					HSampleQty: 0,
+					HAcceptQty: 0,
+					HInspectionLevel: "",
+					HRejectQty: 0,
+					HStrictness: "",
+					HSampleUnRightQty: 0,
+					HAQL: "",
+					HSamplingType: "",
+					HInspectResultToSee: "",
+				};
+				if (resource) {
+					// 閫氳繃涓昏〃妫�楠屾柟妗堝甫鍑虹殑妫�楠岄」鐩�
+					Object.assign(checkItem, resource);
+				}
+				this.$set(this.checkItems, ordinal, checkItem);
+				this.$nextTick(() => {
+					// 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+					this.setInspectValModule(this.checkItems[ordinal]);
+				});
+			},
+			// 妫�楠岄」鐩垹闄よ
+			removeCheckItem(item) {
+				uni.showModal({
+					title: "娓╅Θ鎻愮ず",
+					content: `纭瑕佸垹闄ょ${item.num}琛屽悧锛熷垹闄ゅ悗涓嶈兘鎭㈠`,
+					success: (res) => {
+						if (res.confirm) {
+							this.$delete(this.checkItems, item.num);
+							this.$delete(this.subTabs, `_${item.num}`);
+							this.$forceUpdate();
+							this.refreshCheckItemNum();
+						}
+					},
+				});
+			},
+			async refreshCheckItemNum() {
+				await this.$nextTick();
+				// 閲嶆帓搴忓彿
+				let num = 1;
+				let checkItemsCache = {};
+				for (let s in this.checkItems) {
+					checkItemsCache[num] = this.checkItems[s];
+					checkItemsCache[num].num = num;
+					num++;
+				}
+				this.checkItems = checkItemsCache;
+			},
+			getObjLength(obj) {
+				return Object.keys(obj).length;
+			},
+			// 缁撹淇敼
+			HResultChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HResult"] = e.detail.value ? 1 : 2;
+
+				this.HCheckLastResult();
+			},
+			// 姣忔妫�楠岄」鐩殑缁撹鏇存柊锛岄兘瑕佸垽鏂渶缁堢粨璁�
+			HCheckLastResult() {
+				let unPassNum = 0;
+				for (var key in this.checkItems) {
+					if (!(this.checkItems[key]["HResult"] == 1)) {
+						unPassNum++;
+					}
+				}
+
+				if (unPassNum > 0) {
+					this.hform.HLastResult = false;
+					return;
+				}
+				this.hform.HLastResult = true;
+			},
+			// 妫�楠屾柟妗堜慨鏀�
+			HAnalysisMethodChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HAnalysisMethod"] = this.arrayAnalysisMethod[e.detail.value][
+					"value"
+				];
+
+				// 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+				this.setInspectValModule(this.checkItems[id]);
+			},
+			// 閲嶇偣妫�鏌ヤ慨鏀�
+			HKeyInspectChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HKeyInspect"] = e.detail.value;
+			},
+			// 妫�楠岄」鐩繑鍥�
+			async CheckItemComplete(e) {
+				console.log("CheckItemRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HQCCheckItemID: data["HItemID"],
+						HQCCheckItemNumber: data["浠g爜"],
+						HQCCheckItemName: data["鍚嶇О"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屾柟妗堣繑鍥�
+			async SampleSchemeComplete(e) {
+				console.log("SampleSchemeRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HSampleSchemeID: data["hmainid"],
+						HSampleSchemeNumber: data["鎶芥牱鏂规浠g爜"],
+						HSampleSchemeName: data["鎶芥牱鏂规鍚嶇О"],
+						HSampleQty: data["鏍锋湰閲�"] || 0,
+						HAcceptQty: data["鍏佽鏁�"] || 0,
+						HInspectionLevel: data["妫�楠屾按骞�"],
+						HRejectQty: data["鎷掔粷鏁�"] || 0,
+						HStrictness: data["涓ユ牸搴�"],
+						HSampleUnRightQty: data["鏍锋湰涓嶅悎鏍兼暟"] || 0,
+						HAQL: data["AQL"],
+						HSamplingType: data["鎶芥牱绫诲瀷"],
+						HInspectResultToSee: data["妫�楠岀粨鏋�"],
+						HUpLimit: data["涓婇檺鍊�"] || 0,
+						HDownLimit: data["涓嬮檺鍊�"] || 0,
+						HSampleDamageQty: data["鏍锋湰鐮村潖鏁�"] || 0,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					this.setInspectValModule(this.checkItems[key]);
+
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屼华鍣ㄨ繑鍥�
+			async InspectMentComplete(e) {
+				console.log("InspectInstruMentRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HInspectInstruMentID: data["HItemID"],
+						HInspectInstruMentNumber: data["妫�楠屼华鍣ㄤ唬鐮�"],
+						HInspectInstruMentName: data["妫�楠屼华鍣ㄥ悕绉�"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 浜у搧浠g爜杩斿洖
+			async MaterComplete(e) {
+				console.log("MaterRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HMaterNumber: data["鐗╂枡浠g爜"],
+						HMaterName: data["鐗╂枡鍚嶇О"],
+						HMaterID: data["HItemID"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+					this.GetCheckItemID();
+				}
+			},
+			// 浠诲姟鍗曡繑鍥�
+			async ICMOBillComplete(e) {
+				console.log("ICMOBillRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HICMOInterID: data.hmainid,
+						HICMOEntryID: data.HEntryID || 1,
+						HICMOBillNo: data.鍗曟嵁鍙�,
+						HMaterNumber: data.浜у搧浠g爜,
+						HMaterName: data.浜у搧鍚嶇О,
+						HMaterID: data.HMaterID,
+						HICMOQty: data.鐢熶骇浠诲姟鍗曟暟閲�,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 娴佽浆鍗¤繑鍥�
+			async ProcExchBillComplete(e) {
+				console.log("ProcExchBillRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HProcExchInterID: data.hmainid,
+						HProcExchEntryID: data.hsubid,
+						HProcExchBillNo: data.鍗曟嵁鍙�,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屾柟妗�(涓昏〃)杩斿洖
+			async HQCSchemeComplete(e) {
+				console.log("HQCSchemeRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HQCSchemeID: data.hmainid,
+						HQCSchemeName: data.妫�楠屾柟妗堝悕绉�,
+					});
+					await this.get_CheckItem();
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 宸ュ簭杩斿洖
+			async HProcComplete(e) {
+				console.log(" HProcRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HProcName: data["宸ュ簭鍚嶇О"],
+						HProcID: data["HItemID"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+					await this.GetCheckItemID();
+					await this.get_ICMOBillStatusList();
+					await this.get_QC_TakeSampleCheckBillList();
+				}
+			},
+			
+			//
+			async get_QC_TakeSampleCheckBillList() {
+				// 鍙栨牱鍗曟煡璇�
+				let HProcID = this.hform.HProcID;
+				let HProcExchInterId = this.hform.HProcExchInterID;
+				let sWhere = "";
+
+				if (HProcID == "0" || HProcID == "") {
+					CommonUtils.showTips({
+						message: "璇烽�夋嫨宸ュ簭",
+					});
+					return;
+				}
+
+				sWhere = " and 宸ュ簭娴佽浆鍗′富鍐呯爜='" + HProcExchInterID + "' and HProcID=" + HProcID;
+
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "//QC_TakeSampleCheckBill/QC_TakeSampleCheckBillMainList",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${Message}`,
+						});
+					}
+
+					this.hform.HTakeSampleCheckBillID = data[0]["hmainid"];
+					this.hform.HTakeSampleCheckBillNo = data[0]["鍗曟嵁鍙�"];
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${err}`,
+					});
+				}
+			},
+			async get_ICMOBillStatusList() {
+				let sWhere = "";
+				let HProcID = this.hform.HProcID;
+				let HSourceID = this.hform.HSourceID;
+				let HProcExchInterId = this.hform.HProcExchInterID;
+
+				if (HProcID != "0") {
+					sWhere += " and HProcID=" + HProcID;
+				}
+				if (HSourceID != "0") {
+					sWhere += " and HSourceID=" + HSourceID;
+				}
+
+				sWhere += " and HSourceInterID=" + HProcExchInterID;
+
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/CheckBill/GetICMOBillStatusList",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${Message}`,
+						});
+					}
+
+					this.hform.HProcID = data[0]["HProcID"];
+					this.hform.HProcName = data[0]["宸ュ簭"];
+					this.hform.HSourceID = data[0]["HSourceID"];
+					this.hform.HSourceName = data[0]["鐢熶骇璧勬簮"];
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${err}`,
+					});
+				}
+			},
+			setInspectValModule(checkItem) {
+				console.log("checkItem: ", checkItem);
+				if (!checkItem || !checkItem.HAnalysisMethod || !checkItem.HSampleSchemeID) {
+					return;
+				}
+				// 鍖哄垎妫�楠屽�奸〉绛惧拰闈欐�侀〉绛撅紝妫�楠屽�奸〉绛剧殑id浠寮�澶�
+				this.$set(this.InspectModules, `_${checkItem.num}`, {
+					id: `_${checkItem.num}`,
+					checkItemId: checkItem.num,
+				});
+				console.log(" this.arrayAnalysisMethod: ", checkItem.HAnalysisMethod);
+				let analysisMethodName = this.arrayAnalysisMethod.find(
+					(e) => e.value == checkItem.HAnalysisMethod
+				).name;
+				this.$set(this.subTabs, `_${checkItem.num}`, {
+					id: `_${checkItem.num}`,
+					name: `${analysisMethodName}-${checkItem.HQCCheckItemName}`,
+				});
+			},
+			InspectValueUpdate(e) {
+				console.log("e: ", e);
+				let {
+					data,
+					list
+				} = e;
+				this.checkItems[data.num] = Object.assign(this.checkItems[data.num], data);
+				this.$set(this.InspectValues, `${data.num}`, list);
+			},
+			// 甯﹀嚭妫�楠岄」鐩�
+			async get_CheckItem() {
+				// 棣栧厛娓呯┖妫�楠岄」鐩� 鍜� 妫�楠屽��
+				this.checkItems = {}
+				for (let key in this.subTabs) {
+					if (key.substring(1) == "_") {
+						this.$delete(this.subTabs, key)
+					}
+				}
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Web/GetCheckItemByCheckProjectID",
+						data: {
+							CheckProjectID: this.hform.HQCSchemeID || 0,
+							HBatchQty: this.hform.HProcExchQty || 0,
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+
+					if (count == 1) {
+						for (var i = 0; i < data.length; i++) {
+							let checkItem = {
+								HQCCheckItemID: data[i]["HQCCheckItemID"],
+								HQCCheckItemNumber: data[i]["妫�楠岄」鐩唬鐮�"],
+								HQCCheckItemName: data[i]["妫�楠岄」鐩�"],
+								HInspectInstruMentID: data[i]["HInspectInstruMentID"],
+								HInspectInstruMentNumber: data[i]["妫�楠屼华鍣ㄤ唬鐮�"],
+								HInspectInstruMentName: data[i]["妫�楠屼华鍣�"],
+								HQCStd: data[i]["HQCStd"],
+								HUnit: data[i]["鍗曚綅鍚嶇О"],
+								HQCNote: "",
+								HAnalysisMethod: data[i]["鍒嗘瀽鏂规硶"],
+								HResult: data[i]["榛樿缁撹"],
+								HMax: "",
+								HMin: "",
+								HAvg: "",
+								HRemark: "",
+								HKeyInspect: data[i]["閲嶇偣妫�鏌�"] == 1 ? true : false,
+								HStatus: 0,
+								HSampleSchemeID: data[i]["HSampleSchemeID"],
+								HUnitID: data[i]["HUnitID"],
+								HInspectVal: "",
+								HTargetVal: "",
+								HUpLimit: data[i].涓婇檺鍊�,
+								HDownLimit: data[i].涓嬮檺鍊�,
+								HUpOffSet: "",
+								HDownOffSet: "",
+								HSampleDamageQty: "0",
+								HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+								HSampleQty: data[i].鏍锋湰閲�,
+								HAcceptQty: data[i].鍏佽鏁�,
+								HInspectionLevel: data[i].妫�楠屾按骞�,
+								HRejectQty: data[i].鎷掔粷鏁�,
+								HStrictness: data[i].涓ユ牸搴�,
+								HSampleUnRightQty: 0,
+								HAQL: data[i].AQL,
+								HSamplingType: data[i].鎶芥牱绫诲瀷,
+								HCompareSymbol: data[i].姣旇緝绗�,
+								HTargetVal: data[i].鐩爣鍊� || 0,
+							};
+
+							this.addCheckItem(checkItem);
+						}
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${Message} `,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${err} `,
+					});
+				}
+			},
+			async getMaxBillNo() {
+				try {
+					let res = await CommonUtils.doRequest2Sync({
+						url: "/Web/GetMAXNum",
+						data: {
+							HBillType: "7504",
+						},
+					});
+
+					if (!res) {
+						return;
+					}
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+					if (count == 1) {
+						this.hform.HInterID = data[0].HInterID;
+						this.hform.HBillNo = data[0].HBillNo;
+					} else {
+						throw Message;
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: "鑾峰彇鍗曟嵁鍙峰紓甯�: " + err,
+					});
+				}
+			},
+			// 妫�楠屽�艰繑鍥炲��
+			InspectValueComplete(e) {
+				console.log("e: ", e);
+				let key = e.num;
+				e.HStatus = e.HStatus ? 1 : 0
+				if (e.HResult2 == '') {
+					e.HResult2 = this.checkItems[key].HResult
+				}
+				Object.assign(this.checkItems[key], e);
+				this.checkItems[key].HInspectResultToSee = this.checkItems[key].HResult2;
+				this.checkItems[key].HResult = this.checkItems[key].HResult2 == '鍚堟牸' ? 1 : 2;
+
+				this.HCheckLastResult();
+
+			},
+			checkSubmitValidate() {
+				// if (this.hform.HICMOQty == "" || this.hform.HICMOQty <= 0) {
+				// 	CommonUtils.showTips({
+				// 		message: "浠诲姟鍗曟暟閲忎笉鑳戒负绌轰笖涓嶈兘灏忎簬绛変簬0锛�",
+				// 	});
+				// 	return false;
+				// }
+
+				if (this.hform.HFirstCheckEmp == 0) {
+					CommonUtils.showTips({
+						message: "妫�楠屽憳鏈�夋嫨锛�",
+					});
+					return false;
+				}
+
+				for (let key in this.checkItems) {
+					if (!this.checkItems[key].HQCCheckItemID) {
+						CommonUtils.showTips({
+							message: `绗�${this.checkItems[key].num}琛屾楠岄」鐩笉鑳戒负绌�!`,
+						});
+						return false;
+					}
+
+					if (
+						this.checkItems[key].HSampleSchemeID == "" ||
+						this.checkItems[key].HSampleSchemeID == null
+					) {
+						this.checkItems[key].HSampleSchemeID = 0;
+					}
+					if (
+						this.checkItems[key].HSampleQty == "" ||
+						this.checkItems[key].HSampleQty == null
+					) {
+						this.checkItems[key].HSampleQty = 0;
+					}
+					if (
+						this.checkItems[key].HSampleDamageQty == "" ||
+						this.checkItems[key].HSampleDamageQty == null
+					) {
+						this.checkItems[key].HSampleDamageQty = 0;
+					}
+					if (
+						this.checkItems[key].HAcceptQty == "" ||
+						this.checkItems[key].HAcceptQty == null
+					) {
+						this.checkItems[key].HAcceptQty = 0;
+					}
+					if (
+						this.checkItems[key].HRejectQty == "" ||
+						this.checkItems[key].HRejectQty == null
+					) {
+						this.checkItems[key].HRejectQty = 0;
+					}
+					if (
+						this.checkItems[key].HSampleUnRightQty == "" ||
+						this.checkItems[key].HSampleUnRightQty == 0
+					) {
+						this.checkItems[key].HSampleUnRightQty = 0;
+					}
+					if (this.checkItems[key].HUnitID == "") {
+						this.checkItems[key].HUnitID = 0;
+					}
+				}
+
+				return true;
+			},
+			async submit() {
+				if (!this.checkSubmitValidate()) {
+					return;
+				}
+				try {
+					console.log('this.$refs: ', this.$refs);
+					// 妫�鏌ユ槸鍚︽湁鏈垏鎹㈢殑妫�楠屽�兼ā鍧�(鏄惁鍖呭惈set_SaveValue鏂规硶),濡傛灉鏈夛紝鍒欒繍琛屼竴娆′繚瀛樻楠屽�肩殑鏂规硶锛屾牴鎹楠屽�兼槸鍚︿繚瀛樻垚鍔熷啀鎵ц涓嬩竴姝�
+					if (typeof this.$refs.InspectValueModules != "undefined" && this.$refs.InspectValueModules.length >
+						0) {
+						// 鍔犺浇鏈夋楠屽�兼ā鍧�
+						await this.$refs.InspectValueModules[0].set_SaveValue();
+						this.InspectValues[0] = this.$refs.InspectValueModules[0].InSpectValues;
+						await this.InspectValueComplete(this.$refs.InspectValueModules[0].checkData)
+					}
+					let InspectValuesTrans = [];
+					let HInterID = this.hform.HInterID;
+					for (let key in this.InspectValues) {
+						let HEntryID = key;
+
+						InspectValuesTrans.push(
+							`${JSON.stringify(this.InspectValues[key])}`
+						);
+					}
+					let checkItemsArray = [];
+					for (var key in this.checkItems) {
+						let checkItem = JSON.parse(JSON.stringify(this.checkItems[key]))
+						delete checkItem.data
+						checkItemsArray.push(checkItem);
+					}
+					console.log('checkItemsArray: ', checkItemsArray);
+					let sMainSub = `${JSON.stringify(this.hform)};${JSON.stringify(
+          checkItemsArray
+        )};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
+					console.log("this.checkItems: ", this.checkItems);
+
+					let res = await CommonUtils.doRequest2Sync({
+						url: "/QC_OutCompCheckBill/AddBill",
+						data: {
+							sMainSub: sMainSub,
+						},
+						method: "POST",
+					});
+
+					if (!res) {
+						return;
+					}
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+					if (count == 1) {
+						uni.showModal({
+							title: "鎻愮ず",
+							content: res.data.Message + "銆傛槸鍚︾户缁柊澧烇紵",
+							success: (res) => {
+								if (res.confirm) {
+									console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+									uni.redirectTo({
+										url: "/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2?operationType=1",
+									});
+								} else if (res.cancel) {
+									console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+									// setTimeout(() => {
+									//     uni.navigateBack();
+									// }, 50)
+								}
+							},
+						});
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${err}`,
+					});
+				}
+			},
+			addNew() {
+				uni.redirectTo({
+					url: "/pages/ZLGL/shoujianjianyan/firstCheckBillList?operationType=1",
+				});
+			},
+			goBack() {
+				uni.navigateBack();
+			},
+			async RoadBillMain() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_Edit",
+						data: {
+							sWhere: ` and hmainid=${this.hform.HInterID}`,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+
+					if (count == 1) {
+						console.log("RoadBillMain: : ", data);
+						Object.assign(this.hform, {
+							HInterID: data[0].hmainid,
+							HBillNo: data[0].鍗曟嵁鍙�,
+							HDate: dayjs(data[0].鏃ユ湡).format("YYYY-MM-DD"),
+							HSourceID: data[0].HSourceID,
+							HSourceName: data[0].鐢熶骇璧勬簮鍚嶇О,
+							HICMOBillNo: data[0].浠诲姟鍗曞彿,
+							HICMOQty: data[0].浠诲姟鍗曟暟閲�,
+							HICMOInterID: data[0].HICMOInterID,
+							HICMOEntryID: data[0].HICMOEntryID || 1,
+							HMaterID: data[0].HMaterID,
+							HMaterName: data[0].鐗╂枡鍚嶇О,
+							HMaterNumber: data[0].鐗╂枡浠g爜,
+							HProcID: data[0].HProcID,
+							HProcName: data[0].HProcName,
+							HProcExchQty: data[0].HProcExchQty || 0,
+							HProcExchBillNo: data[0].HProcExchBillNo,
+							HProcExchInterID: data[0].HProcExchInterID,
+							HProcExchEntryID: data[0].HProcExchEntryID || 0,
+							HFirstCheckEmp: data[0].HFirstCheckEmp,
+							HFirstCheckEmpName: data[0].璐ㄦ鍛樺悕绉�,
+							HQCSchemeID: data[0].妫�楠屾柟妗圛D,
+							HQCSchemeName: data[0].妫�楠屾柟妗堝悕绉�,
+							HRemark: data[0].琛ㄥご澶囨敞,
+							HMaker: data[0].鍒跺崟浜�,
+							HMakeDate: data[0].鍒跺崟鏃ユ湡,
+							HChecker: data[0].瀹℃牳浜�,
+							HCheckDate: data[0].瀹℃牳鏃ユ湡,
+							HCloseMan: data[0].鍏抽棴浜�,
+							HCloseDate: data[0].鍏抽棴鏃ユ湡,
+							HUpDateDate: data[0].淇敼鏃ユ湡,
+							HDeleteDate: data[0].浣滃簾鏃ユ湡,
+							HSampleSchemeID: data[0].HSampleSchemeID,
+							HSampleSchemeName: data[0].鎶芥牱鏂规鍚嶇О,
+							HSampleQty: data[0].鏍锋湰閲�,
+							HSampleQty2: data[0].鏍锋湰閲�,
+							HSampleDamageQty: data[0].鏍锋湰鐮村潖鏁�,
+							HSamplingType: data[0].鎶芥牱绫诲瀷,
+							HAcceptQty: data[0].鍏佽鏁�,
+							HInspectionLevel: data[0].妫�楠屾按骞�,
+							HRejectQty: data[0].鎷掔粷鏁�,
+							HStrictness: data[0].涓ユ牸搴�,
+							HSampleUnRightQty: data[0].鏍锋湰涓嶅悎鏍兼暟 || 0,
+							HSampleUnRightQty2: data[0].鏍锋湰涓嶅悎鏍兼暟,
+							HAQL: data[0].AQL,
+							HUnitID: data[0].HUnitID,
+							HUnit: data[0].鍗曚綅,
+							HInspectValB: data[0].妫�娴嬪�煎熀纭�璧勬枡,
+							HInspectVal: data[0].妫�娴嬪��,
+							HTargetValB: data[0].鐩爣鍊煎熀纭�璧勬枡,
+							HTargetVal: data[0].鐩爣鍊�,
+							HUpLimit: data[0].涓婇檺鍊�,
+							HDownLimit: data[0].涓嬮檺鍊�,
+							HUpOffSet: data[0].涓婂亸宸�,
+							HDownOffSet: data[0].涓嬪亸宸�,
+							HEntryID: data[0].hsubid,
+							HQCCheckItemName: data[0].妫�楠岄」鐩悕绉�,
+							HQCCheckItemID: data[0].HQCCheckItemID,
+							HShiftsID: data[0].HShiftsID,
+							HShiftsName: data[0].鐝鍚嶇О,
+							HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
+							HBatchNo: data[0].鎵瑰彿,
+							HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+							HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
+							HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
+							HAnalysisMethod: function() {
+								if (data[0].HAnalysisMethod == 1) {
+									return '瀹氭�ф楠�'
+								} else if (data[0].HAnalysisMethod == 2) {
+									return '瀹氶噺妫�楠�'
+								} else {
+									return '鍏朵粬妫�楠�'
+								}
+							}(),
+
+
+
+						});
+
+						for (let i = 0; i < data.length; i++) {
+							this.addCheckItem({
+								HQCCheckItemID: data[i].HQCCheckItemID,
+								HQCCheckItemNumber: data[i].妫�楠岄」鐩唬鐮�,
+								HQCCheckItemName: data[i].妫�楠岄」鐩悕绉�,
+								HInspectInstruMentID: data[i].HInspectInstruMentID,
+								HInspectInstruMentNumber: data[i].妫�楠屼华鍣ㄤ唬鐮�,
+								HInspectInstruMentName: data[i].妫�楠屼华鍣ㄥ悕绉�,
+								HQCStd: data[i].妫�楠屾爣鍑�,
+								HUnit: data[i].鍗曚綅鍚嶇О,
+								HQCNote: data[i].妫�楠岃褰�,
+								HResult: data[i].缁撹 == "鍚堟牸" ? 1 : 0,
+								HMax: data[i].鏈�澶у��,
+								HMin: data[i].鏈�灏忓��,
+								HAvg: data[i].骞冲潎鍊�,
+								HRemark: data[i].琛ㄤ綋澶囨敞,
+								HAnalysisMethod: data[i].鍒嗘瀽鏂规硶 == "瀹氭�у垎鏋�" ?
+									1 : data[i].鍒嗘瀽鏂规硶 == "瀹氶噺鍒嗘瀽" ?
+									2 : 3,
+								HKeyInspect: data[i].閲嶇偣妫�鏌� == "鍚�" ? false : true,
+								HSampleSchemeID: data[i].HSampleSchemeID,
+								HUnitID: data[i].HUnitID,
+								HInspectVal: data[i].妫�娴嬪��,
+								HTargetVal: data[i].鐩爣鍊�,
+								HUpLimit: data[i].涓婇檺鍊�,
+								HDownLimit: data[i].涓嬮檺鍊�,
+								HUpOffSet: data[i].涓婂亸宸�,
+								HDownOffSet: data[i].涓嬪亸宸�,
+								HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+								HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+								HSampleQty: data[i].鏍锋湰閲�,
+								HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+								HAcceptQty: data[i].鍏佽鏁�,
+								HInspectionLevel: 0,
+								HRejectQty: data[i].鎷掔粷鏁�,
+								HStrictness: 0,
+								HSampleUnRightQty: data[i].鏍锋湰涓嶅悎鏍兼暟,
+								HAQL: data[i].AQL,
+								HSamplingType: 0,
+								HSamplingType: data[i].鎶芥牱绫诲瀷,
+								HStrictness: data[i].涓ユ牸搴�,
+								HInspectResultToSee: data[i].妫�楠岀粨鏋�
+							});
+
+						}
+
+
+						this.hasSourceBill = true
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍔犺浇鍗曟嵁澶辫触: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍔犺浇鍗曟嵁澶辫触: ${err}`,
+					});
+				}
+			},
+		},
+		async onLoad(e) {
+			this.operationType = e.operationType || 1;
+			this.hform.HInterID = e.linterid || 0;
+			if (this.operationType == 1) {
+				await this.getMaxBillNo();
+			} else if (this.operationType == 2) {
+
+			} else if (this.operationType == 3) {
+				await this.RoadBillMain();
+			}
+
+			await this.InitHSource();
+			await this.InitHWorkShift();
+			await this.InitHEmp();
+		},
+	};
+</script>
+
+<style lang="scss" scoped>
+	input {
+		width: inherit;
+		font-size: 26rpx;
+	}
+
+	.uni-input {
+		padding: 0;
+	}
+
+	.bill-main-tabs,
+	.bill-sub-tabs {
+		box-sizing: border-box;
+		width: 730rpx;
+		display: flex;
+		flex-direction: row;
+		flex-wrap: nowrap;
+		gap: 20rpx;
+		flex-shrink: 0;
+		overflow-x: auto;
+		border-bottom: 1px solid #ddd;
+		padding: 20rpx 10rpx;
+		white-space: nowrap;
+
+		view {
+			width: auto;
+			font-size: 26rpx;
+			color: #555;
+			text-align: center;
+			padding: 16rpx 0;
+		}
+
+		.selected {
+			color: #3a78ff;
+			font-weight: bold;
+			border-bottom: 3px solid #3a78ff;
+		}
+	}
+
+	.bill-main-content,
+	.bill-sub-content {
+		box-sizing: border-box;
+		padding: 0 30rpx 0 30rpx;
+		display: flex;
+		flex-direction: column;
+
+		.form-item {
+			width: 100%;
+			display: flex;
+			align-items: center;
+			font-size: 26rpx;
+			padding: 6rpx 0;
+
+			.left {
+				width: 208rpx;
+
+				text {
+					color: red;
+					font-weight: bold;
+				}
+			}
+
+			.right {
+				// width: 450rpx;
+				padding: 8rpx 20rpx;
+				font-size: 26rpx;
+				flex: 1;
+				border-radius: 22rpx;
+				border: 1px solid #acacac;
+
+				.uni-combox {
+					padding: 0;
+					height: auto;
+
+					.uni-input-placeholder,
+					.uni-input-input {
+						font-size: 26rpx;
+					}
+				}
+
+				.uni-combox::v-deep input {
+					height: inherit;
+					font-size: 26rpx;
+				}
+			}
+
+			.disabled {
+				border: 1px solid #e4e4e4;
+				background-color: #e4e4e4;
+			}
+
+			.none-border {
+				border: none;
+			}
+		}
+	}
+
+	.bottom-btn {
+		box-sizing: border-box;
+		width: 100%;
+		height: 120rpx;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		background-color: #fff;
+		box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+		padding: 30rpx 40rpx 40rpx 40rpx;
+		display: flex;
+		flex-direction: row;
+		gap: 10rpx;
+
+		button {
+			border-radius: 50rpx;
+			width: 180rpx;
+			height: 66rpx;
+			line-height: 66rpx;
+			font-size: 28rpx;
+		}
+
+		.btn-a {
+			background-color: #3a78ff;
+			color: #fff;
+		}
+
+		.btn-b {
+			background-color: #41a863;
+			color: #fff;
+		}
+
+		.btn-c {
+			background-color: #acacac;
+			color: #fff;
+			// position: absolute;
+			// right: 120rpx;
+		}
+
+		.btn-d {
+			background-color: #ff8901;
+			color: #fff;
+		}
+	}
+
+	.buttons {
+		box-sizing: border-box;
+		width: 100%;
+		display: flex;
+		justify-content: center;
+		padding: 10rpx 0;
+
+		button {
+			border-radius: 50rpx;
+			width: 180rpx;
+			height: 66rpx;
+			line-height: 66rpx;
+			font-size: 26rpx;
+		}
+
+		.btn-a {
+			background-color: #acacac;
+			color: #fff;
+		}
+
+		.btn-b {
+			background-color: #41a863;
+			color: #fff;
+		}
+
+		.btn-c {
+			background-color: #3a78ff;
+			color: #fff;
+		}
+	}
+
+	.list {
+		width: 100%;
+
+		.card-detail {
+			width: 100%;
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+			align-items: center;
+			line-height: 120%;
+			gap: 10rpx 0;
+
+			input {
+				font-size: 26rpx;
+			}
+
+			.detail {
+				// width: 50%;
+				box-sizing: border-box;
+				font-size: 26rpx;
+				color: #555;
+				padding-right: 20rpx;
+
+				text {
+					color: #999;
+					font-size: 26rpx;
+				}
+			}
+
+			.editable {
+				width: 50%;
+				display: inline-flex;
+				flex-direction: row;
+				align-items: center;
+
+				text {
+					flex-shrink: 0;
+				}
+
+                .editable-input {
+                    border: 1px solid #acacac;
+                    border-radius: 5rpx;
+                    padding: 0 12rpx;
+                }
+            }
+        }
+    }
+
+	.icon-wrapper {
+		background-color: #3a78ff;
+		border-radius: 100%;
+		width: 40rpx;
+		height: 40rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-shrink: 0;
+
+		.uni-icons {
+			color: #fff !important;
+		}
+	}
+
+	.icon-wrapper-big {
+		background-color: #3a78ff;
+		border-radius: 100%;
+		width: 50rpx;
+		height: 50rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-shrink: 0;
+		margin-left: 20rpx;
+
+		.uni-icons {
+			color: #fff !important;
+		}
+	}
+
+	.more {
+		color: #888;
+		font-size: 22rpx;
+		display: flex;
+		border-top: 1px solid #eee;
+		padding-top: 10rpx;
+
+		.part {
+			width: 100%;
+			text-align: center;
+		}
+	}
+
+	.pass-background {
+		background-color: #cee3f2;
+		border: none;
+	}
+
+	.unpass-background {
+		background-color: #f0d6e3;
+		border: none;
+	}
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue b/pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue
new file mode 100644
index 0000000..423f253
--- /dev/null
+++ b/pages/ZLGL/lailiaojianyan/POStockInCheckBill.vue
@@ -0,0 +1,2262 @@
+<template>
+    <view>
+        <!-- 涓昏〃鍖哄煙 -->
+        <view class="bill-main-area">
+            <!-- 涓昏〃椤电 -->
+            <view class="bill-main-tabs">
+                <view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">鍩烘湰淇℃伅</view>
+                <view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">鍏朵粬淇℃伅</view>
+                <view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">鍒跺崟淇℃伅</view>
+            </view>
+            <!-- 涓昏〃鍐呭 -->
+            <view class="bill-main-contents">
+                <!-- 鍩烘湰淇℃伅 -->
+                <view class="bill-main-content" v-if="mainTabSelected == 1">
+                    <view class="form-item">
+                        <view class="left">鍗曟嵁鍙�</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HBillNo" disabled />
+                        </view>
+                    </view>
+
+                    <view class="form-item">
+                        <view class="left">鏃ユ湡</view>
+                        <view class="right">
+                            <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate">
+                                <view>{{ hform.HDate }}</view>
+                            </uni-datetime-picker>
+                        </view>
+                    </view>
+<view class="form-item">
+                        <view class="left">婧愬崟鍗曞彿</view>
+                        <view class="right" :class="!hasSourceBill?'':'disabled'">
+                            <input type="text" :disabled="hasSourceBill" placeholder="璇疯緭鍏ユ垨鎵弿婧愬崟鍙�"
+                                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>
+                        </view>
+                    </view>
+                    
+                    <view class="form-item">
+                        <view class="left">浠诲姟鍗曞彿</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HICMOBillNo" disabled />
+                        </view>
+                        <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+                                @click="showSelectorModule(hform, 5)"></uni-icons></view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">娴佽浆鍗″彿</view>
+                        <view class="right disabled">
+                            <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>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">浜у搧浠g爜</view>
+                        <view class="right disabled">
+                            <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>
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">浜у搧鍚嶇О</view>
+                        <view class="right disabled">
+                            <input type="text" disabled :value="hform.HMaterName" />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">妫�楠屽憳</view>
+                        <view class="right">
+                            <uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
+                                :v-model="hform.HFirstCheckEmpName"
+                                @update:modelValue="HFirstCheckEmpChange"></uni-combox>
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">妫�楠屾柟妗�</view>
+                        <view class="right disabled">
+                            <input type="text" disabled :value="this.hform.HQCSchemeName" />
+                        </view>
+                        <view class="icon-wrapper-big"><uni-icons type="search" size="20"
+                                @click="showSelectorModule(hform, 7)"></uni-icons></view>
+                    </view>
+                    
+                    <view class="form-item">
+                        <view class="left">鍒ゆ柇缁撹</view>
+                        <view class="right none-border">
+                            <radio-group @changer="checkResultChange">
+                                <label>
+                                    <radio value="0" :checked="hform.HLastResult" /><text></text>
+                                    鍚堟牸
+                                </label>
+                                <view style="width: 20rpx; display: inline-block"></view>
+                                <label>
+                                    <radio value="1" :checked="!hform.HLastResult" /><text></text>
+                                    涓嶅悎鏍�
+                                </label>
+                            </radio-group>
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">宸ュ簭</view>
+                        <view class="right disabled">
+                            <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>
+                    </view>
+                    
+                </view>
+                <!-- 鍏朵粬淇℃伅 -->
+                <view class="bill-main-content" v-if="mainTabSelected == 2">
+                    <view class="form-item">
+                        <view class="left">婧愬崟绫诲瀷</view>
+                        <view class="right" style="position: relative" :class="!hasSourceBill?'':'disabled'">
+                            <picker mode="selector" :range="HSourceBillTypeNameList" :disabled="hasSourceBill"
+                                @change="HSourceBillTypeNameChange">
+                                <input type="text" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="HSourceBillType" />
+                                <view class="picker-overlay"></view>
+                            </picker>
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">鐢熶骇璧勬簮</view>
+                        <view class="right">
+                            <uni-combox :candidates="GySourceNameList" placeholder="璇烽�夋嫨鐢熶骇璧勬簮" v-model="hform.HSourceName"
+                                @update:modelValue="HSourceChange"></uni-combox>
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">鐢熶骇鐝</view>
+                        <view class="right">
+                            <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+                                v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+                        </view>
+                    </view>
+                    <!-- <view class="form-item">
+                        <view class="left">鐢熶骇鐝</view>
+                        <view class="right">
+                            <uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+                                v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+                        </view>
+                    </view> -->
+                    <view class="form-item">
+                        <view class="left">寮傚父涓存椂澶勭悊鏂规</view>
+                        <view class="right">
+                            <input type="text" v-model="hform.HErrTreatment" value="" />
+                        </view>
+                    </view>
+                    <!-- <view class="form-item">
+                        <view class="left">浠诲姟鍗曟暟閲�</view>
+                        <view class="right">
+                            <input type="number" v-model="hform.HICMOQty" />
+                        </view>
+                    </view> -->
+                    <view class="form-item">
+                        <view class="left">娴佽浆鍗℃暟閲�</view>
+                        <view class="right">
+                            <input type="number" v-model="hform.HProcExchQty" />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">鎵瑰彿</view>
+                        <view class="right">
+                            <input type="text" v-model="hform.HBatchNo" />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">澶囨敞</view>
+                        <view class="right">
+                            <input type="text" v-model="hform.HRemark" value="" />
+                        </view>
+                    </view>
+                </view>
+                <!-- 鍒跺崟淇℃伅 -->
+                <view class="bill-main-content" v-if="mainTabSelected == 3">
+                    <view class="form-item">
+                        <view class="left">鍒跺崟浜�</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HMaker" disabled />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">鍒跺崟鏃ユ湡</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HMakeDate" disabled />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">瀹℃牳浜�</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HChecker" disabled />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">瀹℃牳鏃ユ湡</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HCheckDate" disabled />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">鍏抽棴浜�</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HCloseMan" disabled />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">鍏抽棴鏃ユ湡</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HCloseDate" disabled />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">淇敼浜�</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HUpDater" disabled />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">淇敼鏃ユ湡</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HUpDateDate" disabled />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">浣滃簾浜�</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HDeleteMan" disabled />
+                        </view>
+                    </view>
+                    <view class="form-item">
+                        <view class="left">浣滃簾鏃ユ湡</view>
+                        <view class="right disabled">
+                            <input type="text" :value="hform.HDeleteDate" disabled />
+                        </view>
+                    </view>
+                </view>
+
+            </view>
+        </view>
+        <!-- 瀛愯〃鍖哄煙 -->
+        <view class="bill-sub-area">
+            <!-- 瀛愯〃椤电 -->
+            <view class="bill-sub-tabs">
+                <view v-for="subTab in subTabs" :key="subTab.id" :class="subTab.id == subTabSelected ? 'selected' : ''"
+                    @tap="subTabSelected = subTab.id">{{ subTab.name }}</view>
+            </view>
+            <!-- 瀛愯〃鍐呭 -->
+            <view class="bill-main-contents">
+                <!-- 妫�楠岄」鐩� 鍛堢幇 -->
+                <view v-if="subTabSelected == 1">
+                    <!-- 闇�閫氳繃鏄惧紡璋冪敤蹇界暐$event鍙傛暟 -->
+                    <view class="buttons" @tap="addCheckItem()">
+                        <uni-icons type="plus" style="margin-right: 10rpx" size="22"></uni-icons>鏂板
+                    </view>
+                    <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+                    <view class="list" v-else>
+                        <uni-card v-for="checkItem in checkItems" :key="checkItem.num">
+                            <view class="card-detail">
+                                <view class="detail"> <text>搴忓彿锛�</text>{{ checkItem.num }} </view>
+                                <view class="detail editable">
+                                    <view style="flex-shrink: 0"><text>妫�楠岄」鐩細</text></view>
+                                    <input type="text" :value="checkItem.HQCCheckItemName" disabled="" />
+                                    <view class="icon-wrapper"><uni-icons type="search" size="16"
+                                            @click="showSelectorModule(checkItem, 2)"></uni-icons></view>
+                                </view>
+                                <view class="detail editable">
+                                    <view style="flex-shrink: 0"><text>妫�楠屼华鍣細</text></view>
+                                    <input type="text" :value="checkItem.HInspectInstruMentName" disabled="" />
+                                    <view class="icon-wrapper"><uni-icons type="search" size="16"
+                                            @click="showSelectorModule(checkItem, 3)"></uni-icons></view>
+                                </view>
+                                <view class="detail editable">
+                                    <view><text>缁撹锛�</text></view>
+                                    <view style="width: 4em">
+                                        {{ checkItem.HResult == 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}
+                                    </view>
+                                    <view>
+                                        <switch style="width: 2em; transform: scale(0.7)"
+                                            :checked="checkItem.HResult == 1"
+                                            @change="HResultChange(checkItem.num, $event)" />
+                                    </view>
+                                </view>
+                                <view class="detail editable" style="position: relative">
+                                    <view style="flex-shrink: 0"><text>鍒嗘瀽鏂规硶锛�</text></view>
+                                    <picker :range="arrayAnalysisMethod" range-key="name"
+                                        @change="HAnalysisMethodChange(checkItem.num, $event)">
+                                        <input disabled :value="getAnalysisMethodDisplay(checkItem.HAnalysisMethod)"
+                                            placeholder="璇烽�夋嫨" />
+                                        <view class="picker-overlay"></view>
+                                    </picker>
+                                </view>
+                                <view class="detail editable">
+                                    <view style="flex-shrink: 0"><text>閲嶇偣妫�鏌ワ細</text></view>
+                                    <view>
+                                        <switch type="checkbox" style="transform: scale(0.7)"
+                                            :checked="checkItem.HKeyInspect"
+                                            @change="HKeyInspectChange(checkItem, $event)" />
+                                    </view>
+                                </view>
+                                <view class="detail" v-if="checkItem.HQCStd">
+                                    <text>妫�楠屾爣鍑嗭細</text>{{ checkItem.HQCStd }}
+                                </view>
+                                <view class="detail" v-if="checkItem.HUnit">
+                                    <text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
+                                </view>
+                                <!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+                                <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 }}
+                                </view>
+                                <view class="detail" v-if="checkItem.HTargetVal">
+                                    <text>鐩爣鍊硷細</text>{{ checkItem.HTargetVal }}
+                                </view>
+                                <view class="detail" v-if="checkItem.HUpLimit">
+                                    <text>涓婇檺鍊硷細</text>{{ checkItem.HUpLimit }}
+                                </view>
+                                <view class="detail" v-if="checkItem.HDownLimit">
+                                    <text>涓嬮檺鍊硷細</text>{{ checkItem.HDownLimit }}
+                                </view>
+                                <view class="detail" v-if="checkItem.HMax">
+                                    <text>鏈�澶у�硷細</text>{{ checkItem.HMax }}
+                                </view>
+                                <view class="detail" v-if="checkItem.HMin">
+                                    <text>鏈�灏忓�硷細</text>{{ checkItem.HMin }}
+                                </view>
+                                <view class="detail" v-if="checkItem.HAvg">
+                                    <text>骞冲潎鍊硷細</text>{{ checkItem.HAvg }}
+                                </view>
+                            </view>
+                            <view style="height: 20rpx"></view>
+                            <view class="more">
+                                <view class="part" style="color: #da0000" @tap.stop="removeCheckItem(checkItem)">
+                                    <uni-icons type="trash" style="color: #da0000; margin-right: 10rpx"
+                                        size="18"></uni-icons>鍒犻櫎
+                                </view>
+                            </view>
+                        </uni-card>
+                    </view>
+                </view>
+                <!-- 鎶芥牱妫�楠� 鍛堢幇 -->
+                <view v-if="subTabSelected == 2">
+                    <view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+                    <view class="list" v-else>
+                        <uni-card v-for="SamplingItem in checkItems" :key="SamplingItem.num">
+                            <view class="card-detail">
+                                <view class="detail"> <text>搴忓彿锛�</text>{{ SamplingItem.num }} </view>
+                                <view class="detail editable">
+                                    <text>妫�楠岄」鐩細</text>{{ SamplingItem.HQCCheckItemName }}
+                                </view>
+                                <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+                                <view class="detail editable" style="width: 100%">
+                                    <view style="flex-shrink: 0"><text>鎶芥牱鏂规锛�</text></view>
+                                    <input type="text" :value="SamplingItem.HSampleSchemeName" disabled />
+                                    <view class="icon-wrapper"><uni-icons type="search" size="16"
+                                            @click="showSelectorModule(SamplingItem, 1)"></uni-icons></view>
+                                </view>
+                                <view class="detail editable">
+                                    <text>鎶芥牱绫诲瀷锛�</text>{{ SamplingItem.HSamplingType }}
+                                </view>
+                                <view class="detail editable">
+                                    <text>妫�楠屾按骞筹細</text>{{ SamplingItem.HInspectionLevel }}
+                                </view>
+                                <view class="detail editable">
+                                    <text>涓ユ牸搴︼細</text>{{ SamplingItem.HStrictness }}
+                                </view>
+                                <view class="detail editable">
+                                    <text>AQL锛�</text>{{ SamplingItem.HAQL }}
+                                </view>
+                                <view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+                                <view class="detail editable">
+                                    <text>鏍锋湰閲忥細</text>{{ SamplingItem.HSampleQty }}
+                                </view>
+                                <view class="detail editable">
+                                    <text>鍏佽鏁帮細</text>{{ SamplingItem.HAcceptQty }}
+                                </view>
+                                <view class="detail editable">
+                                    <text>鎷掔粷鏁帮細</text>{{ SamplingItem.HRejectQty }}
+                                </view>
+                                <view class="detail editable">
+                                    <text>鏍锋湰涓嶅悎鏍兼暟锛�</text>{{ SamplingItem.HSampleUnRightQty }}
+                                </view>
+                                <view class="detail editable">
+                                    <text>鏍锋湰鐮村潖鏁帮細</text>
+                                    <view class="editable-input">
+                                        <input type="number" v-model="SamplingItem.HSampleDamageQty" />
+                                    </view>
+                                </view>
+                                <view class="detail editable">
+                                    <text>妫�楠岀粨鏋滐細</text>
+                                    <view style="border-radius: 15%; padding: 0 10rpx" :class="
+                                        SamplingItem.HInspectResultToSee == '鍚堟牸'
+                                        ? 'pass-background'
+                                        : SamplingItem.HInspectResultToSee == '涓嶅悎鏍�'
+                                        ? 'unpass-background'
+                                        : ''
+                                    ">
+                                        {{ SamplingItem.HInspectResultToSee }}
+                                    </view>
+                                </view>
+                            </view>
+                        </uni-card>
+                    </view>
+                </view>
+                <!-- 妫�娴嬪�� 鍛堢幇 -->
+                <view v-else v-for="item in InspectModules" :key="item.id">
+                    <view v-if="subTabSelected == item.id">
+                        <InspectValueTemplateVue ref="InspectValueModules" :bind-key="item.id"
+                            @syncCheckData="InspectValueComplete" :bind-data="{
+                data: checkItems[item.checkItemId],
+                list: InspectValues[item.checkItemId],
+                mode: 1 // 棣栨妫�娴嬪�兼ā鍧�
+              }">
+                        </InspectValueTemplateVue>
+                    </view>
+                </view>
+            </view>
+        </view>
+        <view style="height: 120rpx"></view>
+        <view class="bottom-btn">
+            <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+            <view style="flex: 1"></view>
+            <button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+            <button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+        </view>
+        <SampleSchemePopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup"
+            @update="SampleSchemeComplete" :bindKey="currentChechItemIDCache">
+        </SampleSchemePopupVue>
+        <CheckItemPopupVue v-if="enablePopupModule == PopupModuleNameList[2]" ref="listPopup"
+            @update="CheckItemComplete" :bindKey="currentChechItemIDCache">
+        </CheckItemPopupVue>
+        <InspectMentPopupVue v-if="enablePopupModule == PopupModuleNameList[3]" ref="listPopup"
+            @update="InspectMentComplete" :bindKey="currentChechItemIDCache">
+        </InspectMentPopupVue>
+        <MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[4]" ref="listPopup" @update="MaterComplete"
+            :bindKey="0">
+        </MaterialPopupVue>
+        <ICMOBillPopupVue v-if="enablePopupModule == PopupModuleNameList[5]" ref="listPopup" @update="ICMOBillComplete"
+            :bindKey="0"></ICMOBillPopupVue>
+        <ProcExchBillPopupVue v-if="enablePopupModule == PopupModuleNameList[6]" ref="listPopup"
+            @update="ProcExchBillComplete" :bindKey="0"></ProcExchBillPopupVue>
+        <ProcessPopupVue v-if="enablePopupModule == PopupModuleNameList[8]" ref="listPopup" @update="HProcComplete"
+            :bindKey="0"></ProcessPopupVue>
+        <CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
+            @update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+    </view>
+</template>
+
+<script>
+    import dayjs from "dayjs";
+    import {
+        CommonUtils
+    } from "../../../utils/common";
+    import InspectValueTemplateVue from "@/components/ZLGL/InspectValueTemplate.vue";
+    import SampleSchemePopupVue from "@/components/ZLGL/SampleSchemePopup.vue";
+    import CheckItemPopupVue from "@/components/ZLGL/CheckItemPopup.vue";
+    import InspectMentPopupVue from "../../../components/ZLGL/InspectMentPopup.vue";
+    import MaterialPopupVue from "../../../components/ZLGL/MaterialPopup.vue";
+    import ICMOBillPopupVue from "../../../components/ZLGL/ICMOBillPopup.vue";
+    import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
+    import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
+    import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+    import {
+        getUserInfo
+    } from "../../../utils/auth";
+    import {
+        MpaasScan
+    } from "../../../utils/mpaasScan";
+    export default {
+        components: {
+            InspectValueTemplateVue,
+            SampleSchemePopupVue,
+            CheckItemPopupVue,
+            InspectMentPopupVue,
+            MaterialPopupVue,
+            ICMOBillPopupVue,
+            ProcExchBillPopupVue,
+            ProcessPopupVue,
+            CheckProjectPopupVue,
+        },
+        computed: {
+            judgeConclusion: {
+                get() {
+                    return true;
+                },
+            },
+        },
+        data() {
+            return {
+                operationType: 1,
+
+                mainTabSelected: 1,
+                subTabSelected: 1,
+
+                // 婧愬崟鐘舵�佹帶鍒�
+                hasSourceBill: false,
+
+                // 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+                enablePopupModule: "",
+                PopupModuleNameList: [
+                    "",
+                    "SampleScheme",
+                    "CheckItem",
+                    "InspectMent",
+                    "Material",
+                    "ICMOBill",
+                    "ProcExchBill",
+                    "QCScheme",
+                    "Process",
+                ],
+                // 褰撳墠鎿嶄綔鐨勬楠屽崟ID缂撳瓨
+                currentChechItemIDCache: -1,
+
+                // uni-combox 閫夋嫨鍣ㄤ娇鐢�
+                // 鐢熶骇璧勬簮
+                GySourceList: [],
+                GySourceNameList: [],
+                // 鐝
+                GyWorkShiftList: [],
+                GyWorkShiftNameList: [],
+                // 妫�楠屽憳
+                GyFirstCheckEmpList: [],
+                GyFirstCheckEmpNameList: [],
+
+                // 妫�楠屾柟妗�
+                arrayAnalysisMethod: [{
+                        value: 1,
+                        name: "瀹氭�у垎鏋�",
+                    },
+                    {
+                        value: 2,
+                        name: "瀹氶噺鍒嗘瀽",
+                    },
+                    {
+                        value: 3,
+                        name: "鍏朵粬鍒嗘瀽",
+                    },
+                ],
+                ArrayAnalysisMethodValue: [1, 2, 3],
+                // 瀛愯〃 椤电淇℃伅
+                subTabs: {
+                    1: {
+                        id: "1",
+                        name: "妫�楠岄」鐩�",
+                    },
+                    2: {
+                        id: "2",
+                        name: "鎶芥牱妫�楠�",
+                    },
+                },
+
+                // 婧愬崟绫诲瀷
+                HSourceBillType: "宸ュ簭杩涚珯鎺ユ敹鍗�",
+                HSourceBillTypeValueList: ["3790", "3793", "3710", "3772"],
+                HSourceBillTypeNameList: [
+                    "宸ュ簭杩涚珯鎺ユ敹鍗�",
+                    "宸ュ簭濮斿鎺ユ敹鍗�",
+                    "鐢熶骇璁㈠崟",
+                    "宸ュ簭娴佽浆鍗�",
+                ],
+                // 涓昏〃灞炴��
+                hform: {
+                    HSourceBillType: "3790",
+                    HSourceBillNo: "",
+                    HBillNo: "",
+                    HInterID: "0",
+                    HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+                    HSourceName: "",
+                    HSourceID: "0",
+                    HShiftsName: "",
+                    HShiftsID: "0",
+                    HICMOBillNo: "",
+                    HICMOInterID: "0",
+                    HICMOEntryID: "1",
+                    HICMOQty: "0",
+                    HProcExchBillNo: "",
+                    HProcExchInterID: "0",
+                    HProcExchEntryID: "0",
+                    HProcExchQty: "0",
+                    HMaterNumber: "",
+                    HMaterID: "0",
+                    HMaterName: "",
+                    HFirstCheckEmpName: "",
+                    HFirstCheckEmp: 0,
+                    HQCSchemeName: "",
+                    HQCSchemeID: "0",
+                    HBatchNo: "",
+                    HLastResult: true, // 榛樿鍚堟牸
+                    HProcName: "",
+                    HProcID: "0",
+                    HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
+                    HTakeSampleCheckBillID: "0",
+                    HRemark: "",
+                    HErrTreatment: "", // 寮傚父涓存椂澶勭悊鏂规
+                    HMaker: getUserInfo()["Czymc"] || "",
+                    HChecker: "",
+                    HCloseMan: "",
+                    HMakeDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"),
+                    HCheckDate: "",
+                    HCloseDate: "",
+                    HUpDater: "",
+                    HDeleteMan: "",
+                    HUpDateDate: "",
+                    HDeleteDate: "",
+                    HResult: 1,
+                    HAnalysisMethod: "",
+
+                    HResDec: "",
+                    HStatus: 1,
+
+                    HMainSourceBillType: "",
+                    HMainSourceInterID: "0",
+                    HMainSourceEntryID: "1",
+                    HMainSourceBillNo: "",
+                },
+                // 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
+                checkItems: {},
+                // 妫�娴嬪�兼ā鍧�
+                InspectModules: {},
+                // 妫�娴嬪��
+                InspectValues: {},
+            };
+        },
+        methods: {
+            // 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+            calcHResult(item){
+                // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+                console.log('item: ',item);
+                if(item.HSampleSchemeID) {
+                    return
+                }
+                
+                if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
+                    this.checkItems[item.num].HResult = true
+                    return
+                }
+                
+                this.checkItems[item.num].HResult = false
+            },
+            // 婧愬崟绫诲瀷閫夋嫨
+            HSourceBillTypeNameChange(e) {
+                this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
+                this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+            },
+            toScanCode() {
+                MpaasScan.scanCode((res) => {
+                    if (res) {
+                        this.getSourceBillInfo(HBarCode);
+                    }
+                });
+            },
+            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(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+                    }
+                    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;
+                }
+            },
+            async GetCheckItemID() {
+                if (!this.hform.HMaterName && !this.hform.HProcName) {
+                    try {
+                        let res = await CommonUtils.doRequest2Async({
+                            url: "/Web/GetCheckItemID",
+                            data: {
+                                HName: this.hform.HMaterName,
+                                HProName: this.hform.HProcName,
+                                HSourceID: this.hform.HSourceID,
+                            },
+                        });
+
+                        let {
+                            count,
+                            Message,
+                            data
+                        } = res.data;
+
+                        if (count != 1) {
+                            CommonUtils.showTips({
+                                title: "娓╅Θ鎻愮ず",
+                                message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${Message}`,
+                            });
+                            return;
+                        }
+
+                        this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+                        this.hform.HQCSchemeID = data[0].hmainid;
+
+                        this.get_CheckItem();
+                    } catch (err) {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${err}`,
+                        });
+                    }
+                }
+            },
+            async LoadingInformation_ProcExchange(HBarCode) {
+                // 宸ュ簭娴佽浆鍗�
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/CheckBill/get_ProcessExchangeBill_ByBillNo",
+                        data: {
+                            HBillNo: HBarCode,
+                            user: getUserInfo()["Czymc"],
+                        },
+                    });
+
+                    let {
+                        count,
+                        Message,
+                        data
+                    } = res.data;
+
+                    if (count != 1) {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${Message}`,
+                        });
+                        return;
+                    }
+                    this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+                    this.hform.HProcExchInterID = data[0].HProcExchInterID;
+                    this.hform.HProcExchEntryID = data[0].HProcExchEntryID || 0;
+                    this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+                    this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+                    this.hform.HICMOInterID = data[0].HICMOInterID;
+                    this.hform.HICMOQty = data[0].HICMOQty || 0;
+                    this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+                    this.hform.HSourceID = data[0].HSourceID || 0;
+                    this.hform.HMaterID = data[0].HMaterID;
+                    this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+                    this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+                    this.hform.HMainSourceBillType = data[0].HBillType;
+                    this.hform.HMainSourceInterID = data[0].HInterID;
+                    this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+                    this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+                    this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+                    this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+                    this.hform.HBatchNo = data[0].鎵瑰彿;
+
+                    this.hasSourceBill = true
+                    this.get_CheckItem();
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${err}`,
+                    });
+                }
+            },
+            async LoadingInformation_ICMO(HBarCode) {
+                // 鐢熶骇璁㈠崟
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/QC_FirstPieceCheckBill/get_ICMOBill_ByBillNo",
+                        data: {
+                            HBillNo: HBarCode,
+                            user: getUserInfo()["Czymc"],
+                        },
+                    });
+
+                    let {
+                        count,
+                        Message,
+                        data
+                    } = res.data;
+
+                    if (count != 1) {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${Message}`,
+                        });
+                        return;
+                    }
+                    this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+                    this.hform.HProcExchInterID = data[0].HProcExchInterID;
+                    this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+                    this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+                    this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+                    this.hform.HICMOInterID = data[0].HICMOInterID;
+                    this.hform.HICMOQty = data[0].HICMOQty;
+                    this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+                    this.hform.HSourceID = data[0].HSourceID;
+                    this.hform.HMaterID = data[0].HMaterID;
+                    this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+                    this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+                    this.hform.HMainSourceBillType = data[0].HBillType;
+                    this.hform.HMainSourceInterID = data[0].HInterID;
+                    this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+                    this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+                    this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+                    this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+                    this.hasSourceBill = true
+                    this.get_CheckItem();
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${err}`,
+                    });
+                }
+            },
+            async LoadingInformation_StationEntrustOutBill(HBarCode) {
+                // 宸ュ簭濮斿鎺ユ敹鍗�
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/Cj_StationEntrustOutBill/list",
+                        data: {
+                            sWhere: ` and HBillNo = '${HBarCode}'`,
+                        },
+                    });
+
+                    let {
+                        count,
+                        Message,
+                        data
+                    } = res.data;
+
+                    if (count != 1) {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${Message}`,
+                        });
+                        return;
+                    }
+
+                    HProcExchBillNo = data[0].娴佽浆鍗″彿;
+                    HProcExchInterID = data[0].HProcExchInterID;
+                    HProcExchEntryID = data[0].HProcExchEntryID;
+                    HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+                    HICMOBillNo = data[0].鐢熶骇璁㈠崟鍙�;
+                    HICMOInterID = data[0].HICMOInterID;
+                    HICMOQty = data[0].HICMOQty;
+                    HSourceName = data[0].鐢熶骇璧勬簮;
+                    HSourceID = data[0].HSourceID;
+                    HMaterID = data[0].HMaterID;
+                    HMaterName = data[0].浜у搧鍚嶇О;
+                    HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+                    HMainSourceBillType = data[0].HBillType;
+                    HMainSourceInterID = data[0].HInterID;
+                    HICMOEntryID = data[0].HICMOEntryID || 1;
+                    this.hasSourceBill = true
+                    this.get_CheckItem();
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${err}`,
+                    });
+                }
+            },
+            async LoadingInformation_StationInBill(HBarCode) {
+                // 杩涚珯鎺ユ敹鍗�
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/QC_FirstPieceCheckBill/get_StationInBill_ByHBillNo",
+                        data: {
+                            HBillNo: HBarCode,
+                            user: getUserInfo()["Czymc"],
+                        },
+                    });
+
+                    let {
+                        count,
+                        Message,
+                        data
+                    } = res.data;
+
+                    if (count != 1) {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鑾峰彇杩涚珯鎺ユ敹鍗� 閿欒: ${Message}`,
+                        });
+                        return;
+                    }
+                    this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+                    this.hform.HProcExchInterID = data[0].HProcExchInterID;
+                    this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+                    this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+                    this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+                    this.hform.HICMOInterID = data[0].HICMOInterID;
+                    this.hform.HICMOQty = data[0].HICMOQty;
+                    this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+                    this.hform.HSourceID = data[0].HSourceID;
+                    this.hform.HMaterID = data[0].HMaterID;
+                    this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+                    this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+                    this.hform.HMainSourceBillType = data[0].HBillType;
+                    this.hform.HMainSourceInterID = data[0].HInterID;
+                    this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+                    this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+                    this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+                    this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+
+                    for (let i = 0; i < data.length; i++) {
+                        this.addCheckItem(data[i])
+                    }
+
+                    this.hasSourceBill = true
+                    this.get_CheckItem();
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鑾峰彇杩涚珯鎺ユ敹鍗� 閿欒: ${err}`,
+                    });
+                }
+            },
+            // 妫�楠屽憳鍒濆鍖�
+            async InitHEmp() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/Gy_Employee/list",
+                        data: {
+                            sWhere: `  and 缁勭粐鍚嶇О = '${uni.getStorageSync(
+              "Organization"
+            )}' and 绂佺敤鏍囪 = ''and 瀹℃牳浜� !='' order by 閮ㄩ棬浠g爜`,
+                            user: getUserInfo()["Czymc"],
+                            Organization: uni.getStorageSync("Organization"),
+                        },
+                    });
+
+                    let {
+                        data,
+                        Message,
+                        count
+                    } = res.data;
+
+                    if (count == 1) {
+                        console.log("data: ", data);
+                        this.GyFirstCheckEmpList = data;
+                        this.GyFirstCheckEmpNameList = Array.from(data).map((e) => e["鑱屽憳鍚嶇О"]);
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鍒濆鍖栨楠屽憳澶辫触: ${Message}`,
+                        });
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鍒濆鍖栨楠屽憳澶辫触: ${err}`,
+                    });
+                }
+            },
+            async HFirstCheckEmpChange(e) {
+                console.log("閫変腑妫�楠屽憳: ", e);
+                let index = this.GyFirstCheckEmpList.findIndex((elem) => elem["鑱屽憳鍚嶇О"] == e);
+                if (index == -1) {
+                    this.hform.HFirstCheckEmp = 0;
+                    this.hform.HFirstCheckEmpName = "";
+                    return;
+                }
+
+                this.hform.HFirstCheckEmp = this.GyFirstCheckEmpList[index]["HItemID"];
+                this.hform.HFirstCheckEmpName = this.GyFirstCheckEmpList[index]["鑱屽憳鍚嶇О"];
+            },
+            // 鐢熶骇鐝鍒濆鍖�
+            async InitHWorkShift() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/Gy_ShiftsController/Get_Gy_WorkShiftList",
+                        data: {
+                            sWhere: ` and 绂佺敤鏍囪 = '' and ISNULL(瀹℃牳浜�,'')  != '' and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync(
+              "Organization"
+            )}'`,
+                            HMaker: getUserInfo()["Czymc"],
+                        },
+                    });
+
+                    let {
+                        data,
+                        Message,
+                        count
+                    } = res.data;
+
+                    if (count == 1) {
+                        console.log("data: ", data);
+                        this.GyWorkShiftList = data;
+                        this.GyWorkShiftNameList = Array.from(data).map((e) => e["鐝鍚嶇О"]);
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鍒濆鍖栫彮娆″け璐�: ${Message}`,
+                        });
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鍒濆鍖栫彮娆″け璐�: ${err}`,
+                    });
+                }
+            },
+            async HWorkShiftChange(e) {
+                console.log("閫変腑鐝: ", e);
+                let index = this.GyWorkShiftList.findIndex((elem) => elem["鐝鍚嶇О"] == e);
+                if (index == -1) {
+                    this.hform.HWorkShiftID = 0;
+                    this.hform.HWorkShiftName = "";
+                    return;
+                }
+
+                this.hform.HWorkShiftID = this.GySourceList[index]["HInterID"];
+                this.hform.HWorkShiftName = this.GySourceList[index]["鐝鍚嶇О"];
+            },
+            // 鐢熶骇璧勬簮鏇存柊
+            // 鐢熶骇璧勬簮鍒濆鍖�
+            async InitHSource() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/Gy_Source/list",
+                        data: {
+                            sWhere: `and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'')  != '' and HUSEORGID = '100038'`,
+                            user: getUserInfo()["Czymc"],
+                        },
+                    });
+
+                    let {
+                        data,
+                        Message,
+                        count
+                    } = res.data;
+
+                    if (count == 1) {
+                        this.GySourceList = data;
+                        this.GySourceNameList = Array.from(data).map((e) => e["鐢熶骇璧勬簮鍚嶇О"]);
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${Message}`,
+                        });
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${err}`,
+                    });
+                }
+            },
+            // 鐢熶骇璧勬簮鏇存柊
+            async HSourceChange(e) {
+                console.log("閫変腑鐢熶骇璧勬簮: ", e);
+                let index = this.GySourceList.findIndex((elem) => elem["鐢熶骇璧勬簮鍚嶇О"] == e);
+                if (index == -1) {
+                    this.hform.HSourceID = 0;
+                    this.hform.HSourceName = "";
+                    return;
+                }
+
+                this.hform.HSourceID = this.GySourceList[index]["HItemID"];
+                this.hform.HSourceName = this.GySourceList[index]["鐢熶骇璧勬簮鍚嶇О"];
+
+                this.get_ICMOBillStatusList();
+                this.get_QC_TakeSampleCheckBillList();
+                this.GetCheckItemID();
+            },
+            // 鏄剧ず寮圭獥
+            async showSelectorModule(item, index) {
+                this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+                this.enablePopupModule = this.PopupModuleNameList[index];
+                console.log("this.$refs: ", this.$refs);
+                await this.$nextTick();
+                if (index == 7) {
+                    // 妫�楠屾柟妗堥渶瑕侀澶栦紶閫掑伐搴忓拰鐗╂枡鍚嶇О涓や釜鍙傛暟
+                    this.$refs.listPopup.setRequiredInfo(item.HMaterName, item.HProcName);
+                }
+
+                this.$refs.listPopup.showPopup();
+            },
+            getAnalysisMethodDisplay(val) {
+                console.log("AnalysisMethod: ", val);
+                if (val) {
+                    return this.arrayAnalysisMethod.find((e) => e.value == val).name;
+                }
+                return "";
+            },
+            checkResultChange(event) {
+                console.log("event: ", event);
+            },
+            // 妫�楠岄」鐩柊澧炶
+            addCheckItem(resource) {
+                let ordinal = this.getObjLength(this.checkItems) + 1;
+                let checkItem = {
+                    num: ordinal,
+                    HInterID: this.hform.HInterID,
+                    HQCCheckItemID: "",
+                    HQCCheckItemNumber: "",
+                    HQCCheckItemName: "",
+                    HInspectInstruMentID: "0",
+                    HInspectInstruMentNumber: "",
+                    HInspectInstruMentName: "",
+                    HQCStd: "",
+                    HUnit: "",
+                    HQCNote: "",
+                    HAnalysisMethod: "",
+                    HResult: 1,
+                    HMax: "",
+                    HMin: "",
+                    HAvg: "",
+                    HRemark: "",
+                    HKeyInspect: false,
+                    HStatus: 1,
+                    HSampleSchemeID: "",
+                    HUnitID: 0,
+                    HInspectVal: "",
+                    HTargetVal: "",
+                    HUpLimit: "",
+                    HDownLimit: "",
+                    HUpOffSet: "",
+                    HDownOffSet: "",
+                    HSampleDamageQty: 0,
+                    HSampleSchemeName: "",
+                    HSampleQty: 0,
+                    HAcceptQty: 0,
+                    HInspectionLevel: "",
+                    HRejectQty: 0,
+                    HStrictness: "",
+                    HSampleUnRightQty: 0,
+                    HAQL: "",
+                    HSamplingType: "",
+                    HInspectResultToSee: "",
+                };
+                if (resource) {
+                    // 閫氳繃涓昏〃妫�楠屾柟妗堝甫鍑虹殑妫�楠岄」鐩�
+                    Object.assign(checkItem, resource);
+                }
+                this.$set(this.checkItems, ordinal, checkItem);
+                this.$nextTick(() => {
+                    // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+                    this.setInspectValModule(this.checkItems[ordinal]);
+                });
+            },
+            // 妫�楠岄」鐩垹闄よ
+            removeCheckItem(item) {
+                uni.showModal({
+                    title: "娓╅Θ鎻愮ず",
+                    content: `纭瑕佸垹闄ょ${item.num}琛屽悧锛熷垹闄ゅ悗涓嶈兘鎭㈠`,
+                    success: (res) => {
+                        if (res.confirm) {
+                            this.$delete(this.checkItems, item.num);
+                            this.$delete(this.subTabs, `_${item.num}`);
+                            this.$forceUpdate();
+                            this.refreshCheckItemNum();
+                        }
+                    },
+                });
+            },
+            async refreshCheckItemNum() {
+                await this.$nextTick();
+                // 閲嶆帓搴忓彿
+                let num = 1;
+                let checkItemsCache = {};
+                for (let s in this.checkItems) {
+                    checkItemsCache[num] = this.checkItems[s];
+                    checkItemsCache[num].num = num;
+                    num++;
+                }
+                this.checkItems = checkItemsCache;
+            },
+            getObjLength(obj) {
+                return Object.keys(obj).length;
+            },
+            // 缁撹淇敼
+            HResultChange(id, e) {
+                console.log("e: ", e);
+                this.checkItems[id]["HResult"] = e.detail.value ? 1 : 2;
+
+                this.HCheckLastResult();
+            },
+            // 姣忔妫�楠岄」鐩殑缁撹鏇存柊锛岄兘瑕佸垽鏂渶缁堢粨璁�
+            HCheckLastResult() {
+                let unPassNum = 0;
+                for (var key in this.checkItems) {
+                    if (!(this.checkItems[key]["HResult"] == 1)) {
+                        unPassNum++;
+                    }
+                }
+
+                if (unPassNum > 0) {
+                    this.hform.HLastResult = false;
+                    return;
+                }
+                this.hform.HLastResult = true;
+            },
+            // 妫�楠屾柟妗堜慨鏀�
+            HAnalysisMethodChange(id, e) {
+                console.log("e: ", e);
+                this.checkItems[id]["HAnalysisMethod"] = this.arrayAnalysisMethod[e.detail.value][
+                    "value"
+                ];
+
+                // 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+                this.setInspectValModule(this.checkItems[id]);
+            },
+            // 閲嶇偣妫�鏌ヤ慨鏀�
+            HKeyInspectChange(id, e) {
+                console.log("e: ", e);
+                this.checkItems[id]["HKeyInspect"] = e.detail.value;
+            },
+            // 妫�楠岄」鐩繑鍥�
+            async CheckItemComplete(e) {
+                console.log("CheckItemRet: ", e);
+                for (var key in e["retVal"]) {
+                    let data = e["retVal"][key];
+                    Object.assign(this.checkItems[key], {
+                        HQCCheckItemID: data["HItemID"],
+                        HQCCheckItemNumber: data["浠g爜"],
+                        HQCCheckItemName: data["鍚嶇О"],
+                    });
+                    await this.$nextTick();
+                    this.$refs.listPopup.exit();
+                    // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+                    await this.$nextTick();
+                    this.enablePopupModule = this.PopupModuleNameList[0];
+                }
+            },
+            // 妫�楠屾柟妗堣繑鍥�
+            async SampleSchemeComplete(e) {
+                console.log("SampleSchemeRet: ", e);
+                for (var key in e["retVal"]) {
+                    let data = e["retVal"][key];
+                    Object.assign(this.checkItems[key], {
+                        HSampleSchemeID: data["hmainid"],
+                        HSampleSchemeNumber: data["鎶芥牱鏂规浠g爜"],
+                        HSampleSchemeName: data["鎶芥牱鏂规鍚嶇О"],
+                        HSampleQty: data["鏍锋湰閲�"] || 0,
+                        HAcceptQty: data["鍏佽鏁�"] || 0,
+                        HInspectionLevel: data["妫�楠屾按骞�"],
+                        HRejectQty: data["鎷掔粷鏁�"] || 0,
+                        HStrictness: data["涓ユ牸搴�"],
+                        HSampleUnRightQty: data["鏍锋湰涓嶅悎鏍兼暟"] || 0,
+                        HAQL: data["AQL"],
+                        HSamplingType: data["鎶芥牱绫诲瀷"],
+                        HInspectResultToSee: data["妫�楠岀粨鏋�"],
+                        HUpLimit: data["涓婇檺鍊�"] || 0,
+                        HDownLimit: data["涓嬮檺鍊�"] || 0,
+                        HSampleDamageQty: data["鏍锋湰鐮村潖鏁�"] || 0,
+                    });
+                    await this.$nextTick();
+                    this.$refs.listPopup.exit();
+                    this.setInspectValModule(this.checkItems[key]);
+
+                    await this.$nextTick();
+                    this.enablePopupModule = this.PopupModuleNameList[0];
+                }
+            },
+            // 妫�楠屼华鍣ㄨ繑鍥�
+            async InspectMentComplete(e) {
+                console.log("InspectInstruMentRet: ", e);
+                for (var key in e["retVal"]) {
+                    let data = e["retVal"][key];
+                    Object.assign(this.checkItems[key], {
+                        HInspectInstruMentID: data["HItemID"],
+                        HInspectInstruMentNumber: data["妫�楠屼华鍣ㄤ唬鐮�"],
+                        HInspectInstruMentName: data["妫�楠屼华鍣ㄥ悕绉�"],
+                    });
+                    await this.$nextTick();
+                    this.$refs.listPopup.exit();
+                    // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+                    await this.$nextTick();
+                    this.enablePopupModule = this.PopupModuleNameList[0];
+                }
+            },
+            // 浜у搧浠g爜杩斿洖
+            async MaterComplete(e) {
+                console.log("MaterRet: ", e);
+                for (var key in e["retVal"]) {
+                    let data = e["retVal"][key];
+                    Object.assign(this.hform, {
+                        HMaterNumber: data["鐗╂枡浠g爜"],
+                        HMaterName: data["鐗╂枡鍚嶇О"],
+                        HMaterID: data["HItemID"],
+                    });
+                    await this.$nextTick();
+                    this.$refs.listPopup.exit();
+                    // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+                    await this.$nextTick();
+                    this.enablePopupModule = this.PopupModuleNameList[0];
+                    this.GetCheckItemID();
+                }
+            },
+            // 浠诲姟鍗曡繑鍥�
+            async ICMOBillComplete(e) {
+                console.log("ICMOBillRet: ", e);
+                for (var key in e["retVal"]) {
+                    let data = e["retVal"][key];
+                    Object.assign(this.hform, {
+                        HICMOInterID: data.hmainid,
+                        HICMOEntryID: data.HEntryID || 1,
+                        HICMOBillNo: data.鍗曟嵁鍙�,
+                        HMaterNumber: data.浜у搧浠g爜,
+                        HMaterName: data.浜у搧鍚嶇О,
+                        HMaterID: data.HMaterID,
+                        HICMOQty: data.鐢熶骇浠诲姟鍗曟暟閲�,
+                    });
+                    await this.$nextTick();
+                    this.$refs.listPopup.exit();
+                    // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+                    await this.$nextTick();
+                    this.enablePopupModule = this.PopupModuleNameList[0];
+                }
+            },
+            // 娴佽浆鍗¤繑鍥�
+            async ProcExchBillComplete(e) {
+                console.log("ProcExchBillRet: ", e);
+                for (var key in e["retVal"]) {
+                    let data = e["retVal"][key];
+                    Object.assign(this.hform, {
+                        HProcExchInterID: data.hmainid,
+                        HProcExchEntryID: data.hsubid,
+                        HProcExchBillNo: data.鍗曟嵁鍙�,
+                    });
+                    await this.$nextTick();
+                    this.$refs.listPopup.exit();
+                    // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+                    await this.$nextTick();
+                    this.enablePopupModule = this.PopupModuleNameList[0];
+                }
+            },
+            // 妫�楠屾柟妗�(涓昏〃)杩斿洖
+            async HQCSchemeComplete(e) {
+                console.log("HQCSchemeRet: ", e);
+                for (var key in e["retVal"]) {
+                    let data = e["retVal"][key];
+                    Object.assign(this.hform, {
+                        HQCSchemeID: data.hmainid,
+                        HQCSchemeName: data.妫�楠屾柟妗堝悕绉�,
+                    });
+                    await this.get_CheckItem();
+                    await this.$nextTick();
+                    this.$refs.listPopup.exit();
+                    // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+                    await this.$nextTick();
+                    this.enablePopupModule = this.PopupModuleNameList[0];
+                }
+            },
+            // 宸ュ簭杩斿洖
+            async HProcComplete(e) {
+                console.log(" HProcRet: ", e);
+                for (var key in e["retVal"]) {
+                    let data = e["retVal"][key];
+                    Object.assign(this.hform, {
+                        HProcName: data["宸ュ簭鍚嶇О"],
+                        HProcID: data["HItemID"],
+                    });
+                    await this.$nextTick();
+                    this.$refs.listPopup.exit();
+                    // 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+                    await this.$nextTick();
+                    this.enablePopupModule = this.PopupModuleNameList[0];
+                    await this.GetCheckItemID();
+                    await this.get_ICMOBillStatusList();
+                    await this.get_QC_TakeSampleCheckBillList();
+                }
+            },
+            async get_QC_TakeSampleCheckBillList() {
+                // 鍙栨牱鍗曟煡璇�
+                let HProcID = this.hform.HProcID;
+                let HProcExchInterId = this.hform.HProcExchInterID;
+                let sWhere = "";
+
+                if (HProcID == "0" || HProcID == "") {
+                    CommonUtils.showTips({
+                        message: "璇烽�夋嫨宸ュ簭",
+                    });
+                    return;
+                }
+
+                sWhere = " and 宸ュ簭娴佽浆鍗′富鍐呯爜='" + HProcExchInterID + "' and HProcID=" + HProcID;
+
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "//QC_TakeSampleCheckBill/QC_TakeSampleCheckBillMainList",
+                        data: {
+                            sWhere: sWhere,
+                            user: getUserInfo()["Czymc"],
+                        },
+                    });
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data;
+                    if (count != 1) {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${Message}`,
+                        });
+                    }
+
+                    this.hform.HTakeSampleCheckBillID = data[0]["hmainid"];
+                    this.hform.HTakeSampleCheckBillNo = data[0]["鍗曟嵁鍙�"];
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${err}`,
+                    });
+                }
+            },
+            async get_ICMOBillStatusList() {
+                let sWhere = "";
+                let HProcID = this.hform.HProcID;
+                let HSourceID = this.hform.HSourceID;
+                let HProcExchInterId = this.hform.HProcExchInterID;
+
+                if (HProcID != "0") {
+                    sWhere += " and HProcID=" + HProcID;
+                }
+                if (HSourceID != "0") {
+                    sWhere += " and HSourceID=" + HSourceID;
+                }
+
+                sWhere += " and HSourceInterID=" + HProcExchInterID;
+
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/CheckBill/GetICMOBillStatusList",
+                        data: {
+                            sWhere: sWhere,
+                            user: getUserInfo()["Czymc"],
+                        },
+                    });
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data;
+                    if (count != 1) {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${Message}`,
+                        });
+                    }
+
+                    this.hform.HProcID = data[0]["HProcID"];
+                    this.hform.HProcName = data[0]["宸ュ簭"];
+                    this.hform.HSourceID = data[0]["HSourceID"];
+                    this.hform.HSourceName = data[0]["鐢熶骇璧勬簮"];
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${err}`,
+                    });
+                }
+            },
+            setInspectValModule(checkItem) {
+                console.log("checkItem: ", checkItem);
+                if (!checkItem.HAnalysisMethod || !checkItem.HSampleSchemeID) {
+                    return;
+                }
+                // 鍖哄垎妫�楠屽�奸〉绛惧拰闈欐�侀〉绛撅紝妫�楠屽�奸〉绛剧殑id浠寮�澶�
+                this.$set(this.InspectModules, `_${checkItem.num}`, {
+                    id: `_${checkItem.num}`,
+                    checkItemId: checkItem.num,
+                });
+                console.log(" this.arrayAnalysisMethod: ", checkItem.HAnalysisMethod);
+                let analysisMethodName = this.arrayAnalysisMethod.find(
+                    (e) => e.value == checkItem.HAnalysisMethod
+                ).name;
+                this.$set(this.subTabs, `_${checkItem.num}`, {
+                    id: `_${checkItem.num}`,
+                    name: `${analysisMethodName}-${checkItem.HQCCheckItemName}`,
+                });
+            },
+            InspectValueUpdate(e) {
+                console.log("e: ", e);
+                let {
+                    data,
+                    list
+                } = e;
+                this.checkItems[data.num] = Object.assign(this.checkItems[data.num], data);
+                this.$set(this.InspectValues, `${data.num}`, list);
+            },
+            // 甯﹀嚭妫�楠岄」鐩�
+            async get_CheckItem() {
+                // 棣栧厛娓呯┖妫�楠岄」鐩� 鍜� 妫�楠屽��
+                this.checkItems = {}
+                for (let key in this.subTabs) {
+                    if (key.substring(1) == "_") {
+                        this.$delete(this.subTabs, key)
+                    }
+                }
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/Web/GetCheckItemByCheckProjectID",
+                        data: {
+                            CheckProjectID: this.hform.HQCSchemeID || 0,
+                            HBatchQty: this.hform.HProcExchQty || 0,
+                        },
+                    });
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data;
+
+                    if (count == 1) {
+                        for (var i = 0; i < data.length; i++) {
+                            let checkItem = {
+                                HQCCheckItemID: data[i]["HQCCheckItemID"],
+                                HQCCheckItemNumber: data[i]["妫�楠岄」鐩唬鐮�"],
+                                HQCCheckItemName: data[i]["妫�楠岄」鐩�"],
+                                HInspectInstruMentID: data[i]["HInspectInstruMentID"],
+                                HInspectInstruMentNumber: data[i]["妫�楠屼华鍣ㄤ唬鐮�"],
+                                HInspectInstruMentName: data[i]["妫�楠屼华鍣�"],
+                                HQCStd: data[i]["HQCStd"],
+                                HUnit: data[i]["鍗曚綅鍚嶇О"],
+                                HQCNote: "",
+                                HAnalysisMethod: data[i]["鍒嗘瀽鏂规硶"],
+                                HResult: data[i]["榛樿缁撹"],
+                                HMax: "",
+                                HMin: "",
+                                HAvg: "",
+                                HRemark: "",
+                                HKeyInspect: data[i]["閲嶇偣妫�鏌�"] == 1 ? true : false,
+                                HStatus: 0,
+                                HSampleSchemeID: data[i]["HSampleSchemeID"],
+                                HUnitID: data[i]["HUnitID"],
+                                HInspectVal: "",
+                                HTargetVal: "",
+                                HUpLimit: data[i].涓婇檺鍊�,
+                                HDownLimit: data[i].涓嬮檺鍊�,
+                                HUpOffSet: "",
+                                HDownOffSet: "",
+                                HSampleDamageQty: "0",
+                                HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+                                HSampleQty: data[i].鏍锋湰閲�,
+                                HAcceptQty: data[i].鍏佽鏁�,
+                                HInspectionLevel: data[i].妫�楠屾按骞�,
+                                HRejectQty: data[i].鎷掔粷鏁�,
+                                HStrictness: data[i].涓ユ牸搴�,
+                                HSampleUnRightQty: 0,
+                                HAQL: data[i].AQL,
+                                HSamplingType: data[i].鎶芥牱绫诲瀷,
+                                HCompareSymbol: data[i].姣旇緝绗�,
+                                HTargetVal: data[i].鐩爣鍊� || 0,
+                            };
+
+                            this.addCheckItem(checkItem);
+                        }
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${Message} `,
+                        });
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${err} `,
+                    });
+                }
+            },
+            async getMaxBillNo() {
+                try {
+                    let res = await CommonUtils.doRequest2Sync({
+                        url: "/Web/GetMAXNum",
+                        data: {
+                            HBillType: "7505",
+                        },
+                    });
+
+                    if (!res) {
+                        return;
+                    }
+
+                    let {
+                        data,
+                        Message,
+                        count
+                    } = res.data;
+                    if (count == 1) {
+                        this.hform.HInterID = data[0].HInterID;
+                        this.hform.HBillNo = data[0].HBillNo;
+                    } else {
+                        throw Message;
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: "鑾峰彇鍗曟嵁鍙峰紓甯�: " + err,
+                    });
+                }
+            },
+            // 妫�楠屽�艰繑鍥炲��
+            InspectValueComplete(e) {
+                console.log("e: ", e);
+                let key = e.num;
+                e.HStatus = e.HStatus ? 1 : 0
+                if (e.HResult2 == '') {
+                    e.HResult2 = this.checkItems[key].HResult
+                }
+                Object.assign(this.checkItems[key], e);
+                this.checkItems[key].HInspectResultToSee = this.checkItems[key].HResult2;
+                this.checkItems[key].HResult = this.checkItems[key].HResult2 == '鍚堟牸' ? 1 : 2;
+
+                this.HCheckLastResult();
+
+            },
+            checkSubmitValidate() {
+                // if (this.hform.HICMOQty == "" || this.hform.HICMOQty <= 0) {
+                // 	CommonUtils.showTips({
+                // 		message: "浠诲姟鍗曟暟閲忎笉鑳戒负绌轰笖涓嶈兘灏忎簬绛変簬0锛�",
+                // 	});
+                // 	return false;
+                // }
+
+                if (this.hform.HFirstCheckEmp == 0) {
+                    CommonUtils.showTips({
+                        message: "妫�楠屽憳鏈�夋嫨锛�",
+                    });
+                    return false;
+                }
+
+                for (let key in this.checkItems) {
+                    if (!this.checkItems[key].HQCCheckItemID) {
+                        CommonUtils.showTips({
+                            message: `绗�${this.checkItems[key].num}琛屾楠岄」鐩笉鑳戒负绌�!`,
+                        });
+                        return false;
+                    }
+
+                    if (
+                        this.checkItems[key].HSampleSchemeID == "" ||
+                        this.checkItems[key].HSampleSchemeID == null
+                    ) {
+                        this.checkItems[key].HSampleSchemeID = 0;
+                    }
+                    if (
+                        this.checkItems[key].HSampleQty == "" ||
+                        this.checkItems[key].HSampleQty == null
+                    ) {
+                        this.checkItems[key].HSampleQty = 0;
+                    }
+                    if (
+                        this.checkItems[key].HSampleDamageQty == "" ||
+                        this.checkItems[key].HSampleDamageQty == null
+                    ) {
+                        this.checkItems[key].HSampleDamageQty = 0;
+                    }
+                    if (
+                        this.checkItems[key].HAcceptQty == "" ||
+                        this.checkItems[key].HAcceptQty == null
+                    ) {
+                        this.checkItems[key].HAcceptQty = 0;
+                    }
+                    if (
+                        this.checkItems[key].HRejectQty == "" ||
+                        this.checkItems[key].HRejectQty == null
+                    ) {
+                        this.checkItems[key].HRejectQty = 0;
+                    }
+                    if (
+                        this.checkItems[key].HSampleUnRightQty == "" ||
+                        this.checkItems[key].HSampleUnRightQty == 0
+                    ) {
+                        this.checkItems[key].HSampleUnRightQty = 0;
+                    }
+                    if (this.checkItems[key].HUnitID == "") {
+                        this.checkItems[key].HUnitID = 0;
+                    }
+                }
+
+                return true;
+            },
+            async submit() {
+                if (!this.checkSubmitValidate()) {
+                    return;
+                }
+                try {
+                    console.log('this.$refs: ', this.$refs);
+                    // 妫�鏌ユ槸鍚︽湁鏈垏鎹㈢殑妫�楠屽�兼ā鍧�(鏄惁鍖呭惈set_SaveValue鏂规硶),濡傛灉鏈夛紝鍒欒繍琛屼竴娆′繚瀛樻楠屽�肩殑鏂规硶锛屾牴鎹楠屽�兼槸鍚︿繚瀛樻垚鍔熷啀鎵ц涓嬩竴姝�
+                    if (typeof this.$refs.InspectValueModules != "undefined" && this.$refs.InspectValueModules
+                        .length > 0) {
+                        // 鍔犺浇鏈夋楠屽�兼ā鍧�
+                        await this.$refs.InspectValueModules[0].set_SaveValue();
+                        this.InspectValues[0] = this.$refs.InspectValueModules[0].InSpectValues;
+                        await this.InspectValueComplete(this.$refs.InspectValueModules[0].checkData)
+                    }
+                    let InspectValuesTrans = [];
+                    let HInterID = this.hform.HInterID;
+                    for (let key in this.InspectValues) {
+                        let HEntryID = key;
+
+                        InspectValuesTrans.push(
+                            `${JSON.stringify(this.InspectValues[key])}`
+                        );
+                    }
+                    let checkItemsArray = [];
+                    for (var key in this.checkItems) {
+                        let checkItem = JSON.parse(JSON.stringify(this.checkItems[key]))
+                        delete checkItem.data
+                        checkItemsArray.push(checkItem);
+                    }
+                    console.log('checkItemsArray: ', checkItemsArray);
+                    let sMainSub = `${JSON.stringify(this.hform)};${JSON.stringify(
+          checkItemsArray
+        )};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
+                    console.log("this.checkItems: ", this.checkItems);
+
+                    let res = await CommonUtils.doRequest2Sync({
+                        url: "/QC_FirstPieceCheckBill/set_SaveBill",
+                        data: {
+                            sMainSub: sMainSub,
+                        },
+                        method: "POST",
+                    });
+
+                    if (!res) {
+                        return;
+                    }
+
+                    let {
+                        count,
+                        Message,
+                        data
+                    } = res.data;
+                    if (count == 1) {
+                        uni.showModal({
+                            title: "鎻愮ず",
+                            content: res.data.Message + "銆傛槸鍚︾户缁柊澧烇紵",
+                            success: (res) => {
+                                if (res.confirm) {
+                                    console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+                                    uni.redirectTo({
+                                        url: "/pages/ZLGL/shoujianjianyan/form?operationType=1",
+                                    });
+                                } else if (res.cancel) {
+                                    console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+                                    // setTimeout(() => {
+                                    //     uni.navigateBack();
+                                    // }, 50)
+                                }
+                            },
+                        });
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `棣栦欢妫�楠屽崟淇濆瓨閿欒: ${Message}`,
+                        });
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `棣栦欢妫�楠屽崟淇濆瓨閿欒: ${err}`,
+                    });
+                }
+            },
+            addNew() {
+                uni.redirectTo({
+                    url: "/pages/ZLGL/shoujianjianyan/firstCheckBill?operationType=1",
+                });
+            },
+            goBack() {
+                uni.navigateBack();
+            },
+            async RoadBillMain() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_Edit",
+                        data: {
+                            sWhere: ` and hmainid=${this.hform.HInterID}`,
+                            user: getUserInfo()["Czymc"],
+                        },
+                    });
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data;
+
+                    if (count == 1) {
+                        console.log("RoadBillMain: : ", data);
+                        Object.assign(this.hform, {
+                            HInterID: data[0].hmainid,
+                            HBillNo: data[0].鍗曟嵁鍙�,
+                            HDate: dayjs(data[0].鏃ユ湡).format("YYYY-MM-DD"),
+                            HSourceID: data[0].HSourceID,
+                            HSourceName: data[0].鐢熶骇璧勬簮鍚嶇О,
+                            HICMOBillNo: data[0].浠诲姟鍗曞彿,
+                            HICMOQty: data[0].浠诲姟鍗曟暟閲�,
+                            HICMOInterID: data[0].HICMOInterID,
+                            HICMOEntryID: data[0].HICMOEntryID || 1,
+                            HMaterID: data[0].HMaterID,
+                            HMaterName: data[0].鐗╂枡鍚嶇О,
+                            HMaterNumber: data[0].鐗╂枡浠g爜,
+                            HProcID: data[0].HProcID,
+                            HProcName: data[0].HProcName,
+                            HProcExchQty: data[0].HProcExchQty || 0,
+                            HProcExchBillNo: data[0].HProcExchBillNo,
+                            HProcExchInterID: data[0].HProcExchInterID,
+                            HProcExchEntryID: data[0].HProcExchEntryID || 0,
+                            HFirstCheckEmp: data[0].HFirstCheckEmp,
+                            HFirstCheckEmpName: data[0].璐ㄦ鍛樺悕绉�,
+                            HQCSchemeID: data[0].妫�楠屾柟妗圛D,
+                            HQCSchemeName: data[0].妫�楠屾柟妗堝悕绉�,
+                            HRemark: data[0].琛ㄥご澶囨敞,
+                            HMaker: data[0].鍒跺崟浜�,
+                            HMakeDate: data[0].鍒跺崟鏃ユ湡,
+                            HChecker: data[0].瀹℃牳浜�,
+                            HCheckDate: data[0].瀹℃牳鏃ユ湡,
+                            HCloseMan: data[0].鍏抽棴浜�,
+                            HCloseDate: data[0].鍏抽棴鏃ユ湡,
+                            HUpDateDate: data[0].淇敼鏃ユ湡,
+                            HDeleteDate: data[0].浣滃簾鏃ユ湡,
+                            HSampleSchemeID: data[0].HSampleSchemeID,
+                            HSampleSchemeName: data[0].鎶芥牱鏂规鍚嶇О,
+                            HSampleQty: data[0].鏍锋湰閲�,
+                            HSampleQty2: data[0].鏍锋湰閲�,
+                            HSampleDamageQty: data[0].鏍锋湰鐮村潖鏁�,
+                            HSamplingType: data[0].鎶芥牱绫诲瀷,
+                            HAcceptQty: data[0].鍏佽鏁�,
+                            HInspectionLevel: data[0].妫�楠屾按骞�,
+                            HRejectQty: data[0].鎷掔粷鏁�,
+                            HStrictness: data[0].涓ユ牸搴�,
+                            HSampleUnRightQty: data[0].鏍锋湰涓嶅悎鏍兼暟 || 0,
+                            HSampleUnRightQty2: data[0].鏍锋湰涓嶅悎鏍兼暟,
+                            HAQL: data[0].AQL,
+                            HUnitID: data[0].HUnitID,
+                            HUnit: data[0].鍗曚綅,
+                            HInspectValB: data[0].妫�娴嬪�煎熀纭�璧勬枡,
+                            HInspectVal: data[0].妫�娴嬪��,
+                            HTargetValB: data[0].鐩爣鍊煎熀纭�璧勬枡,
+                            HTargetVal: data[0].鐩爣鍊�,
+                            HUpLimit: data[0].涓婇檺鍊�,
+                            HDownLimit: data[0].涓嬮檺鍊�,
+                            HUpOffSet: data[0].涓婂亸宸�,
+                            HDownOffSet: data[0].涓嬪亸宸�,
+                            HEntryID: data[0].hsubid,
+                            HQCCheckItemName: data[0].妫�楠岄」鐩悕绉�,
+                            HQCCheckItemID: data[0].HQCCheckItemID,
+                            HShiftsID: data[0].HShiftsID,
+                            HShiftsName: data[0].鐝鍚嶇О,
+                            HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
+                            HBatchNo: data[0].鎵瑰彿,
+                            HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+                            HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
+                            HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
+                            HAnalysisMethod: function() {
+                                if (data[0].HAnalysisMethod == 1) {
+                                    return '瀹氭�ф楠�'
+                                } else if (data[0].HAnalysisMethod == 2) {
+                                    return '瀹氶噺妫�楠�'
+                                } else {
+                                    return '鍏朵粬妫�楠�'
+                                }
+                            }(),
+                        });
+
+                        for (let i = 0; i < data.length; i++) {
+                            this.addCheckItem({
+                                HQCCheckItemID: data[i].HQCCheckItemID,
+                                HQCCheckItemNumber: data[i].妫�楠岄」鐩唬鐮�,
+                                HQCCheckItemName: data[i].妫�楠岄」鐩悕绉�,
+                                HInspectInstruMentID: data[i].HInspectInstruMentID,
+                                HInspectInstruMentNumber: data[i].妫�楠屼华鍣ㄤ唬鐮�,
+                                HInspectInstruMentName: data[i].妫�楠屼华鍣ㄥ悕绉�,
+                                HQCStd: data[i].妫�楠屾爣鍑�,
+                                HUnit: data[i].鍗曚綅鍚嶇О,
+                                HQCNote: data[i].妫�楠岃褰�,
+                                HResult: data[i].缁撹 == "鍚堟牸" ? 1 : 0,
+                                HMax: data[i].鏈�澶у��,
+                                HMin: data[i].鏈�灏忓��,
+                                HAvg: data[i].骞冲潎鍊�,
+                                HRemark: data[i].琛ㄤ綋澶囨敞,
+                                HAnalysisMethod: data[i].鍒嗘瀽鏂规硶 == "瀹氭�у垎鏋�" ?
+                                    1 : data[i].鍒嗘瀽鏂规硶 == "瀹氶噺鍒嗘瀽" ?
+                                    2 : 3,
+                                HKeyInspect: data[i].閲嶇偣妫�鏌� == "鍚�" ? false : true,
+                                HSampleSchemeID: data[i].HSampleSchemeID,
+                                HUnitID: data[i].HUnitID,
+                                HInspectVal: data[i].妫�娴嬪��,
+                                HTargetVal: data[i].鐩爣鍊�,
+                                HUpLimit: data[i].涓婇檺鍊�,
+                                HDownLimit: data[i].涓嬮檺鍊�,
+                                HUpOffSet: data[i].涓婂亸宸�,
+                                HDownOffSet: data[i].涓嬪亸宸�,
+                                HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+                                HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+                                HSampleQty: data[i].鏍锋湰閲�,
+                                HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+                                HAcceptQty: data[i].鍏佽鏁�,
+                                HInspectionLevel: 0,
+                                HRejectQty: data[i].鎷掔粷鏁�,
+                                HStrictness: 0,
+                                HSampleUnRightQty: data[i].鏍锋湰涓嶅悎鏍兼暟,
+                                HAQL: data[i].AQL,
+                                HSamplingType: 0,
+                                HSamplingType: data[i].鎶芥牱绫诲瀷,
+                                HStrictness: data[i].涓ユ牸搴�,
+                                HInspectResultToSee: data[i].妫�楠岀粨鏋�
+                            });
+                        }
+
+                        this.hasSourceBill = true
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鍔犺浇鍗曟嵁澶辫触: ${Message}`,
+                        });
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鍔犺浇鍗曟嵁澶辫触: ${err}`,
+                    });
+                }
+            },
+        },
+        async onLoad(e) {
+            this.operationType = e.operationType || 1;
+            this.hform.HInterID = e.linterid || 0;
+            if (this.operationType == 1) {
+                await this.getMaxBillNo();
+            } else if (this.operationType == 2) {} else if (this.operationType == 3) {
+                await this.RoadBillMain();
+            }
+
+            await this.InitHSource();
+            await this.InitHWorkShift();
+            await this.InitHEmp();
+        },
+    };
+</script>
+
+<style lang="scss" scoped>
+    input {
+        width: inherit;
+        font-size: 26rpx;
+    }
+
+    .uni-input {
+        padding: 0;
+    }
+
+    .bill-main-tabs,
+    .bill-sub-tabs {
+        box-sizing: border-box;
+        width: 730rpx;
+        display: flex;
+        flex-direction: row;
+        flex-wrap: nowrap;
+        gap: 20rpx;
+        flex-shrink: 0;
+        overflow-x: auto;
+        border-bottom: 1px solid #ddd;
+        padding: 20rpx 10rpx;
+        white-space: nowrap;
+
+        view {
+            width: auto;
+            font-size: 26rpx;
+            color: #555;
+            text-align: center;
+            padding: 16rpx 0;
+        }
+
+        .selected {
+            color: #3a78ff;
+            font-weight: bold;
+            border-bottom: 3px solid #3a78ff;
+        }
+    }
+
+    .bill-main-content,
+    .bill-sub-content {
+        box-sizing: border-box;
+        padding: 0 30rpx 0 30rpx;
+        display: flex;
+        flex-direction: column;
+
+        .form-item {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            font-size: 26rpx;
+            padding: 6rpx 0;
+
+            .left {
+                width: 208rpx;
+
+                text {
+                    color: red;
+                    font-weight: bold;
+                }
+            }
+
+            .right {
+                // width: 450rpx;
+                padding: 8rpx 20rpx;
+                font-size: 26rpx;
+                flex: 1;
+                border-radius: 22rpx;
+                border: 1px solid #acacac;
+
+                .uni-combox {
+                    padding: 0;
+                    height: auto;
+
+                    .uni-input-placeholder,
+                    .uni-input-input {
+                        font-size: 26rpx;
+                    }
+                }
+
+                .uni-combox::v-deep input {
+                    height: inherit;
+                    font-size: 26rpx;
+                }
+            }
+
+            .disabled {
+                border: 1px solid #e4e4e4;
+                background-color: #e4e4e4;
+            }
+
+            .none-border {
+                border: none;
+            }
+        }
+    }
+
+    .bottom-btn {
+        box-sizing: border-box;
+        width: 100%;
+        height: 120rpx;
+        position: fixed;
+        bottom: 0;
+        left: 0;
+        background-color: #fff;
+        box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+        padding: 30rpx 40rpx 40rpx 40rpx;
+        display: flex;
+        flex-direction: row;
+        gap: 10rpx;
+
+        button {
+            border-radius: 50rpx;
+            width: 180rpx;
+            height: 66rpx;
+            line-height: 66rpx;
+            font-size: 28rpx;
+        }
+
+        .btn-a {
+            background-color: #3a78ff;
+            color: #fff;
+        }
+
+        .btn-b {
+            background-color: #41a863;
+            color: #fff;
+        }
+
+        .btn-c {
+            background-color: #acacac;
+            color: #fff;
+            // position: absolute;
+            // right: 120rpx;
+        }
+
+        .btn-d {
+            background-color: #ff8901;
+            color: #fff;
+        }
+    }
+
+    .buttons {
+        box-sizing: border-box;
+        width: 100%;
+        display: flex;
+        justify-content: center;
+        padding: 10rpx 0;
+
+        button {
+            border-radius: 50rpx;
+            width: 180rpx;
+            height: 66rpx;
+            line-height: 66rpx;
+            font-size: 26rpx;
+        }
+
+        .btn-a {
+            background-color: #acacac;
+            color: #fff;
+        }
+
+        .btn-b {
+            background-color: #41a863;
+            color: #fff;
+        }
+
+        .btn-c {
+            background-color: #3a78ff;
+            color: #fff;
+        }
+    }
+
+    .list {
+        width: 100%;
+
+        .card-detail {
+            width: 100%;
+            display: flex;
+            flex-wrap: wrap;
+            justify-content: space-between;
+            align-items: center;
+            line-height: 120%;
+            gap: 10rpx 0;
+
+            input {
+                font-size: 26rpx;
+            }
+
+            .detail {
+                // width: 50%;
+                box-sizing: border-box;
+                font-size: 26rpx;
+                color: #555;
+                padding-right: 20rpx;
+
+                text {
+                    color: #999;
+                    font-size: 26rpx;
+                }
+            }
+
+            .editable {
+                width: 50%;
+                display: inline-flex;
+                flex-direction: row;
+                align-items: center;
+
+                text {
+                    flex-shrink: 0;
+                }
+
+                .editable-input {
+                    border: 1px solid #acacac;
+                    border-radius: 5rpx;
+                    padding: 0 12rpx;
+                }
+            }
+        }
+    }
+
+    .icon-wrapper {
+        background-color: #3a78ff;
+        border-radius: 100%;
+        width: 40rpx;
+        height: 40rpx;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        flex-shrink: 0;
+
+        .uni-icons {
+            color: #fff !important;
+        }
+    }
+
+    .icon-wrapper-big {
+        background-color: #3a78ff;
+        border-radius: 100%;
+        width: 50rpx;
+        height: 50rpx;
+        display: flex;
+        justify-content: center;
+        align-items: center;
+        flex-shrink: 0;
+        margin-left: 20rpx;
+
+        .uni-icons {
+            color: #fff !important;
+        }
+    }
+
+    .more {
+        color: #888;
+        font-size: 22rpx;
+        display: flex;
+        border-top: 1px solid #eee;
+        padding-top: 10rpx;
+
+        .part {
+            width: 100%;
+            text-align: center;
+        }
+    }
+
+    .pass-background {
+        background-color: #cee3f2;
+        border: none;
+    }
+
+    .unpass-background {
+        background-color: #f0d6e3;
+        border: none;
+    }
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/lailiaojianyan/POStockInCheckBillList.vue b/pages/ZLGL/lailiaojianyan/POStockInCheckBillList.vue
new file mode 100644
index 0000000..63a8fe0
--- /dev/null
+++ b/pages/ZLGL/lailiaojianyan/POStockInCheckBillList.vue
@@ -0,0 +1,571 @@
+<template>
+    <view class="page" id="pageContent">
+        <view class="search-condition-zone">
+            <view class="form-item">
+                <view class="left">
+                    鏃ユ湡:
+                </view>
+                <view class="daterange" style="flex: 1;">
+                    <view class="right general">
+                        <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HBeginDate">
+                            <view>{{hform.HBeginDate}}</view>
+                        </uni-datetime-picker>
+                    </view>
+                    <view>鈥�</view>
+                    <view class="right general">
+                        <uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HEndDate">
+                            <view>{{hform.HEndDate}}</view>
+                        </uni-datetime-picker>
+                    </view>
+                </view>
+            </view>
+            <view class="form-item">
+                <view class="left">
+                    鍗曟嵁鍙�:
+                </view>
+                <view class="right general">
+                    <input type="text" v-model="hform.HBillNo" />
+                </view>
+            </view>
+        </view>
+        <view class="button-zone">
+            <button type="default" class="btn-a" size="mini" @tap="cmdAdd">鏂板</button>
+            <button type="default" class="btn-a" size="mini" @tap="cmdSearch">鏌ヨ</button>
+            <button type="default" class="btn-c" size="mini" @tap="exit">閫�鍑�</button>
+        </view>
+        <view class="info-list-zone" id="scroll-content" :style="{height: scrollContentHeight + 'px'}">
+            <view class="card-item" v-for="(item,index) in listDataShow" :key="index">
+                <uni-card :title="item['鍗曟嵁鍙�']" :extra="'鏃ユ湡:' + item['鏃ユ湡'].split('T')[0]"
+                    @tap="showDetail = showDetail==index?-1:index">
+                    <view class="card-detail">
+                        <view class="detail" v-if="item['鍗曟嵁绫诲瀷']">
+                            <text>鍗曟嵁绫诲瀷锛�</text>{{item['鍗曟嵁绫诲瀷']}}
+                        </view>
+                        <view class="detail" v-if="item['鍗曟嵁鐘舵��']">
+                            <text>鍗曟嵁鐘舵�侊細</text>{{item['鍗曟嵁鐘舵��']}}
+                        </view>
+                        <view class="detail" v-if="item['鍒ゆ柇缁撹']">
+                            <text>鍒ゆ柇缁撹锛�</text>{{item['鍒ゆ柇缁撹']}}
+                        </view>
+                        <view class="detail" v-if="item['鐗╂枡浠g爜']">
+                            <text>鐗╂枡浠g爜锛�</text>{{item['鐗╂枡浠g爜']}}
+                        </view>
+                        <view class="detail" v-if="item['鐗╂枡鍚嶇О']">
+                            <text>鐗╂枡鍚嶇О锛�</text>{{item['鐗╂枡鍚嶇О']}}
+                        </view>
+                        <view class="detail" v-if="item['瑙勬牸鍨嬪彿']">
+                            <text>瑙勬牸鍨嬪彿锛�</text>{{item['瑙勬牸鍨嬪彿']}}
+                        </view>
+                        <view class="detail" v-if="item['妫�楠屾柟妗�']">
+                            <text>妫�楠屾柟妗堬細</text>{{item['妫�楠屾柟妗�']}}
+                        </view>
+                        <view class="detail" v-if="item['瑙勬牸鍨嬪彿']">
+                            <text>瑙勬牸鍨嬪彿锛�</text>{{item['瑙勬牸鍨嬪彿']}}
+                        </view>
+                    </view>
+                    <view class="card-detail" v-if="showDetail == index">
+                        <view class="detail" v-if="item['璐ㄦ鍛�']">
+                            <text>璐ㄦ鍛橈細</text>{{item['璐ㄦ鍛�']}}
+                        </view>
+                        <view class="detail" v-if="item['閮ㄩ棬']">
+                            <text>閮ㄩ棬锛�</text>{{item['閮ㄩ棬']}}
+                        </view>
+                        <view class="detail" v-if="item['鐢熶骇璁㈠崟']">
+                            <text>鐢熶骇璁㈠崟锛�</text>{{item['鐢熶骇璁㈠崟']}}
+                        </view>
+                        <view class="detail" v-if="item['宸ュ簭娴佽浆鍗″彿']">
+                            <text>宸ュ簭娴佽浆鍗″彿锛�</text>{{item['宸ュ簭娴佽浆鍗″彿']}}
+                        </view>
+                        <view class="detail" v-if="item['鐢熶骇璧勬簮鍚嶇О']">
+                            <text>鐢熶骇璧勬簮鍚嶇О锛�</text>{{item['鐢熶骇璧勬簮鍚嶇О']}}
+                        </view>
+                        <view class="detail" v-if="item['鍒涘缓浜�']">
+                            <text>鍒涘缓浜猴細</text>{{item['鍒涘缓浜�']}}
+                        </view>
+                        <view class="detail" v-if="item['瀹℃牳浜�']">
+                            <text>瀹℃牳浜猴細</text>{{item['瀹℃牳浜�']}}
+                        </view>
+                        <view class="detail" v-if="item['缁勭粐鍚嶇О']">
+                            <text>缁勭粐鍚嶇О锛�</text>{{item['缁勭粐鍚嶇О']}}
+                        </view>
+                        <view class="detail" v-if="item['澶囨敞']">
+                            <text>澶囨敞锛�</text>{{item['澶囨敞']}}
+                        </view>
+                        <view class="detail" v-if="item['婧愬崟鍙�']">
+                            <text>婧愬崟鍙凤細</text>{{item['婧愬崟鍙�']}}
+                        </view>
+                        <view class="detail" v-if="item['鍒跺崟鏃ユ湡']">
+                            <text>鍒跺崟鏃ユ湡锛�</text>{{item['鍒跺崟鏃ユ湡']}}
+                        </view>
+                        <view class="detail" v-if="item['瀹℃牳鏃ユ湡']">
+                            <text>瀹℃牳鏃ユ湡锛�</text>{{item['瀹℃牳鏃ユ湡']}}
+                        </view>
+
+                    </view>
+                    <view class="more" v-if="showDetail == index && operations != index">
+                        <view class="part" style="border-right: 1px solid #eee;">
+                            <uni-icons type="top" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>鏀惰捣
+                        </view>
+                        <view class="part" @tap.stop="operations = operations==index?-1:index">
+                            <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;"
+                                size="14"></uni-icons>鎿嶄綔
+                        </view>
+                    </view>
+                    <view class="more" v-if="showDetail != index && operations != index">
+                        <view class="part" style="border-right: 1px solid #eee;">
+                            <uni-icons type="bottom" style="color: #888;margin-right: 10rpx;" size="14"></uni-icons>鏇村淇℃伅
+                        </view>
+                        <view class="part" @tap.stop="operations = operations==index?-1:index">
+                            <uni-icons type="more-filled" style="color: #888;margin-right: 10rpx;"
+                                size="14"></uni-icons>鎿嶄綔
+                        </view>
+                    </view>
+                    <view class="op" v-if="operations == index">
+                        <button class="op3" size="mini" plain @tap.stop="edit(item)">缂栬緫</button>
+                        <button class="op3" size="mini" plain @tap.stop="audit(item, 0)" v-if="!listDataShow[index]['瀹℃牳浜�']">瀹℃牳</button>
+                        <button class="op3" size="mini" plain @tap.stop="audit(item, 1)" v-if="listDataShow[index]['瀹℃牳浜�']">鍙嶅鏍�</button>
+                        <button class="op4" size="mini" plain @tap.stop="del(item)">鍒犻櫎</button>
+                        <button class="op5" size="mini" plain @tap.stop="operations = -1">鍙栨秷鎿嶄綔</button>
+                    </view>
+                </uni-card>
+            </view>
+            <view class="over" v-if="listDataShow.length == 0">鏆傛棤鏁版嵁</view>
+        </view>
+
+        <view class="pagination-zone" id="pagination-zone">
+            <uni-pagination show-icon :page-size="paginationMeta.pageSize" :total="paginationMeta.total"
+                :current="paginationMeta.current" @change="onPaginationChangeHandler"></uni-pagination>
+        </view>
+    </view>
+</template>
+
+<script>
+    import {
+        CommonUtils
+    } from '@/utils/common'
+    import {
+        getUserInfo
+    } from '@/utils/auth'
+    import dayjs, {
+        Dayjs
+    } from 'dayjs'
+    export default {
+        data() {
+            return {
+
+                navHeight: 0,
+                scrollTop: 0,
+
+                showDetail: -1,
+                operations: -1,
+
+                hform: {
+                    HBeginDate: dayjs(new Date).subtract(30, 'd').format('YYYY-MM-DD'),
+                    HEndDate: dayjs(new Date).format('YYYY-MM-DD'),
+                    HBillNo: ''
+                },
+
+                paginationMeta: {
+                    current: 1,
+                    total: 0,
+                    pageSize: 30,
+                },
+
+                pageMeta: {
+                    scrollContentTop: 0,
+                    bottomBtnTop: 0,
+                },
+
+                listData: [],
+                listDataShow: [],
+            }
+        },
+        computed: {
+            scrollContentHeight: {
+                get() {
+                    return this.pageMeta.bottomBtnTop - this.pageMeta.scrollContentTop
+                }
+            }
+        },
+        methods: {
+            exit() {
+                uni.navigateBack()
+            },
+            cmdAdd() {
+                uni.redirectTo({
+                    url: "/pages/ZLGL/lailiaojianyan/POStockInCheckBill?operationType=1"
+                })
+            },
+            async cmdSearch() {
+                let sWhere = ''
+                if (this.hform.HBeginDate != "" && this.hform.HEndDate != "") {
+                    sWhere += " and  CONVERT(varchar(100),鏃ユ湡, 23) between '" + this.hform.HBeginDate + "' and '" +
+                        this.hform.HEndDate + "' ";
+                }
+                if (this.hform.HBillNo != "") {
+                    sWhere += " and 鍗曟嵁鍙� like '%" + this.hform.HBillNo + "%'"
+                }
+                try {
+                    let res = await CommonUtils.doRequest2Sync({
+                        url: '/QC_POStockInCheckBill/GetPOStockInCheckBill',
+                        data: {
+                            "sWhere": sWhere,
+                            "user": getUserInfo()["Czymc"]
+                        },
+                    })
+
+                    if (!res) {
+                        return
+                    }
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data
+                    if (count > 0) {
+                        this.listData = data
+                        this.paginationMeta.total = data.length
+                        this.onPaginationChangeHandler({
+                            current: 1
+                        })
+                    } else {
+                        uni.showToast({
+                            icon: 'none',
+                            title: Message
+                        })
+                    }
+                } catch (err) {
+                    console.warn(err);
+                    uni.showToast({
+                        title: '鎺ュ彛璇锋眰澶辫触:' + err,
+                        icon: 'none'
+                    })
+                }
+            },
+            async onPaginationChangeHandler({
+                current
+            }) {
+                this.listDataShow =
+                    this.listData.slice((current - 1) * this.paginationMeta.pageSize,
+                        current * this.paginationMeta.pageSize)
+
+            },
+            async audit(item, mode) {
+                console.log('瀹℃牳鍗曟嵁: ',item);
+                
+                try{
+                    let res = await CommonUtils.doRequest2Sync({
+                        method: 'GET',
+                        url: 'QC_POStockInCheck_ValueTable/QC_POStockInCheckValue',
+                        data: {
+                            HInterID: item["hmainid"],
+                            IsAudit: mode,
+                            CurUserName: getUserInfo()["Czymc"]
+                        }
+                    })
+                    
+                    if(!res) {
+                        return
+                    }
+                    
+                    let {count, data, Message} = res.data
+                    
+                    if(count == 1) {
+                        CommonUtils.showTips({
+                            message: `${item["瀹℃牳浜�"]?'鍙嶅鏍�':'瀹℃牳'}鎴愬姛`
+                        })
+                        this.$forceUpdate()
+                        setTimeout(() => {
+                            this.cmdSearch()
+                        }, 2000)
+                    }else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: `鍗曟嵁${item["瀹℃牳浜�"]?'鍙嶅鏍�':'瀹℃牳'}澶辫触: ${Message}`
+                        })
+                    }
+                }catch(err) {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: `鍗曟嵁${item["瀹℃牳浜�"]?'鍙嶅鏍�':'瀹℃牳'}閿欒: ${err}`
+                    })
+                }
+            },
+            async del(item) {
+                console.log("delItem: ", item);
+                uni.showModal({
+                    title: '鎻愮ず',
+                    content: '纭瑕佸垹闄よ褰曪紵鍒犻櫎鍚庝笉鑳芥仮澶�',
+                    success: async (res) => {
+                        if (res.confirm) {
+                            console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+                            try {
+                                let res = await CommonUtils.doRequest2Sync({
+                                    url: '/QC_POStockInCheckBill/DeltetPOStockInCheckBill',
+                                    data: {
+                                        "HInterID": item.hmainid,
+                                        "user": getUserInfo()["Czymc"]
+                                    }
+                                })
+
+                                if (!res) {
+                                    return
+                                }
+
+                                let {
+                                    count,
+                                    code,
+                                    Message
+                                } = res.data
+                                if (count == 0) {
+                                    return uni.showModal({
+                                        title: '閿欒鎻愮ず',
+                                        content: `鍒犻櫎閿欒: ${Message}`,
+                                        showCancel: false
+                                    })
+                                }
+                                uni.showToast({
+                                    title: '鍒犻櫎鎴愬姛',
+                                    icon: 'none'
+                                })
+                                this.cmdSearch()
+                            } catch (err) {
+                                uni.showModal({
+                                    title: '閿欒鎻愮ず',
+                                    content: `鎺ュ彛璇锋眰澶辫触: ${err}`,
+                                    showCancel: false
+                                })
+                            }
+                        }
+                    },
+                })
+
+            },
+            edit(item) {
+                console.log("editItem:", item)
+                uni.navigateTo({
+                    url: `/pages/ZLGL/lailiaojianyan/POStockInCheckBill?operationType=3&linterid=${item.hmainid}`
+                })
+            }
+        },
+        onShow() {
+            this.$nextTick(() => {
+                this.cmdSearch()
+            })
+        },
+        onReady() {
+            // #ifndef MP-WEIXIN
+            let query = uni.createSelectorQuery().in(this)
+            query.select("#scroll-content").boundingClientRect((data) => {
+                this.pageMeta.scrollContentTop = data.top
+            }).exec()
+            query.select("#pagination-zone").boundingClientRect((data) => {
+                this.pageMeta.bottomBtnTop = data.top
+            }).exec()
+            // #endif
+            // #ifdef MP-WEIXIN
+            // 寰俊涓嶆敮鎸� uni.createSelectorQuery().in(this)
+            // #endif
+
+        },
+    }
+</script>
+
+<style lang="scss" scoped>
+    .page {
+        box-sizing: border-box;
+        display: flex;
+        flex-direction: column;
+        gap: 20rpx;
+        padding: 20rpx 0;
+        position: relative;
+
+        .button-zone {
+            height: auto;
+            box-sizing: border-box;
+            padding-top: 20rpx;
+            display: flex;
+            flex-direction: row;
+            justify-content: space-between;
+            flex-wrap: wrap;
+
+            button {
+                border-radius: 50rpx;
+                width: 180rpx;
+                height: 66rpx;
+                line-height: 66rpx;
+                font-size: 28rpx;
+            }
+
+            .btn-a {
+                background-color: #3a78ff;
+                color: #fff;
+            }
+
+            .btn-c {
+                background-color: #ff5722;
+                color: #fff;
+            }
+        }
+
+        .search-condition-zone {
+            height: auto;
+            box-sizing: border-box;
+            padding: 0 60rpx;
+            display: flex;
+            flex-direction: column;
+            gap: 20rpx;
+
+            .form-item {
+                display: flex;
+                flex-direction: row;
+                gap: 20rpx;
+                align-items: center;
+                font-size: 28rpx;
+
+                .left {
+                    width: 4rem;
+                }
+
+                .right {
+                    flex: 1;
+                    padding: 8rpx 16rpx;
+
+                    .search {
+                        width: 28rpx;
+                        height: 28rpx;
+                    }
+
+                    input {
+                        font-size: 28rpx;
+                    }
+
+                    .uni-combox {
+                        padding: 0;
+                        margin: 0;
+
+                        ::v-deep .uni-combox__input {
+                            font-size: 28rpx;
+                            height: auto;
+                        }
+                    }
+                }
+
+                .general {
+                    border-radius: 22rpx;
+                    border: 1px solid #acacac;
+                }
+
+                .disabled {
+                    border-radius: 22rpx;
+                    border: 1px solid #e4e4e4;
+                    background-color: #e4e4e4;
+                }
+            }
+        }
+
+        .info-list-zone {
+            overflow-y: auto;
+
+            .card-item {
+                .card-detail {
+                    width: 100%;
+                    display: flex;
+                    flex-wrap: wrap;
+                    justify-content: space-between;
+                    line-height: 120%;
+
+                    .detail {
+                        // width: 50%;
+                        font-size: 26rpx;
+                        margin-bottom: 12rpx;
+                        color: #555;
+                        margin-right: 20rpx;
+
+                        text {
+                            color: #999;
+                            font-size: 26rpx;
+                        }
+                    }
+                }
+            }
+        }
+
+        .daterange {
+            display: flex;
+            flex-direction: row;
+            gap: 10rpx;
+            justify-content: center;
+            align-items: center;
+        }
+
+        .more {
+            color: #888;
+            font-size: 24rpx;
+            display: flex;
+            border-top: 1px solid #eee;
+            padding-top: 20rpx;
+
+            .part {
+                width: 50%;
+                text-align: center;
+            }
+        }
+
+        .op {
+            display: flex;
+            justify-content: space-between;
+            gap: 20rpx;
+            margin-top: 20rpx;
+            flex-wrap: wrap;
+            align-content: flex-start;
+            button {
+                margin: 0;
+                flex-shrink: 0;
+                padding: 0;
+                width: 150rpx;
+                flex-basis: 150rpx;
+                font-size: 25rpx;
+            }
+
+            .op1 {
+                border: 1px solid #41a863;
+                color: #41a863;
+            }
+
+            .op2 {
+                border: 1px solid #d98d00;
+                color: #d98d00;
+            }
+
+            .op3 {
+                border: 1px solid #3a78ff;
+                color: #3a78ff;
+            }
+
+            .op4 {
+                border: 1px solid #da0000;
+                color: #da0000;
+            }
+
+            .op5 {
+                border: 1px solid #888;
+                color: #888;
+            }
+        }
+
+        .pagination-zone {
+            position: fixed;
+            bottom: 0;
+            box-sizing: border-box;
+            background-color: #fff;
+            box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+            padding: 20rpx 40rpx 20rpx 40rpx;
+            display: flex;
+            flex-direction: column;
+            gap: 20rpx;
+            justify-content: space-between;
+            width: 100%;
+        }
+    }
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/mojianjianyan/lastPieceCheckBillList.vue b/pages/ZLGL/mojianjianyan/lastPieceCheckBillList.vue
index 73f289b..e8571d7 100644
--- a/pages/ZLGL/mojianjianyan/lastPieceCheckBillList.vue
+++ b/pages/ZLGL/mojianjianyan/lastPieceCheckBillList.vue
@@ -34,7 +34,7 @@
             <button type="default" class="btn-c" size="mini" @tap="exit">閫�鍑�</button>
         </view>
         <view class="info-list-zone" id="scroll-content" :style="{height: scrollContentHeight + 'px'}">
-            <view class="card-item" v-for="(item, index) in listDataShow">
+            <view class="card-item" v-for="(item, index) in listDataShow" :key="index">
                 <uni-card :title="item['鍗曟嵁鍙�']" :extra="'鏃ユ湡:' + item['鏃ユ湡'].split('T')[0]"
                     @tap="showDetail = showDetail==index?-1:index">
                     <view class="card-detail">
diff --git a/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue b/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
new file mode 100644
index 0000000..c2dc66d
--- /dev/null
+++ b/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2.vue
@@ -0,0 +1,2292 @@
+<template>
+	<view>
+		<!-- 涓昏〃鍖哄煙 -->
+		<view class="bill-main-area">
+			<!-- 涓昏〃椤电 -->
+			<view class="bill-main-tabs">
+				<view :class="mainTabSelected == 1 ? 'selected' : ''" @tap="mainTabSelected = 1">鍩烘湰淇℃伅</view>
+				<view :class="mainTabSelected == 2 ? 'selected' : ''" @tap="mainTabSelected = 2">鍏朵粬淇℃伅</view>
+				<view :class="mainTabSelected == 3 ? 'selected' : ''" @tap="mainTabSelected = 3">鍒跺崟淇℃伅</view>
+			</view>
+			<!-- 涓昏〃鍐呭 -->
+			<view class="bill-main-contents">
+				<!-- 鍩烘湰淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 1">
+					<view class="form-item">
+						<view class="left">鍗曟嵁鍙�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HBillNo" disabled />
+						</view>
+					</view>
+
+					<view class="form-item">
+						<view class="left">鏃ユ湡</view>
+						<view class="right">
+							<uni-datetime-picker type="date" :clear-icon="false" v-model="hform.HDate">
+								<view>{{ hform.HDate }}</view>
+							</uni-datetime-picker>
+						</view>
+					</view>
+
+					<view class="form-item">
+						<view class="left">婧愬崟鍗曞彿</view>
+						<view class="right" :class="!hasSourceBill?'':'disabled'">
+							<input type="text" :disabled="hasSourceBill" placeholder="璇疯緭鍏ユ垨鎵弿婧愬崟鍙�"
+								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>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇璧勬簮</view>
+						<view class="right">
+							<uni-combox :candidates="GySourceNameList" placeholder="璇烽�夋嫨鐢熶骇璧勬簮" v-model="hform.HSourceName"
+								@update:modelValue="HSourceChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇鐝</view>
+						<view class="right">
+							<uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+								v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+						</view>
+					</view>				
+					<view class="form-item" v-if="false">
+						<view class="left">浠诲姟鍗曞彿</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HICMOBillNo" disabled />
+						</view>
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+								@click="showSelectorModule(hform, 5)"></uni-icons></view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">娴佽浆鍗″彿</view>
+						<view class="right disabled">
+							<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>
+					</view>
+					<view class="form-item">
+						<view class="left">浜у搧浠g爜</view>
+						<view class="right disabled">
+							<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>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浜у搧鍚嶇О</view>
+						<view class="right disabled">
+							<input type="text" disabled :value="hform.HMaterName" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">妫�楠屽憳</view>
+						<view class="right">
+							<uni-combox :candidates="GyFirstCheckEmpNameList" placeholder="璇烽�夋嫨妫�楠屽憳"
+								:v-model="hform.HFirstCheckEmpName"
+								@update:modelValue="HFirstCheckEmpChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">妫�楠屾柟妗�</view>
+						<view class="right disabled">
+							<input type="text" disabled :value="this.hform.HQCSchemeName" />
+						</view>
+						<view class="icon-wrapper-big"><uni-icons type="search" size="20"
+								@click="showSelectorModule(hform, 7)"></uni-icons></view>
+					</view>
+					
+					<view class="form-item">
+						<view class="left">鍒ゆ柇缁撹</view>
+						<view class="right none-border">
+							<radio-group @changer="checkResultChange">
+								<label>
+									<radio value="0" :checked="hform.HLastResult" /><text></text>
+									鍚堟牸
+								</label>
+								<view style="width: 20rpx; display: inline-block"></view>
+								<label>
+									<radio value="1" :checked="!hform.HLastResult" /><text></text>
+									涓嶅悎鏍�
+								</label>
+							</radio-group>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">宸ュ簭</view>
+						<view class="right disabled">
+							<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>
+					</view>
+								
+				</view>
+				<!-- 鍏朵粬淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 2">
+					<view class="form-item">
+						<view class="left">婧愬崟绫诲瀷</view>
+						<view class="right" style="position: relative" :class="!hasSourceBill?'':'disabled'">
+							<picker mode="selector" :range="HSourceBillTypeNameList" :disabled="hasSourceBill"
+								@change="HSourceBillTypeNameChange">
+								<input type="text" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="HSourceBillType" disabled/>
+								<view class="picker-overlay"></view>
+							</picker>
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">鐢熶骇鐝</view>
+						<view class="right">
+							<uni-combox :candidates="GyWorkShiftNameList" placeholder="璇烽�夋嫨鐢熶骇鐝"
+								v-model="hform.HShiftsName" @update:modelValue="HWorkShiftChange"></uni-combox>
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">寮傚父涓存椂澶勭悊鏂规</view>
+						<view class="right">
+							<input type="text" v-model="hform.HErrTreatment" value="" />
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">浠诲姟鍗曟暟閲�</view>
+						<view class="right">
+							<input type="number" v-model="hform.HICMOQty" />
+						</view>
+					</view>
+					<view class="form-item" v-if="false">
+						<view class="left">娴佽浆鍗℃暟閲�</view>
+						<view class="right">
+							<input type="number" v-model="hform.HProcExchQty" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鎵瑰彿</view>
+						<view class="right">
+							<input type="text" value="" />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">澶囨敞</view>
+						<view class="right">
+							<input type="text" v-model="hform.HRemark" value="" />
+						</view>
+					</view>		
+				</view>
+				<!-- 鍒跺崟淇℃伅 -->
+				<view class="bill-main-content" v-if="mainTabSelected == 3">
+					<view class="form-item">
+						<view class="left">鍒跺崟浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HMaker" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍒跺崟鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HMakeDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">瀹℃牳浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HChecker" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">瀹℃牳鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCheckDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍏抽棴浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCloseMan" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">鍏抽棴鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HCloseDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">淇敼浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HUpDater" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">淇敼鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HUpDateDate" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浣滃簾浜�</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HDeleteMan" disabled />
+						</view>
+					</view>
+					<view class="form-item">
+						<view class="left">浣滃簾鏃ユ湡</view>
+						<view class="right disabled">
+							<input type="text" :value="hform.HDeleteDate" disabled />
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 瀛愯〃鍖哄煙 -->
+		<view class="bill-sub-area">
+			<!-- 瀛愯〃椤电 -->
+			<view class="bill-sub-tabs">
+				<view v-for="subTab in subTabs" :key="subTab.id" :class="subTab.id == subTabSelected ? 'selected' : ''"
+					@tap="subTabSelected = subTab.id">{{ subTab.name }}</view>
+			</view>
+			<!-- 瀛愯〃鍐呭 -->
+			<view class="bill-main-contents">
+				<!-- 妫�楠岄」鐩� 鍛堢幇 -->
+				<view v-if="subTabSelected == 1">
+					<!-- 闇�閫氳繃鏄惧紡璋冪敤蹇界暐$event鍙傛暟 -->
+					<view class="buttons" @tap="addCheckItem()">
+						<uni-icons type="plus" style="margin-right: 10rpx" size="22"></uni-icons>鏂板
+					</view>
+					<view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+					<view class="list" v-else>
+						<uni-card v-for="checkItem in checkItems" :key="checkItem.num">
+							<view class="card-detail">
+								<view class="detail"> <text>搴忓彿锛�</text>{{ checkItem.num }} </view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>妫�楠岄」鐩細</text></view>
+									<input type="text" :value="checkItem.HQCCheckItemName" disabled="" />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(checkItem, 2)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>妫�楠屼华鍣細</text></view>
+									<input type="text" :value="checkItem.HInspectInstruMentName" disabled="" />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(checkItem, 3)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<view><text>缁撹锛�</text></view>
+									<view style="width: 4em">
+										{{ checkItem.HResult == 1 ? "鍚堟牸" : "涓嶅悎鏍�" }}
+									</view>
+									<view>
+										<switch style="width: 2em; transform: scale(0.7)"
+											:checked="checkItem.HResult == 1"
+											@change="HResultChange(checkItem.num, $event)" />
+									</view>
+								</view>
+								<view class="detail editable" style="position: relative">
+									<view style="flex-shrink: 0"><text>鍒嗘瀽鏂规硶锛�</text></view>
+									<picker :range="arrayAnalysisMethod" range-key="name"
+										@change="HAnalysisMethodChange(checkItem.num, $event)">
+										<input disabled :value="getAnalysisMethodDisplay(checkItem.HAnalysisMethod)"
+											placeholder="璇烽�夋嫨" />
+										<view class="picker-overlay"></view>
+									</picker>
+								</view>
+								<view class="detail editable">
+									<view style="flex-shrink: 0"><text>閲嶇偣妫�鏌ワ細</text></view>
+									<view>
+										<switch type="checkbox" style="transform: scale(0.7)"
+											:checked="checkItem.HKeyInspect"
+											@change="HKeyInspectChange(checkItem, $event)" />
+									</view>
+								</view>
+								<view class="detail" v-if="checkItem.HQCStd">
+									<text>妫�楠屾爣鍑嗭細</text>{{ checkItem.HQCStd }}
+								</view>
+								<view class="detail" v-if="checkItem.HUnit">
+									<text>鍗曚綅锛�</text>{{ checkItem.HUnit }}
+								</view>
+								 <!-- 鍙湁瀹氶噺鍒嗘瀽鎵嶅惎鐢ㄦ楠屽�� -->
+								<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 }}
+								</view>
+								<view class="detail" v-if="checkItem.HTargetVal">
+									<text>鐩爣鍊硷細</text>{{ checkItem.HTargetVal }}
+								</view>
+								<view class="detail" v-if="checkItem.HUpLimit">
+									<text>涓婇檺鍊硷細</text>{{ checkItem.HUpLimit }}
+								</view>
+								<view class="detail" v-if="checkItem.HDownLimit">
+									<text>涓嬮檺鍊硷細</text>{{ checkItem.HDownLimit }}
+								</view>
+								<view class="detail" v-if="checkItem.HMax">
+									<text>鏈�澶у�硷細</text>{{ checkItem.HMax }}
+								</view>
+								<view class="detail" v-if="checkItem.HMin">
+									<text>鏈�灏忓�硷細</text>{{ checkItem.HMin }}
+								</view>
+								<view class="detail" v-if="checkItem.HAvg">
+									<text>骞冲潎鍊硷細</text>{{ checkItem.HAvg }}
+								</view>
+							</view>
+							<view style="height: 20rpx"></view>
+							<view class="more">
+								<view class="part" style="color: #da0000" @tap.stop="removeCheckItem(checkItem)">
+									<uni-icons type="trash" style="color: #da0000; margin-right: 10rpx"
+										size="18"></uni-icons>鍒犻櫎
+								</view>
+							</view>
+						</uni-card>
+					</view>
+				</view>
+				<!-- 鎶芥牱妫�楠� 鍛堢幇 -->
+				<view v-if="subTabSelected == 2">
+					<view class="over" v-if="!checkItems || getObjLength(checkItems) == 0">鏆傛棤鏁版嵁</view>
+					<view class="list" v-else>
+						<uni-card v-for="SamplingItem in checkItems" :key="SamplingItem.num">
+							<view class="card-detail">
+								<view class="detail"> <text>搴忓彿锛�</text>{{ SamplingItem.num }} </view>
+								<view class="detail editable">
+									<text>妫�楠岄」鐩細</text>{{ SamplingItem.HQCCheckItemName }}
+								</view>
+								<view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+								<view class="detail editable" style="width: 100%">
+									<view style="flex-shrink: 0"><text>鎶芥牱鏂规锛�</text></view>
+									<input type="text" :value="SamplingItem.HSampleSchemeName" disabled />
+									<view class="icon-wrapper"><uni-icons type="search" size="16"
+											@click="showSelectorModule(SamplingItem, 1)"></uni-icons></view>
+								</view>
+								<view class="detail editable">
+									<text>鎶芥牱绫诲瀷锛�</text>{{ SamplingItem.HSamplingType }}
+								</view>
+								<view class="detail editable">
+									<text>妫�楠屾按骞筹細</text>{{ SamplingItem.HInspectionLevel }}
+								</view>
+								<view class="detail editable">
+									<text>涓ユ牸搴︼細</text>{{ SamplingItem.HStrictness }}
+								</view>
+								<view class="detail editable">
+									<text>AQL锛�</text>{{ SamplingItem.HAQL }}
+								</view>
+								<view style="width: 100%; height: 1px; border-bottom: 1px solid #e3e3e3"></view>
+								<view class="detail editable">
+									<text>鏍锋湰閲忥細</text>{{ SamplingItem.HSampleQty }}
+								</view>
+								<view class="detail editable">
+									<text>鍏佽鏁帮細</text>{{ SamplingItem.HAcceptQty }}
+								</view>
+								<view class="detail editable">
+									<text>鎷掔粷鏁帮細</text>{{ SamplingItem.HRejectQty }}
+								</view>
+								<view class="detail editable">
+									<text>鏍锋湰涓嶅悎鏍兼暟锛�</text>{{ SamplingItem.HSampleUnRightQty }}
+								</view>
+								<view class="detail editable">
+									<text>鏍锋湰鐮村潖鏁帮細</text>
+									<view class="editable-input">
+										<input type="number" v-model="SamplingItem.HSampleDamageQty" />
+									</view>
+								</view>
+								<view class="detail editable">
+									<text>妫�楠岀粨鏋滐細</text>
+									<view style="border-radius: 15%; padding: 0 10rpx" :class="
+                                        SamplingItem.HInspectResultToSee == '鍚堟牸'
+                                        ? 'pass-background'
+                                        : SamplingItem.HInspectResultToSee == '涓嶅悎鏍�'
+                                        ? 'unpass-background'
+                                        : ''
+                                    ">
+										{{ SamplingItem.HInspectResultToSee }}
+									</view>
+								</view>
+							</view>
+						</uni-card>
+					</view>
+				</view>
+				<!-- 妫�娴嬪�� 鍛堢幇 -->
+				<view v-else v-for="item in InspectModules" :key="item.id">
+					<view v-if="subTabSelected == item.id">
+						<InspectValueTemplateVue ref="InspectValueModules" :bind-key="item.id"
+							@syncCheckData="InspectValueComplete" :bind-data="{
+                data: checkItems[item.checkItemId],
+                list: InspectValues[item.checkItemId],
+                mode: 3 // 棣栨妫�娴嬪�兼ā鍧�
+              }">
+						</InspectValueTemplateVue>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view style="height: 120rpx"></view>
+		<view class="bottom-btn">
+			<button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+			<view style="flex: 1"></view>
+			<button class="btn-a" size="mini" @tap="addNew">鏂板</button>
+			<button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+		</view>
+		<SampleSchemePopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup"
+			@update="SampleSchemeComplete" :bindKey="currentChechItemIDCache">
+		</SampleSchemePopupVue>
+		<CheckItemPopupVue v-if="enablePopupModule == PopupModuleNameList[2]" ref="listPopup"
+			@update="CheckItemComplete" :bindKey="currentChechItemIDCache">
+		</CheckItemPopupVue>
+		<InspectMentPopupVue v-if="enablePopupModule == PopupModuleNameList[3]" ref="listPopup"
+			@update="InspectMentComplete" :bindKey="currentChechItemIDCache">
+		</InspectMentPopupVue>
+		<MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[4]" ref="listPopup" @update="MaterComplete"
+			:bindKey="0">
+		</MaterialPopupVue>
+		<ICMOBillPopupVue v-if="enablePopupModule == PopupModuleNameList[5]" ref="listPopup" @update="ICMOBillComplete"
+			:bindKey="0"></ICMOBillPopupVue>
+		<ProcExchBillPopupVue v-if="enablePopupModule == PopupModuleNameList[6]" ref="listPopup"
+			@update="ProcExchBillComplete" :bindKey="0"></ProcExchBillPopupVue>
+		<ProcessPopupVue v-if="enablePopupModule == PopupModuleNameList[8]" ref="listPopup" @update="HProcComplete"
+			:bindKey="0"></ProcessPopupVue>
+		<CheckProjectPopupVue v-if="enablePopupModule == PopupModuleNameList[7]" ref="listPopup"
+			@update="HQCSchemeComplete" :bindKey="0"></CheckProjectPopupVue>
+	</view>
+</template>
+
+<script>
+	import dayjs from "dayjs";
+	import {
+		CommonUtils
+	} from "../../../utils/common";
+	import InspectValueTemplateVue from "@/components/ZLGL/InspectValueTemplate.vue";
+	import SampleSchemePopupVue from "@/components/ZLGL/SampleSchemePopup.vue";
+	import CheckItemPopupVue from "@/components/ZLGL/CheckItemPopup.vue";
+	import InspectMentPopupVue from "../../../components/ZLGL/InspectMentPopup.vue";
+	import MaterialPopupVue from "../../../components/ZLGL/MaterialPopup.vue";
+	import ICMOBillPopupVue from "../../../components/ZLGL/ICMOBillPopup.vue";
+	import ProcExchBillPopupVue from "../../../components/ZLGL/ProcExchBillPopup.vue";
+	import ProcessPopupVue from "../../../components/ZLGL/ProcessPopup.vue";
+	import CheckProjectPopupVue from "../../../components/ZLGL/CheckProjectPopup.vue";
+	import {
+		getUserInfo
+	} from "../../../utils/auth";
+	import {
+		MpaasScan
+	} from "../../../utils/mpaasScan";
+	export default {
+		components: {
+			InspectValueTemplateVue,
+			SampleSchemePopupVue,
+			CheckItemPopupVue,
+			InspectMentPopupVue,
+			MaterialPopupVue,
+			ICMOBillPopupVue,
+			ProcExchBillPopupVue,
+			ProcessPopupVue,
+			CheckProjectPopupVue,
+		},
+		computed: {
+			judgeConclusion: {
+				get() {
+					return true;
+				},
+			},
+		},
+		data() {
+			return {
+				operationType: 1,
+
+				mainTabSelected: 1,
+				subTabSelected: 1,
+
+				// 婧愬崟鐘舵�佹帶鍒�
+				hasSourceBill: false,
+
+				// 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+				enablePopupModule: "",
+				PopupModuleNameList: [
+					"",
+					"SampleScheme",
+					"CheckItem",
+					"InspectMent",
+					"Material",
+					"ICMOBill",
+					"ProcExchBill",
+					"QCScheme",
+					"Process",
+				],
+				// 褰撳墠鎿嶄綔鐨勬楠屽崟ID缂撳瓨
+				currentChechItemIDCache: -1,
+
+				// uni-combox 閫夋嫨鍣ㄤ娇鐢�
+				// 鐢熶骇璧勬簮
+				GySourceList: [],
+				GySourceNameList: [],
+				// 鐝
+				GyWorkShiftList: [],
+				GyWorkShiftNameList: [],
+				// 妫�楠屽憳
+				GyFirstCheckEmpList: [],
+				GyFirstCheckEmpNameList: [],
+
+				// 妫�楠屾柟妗�
+				arrayAnalysisMethod: [{
+						value: 1,
+						name: "瀹氭�у垎鏋�",
+					},
+					{
+						value: 2,
+						name: "瀹氶噺鍒嗘瀽",
+					},
+					{
+						value: 3,
+						name: "鍏朵粬鍒嗘瀽",
+					},
+				],
+				ArrayAnalysisMethodValue: [1, 2, 3],
+				// 瀛愯〃 椤电淇℃伅
+				subTabs: {
+					1: {
+						id: "1",
+						name: "妫�楠岄」鐩�",
+					},
+					2: {
+						id: "2",
+						name: "鎶芥牱妫�楠�",
+					},
+				},
+
+				// 婧愬崟绫诲瀷
+				HSourceBillType: "鐢熶骇姹囨姤鍗�",
+				HSourceBillTypeValueList: ["3771"],
+				HSourceBillTypeNameList: [
+					"鐢熶骇姹囨姤鍗�"
+				],
+				// 涓昏〃灞炴��
+				hform: {
+					HSourceBillType: "3711",
+					HSourceBillNo: "",
+					HBillNo: "",
+					HInterID: "0",
+					HDate: dayjs(new Date()).format("YYYY-MM-DD"),
+					HSourceName: "",
+					HSourceID: "0",
+					HShiftsName: "",
+					HShiftsID: "0",
+					HICMOBillNo: "",
+					HICMOInterID: "0",
+					HICMOEntryID: "1",
+					HICMOQty: "0",
+					HProcExchBillNo: "",
+					HProcExchInterID: "0",
+					HProcExchEntryID: "0",
+					HProcExchQty: "0",
+					HMaterNumber: "",
+					HMaterID: "0",
+					HMaterName: "",
+					HFirstCheckEmpName: "",
+					HFirstCheckEmp: 0,
+					HQCSchemeName: "",
+					HQCSchemeID: "0",
+					HBatchNo: "",
+					HLastResult: true, // 榛樿鍚堟牸
+					HProcName: "",
+					HProcID: "0",
+					HTakeSampleCheckBillNo: "", // 鍙栨牱鍗�
+					HTakeSampleCheckBillID: "0",
+					HRemark: "",
+					HErrTreatment: "", // 寮傚父涓存椂澶勭悊鏂规
+					HMaker: getUserInfo()["Czymc"] || "",
+					HChecker: "",
+					HCloseMan: "",
+					HMakeDate: dayjs(new Date()).format("YYYY-MM-DDTHH:mm:ss"),
+					HCheckDate: "",
+					HCloseDate: "",
+					HUpDater: "",
+					HDeleteMan: "",
+					HUpDateDate: "",
+					HDeleteDate: "",
+					HResult: 1,
+					HAnalysisMethod: "",
+
+					HResDec: "",
+					HStatus: 1,
+
+					HMainSourceBillType: "",
+					HMainSourceInterID: "0",
+					HMainSourceEntryID: "1",
+					HMainSourceBillNo: "",
+				},
+				// 妫�楠岄」鐩拰鎶芥牱妫�楠� 鍊�
+				checkItems: {},
+				// 妫�娴嬪�兼ā鍧�
+				InspectModules: {},
+				// 妫�娴嬪��
+				InspectValues: {},
+			};
+		},
+		methods: {
+			// 妫�楠屽�� 璁$畻鏄惁鍚堟牸
+			calcHResult(item){
+			    // 闈炴娊妫�鏉′欢涓嬪垽鏂粨璁�
+			    console.log('item: ',item);
+			    if(item.HSampleSchemeID) {
+			        return
+			    }
+			    
+			    if(item.HInspectValQ >= item.HDownLimit && item.HInspectValQ <= item.HUpLimit){
+			     this.checkItems[item.num].HResult = true
+		         return
+		     }
+		     
+		     this.checkItems[item.num].HResult = false
+			},
+			// 婧愬崟绫诲瀷閫夋嫨
+			HSourceBillTypeNameChange(e) {
+				this.HSourceBillType = this.HSourceBillTypeNameList[e.detail.value];
+				this.hform.HSourceBillType = this.HSourceBillTypeValueList[e.detail.value];
+			},
+			toScanCode() {
+				MpaasScan.scanCode((res) => {
+					if (res) {
+						this.getSourceBillInfo(HBarCode);
+					}
+				});
+			},
+			async getSourceBillInfo(HBarCode) {
+				console.log('HBarCode: ', HBarCode);
+				// 鏍规嵁鍗曟嵁绫诲瀷锛岃皟鐢ㄤ笉鍚岀殑涓嬫帹鍑芥暟
+				if (this.hform.HSourceBillType == 3711) {
+					// 宸ュ簭杩涚珯鎺ユ敹鍗曞垪琛ㄩ妫�
+					await this.LoadingInformation_ICMOReportBill(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 == 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(); // 瀹㈡埛涓烘柉鑾皵锛岃繘鍏ユ寜鐓ц川妫�鏂规琛ㄥご涓婄殑鐗╂枡缁戝畾甯﹀嚭榛樿鏂规
+				// 	}
+				// 	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;
+				}
+			},
+			async GetCheckItemID() {
+				if (!this.hform.HMaterName && !this.hform.HProcName) {
+					try {
+						let res = await CommonUtils.doRequest2Async({
+							url: "/Web/GetCheckItemID",
+							data: {
+								HName: this.hform.HMaterName,
+								HProName: this.hform.HProcName,
+								HSourceID: this.hform.HSourceID,
+							},
+						});
+
+						let {
+							count,
+							Message,
+							data
+						} = res.data;
+
+						if (count != 1) {
+							CommonUtils.showTips({
+								title: "娓╅Θ鎻愮ず",
+								message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${Message}`,
+							});
+							return;
+						}
+
+						this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+						this.hform.HQCSchemeID = data[0].hmainid;
+
+						this.get_CheckItem();
+					} catch (err) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇妫�楠屾柟妗� 閿欒: ${err}`,
+						});
+					}
+				}
+			},
+			//#region 涓�鑷�
+			async LoadingInformation_ProcExchange(HBarCode) {
+				// 宸ュ簭娴佽浆鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/CheckBill/get_ProcessExchangeBill_ByBillNo",
+						data: {
+							HBillNo: HBarCode,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+					this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					this.hform.HProcExchInterID = data[0].HProcExchInterID;
+					this.hform.HProcExchEntryID = data[0].HProcExchEntryID || 0;
+					this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					this.hform.HICMOBillNo = data[0].浠诲姟鍗�;
+					this.hform.HICMOInterID = data[0].HICMOInterID;
+					this.hform.HICMOQty = data[0].HICMOQty || 0;
+					this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+					this.hform.HSourceID = data[0].HSourceID || 0;
+					this.hform.HMaterID = data[0].HMaterID;
+					this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+					this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HMainSourceBillType = data[0].HBillType;
+					this.hform.HMainSourceInterID = data[0].HInterID;
+					this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+					this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+					this.hform.HBatchNo = data[0].鎵瑰彿;
+
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇宸ュ簭娴佽浆鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			
+			//#region 淇敼
+			async LoadingInformation_ICMO(HBarCode) {
+				// 鐢熶骇璁㈠崟
+				try {
+					let sWhere="and 鍗曟嵁鍙�='"+HBarCode+"'"
+					console.log(sWhere)
+					let res = await CommonUtils.doRequest2Async({
+						url: "/LEMS/MES_IF_ICMOBillList_Json",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${Message}`,
+						});
+						return;
+					}
+					//鐢熶骇鏀�
+					//this.hform.HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					//this.hform.HProcExchInterID = data[0].HProcExchInterID;
+					//this.hform.HProcExchEntryID = data[0].HProcExchEntryID;
+					//this.hform.HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					this.hform.HICMOBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HICMOInterID = data[0].hmainid;
+					this.hform.HICMOQty = data[0].鐢熶骇浠诲姟鍗曟暟閲�;
+					this.hform.HSourceName = data[0].鐢熶骇璧勬簮;
+					this.hform.HSourceID = data[0].HSourceID;
+					this.hform.HMaterID = data[0].HMaterID;
+					this.hform.HMaterNumber=data[0].浜у搧浠g爜
+					this.hform.HMaterName = data[0].浜у搧鍚嶇О;
+					this.hform.HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					this.hform.HMainSourceBillType = data[0].鍗曟嵁绫诲瀷;
+					this.hform.HMainSourceInterID = data[0].HInterID;
+					this.hform.HICMOEntryID = data[0].HEntryID || 1;
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+					this.hform.HProcName = data[0].褰撳墠宸ュ簭;
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鐢熶骇璁㈠崟 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			
+			//#region 涓�鑷�
+			async LoadingInformation_StationEntrustOutBill(HBarCode) {
+				// 宸ュ簭濮斿鎺ユ敹鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Cj_StationEntrustOutBill/list",
+						data: {
+							sWhere: ` and HBillNo = '${HBarCode}'`,
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+
+					HProcExchBillNo = data[0].娴佽浆鍗″彿;
+					HProcExchInterID = data[0].HProcExchInterID;
+					HProcExchEntryID = data[0].HProcExchEntryID;
+					HProcExchQty = data[0].娴佽浆鍗℃暟閲� || 0;
+					HICMOBillNo = data[0].鐢熶骇璁㈠崟鍙�;
+					HICMOInterID = data[0].HICMOInterID;
+					HICMOQty = data[0].HICMOQty;
+					HSourceName = data[0].鐢熶骇璧勬簮;
+					HSourceID = data[0].HSourceID;
+					HMaterID = data[0].HMaterID;
+					HMaterName = data[0].浜у搧鍚嶇О;
+					HMainSourceBillNo = data[0].鍗曟嵁鍙�;
+					HMainSourceBillType = data[0].HBillType;
+					HMainSourceInterID = data[0].hmainid;
+					HICMOEntryID = data[0].HICMOEntryID || 1;
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇宸ュ簭濮斿鎺ユ敹鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			//#endregion
+			
+			async LoadingInformation_ICMOReportBill(HBarCode) {
+				// 鐢熶骇姹囨姤鍗�
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/QC_LastPieceCheckBill/get_ICMOReportBill_Tmp_getByBillNo",
+						data: {
+							HBillNo: HBarCode,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鐢熶骇姹囨姤鍗� 閿欒: ${Message}`,
+						});
+						return;
+					}
+					//change_inlife
+					this.hform.HMainSourceEntryID=data[0].HEntryID||1;
+					this.hform.HMaterNumber=data[0].HMaterNumber;
+					this.hform.HICMOBillNo = data[0].HICMOBillNo;
+					this.hform.HICMOInterID = data[0].HICMOInterID;
+					this.hform.HICMOQty = data[0].HICMOQty;
+					this.hform.HSourceName = data[0].HSourceName;
+					this.hform.HSourceID = data[0].HSourceID;
+					this.hform.HMaterID = data[0].HMaterID;
+					this.hform.HMaterName = data[0].HMaterName;
+					this.hform.HMainSourceBillNo = data[0].HBillNo;
+					this.hform.HMainSourceBillType = data[0].HBillType;
+					this.hform.HMainSourceInterID = data[0].HInterID;
+					this.hform.HICMOEntryID = data[0].HICMOEntryID || 1;
+					this.hform.HQCSchemeName = data[0].妫�楠屾柟妗堝悕绉�;
+					this.hform.HQCSchemeID = data[0].妫�楠屾柟妗圛D;
+					
+
+					for (let i = 0; i < data.length; i++) {
+						this.addCheckItem(data[i])
+					}
+
+					this.hasSourceBill = true
+					this.get_CheckItem();
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鐢熶骇姹囨姤鍗� 閿欒: ${err}`,
+					});
+				}
+			},
+			// 妫�楠屽憳鍒濆鍖�
+			async InitHEmp() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_Employee/list",
+						data: {
+							sWhere: `  and 缁勭粐鍚嶇О = '${uni.getStorageSync(
+              "Organization"
+            )}' and 绂佺敤鏍囪 = ''and 瀹℃牳浜� !='' order by 閮ㄩ棬浠g爜`,
+							user: getUserInfo()["Czymc"],
+							Organization: uni.getStorageSync("Organization"),
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						console.log("data: ", data);
+						this.GyFirstCheckEmpList = data;
+						this.GyFirstCheckEmpNameList = Array.from(data).map((e) => e["鑱屽憳鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栨楠屽憳澶辫触: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栨楠屽憳澶辫触: ${err}`,
+					});
+				}
+			},
+			async HFirstCheckEmpChange(e) {
+				console.log("閫変腑妫�楠屽憳: ", e);
+				let index = this.GyFirstCheckEmpList.findIndex((elem) => elem["鑱屽憳鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HFirstCheckEmp = 0;
+					this.hform.HFirstCheckEmpName = "";
+					return;
+				}
+
+				this.hform.HFirstCheckEmp = this.GyFirstCheckEmpList[index]["HItemID"];
+				this.hform.HFirstCheckEmpName = this.GyFirstCheckEmpList[index]["鑱屽憳鍚嶇О"];
+			},
+			// 鐢熶骇鐝鍒濆鍖�
+			async InitHWorkShift() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_ShiftsController/Get_Gy_WorkShiftList",
+						data: {
+							sWhere: ` and 绂佺敤鏍囪 = '' and ISNULL(瀹℃牳浜�,'')  != '' and 浣跨敤缁勭粐鍚嶇О = '${uni.getStorageSync(
+              "Organization"
+            )}'`,
+							HMaker: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						console.log("data: ", data);
+						this.GyWorkShiftList = data;
+						this.GyWorkShiftNameList = Array.from(data).map((e) => e["鐝鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栫彮娆″け璐�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栫彮娆″け璐�: ${err}`,
+					});
+				}
+			},
+			async HWorkShiftChange(e) {
+				console.log("閫変腑鐝: ", e);
+				let index = this.GyWorkShiftList.findIndex((elem) => elem["鐝鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HWorkShiftID = 0;
+					this.hform.HWorkShiftName = "";
+					return;
+				}
+
+				this.hform.HWorkShiftID = this.GySourceList[index]["HInterID"];
+				this.hform.HWorkShiftName = this.GySourceList[index]["鐝鍚嶇О"];
+			},
+			// 鐢熶骇璧勬簮鏇存柊
+			// 鐢熶骇璧勬簮鍒濆鍖�
+			async InitHSource() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Gy_Source/list",
+						data: {
+							sWhere: `and 绂佺敤鏍囪 != 'Y' and ISNULL(瀹℃牳浜�,'')  != '' and HUSEORGID = '100038'`,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+
+					if (count == 1) {
+						this.GySourceList = data;
+						this.GySourceNameList = Array.from(data).map((e) => e["鐢熶骇璧勬簮鍚嶇О"]);
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍒濆鍖栫敓浜ц祫婧愬け璐�: ${err}`,
+					});
+				}
+			},
+			// 鐢熶骇璧勬簮鏇存柊
+			async HSourceChange(e) {
+				console.log("閫変腑鐢熶骇璧勬簮: ", e);
+				let index = this.GySourceList.findIndex((elem) => elem["鐢熶骇璧勬簮鍚嶇О"] == e);
+				if (index == -1) {
+					this.hform.HSourceID = 0;
+					this.hform.HSourceName = "";
+					return;
+				}
+
+				this.hform.HSourceID = this.GySourceList[index]["HItemID"];
+				this.hform.HSourceName = this.GySourceList[index]["鐢熶骇璧勬簮鍚嶇О"];
+
+				this.get_ICMOBillStatusList();
+				this.get_QC_TakeSampleCheckBillList();
+				this.GetCheckItemID();
+			},
+			// 鏄剧ず寮圭獥
+			async showSelectorModule(item, index) {
+				this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+				this.enablePopupModule = this.PopupModuleNameList[index];
+				console.log("this.$refs: ", this.$refs);
+				await this.$nextTick();
+				if (index == 7) {
+					// 妫�楠屾柟妗堥渶瑕侀澶栦紶閫掑伐搴忓拰鐗╂枡鍚嶇О涓や釜鍙傛暟
+					this.$refs.listPopup.setRequiredInfo(item.HMaterName, item.HProcName);
+				}
+
+				this.$refs.listPopup.showPopup();
+			},
+			getAnalysisMethodDisplay(val) {
+				console.log("AnalysisMethodVal: ", val);
+				if (val) {
+					return this.arrayAnalysisMethod.find((e) => e.value == val).name;
+				}
+				return "";
+			},
+			checkResultChange(event) {
+				console.log("event: ", event);
+			},
+			// 妫�楠岄」鐩柊澧炶
+			addCheckItem(resource) {
+				let ordinal = this.getObjLength(this.checkItems) + 1;
+				let checkItem = {
+					num: ordinal,
+					HInterID: this.hform.HInterID,
+					HQCCheckItemID: "",
+					HQCCheckItemNumber: "",
+					HQCCheckItemName: "",
+					HInspectInstruMentID: "0",
+					HInspectInstruMentNumber: "",
+					HInspectInstruMentName: "",
+					HQCStd: "",
+					HUnit: "",
+					HQCNote: "",
+					HAnalysisMethod: "",
+					HResult: 1,
+					HMax: "",
+					HMin: "",
+					HAvg: "",
+					HRemark: "",
+					HKeyInspect: false,
+					HStatus: 1,
+					HSampleSchemeID: "",
+					HUnitID: 0,
+					HInspectVal: "",
+					HTargetVal: "",
+					HUpLimit: "",
+					HDownLimit: "",
+					HUpOffSet: "",
+					HDownOffSet: "",
+					HSampleDamageQty: 0,
+					HSampleSchemeName: "",
+					HSampleQty: 0,
+					HAcceptQty: 0,
+					HInspectionLevel: "",
+					HRejectQty: 0,
+					HStrictness: "",
+					HSampleUnRightQty: 0,
+					HAQL: "",
+					HSamplingType: "",
+					HInspectResultToSee: "",
+				};
+				if (resource) {
+					// 閫氳繃涓昏〃妫�楠屾柟妗堝甫鍑虹殑妫�楠岄」鐩�
+					Object.assign(checkItem, resource);
+				}
+				this.$set(this.checkItems, ordinal, checkItem);
+				this.$nextTick(() => {
+					// 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+					this.setInspectValModule(this.checkItems[ordinal]);
+				});
+			},
+			// 妫�楠岄」鐩垹闄よ
+			removeCheckItem(item) {
+				uni.showModal({
+					title: "娓╅Θ鎻愮ず",
+					content: `纭瑕佸垹闄ょ${item.num}琛屽悧锛熷垹闄ゅ悗涓嶈兘鎭㈠`,
+					success: (res) => {
+						if (res.confirm) {
+							this.$delete(this.checkItems, item.num);
+							this.$delete(this.subTabs, `_${item.num}`);
+							this.$forceUpdate();
+							this.refreshCheckItemNum();
+						}
+					},
+				});
+			},
+			async refreshCheckItemNum() {
+				await this.$nextTick();
+				// 閲嶆帓搴忓彿
+				let num = 1;
+				let checkItemsCache = {};
+				for (let s in this.checkItems) {
+					checkItemsCache[num] = this.checkItems[s];
+					checkItemsCache[num].num = num;
+					num++;
+				}
+				this.checkItems = checkItemsCache;
+			},
+			getObjLength(obj) {
+				return Object.keys(obj).length;
+			},
+			// 缁撹淇敼
+			HResultChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HResult"] = e.detail.value ? 1 : 2;
+
+				this.HCheckLastResult();
+			},
+			// 姣忔妫�楠岄」鐩殑缁撹鏇存柊锛岄兘瑕佸垽鏂渶缁堢粨璁�
+			HCheckLastResult() {
+				let unPassNum = 0;
+				for (var key in this.checkItems) {
+					if (!(this.checkItems[key]["HResult"] == 1)) {
+						unPassNum++;
+					}
+				}
+
+				if (unPassNum > 0) {
+					this.hform.HLastResult = false;
+					return;
+				}
+				this.hform.HLastResult = true;
+			},
+			// 妫�楠屾柟妗堜慨鏀�
+			HAnalysisMethodChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HAnalysisMethod"] = this.arrayAnalysisMethod[e.detail.value][
+					"value"
+				];
+
+				// 妫�鏌ユ槸鍚﹀彲浠ユ柊澧炴楠屽�奸」
+				this.setInspectValModule(this.checkItems[id]);
+			},
+			// 閲嶇偣妫�鏌ヤ慨鏀�
+			HKeyInspectChange(id, e) {
+				console.log("e: ", e);
+				this.checkItems[id]["HKeyInspect"] = e.detail.value;
+			},
+			// 妫�楠岄」鐩繑鍥�
+			async CheckItemComplete(e) {
+				console.log("CheckItemRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HQCCheckItemID: data["HItemID"],
+						HQCCheckItemNumber: data["浠g爜"],
+						HQCCheckItemName: data["鍚嶇О"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屾柟妗堣繑鍥�
+			async SampleSchemeComplete(e) {
+				console.log("SampleSchemeRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HSampleSchemeID: data["hmainid"],
+						HSampleSchemeNumber: data["鎶芥牱鏂规浠g爜"],
+						HSampleSchemeName: data["鎶芥牱鏂规鍚嶇О"],
+						HSampleQty: data["鏍锋湰閲�"] || 0,
+						HAcceptQty: data["鍏佽鏁�"] || 0,
+						HInspectionLevel: data["妫�楠屾按骞�"],
+						HRejectQty: data["鎷掔粷鏁�"] || 0,
+						HStrictness: data["涓ユ牸搴�"],
+						HSampleUnRightQty: data["鏍锋湰涓嶅悎鏍兼暟"] || 0,
+						HAQL: data["AQL"],
+						HSamplingType: data["鎶芥牱绫诲瀷"],
+						HInspectResultToSee: data["妫�楠岀粨鏋�"],
+						HUpLimit: data["涓婇檺鍊�"] || 0,
+						HDownLimit: data["涓嬮檺鍊�"] || 0,
+						HSampleDamageQty: data["鏍锋湰鐮村潖鏁�"] || 0,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					this.setInspectValModule(this.checkItems[key]);
+
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屼华鍣ㄨ繑鍥�
+			async InspectMentComplete(e) {
+				console.log("InspectInstruMentRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.checkItems[key], {
+						HInspectInstruMentID: data["HItemID"],
+						HInspectInstruMentNumber: data["妫�楠屼华鍣ㄤ唬鐮�"],
+						HInspectInstruMentName: data["妫�楠屼华鍣ㄥ悕绉�"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 浜у搧浠g爜杩斿洖
+			async MaterComplete(e) {
+				console.log("MaterRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HMaterNumber: data["鐗╂枡浠g爜"],
+						HMaterName: data["鐗╂枡鍚嶇О"],
+						HMaterID: data["HItemID"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+					this.GetCheckItemID();
+				}
+			},
+			// 浠诲姟鍗曡繑鍥�
+			async ICMOBillComplete(e) {
+				console.log("ICMOBillRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HICMOInterID: data.hmainid,
+						HICMOEntryID: data.HEntryID || 1,
+						HICMOBillNo: data.鍗曟嵁鍙�,
+						HMaterNumber: data.浜у搧浠g爜,
+						HMaterName: data.浜у搧鍚嶇О,
+						HMaterID: data.HMaterID,
+						HICMOQty: data.鐢熶骇浠诲姟鍗曟暟閲�,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 娴佽浆鍗¤繑鍥�
+			async ProcExchBillComplete(e) {
+				console.log("ProcExchBillRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HProcExchInterID: data.hmainid,
+						HProcExchEntryID: data.hsubid,
+						HProcExchBillNo: data.鍗曟嵁鍙�,
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 妫�楠屾柟妗�(涓昏〃)杩斿洖
+			async HQCSchemeComplete(e) {
+				console.log("HQCSchemeRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HQCSchemeID: data.hmainid,
+						HQCSchemeName: data.妫�楠屾柟妗堝悕绉�,
+					});
+					await this.get_CheckItem();
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+				}
+			},
+			// 宸ュ簭杩斿洖
+			async HProcComplete(e) {
+				console.log(" HProcRet: ", e);
+				for (var key in e["retVal"]) {
+					let data = e["retVal"][key];
+					Object.assign(this.hform, {
+						HProcName: data["宸ュ簭鍚嶇О"],
+						HProcID: data["HItemID"],
+					});
+					await this.$nextTick();
+					this.$refs.listPopup.exit();
+					// 纭繚鍦ㄥ脊绐楃粨鏉熷悗锛屽啀灏嗛〉闈笂鎸傚湪鐨勭粍浠剁疆绌�
+					await this.$nextTick();
+					this.enablePopupModule = this.PopupModuleNameList[0];
+					await this.GetCheckItemID();
+					await this.get_ICMOBillStatusList();
+					await this.get_QC_TakeSampleCheckBillList();
+				}
+			},
+			
+			//
+			async get_QC_TakeSampleCheckBillList() {
+				// 鍙栨牱鍗曟煡璇�
+				let HProcID = this.hform.HProcID;
+				let HProcExchInterId = this.hform.HProcExchInterID;
+				let sWhere = "";
+
+				if (HProcID == "0" || HProcID == "") {
+					CommonUtils.showTips({
+						message: "璇烽�夋嫨宸ュ簭",
+					});
+					return;
+				}
+
+				sWhere = " and 宸ュ簭娴佽浆鍗′富鍐呯爜='" + HProcExchInterID + "' and HProcID=" + HProcID;
+
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "//QC_TakeSampleCheckBill/QC_TakeSampleCheckBillMainList",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${Message}`,
+						});
+					}
+
+					this.hform.HTakeSampleCheckBillID = data[0]["hmainid"];
+					this.hform.HTakeSampleCheckBillNo = data[0]["鍗曟嵁鍙�"];
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鍙栨牱鍗曚俊鎭け璐�: ${err}`,
+					});
+				}
+			},
+			async get_ICMOBillStatusList() {
+				let sWhere = "";
+				let HProcID = this.hform.HProcID;
+				let HSourceID = this.hform.HSourceID;
+				let HProcExchInterId = this.hform.HProcExchInterID;
+
+				if (HProcID != "0") {
+					sWhere += " and HProcID=" + HProcID;
+				}
+				if (HSourceID != "0") {
+					sWhere += " and HSourceID=" + HSourceID;
+				}
+
+				sWhere += " and HSourceInterID=" + HProcExchInterID;
+
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/CheckBill/GetICMOBillStatusList",
+						data: {
+							sWhere: sWhere,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+					if (count != 1) {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${Message}`,
+						});
+					}
+
+					this.hform.HProcID = data[0]["HProcID"];
+					this.hform.HProcName = data[0]["宸ュ簭"];
+					this.hform.HSourceID = data[0]["HSourceID"];
+					this.hform.HSourceName = data[0]["鐢熶骇璧勬簮"];
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇鐢熶骇宸ュ崟淇℃伅澶辫触: ${err}`,
+					});
+				}
+			},
+			setInspectValModule(checkItem) {
+				console.log("checkItem: ", checkItem);
+				if (!checkItem || !checkItem.HAnalysisMethod || !checkItem.HSampleSchemeID) {
+					return;
+				}
+				// 鍖哄垎妫�楠屽�奸〉绛惧拰闈欐�侀〉绛撅紝妫�楠屽�奸〉绛剧殑id浠寮�澶�
+				this.$set(this.InspectModules, `_${checkItem.num}`, {
+					id: `_${checkItem.num}`,
+					checkItemId: checkItem.num,
+				});
+				console.log(" this.arrayAnalysisMethod: ", checkItem.HAnalysisMethod);
+				let analysisMethodName = this.arrayAnalysisMethod.find(
+					(e) => e.value == checkItem.HAnalysisMethod
+				).name;
+				this.$set(this.subTabs, `_${checkItem.num}`, {
+					id: `_${checkItem.num}`,
+					name: `${analysisMethodName}-${checkItem.HQCCheckItemName}`,
+				});
+			},
+			InspectValueUpdate(e) {
+				console.log("e: ", e);
+				let {
+					data,
+					list
+				} = e;
+				this.checkItems[data.num] = Object.assign(this.checkItems[data.num], data);
+				this.$set(this.InspectValues, `${data.num}`, list);
+			},
+			// 甯﹀嚭妫�楠岄」鐩�
+			async get_CheckItem() {
+				// 棣栧厛娓呯┖妫�楠岄」鐩� 鍜� 妫�楠屽��
+				this.checkItems = {}
+				for (let key in this.subTabs) {
+					if (key.substring(1) == "_") {
+						this.$delete(this.subTabs, key)
+					}
+				}
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/Web/GetCheckItemByCheckProjectID",
+						data: {
+							CheckProjectID: this.hform.HQCSchemeID || 0,
+							HBatchQty: this.hform.HProcExchQty || 0,
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+
+					if (count == 1) {
+						for (var i = 0; i < data.length; i++) {
+							let checkItem = {
+								HQCCheckItemID: data[i]["HQCCheckItemID"],
+								HQCCheckItemNumber: data[i]["妫�楠岄」鐩唬鐮�"],
+								HQCCheckItemName: data[i]["妫�楠岄」鐩�"],
+								HInspectInstruMentID: data[i]["HInspectInstruMentID"],
+								HInspectInstruMentNumber: data[i]["妫�楠屼华鍣ㄤ唬鐮�"],
+								HInspectInstruMentName: data[i]["妫�楠屼华鍣�"],
+								HQCStd: data[i]["HQCStd"],
+								HUnit: data[i]["鍗曚綅鍚嶇О"],
+								HQCNote: "",
+								HAnalysisMethod: data[i]["鍒嗘瀽鏂规硶"],
+								HResult: data[i]["榛樿缁撹"],
+								HMax: "",
+								HMin: "",
+								HAvg: "",
+								HRemark: "",
+								HKeyInspect: data[i]["閲嶇偣妫�鏌�"] == 1 ? true : false,
+								HStatus: 0,
+								HSampleSchemeID: data[i]["HSampleSchemeID"],
+								HUnitID: data[i]["HUnitID"],
+								HInspectVal: "",
+								HTargetVal: "",
+								HUpLimit: data[i].涓婇檺鍊�,
+								HDownLimit: data[i].涓嬮檺鍊�,
+								HUpOffSet: "",
+								HDownOffSet: "",
+								HSampleDamageQty: "0",
+								HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+								HSampleQty: data[i].鏍锋湰閲�,
+								HAcceptQty: data[i].鍏佽鏁�,
+								HInspectionLevel: data[i].妫�楠屾按骞�,
+								HRejectQty: data[i].鎷掔粷鏁�,
+								HStrictness: data[i].涓ユ牸搴�,
+								HSampleUnRightQty: 0,
+								HAQL: data[i].AQL,
+								HSamplingType: data[i].鎶芥牱绫诲瀷,
+								HCompareSymbol: data[i].姣旇緝绗�,
+								HTargetVal: data[i].鐩爣鍊� || 0,
+							};
+
+							this.addCheckItem(checkItem);
+						}
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${Message} `,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鑾峰彇妫�楠岄」鐩俊鎭け璐�: ${err} `,
+					});
+				}
+			},
+			async getMaxBillNo() {
+				try {
+					let res = await CommonUtils.doRequest2Sync({
+						url: "/Web/GetMAXNum",
+						data: {
+							HBillType: "7501",
+						},
+					});
+
+					if (!res) {
+						return;
+					}
+
+					let {
+						data,
+						Message,
+						count
+					} = res.data;
+					if (count == 1) {
+						this.hform.HInterID = data[0].HInterID;
+						this.hform.HBillNo = data[0].HBillNo;
+					} else {
+						throw Message;
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: "鑾峰彇鍗曟嵁鍙峰紓甯�: " + err,
+					});
+				}
+			},
+			// 妫�楠屽�艰繑鍥炲��
+			InspectValueComplete(e) {
+				console.log("e: ", e);
+				let key = e.num;
+				e.HStatus = e.HStatus ? 1 : 0
+				if (e.HResult2 == '') {
+					e.HResult2 = this.checkItems[key].HResult
+				}
+				Object.assign(this.checkItems[key], e);
+				this.checkItems[key].HInspectResultToSee = this.checkItems[key].HResult2;
+				this.checkItems[key].HResult = this.checkItems[key].HResult2 == '鍚堟牸' ? 1 : 2;
+
+				this.HCheckLastResult();
+
+			},
+			checkSubmitValidate() {
+				// if (this.hform.HICMOQty == "" || this.hform.HICMOQty <= 0) {
+				// 	CommonUtils.showTips({
+				// 		message: "浠诲姟鍗曟暟閲忎笉鑳戒负绌轰笖涓嶈兘灏忎簬绛変簬0锛�",
+				// 	});
+				// 	return false;
+				// }
+
+				if (this.hform.HFirstCheckEmp == 0) {
+					CommonUtils.showTips({
+						message: "妫�楠屽憳鏈�夋嫨锛�",
+					});
+					return false;
+				}
+
+				for (let key in this.checkItems) {
+					if (!this.checkItems[key].HQCCheckItemID) {
+						CommonUtils.showTips({
+							message: `绗�${this.checkItems[key].num}琛屾楠岄」鐩笉鑳戒负绌�!`,
+						});
+						return false;
+					}
+
+					if (
+						this.checkItems[key].HSampleSchemeID == "" ||
+						this.checkItems[key].HSampleSchemeID == null
+					) {
+						this.checkItems[key].HSampleSchemeID = 0;
+					}
+					if (
+						this.checkItems[key].HSampleQty == "" ||
+						this.checkItems[key].HSampleQty == null
+					) {
+						this.checkItems[key].HSampleQty = 0;
+					}
+					if (
+						this.checkItems[key].HSampleDamageQty == "" ||
+						this.checkItems[key].HSampleDamageQty == null
+					) {
+						this.checkItems[key].HSampleDamageQty = 0;
+					}
+					if (
+						this.checkItems[key].HAcceptQty == "" ||
+						this.checkItems[key].HAcceptQty == null
+					) {
+						this.checkItems[key].HAcceptQty = 0;
+					}
+					if (
+						this.checkItems[key].HRejectQty == "" ||
+						this.checkItems[key].HRejectQty == null
+					) {
+						this.checkItems[key].HRejectQty = 0;
+					}
+					if (
+						this.checkItems[key].HSampleUnRightQty == "" ||
+						this.checkItems[key].HSampleUnRightQty == 0
+					) {
+						this.checkItems[key].HSampleUnRightQty = 0;
+					}
+					if (this.checkItems[key].HUnitID == "") {
+						this.checkItems[key].HUnitID = 0;
+					}
+				}
+
+				return true;
+			},
+			async submit() {
+				if (!this.checkSubmitValidate()) {
+					return;
+				}
+				try {
+					console.log('this.$refs: ', this.$refs);
+					// 妫�鏌ユ槸鍚︽湁鏈垏鎹㈢殑妫�楠屽�兼ā鍧�(鏄惁鍖呭惈set_SaveValue鏂规硶),濡傛灉鏈夛紝鍒欒繍琛屼竴娆′繚瀛樻楠屽�肩殑鏂规硶锛屾牴鎹楠屽�兼槸鍚︿繚瀛樻垚鍔熷啀鎵ц涓嬩竴姝�
+					if (typeof this.$refs.InspectValueModules != "undefined" && this.$refs.InspectValueModules.length >
+						0) {
+						// 鍔犺浇鏈夋楠屽�兼ā鍧�
+						await this.$refs.InspectValueModules[0].set_SaveValue();
+						this.InspectValues[0] = this.$refs.InspectValueModules[0].InSpectValues;
+						await this.InspectValueComplete(this.$refs.InspectValueModules[0].checkData)
+					}
+					let InspectValuesTrans = [];
+					let HInterID = this.hform.HInterID;
+					for (let key in this.InspectValues) {
+						let HEntryID = key;
+
+						InspectValuesTrans.push(
+							`${JSON.stringify(this.InspectValues[key])}`
+						);
+					}
+					let checkItemsArray = [];
+					for (var key in this.checkItems) {
+						let checkItem = JSON.parse(JSON.stringify(this.checkItems[key]))
+						delete checkItem.data
+						checkItemsArray.push(checkItem);
+					}
+					console.log('checkItemsArray: ', checkItemsArray);
+					let sMainSub = `${JSON.stringify(this.hform)};${JSON.stringify(
+          checkItemsArray
+        )};${this.operationType};${getUserInfo()["Czymc"]};${InspectValuesTrans[0]}`;
+					console.log("this.checkItems: ", this.checkItems);
+
+					let res = await CommonUtils.doRequest2Sync({
+						url: "/QC_LastPieceCheckBill/set_SaveBill",
+						data: {
+							sMainSub: sMainSub,
+						},
+						method: "POST",
+					});
+
+					if (!res) {
+						return;
+					}
+
+					let {
+						count,
+						Message,
+						data
+					} = res.data;
+					if (count == 1) {
+						uni.showModal({
+							title: "鎻愮ず",
+							content: res.data.Message + "銆傛槸鍚︾户缁柊澧烇紵",
+							success: (res) => {
+								if (res.confirm) {
+									console.log("鐢ㄦ埛鐐瑰嚮纭畾");
+									uni.redirectTo({
+										url: "/pages/JIAOYAN/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2?operationType=1",
+									});
+								} else if (res.cancel) {
+									console.log("鐢ㄦ埛鐐瑰嚮鍙栨秷");
+									// setTimeout(() => {
+									//     uni.navigateBack();
+									// }, 50)
+								}
+							},
+						});
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鐢熶骇鍏ュ簱鏍¢獙鍗曚繚瀛橀敊璇�: ${err}`,
+					});
+				}
+			},
+			addNew() {
+				uni.redirectTo({
+					url: "/pages/ZLGL/shoujianjianyan/firstCheckBillList?operationType=1",
+				});
+			},
+			goBack() {
+				uni.navigateBack();
+			},
+			async RoadBillMain() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: "/QC_FirstPieceCheckBill/QC_FirstPieceCheckBill_Edit",
+						data: {
+							sWhere: ` and hmainid=${this.hform.HInterID}`,
+							user: getUserInfo()["Czymc"],
+						},
+					});
+
+					let {
+						data,
+						count,
+						Message
+					} = res.data;
+
+					if (count == 1) {
+						console.log("RoadBillMain: : ", data);
+						Object.assign(this.hform, {
+							HInterID: data[0].hmainid,
+							HBillNo: data[0].鍗曟嵁鍙�,
+							HDate: dayjs(data[0].鏃ユ湡).format("YYYY-MM-DD"),
+							HSourceID: data[0].HSourceID,
+							HSourceName: data[0].鐢熶骇璧勬簮鍚嶇О,
+							HICMOBillNo: data[0].浠诲姟鍗曞彿,
+							HICMOQty: data[0].浠诲姟鍗曟暟閲�,
+							HICMOInterID: data[0].HICMOInterID,
+							HICMOEntryID: data[0].HICMOEntryID || 1,
+							HMaterID: data[0].HMaterID,
+							HMaterName: data[0].鐗╂枡鍚嶇О,
+							HMaterNumber: data[0].鐗╂枡浠g爜,
+							HProcID: data[0].HProcID,
+							HProcName: data[0].HProcName,
+							HProcExchQty: data[0].HProcExchQty || 0,
+							HProcExchBillNo: data[0].HProcExchBillNo,
+							HProcExchInterID: data[0].HProcExchInterID,
+							HProcExchEntryID: data[0].HProcExchEntryID || 0,
+							HFirstCheckEmp: data[0].HFirstCheckEmp,
+							HFirstCheckEmpName: data[0].璐ㄦ鍛樺悕绉�,
+							HQCSchemeID: data[0].妫�楠屾柟妗圛D,
+							HQCSchemeName: data[0].妫�楠屾柟妗堝悕绉�,
+							HRemark: data[0].琛ㄥご澶囨敞,
+							HMaker: data[0].鍒跺崟浜�,
+							HMakeDate: data[0].鍒跺崟鏃ユ湡,
+							HChecker: data[0].瀹℃牳浜�,
+							HCheckDate: data[0].瀹℃牳鏃ユ湡,
+							HCloseMan: data[0].鍏抽棴浜�,
+							HCloseDate: data[0].鍏抽棴鏃ユ湡,
+							HUpDateDate: data[0].淇敼鏃ユ湡,
+							HDeleteDate: data[0].浣滃簾鏃ユ湡,
+							HSampleSchemeID: data[0].HSampleSchemeID,
+							HSampleSchemeName: data[0].鎶芥牱鏂规鍚嶇О,
+							HSampleQty: data[0].鏍锋湰閲�,
+							HSampleQty2: data[0].鏍锋湰閲�,
+							HSampleDamageQty: data[0].鏍锋湰鐮村潖鏁�,
+							HSamplingType: data[0].鎶芥牱绫诲瀷,
+							HAcceptQty: data[0].鍏佽鏁�,
+							HInspectionLevel: data[0].妫�楠屾按骞�,
+							HRejectQty: data[0].鎷掔粷鏁�,
+							HStrictness: data[0].涓ユ牸搴�,
+							HSampleUnRightQty: data[0].鏍锋湰涓嶅悎鏍兼暟 || 0,
+							HSampleUnRightQty2: data[0].鏍锋湰涓嶅悎鏍兼暟,
+							HAQL: data[0].AQL,
+							HUnitID: data[0].HUnitID,
+							HUnit: data[0].鍗曚綅,
+							HInspectValB: data[0].妫�娴嬪�煎熀纭�璧勬枡,
+							HInspectVal: data[0].妫�娴嬪��,
+							HTargetValB: data[0].鐩爣鍊煎熀纭�璧勬枡,
+							HTargetVal: data[0].鐩爣鍊�,
+							HUpLimit: data[0].涓婇檺鍊�,
+							HDownLimit: data[0].涓嬮檺鍊�,
+							HUpOffSet: data[0].涓婂亸宸�,
+							HDownOffSet: data[0].涓嬪亸宸�,
+							HEntryID: data[0].hsubid,
+							HQCCheckItemName: data[0].妫�楠岄」鐩悕绉�,
+							HQCCheckItemID: data[0].HQCCheckItemID,
+							HShiftsID: data[0].HShiftsID,
+							HShiftsName: data[0].鐝鍚嶇О,
+							HErrTreatment: data[0].寮傚父涓存椂澶勭悊鏂规,
+							HBatchNo: data[0].鎵瑰彿,
+							HLastResult: data[0].鍒ゅ畾缁撹 == "鍚堟牸" ? true : false,
+							HTakeSampleCheckBillID: data[0].HTakeSampleCheckBillID,
+							HTakeSampleCheckBillNo: data[0].HTakeSampleCheckBillNo,
+							HAnalysisMethod: function() {
+								if (data[0].HAnalysisMethod == 1) {
+									return '瀹氭�ф楠�'
+								} else if (data[0].HAnalysisMethod == 2) {
+									return '瀹氶噺妫�楠�'
+								} else {
+									return '鍏朵粬妫�楠�'
+								}
+							}(),
+
+
+
+						});
+
+						for (let i = 0; i < data.length; i++) {
+							this.addCheckItem({
+								HQCCheckItemID: data[i].HQCCheckItemID,
+								HQCCheckItemNumber: data[i].妫�楠岄」鐩唬鐮�,
+								HQCCheckItemName: data[i].妫�楠岄」鐩悕绉�,
+								HInspectInstruMentID: data[i].HInspectInstruMentID,
+								HInspectInstruMentNumber: data[i].妫�楠屼华鍣ㄤ唬鐮�,
+								HInspectInstruMentName: data[i].妫�楠屼华鍣ㄥ悕绉�,
+								HQCStd: data[i].妫�楠屾爣鍑�,
+								HUnit: data[i].鍗曚綅鍚嶇О,
+								HQCNote: data[i].妫�楠岃褰�,
+								HResult: data[i].缁撹 == "鍚堟牸" ? 1 : 0,
+								HMax: data[i].鏈�澶у��,
+								HMin: data[i].鏈�灏忓��,
+								HAvg: data[i].骞冲潎鍊�,
+								HRemark: data[i].琛ㄤ綋澶囨敞,
+								HAnalysisMethod: data[i].鍒嗘瀽鏂规硶 == "瀹氭�у垎鏋�" ?
+									1 : data[i].鍒嗘瀽鏂规硶 == "瀹氶噺鍒嗘瀽" ?
+									2 : 3,
+								HKeyInspect: data[i].閲嶇偣妫�鏌� == "鍚�" ? false : true,
+								HSampleSchemeID: data[i].HSampleSchemeID,
+								HUnitID: data[i].HUnitID,
+								HInspectVal: data[i].妫�娴嬪��,
+								HTargetVal: data[i].鐩爣鍊�,
+								HUpLimit: data[i].涓婇檺鍊�,
+								HDownLimit: data[i].涓嬮檺鍊�,
+								HUpOffSet: data[i].涓婂亸宸�,
+								HDownOffSet: data[i].涓嬪亸宸�,
+								HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+								HSampleSchemeName: data[i].鎶芥牱鏂规鍚嶇О,
+								HSampleQty: data[i].鏍锋湰閲�,
+								HSampleDamageQty: data[i].鏍锋湰鐮村潖鏁�,
+								HAcceptQty: data[i].鍏佽鏁�,
+								HInspectionLevel: 0,
+								HRejectQty: data[i].鎷掔粷鏁�,
+								HStrictness: 0,
+								HSampleUnRightQty: data[i].鏍锋湰涓嶅悎鏍兼暟,
+								HAQL: data[i].AQL,
+								HSamplingType: 0,
+								HSamplingType: data[i].鎶芥牱绫诲瀷,
+								HStrictness: data[i].涓ユ牸搴�,
+								HInspectResultToSee: data[i].妫�楠岀粨鏋�
+							});
+
+						}
+
+
+						this.hasSourceBill = true
+					} else {
+						CommonUtils.showTips({
+							title: "娓╅Θ鎻愮ず",
+							message: `鍔犺浇鍗曟嵁澶辫触: ${Message}`,
+						});
+					}
+				} catch (err) {
+					CommonUtils.showTips({
+						title: "娓╅Θ鎻愮ず",
+						message: `鍔犺浇鍗曟嵁澶辫触: ${err}`,
+					});
+				}
+			},
+		},
+		async onLoad(e) {
+			this.operationType = e.operationType || 1;
+			this.hform.HInterID = e.linterid || 0;
+			if (this.operationType == 1) {
+				await this.getMaxBillNo();
+			} else if (this.operationType == 2) {
+
+			} else if (this.operationType == 3) {
+				await this.RoadBillMain();
+			}
+
+			await this.InitHSource();
+			await this.InitHWorkShift();
+			await this.InitHEmp();
+		},
+	};
+</script>
+
+<style lang="scss" scoped>
+	input {
+		width: inherit;
+		font-size: 26rpx;
+	}
+
+	.uni-input {
+		padding: 0;
+	}
+
+	.bill-main-tabs,
+	.bill-sub-tabs {
+		box-sizing: border-box;
+		width: 730rpx;
+		display: flex;
+		flex-direction: row;
+		flex-wrap: nowrap;
+		gap: 20rpx;
+		flex-shrink: 0;
+		overflow-x: auto;
+		border-bottom: 1px solid #ddd;
+		padding: 20rpx 10rpx;
+		white-space: nowrap;
+
+		view {
+			width: auto;
+			font-size: 26rpx;
+			color: #555;
+			text-align: center;
+			padding: 16rpx 0;
+		}
+
+		.selected {
+			color: #3a78ff;
+			font-weight: bold;
+			border-bottom: 3px solid #3a78ff;
+		}
+	}
+
+	.bill-main-content,
+	.bill-sub-content {
+		box-sizing: border-box;
+		padding: 0 30rpx 0 30rpx;
+		display: flex;
+		flex-direction: column;
+
+		.form-item {
+			width: 100%;
+			display: flex;
+			align-items: center;
+			font-size: 26rpx;
+			padding: 6rpx 0;
+
+			.left {
+				width: 208rpx;
+
+				text {
+					color: red;
+					font-weight: bold;
+				}
+			}
+
+			.right {
+				// width: 450rpx;
+				padding: 8rpx 20rpx;
+				font-size: 26rpx;
+				flex: 1;
+				border-radius: 22rpx;
+				border: 1px solid #acacac;
+
+				.uni-combox {
+					padding: 0;
+					height: auto;
+
+					.uni-input-placeholder,
+					.uni-input-input {
+						font-size: 26rpx;
+					}
+				}
+
+				.uni-combox::v-deep input {
+					height: inherit;
+					font-size: 26rpx;
+				}
+			}
+
+			.disabled {
+				border: 1px solid #e4e4e4;
+				background-color: #e4e4e4;
+			}
+
+			.none-border {
+				border: none;
+			}
+		}
+	}
+
+	.bottom-btn {
+		box-sizing: border-box;
+		width: 100%;
+		height: 120rpx;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		background-color: #fff;
+		box-shadow: 0 2rpx 10rpx 2rpx rgba(0, 0, 0, 0.4);
+		padding: 30rpx 40rpx 40rpx 40rpx;
+		display: flex;
+		flex-direction: row;
+		gap: 10rpx;
+
+		button {
+			border-radius: 50rpx;
+			width: 180rpx;
+			height: 66rpx;
+			line-height: 66rpx;
+			font-size: 28rpx;
+		}
+
+		.btn-a {
+			background-color: #3a78ff;
+			color: #fff;
+		}
+
+		.btn-b {
+			background-color: #41a863;
+			color: #fff;
+		}
+
+		.btn-c {
+			background-color: #acacac;
+			color: #fff;
+			// position: absolute;
+			// right: 120rpx;
+		}
+
+		.btn-d {
+			background-color: #ff8901;
+			color: #fff;
+		}
+	}
+
+	.buttons {
+		box-sizing: border-box;
+		width: 100%;
+		display: flex;
+		justify-content: center;
+		padding: 10rpx 0;
+
+		button {
+			border-radius: 50rpx;
+			width: 180rpx;
+			height: 66rpx;
+			line-height: 66rpx;
+			font-size: 26rpx;
+		}
+
+		.btn-a {
+			background-color: #acacac;
+			color: #fff;
+		}
+
+		.btn-b {
+			background-color: #41a863;
+			color: #fff;
+		}
+
+		.btn-c {
+			background-color: #3a78ff;
+			color: #fff;
+		}
+	}
+
+	.list {
+		width: 100%;
+
+		.card-detail {
+			width: 100%;
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+			align-items: center;
+			line-height: 120%;
+			gap: 10rpx 0;
+
+			input {
+				font-size: 26rpx;
+			}
+
+			.detail {
+				// width: 50%;
+				box-sizing: border-box;
+				font-size: 26rpx;
+				color: #555;
+				padding-right: 20rpx;
+
+				text {
+					color: #999;
+					font-size: 26rpx;
+				}
+			}
+
+			.editable {
+				width: 50%;
+				display: inline-flex;
+				flex-direction: row;
+				align-items: center;
+
+				text {
+					flex-shrink: 0;
+				}
+
+                .editable-input {
+                    border: 1px solid #acacac;
+                    border-radius: 5rpx;
+                    padding: 0 12rpx;
+                }
+            }
+        }
+    }
+
+	.icon-wrapper {
+		background-color: #3a78ff;
+		border-radius: 100%;
+		width: 40rpx;
+		height: 40rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-shrink: 0;
+
+		.uni-icons {
+			color: #fff !important;
+		}
+	}
+
+	.icon-wrapper-big {
+		background-color: #3a78ff;
+		border-radius: 100%;
+		width: 50rpx;
+		height: 50rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		flex-shrink: 0;
+		margin-left: 20rpx;
+
+		.uni-icons {
+			color: #fff !important;
+		}
+	}
+
+	.more {
+		color: #888;
+		font-size: 22rpx;
+		display: flex;
+		border-top: 1px solid #eee;
+		padding-top: 10rpx;
+
+		.part {
+			width: 100%;
+			text-align: center;
+		}
+	}
+
+	.pass-background {
+		background-color: #cee3f2;
+		border: none;
+	}
+
+	.unpass-background {
+		background-color: #f0d6e3;
+		border: none;
+	}
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/shoujianjianyan/firstCheckBillList.vue b/pages/ZLGL/shoujianjianyan/firstCheckBillList.vue
index da76898..a1551d8 100644
--- a/pages/ZLGL/shoujianjianyan/firstCheckBillList.vue
+++ b/pages/ZLGL/shoujianjianyan/firstCheckBillList.vue
@@ -34,7 +34,7 @@
             <button type="default" class="btn-c" size="mini" @tap="exit">閫�鍑�</button>
         </view>
         <view class="info-list-zone" id="scroll-content" :style="{height: scrollContentHeight + 'px'}">
-            <view class="card-item" v-for="(item, index) in listDataShow">
+            <view class="card-item" v-for="(item, index) in listDataShow" :key="index">
                 <uni-card :title="item['鍗曟嵁鍙�']" :extra="'鏃ユ湡:' + item['鏃ユ湡'].split('T')[0]"
                     @tap="showDetail = showDetail==index?-1:index">
                     <view class="card-detail">
diff --git a/pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList.vue b/pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList.vue
index ec7a3ea..5df530d 100644
--- a/pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList.vue
+++ b/pages/ZLGL/xunjianjianyan/PatrolProcCheckBillList.vue
@@ -34,7 +34,7 @@
             <button type="default" class="btn-c" size="mini" @tap="exit">閫�鍑�</button>
         </view>
         <view class="info-list-zone" id="scroll-content" :style="{height: scrollContentHeight + 'px'}">
-            <view class="card-item" v-for="(item, index) in listData">
+            <view class="card-item" v-for="(item, index) in listData" :key="index">
                 <uni-card :title="item['鍗曟嵁鍙�']" :extra="'鏃ユ湡:' + item['鏃ユ湡'].split('T')[0]"
                     @tap="showDetail = showDetail==index?-1:index">
                     <view class="card-detail">
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 9734bbf..a18b8f6 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -6,14 +6,14 @@
             </view>
         </view>
         <view class="mains">
-            <view v-if="!canEdit" :hidden="item.hidden" class="box" v-for="(item,index) in itemData" :key="index"
+            <view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData" :key="index"
                 @tap="toUrl(item)">
                 <image :src="item.img" mode=""></image>
                 <view class="texts">
                     {{item.text}}
                 </view>
             </view>
-            <view :enable-hidden="item.hidden" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
+            <view :enable-hidden="item.hidden" :hidden="!item.id" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
                 :key="index" @tap="switchHidden(index)">
                 <uni-icons class="edit-mark" color="red" type="closeempty"></uni-icons>
                 <image :src="item.img" mode=""></image>
@@ -557,6 +557,7 @@
                 Array.from(data).forEach(e => {
                     this.itemData[e["HIndex"]].hidden = !CommonUtils.stringToBoolean(e["HShowMode"])
                     this.itemData[e["HIndex"]].HMaker = e["HMaker"]
+					this.itemData[e["HIndex"]].id = e["HEntryID"];//id涓�0寮哄埗闅愯棌
                 })
             },
             switchHidden(index) {
diff --git a/pages/index/tab1.vue b/pages/index/tab1.vue
index 59457da..0624cfa 100644
--- a/pages/index/tab1.vue
+++ b/pages/index/tab1.vue
@@ -6,14 +6,14 @@
 			</view>
 		</view>
 		<view class="mains">
-			<view v-if="!canEdit" :hidden="item.hidden" class="box" v-for="(item,index) in itemData" :key="index"
+			<view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData" :key="index"
 				@tap="toUrl(item)">
 				<image :src="item.img" mode=""></image>
 				<view class="texts">
 					{{item.text}}
 				</view>
 			</view>
-			<view :enable-hidden="item.hidden" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
+			<view :enable-hidden="item.hidden" :hidden="!item.id" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
 				:key="index" @tap="switchHidden(index)">
 				<uni-icons class="edit-mark" color="red" type="closeempty"></uni-icons>
 				<image :src="item.img" mode=""></image>
@@ -247,7 +247,8 @@
 					menuName: this.menuListName
 				})
 				Array.from(data).forEach(e => {
-					this.itemData[e["HIndex"]].hidden = !CommonUtils.stringToBoolean(e["HShowMode"]) 
+					this.itemData[e["HIndex"]].hidden = !CommonUtils.stringToBoolean(e["HShowMode"])
+					this.itemData[e["HIndex"]].id = e["HEntryID"];//id涓�0寮哄埗闅愯棌
 				})
 			},
 			switchHidden(index) {
diff --git a/pages/index/tab2.vue b/pages/index/tab2.vue
index 445c3b3..357a4ec 100644
--- a/pages/index/tab2.vue
+++ b/pages/index/tab2.vue
@@ -6,14 +6,14 @@
 			</view>
 		</view>
 		<view class="mains">
-			<view v-if="!canEdit" :hidden="item.hidden" class="box" v-for="(item,index) in itemData" :key="index"
+			<view v-if="!canEdit" :hidden="item.hidden||!item.id" class="box" v-for="(item,index) in itemData" :key="index"
 				@tap="toUrl(item)">
 				<image :src="item.img" mode=""></image>
 				<view class="texts">
 					{{item.text}}
 				</view>
 			</view>
-			<view :enable-hidden="item.hidden" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
+			<view :enable-hidden="item.hidden" :hidden="!item.id" v-if="canEdit" class="box edit" v-for="(item,index) in itemData"
 				:key="index" @tap="switchHidden(index)">
 				<uni-icons class="edit-mark" color="red" type="closeempty"></uni-icons>
 				<image :src="item.img" mode=""></image>
@@ -430,6 +430,34 @@
 						"url": "/pages/zhuangxiangdan/table",
 						"id": 52,
 						"hidden": false
+					},
+					{
+						"img": "../../static/icon/icon8.png",
+						"text": "鏉ユ枡妫�楠屽崟",
+						"url": "/pages/ZLGL/lailiaojianyan/POStockInCheckBill",
+						"id": 53,
+						"hidden": false
+					},
+					{
+						"img": "../../static/icon/icon8.png",
+						"text": "鏉ユ枡妫�楠屽垪琛�",
+						"url": "/pages/ZLGL/lailiaojianyan/POStockInCheckBillList",
+						"id": 54,
+						"hidden": false
+					},
+					{
+						"img": "../../static/icon/icon8.png",
+						"text": "鐢熶骇鏍¢獙鍗�",
+						"url": "/pages/ZLGL/shengchanrukujiaoyan/QC_LastPieceCheckBill_v2",
+						"id": 53,
+						"hidden": false
+					},
+					{
+						"img": "../../static/icon/icon8.png",
+						"text": "鍑哄巶鏍¢獙鍗�",
+						"url": "/pages/ZLGL/chuchangjiaoyandan/QC_OutCompCheckBill",
+						"id": 54,
+						"hidden": false
 					}
                     
 				]
@@ -448,11 +476,13 @@
 				})
 				Array.from(data).forEach(e => {
 					this.itemData[e["HIndex"]].hidden = !CommonUtils.stringToBoolean(e["HShowMode"])
+					this.itemData[e["HIndex"]].id = e["HEntryID"];//id涓�0寮哄埗闅愯棌
 				})
 			},
 			switchHidden(index) {
 				this.updateCount++;
 				this.itemData[index].hidden = !this.itemData[index].hidden
+				
 			},
 			switchIconsModeHandler() {
 				this.canEdit = !this.canEdit
diff --git a/pages/shouliaotongzhi/table.vue b/pages/shouliaotongzhi/table.vue
index 88d092f..8571813 100644
--- a/pages/shouliaotongzhi/table.vue
+++ b/pages/shouliaotongzhi/table.vue
@@ -390,7 +390,7 @@
                     HMaterName,
                     HCoilNO,
                     HSupMaterNumber,
-                    HFurnaceNO,
+                    HFurnaceNO,//娆惧彿
                     HMaterModel,
                     HQty,
                     HPcsName,
diff --git a/pages/zutuo_xiaowei/form_xiaowei.vue b/pages/zutuo_xiaowei/form_xiaowei.vue
index 08b7514..f38ed97 100644
--- a/pages/zutuo_xiaowei/form_xiaowei.vue
+++ b/pages/zutuo_xiaowei/form_xiaowei.vue
@@ -85,7 +85,20 @@
             <button class="btn-d" size="mini" @tap="cmdDelete">鍒犻櫎</button>
             <button class="btn-c" size="mini" @tap="cmdExit">閫�鍑�</button>
         </view>
-
+		<!-- 鎵撳嵃妯″潡 -->
+		<labelPrinterComponentVue ref="labelPrinter" :printInfo="printInfo" :printMode="'cpcl'">
+		</labelPrinterComponentVue>
+		
+		<!-- 鎵撳嵃鏈洪�夋嫨鍒楄〃 -->
+		<view v-if="maskShow" class="uni-mask" @tap="maskShow = false">
+		    <scroll-view class="uni-scroll_box" scroll-y>
+		        <view class="uni-list-box" v-for="(device, index) in discoveredDevices" :key="index"
+		            @tap="connectBT(device)">
+		            <view class="uni-list_name">鍚嶇О锛歿{ device.name }}</view>
+		            <view class="uni-list_item">{{ connectedDeviceId === device.address?'宸茶繛鎺�':'鏈繛鎺�' }}</view>
+		        </view>
+		    </scroll-view>
+		</view>
         <view v-if="showResultTable" class="result-modal">
             <view class="modal-mask" @tap="closeResultTable"></view>
             <view class="modal-content">
@@ -105,10 +118,12 @@
                 </view>
                 <view class="modal-footer">
                     <button class="btn-a" size="mini" @tap="toAddNew">鏂板</button>
+					<button class="btn-a" size="mini" @tap="search">鎵撳嵃</button>
                     <view style="flex: 1;"></view>
                     <button class="btn-c" size="mini" @tap="closeResultTable">鍏抽棴</button>
                 </view>
-            </view>
+			</view>
+			
         </view>
     </view>
 </template>
@@ -124,9 +139,13 @@
     import {
         MpaasScan
     } from "@/utils/mpaasScan.js"
+	import labelPrinterComponentVue from "@/components/labelPrinterComponent/labelPrinterComponent.vue"
 import getdateTime from '../../utils/getdateTime';
     export default {
-        data() {
+        components: {
+            labelPrinterComponentVue
+        },
+		data() {
             return {
                 // 璁$畻鍒楄〃楂樺害
                 bottomBtnTop: 0,
@@ -188,7 +207,10 @@
                 titleData: [], //涓嶉渶瑕佹樉绀虹殑瀛楁
                 OperationType: 1, //浠庣紦瀛樺垪琛ㄤ腑杩斿洖鏁版嵁绫诲瀷锛�1鏂板銆�2浠庣紦瀛樺垪琛ㄤ腑杩斿洖锛�
                 HBarCode_Pack_Temp: "", //浠庣紦瀛樺垪琛ㄤ腑杩斿洖绠辨潯鐮�
-				
+				//钃濈墮鐩稿叧淇℃伅
+				printInfo: "",//鎵撳嵃鍐呭
+				maskShow: false,//钃濈墮鎵撳嵃鏈烘樉绀虹粦瀹�
+				printListData:[],//
 				//灞曠ず琛ㄥ崟
 				showResultTable: false, // 鎺у埗缁撴灉琛ㄦ牸鏄剧ず
 				    resultTableData: [], // 缁撴灉琛ㄦ牸鏁版嵁
@@ -577,6 +599,7 @@
 							if (count == 1) {
 								console.log('鏉$爜鐢熸垚鎴愬姛:', res.data.data[0]['鏉$爜缂栧彿']);
 								this.HBarCode_Pack = res.data.data[0]['鏉$爜缂栧彿'];
+								this.printListData = res.data.data;//鏉$爜淇℃伅淇濆瓨鐢ㄤ簬鎵撳嵃
 								resolve(this.HBarCode_Pack); // 瑙f瀽Promise
 							} else {
 								uni.showToast({
@@ -670,6 +693,7 @@
 				toAddNew() {
 				  // 閲嶇疆鏁版嵁锛屽噯澶囨柊澧�
 				  this.showResultTable = false;
+				  this.EnableSubmit=true;
 				  this.resultTableData = [];
 				  this.HBarCode_Pack = '';
 				  this.HBarCode = '';
@@ -685,7 +709,173 @@
 				},
             cmdExit() {
                 uni.navigateBack()
-            }
+            },
+			//鎵撳嵃妯″潡鍑芥暟
+			/**
+			 * 鎵撳嵃鍑芥暟
+			 */
+			async search() {
+			    // #ifndef APP-PLUS
+			    uni.showModal({
+			        content: "涓嶆敮鎸佽摑鐗欐墦鍗板姛鑳斤紝璇峰垏鎹㈢Щ鍔ㄨ澶�...",
+			    })
+			    return
+			    // #endif
+			    if (this.$printer.isConnected() === false) {
+			        this.$refs.labelPrinter.openPopup()
+			    } else {
+			        let printContent = []
+			        let printInfoBuffer = []
+			        let count = 0
+			        uni.showLoading()
+			        console.log('this.listData: ', this.printListData);
+			        for (let listOne of this.printListData) {
+			            let Message = await this.getPrintTemplate(listOne.HInterID, listOne.HItemID)
+			            printContent.push(Message)
+			            count++;
+			            if (count == 10) {
+			                printInfoBuffer.push(printContent.join("\r\n"))
+			                count = 0
+			                printContent = []
+			            }
+			        }
+			        uni.hideLoading()
+			        printInfoBuffer.push(printContent.join("\r\n"))
+			        this.printInfo = JSON.stringify(printInfoBuffer)
+			        printInfoBuffer = []
+			
+			        await this.$nextTick(() => {
+			            this.$refs.labelPrinter.execPrint()
+			        })
+			    }
+			},
+			/** 鑾峰彇鎵撳嵃妯℃澘
+			 * @param {Object} HInterID
+			 * @param {Object} HItemID
+			 */
+			async getPrintTemplate(HInterID,HItemID) {
+			    console.log('data: ', {
+			        HOrginationName: uni.getStorageSync("Organization"),
+			        HBillSubType: this.HBillType,
+			        HInterID: HInterID,
+			        HItemID: HItemID,
+			    })
+			    return new Promise((resolve, reject) => {
+			        CommonUtils.doRequest2({
+			            url: "/Sc_BarCode/Get_BarCodePrintCode_CPCL",
+			            data: {
+			                HOrginationName: uni.getStorageSync("Organization"),
+			                HBillSubType: this.HBillType,
+			                HInterID: HInterID,
+			                HItemID: HItemID,
+			            }, 
+			            resFunction: (res) => {
+			                let {
+			                    Message,
+			                    count
+			                } = res.data
+			                if (count == 1) {
+			                    console.log('Message: ',Message);
+			                    resolve(Message)
+			                } else {
+			                    uni.showToast({
+			                        icon: 'none',
+			                        title: Message
+			                    })
+			                    reject();
+			                }
+			            },
+			            errFunction: (err) => {
+			                reject();
+			            },
+			
+			        })
+			    })
+			},
+			/**
+			 * 鏌ユ壘鎵撳嵃鏈�
+			 */
+			async searchLabelPrinter() {
+			    // 鏌ユ壘鎵撳嵃鏈�
+			    var that = this
+			    // 浣跨敤openBluetoothAdapter 鎺ュ彛锛屽厤鍘讳富鍔ㄧ敵璇锋潈闄愮殑楹荤儲
+			    uni.openBluetoothAdapter({
+			        success: async (res) => {
+			            await this.checkPermission();
+			            console.log('start discovery devices');
+			            this.discoveredDevices = [];
+			            console.log(res)
+			            bluetoothTool.discoveryNewDevice();
+			            this.maskShow = true
+			        },
+			        fail: async (e) => {
+			            console.error(e)
+			            switch (e.code) {
+			                case "10009":
+			                    this.showToast("姝よ澶囦笉鏀寔璁惧鎼滅储鍔熻兘!");
+			                    break;
+			                default:
+			                    console.error(e);
+			            }
+			        }
+			    })
+			
+			},
+			onDevice(device) {
+			    console.log("鐩戝惉瀵绘壘鍒版柊璁惧鐨勪簨浠�---------------")
+			    console.log(device)
+			    if (typeof device === 'undefined') return;
+			    if (typeof device.name === 'undefined') return;
+			    console.log(device.name);
+			    if (device.name === '') return;
+			    if (device.name === null) return;
+			    if (device.name.toUpperCase().endsWith('_BLE') ||
+			        device.name.toUpperCase().endsWith('-LE') ||
+			        device.name.toUpperCase().endsWith('-BLE')) return;
+			    const isDuplicate = this.discoveredDevices.find(item => item.address === device.address);
+			    if (isDuplicate) return;
+			    this.discoveredDevices.push(device);
+			},
+			connectBT(device) {
+			    const vm = this;
+			    uni.showLoading({
+			        title: '杩炴帴涓�'
+			    });
+			    bluetoothTool.connDevice(device.address, (result) => {
+			        console.log(result)
+			        uni.hideLoading()
+			        if (result) {
+			            // 	// console.log(result);
+			            bluetoothTool.cancelDiscovery();
+			            // console.log(vm.$printer)
+			            vm.$printer.init(new FakeConnectedDevice());
+			            vm.connectedDeviceId = device.address;
+			            uni.showToast({
+			                icon: 'none',
+			                title: '杩炴帴鎴愬姛'
+			            })
+			            this.maskShow = false
+			        } else {
+			            uni.showToast({
+			                icon: 'none',
+			                title: '杩炴帴澶辫触'
+			            })
+			        }
+			    });
+			},
+			stopSearchBT() {
+			    console.log("鍋滄鎼滃闄勮繎鐨勮摑鐗欏鍥磋澶�---------------")
+			    bluetoothTool.cancelDiscovery();
+			},
+			closeBluetooth() {
+			    console.log("鍋滄钃濈墮杩炴帴")
+			    const vm = this;
+			    if (vm.connectedDeviceId != '') {
+			        bluetoothTool.closeBtSocket();
+			        vm.connectedDeviceId = "";
+			    }
+			},
+			
         },
         computed: {
             listTableHeight: {
@@ -744,7 +934,19 @@
         padding: 8rpx 20rpx;
         font-size: 30rpx;
     }
-
+	.uni-mask {
+	    position: fixed;
+	    top: 0;
+	    left: 0;
+	    bottom: 0;
+	    z-index: 3;
+	    display: flex;
+	    align-items: center;
+	    width: 100%;
+	    background: rgba(0, 0, 0, 0.6);
+	    padding: 0 30rpx;
+	    box-sizing: border-box;
+	}
     .form {
         display: flex;
         flex-direction: column;
@@ -868,7 +1070,7 @@
 	  left: 0;
 	  width: 100%;
 	  height: 100%;
-	  z-index: 9999;
+	  z-index: 2;
 	  
 	  .modal-mask {
 	    position: absolute;
diff --git a/utils/menuListApp.js b/utils/menuListApp.js
index 14d15eb..e176ca5 100644
--- a/utils/menuListApp.js
+++ b/utils/menuListApp.js
@@ -51,16 +51,16 @@
 	let oMain = ""
 	let oMainSub = []
 	Array.from(payload).forEach((one, index) => {
-		if (one.hidden == true) {
-			oMainSub.push({
-				HEntryID: one.id,
-				HIndex: index,
-				HName: one.text,
-				HPicNum: one.img,
-				HShowMode: !one.hidden,
-				HMenuName: menuName,
-			})
-		}
+		
+		oMainSub.push({
+			HEntryID: one.id,
+			HIndex: index,
+			HName: one.text,
+			HPicNum: one.img,
+			HShowMode: !one.hidden,
+			HMenuName: menuName,
+		})
+		
 	})
 	oMain = JSON.stringify(oMainSub) + ";" + user + ";" + menuName + ";" +
 		deviceType

--
Gitblit v1.9.1