From 657b67ff21e0389b75aea7ee547aec2fbcb35bf3 Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期一, 02 二月 2026 17:24:26 +0800
Subject: [PATCH] Merge branch 'Dev' of http://101.37.171.70:10101/r/~jhz/STUWMS into Dev

---
 pages/CustomerComplaintsBill/CustomerComplaintsBillDetail.vue  |  742 ++++++++++
 pages/shengchanlingliaoshengdan/Kf_MateOutBill.vue             |    1 
 pages.json                                                     |   30 
 pages/xiaoshouchuku/SellOutBill.vue                            |    3 
 pages/index/tab4.vue                                           |   14 
 pages/qitaruku_v2/OtherInBill.vue                              |    2 
 pages/CustomerComplaintsBill/CustomerComplaintsBillEdit.vue    | 1093 ++++++++++++++
 pages/shengchanrukushengdan/Kf_ProductInBill.vue               |   12 
 pages/caigouruku/POStockInBill.vue                             |    1 
 pages/ZLGL/style/MJBillStyle.scss                              |   15 
 pages/CustomerComplaintsBill/CustomerComplaintsBillList.vue    |  618 ++++++++
 pages/ZLGL/Kf_SellOutBill_CusBar/Kf_SellOutBill_CusBar_APP.vue | 1733 +++++++++++++++++++++++
 pages/caigoutuiliao/POStockInBackBill.vue                      |    1 
 manifest.json                                                  |    4 
 pages/fenbushidiaorudan/form_test.vue                          |   61 
 pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue     |    1 
 pages/zhijiediaobo/MoveStockBill.vue                           |    4 
 pages/index/login.vue                                          |    2 
 pages/shengchanlingliao/PPickingCheckBill.vue                  |    1 
 pages/xiaoshoutuihuo/ICStockBillMain.vue                       |    2 
 pages/fenbushidiaochudan/form_out.vue                          |   29 
 pages/qitachuku_v2/OtherOutBill.vue                            |    1 
 22 files changed, 4,345 insertions(+), 25 deletions(-)

diff --git a/manifest.json b/manifest.json
index b542431..febe6cf 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
     "name" : "鏅轰簯LMES",
     "appid" : "__UNI__B002F49",
     "description" : "",
-    "versionName" : "2.0.66",
-    "versionCode" : 266,
+    "versionName" : "2.0.69",
+    "versionCode" : 269,
     "transformPx" : false,
     /* 5+App鐗规湁鐩稿叧 */
     "app-plus" : {
diff --git a/pages.json b/pages.json
index 9f2db90..9f59f49 100644
--- a/pages.json
+++ b/pages.json
@@ -1729,7 +1729,35 @@
 		    {
 		        "navigationBarTitleText" : "鐗规壒鍗�"
 		    }
-		}
+		},
+		{
+		    "path" : "pages/ZLGL/Kf_SellOutBill_CusBar/Kf_SellOutBill_CusBar_APP",
+		    "style" : 
+		    {
+		        "navigationBarTitleText" : "閿�鍞嚭搴撳崟(楠岃瘉)"
+		    }
+		},
+        {
+		    "path" : "pages/CustomerComplaintsBill/CustomerComplaintsBillList",
+		    "style" : 
+		    {
+		        "navigationBarTitleText" : "瀹㈣瘔鍗曞垪琛�"
+		    }
+		},
+		{
+		    "path" : "pages/CustomerComplaintsBill/CustomerComplaintsBillDetail",
+		    "style" : 
+		    {
+		        "navigationBarTitleText" : "瀹㈣瘔鍗�"
+		    }
+		},
+		{
+		    "path" : "pages/CustomerComplaintsBill/CustomerComplaintsBillEdit",
+		    "style" : 
+		    {
+		        "navigationBarTitleText" : "瀹㈣瘔鍗曠紪杈�"
+		    }
+        }
 		
 
 
