From ab826d12b52265bc4f25044d43a042df2104f972 Mon Sep 17 00:00:00 2001
From: kyy <3283105747@qq.com>
Date: 星期一, 14 七月 2025 21:34:10 +0800
Subject: [PATCH] 最新代码

---
 pages/QC/RKJ/List.vue | 1240 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 856 insertions(+), 384 deletions(-)

diff --git a/pages/QC/RKJ/List.vue b/pages/QC/RKJ/List.vue
index 49286de..68a56bb 100644
--- a/pages/QC/RKJ/List.vue
+++ b/pages/QC/RKJ/List.vue
@@ -1,416 +1,888 @@
 <template>
-  <view>
-    <!-- 鍒锋柊椤甸潰鍚庣殑椤堕儴鎻愮ず妗� -->
-    <view class="tips" :class="{ 'tips-ani': tipShow }">鍒锋柊鎴愬姛</view>
+	<view class="container">
+		<!-- 鍥哄畾椤堕儴鎼滅储鏍� -->
+		<view class="fixed-search-container">
+			<!-- 鐢熶骇杞﹂棿涓嬫媺妗嗗拰鎼滅储妗嗗苟鍒� -->
+			<view class="top-bar-container">
+				<!-- 鐢熶骇杞﹂棿涓嬫媺妗� -->
+				<view class="workshop-selector-wrapper">
+					<view class="form-group-row">
+						<text class="form-label inline-label font-bold">鐢熶骇杞﹂棿</text>
+						<view class="workshop-selector flex-1">
+							<picker mode="selector" :range="workshopList" @change="handleWorkshopChange"
+								v-model="workshopIndex">
+								<view class="picker">
+									{{ workshopIndex >= 0 ? workshopList[workshopIndex] : '璇烽�夋嫨杞﹂棿' }}
+								</view>
+							</picker>
+						</view>
+					</view>
+				</view>
 
-    <view class="newsTab">
-      <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" style-type="button"
-                             active-color="#87cefa"></uni-segmented-control>
-      <view class="content">
-        <view v-show="current===0">
-          <!-- 鍩轰簬 uni-list 鐨勯〉闈㈠竷灞� -->
-          <uni-list>
-            <!-- to 灞炴�ф惡甯﹀弬鏁拌烦杞鎯呴〉闈紝褰撳墠鍙负鍙傝�� -->
-            <uni-list-item style="margin-top: 10px;background-color:#EFEFF4;border-radius: 5px;"
-                           class="list-item" direction="column" v-for="item in data" :key="item.id"
-                           :to="'Add?id='+item.id+'&releaseNo='+item.releaseNo">
-              <!-- 閫氳繃header鎻掓Ы瀹氫箟鍒楄〃鐨勬爣棰� -->
-              <template v-slot:header>
-                <view class="form-group uni-title" style="margin-bottom: 0;">
-                  <label class="form-label">妫�楠屽崟鍙�:</label>
-                  <input class="form-input" disabled="true" type="text" v-model="item.releaseNo"/>
-                </view>
-              </template>
-              <!-- 閫氳繃body鎻掓Ы瀹氫箟鍒楄〃鍐呭鏄剧ず -->
-              <template v-slot:body>
-                <view style="margin-top: 0;">
-                  <view class="uni-content">
-                    <view class="uni-note">
-                      <view class="form-group">
-                        <label class="form-label lab">閫佹鎵规鍙�:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.billNo"/>
-                      </view>
-                    </view>
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">鍒涘缓鏃堕棿:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.createDate"/>
-                      </view>
-                    </view>
-                    <view class="uni-note">
-                      <view class="form-group">
-                        <label class="form-label lab">鍒涘缓浜�:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.createBy"/>
-                      </view>
-                    </view>
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">浜х嚎:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.lineNo"/>
-                      </view>
-                    </view>
+				<!-- 鎼滅储妗� -->
+				<view class="search-bar-wrapper">
+					<view class="search-bar-box">
+						<picker mode="selector" :range="searchOptions" v-model="selectedOption"
+							@change="onPickerChange">
+							<view class="picker">{{ searchOptions[selectedOption] }}</view>
+						</picker>
+						<input class="search-text" type="text" v-model="searchValue" @keypress.enter="searchData"
+							placeholder="璇疯緭鍏ユ悳绱㈠��" style="height: 40px;" />
+						<button class="search-btn" @click="searchData">鎼滅储</button>
+					</view>
+				</view>
+			</view>
 
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">鐗╂枡缂栫爜:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/>
-                      </view>
-                    </view>
+			<!-- 鍥哄畾鍒嗘鎺т欢 -->
+			<view class="fixed-newsTab">
+				<uni-segmented-control :current="current" :values="items" @clickItem="switchTab" style-type="button"
+					active-color="#165DFF"></uni-segmented-control>
+			</view>
+		</view>
 
