From 2c7a7d3eaf692fdfd04a30b42da2d94848cdc89a Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期三, 24 十二月 2025 16:25:50 +0800
Subject: [PATCH] 界面样式优化

---
 pages/index.vue |  349 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 283 insertions(+), 66 deletions(-)

diff --git a/pages/index.vue b/pages/index.vue
index 51880c1..46af944 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -41,12 +41,9 @@
 		<scroll-view class="content">
 			<view v-if="currentTab === 7" class="tab-content">
 				<view class="content">
-					<!--<view class="top-right">
-						<button class="refresh-btn" @click="refresh">鍒锋柊</button>
-					</view>-->
-					<view>
+					<!--<view>
 						<h4>涓�鍙版満鍙板彧鑳介�夋嫨涓�鏉″伐鍗曪紙澶氶�夐粯璁や负鏈�鍚庝竴鏉★級</h4>
-					</view>
+					</view>-->
 					<view class="section top-section">
 						<view class="form-row align-row">
 							<input v-model="machineName"
@@ -54,8 +51,10 @@
 								   type="text"
 								   class="machine-name-box" />
 							<view class="form-group">
-								<label class="order-label">绗竴姝ラ�夋嫨宸ュ崟:</label>
-								<button class="print-btn" @click="isShowTab">閫夋嫨宸ュ崟</button>
+								<label style="float: left;margin-top: 18px;font-size: 22px;">鐐瑰嚮鎸夐挳绛涢�夊伐鍗曠姸鎬�:</label>
+								<superwei-combox :candidates="engineeringNoMapList" placeholder="璇烽�夋嫨" v-model="engineeringNo"
+												 @select="onEngineeringNoChange" class="picker"
+												 style="padding: 7px 46px;width: 650px;margin-right: 20px;"></superwei-combox>
 							</view>
 							<view class="top-right">
 								<button class="refresh-btn" @click="refresh">鍒锋柊</button>
@@ -63,77 +62,75 @@
 						</view>
 					</view>
 
-					<!--          &lt;!&ndash; 涓儴锛氳繍琛岀姸鎬�-->
+					<!-- 宸ュ崟閫夋嫨琛ㄦ牸 -->
 					<view class="section card">
-						<uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁" @selection-change="selectionChange">
+						<uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁">
 							<uni-tr>
+								<uni-th align="center" class="th" style="width: 220px;">鎿嶄綔</uni-th>
 								<uni-th align="center" class="th" style="width: 100px;">宸ュ簭</uni-th>
-								<uni-th align="center" class="th" style="width: 170px;">宸ュ崟鍙�</uni-th>
+								<uni-th align="center" class="th" style="width: 200px;">宸ュ崟鍙�</uni-th>
 								<uni-th align="center" class="th" style="width: 150px;">浜у搧缂栫爜</uni-th>
-								<uni-th align="center" class="th" style="width: 190px;">浜у搧鍚嶇О</uni-th>
-								<uni-th align="center" class="th" style="width: 190px;">瑙勬牸</uni-th>
-								<uni-th align="center" class="th" style="width: 80px;">宸茬敓浜ф暟閲�</uni-th>
-								<uni-th align="center" class="th" style="width: 80px;">鏈敓浜ф暟閲�</uni-th>
-								<uni-th align="center" class="th" style="width: 80px;">娲惧伐鏁伴噺</uni-th>
-								<uni-th align="center" class="th" style="width: 80px;">宸ュ崟鏁伴噺</uni-th>
+								<uni-th align="center" class="th" style="width: 240px;">浜у搧鍚嶇О</uni-th>
+								<uni-th align="center" class="th" style="width: 200px;">瑙勬牸</uni-th>
+								<uni-th align="center" class="th" style="width: 150px;">宸茬敓浜ф暟閲�</uni-th>
+								<uni-th align="center" class="th" style="width: 150px;">鏈敓浜ф暟閲�</uni-th>
+								<uni-th align="center" class="th" style="width: 150px;">娲惧伐鏁伴噺</uni-th>
+								<uni-th align="center" class="th" style="width: 150px;">宸ュ崟鏁伴噺</uni-th>
 								<uni-th align="center" class="th" style="width: 90px;">宸ュ崟鐘舵��</uni-th>
 								<uni-th align="center" class="th" style="width: 90px;">鎶ュ伐浜�</uni-th>
