From eacff2ef7312ff9ecfc098a508bac36329e96f14 Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期三, 10 九月 2025 09:46:52 +0800
Subject: [PATCH] 线边库-入库

---
 pages/eam/production/record/record.vue | 1343 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 690 insertions(+), 653 deletions(-)

diff --git a/pages/eam/production/record/record.vue b/pages/eam/production/record/record.vue
index 69f8cc4..1401da2 100644
--- a/pages/eam/production/record/record.vue
+++ b/pages/eam/production/record/record.vue
@@ -1,321 +1,261 @@
 <template>
 	<view class="container">
+		<!-- 椤堕儴瀵艰埅鏍� -->
 		<cu-custom :bgColor="NavBarColor" :isBack="true" backRouterName="index">
 			<block slot="backText">杩斿洖</block>
 			<block slot="content">鎿嶄綔璁板綍</block>
 		</cu-custom>
-		<view class="container">
-			<view class="solid-bottom">
-				<scroll-view scroll-x class="bg-white nav text-center ">
-					<!-- <view class="flex text-center justify-around"> -->
-					<view class="cu-item" :class="item.value==TabCur?'text-blue cur':''" v-for="(item,index) in tabs"
-						:key="index" @tap="tabSelect" :data-id="item.value">
-						{{item.title}}
-					</view>
-				</scroll-view>
-			</view>
-
-
-			<mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="top" @down="downCallback" @up="upCallback">
-				<view class="production-container">
-					<teleport v-if="TabCur==0">
-						<view class="list-item" v-for="(item, index) in mockBillList" :key="index">
-							<!-- 榻愬妫�鏌� -->
-							<view class="item-details">
-								<view class="detail-row">
-									<text class="label">宸ュ崟鍙�:</text>
-									<text class="value">{{item.workOrderCode}}</text>
-								</view>
-
-								<view class="detail-row">
-									<text class="label">鐗╂枡缂栧彿:</text>
-									<text class="value">{{item.materialNumber}}</text>
-								</view>
-
-								<view class="detail-row">
-									<text class="label">鐗╂枡鍚嶇О:</text>
-									<text class="value">{{item.materialName}}</text>
-								</view>
-
-								<view class="detail-row">
-									<text class="label">闇�姹傛暟閲�:</text>
-									<text class="value" style="color: #00FF00;">
-										{{item.requiredQuantity}}</text>
-								</view>
-								<view class="detail-row">
-									<text class="label">瀹為檯鏁伴噺:</text>
-									<text class="value" style="color: #00FF00;">{{item.actualQuantity}}</text>
-								</view>
-								<view class="detail-row">
-									<text class="label">鏄惁榻愬:</text>
-									<text class="value" v-if="item.checkFlag==='0'" style="color: red;">鍚�</text>
-									<text class="value" v-else style="color: red;">鏄�</text>
-								</view>
-							</view>
-						</view>
-					</teleport>
-
-
-					<teleport v-if="TabCur==1">
-						<view class="list-item" v-for="(item, index) in checkList" :key="index">
-							<!-- 榻愬妫�鏌� -->
-							<view class="item-details">
-								<view class="detail-row">
-									<text class="label">宸ヨ壓鍙傛暟缂栧彿:</text>
-									<text class="value">{{ item.paramCode}}</text>
-								</view>
-
-								<view class="detail-row">
-									<text class="label">宸ヨ壓鍙傛暟:</text>
-									<text class="value">{{ item.paramName}}</text>
-								</view>
-
-								<view class="detail-row">
-									<text class="label">鍚堟牸鑼冨洿:</text>
-									<text class="value">{{ item.availableQty}}</text>
-								</view>
-
-								<view class="detail-row">
-									<text class="label">鍙傛暟鍊�:</text>
-									<text class="value">{{ item.paramValue}}</text>
-								</view>
-								<view class="detail-row">
-									<text class="label">鍒ゅ畾:</text>
-									<text class="value">{{ item.judgment}}</text>
-								</view>
-							</view>
-						</view>
-					</teleport>
-
-
-
-					<teleport v-if="TabCur==2">
-						<view class="container">
-							<!-- 娴獥閬僵灞� -->
-							<view v-if="showPreview" class="overlay" @tap.stop="closePreview">
-								<view class="modal">
-									<!-- 鍏抽棴鎸夐挳 -->
-									<text class="close-btn" @tap.stop="showPreview = false">&times;</text>
-									<!-- 鍥剧墖灞曠ず -->
-									<image :src="previewImageSrc" mode="aspectFit" class="preview-image"
-										@error="handleImageError" :show-menu-by-longpress="false" />
-								</view>
-							</view>
-							<uni-forms ref="form" :modelValue="formData" validate-trigger="bind"
-								err-show-type="undertext">
-								<uni-group top="1">
-									<view class="divider"><text>鍩烘湰淇℃伅</text></view>
-									<!-- <view class="text-gray margin-bottom-lg">鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�� 鍩烘湰淇℃伅 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺��</view> -->
-									<uni-forms-item :label-width="80" name="num" label="宸ュ崟鍙�:">
-										<uni-easyinput v-model="formData.orderNum" :disabled="true" />
-									</uni-forms-item>
-									<uni-forms-item :label-width="80" name="num" label="璁惧缂栧彿:">
-										<uni-easyinput v-model="formData.num" :disabled="true" />
-									</uni-forms-item>
-
-									<uni-forms-item :label-width="80" name="remark" label="鐐规鏃ユ湡:">
-										<uni-easyinput v-model="formData.inspectionDate" :disabled="true" />
-									</uni-forms-item>
-									<uni-forms-item :label-width="80" name="outNum" label="鐐规浜�:">
-										<uni-easyinput v-model="formData.operator" :disabled="true" />
-									</uni-forms-item>
-
-									<uni-forms-item :label-width="80" name="formData.remark" label="澶囨敞:">
-										<uni-easyinput v-model="formData.remark" :disabled="true" />
-									</uni-forms-item>
-									<uni-forms-item :label-width="80" name="outNum" label="鐐规鍥剧墖:">
-										<uni-file-picker limit="9" :value="fileLists" :image-styles="imageStyles"
-											:sourceType="sourceType" @select="select" @progress="progress"
-											@success="success" @fail="fail" @delete="deletea" :readonly="readonly" />
-									</uni-forms-item>
-									<uni-forms-item name="outNum" :label-width="80" label="浣滀笟鎸囧:">
-										<button class="cu-btn  bg-blue" @tap="showPreview = true">鏌ョ湅</button>
-									</uni-forms-item>
-								</uni-group>
-							</uni-forms>
-
-							<!-- <view class="text-gray margin-bottom-lg">鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�� 淇濆吇椤逛俊鎭� 鈥斺�斺�斺�斺�斺�斺�斺�斺�斺��</view> -->
-							<view class="divider"><text>淇濆吇椤逛俊鎭�</text></view>
-							<uni-collapse>
-								<uni-collapse-item :show-animation="true" :accordion="true" title="鏌ョ湅淇濆吇椤�"
-									:border="false" title-border="none">
-									<uni-card margin="10px" spacing="1px"
-										v-for="(item,index) in partTakeAdviceDetailList" :key="index">
-
-
-										<view class="flex">
-											<view class="flex-sub text-light bg-white padding-xs margin-xs radius">琛屽彿:
-											</view>
-											<view class="flex-sub bg-white padding-xs margin-xs radius text-right">
-												{{index+1}}
-											</view>
-										</view>
-										<view class="flex">
-											<view class="flex-sub text-light bg-white padding-xs margin-xs radius">淇濆吇椤�:
-											</view>
-											<view
-												class="flex-sub bg-white padding-xs margin-xs text-bold radius text-right">
-												{{item.itemName}}
-											</view>
-										</view>
-
-										<view class="flex">
-											<view class="flex-sub text-light bg-white  padding-xs margin-xs radius">
-												淇濆吇瑕佹眰:
-											</view>
-											<view class="flex-sub bg-white padding-xs margin-xs radius text-right">
-												{{item.itemDemand}}
-											</view>
-										</view>
-										<view class="flex">
-											<view class="flex-sub text-light bg-white  padding-xs margin-xs radius">
-												鐐规缁撴灉:
-											</view>
-											<view class="flex-sub bg-white padding-xs     text-right margin-xs radius">
-												<uni-data-select :localdata="item.restle"
-													v-model="item.inspectionResult" @change="handleCode($event, index)"
-													:disabled="item.istrue" />
-											</view>
-										</view>
-										<view class="flex">
-											<view class="flex-sub text-light bg-white  padding-xs margin-xs radius">
-												寮傚父鏄惁鎶ヤ慨:
-											</view>
-											<view class="flex-sub bg-white padding-xs     text-right margin-xs radius">
-												<uni-data-select :localdata="item.type"
-													@change="handleType($event, index)" v-model="item.reportFlag"
-													:disabled="item.istrue" />
-											</view>
-										</view>
-
-
-										<view class="flex">
-											<view class="flex-sub text-light bg-white  padding-xs margin-xs radius">
-												寮傚父鎻忚堪:
-											</view>
-											<view class="flex-sub bg-white padding-xs     text-right margin-xs radius">
-												<uni-easyinput v-model="item.exceptionDescription"
-													:disabled="item.istrue" />
-											</view>
-										</view>
-									</uni-card>
-								</uni-collapse-item>
-							</uni-collapse>
-
-
-							<view class="padding flex flex-direction">
-								<view
-									class="flex-sub bg-blue padding-sm margin-xl radius text-sm text-center text-white"
-									@click.stop="ProductionTask()" hover-class="is-hover">纭畾</view>
-							</view>
-						</view>
-					</teleport>
-
-
-
-
-					<teleport v-if="TabCur==3">
-						<view class="container">
-							<uni-forms ref="form" :modelValue="formData" validate-trigger="bind"
-								err-show-type="undertext">
-								<uni-group top="1">
-									<uni-forms-item :label-width="100" name="remark" label="鏂囦欢鍚嶇О:">
-										<uni-easyinput v-model="formData.equipmentName" />
-									</uni-forms-item>
-									<uni-forms-item :label-width="100" name="outNum" label="璁惧鏂囨。:">
-										<uni-file-picker v-model="fileLists" :extension="['.pdf']" @fail="uploadFail"
-											:list-styles="listStyles" :delIcon="del" :max-count="5" file-mediatype="all"
-											@downloadFile="downloadFile" @select="onFileSelect" @delete="onFileDelete">
-											<button size="mini" type="primary">鐐瑰嚮涓婁紶</button>
-										</uni-file-picker>
-									</uni-forms-item>
-									<!-- 鏂板锛氭牎楠岀粨鏋滃崟閫夋 -->
-									<uni-forms-item name="result" :label-width="100" label="妫�楠岀粨鏋�:">
-										<radio-group @change="radioChange">
-											<label style="margin-right: 20rpx;">
-												<radio :checked="formData.result=='qualified'" value="qualified" />鍚堟牸
-											</label>
-
-											<label style="margin-right: 20rpx;">
-												<radio :checked="formData.result=='unqualified'" value="unqualified" />
-												涓嶅悎鏍�
-											</label>
-										</radio-group>
-									</uni-forms-item>
-								</uni-group>
-							</uni-forms>
-
-							<view class="file-list margin-sm">
-								<view class="file-item" v-for="(file, index) in this.selectedFiles" :key="index">
-									<view class="file-icon">
-										<!-- 鏂囦欢鍥炬爣 -->
-										<image src="/static/icon_file.png"
-											style="height: 25px;  width: 25px; margin-right: 10px;" mode='aspectFit'
-											class="zai-logo "></image>
-									</view>
-									<view class="file-name">
-										<!-- 鏂囦欢鍚� -->
-										{{ file.fileName }}
-									</view>
-									<view class="file-actions">
-										<!-- 涓嬭浇鎸夐挳 -->
-										<image v-show="showBtn" src="/static/icon_down.png" @click="downloadFile(file)"
-											style="height: 25px;  width: 25px; margin-right: 10px;"></image>
-									</view>
-								</view>
-							</view>
-
-							<view class="padding flex flex-direction">
-								<view
-									class="flex-sub bg-blue padding-sm margin-xl radius text-sm text-center text-white"
-									@click.stop="ProductionTask()" hover-class="is-hover">纭畾</view>
-							</view>
-						</view>
-					</teleport>
-
-
-
-					<teleport v-if="TabCur==4">
-						<view class="list-item" v-for="(item, index) in checkList" :key="index">
-							<!-- 榻愬妫�鏌� -->
-							<view class="item-details">
-								<view class="detail-row">
-									<text class="label">鎵规鍙�:</text>
-									<text class="value">{{ item.paramCode}}</text>
-								</view>
-
-								<view class="detail-row">
-									<text class="label">鐗╂枡缂栫爜:</text>
-									<text class="value">{{ item.paramName}}</text>
-								</view>
-
-								<view class="detail-row">
-									<text class="label">鐗╂枡鎻忚堪:</text>
-									<text class="value">{{ item.availableQty}}</text>
-								</view>
-
-								<view class="detail-row">
-									<text class="label">涓婃枡鏃堕棿:</text>
-									<text class="value">{{ item.paramValue}}</text>
-								</view>
-								<view class="detail-row">
-									<text class="label">涓婃枡鏁伴噺:</text>
-									<text class="value">{{ item.judgment}}</text>
-								</view>
-								<view class="detail-row">
-									<text class="label">涓婃枡浜哄憳:</text>
-									<text class="value">{{ item.judgment}}</text>
-								</view>
-							</view>
-						</view>
-					</teleport>
-
-
-					<!-- 琛ㄥご锛堝叡鐢ㄦ牱寮忥級 -->
-
-
+		
+		<!-- 鍚搁《鏍囩鏍� -->
+		<view class="solid-bottom" :style="{ top: navBarHeight + 'px' }">
+			<scroll-view scroll-x class="bg-white nav text-center">
+				<view class="cu-item" :class="item.value==TabCur?'text-blue cur':''" v-for="(item,index) in tabs"
+					:key="index" @tap="tabSelect" :data-id="item.value">
+					{{item.title}}
 				</view>
