From db9da55085de9447e2cc3783ccf7b3ec01f82f70 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期三, 03 十二月 2025 16:14:45 +0800
Subject: [PATCH] 第一行实时计算寿命比%

---
 components/machine.vue |  554 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 292 insertions(+), 262 deletions(-)

diff --git a/components/machine.vue b/components/machine.vue
index bd574d7..6095314 100644
--- a/components/machine.vue
+++ b/components/machine.vue
@@ -9,28 +9,33 @@
 		<!-- 涓棿鐘舵�侀儴鍒嗭紝涓婁笅缁撴瀯锛屽寘鍚皟鏈烘祦绋嬬殑涓変釜姝ラ -->
 		<view class="middle-section">
 			<view class="item" style="height: 100px;">
-				<h4>璇存槑:鍏堣皟鏈�,鍐嶉�佹</h4>
+				<h4>
+					<!--璇存槑:
+					1.鐐瑰嚮'璋冩満寮�濮�'銆�'閫佹鍛煎彨'鍚庡啀鐐瑰嚮'淇濆瓨鐢熸晥'<br />
+					2.涓荤晫闈㈤妫�鍚堟牸鍚庡啀鐐瑰嚮'淇濆瓨鐢熸晥'<br />
+					3.棣栨涓嶅悎鏍煎啀鐐瑰嚮'淇濆瓨鐢熸晥'浼氭竻绌洪�佹鏃堕棿<br />
+					4.娓呯┖閫佹鏃堕棿鍚庣偣鍑烩�樻楠屼笉鍚堟牸閲嶆柊閫佹鍛煎彨鈥欏啀淇濆瓨-->
+				</h4>
 			</view>
 			<view class="item">
 				<!-- 璋冩満寮�濮嬫寜閽紝maStartTime鏈夊�兼椂绂佺敤 -->
-				<button :class="startLocked ? 'btn-disabled' : 'btn-blue'"
-						:disabled="startLocked"
-						@click="handleMaStartTime">
-					璋冩満寮�濮�
-				</button>
+                <button :class="maStartTime ? 'btn-disabled' : 'btn-blue'"
+                        :disabled="!!maStartTime"
+                        @click="handleMaStartTime">
+                    璋冩満寮�濮�(=涓婂垁瀹屾垚)
+                </button>
 				<!-- 鏄剧ず璋冩満寮�濮嬫椂闂� -->
-				<input class="txt-inp" v-model="maStartTime" placeholder="鐐瑰嚮鎸夐挳甯﹀嚭鏃堕棿" disabled="true" />
+				<input class="txt-inp" v-model="maStartTime" placeholder="鐐瑰嚮鎸夐挳甯﹀嚭璋冩満鏃堕棿" disabled="true" />
 			</view>
 			<view class="item">
 				<!-- 閫佹鍛煎彨鎸夐挳锛宮aShoutTime鏈夊�兼椂绂佺敤 -->
-				<!-- 鏂板閫昏緫: 鍙湁宸插~鍐欒皟鏈哄紑濮嬫椂闂翠笖閫佹鍛煎彨鏃堕棿涓虹┖鏃舵墠鍏佽鐐瑰嚮 -->
-				<button :class="canShout ? 'btn-blue' : 'btn-disabled'"
-						:disabled="!canShout"
+				<button :class="maShoutTime ? 'btn-disabled' : 'btn-blue'"
+						:disabled="!!maShoutTime"
 						@click="handleMaShoutTime">
 					閫佹鍛煎彨
 				</button>
 				<!-- 鏄剧ず閫佹鍛煎彨鏃堕棿 -->
-				<input class="txt-inp" v-model="maShoutTime" placeholder="鐐瑰嚮鎸夐挳甯﹀嚭鏃堕棿" disabled="true" />
+				<input class="txt-inp" v-model="maShoutTime" placeholder="鐐瑰嚮鎸夐挳甯﹀嚭閫佹鏃堕棿" disabled="true" />
 			</view>
 			<!--<view class="item">-->
 			<!-- 璋冩満瀹屾垚鎸夐挳锛宮aEndTime鏈夊�兼椂绂佺敤 -->
@@ -49,21 +54,22 @@
 				<input class="txt-inp" v-model="maEndTime" placeholder="棣栨棣栨纭閫氳繃鍐欏叆" disabled="true" />
 			</view>
 