-<!--                    <view class="uni-title-sub uni-ellipsis-2">-->
-<!--                      <view class="form-group">-->
-<!--                        <label class="form-label">棰滆壊:</label>-->
-<!--                        <input class="form-input" disabled="true" type="text" v-model="item.colorName"/>-->
-<!--                      </view>-->
-<!--                    </view>-->
+		<!-- 鍐呭鍖哄煙 -->
+		<view class="content-wrapper">
+			<view class="content">
+				<!-- 鍒楄〃鍐呭 - 缁熶竴娓叉煋閫昏緫 -->
+				<view v-if="data.length > 0" class="result-list">
+					<uni-list>
+						<uni-list-item style="margin-top: 10px; border-radius: 8px;" class="list-item"
+							direction="column" v-for="item in data" :key="item.id" :to="getNavigateUrl(item)">
+							<template v-slot:header>
+								<view class="header-row">
+									<!-- 妫�楠屽崟鍙� - 鑷�傚簲鏄剧ず -->
+									<view class="form-item header-item item-flex-2">
+										<label class="form-label font-bold">妫�楠屽崟鍙�</label>
+										<span class="value-text billNo-bg">{{ item.releaseNo || '鏆傛棤鏁版嵁' }}</span>
+									</view>
+									<!-- 杞﹂棿 - 鑷�傚簲鏄剧ず -->
+									<view class="form-item header-item item-flex-1">
+										<label class="form-label font-bold">杞﹂棿</label>
+										<span class="value-text">{{ item.itemCj || '鏆傛棤鏁版嵁' }}</span>
+									</view>
+									<!-- 瀹℃牳鏍囪瘑 - 鑷�傚簲鏄剧ず -->
+									<view class="form-item header-item item-flex-1">
+										<label class="form-label font-bold">瀹℃牳鏍囪瘑</label>
+										<span class="value-text audit-status">
+											<checkbox value="FSUBMIT" disabled="true" :checked="item.fsubmit === 1"
+												class="audit-checkbox" />
+										</span>
+									</view>
+								</view>
+							</template>
 
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">浜у搧鍚嶇О:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.itemName"/>
-                      </view>
-                    </view>
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">浜у搧鍨嬪彿:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.itemModel"/>
-                      </view>
-                    </view>
-                   <!--
-					<view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">浜у搧鍨嬪彿:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.boardModel"/>
-                      </view>
-                    </view>
-                  -->
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">閫佹鏁伴噺:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.quantity"/>
-                      </view>
-                    </view>
+							<template v-slot:body>
+								<view style="margin-top: 0; padding: 0 15px;">
+									<view class="uni-content">
+										<!-- 鐩存帴浣跨敤鍐呰仈妯℃澘 -->
+										<view class="uni-title-sub uni-ellipsis-2 font-bold">
+											<view class="form-group">
+												<label class="form-label lab font-bold">鍒涘缓鏃堕棿:</label>
+												<input class="form-input" disabled="true" type="text"
+													:value="item.createDate" />
+											</view>
+										</view>
+										<view class="uni-title-sub uni-ellipsis-2 font-bold">
+											<view class="form-group">
+												<label class="form-label lab font-bold">宸ュ崟鍗曞彿:</label>
+												<input class="form-input" disabled="true" type="text"
+													:value="item.billNo" />
+											</view>
+										</view>
+										<view class="uni-title-sub uni-ellipsis-2 font-bold">
+											<view class="form-group">
+												<label class="form-label lab font-bold">浜х嚎:</label>
+												<input class="form-input" disabled="true" type="text"
+													:value="item.lineNo" />
+											</view>
+										</view>
+										<view class="uni-title-sub uni-ellipsis-2 font-bold">
+											<view class="form-group">
+												<label class="form-label lab font-bold">鐗╂枡缂栫爜:</label>
+												<input class="form-input" disabled="true" type="text"
+													:value="item.itemNo" />
+											</view>
+										</view>
+										<view class="uni-title-sub uni-ellipsis-2 font-bold">
+											<view class="form-group">
+												<label class="form-label font-bold">浜у搧鍚嶇О:</label>
+												<input class="form-input" disabled="true" type="text"
+													:value="item.itemName" />
+											</view>
+										</view>
+										<view class="uni-title-sub uni-ellipsis-2 font-bold">
+											<view class="form-group">
+												<label class="form-label font-bold">瑙勬牸鍨嬪彿:</label>
+												<input class="form-input" disabled="true" type="text"
+													:value="item.itemModel" />
+											</view>
+										</view>
+										<view class="uni-title-sub uni-ellipsis-2 font-bold">
+											<view class="form-group">
+												<label class="form-label font-bold">宸ュ崟鏁伴噺:</label>
+												<input class="form-input" disabled="true" type="text"
+													:value="item.quantity" />
+											</view>
+										</view>
+										<view class="uni-note" style="color: #4B5563;">
+											<view class="form-group">
+												<label class="form-label lab font-bold">鍒涘缓浜�:</label>
+												<input class="form-input" disabled="true" type="text"
+													:value="item.createBy" />
+											</view>
+										</view>
+										<view class="uni-note" style="color: #4B5563;">
+											<view class="form-group">
+												<label class="form-label lab font-bold">妫�楠屼汉:</label>
+												<input class="form-input" disabled="true" type="text"
+													:value="item.fcheckBy || item.createBy" />
+											</view>
+										</view>
+										<view class="uni-note" style="color: #4B5563;">
+											<view class="form-group">
+												<label class="form-label lab font-bold">妫�娴嬬粨鏋�:</label>
+												<input class="form-input" disabled="true" type="text"
+													:value="item.fcheckResu" />
+											</view>
+										</view>
+									</view>
+								</view>
+							</template>
+						</uni-list-item>
+					</uni-list>
+				</view>
 