diff --git a/pages/CustomerComplaintsBill/CustomerComplaintsBillDetail.vue b/pages/CustomerComplaintsBill/CustomerComplaintsBillDetail.vue
new file mode 100644
index 0000000..8364894
--- /dev/null
+++ b/pages/CustomerComplaintsBill/CustomerComplaintsBillDetail.vue
@@ -0,0 +1,742 @@
+<template>
+	<view class="container">
+		<view class="header">
+			<view class="title">瀹㈣瘔澶勭悊鍗曟槑缁�</view>
+			<view class="sub-title">{{ HBillNo }}</view>
+		</view>		
+		<!-- Tab鍒囨崲 -->
+		<view class="tab-container">
+			<view class="tabs">
+				<view 
+					class="tab-item" 
+					:class="{'active': currentTab === 0}" 
+					@click="switchTab(0)"
+				>
+					鍩烘湰淇℃伅
+				</view>
+				<view 
+					class="tab-item" 
+					:class="{'active': currentTab === 1}" 
+					@click="switchTab(1)"
+				>
+					瀹℃牳淇℃伅
+				</view>
+				<!-- <view 
+					class="tab-item" 
+					:class="{'active': currentTab === 2}" 
+					@click="switchTab(2)"
+				>
+					鐗╂枡淇℃伅
+				</view> -->
+			</view>
+			<view class="tab-indicator" :style="indicatorStyle"></view>
+		</view>
+		
+		<scroll-view 
+			scroll-y 
+			class="content" 
+			:style="{height: scrollHeight + 'px'}"
+		>
+			<!-- Tab 0: 鍩烘湰淇℃伅 -->
+			<view v-if="currentTab === 0" class="tab-content">
+				<view class="info-card">
+					<view class="card-title">璁㈠崟鍩烘湰淇℃伅</view>
+					<view class="info-grid">
+						<view class="info-item" v-if="orderInfo.鏃ユ湡">
+							<text class="label">鏃ユ湡锛�</text>
+							<text class="value">{{ orderInfo.鏃ユ湡 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.鍗曟嵁鍙�">
+							<text class="label">鍗曟嵁鍙凤細</text>
+							<text class="value">{{ orderInfo.鍗曟嵁鍙� }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.鍗曟嵁鐘舵��">
+							<text class="label">鍗曟嵁鐘舵�侊細</text>
+							<text class="value">{{ orderInfo.鍗曟嵁鐘舵�� }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.涓婚">
+							<text class="label">涓婚锛�</text>
+							<text class="value">{{ orderInfo.涓婚 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.璁㈠崟鍙�">
+							<text class="label">璁㈠崟鍙凤細</text>
+							<text class="value">{{ orderInfo.璁㈠崟鍙� }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.涓诲浜�">
+							<text class="label">涓诲浜猴細</text>
+							<text class="value">{{ orderInfo.涓诲浜� }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.瀹㈡湇">
+							<text class="label">瀹㈡湇锛�</text>
+							<text class="value">{{ orderInfo.瀹㈡湇 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.瀹㈡埛">
+							<text class="label">瀹㈡埛锛�</text>
+							<text class="value">{{ orderInfo.瀹㈡埛 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.瀹㈡埛鑱旂郴浜�">
+							<text class="label">瀹㈡埛鑱旂郴浜猴細</text>
+							<text class="value">{{ orderInfo.瀹㈡埛鑱旂郴浜� }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.鎶曡瘔鍒嗙被">
+							<text class="label">鎶曡瘔鍒嗙被锛�</text>
+							<text class="value">{{ orderInfo.鎶曡瘔鍒嗙被 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.鎶曡瘔鏃堕棿">
+							<text class="label">鎶曡瘔鏃堕棿锛�</text>
+							<text class="value">{{ orderInfo.鎶曡瘔鏃堕棿 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.鍙戠敓鏃堕棿">
+							<text class="label">鍙戠敓鏃堕棿锛�</text>
+							<text class="value">{{ orderInfo.鍙戠敓鏃堕棿 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.绱ф�ョ▼搴�">
+							<text class="label">绱ф�ョ▼搴︼細</text>
+							<text class="value">{{ orderInfo.绱ф�ョ▼搴� }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.杞﹂棿">
+							<text class="label">杞﹂棿锛�</text>
+							<text class="value">{{ orderInfo.杞﹂棿 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.瀹屾垚鏁伴噺">
+							<text class="label">瀹屾垚鏁伴噺锛�</text>
+							<text class="value">{{ orderInfo.瀹屾垚鏁伴噺 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.涓嶈壇鏁伴噺">
+							<text class="label">涓嶈壇鏁伴噺锛�</text>
+							<text class="value">{{ orderInfo.涓嶈壇鏁伴噺 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.涓嶈壇鍘熷洜">
+							<text class="label">涓嶈壇鍘熷洜锛�</text>
+							<text class="value">{{ orderInfo.涓嶈壇鍘熷洜 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.闂鏉ユ簮">
+							<text class="label">闂鏉ユ簮锛�</text>
+							<text class="value">{{ orderInfo.闂鏉ユ簮 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.鍙戠敓宸ュ簭">
+							<text class="label">鍙戠敓宸ュ簭锛�</text>
+							<text class="value">{{ orderInfo.鍙戠敓宸ュ簭 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.澶勭悊缁撴灉">
+							<text class="label">澶勭悊缁撴灉锛�</text>
+							<text class="value">{{ orderInfo.澶勭悊缁撴灉 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.鏄惁鍋滅嚎">
+							<text class="label">鏄惁鍋滅嚎锛�</text>
+							<text class="value">{{ orderInfo.鏄惁鍋滅嚎 }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.鏄惁閲嶅鍙戠敓">
+							<text class="label">鏄惁閲嶅鍙戠敓锛�</text>
+							<text class="value">{{ orderInfo.鏄惁閲嶅鍙戠敓 }}</text>
+						</view>
+						<view class="info-item full-width" v-if="orderInfo.鏄惁娑夊強鐗╂枡">
+							<text class="label">鏄惁娑夊強鐗╂枡锛�</text>
+							<text class="value">{{ orderInfo.鏄惁娑夊強鐗╂枡 }}</text>
+						</view>
+					</view>
+				</view>
+			</view>
+			
+			<!-- Tab 1: 瀹℃牳淇℃伅 -->
+			<view v-if="currentTab === 1" class="tab-content">
+				<view class="info-card">
+					<view class="card-title">瀹℃壒娴佺▼淇℃伅</view>
+					<view class="info-grid">
+						<view class="info-item" v-if="orderInfo.鍒跺崟浜�">
+							<text class="label">鍒跺崟浜猴細</text>
+							<text class="value">{{ orderInfo.鍒跺崟浜� }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.鍒跺崟鏃ユ湡">
+							<text class="label">鍒跺崟鏃ユ湡锛�</text>
+							<text class="value">{{ formatDate(orderInfo.鍒跺崟鏃ユ湡) }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.瀹℃牳浜�">
+							<text class="label">瀹℃牳浜猴細</text>
+							<text class="value">{{ orderInfo.瀹℃牳浜� }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.瀹℃牳鏃ユ湡">
+							<text class="label">瀹℃牳鏃ユ湡锛�</text>
+							<text class="value">{{ formatDate(orderInfo.瀹℃牳鏃ユ湡) }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.淇敼浜�">
+							<text class="label">淇敼浜猴細</text>
+							<text class="value">{{ orderInfo.淇敼浜� }}</text>
+						</view>
+						<view class="info-item" v-if="orderInfo.淇敼鏃ユ湡">
+							<text class="label">淇敼鏃ユ湡锛�</text>
+							<text class="value">{{ formatDate(orderInfo.淇敼鏃ユ湡) }}</text>
+						</view>
+					</view>
+				</view>
+			</view>
+			
+			<!-- Tab 2: 鐗╂枡淇℃伅 -->
+			<view v-if="currentTab === 2" class="tab-content">
+				<view class="material-list">
+					<view 
+						v-for="(item, index) in materialList" 
+						:key="index" 
+						class="material-card"
+					>
+						<view class="material-header">
+							<text class="material-code">{{ item.鐗╂枡缂栫爜 || '鐗╂枡' + (index + 1) }}</text>
+							<text class="material-name">{{ item.鐗╂枡鍚嶇О }}</text>
+						</view>
+						<view class="material-info">
+							<view class="info-row">
+								<view class="info-col" v-if="item.瑙勬牸鍨嬪彿">
+									<text class="label">瑙勬牸鍨嬪彿锛�</text>
+									<text class="value">{{ item.瑙勬牸鍨嬪彿 }}</text>
+								</view>
+								<view class="info-col" v-if="item.璁¢噺鍗曚綅浠g爜">
+									<text class="label">鍗曚綅浠g爜锛�</text>
+									<text class="value">{{ item.璁¢噺鍗曚綅浠g爜 }}</text>
+								</view>
+								<view class="info-col" v-if="item.璁¢噺鍗曚綅鍚嶇О">
+									<text class="label">璁¢噺鍗曚綅鍚嶇О锛�</text>
+									<text class="value">{{ item.璁¢噺鍗曚綅鍚嶇О }}</text>
+								</view>
+								<view class="info-col" v-if="item.鐗╂枡鏂欏彿">
+									<text class="label">鐗╂枡鏂欏彿锛�</text>
+									<text class="value">{{ item.鐗╂枡鏂欏彿 }}</text>
+								</view>
+								<view class="info-col" v-if="item.涓嶈壇鍝丼N鐮�">
+									<text class="label">涓嶈壇鍝丼N鐮侊細</text>
+									<text class="value">{{ item.涓嶈壇鍝丼N鐮� }}</text>
+								</view>
+								<view class="info-col" v-if="闂鐜拌薄绠�杩�">
+									<text class="label">闂鐜拌薄绠�杩帮細</text>
+									<text class="value">{{ item.闂鐜拌薄绠�杩� }}</text>
+								</view>
+								<view class="info-col" v-if="闂璇︾粏鎻忚堪">
+									<text class="label">闂璇︾粏鎻忚堪锛�</text>
+									<text class="value">{{ item.闂璇︾粏鎻忚堪 }}</text>
+								</view>
+							</view>
+							
+							<view class="info-row">
+								<view class="info-col" v-if="item.鎵瑰彿">
+									<text class="label">鎵瑰彿锛�</text>
+									<text class="value">{{ item.鎵瑰彿 }}</text>
+								</view>
+								<view class="info-col" v-if="item.鏁伴噺">
+									<text class="label">鏁伴噺锛�</text>
+									<text class="value">{{ item.鏁伴噺 }}</text>
+								</view>
+								<view class="info-col" v-if="item.鐢熶骇鍏ュ簱鏁伴噺">
+									<text class="label">鐢熶骇鍏ュ簱鏁伴噺锛�</text>
+									<text class="value">{{ item.鐢熶骇鍏ュ簱鏁伴噺 }}</text>
+								</view>
+								<view class="info-col" v-if="item.寮�绁ㄦ暟閲�">
+									<text class="label">寮�绁ㄦ暟閲忥細</text>
+									<text class="value">{{ item.寮�绁ㄦ暟閲� }}</text>
+								</view>
+							</view>
+							
+							<view class="info-row">
+								<view class="info-col" v-if="item.鍏宠仈鏁伴噺">
+									<text class="label">鍏宠仈鏁伴噺锛�</text>
+									<text class="value">{{ item.鍏宠仈鏁伴噺 }}</text>
+								</view>
+								<view class="info-col" v-if="item.鏈叧鑱旀暟閲�">
+									<text class="label">鏈叧鑱旀暟閲忥細</text>
+									<text class="value">{{ item.鏈叧鑱旀暟閲� }}</text>
+								</view>
+							</view>
+							
+							<view class="info-row">
+								<view class="info-col" v-if="item.鍚◣鍗曚环">
+									<text class="label">鍚◣鍗曚环锛�</text>
+									<text class="value">{{ item.鍚◣鍗曚环 }}</text>
+								</view>
+								<view class="info-col" v-if="item.鎶樻墸鐜�">
+									<text class="label">鎶樻墸鐜囷細</text>
+									<text class="value">{{ item.鎶樻墸鐜� }}</text>
+								</view>
+								<view class="info-col" v-if="item.瀹為檯鍚◣鍗曚环">
+									<text class="label">瀹為檯鍗曚环锛�</text>
+									<text class="value">{{ item.瀹為檯鍚◣鍗曚环 }}</text>
+								</view>
+							</view>
+							
+							<view class="info-row">
+								<view class="info-col" v-if="item.鍗曚环">
+									<text class="label">鍗曚环锛�</text>
+									<text class="value">{{ item.鍗曚环 }}</text>
+								</view>
+								<view class="info-col" v-if="item.閲戦">
+									<text class="label">閲戦锛�</text>
+									<text class="value">{{ item.閲戦 }}</text>
+								</view>
+								<view class="info-col" v-if="item.閿�鍞嚭搴撳鏍搁噾棰�">
+									<text class="label">閿�鍞嚭搴撳鏍搁噾棰濓細</text>
+									<text class="value">{{ item.閿�鍞嚭搴撳鏍搁噾棰� }}</text>
+								</view>
+								<view class="info-col" v-if="item.閿�鍞嚭搴撳鏍搁噾棰�">
+									<text class="label">閿�鍞嚭搴撳鏍搁噾棰濓細</text>
+									<text class="value">{{ item.閿�鍞嚭搴撳鏍搁噾棰� }}</text>
+								</view>
+								<view class="info-col" v-if="item.閿�鍞��搴撴暟閲�">
+									<text class="label">閿�鍞��搴撴暟閲忥細</text>
+									<text class="value">{{ item.閿�鍞��搴撴暟閲� }}</text>
+								</view>
+								<view class="info-col" v-if="item.閿�鍞��搴撳鏍告暟閲�">
+									<text class="label">閿�鍞��搴撳鏍告暟閲忥細</text>
+									<text class="value">{{ item.閿�鍞��搴撳鏍告暟閲� }}</text>
+								</view>
+								<view class="info-col" v-if="item.鏄惁涓嬫帹鐢熶骇璁㈠崟">
+									<text class="label">鏄惁涓嬫帹鐢熶骇璁㈠崟锛�</text>
+									<text class="value">{{ item.鏄惁涓嬫帹鐢熶骇璁㈠崟 }}</text>
+								</view>
+							</view>
+							
+							<view class="info-row">
+								<view class="info-col" v-if="item.瀹㈡埛鐗╂枡缂栫爜">
+									<text class="label">瀹㈡埛鐗╂枡缂栫爜锛�</text>
+									<text class="value">{{ item.瀹㈡埛鐗╂枡缂栫爜 }}%</text>
+								</view>
+								<view class="info-col" v-if="item.瀹㈡埛瑙勬牸鍨嬪彿">
+									<text class="label">瀹㈡埛瑙勬牸鍨嬪彿锛�</text>
+									<text class="value">{{ item.瀹㈡埛瑙勬牸鍨嬪彿 }}%</text>
+								</view>
+								<view class="info-col" v-if="item.瀹㈡埛鐗╂枡鍚嶇О">
+									<text class="label">瀹㈡埛鐗╂枡鍚嶇О锛�</text>
+									<text class="value">{{ item.瀹㈡埛鐗╂枡鍚嶇О }}%</text>
+								</view>
+								<view class="info-col" v-if="item.鏄惁鍙栧簱瀛�">
+									<text class="label">鏄惁鍙栧簱瀛橈細</text>
+									<text class="value">{{ item.鏄惁鍙栧簱瀛� }}%</text>
+								</view>
+								<view class="info-col" v-if="item.鍓╀綑璁㈤噾">
+									<text class="label">鍓╀綑璁㈤噾锛�</text>
+									<text class="value">{{ item.鍓╀綑璁㈤噾 }}%</text>
+								</view>
+								<view class="info-col" v-if="item.鎶ュ簾鏁伴噺">
+									<text class="label">鎶ュ簾鏁伴噺锛�</text>
+									<text class="value">{{ item.鎶ュ簾鏁伴噺 }}%</text>
+								</view>
+								<view class="info-col" v-if="item.鐢熶骇鍏ュ簱鏁伴噺">
+									<text class="label">鐢熶骇鍏ュ簱鏁伴噺锛�</text>
+									<text class="value">{{ item.鐢熶骇鍏ュ簱鏁伴噺 }}%</text>
+								</view>
+								<!-- -->
+								<view class="info-col" v-if="item.绋庣巼">
+									<text class="label">绋庣巼锛�</text>
+									<text class="value">{{ item.绋庣巼 }}%</text>
+								</view>
+								<view class="info-col" v-if="item.绋庨">
+									<text class="label">绋庨锛�</text>
+									<text class="value">{{ item.绋庨 }}</text>
+								</view>
+								<view class="info-col" v-if="item.浠风◣鍚堣">
+									<text class="label">浠风◣鍚堣锛�</text>
+									<text class="value">{{ item.浠风◣鍚堣 }}</text>
+								</view>
+							</view>
+							
+							<view class="info-row" v-if="item.浜よ揣鏃ユ湡">
+								<view class="info-col full-width">
+									<text class="label">浜よ揣鏃ユ湡锛�</text>
+									<text class="value">{{ item.浜よ揣鏃ユ湡 }}</text>
+								</view>
+							</view>
+							<view class="info-row" v-if="item.鎶曟枡">
+								<view class="info-col full-width">
+									<text class="label">鎶曟枡锛�</text>
+									<text class="value">{{ item.鎶曟枡 }}</text>
+								</view>
+							</view>
+							<view class="info-row" v-if="item.娣卞姞宸�">
+								<view class="info-col full-width">
+									<text class="label">娣卞姞宸ワ細</text>
+									<text class="value">{{ item.娣卞姞宸� }}</text>
+								</view>
+							</view>
+						</view>
+					</view>
+					
+					<view v-if="materialList.length === 0" class="empty-state">
+						<uni-icons type="list" size="50" color="#ccc"></uni-icons>
+						<text class="empty-text">鏆傛棤鐗╂枡淇℃伅</text>
+					</view>
+				</view>
+			</view>
+		</scroll-view>
+		
+		<view class="footer">
+			<button class="back-btn" @click="goBack">杩斿洖</button>
+		</view>
+		
+		<uni-load-more v-if="loading" status="loading" :content-text="loadingText"></uni-load-more>
+	</view>
+</template>
+
+<script>
+	import { CommonUtils } from '@/utils/common.js'
+	import { getUserInfo } from "../../utils/auth";
+	
+	export default {
+		data() {
+			return {
+				// 鍙傛暟
+				linterid: '',
+				HBillNo: '',
+				
+
+				currentTab: 0,
+				scrollHeight: 0,
+				loading: false,
+				loadingText: {
+					contentdown: '涓婃媺鏄剧ず鏇村',
+					contentrefresh: '姝e湪鍔犺浇...',
+					contentnomore: '娌℃湁鏇村鏁版嵁浜�'
+				},
+				
+	
+				orderInfo: {},
+				materialList: [], 
+				allData: [], 
+			}
+		},
+		computed: {
+			indicatorStyle() {
+				const tabWidth = 100 / 3;
+				return {
+					width: tabWidth + '%',
+					transform: `translateX(${this.currentTab * 100}%)`
+				};
+			}
+		},
+		onLoad(options) {
+			if (options.linterid && options.HBillNo) {
+				this.linterid = options.linterid;
+				this.HBillNo = options.HBillNo;
+				this.loadOrderDetail();
+			} else {
+				uni.showToast({
+					title: '鍙傛暟閿欒',
+					icon: 'error'
+				});
+				setTimeout(() => {
+					uni.navigateBack();
+				}, 1500);
+			}
+			
+			// 璁$畻婊氬姩鍖哄煙楂樺害
+			this.calcScrollHeight();
+		},
+		onReady() {
+			
+			uni.onWindowResize(() => {
+				this.calcScrollHeight();
+			});
+		},
+		methods: {
+			
+			calcScrollHeight() {
+				const systemInfo = uni.getSystemInfoSync();
+				const windowHeight = systemInfo.windowHeight;
+				const query = uni.createSelectorQuery().in(this);
+				query.select('.header').boundingClientRect();
+				query.select('.tab-container').boundingClientRect();
+				query.select('.footer').boundingClientRect();
+				query.exec((res) => {
+					if (res[0] && res[1] && res[2]) {
+						const headerHeight = res[0].height;
+						const tabHeight = res[1].height;
+						const footerHeight = res[2].height;
+						const margin = 5; // 瀹夊叏杈硅窛
+						
+						this.scrollHeight = windowHeight - headerHeight - tabHeight - footerHeight - margin;
+					}
+				});
+			},
+			
+			
+			switchTab(index) {
+				this.currentTab = index;
+			},
+			
+			
+			loadOrderDetail() {
+				this.loading = true;
+				
+				
+				const sWhere = ` and HInterID = '${this.linterid}'`;
+				
+				CommonUtils.doRequest2({
+					url: '/Crm_CustomerAppealBill/list',
+					data: {
+						sWhere: sWhere,
+						user: getUserInfo()["Czymc"],
+						// Organization:getUserInfo()["Organization"],
+						// page:1,
+						// size:50
+					},
+					resFunction: (res) => {
+						this.loading = false;
+						
+						if (res.data.Message === "鏃犳煡鐪嬫潈闄愶紒") {
+							uni.showToast({
+								icon: 'none',
+								title: res.data.Message
+							});
+							return;
+						}
+						
+						if (res.data.code === "1" && res.data.data && res.data.data.length > 0) {
+							this.allData = res.data.data;
+							
+							this.orderInfo = { ...this.allData[0] };
+							
+							this.materialList = this.allData;
+							
+							
+							if (!this.orderInfo.鍗曟嵁鍙� && this.HBillNo) {
+								this.orderInfo.鍗曟嵁鍙� = this.HBillNo;
+							}
+						} else {
+							uni.showToast({
+								title: '鏈壘鍒拌鍗曚俊鎭�',
+								icon: 'none'
+							});
+						}
+					},
+					errFunction: (err) => {
+						this.loading = false;
+						uni.showToast({
+							title: '鍔犺浇澶辫触',
+							icon: 'error'
+						});
+						console.error('鍔犺浇璁㈠崟璇︽儏澶辫触:', err);
+					}
+				});
+			},
+			
+			
+			formatDate(dateStr) {
+				if (!dateStr) return '';
+				
+				if (dateStr.length >= 10) {
+					return dateStr.substr(0, 10);
+				}
+				return dateStr;
+			},
+			
+			// 杩斿洖涓婁竴椤�
+			goBack() {
+				uni.navigateBack();
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		display: flex;
+		flex-direction: column;
+		height: 100vh;
+		background-color: #f5f5f5;
+	}
+	
+	.header {
+		padding: 30rpx;
+		background: linear-gradient(135deg, #3a78ff 0%, #5a9cff 100%);
+		color: white;
+		text-align: center;
+		
+		.title {
+			font-size: 36rpx;
+			font-weight: bold;
+			margin-bottom: 10rpx;
+		}
+		
+		.sub-title {
+			font-size: 28rpx;
+			opacity: 0.9;
+		}
+	}
+	
+	.tab-container {
+		background-color: white;
+		position: relative;
+		box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05);
+		
+		.tabs {
+			display: flex;
+			
+			.tab-item {
+				flex: 1;
+				text-align: center;
+				padding: 25rpx 0;
+				font-size: 30rpx;
+				color: #666;
+				transition: all 0.3s;
+				
+				&.active {
+					color: #3a78ff;
+					font-weight: bold;
+				}
+			}
+		}
+		
+		.tab-indicator {
+			height: 4rpx;
+			background-color: #3a78ff;
+			transition: transform 0.3s ease;
+		}
+	}
+	
+	.content {
+		flex: 1;
+	}
+	
+	.tab-content {
+		padding: 20rpx;
+	}
+	
+	.info-card {
+		background-color: white;
+		border-radius: 16rpx;
+		padding: 30rpx;
+		margin-bottom: 20rpx;
+		box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.05);
+		
+		.card-title {
+			font-size: 32rpx;
+			font-weight: bold;
+			color: #333;
+			margin-bottom: 30rpx;
+			padding-bottom: 15rpx;
+			border-bottom: 1rpx solid #eee;
+		}
+		
+		.info-grid {
+			display: flex;
+			flex-wrap: wrap;
+			
+			.info-item {
+				width: 50%;
+				margin-bottom: 25rpx;
+				
+				&.full-width {
+					width: 100%;
+				}
+				
+				.label {
+					color: #666;
+					font-size: 28rpx;
+					margin-right: 10rpx;
+				}
+				
+				.value {
+					color: #333;
+					font-size: 28rpx;
+					font-weight: 500;
+					word-break: break-all;
+				}
+			}
+		}
+	}
+	
+	.material-list {
+		.material-card {
+			background-color: white;
+			border-radius: 16rpx;
+			margin-bottom: 20rpx;
+			padding: 30rpx;
+			box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.05);
+			
+			.material-header {
+				display: flex;
+				align-items: center;
+				margin-bottom: 25rpx;
+				padding-bottom: 15rpx;
+				border-bottom: 1rpx solid #eee;
+				
+				.material-code {
+					font-size: 30rpx;
+					font-weight: bold;
+					color: #3a78ff;
+					margin-right: 20rpx;
+					background-color: #f0f7ff;
+					padding: 5rpx 15rpx;
+					border-radius: 8rpx;
+				}
+				
+				.material-name {
+					font-size: 28rpx;
+					color: #333;
+					flex: 1;
+				}
+			}
+			
+			.material-info {
+				.info-row {
+					display: flex;
+					flex-wrap: wrap;
+					margin-bottom: 15rpx;
+					
+					&:last-child {
+						margin-bottom: 0;
+					}
+					
+					.info-col {
+						width: 50%;
+						margin-bottom: 10rpx;
+						
+						&.full-width {
+							width: 100%;
+						}
+						
+						.label {
+							color: #888;
+							font-size: 26rpx;
+							margin-right: 8rpx;
+						}
+						
+						.value {
+							color: #333;
+							font-size: 26rpx;
+							font-weight: 500;
+						}
+					}
+				}
+			}
+		}
+	}
+	
+	.empty-state {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		padding: 100rpx 0;
+		
+		.empty-text {
+			color: #999;
+			font-size: 28rpx;
+			margin-top: 20rpx;
+		}
+	}
+	
+	.footer {
+		padding: 20rpx 30rpx;
+		background-color: white;
+		border-top: 1rpx solid #eee;
+		
+		.back-btn {
+			background-color: #3a78ff;
+			color: white;
+			border-radius: 50rpx;
+			height: 80rpx;
+			line-height: 80rpx;
+			font-size: 32rpx;
+			
+			&:active {
+				background-color: #2c5fcc;
+			}
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/pages/CustomerComplaintsBill/CustomerComplaintsBillEdit.vue b/pages/CustomerComplaintsBill/CustomerComplaintsBillEdit.vue
new file mode 100644
index 0000000..cf182b6
--- /dev/null
+++ b/pages/CustomerComplaintsBill/CustomerComplaintsBillEdit.vue
@@ -0,0 +1,1093 @@
+<template>
+	<view>
+		<view class="form">
+			<view class="tabs">
+				<view :class="tabs == 0 ? 'on':''" @tap="() => { tabs = 0;  }">鍗曟嵁淇℃伅</view>
+				<view :class="tabs == 1 ? 'on':''" @tap="() => { tabs = 1; }">鍏朵粬淇℃伅</view>
+				<view :class="tabs == 2 ? 'on':''" @tap="() => { tabs = 2;  }">鍒跺崟淇℃伅</view>
+			</view>
+
+			<!-- 鍗曟嵁淇℃伅 -->
+			<view v-if="tabs == 0">
+				<view class="form-item">
+					<view class="title">鍗曟嵁鍙�:</view>
+					<view class="righton">
+						<input name="HBillNo" disabled v-model="hform.HBillNo" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鍗曟嵁鏃ユ湡:</view>
+					<view class="right">
+						<picker mode="date" v-model="hform.HDate" @change="HDateChange">
+							<input disabled v-model="hform.HDate" placeholder="璇烽�夋嫨鏃ユ湡" />
+						</picker>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">涓婚:</view>
+					<view class="righton">
+						<input name="HContext"  v-model="hform.HContext" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">璁㈠崟鍙�:</view>
+					<view class="righton">
+						<input name="HOrderBillNo"  v-model="hform.HOrderBillNo" />
+					</view>
+				</view>
+				
+				<view class="form-item">
+					<view class="title"><text>*</text>涓诲浜�:</view>
+					<view class="right">
+						<uni-combox :candidates="arrayHEmpName" placeholder="璇烽�夋嫨涓诲浜�" v-model="hform.HManagerName"
+							@input="HManagerNameChange"></uni-combox>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title"><text>*</text>瀹㈡湇:</view>
+					<view class="right">
+						<uni-combox :candidates="arrayHEmpName" placeholder="璇烽�夋嫨瀹㈡湇" v-model="hform.HServiceManName"
+							@input="HEmpNameChange"></uni-combox>
+					</view>
+				</view>
+				
+				<view class="form-item">
+				    <view class="title">浜у搧浠g爜</view>
+				    <view class="righton disabled">
+				        <input type="text" disabled :value="hform.HMaterNumber" />
+				    </view>
+				    <view class="icon-wrapper-big">
+				        <uni-icons type="search" size="20" @click="showSelectorModule(hform, 1)"></uni-icons>
+				    </view>
+				</view>
+				<view class="form-item">
+				    <view class="title">浜у搧鍚嶇О</view>
+				    <view class="righton disabled">
+				        <input type="text" disabled :value="hform.HMaterName" />
+				    </view>
+				</view>
+				<view class="form-item">
+					<view class="title">瀹㈡埛鑱旂郴浜�:</view>
+					<view class="righton">
+						<input name="HLinkMan"  v-model="hform.HLinkMan" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鎶曡瘔鍒嗙被:</view>
+					<view class="righton">
+						<uni-combox :candidates="roleOptions" placeholder="璇烽�夋嫨婧愬崟绫诲瀷" v-model="hform.HAppealType"
+						    @input="arrayOptionChange"></uni-combox>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鎶曡瘔鏃ユ湡:</view>
+					<view class="right">
+						<picker mode="date" v-model="hform.HAppealTime" @change="HDateChangeappeal">
+							<input  v-model="hform.HAppealTime" placeholder="璇烽�夋嫨鏃ユ湡" />
+						</picker>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鍙戠敓鏃ユ湡:</view>
+					<view class="right">
+						<picker mode="date" v-model="hform.HHappenTime" @change="HDateChangeHappened">
+							<input  v-model="hform.HHappenTime" placeholder="璇烽�夋嫨鏃ユ湡" />
+						</picker>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">绱ф�ョ▼搴�:</view>
+					<view class="righton">
+						<uni-combox :candidates="roleOptions_em" placeholder="璇烽�夋嫨" v-model="hform.HLevel"
+						    @input="arrayOptionChange_em"></uni-combox>
+					</view>
+				</view>
+				
+
+				<view class="form-item">
+					<view class="title">澶囨敞:</view>
+					<view class="right">
+						<textarea name="HRemark" v-model="hform.HRemark" auto-height placeholder="璇疯緭鍏ュ娉�"></textarea>
+					</view>
+				</view>
+
+			</view>
+			<view v-if="tabs == 1">
+				<view class="form-item">
+					<view class="title"><text>*</text>杞﹂棿:</view>
+					<view class="right">
+						<uni-combox :candidates="arrayHDeptName" placeholder="璇烽�夋嫨杞﹂棿" v-model="hform.HWorkShopName"
+							@input="HDeptNameChange"></uni-combox>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">璁¢噺鍗曚綅:</view>
+					<view class="righton">
+						<input v-model="hform.HUnitName" disabled />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">浜у搧绫诲瀷:</view>
+					<view class="righton">
+						<input v-model="hform.HMaterType"  />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">瀹屾垚鏁伴噺:</view>
+					<view class="righton">
+						<input v-model="hform.HQty" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">涓嶈壇鏁伴噺:</view>
+					<view class="righton">
+						<input v-model="hform.HBadQty" />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">涓嶈壇鐜�:</view>
+					<view class="righton">
+						<input v-model="hform.HBadRate" disabled />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">闂鏉ユ簮	:</view>
+					<view class="righton">
+						<input v-model="hform.HBadSource"  />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鍙戠敓宸ュ簭:</view>
+					<view class="right">
+						<uni-combox :candidates="arrayHProcName" placeholder="璇烽�夋嫨宸ュ簭" v-model="hform.HProcName"
+							@input="HProcNameChange"></uni-combox>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">澶勭悊缁撴灉:</view>
+					<view class="right">
+						<uni-combox :candidates="roleOptions_dealresult" placeholder="璇烽�夋嫨澶勭悊缁撴灉" v-model="hform.HWorkedResult"
+							@input="HWorkedResultChange"></uni-combox>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鏄惁鍋滅嚎:</view>
+					<view class="right">
+						<uni-data-select v-model="hform.HIsStopLine" :localdata="arrayCheck" placeholder="璇烽�夋嫨" @change="onChange">
+						</uni-data-select>
+						<!-- <uni-combox :candidates="roleOptions_check" placeholder="璇烽�夋嫨" v-model="hform.HIsStopLine"
+							@input="HWorkedResultChange">
+							
+							</uni-combox> -->
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鏄惁閲嶅鍙戠敓:</view>
+					<view class="right">
+						<uni-data-select v-model="hform.HIsRepeat" :localdata="arrayCheck" placeholder="璇烽�夋嫨" @change="onChange">
+						</uni-data-select>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鏄惁娑夊強鐗╂枡:</view>
+					<view class="right">
+						<uni-data-select v-model="hform.HIsMater" :localdata="arrayCheck" placeholder="璇烽�夋嫨" @change="onChange">
+						</uni-data-select>
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">涓嶈壇鍝丼N鐮�:</view>
+					<view class="righton">
+						<input v-model="hform.HBarCode"  />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">闂鐜拌薄绠�杩�:</view>
+					<view class="righton">
+						<input v-model="hform.HBadNote"  />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">闂璇︾粏鎻忚堪:</view>
+					<view class="righton">
+						<input v-model="hform.HBadRemark"  />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">澶囨敞:</view>
+					<view class="righton">
+						<input v-model="hform.HRemark"  />
+					</view>
+				</view>
+			</view>
+			<view v-if="tabs == 2">
+				<view class="form-item">
+					<view class="title">鍒跺崟浜�:</view>
+					<view class="righton">
+						<input v-model="hform.HMaker" disabled />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">鍒跺崟鏃ユ湡:</view>
+					<view class="righton">
+						<input v-if="hform.HMakeDate" v-model="hform.HMakeDate.substr(0,10)" disabled />
+						<input v-else v-model="hform.HMakeDate" disabled />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">淇敼浜�:</view>
+					<view class="righton">
+						<input v-model="hform.HUpDater" disabled />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">淇敼鏃ユ湡:</view>
+					<view class="righton">
+						<input v-if="hform.HUpDateDate" v-model="hform.HUpDateDate.substr(0,10)" disabled />
+						<input v-else v-model="hform.HUpDateDate" disabled />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">瀹℃牳浜�:</view>
+					<view class="righton">
+						<input v-model="hform.HChecker" disabled />
+					</view>
+				</view>
+				<view class="form-item">
+					<view class="title">瀹℃牳鏃ユ湡:</view>
+					<view class="righton">
+						<input v-if="hform.HCheckDate" v-model="hform.HCheckDate.substr(0,10)" disabled />
+						<input v-else v-model="hform.HCheckDate" disabled />
+					</view>
+				</view>
+
+			</view>
+
+			<view class="bottom-btn">
+				<button v-if="btnType == 1 && !isEdit" class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+				<button v-if="btnType != 1 && !isEdit" class="btn-a" size="mini" @tap="ifEdit">淇敼</button>
+				<button v-if="btnType != 1 && isEdit" class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+				<button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+			</view>
+		</view>
+		<MaterialPopupVue v-if="enablePopupModule == PopupModuleNameList[1]" ref="listPopup" @update="MaterComplete"
+	    :bindKey="0">
+		</MaterialPopupVue>
+	</view>
+	
+</template>
+
+<script>
+	import dayjs from "dayjs";
+	import {
+	    CommonUtils
+	} from "@/utils/common";
+	import getDateTime from '@/utils/getdateTime.js';
+	import MaterialPopupVue from "@/components/ZLGL/MaterialPopup.vue";
+	import {
+		getUserInfo
+	} from "@/utils/auth.js";
+	export default {
+		components: {
+		    MaterialPopupVue,
+		},
+		data() {
+		  return {
+			  calcTimer: null,
+		    operationType: 1,
+		    // 鎺у埗褰撳墠鏄剧ず鐨勫脊绐楁ā鍧�
+		    enablePopupModule: "",
+		    PopupModuleNameList: [
+		      "",
+		      "Material",
+		      "Process",
+		    ],
+		    // 璁$畻鍒楄〃楂樺害
+		    bottomBtnTop: 0,
+		    listTableTop: 0,
+		    tabs: 0,
+		
+		    userInfo: getUserInfo(),
+		    serverUrl: uni.getStorageSync('serverUrl') || 'http://47.96.97.237/API',
+		    linterid: '',
+		    HBillNo: '',
+		    btnType: 1, //1鏂板锛�3淇敼
+		    showmore: false,
+		    HBarCodeFocus: false,
+		
+		    arrayHDeptName: [], //閮ㄩ棬
+		    HDeptNameList: [],
+		    arrayHEmpName: [], //鍙戠幇浜�/璐熻矗浜�
+		    HEmpNameList: [],
+		    arrayHSourceName: [], //鐢熶骇璧勬簮
+		    HSourceNameList: [],
+		    //涓嬫媺妗�
+		    roleOptions: ['浜у搧鎶曡瘔','鏈嶅姟鎶曡瘔','瀹㈡埛鎰忚','鍏跺畠'], // 涓嬫媺妗嗛�夐」
+		    arrayOption:{浜у搧鎶曡瘔:"浜у搧鎶曡瘔",鏈嶅姟鎶曡瘔:'鏈嶅姟鎶曡瘔',瀹㈡埛鎰忚:'瀹㈡埛鎰忚',鍏跺畠:'鍏跺畠'},
+		    roleOptions_em:['鏅��','绱ф��','闈炲父绱ф��'],
+		    arrayOption_em:{鏅��:"鏅��",绱ф��:'绱ф��',闈炲父绱ф��:'闈炲父绱ф��'},
+		    roleOptions_dealresult:['鏈鐞�','澶勭悊涓�','澶勭悊瀹屾垚'],
+		    arrayOption_dealresult:{鏈鐞�:"鏈鐞�",澶勭悊涓�:'澶勭悊涓�',澶勭悊瀹屾垚:'澶勭悊瀹屾垚'},
+		    arrayCheck:[{value:'鏄�',text:'鏄�'},{value:'鍚�',text:'鍚�'}],
+		    isEdit: false,
+		    listOption: [], // 鍒楄〃閫夐」
+		    listData: [], // 琛ㄦ牸鏁版嵁
+		    selectedRows: [], // 琛ㄦ牸閫変腑鐨勬暟鎹�
+		    arrayHProcName: [], //宸ュ簭
+		    HProcNameList: [],
+		    hform: {
+		      
+		      HContext: '', // 涓婚
+		      HOrderBillNo: '', // 璁㈠崟鍙�
+		      HLinkMan: '', // 瀹㈡埛鑱旂郴浜�
+		      HHappenTime: '', // 鍙戠敓鏃ユ湡
+		      HProcName: '', // 鍙戠敓宸ュ簭鍚嶇О
+		      HProcID: '', // 鍙戠敓宸ュ簭ID
+		      HUnitName: '', // 璁¢噺鍗曚綅
+		      HMaterType: '', // 浜у搧绫诲瀷
+		      HQty: '', // 瀹屾垚鏁伴噺
+		      HBadQty: '', // 涓嶈壇鏁伴噺
+		      HBadRate: '', // 涓嶈壇鐜�
+		      HBadSource: '', // 闂鏉ユ簮
+		      HWorkedResult: '', // 澶勭悊缁撴灉
+		      HIsStopLine: '', // 鏄惁鍋滅嚎
+		      HIsRepeat: '', // 鏄惁閲嶅鍙戠敓
+		      HIsMater: '', // 鏄惁娑夊強鐗╂枡
+		      HBarCode: '', // 涓嶈壇鍝丼N鐮�
+		      HBadNote: '', // 闂鐜拌薄绠�杩�
+		      HBadRemark: '', // 闂璇︾粏鎻忚堪
+		      HUpdater: '', // 淇敼浜�
+		      HUpDateDate: '', // 淇敼鏃ユ湡
+		      
+		      // 鍘熸湁灞炴��
+		      HAppealTime: '',
+		      HAppealType: '',
+		      HLevel: '',
+		      HInterID: '',
+		      HBillNo: '',
+		      HDate: getDateTime.dateTimeStr('y-m-d'),
+		      HWorkShopName: uni.getStorageSync('HDeptName'),
+		      HWorkShopID: uni.getStorageSync('HDeptID'),
+		      HServiceManName: uni.getStorageSync('HEmpName'),
+		      HServiceMan: uni.getStorageSync('HEmpID'),
+		      HManagerName: uni.getStorageSync('HMangerName'),
+		      HMangerID: uni.getStorageSync('HMangerID'),
+		      HSourceName: '',
+		      HSourceID: '0',
+		      HScanDate: getDateTime.dateTimeStr('y-m-d h:i:s'),
+		      HMaterID: '0',
+		      HMaterNumber: '',
+		      HMaterName: '',
+		      HICMOBillNo: '',
+		      HICMOInterID: '0',
+		      HICMOEntryID: '0',
+		      HProcExchBillNo: '',
+		      HProcExchInterID: '0',
+		      HProcExchEntryID: '0',
+		      HOrgID: uni.getStorageSync('OrganizationID'),
+		      HMaker: '',
+		      HMakeDate: '',
+		      // HUpDater: '', // 宸插湪涓婃柟娣诲姞涓篐Updater
+		      // HUpDateDate: '', // 宸插湪涓婃柟娣诲姞
+		      HChecker: '',
+		      HCheckDate: '',
+		      HCloseMan: '',
+		      HCloseDate: '',
+		      HDeleteMan: '',
+		      HDeleteDate: '',
+		      HRemark: '', // 澶囨敞
+		      eventType: 'Add'
+		    }
+		  }
+		},
+		onLoad(e) {
+			this.HBarCodeFocus = true
+			this.getHDeptList()
+			this.getHEmpList()
+			this.getHProcList()
+			
+			this.hform.HMaker = uni.getStorageSync('HUserName')
+			console.log(e, this.userInfo)
+			if (e.linterid) {
+				this.btnType = 3
+				this.linterid = e.linterid
+				this.HBillNo = e.HBillNo
+				this.getEditData(e.linterid, e.HBillNo)
+				this.getMouldDetailData(e.linterid, e.HBillNo);
+			} else {
+				this.getNewData()
+			}
+			this.tabs = 0
+		},
+		// ==================== 璁$畻灞炴�� ====================
+		computed: {
+			// 璁$畻琛ㄦ牸楂樺害
+			listTableHeight: {
+				get() {
+					return this.bottomBtnTop - this.listTableTop - 10
+				}
+			},
+			
+		},
+		watch: {
+		  // 鐩戝惉瀹屾垚鏁伴噺鐨勫彉鍖�
+		  'hform.HQty': {
+		    handler(newVal, oldVal) {
+		      if (newVal !== oldVal) {
+		        // 寤惰繜璁$畻锛岄伩鍏嶉绻佽绠�
+		        clearTimeout(this.calcTimer);
+		        this.calcTimer = setTimeout(() => {
+		          this.calcBadRate();
+		        }, 300);
+		      }
+		    },
+		    immediate: true // 鍒濆鍖栨椂涔熻绠椾竴娆�
+		  },
+		  
+		  // 鐩戝惉涓嶈壇鏁伴噺鐨勫彉鍖�
+		  'hform.HBadQty': {
+		    handler(newVal, oldVal) {
+		      if (newVal !== oldVal) {
+		        // 寤惰繜璁$畻锛岄伩鍏嶉绻佽绠�
+		        clearTimeout(this.calcTimer);
+		        this.calcTimer = setTimeout(() => {
+		          this.calcBadRate();
+		        }, 300);
+		      }
+		    },
+		    immediate: true // 鍒濆鍖栨椂涔熻绠椾竴娆�
+		  }
+		},
+		methods: {
+			calcBadRate() {
+			  try {
+			    const completeQty = parseFloat(this.hform.HQty) || 0;
+			    const badQty = parseFloat(this.hform.HBadQty) || 0;
+			    
+			    if (completeQty > 0) {
+			      // 璁$畻涓嶈壇鐜囩櫨鍒嗘瘮锛屼繚鐣欎袱浣嶅皬鏁�
+			      const badRate = (badQty / completeQty * 100).toFixed(2);
+			      this.hform.HBadRate = `${badRate}%`;
+			    } else {
+			      this.hform.HBadRate = '0%';
+			    }
+			  } catch (error) {
+			    console.error('璁$畻涓嶈壇鐜囧嚭閿�:', error);
+			    this.hform.HBadRate = '0%';
+			  }
+			},
+			onChange(e){
+				console.log("this",this.hform.HIsStopLine)
+				console.log("this",this.hform.HIsRepeat)
+			},
+			arrayOptionChange(e) {
+				console.log('閫変腑鐨勮鑹�:', this.hform.HAppealType);
+				this.hform.HAppealType=this.arrayOption[this.hform.HAppealType]
+			},
+			arrayOptionChange_em(e)
+			{
+				this.hform.HLevel=this.arrayOption_em[this.hform.HLevel]
+			},
+			HWorkedResultChange(d)
+			{
+				this.hform.HWorkedResult=this.arrayOption_dealresult[this.hform.HWorkedResult]
+			},
+			//鏃ユ湡
+			HDateChange(e) {
+				console.log(e.detail.value)
+				this.hform.HDate = e.detail.value
+			},
+			HDateChangeappeal(e)
+			{
+				this.hform.HAppealTime = e.detail.value
+			},
+			HDateChangeHappened(e)
+			{
+				this.hform.HHappenTime=e.detail.value
+			},
+			//鑾峰彇浣跨敤閮ㄩ棬鏁版嵁
+			getHDeptList() {
+				uni.request({
+					url: this.serverUrl + '/PublicPageMethod/DeptList',
+					data: {
+						sWhere: "where HStopFlag=0 and HEndFlag=1 and HUSEORGID = " + uni.getStorageSync(
+							'OrganizationID') + ""
+					},
+					success: (res) => {
+						if (res.data.count == 1) {
+							this.HDeptNameList = res.data.data
+							for (var i = 0; i < res.data.data.length; i++) {
+								this.arrayHDeptName[i] = res.data.data[i].HName
+							}
+							this.$forceUpdate();
+						} else {
+							uni.showToast({
+								title: res.data.Message,
+								icon: 'none'
+							})
+						}
+					},
+					fail: (res) => {
+						console.log(res);
+						uni.showToast({
+							title: '鎺ュ彛璇锋眰澶辫触',
+							icon: 'none'
+						})
+					},
+				});
+			},
+			//閫夋嫨浣跨敤閮ㄩ棬
+			HDeptNameChange(e) {
+				for (var i = 0; i < this.HDeptNameList.length; i++) {
+					if (this.HDeptNameList[i].HName == e) {
+						this.hform.HWorkShopID = this.HDeptNameList[i].HItemID
+					}
+				}
+			},
+			//鎿嶄綔鍛樸�佽礋璐d汉
+			getHEmpList() {
+				uni.request({
+					url: this.serverUrl + '/Web/GetEmployeeList_Json',
+					data: {
+						Employee: '',
+						HGroupID: 0
+					},
+					success: (res) => {
+						if (res.data.count == 1) {
+							this.HEmpNameList = res.data.data
+							for (var i = 0; i < res.data.data.length; i++) {
+								this.arrayHEmpName[i] = res.data.data[i].HName
+							}
+							this.$forceUpdate();
+						} else {
+							uni.showToast({
+								title: res.data.Message,
+								icon: 'none'
+							})
+						}
+					},
+					fail: (res) => {
+						console.log(res);
+						uni.showToast({
+							title: '鎺ュ彛璇锋眰澶辫触',
+							icon: 'none'
+						})
+					},
+				});
+			},
+			//閫夋嫨鎿嶄綔鍛�
+			HEmpNameChange(e) {
+				for (var i = 0; i < this.HEmpNameList.length; i++) {
+					if (this.HEmpNameList[i].HName == e) {
+						this.hform.HServiceMan = this.HEmpNameList[i].HItemID
+					}
+				}
+			},
+			//閫夋嫨璐熻矗浜�
+			HManagerNameChange(e) {
+				for (var i = 0; i < this.HEmpNameList.length; i++) {
+					if (this.HEmpNameList[i].HName == e) {
+						this.hform.HMangerID = this.HEmpNameList[i].HItemID
+					}
+				}
+			},
+			//鐢熶骇璧勬簮
+			getHSourceList() {
+				uni.request({
+					url: this.serverUrl + '/api/newBill/getSourceList',
+					data: {
+						sWhere: " and HUSEORGID = " + uni.getStorageSync('OrganizationID') + ""
+					},
+					success: (res) => {
+						if (res.data.code == 1) {
+							this.HSourceNameList = res.data.data.Gy_Source
+							for (var i = 0; i < res.data.data.Gy_Source.length; i++) {
+								this.arrayHSourceName[i] = res.data.data.Gy_Source[i].鐢熶骇璧勬簮
+							}
+							this.$forceUpdate();
+						} else {
+							uni.showToast({
+								title: res.data.Message,
+								icon: 'none'
+							})
+						}
+					},
+					fail: (res) => {
+						console.log(res);
+						uni.showToast({
+							title: '鎺ュ彛璇锋眰澶辫触',
+							icon: 'none'
+						})
+					},
+				});
+			},
+			//閫夋嫨鐢熶骇璧勬簮
+			HSourceNameChange(e) {
+				for (var i = 0; i < this.HSourceNameList.length; i++) {
+					if (this.HSourceNameList[i].鐢熶骇璧勬簮 == e) {
+						this.hform.HSourceID = this.HSourceNameList[i].HItemID
+					}
+				}
+			},
+			ifEdit() {
+				this.isEdit = true
+				this.hform.eventType = 'Modify'
+			},
+			// 鏄剧ず寮圭獥
+			async showSelectorModule(item, index) {
+			   // this.currentChechItemIDCache = item.num || 0; // 0 琛ㄧず娌℃湁浠讳綍瀛愯〃琚�変腑
+			    this.enablePopupModule = this.PopupModuleNameList[index];
+			    console.log("this.$refs: ", this.$refs);
+				console.log('listPopup鏄惁瀛樺湪:', !!this.$refs.listPopup);
+			    await this.$nextTick();
+			    this.$refs.listPopup.showPopup();
+			},
+			// 浜у搧浠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];
+			        
+			    }
+			},
+			//宸ュ簭
+			async getHProcList() {
+				try {
+					let res = await CommonUtils.doRequest2Async({
+						url: '/Gy_Process/list',
+						data: {
+							sWhere: '',
+							user: getUserInfo()['Czymc'] || '',
+						},
+					})
+			
+					console.log('宸ュ簭res: ', res);
+					if (res.data.count > 0) {
+						console.log('宸ュ簭res.data.data: ', res.data.data);
+						this.HProcNameList = res.data.data
+						this.arrayHProcName = res.data.data.map(item => item.宸ュ簭鍚嶇О)
+						this.$forceUpdate();
+					} else {
+						uni.showToast({
+							title: res.data.Message,
+							icon: 'none'
+						})
+					}
+				} catch (err) {
+					uni.showToast({
+						title: err,
+						icon: 'none'
+					})
+				}
+			
+			},
+			//閫夋嫨Proc
+			HProcNameChange(e) {
+				for (var i = 0; i < this.HProcNameList.length; i++) {
+					if (this.HProcNameList[i].宸ュ簭鍚嶇О == e) {
+						this.hform.HProcID = this.HProcNameList[i].HItemID
+					}
+				}
+			},
+			//缂栬緫鍥炴樉
+			getEditData(linterid, HBillNo) {
+				//涓昏〃
+				uni.request({
+					url: this.serverUrl + '/Crm_CustomerAppealBill/editInit',
+					data: {
+						HInterID: linterid,
+						user: uni.getStorageSync('HUserName')
+					},
+					success: (res) => {
+						console.log(1, res.data.data[0]);
+						if (res.data.code == 1) {
+							var data = res.data.data[0]
+							this.btnType = 3
+							this.hform.HInterID = data.HInterID
+							this.hform.HBillNo = data.鍗曟嵁鍙�
+							this.hform.HDate = data.鏃ユ湡 ? data.鏃ユ湡.substr(0, 10) : ''
+							this.hform.HContext = data.涓婚 || ''
+							this.hform.HOrderBillNo = data.璁㈠崟鍙� || ''
+							this.hform.HMaterID = data.HMaterID || '0'
+							this.hform.HMaterNumber = data.鐗╂枡缂栫爜 || ''
+							this.hform.HMaterName = data.鐗╂枡鍚嶇О || ''
+							this.hform.HUnitName = data.璁¢噺鍗曚綅鍚嶇О || ''
+							this.hform.HMaterType = data.鐗╂枡绫诲瀷 || ''
+							this.hform.HManagerName = data.涓诲浜� || ''
+							this.hform.HMangerID = data.HManager || '0'
+							this.hform.HServiceManName = data.瀹㈡湇 || ''
+							this.hform.HServiceMan = data.HServiceMan || '0'
+							this.hform.HLinkMan = data.瀹㈡埛鑱旂郴浜� || ''
+							this.hform.HAppealType = data.鎶曡瘔鍒嗙被 || ''
+							this.hform.HAppealTime = data.鎶曡瘔鏃堕棿 ? data.鎶曡瘔鏃堕棿.substr(0, 10) : ''
+							this.hform.HHappenTime = data.鍙戠敓鏃堕棿 ? data.鍙戠敓鏃堕棿.substr(0, 10) : ''
+							this.hform.HLevel = data.绱ф�ョ▼搴� || ''
+							this.hform.HWorkShopName = data.杞﹂棿 || ''
+							this.hform.HWorkShopID = data.HWorkShopID || '0'
+							this.hform.HQty = data.瀹屾垚鏁伴噺 || '0'
+							this.hform.HBadQty = data.涓嶈壇鏁伴噺 || '0'
+							this.hform.HBadSource = data.闂鏉ユ簮 || ''
+							this.hform.HProcName = data.鍙戠敓宸ュ簭 || ''
+							this.hform.HProcID = data.HProcID || '0'
+							this.hform.HWorkedResult = data.澶勭悊缁撴灉 || ''
+							this.hform.HIsStopLine = data.鏄惁鍋滅嚎 || ''
+							this.hform.HIsRepeat = data.鏄惁閲嶅鍙戠敓 || ''
+							this.hform.HIsMater = data.鏄惁娑夊強鐗╂枡 || ''
+							this.hform.HBarCode = data.涓嶈壇鍝丼N鐮� || ''
+							this.hform.HBadNote = data.闂鐜拌薄绠�杩� || ''
+							this.hform.HBadRemark = data.闂璇︾粏鎻忚堪 || ''
+							this.hform.HRemark = data.澶囨敞 || ''
+							
+							// 璁$畻涓嶈壇鐜�
+							this.calcBadRate();
+							
+							// 绯荤粺瀛楁
+							this.hform.HMaker = data.鍒跺崟浜� || ''
+							this.hform.HMakeDate = data.鍒跺崟鏃堕棿 || ''
+							this.hform.HUpdater = data.淇敼浜� || ''
+							this.hform.HUpDateDate = data.淇敼鏃堕棿 || ''
+							this.hform.HChecker = data.瀹℃牳浜� || ''
+							this.hform.HCheckDate = data.瀹℃牳鏃堕棿 || ''
+
+						} else {
+							uni.showToast({
+								title: res.data.Message,
+								icon: 'none'
+							})
+						}
+					},
+					fail: (res) => {
+						console.log(res);
+						uni.showToast({
+							title: '鎺ュ彛璇锋眰澶辫触',
+							icon: 'none'
+						})
+					},
+				});
+			},
+			
+			
+			//鏂板
+			getNewData() {
+				uni.request({
+					url: this.serverUrl + '/Web/GetMAXNum',
+					data: {
+						HBillType: '3846'
+					},
+					success: (res) => {
+						console.log(res.data)
+						if (res.data.count == 1) {
+							this.hform.HInterID = res.data.data[0].HInterID
+							this.hform.HBillNo = res.data.data[0].HBillNo
+							this.hform.HMakeDate = getDateTime.dateTimeStr('y-m-d')
+							this.btnType = 1
+						} else {
+							uni.showToast({
+								title: res.data.Message,
+								icon: 'none'
+							})
+						}
+					},
+					fail: (res) => {
+						console.log(res);
+						uni.showToast({
+							title: '鎺ュ彛璇锋眰澶辫触',
+							icon: 'none'
+						})
+					},
+				});
+			},
+			submit() {
+				if (!this.hform.HServiceManName) {
+					uni.showToast({
+						title: '璇烽�夋嫨瀹㈡湇',
+						icon: 'none'
+					})
+				} else if (!this.hform.HManagerName) {
+					uni.showToast({
+						title: '璇烽�夋嫨璐熻矗浜�',
+						icon: 'none'
+					})
+				} else if (!this.hform.HMaterNumber) {
+					uni.showToast({
+						title: '璇烽�夋嫨浜у搧',
+						icon: 'none'
+					})
+				} else {
+					uni.showLoading({
+						title: '璇风◢鍊�'
+					})
+					// ========== 绗竴姝ワ細鏋勫缓涓昏〃鏁版嵁 ==========
+				  const mainData = {
+					// 鍗曟嵁鍩烘湰淇℃伅
+					HBillNo: this.hform.HBillNo,
+					HInterID: this.hform.HInterID,
+					HDate: this.hform.HDate,
+					HContext: this.hform.HContext || "", // 涓婚
+					HOrderBillNo: this.hform.HOrderBillNo || "", // 璁㈠崟鍙�
+					HRemark: this.hform.HRemark || "", // 澶囨敞
+					
+					// 浜哄憳淇℃伅
+					HManagerName: this.hform.HManagerName || "",
+					HMangerID: this.hform.HMangerID || "",
+					HServiceManName: this.hform.HServiceManName || "",
+					HServiceMan: this.hform.HServiceMan || "",
+					HLinkMan: this.hform.HLinkMan || "", // 瀹㈡埛鑱旂郴浜�
+					
+					// 浜у搧淇℃伅
+					HMaterID: this.hform.HMaterID || "0",
+					HMaterNumber: this.hform.HMaterNumber || "",
+					HMaterName: this.hform.HMaterName || "",
+					HMaterType: this.hform.HMaterType || "", // 浜у搧绫诲瀷
+					HUnitName: this.hform.HUnitName || "", // 璁¢噺鍗曚綅
+					
+					// 鎶曡瘔/闂淇℃伅
+					HAppealType: this.hform.HAppealType || "", // 鎶曡瘔鍒嗙被
+					HAppealTime: this.hform.HAppealTime || "", // 鎶曡瘔鏃ユ湡
+					HHappenTime: this.hform.HHappenTime || "", // 鍙戠敓鏃ユ湡
+					HLevel: this.hform.HLevel || "", // 绱ф�ョ▼搴�
+					
+					// 杞﹂棿/宸ュ簭淇℃伅
+					HWorkShopName: this.hform.HWorkShopName || "",
+					HWorkShopID: this.hform.HWorkShopID || "",
+					HProcName: this.hform.HProcName || "", // 鍙戠敓宸ュ簭
+					HProcID: this.hform.HProcID || "", // 鍙戠敓宸ュ簭ID
+					
+					// 鏁伴噺淇℃伅
+					HQty: this.hform.HQty || "0", // 瀹屾垚鏁伴噺
+					HBadQty: this.hform.HBadQty || "0", // 涓嶈壇鏁伴噺
+					HBadRate: this.hform.HBadRate || "0", // 涓嶈壇鐜�
+					
+					// 闂璇︽儏
+					HBadSource: this.hform.HBadSource || "", // 闂鏉ユ簮
+					HWorkedResult: this.hform.HWorkedResult || "", // 澶勭悊缁撴灉
+					HIsStopLine: this.hform.HIsStopLine || "", // 鏄惁鍋滅嚎
+					HIsRepeat: this.hform.HIsRepeat || "", // 鏄惁閲嶅鍙戠敓
+					HIsMater: this.hform.HIsMater || "", // 鏄惁娑夊強鐗╂枡
+					HBarCode: this.hform.HBarCode || "", // 涓嶈壇鍝丼N鐮�
+					HBadNote: this.hform.HBadNote || "", // 闂鐜拌薄绠�杩�
+					HBadRemark: this.hform.HBadRemark || "", // 闂璇︾粏鎻忚堪
+					
+					// 缁勭粐淇℃伅
+					HOrgID: this.hform.HOrgID || uni.getStorageSync('OrganizationID'),
+					
+					// 绯荤粺瀛楁
+					HMaker: this.hform.HMaker || uni.getStorageSync('HUserName'),
+					HMakeDate: this.hform.HMakeDate || getDateTime.dateTimeStr('y-m-d'),
+					HUpdater: this.hform.HUpdater || uni.getStorageSync('HUserName'), // 淇敼浜�
+					HUpDateDate: this.hform.HUpDateDate || getDateTime.dateTimeStr('y-m-d'), // 淇敼鏃ユ湡
+					HChecker: this.hform.HChecker || "", // 瀹℃牳浜�
+					HCheckDate: this.hform.HCheckDate || "", // 瀹℃牳鏃ユ湡
+					// HCloseMan: this.hform.HCloseMan || "", // 鍏抽棴浜� 
+					// HCloseDate: this.hform.HCloseDate || "", // 鍏抽棴鏃ユ湡 
+					// HDeleteMan: this.hform.HDeleteMan || "", // 浣滃簾浜� 
+					// HDeleteDate: this.hform.HDeleteDate || "", // 浣滃簾鏃ユ湡 
+
+					
+					
+					eventType: this.hform.eventType || 'Add'
+				  };
+		
+					
+
+					// ========== 绗笁姝ワ細鎷兼帴瀹屾暣鏁版嵁 ==========
+					const submitStr = JSON.stringify(mainData) + ";" + this.btnType +
+						";" + uni.getStorageSync('HUserName');
+
+
+					console.log(submitStr);
+					uni.request({
+						url: this.serverUrl + '/Crm_CustomerAppealBill/SaveCustomerAppealBill',
+						method: 'POST',
+						dataType: "json",
+						data: {
+							msg: submitStr
+						},
+						success: (res) => {
+							console.log(1, res);
+							uni.hideLoading()
+							if (res.data.count == 1) {
+								let pages = getCurrentPages();
+								let prePage = pages[pages.length - 2];
+
+								if (this.isEdit) {
+									setTimeout(() => {
+										uni.redirectTo({
+											url: '/pages/shangmudan/MouldUpperBill?linterid=' +
+												this.linterid + '&HBillNo=' + this.HBillNo
+										})
+									}, 1000)
+								} else {
+									setTimeout(() => {
+										uni.navigateBack()
+									}, 1000)
+								}
+							}
+							uni.showToast({
+								title: res.data.Message,
+								icon: 'none'
+							})
+						},
+						fail: (res) => {
+							console.log(res);
+							uni.showToast({
+								title: '鎺ュ彛璇锋眰澶辫触',
+								icon: 'none'
+							})
+						},
+					});
+				}
+			},
+			goBack() {
+				uni.showModal({
+					title: '鎻愮ず',
+					content: '纭瑕侀��鍑哄綋鍓嶉〉闈㈠悧锛�',
+					success: (res) => {
+						if (res.confirm) {
+							console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+							uni.navigateBack()
+						} else if (res.cancel) {
+							console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+						}
+					}
+				});
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.form {
+		width: 668rpx;
+		margin: 20rpx auto;
+		padding-bottom: 240rpx;
+	}
+
+	.tab_area {
+		width: 100%;
+		height: 50rpx;
+	}
+
+	.other {
+		margin-top: 8rpx;
+		text-align: center;
+		font-size: 28rpx;
+		padding: 4rpx 18rpx;
+		color: #1890FF;
+	}
+
+	.form-item {
+		display: flex;
+		align-items: center;
+		font-size: 30rpx;
+		padding: 6rpx 0;
+
+		.title {
+			width: 208rpx;
+
+			text {
+				color: red;
+				font-weight: bold;
+			}
+		}
+
+		.right {
+			width: 450rpx;
+			border-radius: 22rpx;
+			border: 1px solid #acacac;
+		}
+
+		.righton {
+			width: 450rpx;
+			border-radius: 22rpx;
+			border: 1px solid #e4e4e4;
+			background-color: #e4e4e4;
+		}
+
+		input {
+			width: 100%;
+			padding: 8rpx 20rpx;
+			font-size: 30rpx;
+		}
+
+		textarea {
+			width: 98%;
+			padding: 8rpx 20rpx;
+			font-size: 30rpx;
+		}
+
+	}
+
+	.bottom-btn {
+		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;
+
+		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: #FFA500;
+			color: #fff;
+			position: absolute;
+			right: 120rpx;
+		}
+
+		.btn-d {
+			background-color: #ff8901;
+			color: #fff;
+		}
+	}
+
+	.tabs {
+		width: 100%;
+		display: flex;
+		border-bottom: 1px solid #ddd;
+		margin: 20rpx 0;
+
+		view {
+			width: 25%;
+			font-size: 30rpx;
+			color: #555;
+			text-align: center;
+			padding: 16rpx 0;
+		}
+
+		.on {
+			color: #3a78ff;
+			font-weight: bold;
+			border-bottom: 3px solid #3a78ff;
+		}
+	}
+
+</style>
\ No newline at end of file
diff --git a/pages/CustomerComplaintsBill/CustomerComplaintsBillList.vue b/pages/CustomerComplaintsBill/CustomerComplaintsBillList.vue
new file mode 100644
index 0000000..62a34e2
--- /dev/null
+++ b/pages/CustomerComplaintsBill/CustomerComplaintsBillList.vue
@@ -0,0 +1,618 @@
+<template>
+	<view>
+		<view class="page-header">
+			<view class="search-item">
+				<view class="left">鏃ユ湡闂撮殧</view>
+				<view class="right">
+					<picker mode="selector" :value="curDateGap" :range="dateRangePicker"
+						@change="onDateRangePickerChangeHandler">
+						<input disabled v-model="curDateGap" placeholder="璇烽�夋嫨鏃ユ湡闂撮殧" />
+						<view class="picker-overlay"></view>
+					</picker>
+				</view>
+			</view>
+			<view class="search-item">
+				<view class="left">寮�濮嬫棩鏈�</view>
+				<view class="right">
+					<uni-datetime-picker :clear-icon="false" type="date" v-model="startDate"
+						:disabled="!enableCustomDateRange">
+						<view class="datetime-picker-inner"
+							:class="enableCustomDateRange?'font__enable':'font__disable'">
+							<text>{{ startDate }}</text>
+						</view>
+					</uni-datetime-picker>
+				</view>
+			</view>
+			<view class="search-item">
+				<view class="left">缁撴潫鏃ユ湡</view>
+				<view class="right">
+					<uni-datetime-picker :clear-icon="false" type="date" v-model="endDate"
+						:disabled="!enableCustomDateRange">
+						<view class="datetime-picker-inner"
+							:class="enableCustomDateRange?'font__enable':'font__disable'">{{ endDate }}</view>
+					</uni-datetime-picker>
+				</view>
+			</view>
+			<view class="search-item">
+				<view class="left">鍗曟嵁鍙�</view>
+				<view class="right">
+					<input type="text" auto-focus v-model="HBillNo" />
+				</view>
+			</view>
+
+			<view class="button-groups">
+				<button type="default" size="mini" class="btn-b" @tap.stop="onAddClickHandler">鏂板</button>
+				<button type="default" size="mini" class="btn-c" @tap.stop="onSearchClickHandler">鏌ヨ</button>
+				<button type="default" size="mini" class="btn-a" @tap.stop="onResetClickHandler">閲嶇疆</button>
+			</view>
+		</view>
+		<view style="width: 100%;height: 16rpx;background-color: #e5e5e5;"></view>
+		<scroll-view id="pageContent" scroll-y class="page-content" :style="{height: pageContentHeight + 'px'}">
+			<view v-for="(item,index) in listData" :key="index">
+				<uni-card :title="item.璁㈠崟鍙�" :extra="item.鍗曟嵁鍙�" style="margin: 10px;"
+					@tap="showDetail = showDetail==index?-1:index">
+					<view class="card-detail">
+
+						<view class="detail" v-if="item.涓婚">
+							<text>涓婚锛�</text>{{item.涓婚}}
+						</view>
+						<view class="detail" v-if="item.鍗曟嵁鐘舵��">
+							<text>鍗曟嵁鐘舵�侊細</text>{{item.鍗曟嵁鐘舵�亇}
+						</view>
+						<view class="detail" v-if="item.鏃ユ湡">
+							<text>鏃ユ湡锛�</text>{{item.鏃ユ湡}}
+						</view>
+						<view class="detail" v-if="item.鐗╂枡缂栫爜">
+							<text>鐗╂枡缂栫爜锛�</text>{{item.鐗╂枡缂栫爜}}
+						</view>
+						<view class="detail" v-if="item.鐗╂枡鍚嶇О">
+							<text>鐗╂枡鍚嶇О锛�</text>{{item.鐗╂枡鍚嶇О}}
+						</view>
+						<view class="detail" v-if="item.瑙勬牸鍨嬪彿">
+							<text>瑙勬牸鍨嬪彿锛�</text>{{item.瑙勬牸鍨嬪彿}}
+						</view>
+						<view class="detail" v-if="item.璁¢噺鍗曚綅鍚嶇О">
+							<text>璁¢噺鍗曚綅鍚嶇О锛�</text>{{item.璁¢噺鍗曚綅鍚嶇О}}
+						</view>
+						<view class="detail" v-if="item.鐗╂枡绫诲瀷">
+							<text>鐗╂枡绫诲瀷锛�</text>{{item.鐗╂枡绫诲瀷}}
+						</view>
+						<view class="detail" v-if="item.涓诲浜�">
+							<text>涓诲浜猴細</text>{{item.涓诲浜簘}
+						</view>
+						<view class="detail" v-if="item.HServiceMan">
+							<text>HServiceMan锛�</text>{{item.HServiceMan}}
+						</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 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.鍒跺崟鏃ユ湡.substr(0,10)}}
+						</view>
+						<view class="detail" v-if="item.瀹℃牳浜�">
+							<text>瀹℃牳浜猴細</text>{{item.瀹℃牳浜簘}
+						</view>
+						<view class="detail" v-if="item.瀹℃牳鏃ユ湡">
+							<text>瀹℃牳鏃ユ湡锛�</text>{{item.瀹℃牳鏃ユ湡.substr(0,10)}}
+						</view>
+						<view class="detail" v-if="item.淇敼浜�">
+							<text>淇敼浜猴細</text>{{item.淇敼浜簘}
+						</view>
+						<view class="detail" v-if="item.淇敼鏃ユ湡">
+							<text>淇敼鏃ユ湡锛�</text>{{item.淇敼鏃ユ湡.substr(0,10)}}
+						</view>
+						<view class="detail" v-if="item.鍏抽棴浜�">
+							<text>鍏抽棴浜猴細</text>{{item.鍏抽棴浜簘}
+						</view>
+						<view class="detail" v-if="item.鍏抽棴鏃ユ湡">
+							<text>鍏抽棴鏃ユ湡锛�</text>{{item.鍏抽棴鏃ユ湡.substr(0,10)}}
+						</view>
+						<view class="detail" v-if="item.浣滃簾浜�">
+							<text>浣滃簾浜猴細</text>{{item.浣滃簾浜簘}
+						</view>
+						<view class="detail" v-if="item.浣滃簾鏃ユ湡">
+							<text>浣滃簾鏃ユ湡锛�</text>{{item.浣滃簾鏃ユ湡.substr(0,10)}}
+						</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="op6" size="mini" plain @tap.stop="Browse(item)">鏌ョ湅鏄庣粏</button>
+						<button class="op4" size="mini" plain @tap.stop="del(item)">鍒犻櫎</button>
+						<button class="op5" size="mini" plain @tap.stop="operations = -1">鍙栨秷鎿嶄綔</button>
+					</view>
+				</uni-card>
+			</view>
+			<view class="over" v-if="listData.length == 0">鏆傛棤鏁版嵁</view>
+		</scroll-view>
+		<!-- 鍒嗛〉鍣� -->
+		<view class="page-footer">
+			<uni-pagination id="pagination" title="鏍囬鏂囧瓧" v-model="pageMeta.curPage" :pageSize="pageMeta.size"
+				:total="pageMeta.total" @change="onPageChangeHandler"></uni-pagination>
+		</view>
+	</view>
+</template>
+
+<script>
+	import dayjs from 'dayjs'
+	import {
+		CommonUtils
+	} from '@/utils/common.js'
+	import {
+		getUserInfo
+	} from "../../utils/auth";
+	export default {
+		data() {
+			return {
+				// 璁$畻鍗$墖鍒楄〃楂樺害
+				pagination_top: 0,
+				pageContent_top: 0,
+				// 鍒嗛〉鎺у埗
+				pageMeta: {
+					curPage: 1,
+					size: 50,
+					total: 0,
+				},
+				// 婊氬姩鎺у埗
+				scrollTop: 0,
+				old: {
+					scrollTop: 0
+				},
+
+				dateRangePicker: ["浠绘剰闂撮殧", "浠婂ぉ", "杩戜袱澶�", "杩戜笁澶�", "杩戝洓澶�", "杩戜簲澶�", "杩戝叚澶�", "杩戜竷澶�", "杩�30澶�"],
+				curDateGap: "杩戜竷澶�",
+				enableCustomDateRange: false,
+				startDate: dayjs(new Date()).subtract(7, 'day').format('YYYY-MM-DD'),
+				endDate: dayjs(new Date()).format('YYYY-MM-DD'),
+				HBillNo: '',
+
+				listData: [],
+				showDetail: -1,
+				operations: -1,
+			}
+		},
+		computed: {
+			pageContentHeight: {
+				get() {
+					return (this.pagination_top - this.pageContent_top)
+				}
+			},
+		},
+		onLoad() {
+			this.onSearchClickHandler()
+		},
+		onPullDownRefresh() {
+			this.onSearchClickHandler()
+		},
+		async onReady() {
+			// #ifndef MP-WEIXIN
+			let query = uni.createSelectorQuery().in(this)
+			query.select("#pagination")
+				.boundingClientRect((data) => {
+					if (data) {
+						this.pagination_top = data.top
+					} else {
+						console.log("鏈壘鍒�#pagination鑺傜偣");
+					}
+				})
+				.exec();
+			query.select("#pageContent")
+				.boundingClientRect((data) => {
+					if (data) {
+						this.pageContent_top = data.top
+					} else {
+						console.log("鏈壘鍒�#pageContent鑺傜偣");
+					}
+				})
+				.exec();
+			// #endif
+
+		},
+		methods: {
+			goTop: function(e) {
+				// 瑙e喅view灞備笉鍚屾鐨勯棶棰�
+				this.scrollTop = this.old.scrollTop
+				this.$nextTick(function() {
+					this.scrollTop = 0
+				});
+			},
+			onDateRangePickerChangeHandler({
+				detail
+			}) {
+				this.enableCustomDateRange = false
+				this.curDateGap = this.dateRangePicker[detail.value]
+				let date = new Date()
+				switch (this.curDateGap) {
+					case "浠婂ぉ":
+						this.startDate = dayjs(date).format("YYYY-MM-DD")
+						break;
+					case "杩戜竴澶�":
+						this.startDate = dayjs(date).subtract(1, 'day').format("YYYY-MM-DD")
+						break;
+					case "杩戜袱澶�":
+						this.startDate = dayjs(date).subtract(2, 'day').format("YYYY-MM-DD")
+						break;
+					case "杩戜笁澶�":
+						this.startDate = dayjs(date).subtract(3, 'day').format("YYYY-MM-DD")
+						break;
+					case "杩戝洓澶�":
+						this.startDate = dayjs(date).subtract(4, 'day').format("YYYY-MM-DD")
+						break;
+					case "杩戜簲澶�":
+						this.startDate = dayjs(date).subtract(5, 'day').format("YYYY-MM-DD")
+						break;
+					case "杩戝叚澶�":
+						this.startDate = dayjs(date).subtract(6, 'day').format("YYYY-MM-DD")
+						break;
+					case "杩戜竷澶�":
+						this.startDate = dayjs(date).subtract(7, 'day').format("YYYY-MM-DD")
+						break;
+					case "杩�30澶�":
+						this.startDate = dayjs(date).subtract(30, 'day').format("YYYY-MM-DD")
+						break;
+				}
+				if (this.curDateGap == '浠绘剰闂撮殧') {
+					this.enableCustomDateRange = true
+				}
+			},
+			onSearchClickHandler() {
+				let sWhere = ""
+				if (this.startDate) {
+					sWhere += " and CONVERT(varchar(100),鏃ユ湡, 23) >= '" + this.startDate + "'";
+				}
+				if (this.endDate) {
+					sWhere += " and CONVERT(varchar(100),鏃ユ湡, 23) <= '" + this.endDate + "'";
+				}
+				if (this.HBillNo) {
+					sWhere += " and 鍗曟嵁鍙� like '%" + this.HBillNo + "%'";
+				}
+				this.get_DisplayPage(sWhere);
+			},
+			clear() {
+				this.curDateGap = "杩戜竷澶�"
+				this.enableCustomDateRange = false
+				this.startDate = dayjs(new Date()).subtract(7, 'day').format('YYYY-MM-DD')
+				this.endDate = dayjs(new Date()).format('YYYY-MM-DD')
+				this.HBillNo = ''
+			},
+			async onResetClickHandler() {
+				this.clear()
+				await this.$nextTick()
+				this.onSearchClickHandler()
+			},
+			get_DisplayPage(sWhere) {
+				CommonUtils.doRequest2({
+					url: '/Crm_CustomerAppealBill/list',
+					data: {
+						"sWhere": sWhere,
+						"user": getUserInfo()["Czymc"],
+						
+					},
+					resFunction: (res) => {
+						let {
+							data,
+							Message,
+							count
+						} = res.data
+						console.log('res.data: ', res.data.data);
+						if(res.data.Message=="鏃犳煡鐪嬫潈闄愶紒")
+						{
+							uni.showToast({
+								icon: 'none',
+								title: res.data.Message
+							})
+							return;
+						}
+						this.listData = res.data.data;
+						this.pageMeta.total = count
+						uni.stopPullDownRefresh()
+					}
+				})
+			},
+			onPageChangeHandler() {
+				this.onSearchClickHandler()
+				this.goTop()
+			},
+			// 鏂板
+			onAddClickHandler() {
+				uni.navigateTo({
+					url: "/pages/CustomerComplaintsBill/CustomerComplaintsBillEdit?btnType=1"
+				})
+			},
+			//鍒犻櫎鐐规璁板綍鍗�
+			del(item) {
+				console.log(item);
+				uni.showModal({
+					title: '鍒犻櫎纭',
+					content: '纭瑕佸垹闄ゅ悧锛屽垹闄ゅ悗涓嶈兘鎭㈠',
+					success: (res) => {
+						if (res.confirm) {
+							console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+							CommonUtils.doRequest2({
+								url: '/Crm_CustomerAppealBill/delete',
+								data: {
+									HInterID: item['HInterID'],
+									user: getUserInfo()['Czymc']
+								},
+								resFunction: (res) => {
+									let {
+										data,
+										count,
+										Message
+									} = res.data
+									if (count == 1) {
+										uni.showToast({
+											icon: count === 1 ? 'success' : 'error',
+											title: Message,
+											duration: 2000
+										});
+
+										// 绛夊緟鎻愮ず鏄剧ず瀹屾垚鍐嶅埛鏂�
+										setTimeout(() => {
+											this.onSearchClickHandler();
+										}, 2000);
+									} else {
+										uni.showToast({
+											icon: 'none',
+											title: Message
+										})
+									}
+								}
+							})
+						} else if (res.cancel) {
+							console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+						}
+					}
+				});
+			},
+			Browse(item)
+			{
+				console.log(item.HInterID)
+				uni.navigateTo({
+					url: '/pages/CustomerComplaintsBill/CustomerComplaintsBillDetail?linterid=' + item.HInterID + '&HBillNo=' + item.鍗曟嵁鍙�
+				})
+			},
+			edit(item)
+			{
+				console.log(item)
+				uni.navigateTo({
+					url: '/pages/CustomerComplaintsBill/CustomerComplaintsBillEdit?linterid=' + item.HInterID + '&btnType=' + 3
+				})
+			}
+		},
+	}
+</script>
+
+<style lang="scss">
+	.page-header {
+		display: flex;
+		box-sizing: border-box;
+		padding: 20rpx;
+		flex-direction: column;
+		gap: 10rpx;
+		font-size: 32rpx;
+
+		.search-item {
+			display: flex;
+			flex-direction: row;
+			gap: 10rpx;
+			justify-content: center;
+			align-items: center;
+
+			.left {
+				width: 4em;
+			}
+
+			.right {
+				flex: 1;
+				position: relative;
+				border-radius: 22rpx;
+				border: 1px solid #acacac;
+				display: flex;
+				padding: 4rpx 10rpx;
+
+				picker {
+					width: 100%;
+				}
+			}
+		}
+
+		input {
+			width: inherit;
+			padding: 8rpx 20rpx;
+			font-size: 30rpx;
+		}
+
+		.datetime-picker-inner {
+			padding: 8rpx 20rpx;
+			font-size: 30rpx;
+			display: flex;
+			align-items: center;
+		}
+
+		.font__enable {
+			color: #000;
+		}
+
+		.font__disable {
+			color: #cccccc;
+		}
+	}
+
+	.button-groups {
+		box-sizing: border-box;
+		padding: 10rpx 0 0 0;
+		display: flex;
+		flex-direction: row;
+		gap: 10rpx;
+		justify-content: space-between;
+
+		button {
+			border-radius: 50rpx;
+			width: 180rpx;
+			height: 66rpx;
+			line-height: 66rpx;
+			font-size: 28rpx;
+		}
+
+		.btn-a {
+			background-color: #acacac;
+			color: #fff;
+		}
+
+		.btn-b {
+			background-color: #41a863;
+			color: #fff;
+		}
+
+		.btn-c {
+			background-color: #3a78ff;
+			color: #fff;
+		}
+	}
+
+	.page-content {
+		// height: 40vh;
+		box-sizing: border-box;
+		padding: 10rpx 0;
+
+		.card-detail {
+			width: 100%;
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+			line-height: 120%;
+
+			.detail {
+				// width: 50%;
+				font-size: 26rpx;
+				margin-bottom: 12rpx;
+				color: #555;
+				margin-right: 20rpx;
+
+				text {
+					color: #999;
+					font-size: 26rpx;
+				}
+			}
+		}
+
+		.more {
+			color: #888;
+			font-size: 24rpx;
+			display: flex;
+			border-top: 1px solid #eee;
+			padding-top: 20rpx;
+
+			.part {
+				width: 50%;
+				text-align: center;
+			}
+		}
+
+		.op {
+			display: flex;
+			justify-content: space-around;
+			margin-top: 20rpx;
+
+			button {
+				padding: 0;
+				width: 150rpx;
+				font-size: 25rpx;
+			}
+
+			.op1 {
+				border: 1px solid #41a863;
+				color: #41a863;
+			}
+
+			.op2 {
+				border: 1px solid #d98d00;
+				color: #d98d00;
+			}
+
+			.op3 {
+				border: 1px solid #3a78ff;
+				color: #3a78ff;
+			}
+
+			.op4 {
+				border: 1px solid #da0000;
+				color: #da0000;
+			}
+
+			.op5 {
+				border: 1px solid #888;
+				color: #888;
+			}
+		}
+	}
+
+	.page-footer {
+		position: fixed;
+		bottom: 0;
+		width: 100%;
+		box-sizing: border-box;
+		padding: 32rpx 40rpx;
+	}
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/Kf_SellOutBill_CusBar/Kf_SellOutBill_CusBar_APP.vue b/pages/ZLGL/Kf_SellOutBill_CusBar/Kf_SellOutBill_CusBar_APP.vue
new file mode 100644
index 0000000..94d4657
--- /dev/null
+++ b/pages/ZLGL/Kf_SellOutBill_CusBar/Kf_SellOutBill_CusBar_APP.vue
@@ -0,0 +1,1733 @@
+<template>
+    <view>
+        <!-- 鍩烘湰淇℃伅 -->
+        <view class="form">
+            <view class="form-item">
+                <view class="title">
+                    浼犵エ:
+                </view>
+                <view class="right">
+                    <input type="text" v-model="hform.HCP">
+                </view>
+                <view class="icon-wrapper">
+                    <uni-icons type="scan" size="20" @click="qrCodeDisplay('HCP')"></uni-icons>
+                </view>
+            </view>
+            <view class="form-item">
+                <view class="title">
+                    鏉$爜:
+                </view>
+                <view class="right">
+                    <input type="text" v-model="hform.HBarCode" @confirm="GetMessageByBarCode">
+                </view>
+                <view class="icon-wrapper">
+                    <uni-icons type="scan" size="20" @click="qrCodeDisplay('BarCode')"></uni-icons>
+                </view>
+            </view>
+            <view class="form-item">
+                <view class="title">
+                    鏁伴噺:
+                </view>
+                <view class="right">
+                    <input type="number" v-model="hform.HQty">
+                </view>
+            </view>
+            <view class="form-item">
+                <view class="title">浠撳簱:</view>
+                <view class="right">
+                    <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
+                        @input="HWHNameChange" @confirm="HWHNameScan"></uni-combox>
+                </view>
+            </view>
+            <view class="form-item">
+                <view class="title">浠撲綅:</view>
+                <!-- 鍥涚淮灏斿惎鐢ㄤ粨浣嶆壂鐮� 鍏朵粬瀹㈡埛鎸夐渶鍚敤鎺у埗 -->
+                <view class="right">
+                    <uni-combox :candidates="HStockPlaceNameListComputed" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+                        v-model="hform.HStockPlaceName" @input="HStockPlaceNameChange"
+                        @confirm="HStockPlaceNameScan"></uni-combox>
+                </view>
+            </view>
+        </view>
+        <view class="tabs horizon_tabs" id="tabs">
+            <view :class="tabs == 0 ? 'on':''" @tap="tabs = 0">閫夋嫨婧愬崟</view>
+            <view :class="tabs == 1 ? 'on':''" @tap="tabs = 1">琛ㄥご淇℃伅</view>
+            <view :class="tabs == 2 ? 'on':''" @tap="tabs = 2">鐗╂枡淇℃伅</view>
+            <view :class="tabs == 3 ? 'on':''" @tap="tabs = 3">鍣ㄥ叿淇℃伅</view>
+            <view :class="tabs == 4 ? 'on':''" @tap="tabs = 4">鏉$爜淇℃伅</view>
+            <view :class="tabs == 5 ? 'on':''" @tap="tabs = 5">涓嬫灦淇℃伅</view>
+        </view>
+        <!-- 閫夋嫨婧愬崟 -->
+        <template v-if="tabs == 0">
+            <view class="form" :style="{
+                height: containerHeight + 'px',
+                overflow: 'auto'
+            }">
+                <view class="form-item">
+                    <view class="title">婧愬崟绫诲瀷</view>
+                    <view class="right" v-show="showHMainSourceBillType">
+                        <picker :range="arrayHMainSourceBillType" v-model="HMainSourceBillType"
+                            @change="HMainSourceBillTypeChange">
+                            <input name="HMainSourceBillType" disabled v-model="HMainSourceBillType"
+                                placeholder="璇烽�夋嫨婧愬崟绫诲瀷" />
+                            <view class="picker-overlay"></view>
+                        </picker>
+                    </view>
+                    <view class="righton" v-show="!showHMainSourceBillType">
+                        <input name="HMainSourceBillType" disabled v-model="HMainSourceBillType"
+                            placeholder="璇烽�夋嫨婧愬崟绫诲瀷" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">婧愬崟鍗曞彿: </view>
+                    <view class="right">
+                        <input type="text" v-model="hform.HSourceBillNo"
+                            @confirm="GetMessageByHSourceBillNo(hform.HSourceBillNo)" />
+                    </view>
+                    <!-- 閫夋簮鍗曞姛鑳� -->
+                    <view class="icon-wrapper">
+                        <uni-icons type="search" size="20" @click=""></uni-icons>
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鍏堣繘鍏堝嚭浠�:</view>
+                    <view class="right">
+                        <uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏ヤ粨搴�" v-model="hform.HFIFOWHName"
+                            @input="HFIFOWHNameChange"></uni-combox>
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鏃ユ湡: </view>
+                    <view class="right">
+                        <input type="text" v-model="hform.HDate" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鍒跺崟浜�: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HMaker" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鍗曟嵁鍙�: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HBillNo" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鍗曟嵁ID: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HInterID" />
+                    </view>
+                </view>
+            </view>
+        </template>
+
+        <!-- 琛ㄥご淇℃伅 -->
+        <template v-if="tabs == 1">
+            <view class="form" :style="{
+                height: containerHeight + 'px',
+                overflow: 'auto'
+            }">
+                <view class="form-item">
+                    <view class="title">淇濈: </view>
+                    <zxz-uni-data-select class="right" :localdata="HEmpList" dataKey="HName" dataValue="HItemID"
+                        v-model="hform.HKeeperID">
+                    </zxz-uni-data-select>
+                </view>
+                <view class="form-item">
+                    <view class="title">鍙戣揣: </view>
+                    <zxz-uni-data-select class="right" :localdata="HEmpList" dataKey="HName" dataValue="HItemID"
+                        v-model="hform.HSecManagerID">
+                    </zxz-uni-data-select>
+                </view>
+                <view class="form-item">
+                    <view class="title">閮ㄩ棬: </view>
+                    <zxz-uni-data-select class="right" :localdata="HDeptList" dataKey="閮ㄩ棬鍚嶇О" dataValue="HItemID"
+                        v-model="hform.HDeptID">
+                    </zxz-uni-data-select>
+                </view>
+                <view class="form-item">
+                    <view class="title">瀹㈡埛: </view>
+                    <view class="right">
+                        <input type="text" v-model="hform.HSupName" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">缁勭粐: </view>
+                    <view class="right">
+                        <input type="text" v-model="hform.HStockOrgName" />
+                    </view>
+                </view>
+            </view>
+        </template>
+
+        <!-- 鐗╂枡淇℃伅 -->
+        <template v-if="tabs == 2">
+            <view class="form" :style="{
+                height: containerHeight + 'px',
+                overflow: 'auto'
+            }">
+                <view class="list" v-for="(item,index) in HMaterList" :key="index">
+                    <uni-card :title="item.鐗╂枡鍚嶇О" :extra="item.鐗╂枡浠g爜" style="margin: 10px;" @tap="delMater(item)">
+                        <view class="card-detail">
+                            <view class="detail">
+                                <text>婧愬崟鍗曞彿锛�</text>{{item.婧愬崟鍗曞彿}}
+                            </view>
+                            <view class="detail">
+                                <text>婧愬崟鏁伴噺锛�</text>{{item.婧愬崟鏁伴噺}}
+                            </view>
+                            <view class="detail">
+                                <text>鏁伴噺锛�</text>{{item.鏁伴噺}}
+                            </view>
+                            <view class="detail">
+                                <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="materMeta[0].HWHName && /鍏磋揪/.test(hform.HStockOrgName
+                            )">
+                                <text>浠撳簱锛�</text>{{materMeta[0].HWHName}}
+                            </view>
+                        </view>
+                    </uni-card>
+                </view>
+                <view class="over" v-if="HMaterList.length == 0">鏆傛棤鏁版嵁</view>
+            </view>
+        </template>
+
+        <!-- 鍣ㄥ叿淇℃伅 -->
+        <template v-if="tabs == 3">
+            <view class="form" :style="{
+                height: containerHeight + 'px',
+                overflow: 'auto'
+            }">
+                <view class="list" v-for="(item,index) in HMaterList" :key="index">
+                    <uni-card :title="item.鍣ㄥ叿鍚嶇О" :extra="item.鍣ㄥ叿浠e彿" style="margin: 10px;" @tap="delMould(item)">
+                        <view class="card-detail">
+                            <view class="detail">
+                                <text>鍣ㄥ叿鏉$爜锛�</text>{{item.鍣ㄥ叿鏉$爜}}
+                            </view>
+                            <view class="detail">
+                                <text>鍣ㄥ叿鏉$爜涓暟锛�</text>{{item.鍣ㄥ叿鏉$爜涓暟}}
+                            </view>
+                            <view class="detail">
+                                <text>鏁伴噺锛�</text>{{item.鏁伴噺}}
+                            </view>
+                        </view>
+                    </uni-card>
+                </view>
+                <view class="over" v-if="HMaterList.length == 0">鏆傛棤鏁版嵁</view>
+            </view>
+        </template>
+
+        <!-- 鏉$爜淇℃伅 -->
+        <template v-if="tabs == 4">
+            <view class="form" :style="{
+                height: containerHeight + 'px',
+                overflow: 'auto'
+            }">
+                <view class="form-item">
+                    <view class="title">鏉$爜: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HBarCode_B" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鐗╂枡: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HMaterName_B" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">瑙勬牸: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HMaterModel_B" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鎵规: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HBatchNo_B" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鍗曚綅: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HUnitName_B" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">鏁伴噺: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HQty_B" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">瀹归噺: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HTMQty_B" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">浠撳簱: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HWHName_B" />
+                    </view>
+                </view>
+                <view class="form-item">
+                    <view class="title">浠撲綅: </view>
+                    <view class="righton">
+                        <input type="text" disabled v-model="hform.HSPName_B" />
+                    </view>
+                </view>
+            </view>
+        </template>
+
+        <!-- 涓嬫灦淇℃伅 -->
+        <template v-if="tabs == 5">
+            <view class="form" :style="{
+                height: containerHeight + 'px',
+                overflow: 'auto'
+            }">
+                <FIFOListComponentVue :FIFOList="HFIFOList"></FIFOListComponentVue>
+            </view>
+        </template>
+        <!-- 鎿嶄綔鎸夐挳 -->
+        <view class="buttons" id="buttons">
+            <button class="btn-a" size="mini" @tap="submit">鎻愪氦</button>
+            <view style="flex: 1;"></view>
+            <button class="btn-a" v-if="operationType!=4" size="mini" @tap="addNew">鏂板</button>
+            <button class="btn-c" size="mini" @tap="goBack">閫�鍑�</button>
+        </view>
+    </view>
+</template>
+
+<script>
+    import dayjs from "dayjs";
+    import {
+        CommonUtils
+    } from "@/utils/common";
+    import {
+        MpaasScan
+    } from "@/utils/mpaasScan.js"
+    import {
+        getUserInfo
+    } from "../../../utils/auth";
+    import {
+        getUserStockRelation
+    } from '@/utils/userRelationManager';
+    import FIFOListComponentVue from "@/components/FIFOListModule/FIFOListComponent.vue";
+    export default {
+        // 閿�鍞嚭搴撳崟(楠岃瘉)
+        name: 'Kf_SellOutBill_CusBar_APP',
+        components: {
+            FIFOListComponentVue
+        },
+        data() {
+            return {
+                tabs: 0,
+
+                btnTop: 0,
+                tabsBottom: 0,
+                HModName: "Sb_EqpMaintenanceBill",
+                operationType: 1,
+                uploadOptions: {},
+                enableEdit: true,
+                enableSourceBillEdit: true,
+
+                // 婧愬崟绫诲瀷鐩稿叧
+                HMainSourceBillType: "鍙戣揣閫氱煡鍗�", // 鐢ㄤ簬鏄剧ず鐨勬簮鍗曠被鍨�
+                arrayHMainSourceBillType: ['鍙戣揣閫氱煡鍗�', '閿�鍞鍗�', '鎵嬪伐褰曞叆'],
+                arrayHMainSourceBillTypeID: ['1402', '1401', '-1'], // 瀵瑰簲鐨勫崟鎹被鍨婭D
+                showHMainSourceBillType: true,
+
+                arrayHWHName: [], //浠撳簱
+                HWHNameList: [],
+                arrayHStockPlaceName: [], //浠撲綅
+                HStockPlaceNameList: [],
+
+                HDeptList: [],
+                HRepairCheckList: [],
+                HEmpList: [],
+                HRepairList: [],
+                HFIFOList: [],
+
+                materMeta: [],
+                HMaterList: [],
+                HMouldList: [],
+
+                hform: {
+                    "HCP": "",
+                    "HBarCode": "",
+                    "HQty": "",
+                    "HBarCode-BT": "",
+                    "HWHName": "",
+                    "HWHID": 0,
+                    "HWHID-BT": "",
+                    "HStockPlaceName": "",
+                    "HStockPlaceID": 0,
+                    "HSpID-BT": "",
+                    "HMainSourceBillType": "1402",
+                    "HSourceBillNo": "",
+                    "cmdHSourceBillNo": "",
+                    "HSourceBillNo-BT": "",
+                    "HFIFOWHName": "",
+                    "HFIFOWHID": 0,
+                    "HFIFOWHID-BT": "",
+                    "HDate": dayjs(new Date()).format("YYYY-MM-DD"),
+                    "HMaker": getUserInfo()["Czymc"],
+                    "HBillNo": "",
+                    "HInterID": 0,
+                    "HKeeperName": getUserInfo()["HKeeperName"],
+                    "HKeeperID": getUserInfo()["HKeeperID"],
+                    "HKeeperID-BT": "",
+                    "HSecManagerName": getUserInfo()["HSecManagerName"],
+                    "HSecManagerID": getUserInfo()["HSecManagerID"],
+                    "HSecManagerID-BT": "",
+                    "HDeptName": getUserInfo()["HDeptName"],
+                    "HDeptID": getUserInfo()["HDeptID"],
+                    "HDeptID-BT": "",
+                    "HSupName": "",
+                    "HSupID": 0,
+                    "HSupID-BT": "",
+                    "HStockOrgName": uni.getStorageSync("Organization"),
+                    "HStockOrgID": uni.getStorageSync("OrganizationID"),
+                    "wl-table": "",
+                    "cmdMouldDel": "",
+                    "Mould-table": "",
+                    "HBarCode_B": "",
+                    "HMaterName_B": "",
+                    "HMaterModel_B": "",
+                    "HBatchNo_B": "",
+                    "HUnitName_B": "",
+                    "HQty_B": "",
+                    "HTMQty_B": "",
+                    "HWHName_B": "",
+                    "HSPName_B": "",
+                    "FIFOList-table": "",
+                    "cmdSaver": "",
+                    "cmdModify": "",
+                    "cmdDelete": "",
+                    "cmdCancel": "",
+                    "HBillType": "1205",
+                    "HBillerID": uni.getStorageSync("HBillerID"),
+                    "HRedBlueFlag": false,
+                    "HSourceBillListCtl": 0,
+                    "cs": "",
+                    "cs2": "",
+                    HSourceFlag: false,
+                },
+                HDetailList: [{
+                    "HRepairID": 0,
+                    "HRepairCode": "",
+                    "HRepairName": "",
+                    "HManagerID": 0,
+                    "HManagerCode": "",
+                    "HManagerName": "",
+                    "HRepairExplanation": '',
+                    "HRemark": "",
+                    "HEmpID": '',
+                    "HSourceInterID": 0,
+                    "HSourceEntryID": 0,
+                    "HSourceBillNo": ''
+                }]
+            };
+        },
+        computed: {
+            containerHeight: {
+                get() {
+                    return this.btnTop - this.tabsBottom - 5
+                }
+            },
+            HStockPlaceNameListComputed: {
+                get() {
+                    // 鍔ㄦ�佽绠楀搴斾粨搴撶殑浠撲綅
+                    return this.HStockPlaceNameList
+                        .filter(e => e['鎵�灞炰粨搴�'] == this.hform.HWHName)
+                        .map(e => e['浠撲綅鍚嶇О'])
+                }
+            }
+        },
+        methods: {
+            // 鏉$爜鍒犻櫎
+            async delMater(item) {
+                uni.showModal({
+                    title: '鎻愮ず',
+                    content: '纭瑕佸垹闄� " ' + item.鐗╂枡鍚嶇О + ' " 鎵�鏈夋壂鐮佽褰曪紵鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛�',
+                    success: async (res) => {
+                        if (res.confirm) {
+                            try {
+                                let res = await CommonUtils.doRequest2Async({
+                                    url: "/WEBSController/set_DelPonderationBillMain_Temp_InterIDAndSource_Json",
+                                    data: {
+                                        "HInterID": this.hform.HInterID,
+                                        "HMaterID": item.HMaterID,
+                                        "HAuxPropID": item.HAuxPropID,
+                                        "HMTONo": item.HMTONo,
+                                        "HSourceInterID": item.HSourceInterID,
+                                        "HSourceEntryID": item.HSourceEntryID,
+                                        "HBillType": this.hform.HBillType
+                                    },
+                                })
+
+                                let {
+                                    count,
+                                    Message
+                                } = res.data
+
+                                if (count == 1) {
+                                    this.DisBillEntryList()
+                                } else {
+                                    CommonUtils.showTips({
+                                        title: '娓╅Θ鎻愮ず',
+                                        message: `鍒犻櫎鏉$爜閿欒: ${Message}`
+                                    })
+                                }
+                            } catch (err) {
+                                CommonUtils.showTips({
+                                    title: '娓╅Θ鎻愮ず',
+                                    message: `鍒犻櫎鏉$爜閿欒: ${err}`
+                                })
+                            }
+                        }
+                    }
+                });
+            },
+            // 鍣ㄥ叿鍒犻櫎
+            async delMould(item) {
+                uni.showModal({
+                    title: '鎻愮ず',
+                    content: '纭瑕佸垹闄� " ' + item.鍣ㄥ叿鍚嶇О + ' " 鎵�鏈夋壂鐮佽褰曪紵鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛�',
+                    success: async (res) => {
+                        if (res.confirm) {
+                            try {
+                                let res = await CommonUtils.doRequest2Async({
+                                    url: "/MouldController/set_DelMouldStockBillMain_Temp_Json",
+                                    data: {
+                                        "HInterID": this.hform.HInterID,
+                                        "HBillType": this.hform.HBillType,
+                                        "HBarCode": item.HMouldBarCode
+                                    },
+                                })
+
+                                let {
+                                    count,
+                                    Message
+                                } = res.data
+
+                                if (count == 1) {
+                                    this.DisBillEntryList()
+                                } else {
+                                    CommonUtils.showTips({
+                                        title: '娓╅Θ鎻愮ず',
+                                        message: `鍒犻櫎鏉$爜閿欒: ${Message}`
+                                    })
+                                }
+                            } catch (err) {
+                                CommonUtils.showTips({
+                                    title: '娓╅Θ鎻愮ず',
+                                    message: `鍒犻櫎鏉$爜閿欒: ${err}`
+                                })
+                            }
+                        }
+                    }
+                });
+            },
+            // 鎵弿鏉$爜
+            qrCodeDisplay(type) {
+                MpaasScan.scanCode(res => {
+                    if (!res) {
+                        return
+                    }
+                    switch (type) {
+                        // 鎵弿浼犵エ
+                        case "HCP":
+                            this.hform.HCP = res;
+                            break;
+                            // 鎵弿浜岀淮鐮�
+                        case "BarCode":
+                            this.hform.HBarCode = res
+                            this.GetMessageByBarCode();
+                            break;
+                    }
+                })
+
+            },
+            // 鑾峰彇浠撳簱淇℃伅
+            async getRelationStore() {
+                let {
+                    data,
+                    count
+                } = await getUserStockRelation()
+                if (count == 1) {
+                    let WHIDList = []
+
+                    Array.from(data).forEach(elem => {
+                        WHIDList.push(elem.HItemID)
+                    })
+
+                    let sWhere = ` and HItemID in (${WHIDList.join(",")})`
+                    this.getHBaseList({
+                        sWhere: sWhere
+                    })
+
+                } else {
+                    this.getHBaseList()
+                }
+            },
+            //鍩虹浠撳簱璧勬枡
+            async getHBaseList({
+                sWhere = ''
+            } = {}) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/Gy_Warehouse/list",
+                        data: {
+                            sWhere: sWhere,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data
+                    if (count == 1) {
+                        console.log('data: ', data);
+                        this.HWHNameList = data
+                        for (var i = 0; i < data.length; i++) {
+                            this.arrayHWHName[i] = data[i].浠撳簱鍚嶇О
+                        }
+                        this.HWHNameChange(getUserInfo()["HWhName"])
+                        // this.HStockPlaceNameChange(res.data.data[0].浠撳簱鍚嶇О)
+                    } else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: `鑾峰彇浠撳簱澶辫触: ${Message}`
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: `鑾峰彇浠撳簱澶辫触: ${err}`
+                    })
+                }
+            },
+            //閫夋嫨浠撳簱
+            HWHNameChange(e) {
+                // var name = e.split("(")
+                for (var i = 0; i < this.HWHNameList.length; i++) {
+                    if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
+                        this.hform.HWHName = this.HWHNameList[i].浠撳簱鍚嶇О
+                        this.hform.HWHID = this.HWHNameList[i].HItemID
+                        this.HStockPlaceNameChange(null)
+                        this.showHStockPlaceName = false
+                        if (this.HWHNameList[i]['鍚敤浠撲綅'] == 'Y') {
+                            this.showHStockPlaceName = true
+                            this.getStockPlaceRemote(this.HWHNameList[i]["HSPGroupID"])
+                        }
+                    }
+                }
+            },
+            HFIFOWHNameChange(e) {
+                // var name = e.split("(")
+                for (var i = 0; i < this.HWHNameList.length; i++) {
+                    if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
+                        this.hform.HFIFOWHName = this.HWHNameList[i].浠撳簱鍚嶇О
+                        this.hform.HFIFOWHID = this.HWHNameList[i].HItemID
+                    }
+                }
+            },
+            async getStockPlaceRemote(HSPGroupID) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and HSPGroupID = ${HSPGroupID}`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+
+                    if (res.data.count == 1) {
+                        this.HStockPlaceNameList = res.data.data
+                        for (var i = 0; i < res.data.data.length; i++) {
+                            this.arrayHStockPlaceName[i] = res.data.data[i].浠撲綅鍚嶇О
+                        }
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            //閫夋嫨浠撲綅
+            HStockPlaceNameChange(e) {
+                let index = this.HStockPlaceNameList.findIndex(elem => elem['浠撲綅鍚嶇О'] == e)
+                if (index != -1) {
+                    this.hform.HStockPlaceName = this.HStockPlaceNameList[index].浠撲綅鍚嶇О
+                    this.hform.HStockPlaceID = this.HStockPlaceNameList[index].HMainID
+                } else {
+                    this.hform.HStockPlaceName = ''
+                    this.hform.HStockPlaceID = 0
+                }
+            },
+            // 鎵弿浠撲綅鐮�
+            async HStockPlaceNameScan(e) {
+                // 鎵弿浠撲綅鐮�
+                // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
+                this.hform.HStockPlaceID = 0
+                this.hform.HStockPlaceName = ''
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_StockPlace/list',
+                        data: {
+                            sWhere: ` and 鏉$爜缂栧彿 = '${e}'`,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        },
+                    })
+
+                    if (res.data.count == 1) {
+
+                        this.hform.HStockPlaceID = res.data.data[0].HMainID
+                        this.hform.HStockPlaceName = res.data.data[0].浠撲綅鍚嶇О
+                        this.hform.HWHID = res.data.data[0].HWHID
+                        this.hform.HWHName = res.data.data[0].鎵�灞炰粨搴�
+                    } else {
+                        uni.showToast({
+                            title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                            icon: 'none'
+                        })
+                    }
+
+                } catch (err) {
+                    uni.showToast({
+                        title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+                        icon: 'none'
+                    })
+                }
+            },
+            // 鏄剧ず婧愬崟鍗曟嵁鍒楄〃寮圭獥
+            showBillList() {
+                this.$refs.billList.showPopup()
+            },
+
+            // 閫夋嫨婧愬崟绫诲瀷
+            HMainSourceBillTypeChange(e) {
+                if (e.detail.value == -1 || e.detail.value == NaN) {
+                    this.HMainSourceBillType = '鎵嬪伐褰曞叆'
+                    this.hform.HMainSourceBillType = '鎵嬪伐褰曞叆'
+                    return
+                }
+
+                this.HMainSourceBillType = this.arrayHMainSourceBillType[e.detail.value]
+                this.hform.HMainSourceBillType = this.arrayHMainSourceBillTypeID[e.detail.value]
+
+                // 缂撳瓨褰撳墠椤甸潰閫夋嫨
+                const pages = getCurrentPages()
+                const currentPage = pages[pages.length - 1]
+                uni.setStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`, {
+                    HSourceBillTypeName: this.HMainSourceBillType,
+                    HSourceBillType: this.hform.HMainSourceBillType
+                })
+            },
+
+            // 璇诲彇缂撳瓨
+            loadCache() {
+                const pages = getCurrentPages()
+                const currentPage = pages[pages.length - 1]
+                let HBillTypeCache = uni.getStorageSync(`${currentPage.route.split("/").pop()}_HSourceBillTypeCache`)
+                if (HBillTypeCache) {
+                    this.HMainSourceBillType = HBillTypeCache.HSourceBillTypeName
+                    this.hform.HMainSourceBillType = HBillTypeCache.HSourceBillType
+                }
+            },
+
+            // 缁翠慨椤圭洰
+            async getRepairList() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_Repair/GetRepairList',
+                        data: {
+                            sWhere: '',
+                            user: getUserInfo()["Czymc"]
+                        }
+                    })
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data
+                    if (count == 1) {
+                        this.HRepairList = data
+                    } else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: `鑾峰彇缁翠慨椤圭洰澶辫触: ${Message}`
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: `鑾峰彇缁翠慨椤圭洰澶辫触: ${err}`
+                    })
+                }
+            },
+            // 鍒犻櫎鏄庣粏
+            delDetail(item) {
+
+            },
+            // 鎻愪氦鏁版嵁鏈夋晥鎬ф牎楠�
+            ValidCheck() {
+                if (this.hform.HEquipID == 0) {
+                    return {
+                        Message: "鏈綍鍏ヨ澶囦俊鎭紝璇峰厛褰曞叆璁惧淇℃伅!",
+                        state: false
+                    }
+                }
+                if (this.hform.HDeptID == 0) {
+                    return {
+                        Message: "閮ㄩ棬涓嶅緱涓虹┖!",
+                        state: false
+                    }
+                }
+                if (this.hform.HEmpID == 0) {
+                    return {
+                        Message: "楠屾敹浜轰笉寰椾负绌�!",
+                        state: false
+                    }
+                }
+                if (this.hform.HRepairCheckMainID == 0) {
+                    return {
+                        Message: "缁翠慨椤圭洰涓嶅緱涓虹┖!",
+                        state: false
+                    }
+                }
+                if (this.hform.HManagerID == 0) {
+                    return {
+                        Message: "璐熻矗浜轰笉寰椾负绌�!",
+                        state: false
+                    }
+                }
+                if (this.hform.HMainSourceBillType !== '鎵嬪伐褰曞叆') {
+                    if (!this.hform.HSourceBillNo || this.hform.HSourceBillNo.trim() === '') {
+                        CommonUtils.showTips({
+                            message: '婧愬崟绫诲瀷闈炴墜宸ュ綍鍏ワ紝蹇呴』閫夋嫨婧愬崟锛�'
+                        })
+                        return
+                    }
+                }
+                return {
+                    Message: "",
+                    state: true
+                }
+            },
+            addNew() {
+                uni.redirectTo({
+                    url: './Kf_SellOutBill_CusBar_APP?operationType=1'
+                })
+            },
+            goBack() {
+                uni.navigateBack()
+            },
+            checkBoxChangeHandler(index, e) {
+                let cr = e.detail.value
+                if (cr.length == 0) {
+                    this.HCheckFileList[index]["HDotCheckResult"] = false
+                } else {
+                    this.HCheckFileList[index]["HDotCheckResult"] = true
+                }
+            },
+            uploadFile(index) {
+                console.log('filePath: ', this.attachmentInfo[index].filePath);
+                // 閫氳繃涓存椂璺緞璇诲彇鏂囦欢
+                uni.uploadFile({
+                    url: CommonUtils.getServerUrl() + "/Sb_EquipDotCheckBill/UploadFile",
+                    filePath: this.attachmentInfo[index].filePath,
+                    name: 'file',
+                    formData: {
+                        HBillNo: this.hform.HBillNo,
+                        HRemark: "",
+                        HUserName: getUserInfo()["Czymc"]
+                    },
+                    success: (uploadRes) => {
+                        CommonUtils.showTips({
+                            message: "涓婁紶鎴愬姛"
+                        })
+                        this.attachmentInfo[index].status = "涓婁紶鎴愬姛"
+                    },
+                    fail: (err) => {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: `涓婁紶澶辫触: ${err}`
+                        })
+                    }
+                })
+            },
+            delFile(index) {
+                console.log('attachmentInfo: ', this.attachmentInfo[index]);
+                uni.showModal({
+                    title: '鎻愮ず',
+                    content: '纭瑕佸垹闄� " ' + this.attachmentInfo[index].fileName + ' " 鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛�',
+                    success: (res) => {
+                        if (res.confirm) {
+                            this.attachmentInfo.splice(index, 1)
+                        }
+                    },
+                })
+
+            },
+            handleUploadCallback(res) { // 鏂囦欢涓婁紶鍥炶皟
+                console.log('file: ', res);
+                let fileInfo = res.data[0]
+                this.attachmentInfo.push({
+                    fileName: fileInfo.name,
+                    size: fileInfo.size,
+                    status: '绛夊緟涓婁紶',
+                    filePath: fileInfo.tempFilePath
+                })
+            },
+            // 涓婁紶鏂囦欢
+            fileUpload() {
+                this.$refs.XeUpload.upload('file', {});
+            },
+            //鑾峰彇鐝鏁版嵁
+            async getShiftList() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Web/GetGy_ShiftsList_Json',
+                        data: {
+                            Shifts: "",
+                        }
+                    })
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data
+                    if (count == 1) {
+                        this.HShiftsList = data
+                    } else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: Message
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: err
+                    })
+                }
+            },
+            //鑾峰彇浣跨敤閮ㄩ棬鏁版嵁
+            async getHDeptList() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_Department/list',
+                        data: {
+                            sWhere: ` and HUSEORGID = ${uni.getStorageSync('OrganizationID')} `,
+                            user: uni.getStorageSync('HUserName'),
+                            Organization: uni.getStorageSync('Organization')
+                        }
+                    })
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data
+                    if (count == 1) {
+                        this.HDeptList = data
+                    } else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: Message
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: err
+                    })
+                }
+            },
+            // 鑾峰彇鑱屽憳鏁版嵁
+            async getEmpList() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/PublicPageMethod/UserList',
+                        data: {
+                            sWhere: " where 1=1",
+                        }
+                    })
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data
+                    if (count == 1) {
+                        this.HEmpList = data
+                    } else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: Message
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: err
+                    })
+                }
+            },
+            // 鑾峰彇楠岃瘉椤圭洰鏁版嵁
+            async getCheckProjList() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/Gy_RepairCheck/GetRepairCheckList',
+                        data: {
+                            sWhere: "",
+                            user: uni.getStorageSync('HUserName'),
+                        }
+                    })
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data
+                    if (count == 1) {
+                        this.HRepairCheckList = data
+                    } else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: Message
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: '娓╅Θ鎻愮ず',
+                        message: err
+                    })
+                }
+            },
+            async getBarCodeJson(sBarCode, sBarCodePrefix) {
+                if (!this.hform.HQty) {
+                    this.hform.HQty = 0
+                }
+                console.log('this.hform.HQty: ', this.hform.HQty);
+                try {
+                    let res = await CommonUtils.doRequest2Sync({
+                        url: '/WEBSController/Get_BarCode_Json',
+                        data: {
+                            sBarCode: sBarCode,
+                            HInterID: this.hform.HInterID,
+                            HBillType: this.hform.HBillType,
+                            HBillNo: this.hform.HBillNo,
+                            HMaker: this.hform.HMaker,
+                            HWhID: this.hform.HWHID,
+                            HSPID: this.hform.HStockPlaceID,
+                            HQty: this.hform.HQty,
+                            HRedBlueFlag: this.hform.HRedBlueFlag,
+                            SourceFlag: this.hform.HSourceFlag,
+                            HSourceBillNo: this.hform.HSourceBillNo,
+                            HSourceBillType: this.hform.HMainSourceBillType,
+                            HStockOrgID: this.hform.HStockOrgID,
+                            HScanStyle: "",
+                            HCustom1: "1",
+                            HCustom2: ""
+                        },
+                    })
+                    if (!res) {
+                        return
+                    }
+                    console.log('鎵爜杩斿洖', res.data);
+                    this.hform.HBarCode = ''
+                    if (res.data.count == 1) {
+                        CommonUtils.playSound(1)
+                        var data = res.data.data
+                        if (data.hBarTypeField == '浠撳簱鏉$爜') {
+                            this.hform.HWHName = data.hWhNameField
+                            this.hform.HWHID = data.hWhIDField
+                            this.hform.HStockPlaceName = ''
+                            this.hform.HStockPlaceID = 0
+                            if (data.hSPFlagField == 0) {
+                                this.showHStockPlaceName = false
+                            } else {
+                                this.showHStockPlaceName = true
+                            }
+                        } else if (data.hBarTypeField == '浠撲綅鏉$爜') {
+                            this.hform.HWHName = data.hWhNameField
+                            this.hform.HWHID = data.hWhIDField
+                            this.hform.HStockPlaceName = data.hSPNameField
+                            this.hform.HStockPlaceID = data.hSPIDField
+                        } else if (data.hBarTypeField == '閮ㄩ棬鏉$爜') {
+                            this.hform.HDeptName = data.hDeptNameField
+                            this.hform.HDeptID = data.hDeptIDField
+                            this.tabs = 1
+                        } else if (data.hBarTypeField == '婧愬崟鏉$爜') {
+                            this.hform.HSupName = data.hSupNameField
+                            this.hform.HSupID = data.hSupIDField
+                            if (data.hDeptIDField != 0) {
+                                this.hform.HDeptID = data.hDeptIDField
+                                this.hform.HDeptName = data.hDeptNameField
+                            }
+                            this.hform.HSourceBillNo = data.hSourceBillNoField
+                            //鑾峰彇婧愬崟绫诲瀷銆佹簮鍗曞崟鍙�
+                            this.hform.HMainSourceBillType = data.hSourceBillTypeField
+                            if (data.hSourceBillTypeField == "1402") {
+                                this.HMainSourceBillType = '鍙戣揣閫氱煡鍗�'
+                                this.hform.HMainSourceBillType = 1402
+                                this.showHMainSourceBillType = false
+                            } else if (data.hSourceBillTypeField == "1401") {
+                                this.HMainSourceBillType = '閿�鍞鍗�'
+                                this.hform.HMainSourceBillType = 1401
+                                this.showHMainSourceBillType = false
+                            } else {
+                                this.HMainSourceBillType = '鎵嬪伐褰曞叆'
+                                this.hform.HMainSourceBillType = -1
+                                this.showHMainSourceBillType = false
+                            }
+                            if (data.hMulSourceFlagField == 0) {
+                                this.showHSourceBillNo = false
+                            }
+                            //瀹㈡埛涓嶅彲缂栬緫
+                            this.showHSupName = false
+                            this.tabs = 2
+                        } else { //鐗╂枡鏉$爜
+                            this.materMeta.push(data)
+                            this.tabs = 2
+                            if (!this.hform.HSourceBillNo) {
+                                this.hform.HSupName = data.hSupNameField
+                                this.hform.HSupID = data.hSupIDField
+                                this.hform.HSourceBillNo = data.hSourceBillNoField
+                                if (data.hDeptIDField != 0) {
+                                    this.hform.HDeptID = data.hDeptIDField
+                                    this.hform.HDeptName = data.hDeptNameField
+                                }
+                                console.log('鐗╂枡鏉$爜', data)
+                                //鑾峰彇婧愬崟绫诲瀷銆佹簮鍗曞崟鍙� 鏃犳簮鍗曠被鍨嬭涓烘墜宸ュ綍鍏�
+                                this.hform.HMainSourceBillType = data.hSourceBillTypeField || -1
+
+                                let index = this.arrayHMainSourceBillValue.findIndex(e => e == data
+                                    .hSourceBillTypeField)
+                                if (index != -1) {
+                                    this.HMainSourceBillType = this.arrayHMainSourceBillType[index]
+                                    this.hform.HMainSourceBillType = data.hSourceBillTypeField
+                                    this.showHMainSourceBillType = false
+                                }
+                                // if (data.hSourceBillTypeField == "1103") {
+                                // 	this.HMainSourceBillType = '鏀舵枡閫氱煡鍗�'
+                                // 	this.hform.HMainSourceBillType = 1103
+                                // 	this.showHMainSourceBillType = false
+                                // } else if (data.hSourceBillTypeField == "1102") {
+                                // 	this.HMainSourceBillType = '閲囪喘璁㈠崟'
+                                // 	this.hform.HMainSourceBillType = 1102
+                                // 	this.showHMainSourceBillType = false
+                                // } else {
+                                // 	this.HMainSourceBillType = '鎵嬪伐褰曞叆'
+                                // 	this.hform.HMainSourceBillType = -1
+                                // 	this.showHMainSourceBillType = false
+                                // }
+                                if (data.hMulSourceFlagField == 0) {
+                                    this.showHSourceBillNo = false
+                                }
+                                //渚涘簲鍟嗕笉鍙紪杈�
+                                this.showHSupName = false
+                            }
+                        }
+                        //鏄剧ず琛ㄤ綋鏄庣粏
+                        this.DisBillEntryList(sBarCodePrefix)
+                        //娓呯┖鏁伴噺
+                        this.hform.HQty = ''
+                    } else {
+                        CommonUtils.playSound(0)
+                        // this.refreshBarCodeState()
+                        uni.showToast({
+                            title: res.data.Message,
+                            icon: 'none'
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.playSound(0)
+                    // this.refreshBarCodeState()
+                    console.log(err);
+                    uni.showToast({
+                        title: '鎺ュ彛璇锋眰澶辫触: ' + err,
+                        icon: 'none'
+                    })
+                }
+
+            },
+            toScanHSourceBillNo() {
+                MpaasScan.scanCode(cb => {
+                    this.hfrom.HSourceBillNo = cb
+                    this.GetMessageByHSourceBillNo(cb)
+                })
+            },
+            async GetMessageByHSourceBillNo(HSouceBillNo) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/WEBSController/get_SourceBarCode_SellOut_Json",
+                        data: {
+                            "HInterID": this.hform.HInterID,
+                            "HBillNo": this.hform.HBillNo,
+                            "HBillType": this.hform.HBillType,
+                            "HSourceBillNo": this.hform.HSourceBillNo,
+                            "HSourceBillType": this.hform.HMainSourceBillType,
+                            "HMaker": this.hform.HMaker,
+                            "HFIFOWhID": this.hform.HFIFOWHID,
+                            "HOWNERID": this.hform.HStockOrgID
+                        },
+
+                    })
+
+                    let {
+                        count,
+                        Message,
+                        data
+                    } = res.data
+                    if (count == 1) {
+                        CommonUtils.playSound(1)
+                        this.hform.HSourceFlag = true
+                        this.hform.HSupName = data.hSupNameField
+                        this.hform.HSupID = data.hSupIDField
+
+                        if (data.hDeptIDField != 0) {
+                            this.hform.HDeptID = data.hDeptIDField
+                            this.hform.HDeptName = data.hDeptNameField
+                        }
+
+                        this.hform.HSourceBillNo = data.hSourceBillNoField
+                    } else {
+                        CommonUtils.playSound(0)
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鑾峰彇婧愬崟鍗曞彿澶辫触: ${Message}`
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鑾峰彇婧愬崟鍗曞彿澶辫触: ${err}`
+                    })
+                }
+            },
+            async GetMessageByBarCode(HBarCode) {
+                if (this.hform.HWHName == '') {
+                    this.hform.HWHID = "0"
+                }
+                if (this.hform.HStockPlaceName == '') {
+                    this.hform.HStockPlaceID = "0"
+                }
+                if (this.hform.HSupName == '') {
+                    this.hform.HSupID = "0"
+                }
+
+                console.log('HQty: ', this.hform.HQty);
+                let sOldBarCode = this.hform.HBarCode
+                let HDeleteFlag = sOldBarCode.substring(0, 1);
+                let sBarCode = sOldBarCode.slice(1);
+                let sHWHID = this.hform.HWHID
+                let sHSPID = this.hform.HStockPlaceID
+                let sHQty = this.hform.HQty
+                let sSourceBillNo = this.hform.HSourceBillNo
+                let sSourceBillType = this.hform.HMainSourceBillType
+                let sHCusID = this.hform.HSupID
+                let sHCP = this.hform.HCP
+                if (HDeleteFlag == "*") {
+                    if (sBarCode == "") {
+                        CommonUtils.playSound(0)
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: "璇锋壂鎻忚鍒犻櫎鐨勬潯鐮�"
+                        })
+                    } else {
+                        this.hform.HBarCode = ""
+                    }
+
+                    try {
+                        let res = await CommonUtils.doRequest2Async({
+                            url: '/WEBSController/set_DelPonderationBillMain_Temp_BarCode_Json',
+                            data: {
+                                "HInterID": this.hform.HInterID,
+                                "HBillType": this.hform.HBillType,
+                                "HBarCode": sBarCode
+                            }
+                        })
+
+                        let {
+                            data,
+                            count,
+                            Message
+                        } = res.data
+                        if (count == 1) {
+                            CommonUtils.playSound(1)
+                            this.hform.HQty = ""
+
+                        } else {
+                            CommonUtils.playSound(0)
+                            CommonUtils.showTips({
+                                title: '娓╅Θ鎻愮ず',
+                                message: `閿欒: ${Message}`
+                            })
+                        }
+                    } catch (err) {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: `閿欒: ${err}`
+                        })
+                    }
+                } else {
+                    sBarCode = this.hform.HBarCode
+                    if (sBarCode == '') {
+                        CommonUtils.playSound(0)
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: `鏉$爜涓虹┖, 璇锋壂鎻忔潯鐮�!`
+                        })
+                        return
+                    }
+                    let sBarCodePrefix = sBarCode.substr(0, 3)
+                    if (sBarCodePrefix != 'PAK') {
+                        if (sHCusID == 0) {
+                            CommonUtils.playSound(0)
+                            CommonUtils.showTips({
+                                title: '娓╅Θ鎻愮ず',
+                                message: `缂哄皯瀹㈡埛淇℃伅锛岃鍏堟壂鎻忔簮鍗曟潯鐮�!`
+                            })
+                            this.tabs = 0
+                            return
+                        }
+                        if (sHCP == '') {
+                            CommonUtils.playSound(0)
+                            CommonUtils.showTips({
+                                title: '娓╅Θ鎻愮ず',
+                                message: `浼犵エ鍙蜂笉鑳戒负绌猴紝璇峰厛鎵弿浼犵エ鍙�!`
+                            })
+                            return
+                        }
+
+                        //鏍规嵁瀹㈡埛銆佷紶绁ㄣ�佹潯鐮佽繘琛岄獙璇�
+                        this.getChechBarCodeAndCPJSON(sHCusID, sHCP, sBarCode, sBarCodePrefix)
+                    } else {
+                        this.getBarCodeJson(sBarCode, sBarCodePrefix)
+                        // this.DisBillEntryList(sBarCodePrefix)
+                    }
+                }
+            },
+            // 鏍规嵁瀹㈡埛 浼犵エ 鏉$爜杩涜楠岃瘉
+            async getChechBarCodeAndCPJSON(sHCusID, sHCP, sBarCode, sBarCodePrefix) {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/WEBSController/GetCheakBarCodeAndCP_Json',
+                        data: {
+                            "HCusID": sHCusID,
+                            "HCP": sHCP,
+                            "HBarCode": sBarCode
+                        }
+                    })
+
+                    let {
+                        count,
+                        Message
+                    } = res.data
+                    if (count == 1) {
+                        CommonUtils.playSound(1)
+
+                        // this.DisBillEntryList()
+                        this.getBarCodeJson(sBarCode, sBarCodePrefix)
+                    } else {
+                        CommonUtils.playSound(0)
+                        console.log(err);
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: '鎺ュ彛璇锋眰澶辫触: ' + Message
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.playSound(0)
+                    console.log(err);
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: '鎺ュ彛璇锋眰澶辫触: ' + err
+                    })
+                }
+            },
+            //鐗╂枡淇℃伅
+            async DisBillEntryList(sBarCodePrefix) {
+                try {
+
+                    let res = await CommonUtils.doRequest2Async({
+                        url: '/WEBSController/GetBillEntryTmpList_Json',
+                        data: {
+                            HInterID: this.hform.HInterID,
+                            HBillNo: this.hform.HBillNo,
+                            HBillType: this.hform.HBillType,
+                            HStockOrgID: this.hform.HStockOrgID
+                        }
+                    })
+
+                    console.log('鐗╂枡', res.data)
+                    if (res.data.count == 1) {
+                        var data = res.data.data
+                        this.materMeta = data.BarCodeDetailslist
+                        this.HMaterList = data.Materlist
+                        this.HMouldList = data.Mouldlist
+
+                        if (data.FIFOlist.length != 0) {
+                            if (data.FIFOlist[0].HMaterID != 0) {
+                                this.FIFOlist = data.FIFOlist
+                            }
+                        }
+
+                        // 鏍规嵁鏄惁鏄鏉$爜閰嶇疆浠撲綅淇℃伅
+                        if (sBarCodePrefix == 'PAK') {
+                            this.hform.HStockPlaceName = ''
+                            this.hform.HStockPlaceID = 0
+                        } else {
+                            this.hform.HStockPlaceName = data.hSPNameField || ''
+                            this.hform.HStockPlaceID = data.hSPIDField || 0
+                        }
+                        if (!data.BarCodeDetailslist[0].HBarCode) {
+                            this.hform.HMaterName_B = ''
+                            this.hform.HMaterModel_B = ''
+                            this.hform.HBatchNo_B = ''
+                            this.hform.HUnitName_B = ''
+                            this.hform.HQty_B = ''
+                            this.hform.HTMQty_B = ''
+                            this.hform.HWHName_B = ''
+                            this.hform.HSPName_B = ''
+                        } else {
+                            this.hform.HBarCode_B = data.BarCodeDetailslist[0].HBarCode
+                            this.hform.HMaterName_B = data.BarCodeDetailslist[0].HMaterName
+                            this.hform.HMaterModel_B = data.BarCodeDetailslist[0].HMaterModel
+                            this.hform.HBatchNo_B = data.BarCodeDetailslist[0].HBatchNo
+                            this.hform.HUnitName_B = data.BarCodeDetailslist[0].HUnitName
+                            this.hform.HQty_B = data.BarCodeDetailslist[0].HQty
+                            this.hform.HTMQty_B = data.BarCodeDetailslist[0].HTMQty
+                            this.hform.HWHName_B = data.BarCodeDetailslist[0].HWHName
+                            this.hform.HSPName_B = data.BarCodeDetailslist[0].HSPName
+                        }
+
+                        this.tabs = 2
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: `鎵弿鏉$爜澶辫触: ${res.data.Message}`
+                        })
+                    }
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: `鎵弿鏉$爜澶辫触: ${err}`
+                    })
+                }
+            },
+            radioChange({
+                detail: {
+                    value
+                }
+            }) {
+                this.hform.HCheckResult = value
+            },
+            // 鑾峰彇鏈�澶у崟鎹彿
+            async getMaxNum() {
+                try {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/WEBSController/GetMaxBillNoAndID_Json",
+                        data: {
+                            "HBillType": this.hform.HBillType
+                        }
+                    })
+                    let {
+                        count,
+                        data,
+                        Message
+                    } = res.data
+                    this.hform.HInterID = data[0]['HInterID']
+                    this.hform.HBillNo = data[0]["HBillNo"]
+
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: "鑾峰彇鍗曟嵁淇℃伅寮傚父: " + err
+                    })
+                }
+            },
+            async submit() {
+                let valid = this.ValidCheck()
+                if (!valid.state) {
+                    CommonUtils.showTips({
+                        message: valid.Message
+                    })
+                    return
+                }
+
+                try {
+                    console.log('HStockPlaceID: ',this.hform.HStockPlaceID);
+                    let oMain = JSON.stringify(this.hform)
+                    console.log('oMain: ', oMain);
+                    let res = await CommonUtils.doRequest2Sync({
+                        url: "/WEBSController/set_SaveSellOutBill_Json",
+                        data: {
+                            "oMain": oMain
+                        },
+                        method: "POST"
+                    })
+
+                    if (!res) {
+                        return
+                    }
+
+                    let {
+                        count,
+                        Message
+                    } = res.data
+                    if (count == 1) {
+                        if (this.operationType == 4) {
+                            uni.showModal({
+                                title: '鎻愮ず',
+                                content: res.data.Message + '銆傚嵆灏嗚繑鍥炰笂绾ч〉闈�',
+                                showCancel: false,
+                                success: (res) => {
+                                    if (res.confirm) {
+                                        console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+                                        setTimeout(() => {
+                                            uni.navigateBack();
+                                        }, 50)
+                                        // uni.redirectTo({
+                                        //     url: './Sb_EquipRepairSendWorkBill?operationType=1'
+                                        // })
+                                    } else if (res.cancel) {
+                                        console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+                                        setTimeout(() => {
+                                            uni.navigateBack();
+                                        }, 50)
+                                    }
+                                }
+                            });
+                            return
+                        }
+                        uni.showModal({
+                            title: '鎻愮ず',
+                            content: res.data.Message + '銆傛槸鍚︾户缁柊澧烇紵(鐐瑰嚮鍙栨秷杩斿洖涓婄骇椤甸潰)',
+                            success: (res) => {
+                                if (res.confirm) {
+                                    console.log('鐢ㄦ埛鐐瑰嚮纭畾');
+                                    uni.redirectTo({
+                                        url: './Kf_SellOutBill_CusBar_APP?operationType=1'
+                                    })
+                                } else if (res.cancel) {
+                                    console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷');
+                                    setTimeout(() => {
+                                        uni.navigateBack();
+                                    }, 50)
+                                }
+                            }
+                        });
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: "鎻愪氦鍗曟嵁澶辫触: " + Message
+                        })
+                    }
+
+
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: "鎻愪氦鍗曟嵁澶辫触: " + err
+                    })
+                }
+            },
+            async getEquipFileMain(HInterID) {
+                try {
+                    let res = await CommonUtils.doRequest2Sync({
+                        url: "/Sb_PDA_EquipDotCheckBill/txtHBarCode_KeyDown_ListByHEquipID",
+                        data: {
+                            HEquipID: HInterID,
+                        },
+                    })
+
+
+                    if (!res) {
+                        return
+                    }
+
+                    let {
+                        data,
+                        count,
+                        Message
+                    } = res.data
+
+                    if (count == 1) {
+                        console.log('data: ', data);
+                        this.hform.HEquipID = data[0].hmainid
+                        this.hform.HBarName = data[0].璁惧鍚嶇О
+                        this.hform.HBarSpec = data[0].璁惧瑙勬牸
+                        this.hform.HBarModel = data[0].璁惧鍨嬪彿
+                        this.hform.HQty = 1
+
+                        this.enableEdit = false
+                    } else {
+                        CommonUtils.showTips({
+                            title: "娓╅Θ鎻愮ず",
+                            message: Message
+                        })
+                    }
+
+                } catch (err) {
+                    CommonUtils.showTips({
+                        title: "娓╅Θ鎻愮ず",
+                        message: err
+                    })
+                }
+            },
+            async getSourceBillInfo(HSourceBillType, HInterID, HBillNo) {
+                // 涓嬫帹鍗曟嵁绫诲瀷涓鸿澶囨晠闅滅櫥璁板崟
+                if (HSourceBillType == 3907) {
+                    let res = await CommonUtils.doRequest2Async({
+                        url: "/Sb_EqpRepairWorkBill/Sb_EqpConkBookBillListCheckDetai",
+                        data: {
+                            HID: HInterID
+                        }
+                    })
+
+                    let {
+                        data,
+                        code,
+                        count,
+                        Message
+                    } = res.data
+
+                    if (code == 1) {
+                        console.log('data: ', data.h_v_Sb_EquipConkBookBillList_Edit);
+                        let data1 = data.h_v_Sb_EquipConkBookBillList_Edit[0]
+                        this.hform.HMainSourceBillType = HSourceBillType
+                        this.HMainSourceBillType = '璁惧鏁呴殰鐧昏鍗�'
+                        this.hform.HSourceBillNo = data1.鍗曟嵁鍙�
+                        this.hform.HMainSourceInterID = data1.hmainid
+                        this.hform.HMainSourceEntryID = data1.hsubid
+                        this.hform.HEquipID = data1.HEquipID
+                        this.hform.HManagerName = data1.璐熻矗浜�
+                        this.hform.HManagerID = data1.HManagerID
+                        this.hform.HBarName = data1.璁惧鍚嶇О
+                        this.hform.HBarModel = data1.璁惧鍨嬪彿
+                        this.hform.HBarSpec = data1.璁惧瑙勬牸
+                    } else {
+                        CommonUtils.showTips({
+                            title: '娓╅Θ鎻愮ず',
+                            message: `鑾峰彇婧愬崟澶辫触: ${Message}`
+                        })
+                    }
+                }
+            }
+        },
+        onLoad(e) {
+            if (!e.operationType) {
+                this.operationType = 1
+            } else {
+                this.operationType = e.operationType
+            }
+
+            if (this.operationType == 1) {
+                // 鏂板
+                this.getMaxNum()
+            } else if (this.operationType == 2) {
+                // 澶嶅埗
+            } else if (this.operationType == 3) {
+                // 缂栬緫
+
+            } else if (this.operationType == 4) {
+                // 鐢辨姤宸ュ钩鍙版墦寮�
+                let HEquipID = e.HEquipID
+                this.getMaxNum()
+                this.getEquipFileMain(HEquipID)
+            } else if (this.operationType == 5) {
+                let {
+                    HSourceBillType,
+                    HInterID,
+                    HBillNo
+                } = e
+                // 涓嬫帹
+                this.getMaxNum()
+                this.getSourceBillInfo(HSourceBillType, HInterID, HBillNo)
+            }
+
+            this.getHDeptList()
+            this.getEmpList()
+            this.getRelationStore()
+            this.loadCache()
+
+            // 鐩戝惉鍗曟嵁閫夋嫨瀹屾垚浜嬩欢
+            uni.$on('BillSelectComplete', (e) => {
+                console.log("鎺ユ敹鍒扮殑娑堟伅: ", e)
+                this.hform.HMainSourceInterID = e.HInterID
+                this.hform.HSourceBillNo = e.HBillNo
+                this.hform.HMainSourceEntryID = e.HEntryID
+                this.hform.HEquipID = e.HEquipID
+                this.hform.HBarName = e.HEquipName
+                this.hform.HBarSpec = e.HEquipSpec
+                this.hform.HBarModel = e.HEquipModel
+                this.$refs.billList.exit()
+            })
+        },
+        onUnload() {
+            uni.$off('BillSelectComplete')
+        },
+        onReady() {
+            const query = uni.createSelectorQuery().in(this)
+            query.select("#buttons")
+                .boundingClientRect()
+                .select("#tabs")
+                .boundingClientRect()
+                .exec(res => {
+                    this.btnTop = Math.floor(res[0].top)
+                    this.tabsBottom = Math.ceil(res[1].bottom)
+                })
+        }
+    }
+</script>
+
+<style lang="scss" scoped>
+    @import "../style/MJBillStyle.scss";
+
+    .left {
+        width: 4em;
+    }
+
+    .picker-overlay {
+        position: absolute;
+        top: 0;
+        left: 0;
+        right: 0;
+        bottom: 0;
+        z-index: 1;
+    }
+
+    .horizon_tabs {
+        width: 100%;
+        overflow-x: auto;
+    }
+</style>
\ No newline at end of file
diff --git a/pages/ZLGL/style/MJBillStyle.scss b/pages/ZLGL/style/MJBillStyle.scss
index 21ebdbb..c901e48 100644
--- a/pages/ZLGL/style/MJBillStyle.scss
+++ b/pages/ZLGL/style/MJBillStyle.scss
@@ -97,6 +97,7 @@
         // width: 450rpx;
         flex: 1;
         border-radius: 22rpx;