-			<!-- 鏂板: 棣栨缁撴灉涓庢彁绀哄尯鍩燂紙涓嶅垹闄ゅ師鏈夋敞閲婏紝浠呮柊澧烇級 -->
-			<view class="item" style="flex-direction: column;">
-				<label>褰撳墠棣栨缁撴灉: {{ latestFirstResult || '鏈垽瀹�' }}</label>
-				<label v-if="statusForm.remark" style="color:#00A2E9">{{ statusForm.remark }}</label>
-				<label v-if="showForceRebuild" style="color:#d9534f">棣栨涓嶅悎鏍硷紝绯荤粺宸叉寜鍚庣绛栫暐鍙兘鑷姩閲嶅缓锛屾柊鍗曞緟妫�銆�</label>
+			<!--鍚敤璇ュ姛鑳�-->
+			<!--鏂板锛氭楠屼笉鍚堟牸閫佹鍛煎彨 鎸夐挳锛堝姛鑳戒笌閫佹鍛煎彨涓�鏍凤紝浠呭湪鐗瑰畾 remark 涓嬪彲浠ョ偣鍑伙級-->
+			<view class="item">
+				<!--妫�楠屼笉鍚堟牸閫佹鍛煎彨鎸夐挳锛屼粎鍦� remark 涓烘寚瀹氭枃鏈� 涓� 褰撳墠鏃犻�佹鏃堕棿 鏃跺彲鐐瑰嚮-->
+				<button :class="canFailResend ? 'btn-blue' : 'btn-disabled'"
+						:disabled="!canFailResend"
+						@click="ReHandleMaShoutTime">
+					妫�楠屼笉鍚堟牸閲嶆柊閫佹鍛煎彨
+				</button>
+				<!--浠嶅鐢ㄥ悓涓�閫佹鏃堕棿瀛楁锛岄伩鍏嶉噸澶嶇姸鎬�-->
+				<input class="txt-inp"
+					   v-model="maShoutTime"
+					   placeholder="棣栨涓嶅悎鏍奸噸鏂板懠鍙椂鐐瑰嚮鎸夐挳甯﹀嚭閫佹鏃堕棿"
+					   disabled="true" />
 			</view>
 
-			<!-- 鏂板: 寮哄埗閲嶅缓鎸夐挳锛堝彲閫夛紝浼� ForceRebuild=true锛� -->
-			<view class="item" v-if="showForceRebuild">
-				<button :class="forceRebuilding ? 'btn-disabled':'btn-blue'"
-						:disabled="forceRebuilding"
-						@click="handleForceRebuild">
-					{{ forceRebuilding ? '閲嶅缓涓�...' : '寮哄埗閲嶅缓棣栨鍗�' }}
-				</button>
-			</view>
 		</view>
 
 		<!-- 搴曢儴淇濆瓨/鍙栨秷鎸夐挳 -->
@@ -90,26 +96,17 @@
 				maShoutTime: '',   // 閫佹鍛煎彨鏃堕棿
 				maStartTime: '',   // 璋冩満寮�濮嬫椂闂�
 				maEndTime: '',     // 璋冩満瀹屾垚鏃堕棿
-				statusForm: {},    // 宸ュ崟鐘舵�佽〃鍗曟暟鎹�
+				statusForm: {},    // 宸ュ崟鐘舵�佽〃鍗曟暟鎹紙鍖呭惈 remark 瀛楁锛�
 				flag: -1,          // 鎿嶄綔鏍囪