-                    <view class="uni-note" style="color: red">
-                      <view class="form-group">
-                        <label class="form-label lab">妫�楠屼汉:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.fcheckBy"/>
-                      </view>
-                    </view>
-                    <view class="uni-note" style="color: red">
-                      <view class="form-group">
-                        <label class="form-label lab">妫�娴嬬粨鏋�:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.fcheckResu"/>
-                      </view>
-                    </view>
-                  </view>
-                </view>
-              </template>
-            </uni-list-item>
-          </uni-list>
-          <!-- 閫氳繃 loadMore 缁勪欢瀹炵幇涓婃媺鍔犺浇鏁堟灉锛屽闇�鑷畾涔夋樉绀哄唴瀹癸紝鍙弬鑰冿細https://ext.dcloud.net.cn/plugin?id=29 -->
-          <!-- <uni-load-more v-if="loading || options.status === 'noMore' " :status="options.status" /> -->
+				<!-- 鏃犳暟鎹彁绀� -->
+				<view v-else class="no-data-tip">鏆傛棤鐩稿叧鏁版嵁</view>
 
-          <!-- <view class="fab" @click="handleFabClick">
-            <text class="fab-icon">+</text>
-          </view> -->
-          <view class="plus-button" @click="handleFabClick">
-            +
-          </view>
-        </view>
-        <view v-show="current===1">
-          <uni-list>
-            <!-- to 灞炴�ф惡甯﹀弬鏁拌烦杞鎯呴〉闈紝褰撳墠鍙负鍙傝�� -->
-            <uni-list-item style="margin-top: 10px;background-color:#EFEFF4;border-radius:5px;"
-                           class="list-item" direction="column" v-for="item in data" :key="item.id"
-                           :to="'Add?id='+item.id+'&releaseNo='+item.releaseNo">
-              <!-- 閫氳繃header鎻掓Ы瀹氫箟鍒楄〃鐨勬爣棰� -->
-              <template v-slot:header>
-                <view class="form-group uni-title" style="margin-bottom: 0;">
-                  <label class="form-label">妫�楠屽崟鍙�:</label>
-                  <input class="form-input" disabled="true" type="text" v-model="item.releaseNo"/>
-                </view>
-              </template>
-              <!-- 閫氳繃body鎻掓Ы瀹氫箟鍒楄〃鍐呭鏄剧ず -->
-              <template v-slot:body>
-                <view style="margin-top: 0;">
-                  <view class="uni-content">
-                    <view class="uni-note">
-                      <view class="form-group">
-                        <label class="form-label lab">閫佹鎵规鍙�:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.billNo"/>
-                      </view>
-                    </view>
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">鍒涘缓鏃堕棿:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.createDate"/>
-                      </view>
-                    </view>
-                    <view class="uni-note">
-                      <view class="form-group">
-                        <label class="form-label lab">鍒涘缓浜�:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.createBy"/>
-                      </view>
-                    </view>
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">浜х嚎:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.lineNo"/>
-                      </view>
-                    </view>
+				<!-- 娣诲姞鎸夐挳 -->
+				<view class="plus-button" @click="handleFabClick">+</view>
+			</view>
+		</view>
 
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label lab">鐗╂枡缂栫爜:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/>
-                      </view>
-                    </view>
-
-<!--                    <view class="uni-title-sub uni-ellipsis-2">-->
-<!--                      <view class="form-group">-->
-<!--                        <label class="form-label">棰滆壊:</label>-->
-<!--                        <input class="form-input" disabled="true" type="text" v-model="item.colorName"/>-->
-<!--                      </view>-->
-<!--                    </view>-->
-
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">浜у搧鍚嶇О:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.itemName"/>
-                      </view>
-                    </view>
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">浜у搧鍨嬪彿:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.itemModel"/>
-                      </view>
-                    </view>
-
-                   <!-- <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">瑙勬牸鍨嬪彿:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.boardModel"/>
-                      </view>
-                    </view>
-                  -->
-                    <view class="uni-title-sub uni-ellipsis-2">
-                      <view class="form-group">
-                        <label class="form-label">閫佹鏁伴噺:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.quantity"/>
-                      </view>
-                    </view>
-                    <view class="uni-note" style="color: red">
-                      <view class="form-group">
-                        <label class="form-label lab">妫�楠屼汉:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.fcheckBy"/>
-                      </view>
-                    </view>
-                    <view class="uni-note" style="color: red">
-                      <view class="form-group">
-                        <label class="form-label lab">妫�娴嬬粨鏋�:</label>
-                        <input class="form-input" disabled="true" type="text" v-model="item.fcheckResu"/>
-                      </view>
-                    </view>
-                  </view>
-                </view>
-              </template>
-            </uni-list-item>
-          </uni-list>
-        </view>
-      </view>
-    </view>
-
-
-  </view>
+		<!-- 鍒锋柊鎻愮ず寮圭獥 -->
+		<view class="toast-mask" v-if="toastVisible">
+			<view class="toast-container">
+				<view class="toast-icon">
+					<image src="https://picsum.photos/id/237/40/40" mode="aspectFit"></image>
+				</view>
+				<view class="toast-message">
+					<text class="toast-title font-bold">鍒锋柊鎴愬姛</text>
+					<text class="toast-content">鏁版嵁宸叉洿鏂板埌鏈�鏂扮姸鎬�</text>
+				</view>
+			</view>
+		</view>
+	</view>
 </template>
 
 <script>