-								<uni-th align="center" class="th" style="width: 90px;">閫夋嫨</uni-th>
 							</uni-tr>
-							<uni-tr v-for="(item, index) in isShowTableData" :key="index">
+							<uni-tr v-for="(item, index) in tableData" :key="index">
 								<uni-td align="center">
-									<input class="form-input" disabled="true" type="text" v-model="item.procName" /><!--宸ュ簭-->
-								</uni-td>
-								<uni-td align="center">
-									<div class="form-input">{{ item.daa001 }}</div><!--宸ュ崟鍙�-->
-								</uni-td>
-								<uni-td align="center">
-									<div class="form-input">{{ item.daa002 }}</div><!--浜у搧缂栫爜-->
-								</uni-td>
-								<uni-td align="center">
-									<div class="form-input">{{ item.daa003 }}</div><!--浜у搧鍚嶇О-->
-								</uni-td>
-								<uni-td align="center">
-									<div class="form-input">{{ item.daa004 }}</div><!--瑙勬牸-->
-								</uni-td>
-								<uni-td align="center">
-									<input class="form-input" disabled="true" type="text" v-model="item.daa011" /><!--宸茬敓浜ф暟閲�-->
-								</uni-td>
-								<uni-td align="center">
-									<input class="form-input" disabled="true" type="text" :value="(item.daa008 || 0) - (item.daa011 || 0)" /><!--鏈敓浜ф暟閲�-->
-								</uni-td>
-								<uni-td align="center">
-									<input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--娲惧伐鏁伴噺-->
-								</uni-td>
-								<uni-td align="center">
-		                        <input class="form-input" disabled="true" type="text" v-model="item.daa008" /><!--宸ュ崟鏁伴噺-->
-								</uni-td>
-								<uni-td align="center">
-									<input class="form-input" disabled="true" type="text" v-model="item.daa018" /><!--宸ュ崟鐘舵��-->
-								</uni-td>
-								<uni-td align="center">
-									<input class="form-input" disabled="true" type="text" v-model="item.staffName" /><!--鎶ュ伐浜�-->
-								</uni-td>
-								<uni-td>
-									<view class="uni-group">
-										<button class="select-btn" type="default" @click="toDetail(item)">
-											杞埌涓荤晫闈�
+									<view class="operation-btns">
+										<button 
+											:class="getStartBtnClass(item)" 
+											:disabled="isStartBtnDisabled(item)"
+											@click="handleStartWork(item)">
+											{{ getStartBtnText(item) }}
+										</button>
+										<button 
+											class="pause-btn" 
+											:disabled="isPauseBtnDisabled(item)"
+											@click="handlePauseWork(item)">
+											鏆傚仠
 										</button>
 									</view>
 								</uni-td>
+								<uni-td align="center">
+									<input class="form-input" disabled="true" type="text" v-model="item.procName" />
+								</uni-td>
+								<uni-td align="center">
+									<div class="form-input">{{ item.daa001 }}</div>
+								</uni-td>
+								<uni-td align="center">
+									<div class="form-input">{{ item.daa002 }}</div>
+								</uni-td>
+								<uni-td align="center">
+									<div class="form-input">{{ item.daa003 }}</div>
+								</uni-td>
+								<uni-td align="center">
+									<div class="form-input">{{ item.daa004 }}</div>
+								</uni-td>
+								<uni-td align="center">
+									<input class="form-input" disabled="true" type="text" v-model="item.daa011" />
+								</uni-td>
+								<uni-td align="center">
+									<input class="form-input" disabled="true" type="text" :value="(item.daa008 || 0) - (item.daa011 || 0)" />
+								</uni-td>
+								<uni-td align="center">
+									<input class="form-input" disabled="true" type="text" v-model="item.daa008" />
+								</uni-td>
+								<uni-td align="center">
+									<input class="form-input" disabled="true" type="text" v-model="item.daa008" />
+								</uni-td>
+								<uni-td align="center">
+									<input class="form-input" disabled="true" type="text" v-model="item.daa018" />
+								</uni-td>
+								<uni-td align="center">
+									<input class="form-input" disabled="true" type="text" v-model="item.staffName" />
+								</uni-td>
 							</uni-tr>
 						</uni-table>