-				// 鏂板: 璁板綍鍘熷鏁版嵁搴撴椂闂寸敤浜庡姣旈伩鍏嶆棤鍙樺寲閲嶅鎻愪氦
-				origMaStartTime: '',
-				origMaShoutTime: '',
-				origMaEndTime: '',
-				// 鏂板: 鏈�鏂伴妫�缁撴灉锛堝悗绔渶鍦� FindByOrderNo 杩斿洖锛�
-				latestFirstResult: '',
-				// 鏂板: 寮哄埗閲嶅缓鐘舵��
-				forceRebuilding: false
+				failedRemark: '棣栨涓嶅悎鏍硷紝閫佹鏃堕棿宸叉竻绌猴紝璇烽噸鏂伴�佹鍛煎彨鐢熸垚鏂扮殑棣栨鍗�' // 棣栨涓嶅悎鏍煎悗鐢卞悗绔繑鍥炵殑鎻愮ず
 			}
 		},
 		computed: {
-			// 鍙湁璋冩満寮�濮嬫椂闂村凡濉啓涓旈�佹鍛煎彨鏃堕棿涓虹┖鏃跺厑璁稿懠鍙�
-			canShout() {
-				return !!this.maStartTime && !this.maShoutTime;
-			},
-			// 鏂板: 鏄惁鏄剧ず寮哄埗閲嶅缓鎸夐挳
-			showForceRebuild() {
-				return this.latestFirstResult === '涓嶅悎鏍�';
+			// 婊¤冻棣栨涓嶅悎鏍奸噸鏂板懠鍙潯浠朵笖褰撳墠灏氭湭閲嶆柊鐢熸垚閫佹鏃堕棿 => 鎸夐挳鍙敤
+			canFailResend() {
+				return this.statusForm &&
+					this.statusForm.remark === this.failedRemark &&
+					!this.maShoutTime;
 			}
 		},
 		created() {
@@ -125,29 +122,24 @@
 				if (!this.maStartTime) {
 					this.setMaStartTime();
 					this.flag = -1; // 璋冩満寮�濮嬫寜閽寜涓嬫椂鍥炰紶鐨刦lag=-1
-					// 鏂板: 璋冩満寮�濮嬪悗绔嬪嵆鎻愪氦鍐欏叆锛堜粎褰撲笌鍘熷�间笉鍚岋級
-					this.autoSubmitIfChanged();
 				}
 			},
-			// 澶勭悊閫佹鍛煎彨鎸夐挳鐐瑰嚮
+			// 澶勭悊閫佹鍛煎彨鎸夐挳鐐瑰嚮锛堜笉鍚妫�涓嶅悎鏍奸噸鍛煎彨锛�
 			handleMaShoutTime() {
-				// 澧炲姞鍓嶇疆鏍¢獙锛氬繀椤诲厛鏈夎皟鏈哄紑濮嬫椂闂�
-				if (!this.maStartTime) {
-					this.$showMessage("璇峰厛鐐瑰嚮璋冩満寮�濮�");
-					return;
-				}
 				if (!this.maShoutTime) {
 					this.stateCheck(1);
-					// 鏂板: 閫佹鍛煎彨鐢熸垚鏃堕棿鍚庣珛鍗虫彁浜わ紙涓嶅悎鏍间細瑙﹀彂鍚庣閲嶅缓锛�
-					this.autoSubmitIfChanged();
+				}
+			},
+			// 棣栨涓嶅悎鏍奸噸鍛煎彨锛歠lag = 2
+			ReHandleMaShoutTime() {
+				if (!this.maShoutTime && this.canFailResend) {
+					this.stateCheck(2);
 				}
 			},
 			// 澶勭悊璋冩満瀹屾垚鎸夐挳鐐瑰嚮
 			handleMaEndTime() {
 				if (!this.maEndTime) {
 					this.setMaEndTime();
-					// 鏂板: 瀹屾垚鏃堕棿鍐欏叆鍚庢彁浜�
-					this.autoSubmitIfChanged();
 				}
 			},
 			// 璁剧疆璋冩満寮�濮嬫椂闂翠负褰撳墠鏃堕棿
@@ -159,136 +151,95 @@
 				console.log('璋冩満瀹屾垚鎸夐挳琚偣鍑�');
 				this.maEndTime = this.$getDate('yyyy-mm-dd hh24:mi:ss');
 			},
-			// 鍒锋柊宸ュ崟鏁版嵁
+			// 鍒锋柊宸ュ崟鏁版嵁锛堝眬閮ㄥ埛鏂板綋鍓嶇粍浠讹級
 			refresh() {
 				this.findByOrderId();
 			},
-			// 鍏ㄧ晫闈㈠埛鏂帮細娓呯┖鏈湴鐘舵�佸悗閲嶆柊鎷夊彇锛堜笉鍒犻櫎浠讳綍鍘熸湁娉ㄩ噴锛�
-			fullReload() {
-				// 娓呯┖褰撳墠鏄剧ず鏁版嵁锛岄伩鍏嶆棫鏁版嵁鐭殏闂儊
-				this.maShoutTime = '';
-				this.maStartTime = '';
-				this.maEndTime = '';
-				this.statusForm = {};
-				this.flag = -1;
-				// 涓嬩竴甯ч噸鏂拌幏鍙�
-				this.$nextTick(() => {
-					this.findByOrderId();
-				});
-			},
 			// 淇濆瓨骞剁敓鏁堬紝灏嗘椂闂寸瓑淇℃伅鎻愪氦鍒板悗绔�
-			save() {
-				if (!this.statusForm.id) {
-					this.$showMessage("id涓虹┖锛屼笉鍏佽鎺ㄩ��");
-					return;
-				}
-				// 鏂板: 鑻ユ棤鍙樺寲鍒欎笉璋冪敤鍚庣锛岄伩鍏嶉噸澶嶉噸寤�
-				if (!this.hasTimeChanged()) {
-					this.$showMessage("鏃犳椂闂村彉鍖栵紝鏈彁浜�");
-					return;
-				}
-				this.postChangeMachineTime().then(ok => {
-					if (ok) {
-						this.$showMessage("淇濆瓨鎴愬姛");
-						this.syncOriginalTimes();
-						this.findByOrderId(); // 鍒锋柊鏄剧ず
-					} else {
-						this.$showMessage("鍛煎彨澶辫触");
-						this.cancel();
-					}
-				});
-			},
+			// 鍙樻洿锛氳繑鍥� Promise锛涙垚鍔熷悗灞�閮ㄥ埛鏂帮紙璋冪敤 findByOrderId锛夎�屼笉鏄暣椤� reload
+            save() {
+                if (!this.statusForm.id) {
+                    this.$showMessage("id涓虹┖锛屼笉鍏佽鎺ㄩ��");
+                    return Promise.resolve();
+                }
+                return this.$post({
+                    url: "/MesOrderSta/ChangeMachineTime",
+                    data: {
+                        maStartTime: this.maStartTime,
+                        maShoutTime: this.maShoutTime,
+                        maEndTime: this.maEndTime,
+                        id: this.statusForm.id,
+                        orderId: this.orderId,
+                        machineNo: this.machineNo,
+                        flag: this.flag
+                    }
+                }).then(res => {
+                    if (res && res.data && res.data.tbBillList) {
+                        this.$showMessage("鍛煎彨鎴愬姛");
+
+                        // 鍏抽敭淇敼锛氭竻绌� flag 鐨勫��
+                        this.flag = -1; // 鎴栬�呮牴鎹笟鍔¢渶姹傝缃负鍏朵粬鍒濆鍊�
+
+                        // 鏂规1锛氫娇鐢╱ni-app鐨勯〉闈㈠埛鏂版柟娉�
+                        // 鏂规硶1锛氳Е鍙戜笅鎷夊埛鏂帮紙濡傛灉椤甸潰鏀寔锛�
+                        if (uni.startPullDownRefresh) {
+                            uni.startPullDownRefresh();
+                            // 2绉掑悗鍋滄鍒锋柊
+                            setTimeout(() => {
+                                uni.stopPullDownRefresh();
+                            }, 2000);
+                        }
+
+                        // 鏂规硶2锛氶噸鏂拌皟鐢ㄩ〉闈㈢殑onLoad鏂规硶锛堟帹鑽愶級
+                        const pages = getCurrentPages();
+                        const currentPage = pages[pages.length - 1];
+                        if (currentPage && currentPage.onLoad) {
+                            // 淇濆瓨褰撳墠椤甸潰鍙傛暟
+                            const pageOptions = currentPage.options || {};
+                            // 閲嶆柊鍔犺浇椤甸潰鏁版嵁
+                            currentPage.onLoad(pageOptions);
+                        }
+
+                        // 鏂规硶3锛氬悓鏃跺埛鏂扮粍浠舵暟鎹�
+                        this.findByOrderId();
+
+                    } else {
+                        this.$showMessage("鍛煎彨澶辫触");
+                        this.cancel();
+                    }
+                    return res;
+                }).catch(err => {
+                    console.error('淇濆瓨澶辫触锛�', err);
+                    this.$showMessage("淇濆瓨鏃跺彂鐢熼敊璇�");
+                    throw err;
+                });
+            },
 			// 鍙栨秷鎿嶄綔锛屾仮澶嶄负涓婃淇濆瓨鐨勬暟鎹�
 			cancel() {
-				this.maShoutTime = this.origMaShoutTime;
-				this.maStartTime = this.origMaStartTime;
-				this.maEndTime = this.origMaEndTime;
+				this.maShoutTime = this.statusForm.maShoutTime;
+				this.maStartTime = this.statusForm.maStartTime;
+				this.maEndTime = this.statusForm.maEndTime;
 			},
 			// 閫佹鍛煎彨锛宨tem=1鏃惰缃�佹鍛煎彨鏃堕棿