+        height: 100%;
         border: 1px solid #acacac;
         position: relative;
         display: flex;
@@ -106,7 +107,19 @@
         }
 
         .uni-combox {
-            width: 100%
+            width: 100%;
+            padding-top: 0;
+            padding-bottom: 0;
+            
+            .uni-input-wrapper {
+                .uni-input-placeholder{
+                    font-size: 24rpx;
+                }
+            }
+            
+            .uni-input-wrapper ::v-deep(.uni-input-input) {
+                font-size: 24rpx !important;
+            }
         }
     }
 
diff --git a/pages/caigouruku/POStockInBill.vue b/pages/caigouruku/POStockInBill.vue
index f3607a8..3491855 100644
--- a/pages/caigouruku/POStockInBill.vue
+++ b/pages/caigouruku/POStockInBill.vue
@@ -663,6 +663,7 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            this.HWHNameChange(getUserInfo()["HWhName"])
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',
diff --git a/pages/caigoutuiliao/POStockInBackBill.vue b/pages/caigoutuiliao/POStockInBackBill.vue
index 56b1d88..be89c9a 100644
--- a/pages/caigoutuiliao/POStockInBackBill.vue
+++ b/pages/caigoutuiliao/POStockInBackBill.vue
@@ -644,6 +644,7 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            this.HWHNameChange(getUserInfo()["HWhName"])
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',
diff --git a/pages/fenbushidiaochudan/form_out.vue b/pages/fenbushidiaochudan/form_out.vue
index e2d9726..f9a66cf 100644
--- a/pages/fenbushidiaochudan/form_out.vue
+++ b/pages/fenbushidiaochudan/form_out.vue
@@ -500,6 +500,8 @@
                     HTMQty_B: '',
                     HWHName_B: '',
                     HSPName_B: '',