-					</view>
-
-					<view class="bottom-section">
-						<button class="cancel-btn" @click="cancel">娓呯┖閲嶉��</button>
-					</view>
-
-					<view>
-						<!--<text style="color: red;">
-						璇存槑:鍙兘鍚屾椂寮�宸ヤ竴涓伐鍗曘�傞�夋嫨瀹屾垚锛岀偣鍑讳繚瀛橀�夋嫨銆傜郴缁熶繚鐣欓�変腑鐨勫伐鍗曘��
-						濡傛灉瑕侀噸閫夛紝鐐瑰嚮娓呯┖閲嶉�夊姛鑳姐��
-					</text>-->
 					</view>
 				</view>
 			</view>
@@ -334,6 +331,10 @@
 				// 鑷姩璺宠浆鐩稿叧
 				autoRedirectTimer: null,
 				autoRedirectTime: 5 * 60 * 1000, // 5鍒嗛挓
+				
+				// 宸ュ崟閫夋嫨椤甸潰瀹氭椂鍒锋柊
+				autoRefreshTimer: null,
+				autoRefreshInterval: 60 * 1000, // 1鍒嗛挓
 			};
 		},
 		created() {
@@ -360,6 +361,23 @@
 		onShow() {
 			this.refresh();
 			this.resetAutoRedirectTimer();
+			// 椤甸潰鏄剧ず鏃跺姞杞藉伐鍗曞垪琛�
+			if (this.currentTab === 7) {
+				// 榛樿閫変腑鈥滃緟寮�宸ャ�佹湭寮�宸ャ�佹殏鍋溾��
+				this.engineeringNo = '寰呭紑宸ャ�佹湭寮�宸ャ�佹殏鍋�';
+				this.engineeringNoMapList = [
+					'寰呭紑宸ャ�佹湭寮�宸ャ�佹殏鍋�',
+					'寮�宸�',
+					'瀹屽伐'
+				];
+				this.getWomdaaByStatus();
+				// 鍚姩瀹氭椂鍒锋柊
+				this.startAutoRefresh();
+			}
+		},
+		onHide() {
+			// 椤甸潰闅愯棌鏃舵竻闄ゅ畾鏃跺櫒
+			this.stopAutoRefresh();
 		},
 		methods: {
             onRowClick(index) {
@@ -458,6 +476,17 @@
 				this.getMachineList();
 				this.getPrintInfo();
 				this.getWomdaaIsShow();
+				// 濡傛灉褰撳墠鍦ㄥ伐鍗曢�夋嫨椤甸潰锛岄粯璁ゅ姞杞藉伐鍗曞垪琛�
+				if (this.currentTab === 7) {
+					// 榛樿閫変腑鈥滃緟寮�宸ャ�佹湭寮�宸ャ�佹殏鍋溾��
+					this.engineeringNo = '寰呭紑宸ャ�佹湭寮�宸ャ�佹殏鍋�';
+					this.engineeringNoMapList = [
+						'寰呭紑宸ャ�佹湭寮�宸ャ�佹殏鍋�',
+						'寮�宸�',
+						'瀹屽伐'
+					];
+					this.getWomdaaByStatus();
+				}
 			},
 			getPrintInfo() {
 				var mac = "";
@@ -659,6 +688,11 @@
 				// 褰撳垏鎹㈠埌宸ュ崟閫夋嫨椤甸潰(index === 7)鏃惰嚜鍔ㄥ埛鏂�
 				if (index === 7) {
 					this.refresh();
+					// 鍚姩瀹氭椂鍒锋柊
+					this.startAutoRefresh();
+				} else {
+					// 绂诲紑宸ュ崟閫夋嫨椤甸潰鏃跺仠姝㈠畾鏃跺埛鏂�
+					this.stopAutoRefresh();
 				}
 				// 閲嶇疆鑷姩璺宠浆璁℃椂鍣�
 				this.resetAutoRedirectTimer();
@@ -791,6 +825,120 @@
                 this.productCode = item.daa002; // 浜у搧缂栫爜
                 this.productSpec = item.daa004; // 浜у搧瑙勬牸
 				this.currentTab = 0;
+			},
+			
+			// 鑾峰彇寮�宸ユ寜閽殑class
+			getStartBtnClass(item) {
+				const isSelected = this.isShowTableData.length > 0 && this.isShowTableData[0].daa001 === item.daa001;
+				if (isSelected) {
+					return 'start-btn start-btn-selected'; // 褰撳墠閫変腑鐨勫伐鍗曪紝缁胯壊
+				}
+				return 'start-btn';
+			},
+			
+			// 鍒ゆ柇寮�宸ユ寜閽槸鍚︾鐢�
+			isStartBtnDisabled(item) {
+				// 濡傛灉宸茬粡鏈夐�変腑鐨勫伐鍗曪紝涓斿綋鍓嶉」涓嶆槸閫変腑鐨勫伐鍗曪紝鍒欑鐢�
+				if (this.isShowTableData.length > 0 && this.isShowTableData[0].daa001 !== item.daa001) {
+					return true;
+				}
+				return false;
+			},
+			
+			// 鍒ゆ柇鏆傚仠鎸夐挳鏄惁绂佺敤
+			isPauseBtnDisabled(item) {
+				// 濡傛灉宸茬粡鏈夐�変腑鐨勫伐鍗曪紝涓斿綋鍓嶉」涓嶆槸閫変腑鐨勫伐鍗曪紝鍒欑鐢�
+				if (this.isShowTableData.length > 0 && this.isShowTableData[0].daa001 !== item.daa001) {
+					return true;
+				}
+				// 濡傛灉杩樻病鏈夐�変腑浠讳綍宸ュ崟锛屼篃绂佺敤鏆傚仠鎸夐挳
+				if (this.isShowTableData.length === 0) {
+					return true;
+				}
+				return false;
+			},
+			
+			// 鑾峰彇寮�宸ユ寜閽枃鏈�
+			getStartBtnText(item) {
+				const isSelected = this.isShowTableData.length > 0 && this.isShowTableData[0].daa001 === item.daa001;
+				if (isSelected) {
+					return '杞烦鍒颁富鐣岄潰';
+				}
+				return '寮�宸�';
+			},
+			
+			// 澶勭悊寮�宸�
+			async handleStartWork(item) {
+				// 鍒ゆ柇褰撳墠宸ュ崟鏄惁宸查�変腑
+				const isSelected = this.isShowTableData.length > 0 && this.isShowTableData[0].daa001 === item.daa001;
+				
+				if (isSelected) {
+					// 濡傛灉宸查�変腑锛屽垯璺宠浆鍒颁富鐣岄潰
+					this.toDetail(item);
+				} else {
+					// 濡傛灉鏈�変腑锛屽垯鎵ц寮�宸ラ�昏緫
+					let orderSelect = [{
+						orderId: item.id,
+						orderNo: item.daa001
+					}];
+					
+					let editDate = this.formatDate(new Date());
+					
+					this.$post({
+						url: "/MesOrderSelect/Add",
+						data: {
+							machineNo: this.machineNo,
+							editDate: editDate,
+							item: orderSelect
+						}
+					}).then(res => {
+						if (res.data.tbBillList) {
+							this.getWomdaaIsShow();
+							uni.showToast({
+								title: '寮�宸ユ垚鍔�',
+								icon: 'success',
+								duration: 2000
+							});
+						}
+					});
+				}
+			},
+			
+			// 澶勭悊鏆傚仠锛堜娇鐢ㄦ竻绌洪噸閫夌殑閫昏緫锛�
+			async handlePauseWork(item) {
+				if (!this.machineNo) {
+					return;
+				}
+				
+				// 鐩存帴鐢� flag 鍒ゆ柇
+				if (this.hasBindedCutterFlag) {
+					uni.showToast({
+						title: '褰撳墠宸ュ崟宸茬粦瀹氬垁鍏凤紝涓嶈兘鏆傚仠',
+						icon: 'error',
+						duration: 2000
+					});
+					return;
+				}
+				
+				let editDate = this.formatDate(new Date());
+				this.selectedIndexs = [];
+				
+				this.$post({
+					url: "/MesOrderSelect/Remove",
+					data: {
+						machineNo: this.machineNo,
+						editDate: editDate
+					},
+				}).then(res => {
+					if (res.data.tbBillList > 0) {
+						this.isShowTableData = [];
+						uni.showToast({
+							title: '宸ュ崟宸叉殏鍋�',
+							icon: 'success',
+							duration: 2000
+						});
+					}
+				});
 			}
 		},
 		computed: {}
@@ -962,7 +1110,7 @@
 
 	.top-right {
 		position: absolute;
-		top: 10px;
+		top: -15px;
 		right: 50px;
 		z-index: 1000;
 	}
@@ -1089,6 +1237,75 @@
 		background-color: #00A2E9;
 		color: white;
 	}