+			// 閫佹鍛煎彨涓庨噸鏂伴�佹鍛煎彨浠ュ強璋冩満寮�濮嬪搴旂殑 flag 鍊�
+			// flag 璇存槑锛�-1 = 璋冩満寮�濮嬶紱1 = 棣栨閫佹鍛煎彨锛�2 = 涓嶅悎鏍奸噸鏂伴�佹鍛煎彨
 			stateCheck(item) {
 				switch (item) {
 					case 0:
 						break;
-					case 1:
+					case 1:// 棣栨閫佹鍛煎彨
 						this.maShoutTime = this.$getDate('yyyy-mm-dd hh24:mi:ss');
-						this.flag = -1; // 閫佹鍛煎彨鏈夊�煎悗锛宖lag濮嬬粓涓�-1
+						//this.flag = -1; // 閫佹鍛煎彨鏈夊�煎悗锛宖lag濮嬬粓涓�-1
 						break;
-					case 2:
+					case 2:// 妫�楠屼笉鍚堟牸閲嶆柊閫佹鍛煎彨
+						this.maShoutTime = this.$getDate('yyyy-mm-dd hh24:mi:ss');
+						//this.flag = -1; // 閫佹鍛煎彨鏈夊�煎悗锛宖lag濮嬬粓涓�-1
+						break;
+					default:
+						// 鍏跺畠鍊间笉澶勭悊
 						break;
 				}
 				this.flag = item;
-			},
-			// 鏂板: 鍒ゆ柇鏃堕棿鏄惁鏈夊彉鍖�
-			hasTimeChanged() {
-				return this.maStartTime !== this.origMaStartTime ||
-					this.maShoutTime !== this.origMaShoutTime ||
-					this.maEndTime !== this.origMaEndTime;
-			},
-			// 鏂板: 鑷姩鎻愪氦锛堟寜閽敓鎴愭椂闂村悗璋冪敤锛変粎鍦ㄦ湁鍙樺寲鏃�
-			autoSubmitIfChanged() {
-				if (!this.statusForm.id) return;
-				if (!this.hasTimeChanged()) return;
-				this.postChangeMachineTime().then(ok => {
-					if (ok) {
-						this.$showMessage("鎻愪氦鎴愬姛");
-						this.syncOriginalTimes();
-						this.findByOrderId();
-					}
-				});
-			},
-			// 鏂板: 鍚屾鍘熷鏃堕棿蹇収
-			syncOriginalTimes() {
-				this.origMaStartTime = this.maStartTime;
-				this.origMaShoutTime = this.maShoutTime;
-				this.origMaEndTime = this.maEndTime;
-			},
-			// 鏂板: 寮哄埗閲嶅缓瑙﹀彂
-			handleForceRebuild() {
-				if (!this.statusForm.id) {
-					this.$showMessage("id涓虹┖锛屼笉鍏佽閲嶅缓");
-					return;
-				}
-				this.forceRebuilding = true;
-				// 寮哄埗閲嶅缓鍓嶅彲浠ラ噸鏂扮敓鎴愰�佹鏃堕棿锛堢‘淇濋妫�鍗曟柊蹇収锛�
-				this.maShoutTime = this.$getDate('yyyy-mm-dd hh24:mi:ss');
-				this.postChangeMachineTime(true).then(ok => {
-					this.forceRebuilding = false;
-					if (ok) {
-						this.$showMessage("寮哄埗閲嶅缓鎴愬姛");
-						this.syncOriginalTimes();
-						this.findByOrderId();
-					} else {
-						this.$showMessage("寮哄埗閲嶅缓澶辫触");
-					}
-				});
-			},
-			// 鏂板: 灏佽鍚庣璇锋眰锛堟敮鎸� ForceRebuild锛�
-			postChangeMachineTime(forceRebuild = false) {
-				return this.$post({
-					url: "/MesOrderSta/ChangeMachineTime",
-					data: {
-						maStartTime: this.maStartTime,
-						maShoutTime: this.maShoutTime,
-						maEndTime: this.maEndTime,
-						id: this.statusForm.id,
-						orderId: this.orderId,
-						orderNo: this.orderNo,
-						machineNo: this.machineNo,
-						flag: this.flag,
-						// 鍙�夋墿灞曞瓧娈碉紙鍚庣鏂规硶涓姩鎬佹帴鏀讹級
-						//ForceRebuild: forceRebuild
-					}
-				}).then(res => {
-					// 鍚庣杩斿洖缁撴瀯鍋囪锛歿 success:true/false, tbBillList: {...}, latestFirstResult:'鍚堟牸/涓嶅悎鏍�' }
-					if (res.data) {
-						if (res.data.tbBillList) {
-							this.statusForm = res.data.tbBillList;
-							this.latestFirstResult = res.data.latestFirstResult || '';
-						}
-						return res.data.success !== false; // 榛樿鎴愬姛
-					}
-					return false;
-				}).catch(() => false);
 			},
 			// 鏍规嵁宸ュ崟鍙�/ID鑾峰彇宸ュ崟鐘舵�佹暟鎹�
 			findByOrderId() {
@@ -303,120 +254,199 @@
 					this.maShoutTime = res.data.tbBillList.maShoutTime;
 					this.maStartTime = res.data.tbBillList.maStartTime;
 					this.maEndTime = res.data.tbBillList.maEndTime;
-					// 鏂板: 鍚屾棣栨缁撴灉銆佸師濮嬫椂闂村揩鐓�
-					this.latestFirstResult = res.data.tbBillList.latestFirstResult || res.data.latestFirstResult || '';
-					this.syncOriginalTimes();
 				})
 			}