-export default {
-  components: {},
-  data() {
-    return {
-      items: ['鏈彁浜�', '宸叉彁浜�'],
-      current: 0,
-      data: [],
-      tipShow: false // 鏄惁鏄剧ず椤堕儴鎻愮ず妗�
-    };
-  },
-  onLoad() {
-    //椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢
-    this.init();
-  },
-  methods: {
-    init() {
+	export default {
+		components: {}, // 绉婚櫎缁勪欢瀵煎叆
+		data() {
+			return {
+				items: ['鏈彁浜�', '宸叉彁浜�'],
+				current: 0,
+				data: [],
+				pageIndex: 1,
+				limit: 20,
+				totalPage: 0,
+				totalCount: 0,
+				noData: false,
+				isLoading: false,
+				searchOptions: ['宸ュ崟鍗曞彿', '浜у搧缂栫爜', '浜у搧鍚嶇О', '瑙勬牸', '閫佹浜�', '妫�楠屽崟鍙�'],
+				selectedOption: 0,
+				searchValue: '',
+				workshopList: [],
+				workshopIndex: -1,
+				fixedSearchHeight: 0,
+				toastVisible: false,
+				toastTimer: null,
+				loadingTimer: null
+			};
+		},
+		onLoad() {
+			this.initData();
+			this.loadWorkshops();
+			this.$nextTick(() => {
+				uni.createSelectorQuery().select('.fixed-search-container').boundingClientRect(rect => {
+					if (rect) {
+						this.fixedSearchHeight = rect.height;
+						console.log('鍥哄畾鎼滅储鍖哄煙楂樺害:', this.fixedSearchHeight);
+					}
+				}).exec();
+			});
+		},
+		methods: {
+			// 鍒濆鍖栨暟鎹�
+			initData() {
+				this.data = [];
+				this.pageIndex = 1;
+				this.noData = false;
+				this.loadData();
+			},
 
-      let result = "鏈畬鎴�";
-      if (this.current === 1) {
-        result = "宸插畬鎴�";
-      }
+			// 鍔犺浇杞﹂棿鏁版嵁
+			loadWorkshops() {
+				this.$post({
+						url: "/SJ/getWorkshop"
+					})
+					.then(res => {
+						console.log('杞﹂棿鍒楄〃鍝嶅簲:', res);
+						this.workshopList = res.data?.tbBillList?.map(item => item.departmentname) || [];
+						console.log('杞﹂棿鍒楄〃:', this.workshopList);
+					})
+					.catch(err => {
+						console.error("鑾峰彇杞﹂棿鍒楄〃澶辫触:", err);
+						uni.showToast({
+							title: "鑾峰彇杞﹂棿鍒楄〃澶辫触",
+							icon: 'none'
+						});
+					});
+			},
 
-      //椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢
-      this.$post({
-        url: "/RKJ/getPage",
-        data: {
-          pageIndex: 1,
-          limit: 20,
-          createUser: this.$loginInfo.account,
-          result: result
-        }
-      }).then(res => {
-        this.data = res.data.tbBillList;
-      })
-    },
-    handleFabClick() {
-      uni.navigateTo({
-        url: 'Add?id'
-      });
-    },
-    onClickItem(index) {
-      if (this.current !== index.currentIndex) {
-        this.current = index.currentIndex;
-        this.init();
-      }
-    },
-  },
-  /**
-   * 涓嬫媺鍒锋柊鍥炶皟鍑芥暟
-   */
-  onPullDownRefresh() {
-    //閲嶆柊鎵ц涓�閬嶆煡璇�
-    this.init();
-    this.tipShow = true;
-    //鍏抽棴鍔ㄧ敾
-    uni.stopPullDownRefresh();
+			// 澶勭悊杞﹂棿閫夋嫨
+			handleWorkshopChange(e) {
+				this.workshopIndex = e.detail.value;
+				console.log('閫夋嫨鐨勮溅闂寸储寮�:', this.workshopIndex);
 
-    setTimeout(function () {
-      this.tipShow = false;
-    }, 3000);
-  },
-  /**
-   * 涓婃媺鍔犺浇鍥炶皟鍑芥暟
-   */
-  onReachBottom() {
-    this.init();
-  },
-  onShow() {
-    //姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉�
-    this.init();
-  }
-};
+				const workshop = this.workshopList[this.workshopIndex];
+				if (workshop) {
+					uni.showToast({
+						title: `閫夋嫨鐨勮溅闂�: ${workshop}`,
+						icon: 'none',
+						duration: 2000
+					});
+					this.initData(); // 閲嶆柊鍔犺浇鏁版嵁
+				}
+			},
+
+			// 鎼滅储閫夐」鍙樻洿
+			onPickerChange(e) {
+				this.selectedOption = e.detail.value;
+			},
+
+			// 鎵ц鎼滅储
+			searchData() {
+				this.pageIndex = 1;
+				this.loadData();
+			},
+
+			// 鍔犺浇鏁版嵁
+			loadData() {
+				if (this.isLoading) return;
+				this.isLoading = true;
+
+				const userName = this.$loginInfo?.account || '';
+				const result = this.current === 1 ? "宸插畬鎴�" : "鏈畬鎴�";
+				const searchValue = this.searchValue.trim();
+
+				// 纭畾璇锋眰URL
+				const url = searchValue ? '/RKJ/getSearchPage' : '/RKJ/getPage';
+
+				// 鏋勯�犺姹傚弬鏁�
+				const requestData = {
+					pageIndex: this.pageIndex,
+					limit: this.limit,
+					createUser: userName,
+					result: result
+				};
+
+				// 鏍规嵁鎼滅储閫夐」娣诲姞鎼滅储鏉′欢
+				switch (this.selectedOption) {
+					case 0:
+						requestData.ItemCode = searchValue;
+						break; // 宸ュ崟鍙�
+					case 1:
+						requestData.ItemNo = searchValue;
+						break; // 浜у搧缂栫爜
+					case 2:
+						requestData.ItemName = searchValue;
+						break; // 浜у搧鍚嶇О
+					case 3:
+						requestData.ItemModel = searchValue;
+						break; // 瑙勬牸
+					case 4:
+						requestData.SongJ = searchValue;
+						break; // 閫佹浜�
+					case 5:
+						requestData.SongNo = searchValue;
+						break; // 妫�楠屽崟鍙�
+				}
+
+				// 娣诲姞杞﹂棿绛涢�夋潯浠�
+				if (this.workshopIndex >= 0 && this.workshopList.length > 0) {
+					requestData.itemCj = this.workshopList[this.workshopIndex];
+				}
+
+				console.log('鍙戦�佽姹傚弬鏁�:', requestData);
+
+				// 鍙戦�佽姹�
+				this.$post({
+						url,
+						data: requestData
+					})
+					.then(res => {
+						console.log('璇锋眰鎴愬姛鍝嶅簲:', res);
+						if (res.data && res.data.tbBillList) {
+							if (this.pageIndex === 1) {
+								this.data = res.data.tbBillList;
+							} else {
+								this.data = [...this.data, ...res.data.tbBillList];
+							}
+							this.totalCount = res.data.totalCount;
+							this.totalPage = Math.ceil(this.totalCount / this.limit);
+							this.noData = this.pageIndex >= this.totalPage;
+						} else {
+							this.noData = true;
+						}
+					})
+					.catch(err => {
+						console.error('璇锋眰澶辫触:', err);
+						uni.showToast({
+							title: "鏁版嵁鍔犺浇澶辫触",
+							icon: 'none'
+						});
+					})
+					.finally(() => {
+						this.isLoading = false;
+					});
+			},
+
+			// 澶勭悊娣诲姞鎸夐挳鐐瑰嚮
+			handleFabClick() {
+				uni.navigateTo({
+					url: '/pages/RKJ/Add'
+				});
+			},
+
+			// 鍒囨崲鏍囩椤�
+			switchTab(index) {
+				if (this.current !== index.currentIndex) {
+					this.current = index.currentIndex;
+					this.initData(); // 鍒囨崲鏍囩鍚庨噸鏂板姞杞芥暟鎹�
+				}
+			},
+
+			// 鑾峰彇瀵艰埅URL
+			getNavigateUrl(item) {
+				if (this.current === 0) {
+					return `Add?id=${item.id}&releaseNo=${item.releaseNo}`;
+				} else {
+					return `Add?id=${item.id}&billNo=${item.billNo}`;
+				}
+			},
+
+			// 鏄剧ず鍒锋柊鎻愮ず寮圭獥
+			showToast() {
+				this.toastVisible = true;
+
+				// 娓呴櫎涔嬪墠鐨勫畾鏃跺櫒
+				if (this.toastTimer) {
+					clearTimeout(this.toastTimer);
+				}
+
+				// 璁剧疆瀹氭椂鍣ㄨ嚜鍔ㄥ叧闂脊绐�
+				this.toastTimer = setTimeout(() => {
+					this.toastVisible = false;
+				}, 1300);
+			}
+		},
+
+		// 涓嬫媺鍒锋柊
+		onPullDownRefresh() {
+			this.pageIndex = 1;
+			this.loadData();
+
+			// 鏄剧ず寮圭獥鎻愮ず
+			this.showToast();
+
+			uni.stopPullDownRefresh();
+		},
+
+		// 涓婃媺鍔犺浇
+		onReachBottom() {
+			if (this.noData || this.isLoading) return;
+			this.pageIndex++;
+			this.loadData();
+		},
+
+		// 椤甸潰鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒
+		onUnload() {
+			if (this.toastTimer) {
+				clearTimeout(this.toastTimer);
+			}
+			if (this.loadingTimer) {
+				clearTimeout(this.loadingTimer);
+			}
+		}
+	};
 </script>