+	
+	/* 鎿嶄綔鎸夐挳鍖哄煙 */
+	.operation-btns {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		gap: 10px;
+	}
+	
+	/* 寮�宸ユ寜閽� */
+	.start-btn {
+		padding: 8px 20px;
+		background-color: #00A2E9;
+		color: white;
+		font-size: 18px;
+		font-weight: 500;
+		border: none;
+		border-radius: 4px;
+		cursor: pointer;
+		transition: all 0.3s;
+		box-shadow: 0 2px 4px rgba(0, 162, 233, 0.2);
+	}
+	
+	.start-btn:hover:not(:disabled) {
+		background-color: #0092d6;
+		box-shadow: 0 4px 8px rgba(0, 162, 233, 0.3);
+		transform: translateY(-1px);
+	}
+	
+	/* 寮�宸ユ寜閽� - 閫変腑鐘舵�侊紙缁胯壊锛� */
+	.start-btn-selected {
+		background-color: #52c41a !important;
+		box-shadow: 0 2px 4px rgba(82, 196, 26, 0.3) !important;
+	}
+	
+	.start-btn-selected:hover:not(:disabled) {
+		background-color: #49b015 !important;
+		box-shadow: 0 4px 8px rgba(82, 196, 26, 0.4) !important;
+	}
+	
+	/* 鏆傚仠鎸夐挳 */
+	.pause-btn {
+		padding: 8px 20px;
+		background-color: #ff4d4f;
+		color: white;
+		font-size: 18px;
+		font-weight: 500;
+		border: none;
+		border-radius: 4px;
+		cursor: pointer;
+		transition: all 0.3s;
+		box-shadow: 0 2px 4px rgba(255, 77, 79, 0.2);
+	}
+	
+	.pause-btn:hover:not(:disabled) {
+		background-color: #ff3336;
+		box-shadow: 0 4px 8px rgba(255, 77, 79, 0.3);
+		transform: translateY(-1px);
+	}
+	
+	/* 鎸夐挳绂佺敤鐘舵�� */
+	.start-btn:disabled,
+	.pause-btn:disabled {
+		background-color: #d9d9d9 !important;
+		color: #999 !important;
+		cursor: not-allowed !important;
+		box-shadow: none !important;
+		opacity: 0.6;
+	}
 
     .overlay {
         position: fixed;

--
Gitblit v1.9.3