+                    
+                    HSourceFlag: false,
                 }
             }
         },
@@ -825,12 +827,13 @@
                     this.getHBaseList()
                 }
             },
-            // 璋冨叆浠撳簱淇敼
+            // 璋冨叆浠撲綅淇敼
             HStockPlaceInNameChange(e) {
-                for (var i = 0; i < this.HStockPlaceNameList.length; i++) {
-                    if (this.HStockPlaceNameList[i].浠撲綅鍚嶇О == e) {
-                        this.hform.HStockPlaceName = this.HStockPlaceNameList[i].浠撲綅鍚嶇О
-                        this.hform.HStockPlaceID = this.HStockPlaceNameList[i].HMainID
+                console.log('浠撲綅e: ',e);
+                for (var i = 0; i < this.HStockPlaceInNameList.length; i++) {
+                    if (this.HStockPlaceInNameList[i].浠撲綅鍚嶇О == e) {
+                        this.hform.HStockPlaceName = this.HStockPlaceInNameList[i].浠撲綅鍚嶇О
+                        this.hform.HStockPlaceID = this.HStockPlaceInNameList[i].HMainID
                     }
                 }
             },
@@ -1343,10 +1346,10 @@
                 }
             },
             HOutStockPlaceNameChange(e) {
-                for (var i = 0; i < this.HStockPlaceInNameList.length; i++) {
-                    if (this.HStockPlaceInNameList[i].浠撲綅鍚嶇О == e) {
-                        this.hform.HOutStockPlaceName = this.HStockPlaceInNameList[i].浠撲綅鍚嶇О
-                        this.hform.HOutStockPlaceID = this.HStockPlaceInNameList[i].HMainID
+                for (var i = 0; i < this.HStockPlaceNameList.length; i++) {
+                    if (this.HStockPlaceNameList[i].浠撲綅鍚嶇О == e) {
+                        this.hform.HOutStockPlaceName = this.HStockPlaceNameList[i].浠撲綅鍚嶇О
+                        this.hform.HOutStockPlaceID = this.HStockPlaceNameList[i].HMainID
                     }
                 }
             },
@@ -1571,6 +1574,7 @@
                         },
                         success: (res) => {
                             if (res.data.count == 1) {
+                                this.hform.HSourceFlag = true
                                 var data = res.data.data
                                 console.log(2, data);
                                 this.hform.HSupName = data.hSupNameField
@@ -1662,7 +1666,7 @@
                 var sHQty = this.hform.HQty
                 var sSourceBillNo = this.hform.HSourceBillNo
                 var sSourceBillType = this.hform.HMainSourceBillType
-                var HSourceFlag = this.hform.HSourceBillNo == '' ? false : true
+                var HSourceFlag = this.hform.HSourceFlag
                 console.log(this.hform.HSourceBillNo, HSourceFlag)
                 if (HDeleteFlag == "*") {
                     if (sBarCode == "") {
@@ -1792,6 +1796,7 @@
                         this.hform.HBarCode = ''
                         if (res.data.count == 1) {
                             CommonUtils.playSound(1)
+                            this.hform.HSourceFlag = true
                             var data = res.data.data
                             if (data.hBarTypeField == '浠撳簱鏉$爜') {
                                 this.hform.HWHName = data.hWhNameField
@@ -2191,6 +2196,7 @@
                                 this.hform.HSCSPName_B = data.BarCodeDetailslist[0].HSCSPName
                             }
                         } else {
+                            this.Materlist = []
                             uni.showToast({
                                 title: res.data.Message,
                                 icon: 'none'
@@ -2358,6 +2364,7 @@
                                 this.hform.HStockOutOrgName = this.arrayHOrgName[HStockOutOrgIndex]
                             }
                             this.tabs = 2
+                            this.hform.HSourceFlag = true
                             this.DisBillEntryList()
                         } else {
                             uni.showToast({
@@ -2377,7 +2384,7 @@
             },
             addNew() {
                 uni.redirectTo({
-                    url: '/pages/zhijiediaobo/MoveStockBill?OperationType=1'
+                    url: '/pages/fenbushidiaochudan/form_out?OperationType=1'
                 })
             },
             async submit() {
diff --git a/pages/fenbushidiaorudan/form_test.vue b/pages/fenbushidiaorudan/form_test.vue
index 4957574..0cb1e12 100644
--- a/pages/fenbushidiaorudan/form_test.vue
+++ b/pages/fenbushidiaorudan/form_test.vue
@@ -168,7 +168,7 @@
             <view v-if="tabs == 2">
                 <view class="list" v-for="(item,index) in Materlist" :key="index">
                     <uni-card :title="item.鐗╂枡鍚嶇О" :extra="item.鐗╂枡浠g爜" style="margin: 10px;"
-                        @tap="showMaterialDetail(item)">
+                        @tap="delMater(item)">
                         <view class="card-detail">
                             <view class="detail">
                                 <text>婧愬崟鍗曞彿锛�</text>{{item.婧愬崟鍗曞彿}}
@@ -420,6 +420,8 @@
                     HSPName_B: '',
                     HSCWHName_B: '',
                     HSCSPName_B: '',
+                    
+                    HSourceFlag: false,
                 }
             }
         },
@@ -488,6 +490,47 @@
             }
         },
         methods: {
+            //鍒犻櫎鐗╂枡鐮�
+            delMater(item) {
+                uni.showModal({
+                    title: '鎻愮ず',
+                    content: '纭瑕佸垹闄� " ' + item.鐗╂枡鍚嶇О + ' " 鎵�鏈夋壂鐮佽褰曪紵鍒犻櫎鍚庡皢涓嶅彲鎭㈠锛�',
+                    success: (res) => {
+                        if (res.confirm) {
+                            uni.request({
+                                url: this.serverUrl +
+                                    '/WEBSController/set_DelPonderationBillMain_Temp_InterIDAndSource_Json',
+                                data: {
+                                    HInterID: this.hform.HInterID,
+                                    HMaterID: item.HMaterID,
+                                    HAuxPropID: item.HAuxPropID,
+                                    HMTONo: item.HMTONo,
+                                    HSourceInterID: item.HSourceInterID,
+                                    HSourceEntryID: item.HSourceEntryID,
+                                    HBillType: this.hform.HBillType
+                                },
+                                success: (res) => {
+                                    if (res.data.count == 1) {
+                                        this.DisBillEntryList()
+                                    } else {
+                                        uni.showToast({
+                                            title: res.data.Message,
+                                            icon: 'none'
+                                        })
+                                    }
+                                },
+                                fail: (res) => {
+                                    console.log(res);
+                                    uni.showToast({
+                                        title: '鎺ュ彛璇锋眰澶辫触',
+                                        icon: 'none'
+                                    })
+                                },
+                            });
+                        }
+                    }
+                });
+            },
             // 鐢ㄦ埛妯″潡鏉冮檺鍒ゆ柇
             async checkModRight() {
                 try {
@@ -609,7 +652,7 @@
                 if (!this.hform.HOutStockPlaceName) this.hform.HOutStockPlaceID = 0
 
                 const sHQty = this.hform.HQty || 0
-                const HSourceFlag = !!this.hform.HSourceBillNo
+                const HSourceFlag = this.hform.HSourceFlag
 
                 try {
                     console.log('寮�濮嬪鐞嗘潯鐮�:', sBarCode, sHQty, HSourceFlag, this.hform);
@@ -719,6 +762,8 @@
 
             // 璁剧疆婧愬崟淇℃伅
             async setSourceBillInfo(data) {
+                this.hform.HSourceFlag = true
+                return
                 if (data.hDeptIDField != 0) {
                     this.hform.HDeptID = data.hDeptIDField
                     this.hform.HDeptName = data.hDeptNameField
@@ -746,12 +791,16 @@
                 // 鏇存柊缁勭粐鏄剧ず
                 const inOrgIndex = this.arrayHOrgValue.findIndex(e => e == data.hStockInOrgIDField)
                 const outOrgIndex = this.arrayHOrgValue.findIndex(e => e == data.hStockOutOrgIDField)
+               
                 if (inOrgIndex !== -1) {
                     this.hform.HStockInOrgName = this.arrayHOrgName[inOrgIndex]
                 }
                 if (outOrgIndex !== -1) {
                     this.hform.HStockOutOrgName = this.arrayHOrgName[outOrgIndex]
                 }
+                
+                console.log('HStockInOrgName: ',this.hform.HStockInOrgName);
+                console.log('HStockOutOrgName: ',this.hform.HStockOutOrgName);
 
                 // 濡傛灉缁勭粐鍙戠敓鍙樺寲锛屾竻绌轰粨搴撲粨浣�
                 if (this.hform.HStockInOrgID != uni.getStorageSync('OrganizationID')) {
@@ -947,6 +996,7 @@
                     })
 
                     if (res.data.count == 1) {
+                        this.hform.HSourceFlag = true
                         CommonUtils.playSound(1)
                         await this.setSourceBillInfo(res.data.data)
                         this.tabs = 2
@@ -1348,6 +1398,7 @@
                             }
 
                             this.tabs = 2
+                            this.hform.HSourceFlag = true
                             this.DisBillEntryList()
                         }
                     }
@@ -1357,7 +1408,7 @@
             // 鏂板鍗曟嵁
             addNew() {
                 uni.redirectTo({
-                    url: '/pages/fenbushidiaoru/form?OperationType=1'
+                    url: '/pages/fenbushidiaorudan/form_test?OperationType=1'
                 })
             },
 
@@ -1514,6 +1565,10 @@
             border: 1px solid #acacac;
             position: relative;
             display: flex;
+            
+            .uni-combox {
+                width: 100%;
+            }
         }
 
         .righton {
diff --git a/pages/index/login.vue b/pages/index/login.vue
index 68a3b0e..33c1755 100644
--- a/pages/index/login.vue
+++ b/pages/index/login.vue
@@ -109,7 +109,7 @@
 					"鏉窞鍑礉濂堢壒": 'http://192.168.50.253:8080/API/',
 					"鏉窞鍑礉濂堢壒澶栫綉": 'http://erp.hzcabinet.cn:9090/API/',
 					"缈佹稕娑涙湰鍦版祴璇�": 'http://localhost:81/API/',
-					"闄堥晲鍝叉湰鍦版祴璇�": 'http://192.168.0.121:81/API/',
+					"闄堥晲鍝叉湰鍦版祴璇�": 'http://192.168.0.102:81/API/',
 					"闄堥晲鍝叉湰鍦版祴璇�2": 'http://192.168.88.82:81/API/',
 					"寮犵憺骞挎湰鍦版祴璇�": 'http://localhost:8082/API/',
 					"浣欐�濇澃鏈湴娴嬭瘯": 'http://localhost:8082/LuBaoAPI/',
diff --git a/pages/index/tab4.vue b/pages/index/tab4.vue
index fbeebe6..10fad41 100644
--- a/pages/index/tab4.vue
+++ b/pages/index/tab4.vue
@@ -203,6 +203,20 @@
 						"id": 22,
 						"hidden": false
 					},
+					{
+						"img": "../../static/icon/icon15.png",
+						"text": "閿�鍞嚭搴撳崟楠岃瘉",
+						"url": "/pages/ZLGL/Kf_SellOutBill_CusBar/Kf_SellOutBill_CusBar_APP",
+						"id": 23,
+						"hidden": false
+					},
+					{
+						"img": "../../static/icon/icon15.png",
+						"text": "瀹㈣瘔澶勭悊鍗曞垪琛�",
+						"url": "/pages/CustomerComplaintsBill/CustomerComplaintsBillList",
+						"id": 23,
+						"hidden": false
+					},
 				]
 			}
 		},
diff --git a/pages/qitachuku_v2/OtherOutBill.vue b/pages/qitachuku_v2/OtherOutBill.vue
index 593ec4d..bd8af71 100644
--- a/pages/qitachuku_v2/OtherOutBill.vue
+++ b/pages/qitachuku_v2/OtherOutBill.vue
@@ -705,6 +705,7 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            this.HWHNameChange(getUserInfo()["HWhName"])
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',
diff --git a/pages/qitaruku_v2/OtherInBill.vue b/pages/qitaruku_v2/OtherInBill.vue
index 3c7f9bb..0188a0f 100644
--- a/pages/qitaruku_v2/OtherInBill.vue
+++ b/pages/qitaruku_v2/OtherInBill.vue
@@ -714,6 +714,8 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            
+                            this.HWHNameChange(getUserInfo()['HWhName'])
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',
diff --git a/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue b/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue
index d308931..9c56bf8 100644
--- a/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue
+++ b/pages/shengchanbuliaojiaoyan/MateReplenishOutCheckBill.vue
@@ -512,6 +512,7 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            this.HWHNameChange(getUserInfo()["HWhName"])
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',
diff --git a/pages/shengchanlingliao/PPickingCheckBill.vue b/pages/shengchanlingliao/PPickingCheckBill.vue
index 239d49b..6bf57ab 100644
--- a/pages/shengchanlingliao/PPickingCheckBill.vue
+++ b/pages/shengchanlingliao/PPickingCheckBill.vue
@@ -612,6 +612,7 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            this.HWHNameChange(getUserInfo()["HWhName"])
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',
diff --git a/pages/shengchanlingliaoshengdan/Kf_MateOutBill.vue b/pages/shengchanlingliaoshengdan/Kf_MateOutBill.vue
index 1243547..fe4190b 100644
--- a/pages/shengchanlingliaoshengdan/Kf_MateOutBill.vue
+++ b/pages/shengchanlingliaoshengdan/Kf_MateOutBill.vue
@@ -685,6 +685,7 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            this.HWHNameChange(getUserInfo()["HWhName"])
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',
diff --git a/pages/shengchanrukushengdan/Kf_ProductInBill.vue b/pages/shengchanrukushengdan/Kf_ProductInBill.vue
index cf56820..0da6cb8 100644
--- a/pages/shengchanrukushengdan/Kf_ProductInBill.vue
+++ b/pages/shengchanrukushengdan/Kf_ProductInBill.vue
@@ -438,9 +438,8 @@
             this.getHSupList()
             this.getHEmpList()
             this.getHDeptList()
-
-            this.getRelationStore()
-
+            await this.getRelationStore()
+            
             uni.$on('BillSelectComplete', (e) => {
                 console.log("鎺ユ敹鍒扮殑娑堟伅: ", e.HBillNo)
                 this.getHBarCodeData(e.HBillNo)
@@ -529,7 +528,7 @@
                     this.getHBaseList({
                         sWhere: sWhere
                     })
-
+                    
                 } else {
                     this.getHBaseList()
                 }
@@ -682,6 +681,10 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            // 鏈湴鏈夊瓨鍌ㄤ粨搴� 鍒欐洿鏂颁负鏈湴浠撳簱鐨勫��
+                            if (getUserInfo()["HWhID"] != 0) {
+                                this.HWHNameChange(getUserInfo()["HWhName"])
+                            }
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',
@@ -812,6 +815,7 @@
             },
             //閫夋嫨浠撳簱
             HWHNameChange(e) {
+                console.log('e: ',e);
                 // var name = e.split("(")
                 for (var i = 0; i < this.HWHNameList.length; i++) {
                     if (this.HWHNameList[i].浠撳簱鍚嶇О == e) {
diff --git a/pages/xiaoshouchuku/SellOutBill.vue b/pages/xiaoshouchuku/SellOutBill.vue
index f32018e..725f02a 100644
--- a/pages/xiaoshouchuku/SellOutBill.vue
+++ b/pages/xiaoshouchuku/SellOutBill.vue
@@ -480,7 +480,6 @@
             },
             async HStockPlaceNameScan(e) {
                 // 鎵弿浠撲綅鐮�
-                console.log('浠撲綅鐮�: ', e);
                 // 涓嶅厛缃┖鐨勮瘽锛屾暟鎹啀娆℃壂鎻忕浉鍚岀殑浠撲綅鐮� 涓嶄細瑙﹀彂缁勪欢鍐呯殑鍒锋柊
                 this.hform.HStockPlaceID = 0
                 this.hform.HStockPlaceName = ''
@@ -711,7 +710,7 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
-
+                            this.HWHNameChange(getUserInfo()["HWhName"])
                             // this.HStockPlaceNameChange(res.data.data[0].浠撳簱鍚嶇О)
                         } else {
                             uni.showToast({
diff --git a/pages/xiaoshoutuihuo/ICStockBillMain.vue b/pages/xiaoshoutuihuo/ICStockBillMain.vue
index d62052c..952236c 100644
--- a/pages/xiaoshoutuihuo/ICStockBillMain.vue
+++ b/pages/xiaoshoutuihuo/ICStockBillMain.vue
@@ -522,6 +522,8 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            
+                            this.HWHNameChange(getUserInfo()["HWhName"])
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',
diff --git a/pages/zhijiediaobo/MoveStockBill.vue b/pages/zhijiediaobo/MoveStockBill.vue
index d9acf56..ffcb32b 100644
--- a/pages/zhijiediaobo/MoveStockBill.vue
+++ b/pages/zhijiediaobo/MoveStockBill.vue
@@ -1042,6 +1042,8 @@
                             for (var i = 0; i < res.data.data.length; i++) {
                                 this.arrayHWHInName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            
+                            this.HWHInNameChange(getUserInfo()["HSCWHName"])
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',
@@ -1099,6 +1101,8 @@
                                 this.arrayHWHName[i] = res.data.data[i].浠撳簱鍚嶇О
                                 this.arrayHWHInName[i] = res.data.data[i].浠撳簱鍚嶇О
                             }
+                            // 璋冨嚭浠撳簱
+                            this.HSCWHNameChange(getUserInfo()["HWhName"])
                         } else {
                             uni.showToast({
                                 title: '浠撳簱鏁版嵁璇锋眰澶辫触',

--
Gitblit v1.9.1