-
 <style lang="scss">
-@import '@/common/uni-ui.scss';
+	/* 棰滆壊鍙橀噺瀹氫箟 */
+	$primary: #165DFF;
+	$primary-light: #E8F3FF;
+	$success: #36D399;
+	$warning: #FBBD23;
+	$error: #F87272;
+	$bg-light: #F9FAFB;
+	$bg-card: #FFFFFF;
+	$border: #E5E7EB;
+	$text-primary: #1F2937;
+	$text-secondary: #4B5563;
+	$text-muted: #9CA3AF;
+	$shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
+	$shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
+	$shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
 
-.uni-note {
-  margin-top: 0;
-}
+	/* 鏂板寰摑鑹茶皟 */
+	$blue-50: #F0F7FF;
+	$blue-100: #E0EEFF;
 
-/* Set the input backgrounds to be gray */
-.form-input {
-  background-color: #f2f2f2; /* Or any other shade of gray you prefer */
-}
+	/* 鏂板瀛椾綋鍔犵矖绫� */
+	.font-bold {
+		font-weight: 600;
+	}
 
-/* Ensure automatic adaptation based on page size */
-.form-group {
-  display: flex;
-  align-items: center;
-}
+	/* 鍒楄〃椤规牱寮� - 娣诲姞寰摑鑹茶儗鏅� */
+	.list-item {
+		margin: 10px 15px;
+		border-radius: 8px;
+		overflow: hidden;
+		background-color: $blue-50;
+		/* 娣诲姞寰摑鑹茶儗鏅� */
+		box-shadow: $shadow-sm;
+		transition: all 0.2s;
+		cursor: pointer;
 
-.form-label {
-  margin-bottom: 0;
-  border-bottom: 1px solid #FFFFFF;
-  padding: 5px;
-  font-size: 12px;
-  width: 80px;
-  /* Adjust the font size as per your requirement */
-}
+		&:hover {
+			transform: translateY(-2px);
+			box-shadow: $shadow-md;
+			background-color: $blue-100;
+			/* 鎮仠鏃跺姞娣辫摑鑹茶皟 */
+		}
+	}
 