-			</mescroll-uni>
+			</scroll-view>
+		</view>
+
+		<!-- 鐙珛婊氬姩鐨勫垪琛ㄥ鍣� -->
+		<view class="production-container" :style="{ height: contentHeight + 'px' }">
+			<!-- 榻愬妫�鏌� -->
+			<teleport v-if="TabCur==0">
+				<view class="list-item" v-for="(item, index) in mockBillList" :key="index">
+					<view class="item-details">
+						<view class="detail-row">
+							<text class="label">宸ュ崟鍙�:</text>
+							<text class="value">{{item.workOrderCode}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">鐗╂枡缂栧彿:</text>
+							<text class="value">{{item.materialNumber}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">鐗╂枡鍚嶇О:</text>
+							<text class="value">{{item.materialName}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">闇�姹傛暟閲�:</text>
+							<text class="value" style="color: #00FF00;">{{item.requiredQuantity}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">瀹為檯鏁伴噺:</text>
+							<text class="value" style="color: #00FF00;">{{item.actualQuantity}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">鏄惁榻愬:</text>
+							<text class="value" v-if="item.checkFlag==='0'" style="color: red;">鍚�</text>
+							<text class="value" v-else style="color: green;">鏄�</text>
+						</view>
+					</view>
+				</view>
+			</teleport>
+
+			<!-- 宸ヨ壓鐐规 -->
+			<teleport v-if="TabCur==1">
+				<view class="list-item" v-for="(item, index) in checkList" :key="index">
+					<view class="item-details">
+						<view class="detail-row">
+							<text class="label">宸ヨ壓鍙傛暟缂栧彿:</text>
+							<text class="value">{{ item.paramCode}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">宸ヨ壓鍙傛暟:</text>
+							<text class="value">{{ item.paramName}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">鍚堟牸鑼冨洿:</text>
+							<text class="value">{{ item.validRange}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">鍙傛暟鍊�:</text>
+							<text class="value">{{ item.paramValue}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">鍒ゅ畾:</text>
+							<text class="value">{{ item.judgment}}</text>
+						</view>
+					</view>
+				</view>
+			</teleport>
+
+			<!-- 璁惧鐐规 -->
+			<teleport v-if="TabCur==2">
+				<view class="container-inner">
+					<!-- 娴獥閬僵灞� -->
+					<view v-if="showPreview" class="overlay" @tap.stop="closePreview">
+						<view class="modal">
+							<text class="close-btn" @tap.stop="showPreview = false">&times;</text>
+							<image :src="previewImageSrc" mode="aspectFit" class="preview-image"
+								@error="handleImageError" :show-menu-by-longpress="false" />
+						</view>
+					</view>
+					
+					<uni-forms ref="form" :modelValue="formData" validate-trigger="bind"
+						err-show-type="undertext">
+						<uni-group top="1">
+							<view class="divider"><text>鍩烘湰淇℃伅</text></view>
+							<uni-forms-item :label-width="80" name="orderNum" label="宸ュ崟鍙�:">
+								<uni-easyinput v-model="formData.orderNum" :disabled="true" />
+							</uni-forms-item>
+							<uni-forms-item :label-width="80" name="equipmentNum" label="璁惧缂栧彿:">
+								<uni-easyinput v-model="formData.num" :disabled="true" />
+							</uni-forms-item>
+							<uni-forms-item :label-width="80" name="inspectionDate" label="鐐规鏃ユ湡:">
+								<uni-easyinput v-model="formData.inspectionDate" :disabled="true" />
+							</uni-forms-item>
+							<uni-forms-item :label-width="80" name="operator" label="鐐规浜�:">
+								<uni-easyinput v-model="formData.operator" :disabled="true" />
+							</uni-forms-item>
+							<uni-forms-item :label-width="80" name="remark" label="澶囨敞:">
+								<uni-easyinput v-model="formData.remark" :disabled="true" />
+							</uni-forms-item>
+							<uni-forms-item :label-width="80" name="checkImages" label="鐐规鍥剧墖:">
+								<uni-file-picker limit="9" :value="fileLists" :image-styles="imageStyles"
+									:sourceType="sourceType" @select="select" @progress="progress"
+									@success="success" @fail="fail" @delete="deletea" :readonly="readonly" />
+							</uni-forms-item>
+							<uni-forms-item name="guide" :label-width="80" label="浣滀笟鎸囧:">
+								<button class="cu-btn  bg-blue" @tap="showPreview = true">鏌ョ湅</button>
+							</uni-forms-item>
+						</uni-group>
+					</uni-forms>
+
+					<view class="divider"><text>淇濆吇椤逛俊鎭�</text></view>
+					<uni-collapse>
+						<uni-collapse-item :show-animation="true" :accordion="true" title="鏌ョ湅淇濆吇椤�"
+							:border="false" title-border="none">
+							<uni-card margin="10px" spacing="1px"
+								v-for="(item,index) in partTakeAdviceDetailList" :key="index">
+								<view class="flex">
+									<view class="flex-sub text-light bg-white padding-xs margin-xs radius">琛屽彿:</view>
+									<view class="flex-sub bg-white padding-xs margin-xs radius text-right">{{index+1}}</view>
+								</view>
+								<view class="flex">
+									<view class="flex-sub text-light bg-white padding-xs margin-xs radius">淇濆吇椤�:</view>
+									<view class="flex-sub bg-white padding-xs margin-xs text-bold radius text-right">{{item.itemName}}</view>
+								</view>
+								<view class="flex">
+									<view class="flex-sub text-light bg-white  padding-xs margin-xs radius">淇濆吇瑕佹眰:</view>
+									<view class="flex-sub bg-white padding-xs margin-xs radius text-right">{{item.itemDemand}}</view>
+								</view>
+								<view class="flex">
+									<view class="flex-sub text-light bg-white  padding-xs margin-xs radius">鐐规缁撴灉:</view>
+									<view class="flex-sub bg-white padding-xs     text-right margin-xs radius">
+										<uni-data-select :localdata="item.restle"
+											v-model="item.inspectionResult" @change="handleCode($event, index)"
+											:disabled="item.istrue" />
+									</view>
+								</view>
+								<view class="flex">
+									<view class="flex-sub text-light bg-white  padding-xs margin-xs radius">寮傚父鏄惁鎶ヤ慨:</view>
+									<view class="flex-sub bg-white padding-xs     text-right margin-xs radius">
+										<uni-data-select :localdata="item.type"
+											@change="handleType($event, index)" v-model="item.reportFlag"
+											:disabled="item.istrue" />
+									</view>
+								</view>
+								<view class="flex">
+									<view class="flex-sub text-light bg-white  padding-xs margin-xs radius">寮傚父鎻忚堪:</view>
+									<view class="flex-sub bg-white padding-xs     text-right margin-xs radius">
+										<uni-easyinput v-model="item.exceptionDescription"
+											:disabled="item.istrue" />
+									</view>
+								</view>
+							</uni-card>
+						</uni-collapse-item>
+					</uni-collapse>
+
+					<view class="padding flex flex-direction">
+						<view class="flex-sub bg-blue padding-sm margin-xl radius text-sm text-center text-white"
+							@click.stop="ProductionTask()" hover-class="is-hover">纭畾</view>
+					</view>
+				</view>
+			</teleport>
+
+			<!-- 鏍蜂欢鏍¢獙 -->
+			<teleport v-if="TabCur==3">
+				<view class="container-inner">
+					<uni-forms ref="form" :modelValue="formData" validate-trigger="bind"
+						err-show-type="undertext">
+						<uni-group top="1">
+							<uni-forms-item :label-width="100" name="equipmentName" label="鏂囦欢鍚嶇О:">
+								<uni-easyinput v-model="formData.equipmentName" />
+							</uni-forms-item>
+							<uni-forms-item :label-width="100" name="equipmentDoc" label="璁惧鏂囨。:">
+								<uni-file-picker v-model="fileLists" :extension="['.pdf']" @fail="uploadFail"
+									:list-styles="listStyles" :delIcon="del" :max-count="5" file-mediatype="all"
+									@downloadFile="downloadFile" @select="onFileSelect" @delete="onFileDelete">
+									<button size="mini" type="primary">鐐瑰嚮涓婁紶</button>
+								</uni-file-picker>
+							</uni-forms-item>
+							<uni-forms-item name="result" :label-width="100" label="妫�楠岀粨鏋�:">
+								<radio-group @change="radioChange" v-model="formData.result">
+									<label style="margin-right: 20rpx;">
+										<radio :checked="formData.result=='qualified'" value="qualified" />鍚堟牸
+									</label>
+									<label style="margin-right: 20rpx;">
+										<radio :checked="formData.result=='unqualified'" value="unqualified" />
+										涓嶅悎鏍�
+									</label>
+								</radio-group>
+							</uni-forms-item>
+						</uni-group>
+					</uni-forms>
+
+					<view class="file-list margin-sm">
+						<view class="file-item" v-for="(file, index) in selectedFiles" :key="index">
+							<view class="file-icon">
+								<image src="/static/icon_file.png"
+									style="height: 50rpx;  width: 50rpx; margin-right: 20rpx;" mode='aspectFit'
+									class="zai-logo "></image>
+							</view>
+							<view class="file-name">{{ file.fileName }}</view>
+							<view class="file-actions">
+								<image v-show="showBtn" src="/static/icon_down.png" @click="downloadFile(file)"
+									style="height: 50rpx;  width: 50rpx; margin-right: 20rpx;"></image>
+							</view>
+						</view>
+					</view>
+
+					<view class="padding flex flex-direction">
+						<view class="flex-sub bg-blue padding-sm margin-xl radius text-sm text-center text-white"
+							@click.stop="ProductionTask()" hover-class="is-hover">纭畾</view>
+					</view>
+				</view>
+			</teleport>
+
+			<!-- 涓婃枡璁板綍 -->
+			<teleport v-if="TabCur==4">
+				<view class="list-item" v-for="(item, index) in feedingList" :key="index">
+					<view class="item-details">
+						<view class="detail-row">
+							<text class="label">鎵规鍙�:</text>
+							<text class="value">{{ item.batchCode}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">鐗╂枡缂栫爜:</text>
+							<text class="value">{{ item.materialCode}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">鐗╂枡鎻忚堪:</text>
+							<text class="value">{{ item.materialDesc}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">涓婃枡鏃堕棿:</text>
+							<text class="value">{{ item.feedingTime}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">涓婃枡鏁伴噺:</text>
+							<text class="value">{{ item.feedingQty}}</text>
+						</view>
+						<view class="detail-row">
+							<text class="label">涓婃枡浜哄憳:</text>
+							<text class="value">{{ item.feeder}}</text>
+						</view>
+					</view>
+				</view>
+			</teleport>
 		</view>
 	</view>
 </template>
@@ -342,91 +282,66 @@
 		}
 	];
 	import configService from "@/common/service/config.service.js";
-	import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
 	export default {
-		mixins: [MescrollMixin], // 浣跨敤mixin
 		data() {
 			return {
-				mockBillList:[],
+				// 鍚搁《鍜屾粴鍔ㄧ浉鍏�
+				navBarHeight: 0,
+				contentHeight: 0,
+				
+				// 鏁版嵁鍒楄〃
+				mockBillList: [],
+				checkList: [],
+				partTakeAdviceDetailList: [],
+				feedingList: [],
+				
+				// 鍥剧墖棰勮
 				previewImageSrc: '',
 				ipAndPort: configService.staticURL,
 				fileLists: [],
-				// 涓婁紶鍥剧墖鐨勬牱寮�
+				
+				// 涓婁紶鍥剧墖鏍峰紡
 				imageStyles: {
 					width: 90,
 					height: 90,
 				},
 				sourceType: ['album', 'camera'],
-				ScanData: {
-					typeName: '',
-					handlingType: [{
-							text: "閫氳繃",
-							value: "1"
-						},
-						{
-							text: "椹冲洖",
-							value: "2"
-						}
-					],
-					handlingSuggestion: ''
-				},
+				
+				// 琛ㄥ崟鏁版嵁
 				formData: {
 					num: '',
 					avatar: [],
 					orderNum: '',
 					operator: '',
-					inspectionDate: ''
-
+					inspectionDate: '',
+					remark: '',
+					equipmentName: '',
+					result: 'qualified'
 				},
-				checkList: [{
-						paramCode: '001',
-						paramName: '杞��',
-						validRange: '',
-						paramValue: '',
-						judgment: '鍚堟牸'
-					},
-					{
-						paramCode: '002',
-						paramName: '杩涚粰',
-						validRange: '',
-						paramValue: '',
-						judgment: '鍚堟牸'
-					},
-					{
-						paramCode: '003',
-						paramName: '鍚冨垁閲�',
-						validRange: '',
-						paramValue: '',
-						judgment: '鍚堟牸'
-					},
-					{
-						paramCode: '004',
-						paramName: '鍊嶇巼',
-						validRange: '',
-						paramValue: '',
-						judgment: '鍚堟牸'
-					}
-				],
+				
+				// 鏍囩鐩稿叧
 				tabs,
 				TabCur: 0,
 				scrollLeft: 0,
 				NavBarColor: this.NavBarColor,
+				
+				// 鍒嗛〉閰嶇疆
 				upOption: {
 					page: {
-						num: 0, // 褰撳墠椤电爜,榛樿0,鍥炶皟涔嬪墠浼氬姞1,鍗砪allback(page)浼氫粠1寮�濮�
-						size: 10, // 姣忛〉鏁版嵁鐨勬暟閲�
-
+						num: 0,
+						size: 10,
 					},
-					noMoreSize: 4, //濡傛灉鍒楄〃宸叉棤鏁版嵁,鍙缃垪琛ㄧ殑鎬绘暟閲忚澶т簬鍗婇〉鎵嶆樉绀烘棤鏇村鏁版嵁;閬垮厤鍒楄〃鏁版嵁杩囧皯(姣斿鍙湁涓�鏉℃暟鎹�),鏄剧ず鏃犳洿澶氭暟鎹細涓嶅ソ鐪�; 榛樿5
+					noMoreSize: 4,
 					empty: {
-						tip: '~ 鏆傛棤鏁版嵁 ~', // 鎻愮ず
-
+						tip: '~ 鏆傛棤鏁版嵁 ~',
 					},
 					loading: '',
 					text: '鍏ㄩ儴',
 					isShowNoMore: false,
 					textNoMore: '鎴戞槸鏈夊簳绾跨殑 >_<'
 				},
+				
+				// 鍏朵粬閰嶇疆
 				styles: {
 					color: '#2979FF',
 					borderColor: '#2979FF'
@@ -442,14 +357,22 @@
 				current: 0,
 				colorIndex: 0,
 				activeColor: '#5277A6',
-				msgList: [], //鍒楄〃鏁版嵁
+				msgList: [],
 				announcementList: [],
+				workOrderId:'',
+				// 鏂囦欢鐩稿叧
+				readonly: false,
+				del: true,
+				showBtn: true,
+				listStyles: { height: '100rpx' },
+				selectedFiles: [],
+				showPreview: false
 			}
 		},
 
 		computed: {
 			top() {
-				return this.CustomBar * 2 + 100
+				return this.CustomBar * 2 + 120
 			},
 			style() {
 				var StatusBar = this.StatusBar;
@@ -458,22 +381,182 @@
 				return style
 			},
 		},
+		onLoad(options) {
+			this.calculateHeights();
+			if (options.id) {
+				this.workOrderId = options.id;
+				console.log('鎺ユ敹鐨勫伐鍗昳d:', this.workOrderId);
+		
+				// 鍙湪姝ゅ璋冪敤鎺ュ彛锛屾牴鎹甶d鑾峰彇宸ュ崟璇︽儏
+				this.upCallback(this.workOrderId);
+			}
+			// 璁$畻瀵艰埅鏍忓拰鍐呭鍖哄煙楂樺害
+			
 
+		},
+		onLoad() {
+			
+		},
 
 		methods: {
+			// 璁$畻瀵艰埅鏍忓拰鍐呭鍖哄煙楂樺害
+			calculateHeights() {
+				uni.getSystemInfo({
+					success: (res) => {
+						// 瀵艰埅鏍忛珮搴� = 鐘舵�佹爮楂樺害 + 鑷畾涔夊鑸爮楂樺害(44px)
+						this.navBarHeight = res.statusBarHeight + 44;
+						
+						// 鏍囩鏍忛珮搴︾害50px锛岃绠楀唴瀹瑰尯鍩熼珮搴�
+						const tabBarHeight = 50;
+						const safeAreaBottom = res.safeArea?.bottom || 0;
+						this.contentHeight = res.windowHeight - this.navBarHeight - tabBarHeight - (res.windowHeight - safeAreaBottom);
+					}
+				});
+			},
+			
+			// 鍒濆鍖栨ā鎷熸暟鎹�
+			initData() {
+				// 榻愬妫�鏌ユā鎷熸暟鎹�
+				this.mockBillList = [
+					{
+						workOrderCode: 'WO2023001',
+						materialNumber: 'MAT001',
+						materialName: '杞存壙',
+						requiredQuantity: '100',
+						actualQuantity: '100',
+						checkFlag: '1'
+					},
+					{
+						workOrderCode: 'WO2023001',
+						materialNumber: 'MAT002',
+						materialName: '榻胯疆',
+						requiredQuantity: '50',
+						actualQuantity: '45',
+						checkFlag: '0'
+					},
+					{
+						workOrderCode: 'WO2023002',
+						materialNumber: 'MAT003',
+						materialName: '铻烘爴',
+						requiredQuantity: '200',
+						actualQuantity: '200',
+						checkFlag: '1'
+					}
+				];
+				
+				// 宸ヨ壓鐐规妯℃嫙鏁版嵁
+				this.checkList = [
+					{
+						paramCode: '001',
+						paramName: '杞��',
+						validRange: '1000-1500r/min',
+						paramValue: '1200r/min',
+						judgment: '鍚堟牸'
+					},
+					{
+						paramCode: '002',
+						paramName: '杩涚粰',
+						validRange: '0.1-0.3mm/r',
+						paramValue: '0.2mm/r',
+						judgment: '鍚堟牸'
+					},
+					{
+						paramCode: '003',
+						paramName: '鍚冨垁閲�',
+						validRange: '2-5mm',
+						paramValue: '3mm',
+						judgment: '鍚堟牸'
+					},
+					{
+						paramCode: '004',
+						paramName: '鍊嶇巼',
+						validRange: '80%-120%',
+						paramValue: '100%',
+						judgment: '鍚堟牸'
+					}
+				];
+				
+				// 涓婃枡璁板綍妯℃嫙鏁版嵁
+				this.feedingList = [
+					{
+						batchCode: 'B20230501',
+						materialCode: 'MAT001',
+						materialDesc: '杞存壙',
+						feedingTime: '2023-05-01 08:30',
+						feedingQty: '100',
+						feeder: '寮犱笁'
+					},
+					{
+						batchCode: 'B20230501',
+						materialCode: 'MAT002',
+						materialDesc: '榻胯疆',
+						feedingTime: '2023-05-01 09:15',
+						feedingQty: '50',
+						feeder: '鏉庡洓'
+					}
+				];
+				
+				// 璁惧鐐规淇濆吇椤规ā鎷熸暟鎹�
+				this.partTakeAdviceDetailList = [
+					{
+						itemName: '娑︽粦娌规鏌�',
+						itemDemand: '娌归噺鍦ㄥ埢搴︾嚎涔嬮棿锛屾棤鍙樿川',
+						restle: [
+							{ text: "姝e父", value: '1' },
+							{ text: "寮傚父", value: '2' }
+						],
+						type: [
+							{ text: "鍚�", value: "0" },
+							{ text: "鏄�", value: "1" }
+						],
+						istrue: false,
+						inspectionResult: '',
+						reportFlag: '0',
+						exceptionDescription: ''
+					},
+					{
+						itemName: '铻轰笣绱у浐',
+						itemDemand: '鎵�鏈夎灪涓濇棤鏉惧姩',
+						restle: [
+							{ text: "姝e父", value: '1' },
+							{ text: "寮傚父", value: '2' }
+						],
+						type: [
+							{ text: "鍚�", value: "0" },
+							{ text: "鏄�", value: "1" }
+						],
+						istrue: false,
+						inspectionResult: '',
+						reportFlag: '0',
+						exceptionDescription: ''
+					}
+				];
+				
+				// 琛ㄥ崟鍒濆鏁版嵁
+				this.formData = {
+					num: 'EQ2023001',
+					orderNum: 'WO2023001',
+					operator: '寮犱笁',
+					inspectionDate: '2023-05-01',
+					remark: '璁惧杩愯姝e父',
+					equipmentName: '璁惧鏍¢獙鎶ュ憡',
+					result: 'qualified'
+				};
+			},
+
 			mescrollInit(mescroll) {
 				console.log('mescrollInit')
 				this.mescroll = mescroll;
 			},
 
 			upCallback() {
-				//鑱旂綉鍔犺浇鏁版嵁
-				console.log("tabindex", this.TabCur)
+				// 鑱旂綉鍔犺浇鏁版嵁鐨勯�昏緫
+				console.log("褰撳墠鏍囩椤�:", this.TabCur)
 				let keyword = this.TabCur
 				if (keyword == 0) {
 					this.$http.get(this.url.sub1, {
 						params: {
-							workOrderId:"1960585092127371266"
+							workOrderId:this.workOrderId
 							
 						}
 					}).then(res => {
@@ -490,102 +573,40 @@
 							icon: 'none'
 						});
 					})
+					
+					
+					
 				} else if (keyword == 1) {
-					this.$http.get(this.url.list, {
-						params: {
-							pageSize: page.size,
-							order: "desc",
-							column: "createTime",
-							type: 2,
-							status: 1
-						}
-					}).then(res => {
-						//鑱旂綉鎴愬姛鐨勫洖璋�,闅愯棌涓嬫媺鍒锋柊鍜屼笂鎷夊姞杞界殑鐘舵��;
-						this.announcement2 = res.data.result.records
-						this.mescroll.endSuccess(this.announcement2.length, this.msgCount);
-
-						//璁剧疆鍒楄〃鏁版嵁
-						if (res.data.success) {
-							console.log("res sys", res.data)
-							this.msg2Count = res.data.result.total
-							this.msg2Title = "閫氱煡(" + res.data.result.total + ")";
-
-							for (let item of this.announcement2) {
-								this.msgList.push(item)
-							}
-						}
-						if (page.num == 1) {
-							this.msgList = []; //濡傛灉鏄涓�椤甸渶鎵嬪姩鍒剁┖鍒楄〃
-							this.msgList = this.msgList.concat(this.announcement2); //杩藉姞鏂版暟鎹�
-						}
-					}).catch(() => {
-						//鑱旂綉澶辫触, 缁撴潫鍔犺浇
-						this.mescroll.endErr();
-						uni.showToast({
-							title: '缃戠粶寮傚父锛岃绋嶅悗鍐嶈瘯',
-							icon: 'none'
-						});
-					})
+					console.log("鍔犺浇宸ヨ壓鐐规鏁版嵁");
 				} else if (keyword == 2) {
-
-					this.$http.get(this.url.list, {
-						params: {
-							pageSize: page.size,
-							order: "desc",
-							column: "createTime",
-							type: 2,
-							status: 2
-						}
-					}).then(res => {
-						//鑱旂綉鎴愬姛鐨勫洖璋�,闅愯棌涓嬫媺鍒锋柊鍜屼笂鎷夊姞杞界殑鐘舵��;
-						this.announcement2 = res.data.result.records
-						this.mescroll.endSuccess(this.announcement2.length, this.msgCount);
-
-						//璁剧疆鍒楄〃鏁版嵁
-						if (res.data.success) {
-							console.log("res sys", res.data)
-							this.msg2Count = res.data.result.total
-							this.msg2Title = "閫氱煡(" + res.data.result.total + ")";
-
-							for (let item of this.announcement2) {
-								this.msgList.push(item)
-							}
-						}
-						if (page.num == 1) {
-							this.msgList = []; //濡傛灉鏄涓�椤甸渶鎵嬪姩鍒剁┖鍒楄〃
-							this.msgList = this.msgList.concat(this.announcement2); //杩藉姞鏂版暟鎹�
-						}
-					}).catch(() => {
-						//鑱旂綉澶辫触, 缁撴潫鍔犺浇
-						this.mescroll.endErr();
-						uni.showToast({
-							title: '缃戠粶寮傚父锛岃绋嶅悗鍐嶈瘯',
-							icon: 'none'
-						});
-					})
-
+					console.log("鍔犺浇璁惧鐐规鏁版嵁");
 				}
-
 			},
+			
+			// 鏍囩閫夋嫨
 			tabSelect(e) {
-				this.TabCur = e.currentTarget.dataset.id;
-				this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60;
-				this.msgList = [] // 鍏堢疆绌哄垪琛�,鏄剧ず鍔犺浇杩涘害
-				this.mescroll.resetUpScroll() // 鍐嶅埛鏂板垪琛ㄦ暟鎹�
+				const tabIndex = e.currentTarget.dataset.id;
+				this.TabCur = tabIndex;
+				
+				// 鍔ㄦ�佽绠楁粴鍔ㄤ綅缃�
+				const query = uni.createSelectorQuery().in(this);
+				query.selectAll('.cu-item').boundingClientRect(rects => {
+					let scrollLeft = 0;
+					for (let i = 0; i < tabIndex - 1; i++) {
+						scrollLeft += rects[i]?.width || 0;
+					}
+					this.scrollLeft = scrollLeft;
+				}).exec();
 			},
-
-
 
 			ListTouchStart(e) {
 				this.listTouchStart = e.touches[0].pageX
 			},
 
-			// ListTouch璁$畻鏂瑰悜
 			ListTouchMove(e) {
 				this.listTouchDirection = e.touches[0].pageX - this.listTouchStart > 0 ? 'right' : 'left'
 			},
 
-			// ListTouch璁$畻婊氬姩
 			ListTouchEnd(e) {
 				if (this.listTouchDirection == 'left') {
 					this.modalName = e.currentTarget.dataset.target
@@ -596,281 +617,297 @@
 			},
 
 			/**
-			 * 淇濆吇椤�
+			 * 淇濆吇椤圭浉鍏虫柟娉�
 			 */
 			getList() {
-				this.$http.get(this.url.BaoList, {
-					params: {
-						orderId: this.id
-					},
-
-				}).then(res => {
-					this.partTakeAdviceDetailList = res.data.result;
-					const restle = [];
-					this.partTakeAdviceDetailList.forEach(item => {
-						item.restle = [{
-								text: "姝e父",
-								value: '1'
-							},
-							{
-								text: "寮傚父",
-								value: '2'
-							}
-						]; // 鏂板瓧娈碉紝鍊间负涓�涓┖鏁扮粍
-						item.type = [{
-								text: "鍚�",
-								value: "0"
-							},
-							{
-								text: "鏄�",
-								value: "1"
-							}
-						]; // 鏂板瓧娈碉紝鍊间负涓�涓┖鏁扮粍
-						item.istrue = true;
-					});
-					console.log("url", res)
-					//璁剧疆鍒楄〃鏁版嵁
-					if (res.data.success) {
-						console.log("res", res.data.result)
-
-					}
-				}).catch(() => {
-					//鑱旂綉澶辫触, 缁撴潫鍔犺浇
-				})
+				// 瀹為檯椤圭洰涓皟鐢ˋPI鑾峰彇淇濆吇椤规暟鎹�
+				console.log("鑾峰彇淇濆吇椤规暟鎹�");
 			},
+			
+			handleCode(e, index) {
+				console.log("鐐规缁撴灉鍙樻洿:", e, "绱㈠紩:", index);
+			},
+			
+			handleType(e, index) {
+				console.log("鎶ヤ慨鐘舵�佸彉鏇�:", e, "绱㈠紩:", index);
+			},
+
+			// 鍥剧墖閿欒澶勭悊
 			handleImageError(e) {
 				const icon_prefix = "/static/";
 				this.previewImageSrc = icon_prefix + "icn_erro.png"
 			},
+			
+			// 鍏抽棴棰勮
+			closePreview() {
+				this.showPreview = false;
+			},
+
 			/**
 			 * 浣滀笟鎸囧涔�
 			 */
 			getStandardFile() {
-				this.$http.get(this.url.getStandardFile, {
-					params: {
-						id: this.standardId
-					}
-				}).then(res => {
-					if (res.data.success) {
-						console.log("res", res.data.result);
-						const referenceFileStr = res.data.result.referenceFile;
-
-						// 鍒ゆ柇鏄惁瀛樺湪 referenceFile 骞惰繘琛岃В鏋�
-						if (referenceFileStr) {
-							try {
-								const referenceFileObj = JSON.parse(referenceFileStr);
-								const filePath = `${this.ipAndPort}${referenceFileObj.filePath}`;
-								this.previewImageSrc = filePath;
-								console.log('previewImageSrc:', this.previewImageSrc);
-							} catch (e) {
-								console.error("referenceFile 瑙f瀽澶辫触", e);
-								this.previewImageSrc = '';
-							}
-						} else {
-							console.warn("referenceFile 涓嶅瓨鍦�");
-							this.previewImageSrc = '';
-						}
-					}
-				}).catch(err => {
-					console.error("缃戠粶璇锋眰澶辫触", err);
-					// 鑱旂綉澶辫触, 缁撴潫鍔犺浇
-				});
+				// 瀹為檯椤圭洰涓皟鐢ˋPI鑾峰彇浣滀笟鎸囧涔�
+				console.log("鑾峰彇浣滀笟鎸囧涔�");
 			},
 
+			// 鍥剧墖閫夋嫨
 			select(e) {
 				const tempFilePaths = e.tempFilePaths;
 				uni.showLoading({
 					title: '涓婁紶涓�...'
 				});
-				const uploadPromises = tempFilePaths.map((filePath, index) => {
-					return new Promise((resolve, reject) => {
-						this.$http.upload(this.url.upload, {
-								filePath: filePath,
-								name: 'file'
-							})
-							.then(uploadRes => {
-								// 鍋囪鏈嶅姟鍣ㄨ繑鍥炵殑缁撴灉涓寘鍚枃浠惰矾寰�
-								const serverFilePath = uploadRes.data.result[0];
-								this.formData.avatar.push(serverFilePath);
-								resolve(uploadRes); // 杩斿洖缁撴灉缁� Promise.all
-							})
-							.catch(err => {
-								console.error(`鍥剧墖 ${index + 1} 涓婁紶澶辫触:`, err);
-								reject(err);
-							});
-					});
-				});
-
-				Promise.all(uploadPromises)
-					.then(() => {
-						uni.hideLoading();
-						uni.showToast({
-							title: '鍏ㄩ儴涓婁紶鎴愬姛'
-						});
-					})
-					.catch(err => {
-						uni.hideLoading();
-						uni.showToast({
-							title: '閮ㄥ垎涓婁紶澶辫触',
-							icon: 'none'
-						});
-						console.error('涓婁紶寮傚父:', err);
-					});
+				
+				// 妯℃嫙涓婁紶鎴愬姛
+				setTimeout(() => {
+					uni.hideLoading();
+					uni.showToast({ title: '涓婁紶鎴愬姛' });
+				}, 1000);
 			},
-			// 鍒犻櫎
+			
+			// 鍒犻櫎鍥剧墖
 			deletea(e) {
 				console.log('鍒犻櫎鍥剧墖', e);
+			},
+			
+			// 鏂囦欢閫夋嫨
+			onFileSelect(e) {
+				const newFiles = e.tempFiles.map(file => ({
+					fileName: file.name,
+					filePath: file.path,
+					size: file.size
+				}));
+				this.selectedFiles = [...this.selectedFiles, ...newFiles];
+			},
+			
+			// 鍒犻櫎鏂囦欢
+			onFileDelete(e) {
+				this.selectedFiles.splice(e.index, 1);
+			},
+			
+			// 涓嬭浇鏂囦欢
+			downloadFile(file) {
+				uni.showToast({ title: `姝e湪涓嬭浇 ${file.fileName}`, icon: 'none' });
+				// 瀹為檯椤圭洰涓皟鐢ㄤ笅杞紸PI
+			},
+			
+			// 妫�楠岀粨鏋滃彉鏇�
+			radioChange(e) {
+				this.formData.result = e.detail.value;
+			},
+			
+			// 涓婁紶澶辫触
+			uploadFail(e) {
+				console.log('涓婁紶澶辫触', e);
+				uni.showToast({ title: '涓婁紶澶辫触', icon: 'none' });
+			},
+			
+			// 杩涘害鍥炶皟
+			progress(e) {
+				console.log('涓婁紶杩涘害', e);
+			},
+			
+			// 鎴愬姛鍥炶皟
+			success(e) {
+				console.log('涓婁紶鎴愬姛', e);
+			},
+			
+			// 澶辫触鍥炶皟
+			fail(e) {
+				console.log('鎿嶄綔澶辫触', e);
+			},
+			
+			// 纭畾鎸夐挳
+			ProductionTask() {
+				uni.showToast({ title: '鎿嶄綔鎴愬姛' });
 			}
 		}
 	}
 </script>
 
-<style>
-	<style scoped>
-
-	/* 鍒楄〃瀹瑰櫒鏍峰紡 */
-	.check-list-container {
-		margin-bottom: 120rpx;
-		/* 涓哄簳閮ㄦ搷浣滄爮鐣欏嚭绌洪棿 */
+<style scoped>
+	.container {
+		background-color: #f5f7fa;
+		min-height: 100vh;
 	}
-
+	
+	/* 鍚搁《鏍囩鏍忔牱寮� */
+	.solid-bottom {
+		position: sticky;
+		z-index: 99;
+		border-bottom: 1px solid #eee;
+	}
+	
+	.nav {
+		white-space: nowrap;
+		padding: 12rpx 0;
+	}
+	
+	.cu-item {
+		display: inline-block;
+		padding: 10rpx 30rpx;
+		margin: 0 10rpx;
+		font-size: 28rpx;
+		color: #666;
+		position: relative;
+	}
+	
+	.cu-item.text-blue.cur {
+		color: #007AFF;
+		font-weight: bold;
+	}
+	
+	.cu-item.cur::after {
+		content: '';
+		position: absolute;
+		bottom: 0;
+		left: 50%;
+		transform: translateX(-50%);
+		width: 40rpx;
+		height: 4rpx;
+		background-color: #007AFF;
+		border-radius: 2rpx;
+	}
+	
+	/* 鍒楄〃瀹瑰櫒鏍峰紡 */
+	.production-container {
+		overflow-y: auto;
+		background-color: #f5f7fa;
+		padding: 10rpx;
+	}
+	
+	/* 闅愯棌婊氬姩鏉� */
+	.production-container::-webkit-scrollbar {
+		display: none;
+	}
+	
+	.container-inner {
+		padding: 16rpx;
+	}
+	
 	/* 鍒楄〃椤规牱寮� */
 	.list-item {
 		background-color: #fff;
 		border-radius: 16rpx;
 		padding: 20rpx;
-		margin: 10px;
 		margin-bottom: 20rpx;
-		box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
+		box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
+		transition: background-color 0.2s;
 	}
-
-	/* 椤瑰ご閮ㄦ牱寮� */
-	.item-header {
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		margin-bottom: 20rpx;
-		padding-bottom: 15rpx;
-		border-bottom: 1rpx solid #eee;
+	
+	.list-item:active {
+		background-color: #f5f7fa;
 	}
-
-	.part-code {
-		font-size: 32rpx;
-		font-weight: bold;
-		color: #333;
-	}
-
-	.warehouse-tag {
-		font-size: 24rpx;
-		color: #007AFF;
-		background-color: #e8f4ff;
-		padding: 6rpx 12rpx;
-		border-radius: 8rpx;
-	}
-
+	
 	/* 璇︾粏淇℃伅鏍峰紡 */
 	.item-details {
 		margin-bottom: 20rpx;
 	}
-
+	
 	.detail-row {
 		display: flex;
 		justify-content: space-between;
 		align-items: center;
 		margin-bottom: 15rpx;
 	}
-
+	
 	.detail-row:last-child {
 		margin-bottom: 0;
 	}
-
+	
 	.label {
 		font-size: 28rpx;
 		color: #666;
 		flex: 1;
 	}
-
+	
 	.value {
 		font-size: 28rpx;
 		color: #333;
 		flex: 1;
 		text-align: right;
 	}
-
-	.warning-text {
-		color: #ff6347;
-		font-weight: bold;
-	}
-
-	/* 鍙紪杈戞牱寮� */
-	.editable {
-		display: flex;
-		align-items: center;
-		justify-content: flex-end;
-	}
-
-	.edit-input {
-		border: 1rpx solid #007AFF;
-		border-radius: 8rpx;
-		padding: 10rpx;
-		width: 120rpx;
-		text-align: right;
-		font-size: 28rpx;
-	}
-
-	.edit-icon {
-		margin-left: 10rpx;
-		color: #007AFF;
-		font-size: 24rpx;
-	}
-
-	/* 鎿嶄綔鎸夐挳鏍峰紡 */
-	.item-actions {
-		display: flex;
-		justify-content: flex-end;
-		gap: 20rpx;
-	}
-
-	.action-btn {
-		padding: 12rpx 24rpx;
-		font-size: 13rpx;
-		border-radius: 8rpx;
-		border: none;
-		min-width: 60rpx;
-	}
-
-	.edit-btn {
-		background-color: #007AFF;
-		color: #fff;
-	}
-
-	.delete-btn {
-		background-color: #ff6347;
-		color: #fff;
-	}
-
+	
+	/* 鍒嗗壊绾挎牱寮� */
 	.divider {
 		display: flex;
 		align-items: center;
 		text-align: center;
 		color: gray;
-		/* 鏂囧瓧棰滆壊 */
 		margin: 20px 0;
-		/* 涓婁笅闂磋窛 */
 	}
-
+	
 	.divider::before,
 	.divider::after {
 		content: '';
 		flex: 1;
 		border-bottom: 1px solid gray;
-		/* 妯嚎棰滆壊 */
 		margin: 0 16px;
-		/* 妯嚎涓庢枃瀛椾箣闂寸殑闂磋窛 */
 	}
-
+	
 	.divider text {
 		white-space: nowrap;
-		/* 闃叉鏂囧瓧鎹㈣ */
 	}
-</style>
\ No newline at end of file
+	
+	/* 鏂囦欢鍒楄〃鏍峰紡 */
+	.file-list {
+		margin-top: 20rpx;
+	}
+	
+	.file-item {
+		display: flex;
+		align-items: center;
+		padding: 16rpx;
+		background-color: #fff;
+		border-radius: 8rpx;
+		margin-bottom: 10rpx;
+	}
+	
+	.file-name {
+		flex: 1;
+		font-size: 28rpx;
+		color: #333;
+		overflow: hidden;
+		text-overflow: ellipsis;
+		white-space: nowrap;
+	}
+	
+	/* 鍥剧墖棰勮鏍峰紡 */
+	.overlay {
+		position: fixed;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		background: rgba(0, 0, 0, 0.8);
+		z-index: 999;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+	
+	.modal {
+		position: relative;
+		width: 90%;
+		height: 80%;
+	}
+	
+	.close-btn {
+		position: absolute;
+		top: -40rpx;
+		right: 0;
+		font-size: 48rpx;
+		color: #fff;
+	}
+	
+	.preview-image {
+		width: 100%;
+		height: 100%;
+		border-radius: 16rpx;
+	}
+	
+	/* 鎸夐挳鏍峰紡 */
+	.is-hover {
+		opacity: 0.8;
+	}
+</style>

--
Gitblit v1.9.3