-		}
+		},
+        mounted() {
+                // 椤甸潰鍔犺浇鏃讹紝鍚姩瀹氭椂鍣紝姣忛殧30绉掕嚜鍔ㄤ繚瀛�
+                this.autoSaveTimer = setInterval(() => {
+                    // 1. 璋冩満瀹屾垚鏃堕棿鏈変簡灏变笉鑷姩淇濆瓨
+                    if (this.maEndTime) {
+                        return;
+                    }
+                    // 2. 閫佹鏃堕棿涓虹┖涔熶笉鑷姩淇濆瓨
+                    if (!this.maShoutTime) {
+                        return;
+                    }
+                    this.save(); // 婊¤冻鏉′欢鎵嶈嚜鍔ㄤ繚瀛�
+                }, 1 * 30 * 1000); // 30绉�
+            },
+		beforeDestroy() {
+			// 椤甸潰鍗歌浇鏃舵竻鐞嗗畾鏃跺櫒
+			clearInterval(this.autoSaveTimer);
+		},
 	};
 </script>
 
 <style scoped>
-	/* 椤甸潰鏁翠綋甯冨眬 */
-	.page {
-		padding: 2vh;
-		display: flex;
-		flex-direction: column;
-		justify-content: space-between;
-		box-sizing: border-box;
-		height: 100%;
-	}
+    /* 椤甸潰鏁翠綋甯冨眬 */
+    .page {
+        padding: 8px;
+        display: flex;
+        flex-direction: column;
+        justify-content: space-between;
+        box-sizing: border-box;
+        height: 100%;
+    }
 
-	/* 鍙充笂瑙掑埛鏂版寜閽� */
-	.top-right {
-		position: absolute;
-		top: 10px;
-		right: 50px;
-		z-index: 1000;
-	}
+    /* 鍙充笂瑙掑埛鏂版寜閽� */
+    .top-right {
+        position: absolute;
+        top: 8px;
+        right: 40px;
+        width: 200px;
+        z-index: 1000;
+    }
 
-	.refresh-btn {
-		padding: 10px;
-		background-color: #00A2E9;
-		color: white;
-		border: none;
-		font-size: 1.5vw;
-		border-radius: 5px;
-	}
+    .refresh-btn {
+        padding: 8px 16px;
+        background-color: #00A2E9;
+        color: white;
+        border: none;
+        font-size: 24px;
+        border-radius: 5px;
+    }
 
-	label {
-		margin-right: 1vw;
-		font-size: 1.6vw;
-	}
+    label {
+        margin-right: 10px;
+        font-size: 24px;
+    }
 
-	input {
-		padding: 1vh;
-		font-size: 1.5vw;
-		border: 1px solid #ccc;
-		width: 100%;
-		margin-top: 1vh;
-		box-sizing: border-box;
-	}
+    /* 涓棿鐘舵�侀儴鍒嗗竷灞� */
+    .middle-section {
+        display: flex;
+        flex-direction: column;
+        margin-bottom: 8px;
+    }
 