-.form-input {
-  flex: 1;
-  margin-bottom: 0;
-  border-bottom: 1px solid #c7c7c7;
-  padding: 5px;
-  font-size: 12px;
-  background-color: #FFFFFF;
-  /* Adjust the font size as per your requirement */
-}
+	/* 鍒楄〃澶撮儴鏍峰紡 - 涓庡垪琛ㄩ」鑳屾櫙鍗忚皟 */
+	.header-row {
+		display: flex;
+		flex-wrap: nowrap;
+		/* 淇濇寔鍗曡鏄剧ず锛屼笉鎹㈣ */
+		gap: 10px;
+		padding: 15px;
+		background-color: $blue-100;
+		/* 澶撮儴浣跨敤绋嶆繁鐨勮摑鑹茶皟 */
+		border-radius: 8px 8px 0 0;
+		margin-bottom: 10px;
 
-.plus-button {
-  position: fixed;
-  bottom: 20px;
-  right: 20px;
-  width: 60px;
-  height: 60px;
-  border-radius: 50%;
-  background-color: #007bff;
-  color: #ffffff;
-  text-align: center;
-  line-height: 59px;
-  font-size: 24px;
-  cursor: pointer;
-  z-index: 1000;
-  margin-bottom: 35px;
-}
+		/* 纭繚瀛愬厓绱犳湁鏈�灏忓搴︼紝闃叉鍐呭婧㈠嚭 */
+		.header-item {
+			min-width: 120px;
+			/* 缂╁皬鏈�灏忓搴︼紝纭繚鍦ㄥ皬灞忓箷涓婁篃鑳戒竴琛屾樉绀� */
+			flex-grow: 1;
+		}
 
-page {
-  display: flex;
-  flex-direction: column;
-  box-sizing: border-box;
-  background-color: #efeff4;
-  min-height: 100%;
-  height: auto;
-}
+		/* 骞虫澘鍜屾闈㈣鍥� */
+		@media (min-width: 768px) {
+			.item-flex-1 {
+				flex: 1;
+				/* 绗竴涓拰绗笁涓厓绱犲悇鍗�1浠界┖闂� */
+			}
 
-.tips {
-  color: #67c23a;
-  font-size: 14px;
-  line-height: 40px;
-  text-align: center;
-  background-color: #f0f9eb;
-  height: 0;
-  opacity: 0;
-  transform: translateY(-100%);
-  transition: all 0.3s;
-}
+			.item-flex-2 {
+				flex: 2;
+				/* 绗簩涓厓绱犲崰2浠界┖闂� */
+			}
+		}
 
-.tips-ani {
-  transform: translateY(0);
-  height: 40px;
-  opacity: 1;
-}
+		/* 绉诲姩瑙嗗浘 - 浠嶇劧淇濇寔鍦ㄤ竴琛� */
+		@media (max-width: 767px) {
+			.item-flex-1 {
+				flex: 1;
+				/* 绗竴涓拰绗笁涓厓绱犲悇鍗�1浠界┖闂� */
+			}
 
-.content {
-  width: 100%;
-}
+			.item-flex-2 {
+				flex: 2;
+				/* 绗簩涓厓绱犲崰2浠界┖闂� */
+			}
 
-.list-picture {
-  width: 100%;
-  height: 145px;
-}
+			/* 杩涗竴姝ョ缉灏忔爣绛惧拰鍊肩殑瀛椾綋澶у皬 */
+			.form-label {
+				font-size: 12px;
+				min-width: 50px;
+			}
 
-.thumb-image {
-  width: 100%;
-  height: 100%;
-}
+			.value-text {
+				font-size: 12px;
+			}
+		}
+	}
 
-.ellipsis {
-  display: flex;
-  overflow: hidden;
-}
+	/* 琛ㄥ崟椤圭洰鏍峰紡 - 涓庢暣浣撹儗鏅崗璋� */
+	.form-item {
+		display: flex;
+		align-items: center;
+		gap: 5px;
+		/* 鍑忓皬闂磋窛锛岃妭鐪佺┖闂� */
+		background-color: rgba(255, 255, 255, 0.8);
+		/* 鍗婇�忔槑鐧借壊鑳屾櫙 */
+		border-radius: 6px;
+		padding: 0 8px;
+		/* 鍑忓皬鍐呰竟璺濓紝鑺傜渷绌洪棿 */
+		height: 40px;
+		/* 鍑忓皬楂樺害锛岃妭鐪佺┖闂� */
+		border: 1px solid $border;
+		box-sizing: border-box;
+		box-shadow: $shadow-sm;
+		transition: all 0.2s;
 
-.uni-ellipsis-1 {
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-}
+		&:hover {
+			box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
+		}
 
-.uni-ellipsis-2 {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  -webkit-box-orient: vertical;
-}
+		/* 鏍囩鍜屽�肩殑甯冨眬浼樺寲 */
+		.form-label {
+			min-width: 60px;
+			/* 鏍囩鏈�灏忓搴� */
+			white-space: nowrap;
+			font-size: 13px;
+			/* 鍑忓皬瀛椾綋澶у皬 */
+		}
+
+		.value-text {
+			flex: 1;
+			overflow: hidden;
+			white-space: nowrap;
+			text-overflow: ellipsis;
+			font-size: 13px;
+			/* 鍑忓皬瀛椾綋澶у皬 */
+		}
+	}
+
+	/* 鏁翠綋瀹瑰櫒 */
+	.container {
+		padding: 0;
+		background-color: #F3F4F6;
+	}
+
+	/* 鍥哄畾椤堕儴鎼滅储瀹瑰櫒 */
+	.fixed-search-container {
+		position: fixed;
+		top: 0;
+		left: 0;
+		width: 100%;
+		z-index: 100;
+		background-color: $bg-card;
+		box-shadow: $shadow-md;
+	}
+
+	/* 椤堕儴鎼滅储鏍忓鍣� */
+	.top-bar-container {
+		display: flex;
+		flex-wrap: wrap;
+		gap: 15px;
+		padding: 20px;
+		background-color: $bg-card;
+	}
+
+	/* 鐢熶骇杞﹂棿涓嬫媺妗嗗鍣� */
+	.workshop-selector-wrapper {
+		flex: 1;
+		min-width: 200px;
+	}
+
+	/* 琛屽唴甯冨眬鐨勮〃鍗曠粍 */
+	.form-group-row {
+		display: flex;
+		align-items: center;
+	}
+
+	/* 琛屽唴鏍囩 - 鍩虹鏍峰紡 */
+	.form-label {
+		color: $text-primary;
+		font-weight: 500;
+		margin: 0;
+		white-space: nowrap;
+	}
+
+	/* 涓嬫媺妗嗗鍣� - 鍗犳弧鍓╀綑绌洪棿 */
+	.flex-1 {
+		flex: 1;
+	}
+
+	/* 鎼滅储妗嗗鍣� */
+	.search-bar-wrapper {
+		flex: 2;
+		min-width: 200px;
+	}
+
+	.search-bar-box {
+		display: flex;
+		width: 100%;
+		height: 44px;
+		border: 1px solid $border;
+		border-radius: 8px;
+		overflow: hidden;
+		background-color: $bg-light;
+		transition: all 0.2s;
+
+		&:hover {
+			border-color: $primary;
+		}
+	}
+
+	.picker {
+		width: 120px;
+		height: 44px;
+		line-height: 44px;
+		text-align: center;
+		font-size: 14px;
+		color: $text-secondary;
+		border-right: 1px solid $border;
+		background-color: $bg-light;
+		cursor: pointer;
+	}
+
+	.search-text {
+		flex: 1;
+		height: 44px;
+		line-height: 44px;
+		padding: 0 15px;
+		font-size: 14px;
+		border: none;
+		outline: none;
+		background-color: $bg-light;
+		color: $text-primary;
+
+		&::placeholder {
+			color: $text-muted;
+		}
+	}
+
+	.search-btn {
+		background-color: $primary;
+		color: white;
+		font-size: 14px;
+		width: 80px;
+		height: 44px;
+		line-height: 44px;
+		border-radius: 0;
+		padding: 0;
+		margin: 0;
+		border: none;
+		transition: all 0.2s;
+		cursor: pointer;
+
+		&:hover {
+			background-color: #0E52EA;
+			box-shadow: 0 2px 4px rgba(22, 93, 255, 0.3);
+		}
+
+		&:active {
+			transform: scale(0.98);
+		}
+	}
+
+	/* 鍒嗘鎺т欢 */
+	.fixed-newsTab {
+		background-color: $bg-card;
+		padding: 10px 0;
+		border-bottom: 1px solid $border;
+	}
+
+	/* 鍐呭鍖哄煙 - 澧炲姞椤堕儴杈硅窛锛岄伩鍏嶈鍥哄畾鍏冪礌閬尅 */
+	.content-wrapper {
+		padding-top: calc(var(--window-top) + 120px);
+	}
+
+	/* 鍊兼枃鏈牱寮� */
+	.value-text {
+		flex: 1;
+		text-align: left;
+		overflow: hidden;
+		white-space: nowrap;
+		text-overflow: ellipsis;
+		color: $text-primary;
+		font-size: 14px;
+	}
+
+	/* 妫�楠屽崟鍙风壒娈婅儗鏅牱寮� */
+	.billNo-bg {
+		background: linear-gradient(135deg, $primary-light 0%, #D1E8FF 100%);
+		color: $primary;
+		border-radius: 6px;
+		padding: 0 8px;
+		/* 鍑忓皬鍐呰竟璺� */
+		font-weight: 500;
+		border: 1px solid #B5D8FF;
+		box-shadow: 0 1px 2px rgba(22, 93, 255, 0.1);
+		font-size: 13px;
+		/* 鍑忓皬瀛椾綋澶у皬 */
+	}
+
+	/* 瀹℃牳鐘舵�佹牱寮� */
+	.audit-status {
+		display: flex;
+		align-items: center;
+		gap: 5px;
+		/* 鍑忓皬闂磋窛 */
+	}
+
+	.audit-checkbox {
+		transform: scale(0.85);
+		/* 缂╁皬澶嶉�夋 */
+		accent-color: $success;
+		cursor: pointer;
+	}
+
+	.audit-text {
+		color: $text-secondary;
+		font-size: 13px;
+		/* 鍑忓皬瀛椾綋澶у皬 */
+	}
+
+	.audit-text:checked+.audit-text {
+		color: $success;
+		font-weight: 500;
+	}
+
+	/* 鍔犲彿鎸夐挳 */
+	.plus-button {
+		position: fixed;
+		bottom: 25px;
+		right: 25px;
+		width: 64px;
+		height: 64px;
+		border-radius: 50%;
+		background-color: $primary;
+		color: white;
+		text-align: center;
+		line-height: 62px;
+		font-size: 28px;
+		cursor: pointer;
+		z-index: 1000;
+		box-shadow: 0 4px 12px rgba(22, 93, 255, 0.3);
+		transition: all 0.2s;
+
+		&:hover {
+			transform: scale(1.05);
+			box-shadow: 0 6px 16px rgba(22, 93, 255, 0.4);
+		}
+
+		&:active {
+			transform: scale(0.95);
+		}
+	}
+
+	/* 杈撳叆妗嗘牱寮� */
+	.form-input {
+		background-color: rgba(255, 255, 255, 0.8);
+		/* 鍗婇�忔槑鐧借壊鑳屾櫙 */
+		border: 1px solid $border;
+		border-radius: 6px;
+		padding: 0 12px;
+		height: 36px;
+		line-height: 36px;
+		color: $text-primary;
+		font-size: 14px;
+		transition: all 0.2s;
+
+		&:focus {
+			border-color: $primary;
+			outline: none;
+		}
+	}
+
+	/* 鏍囩鏍峰紡 */
+	.lab {
+		width: 80px;
+		color: $text-secondary;
+	}
+
+	/* 缁熶竴鍦嗚 */
+	* {
+		border-radius: 6px;
+	}
+
+	/* 骞虫粦婊氬姩 */
+	html {
+		scroll-behavior: smooth;
+	}
+
+	/* 寮圭獥鎻愮ず鏍峰紡 */
+	.toast-mask {
+		position: fixed;
+		top: 0;
+		left: 0;
+		width: 100%;
+		height: 100%;
+		background-color: rgba(0, 0, 0, 0.3);
+		z-index: 2000;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		animation: fadeIn 0.3s ease-in-out;
+	}
+
+	.toast-container {
+		width: 280px;
+		background-color: $bg-card;
+		border-radius: 12px;
+		box-shadow: $shadow-lg;
+		padding: 24px;
+		text-align: center;
+		animation: zoomIn 0.3s ease-out;
+	}
+
+	.toast-icon {
+		width: 64px;
+		height: 64px;
+		margin: 0 auto 16px;
+		border-radius: 50%;
+		background-color: $success;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		box-shadow: 0 4px 12px rgba(54, 211, 153, 0.3);
+	}
+
+	.toast-icon image {
+		width: 32px;
+		height: 32px;
+		border-radius: 50%;
+	}
+
+	.toast-title {
+		font-size: 18px;
+		color: $text-primary;
+		margin-bottom: 8px;
+	}
+
+	.toast-content {
+		font-size: 14px;
+		color: $text-secondary;
+	}
+
+	/* 鍔ㄧ敾鏁堟灉 */
+	@keyframes fadeIn {
+		from {
+			opacity: 0;
+		}
+
+		to {
+			opacity: 1;
+		}
+	}
+
+	@keyframes zoomIn {
+		from {
+			transform: scale(0.8);
+			opacity: 0;
+		}
+
+		to {
+			transform: scale(1);
+			opacity: 1;
+		}
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3