-	/* 涓棿鐘舵�侀儴鍒嗗竷灞� */
-	.middle-section {
-		display: flex;
-		flex-direction: column;
-		margin-bottom: 4vh;
-	}
+    .item {
+        display: flex;
+        flex-direction: row;
+        align-items: center;
+        margin-bottom: 10px;
+        gap: 10px;
+    }
 
-	.item {
-		display: flex;
-		flex-direction: row;
-		align-items: flex-start;
-		margin-bottom: 2vh;
-	}
+        .item h4 {
+            font-size: 24px;
+            line-height: 1.4;
+            margin: 0;
+            padding: 5px 0;
+        }
 
-	button {
-		width: 100%;
-		padding: 1.5vh;
-		font-size: 1.5vw;
-		border: none;
-		text-align: center;
-	}
+    button {
+        width: 50%;
+        flex-shrink: 0;
+        padding: 10px;
+        font-size: 24px;
+        border: none;
+        text-align: center;
+        min-height: 40px;
+    }
 
-	.btn-disabled {
-		background-color: #ccc;
-		color: white;
-	}
+    .btn-disabled {
+        background-color: #ccc;
+        color: white;
+    }
 
-	.btn-blue {
-		background-color: #00A2E9;
-		color: white;
-	}
+    .btn-blue {
+        background-color: #00A2E9;
+        color: white;
+    }
 
-	input {
-		margin-top: 10px;
-		padding: 10px;
-		font-size: 14px;
-		border: 1px solid #ccc;
-		width: 100%;
-	}
+    input {
+        margin-top: 0;
+        padding: 8px;
+        font-size: 24px;
+        border: 1px solid #ccc;
+        width: 50%;
+        flex-grow: 1;
+        box-sizing: border-box;
+    }
 
-	/* 搴曢儴淇濆瓨/鍙栨秷鎸夐挳甯冨眬 */
-	.bottom-section {
-		display: flex;
-		justify-content: space-between;
-		margin-top: 4vh;
-	}
+    /* 搴曢儴淇濆瓨/鍙栨秷鎸夐挳甯冨眬 */
+    .bottom-section {
+        display: flex;
+        justify-content: space-between;
+        margin-top: 10px;
+        padding-top: 10px;
+    }
 
-	.save-btn,
-	.cancel-btn {
-		width: 48%;
-		padding: 1.5vh;
-		background-color: #00A2E9;
-		color: white;
-		font-size: 1.6vw;
-		border: none;
-		text-align: center;
-	}
+    .save-btn,
+    .cancel-btn {
+        width: 48%;
+        padding: 12px;
+        background-color: #00A2E9;
+        color: white;
+        font-size: 24px;
+        border: none;
+        text-align: center;
+        min-height: 45px;
+    }
 
-	.txt-inp {
-		height: 8vh;
-		padding: 1vh;
-		font-size: 1.5vw;
-		width: 100%;
-		box-sizing: border-box;
-	}
+    .txt-inp {
+        height: 80px; /* 澧炲ぇ楂樺害 */
+        padding: 12px; /* 澧炲ぇ鍐呰竟璺� */
+        font-size: 24px; /* 澧炲ぇ瀛椾綋 */
+        width: 50%;
+        flex-grow: 1;
+        box-sizing: border-box;
+        margin-top: 0;
+    }
+
+    /* 閽堝1280*717灞忓箷鐨勭壒瀹氫紭鍖� */
+    @media screen and (max-width: 1280px) and (max-height: 800px) {
+        .page {
+            padding: 6px;
+        }
+
+        .middle-section {
+            margin-bottom: 6px;
+        }
+
+        .item {
+            margin-bottom: 8px;
+        }
+
+            .item h4 {
+                font-size: 24px;
+                padding: 3px 0;
+            }
+
+        button {
+            padding: 8px;
+            font-size: 24px;
+            min-height: 38px;
+        }
+
+        .txt-inp {
+            height: 46px;
+            padding: 10px;
+            font-size: 24px;
+        }
+
+        .bottom-section {
+            margin-top: 8px;
+            padding-top: 8px;
+        }
+
+        .save-btn,
+        .cancel-btn {
+            padding: 10px;
+            font-size: 24px;
+            min-height: 42px;
+        }
+
+        input {
+            font-size: 24px;
+        }
+
+        .refresh-btn {
+            font-size: 24px;
+        }
+
+        label {
+            font-size: 24px;
+        }
+    }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3