From e1fca1a98c4da6122ccaeaf25575ed405487ab81 Mon Sep 17 00:00:00 2001
From: fcx <2246384483@qq.com>
Date: 星期三, 03 十二月 2025 18:01:34 +0800
Subject: [PATCH] 新加如果上限值小于标准值提示上限值过小应大于等于标准值,如果下限值大于标准值提示下限值过大应小于等于标准值

---
 pages/QC/SJ/detail.vue |  680 +++++++++++++++++---------------------------------------
 1 files changed, 204 insertions(+), 476 deletions(-)

diff --git a/pages/QC/SJ/detail.vue b/pages/QC/SJ/detail.vue
index 3aa38be..ed5caee 100644
--- a/pages/QC/SJ/detail.vue
+++ b/pages/QC/SJ/detail.vue
@@ -7,13 +7,11 @@
     </view>
 
     <!-- 鏍囩鏍� -->
-    <view class="tabs-container">
-      <scroll-view class="tabs" scroll-x="true" show-scrollbar="false">
-        <view v-for="(tab, index) in tabs" :key="index" :class="{active: currentTab === index}" class="tab"
-              @tap="switchTab(index, tab.id)">
-          {{ tab.projName || tab.fcheckItem || '椤圭洰' + (index + 1) }}
-        </view>
-      </scroll-view>
+    <view class="tabs">
+      <view v-for="(tab, index) in tabs" :key="index" :class="{active: currentTab === index}" class="tab"
+            @tap="switchTab(index, tab.id)">
+        {{ tab.projName || tab.fcheckItem || '椤圭洰' + (index + 1) }}
+      </view>
     </view>
 
     <view class="tab-content">
@@ -42,15 +40,16 @@
               <view class="info-label">妫�楠屾暟</view>
               <view class="info-value">{{ formData.levelNum }}</view>
             </view>
-            <view v-if="formData.minValue" class="info-item">
+            <!-- 淇锛氫娇鐢ㄦ洿鍑嗙‘鐨勫垽鏂潯浠讹紝閬垮厤0琚鍒や负falsy -->
+            <view v-if="formData.minValue != null" class="info-item">
               <view class="info-label">涓嬮檺</view>
               <view class="info-value">{{ formData.minValue }}</view>
             </view>
-            <view v-if="formData.standardValue" class="info-item">
+            <view v-if="formData.standardValue != null" class="info-item">
               <view class="info-label">鏍囧噯鍊�</view>
               <view class="info-value">{{ formData.standardValue }}</view>
             </view>
-            <view v-if="formData.maxValue" class="info-item">
+            <view v-if="formData.maxValue != null" class="info-item">
               <view class="info-label">涓婇檺</view>
               <view class="info-value">{{ formData.maxValue }}</view>
             </view>
@@ -71,11 +70,11 @@
         <view class="section-header">妫�楠岀粨鏋�</view>
         <view class="section-body">
           <view class="info-grid">
-            <view v-if="formData.result" class="info-item">
+            <view v-if="formData.result != null" class="info-item">
               <view class="info-label">棰勮缁撴灉</view>
               <view class="info-value">{{ formData.result }}</view>
             </view>
-            <view v-if="formData.remarks" class="info-item">
+            <view v-if="formData.remarks != null" class="info-item">
               <view class="info-label">澶囨敞</view>
               <view class="info-value danger">{{ formData.remarks }}</view>
             </view>
@@ -87,24 +86,25 @@
       <view class="section">
         <view class="section-header">妫�楠岀粨鏋滃綍鍏�</view>
         <view class="section-body">
-          <view v-if="!formData.maxValue && !formData.minValue" class="info-item edit">
+          <!-- 淇锛氫娇鐢ㄦ洿鍑嗙‘鐨勫垽鏂潯浠讹紝閬垮厤0琚鍒や负falsy -->
+          <view v-if="formData.maxValue == null && formData.minValue == null" class="info-item edit">
             <view class="info-label" style="color: #F56C6C">鎻愮ず</view>
             <view class="info-value" style="color: #F56C6C">娌℃湁鏈�澶у�煎拰鏈�灏忓�兼椂濉啓0锛堟湭閫氳繃妫�楠岋級鎴�1锛堥�氳繃妫�楠岋級</view>
           </view>
 
           <view class="input-group input1">
             <view class="input-wrapper">
-              <input v-if="tableData.length < formData.levelNum" v-model="formData.fcheckResu" class="result-input"
-                     placeholder="璇疯緭鍏ユ楠岀粨鏋�..." type="number"/>
-              <button v-if="tableData.length < formData.levelNum" class="btn primary-btn" @click="submit">淇濆瓨缁撴灉
-              </button>
-              <button v-if="isShowImg" class="btn upload-btn" @click="previewImage">
-                <uni-icons color="#fff" size="16" type="image"></uni-icons>
-                鏌ョ湅鍥剧墖
+              <button class="btn upload-btn" @click="chooseImage">
+                <uni-icons type="upload" size="16" color="#fff"></uni-icons>
+                涓婁紶/鏌ョ湅鍥剧墖
               </button>
               <button class="btn upload-btn" @click="saveRemarks">
-                <uni-icons color="#fff" size="16" type="compose"></uni-icons>
+                <uni-icons type="compose" size="16" color="#fff"></uni-icons>
                 澶囨敞
+              </button>
+              <input v-if="(tableData.length < formData.levelNum)" v-model="formData.fcheckResu" class="result-input"
+                     placeholder="璇疯緭鍏ユ楠岀粨鏋�..." type="number"/>
+              <button v-if="(tableData.length < formData.levelNum)" class="btn primary-btn" @click="submit" style="margin: 0px;">淇濆瓨缁撴灉
               </button>
             </view>
           </view>
@@ -112,71 +112,48 @@
           <!-- 鍝嶅簲寮忚璁$殑绗簩涓緭鍏ョ粍 -->
           <view class="input-group input2">
             <view class="input-wrapper">
-              <button v-if="isShowImg" class="btn upload-btn" @click="previewImage">
-                <uni-icons color="#fff" size="16" type="image"></uni-icons>
-                鏌ョ湅鍥剧墖
+              <button class="btn upload-btn" @click="chooseImage ">
+                <uni-icons type="upload" size="16" color="#fff"></uni-icons>
+                涓婁紶/鏌ョ湅鍥剧墖
               </button>
-              <button class="btn upload-btn" @click="saveRemarks">
-                <uni-icons color="#fff" size="16" type="compose"></uni-icons>
+              <button v-if="current" class="btn upload-btn" @click="saveRemarks  ">
+                <uni-icons type="compose" size="16" color="#fff"></uni-icons>
                 澶囨敞
               </button>
             </view>
             <view class="input-wrapper" style="margin-top: 15px;">
-              <input v-if="tableData.length < formData.levelNum" v-model="formData.fcheckResu" class="result-input"
+              <input v-if="(tableData.length < formData.levelNum)" v-model="formData.fcheckResu" class="result-input" 
                      placeholder="璇疯緭鍏ユ楠岀粨鏋�..." type="number"/>
-              <button v-if="tableData.length < formData.levelNum" class="btn primary-btn" @click="submit">淇濆瓨缁撴灉
-              </button>
+              
+              <button v-if="tableData.length < formData.levelNum" class="btn primary-btn" @click="submit" style="margin: 0px;" >淇濆瓨缁撴灉  
+			  </button>
             </view>
           </view>
         </view>
       </view>
 
       <!-- 缁撴灉琛ㄦ牸 -->
-      <view v-if="tableData.length > 0" class="simple-table-container">
-        <view class="simple-table-header">
-          <view class="simple-title">妫�楠岃褰� ({{ tableData.length }}/{{ formData.levelNum }})</view>
-          <view :class="{'completed': !(tableData.length < formData.levelNum)}" class="simple-status">
-            {{ tableData.length < formData.levelNum ? '杩涜涓�' : '宸插畬鎴�' }}
-          </view>
+      <view v-if="tableData.length > 0" class="table-container">
+        <view class="table-header">
+          <view class="th">缂栧彿</view>
+          <view class="th">妫�楠岀粨鏋�</view>
+          <view class="th" v-if="current">鎿嶄綔</view>
         </view>
 
-        <view class="simple-table">
-          <view class="simple-header-row">
-            <view class="simple-header-cell">缂栧彿</view>
-            <view class="simple-header-cell">妫�楠岀粨鏋�</view>
-            <view class="simple-header-cell">鎿嶄綔</view>
+        <view v-for="(item, index) in tableData" :key="index" class="table-row">
+          <view class="td">{{ index + 1 }}</view>
+          <view class="td">
+            <view :class="['result-badge', item.fcheckResu]">
+              {{ item.fcheckResu }}
+            </view>
           </view>
-
-          <view v-for="(item, index) in tableData" :key="index" class="simple-data-row">
-            <view class="simple-data-cell simple-index">
-              {{ index + 1 }}
-            </view>
-            <view class="simple-data-cell simple-result">
-              <!-- 鏁板瓧缁撴灉鏍峰紡 -->
-              <view v-if="isNumber && !isNaN(parseFloat(item.fcheckResu))" class="simple-number-result">
-                <view class="result-value">{{ item.fcheckResu }}</view>
-                <view v-if="formData.unitName" class="result-unit">{{ formData.unitName }}</view>
-                <view :class="{'pass': isInRange(item.fcheckResu), 'fail': !isInRange(item.fcheckResu)}"
-                      class="result-status">
-                  {{ isInRange(item.fcheckResu) ? '鍚堟牸' : '涓嶅悎鏍�' }}
-                </view>
-              </view>
-
-              <!-- NG/OK鐘舵�佹牱寮� -->
-              <view v-else class="simple-status-result">
-                <view :class="{'pass': item.fcheckResu === '1', 'fail': item.fcheckResu !== '1'}" class="simple-status">
-                  {{ item.fcheckResu === '1' ? '鍚堟牸' : '涓嶅悎鏍�' }}
-                </view>
-              </view>
-            </view>
-            <view class="simple-data-cell simple-action">
-              <button v-if="!isNumber" class="simple-btn" @click="numberEdit(item)">
-                {{ editResult(item.fcheckResu) }}
-              </button>
-              <button v-if="isNumber" class="simple-btn" @click="toDetail(item)">
-                淇敼
-              </button>
-            </view>
+          <view class="td" v-if="current" >
+            <button v-if="!isNumber" class="btn danger-btn" @click="numberEdit(item)">
+              {{ editResult(item.fcheckResu) }}
+            </button>
+            <button v-if="isNumber" class="btn danger-btn" @click="toDetail(item)">
+              淇敼
+            </button>
           </view>
         </view>
       </view>
@@ -236,7 +213,8 @@
       remarks: "",
       remarksPopup: false,
       currentTab: 0,
-      tabs: []
+      tabs: [],
+      current: true // 鎺у埗鏄惁鍙紪杈�
     }
   },
   methods: {
@@ -291,8 +269,8 @@
       let count = this.formData.levelNum;
       let fstand = "鈭�";
 
-      //鏈夋渶澶у�煎拰鏈�灏忓�煎氨鏍规嵁鏄惁绗﹀悎鏍囧噯鍊兼洿鏂板垽瀹氱粨鏋滐紝娌℃湁鏈�澶у�煎拰鏈�灏忓�煎氨鏍规嵁鏄惁閫氳繃妫�楠屽垽瀹氱粨鏋�
-      if (this.formData.maxValue && this.formData.minValue) {
+      // 淇锛氫娇鐢ㄦ洿鍑嗙‘鐨勫垽鏂潯浠讹紝閬垮厤0琚鍒や负falsy
+      if (this.formData.maxValue != null && this.formData.minValue != null) {
 
         if (!this.formData.fcheckResu) {
           this.$showMessage("璇疯緭鍏ユ楠屽��");
@@ -302,6 +280,19 @@
         let checkValue = Number(this.formData.fcheckResu);
         let minValue = Number(this.formData.minValue);
         let maxValue = Number(this.formData.maxValue);
+        let standardValue = Number(this.formData.standardValue);
+
+        // 娣诲姞鏂扮殑楠岃瘉锛氭鏌ヤ笂闄愬�煎拰涓嬮檺鍊间笌鏍囧噯鍊肩殑鍏崇郴
+        if (this.formData.standardValue != null) {
+          if (maxValue < standardValue) {
+            this.$showMessage("涓婇檺鍊艰繃灏忥紝搴斿ぇ浜庣瓑浜庢爣鍑嗗��");
+            return;
+          }
+          if (minValue > standardValue) {
+            this.$showMessage("涓嬮檺鍊艰繃澶э紝搴斿皬浜庣瓑浜庢爣鍑嗗��");
+            return;
+          }
+        }
 
         if (isNaN(checkValue) || isNaN(minValue) || isNaN(maxValue)) {
           this.$showMessage("妫�楠屽�兼垨鑼冨洿鍊兼牸寮忎笉姝g‘锛岃妫�鏌ヨ緭鍏�");
@@ -363,7 +354,8 @@
           this.isShowImg = true;
           this.base64Image = 'data:image/jpeg;base64,' + this.formData.imageData;
         }
-        if (this.formData.maxValue && this.formData.minValue && this.formData.standardValue) {
+        // 淇锛氫娇鐢ㄦ洿鍑嗙‘鐨勫垽鏂潯浠讹紝閬垮厤0琚鍒や负falsy
+        if (this.formData.maxValue != null && this.formData.minValue != null && this.formData.standardValue != null) {
           this.isNumber = true;
         }
       })
@@ -395,7 +387,8 @@
 
       let fstand = "鈭�";
 
-      if (this.formData.maxValue && this.formData.minValue) {
+      // 淇锛氫娇鐢ㄦ洿鍑嗙‘鐨勫垽鏂潯浠讹紝閬垮厤0琚鍒や负falsy
+      if (this.formData.maxValue != null && this.formData.minValue != null) {
 
         if (!this.editData.fcheckResu) {
           this.$showMessage("璇疯緭鍏ユ楠屽��");
@@ -405,6 +398,19 @@
         let checkValue = Number(this.editData.fcheckResu);
         let minValue = Number(this.formData.minValue);
         let maxValue = Number(this.formData.maxValue);
+        let standardValue = Number(this.formData.standardValue);
+
+        // 娣诲姞鏂扮殑楠岃瘉锛氭鏌ヤ笂闄愬�煎拰涓嬮檺鍊间笌鏍囧噯鍊肩殑鍏崇郴
+        if (this.formData.standardValue != null) {
+          if (maxValue < standardValue) {
+            this.$showMessage("涓婇檺鍊艰繃灏忥紝搴斿ぇ浜庣瓑浜庢爣鍑嗗��");
+            return;
+          }
+          if (minValue > standardValue) {
+            this.$showMessage("涓嬮檺鍊艰繃澶э紝搴斿皬浜庣瓑浜庢爣鍑嗗��");
+            return;
+          }
+        }
 
         if (isNaN(checkValue) || isNaN(minValue) || isNaN(maxValue)) {
           this.$showMessage("妫�楠屽�兼垨鑼冨洿鍊兼牸寮忎笉姝g‘锛岃妫�鏌ヨ緭鍏�");
@@ -423,9 +429,13 @@
           this.editData.fcheckResu = 1
         }
 
+        // 鏀硅繘鍚庣殑閫昏緫锛氭牴鎹楠岀粨鏋滃�兼潵鍒ゆ柇鍚堟牸涓庡惁
         if (this.editData.fcheckResu == 0 || this.editData.fcheckResu == 1) {
+          // 0琛ㄧず涓嶅悎鏍硷紝1琛ㄧず鍚堟牸
           if (this.editData.fcheckResu == 0) {
             fstand = "脳";
+          } else {
+            fstand = "鈭�";
           }
         } else {
           this.$showMessage("鏃犳爣鍑嗗�兼椂锛屾楠岀粨鏋滃彧鑳戒负0鎴�1!");
@@ -480,6 +490,12 @@
         this.loadTabItems();
       })
     },
+    // 涓婁紶鍥剧墖
+    chooseImage() {
+      uni.navigateTo({
+        url: 'ImageItem?id=777' + this.formData.id + '&gid=' + this.gid
+      });
+    },
     saveRemarks() {
       this.remarksPopup = !this.remarksPopup;
       this.remarks = this.formData.remarks;
@@ -506,14 +522,16 @@
     },
     // 鍒ゆ柇鏁板瓧鏄惁鍦ㄨ寖鍥村唴
     isInRange(value) {
-      if (!this.formData.maxValue || !this.formData.minValue) return true;
+      // 淇锛氫娇鐢ㄦ洿鍑嗙‘鐨勫垽鏂潯浠讹紝閬垮厤0琚鍒や负falsy
+      if (this.formData.maxValue == null || this.formData.minValue == null) return true;
       const numValue = parseFloat(value);
       return numValue >= parseFloat(this.formData.minValue) &&
           numValue <= parseFloat(this.formData.maxValue);
     },
     // 鑾峰彇鏁板瓧缁撴灉鐨勬牱寮忕被
     getNumberResultClass(value) {
-      if (!this.formData.maxValue || !this.formData.minValue) return 'number-normal';
+      // 淇锛氫娇鐢ㄦ洿鍑嗙‘鐨勫垽鏂潯浠讹紝閬垮厤0琚鍒や负falsy
+      if (this.formData.maxValue == null || this.formData.minValue == null) return 'number-normal';
       return this.isInRange(value) ? 'number-pass' : 'number-fail';
     },
     // 鑾峰彇鐘舵�佺粨鏋滅殑鏍峰紡绫�
@@ -529,6 +547,7 @@
     this.billNo = params["billNo"];
     this.gid = params["gid"];
     this.currentTab = parseInt(params["index"] || 0);
+    this.current = params["current"] !== 'B'; // B琛ㄧず宸插畬鎴愮姸鎬侊紝涓嶅彲缂栬緫
 
     this.refreshResult();
     this.loadTabItems();
@@ -552,65 +571,53 @@
   padding: 20px;
   border-bottom: 1px solid $border-color;
   background: linear-gradient(90deg, #f0f7ff, #e1f0ff);
-  margin-bottom: 0; /* 璋冩暣锛屽洜涓轰笅闈㈡湁tab鏍� */
-}
 
-.header .title {
-  font-size: 24px;
-  color: #333;
-  margin-bottom: 10px;
-}
+  .title {
+    font-size: 24px;
+    color: #333;
+    margin-bottom: 10px;
+  }
 
-.header .order-number {
-  color: #666;
-  font-size: 14px;
-}
-
-/* 鏍囩鏍忔牱寮� */
-.tabs-container {
-  width: 100%;
-  position: relative;
-  background-color: $bg-color;
-  border-bottom: 1px solid $border-color;
+  .order-number {
+    color: #666;
+    font-size: 14px;
+  }
 }
 
 .tabs {
   display: flex;
-  white-space: nowrap;
-  overflow-x: auto;
-  scrollbar-width: none; /* Firefox */
-  -ms-overflow-style: none; /* IE and Edge */
-}
+  background-color: $bg-color;
+  border-bottom: 1px solid $border-color;
 
-.tabs::-webkit-scrollbar {
-  display: none; /* Chrome, Safari and Opera */
-}
+  .tab {
+    flex: 1;
+    text-align: center;
+    padding: 12px 0;
+    border-right: 1px solid $border-color;
+    color: #666;
+    transition: all 0.3s;
 
-.tab {
-  display: inline-block;
-  padding: 12px 20px;
-  text-align: center;
-  color: #666;
-  transition: all 0.3s;
-  border-right: 1px solid $border-color;
-  min-width: 100px;
-}
+    &:last-child {
+      border-right: none;
+    }
 
-.tab.active {
-  background-color: #fff;
-  color: $primary-color;
-  font-weight: bold;
-  position: relative;
-}
+    &.active {
+      background-color: #fff;
+      color: $primary-color;
+      font-weight: bold;
+      position: relative;
 
-.tab.active::after {
-  content: '';
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  right: 0;
-  height: 2px;
-  background-color: $primary-color;
+      &::after {
+        content: '';
+        position: absolute;
+        bottom: 0;
+        left: 0;
+        right: 0;
+        height: 2px;
+        background-color: $primary-color;
+      }
+    }
+  }
 }
 
 .tab-content {
@@ -676,289 +683,59 @@
       color: #fff;
       padding: 0 10px;
       margin: 0;
+      height: 45px;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      border: none;
+      border-radius: 4px;
+    }
+    
+    .primary-btn {
+      height: 45px;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      border: none;
+      border-radius: 4px;
     }
   }
 }
 
-/* 绠�娲佽〃鏍兼牱寮� - 閫傚悎骞撮暱鐢ㄦ埛 */
-.simple-table-container {
-  margin: 20px 0;
-  border: 2px solid #ddd;
-  border-radius: 8px;
-  background: #fff;
-}
-
-.simple-table-header {
-  padding: 15px 20px;
-  background: #f5f7fa;
-  border-bottom: 2px solid #ddd;
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-}
-
-.simple-title {
-  font-size: 18px;
-  font-weight: bold;
-  color: #333;
-}
-
-.simple-status {
-  padding: 8px 16px;
-  border-radius: 6px;
-  font-size: 14px;
-  font-weight: bold;
-  background: #ffc107;
-  color: #333;
-}
-
-.simple-status.completed {
-  background: #28a745;
-  color: #fff;
-}
-
-.simple-table {
-  width: 100%;
-}
-
-.simple-header-row {
-  display: flex;
-  background: #e9ecef;
-  border-bottom: 2px solid #ddd;
-}
-
-.simple-header-cell {
-  flex: 1;
-  padding: 15px 20px;
-  font-size: 16px;
-  font-weight: bold;
-  color: #333;
-  text-align: center;
-  border-right: 1px solid #ddd;
-}
-
-.simple-header-cell:first-child {
-  flex: 0 0 80px;
-}
-
-.simple-header-cell:last-child {
-  border-right: none;
-  flex: 0 0 120px;
-}
-
-.simple-data-row {
-  display: flex;
-  border-bottom: 1px solid #ddd;
-}
-
-.simple-data-row:nth-child(even) {
-  background: #f8f9fa;
-}
-
-.simple-data-cell {
-  flex: 1;
-  padding: 15px 20px;
-  text-align: center;
-  border-right: 1px solid #ddd;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-}
-
-.simple-index {
-  flex: 0 0 80px;
-  font-size: 18px;
-  font-weight: bold;
-  color: #333;
-}
-
-.simple-result {
-  text-align: left;
-  justify-content: flex-start;
-}
-
-.simple-action {
-  border-right: none;
-  flex: 0 0 120px;
-}
-
-.simple-number-result {
-  display: flex;
-  align-items: center;
-  gap: 12px;
-  width: 100%;
-}
-
-.result-value {
-  font-size: 20px;
-  font-weight: bold;
-  color: #333;
-}
-
-.result-unit {
-  font-size: 14px;
-  color: #666;
-}
-
-.result-status {
-  padding: 6px 12px;
+.table-container {
+  border: 1px solid $border-color;
   border-radius: 4px;
-  font-size: 14px;
-  font-weight: bold;
-  margin-left: auto;
-}
+  margin-top: 20px;
 
-.result-status.pass {
-  background: #d4edda;
-  color: #155724;
-  border: 1px solid #c3e6cb;
-}
-
-.result-status.fail {
-  background: #f8d7da;
-  color: #721c24;
-  border: 1px solid #f5c6cb;
-}
-
-.simple-status-result {
-  width: 100%;
-}
-
-.simple-status {
-  padding: 10px 20px;
-  border-radius: 6px;
-  font-size: 16px;
-  font-weight: bold;
-  text-align: center;
-  display: inline-block;
-}
-
-.simple-status.pass {
-  background: #28a745;
-  color: #fff;
-}
-
-.simple-status.fail {
-  background: #dc3545;
-  color: #fff;
-}
-
-.simple-btn {
-  padding: 10px 16px;
-  background: #007bff;
-  color: #fff;
-  border: none;
-  border-radius: 6px;
-  font-size: 14px;
-  font-weight: bold;
-  cursor: pointer;
-  min-width: 80px;
-}
-
-.simple-btn:active {
-  background: #0056b3;
-}
-
-// 鏂扮殑缁撴灉鏄剧ず鏍峰紡
-.result-display {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  width: 100%;
-}
-
-// 鏁板瓧缁撴灉鏍峰紡
-.number-result {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  padding: 8px 12px;
-  border-radius: 8px;
-  min-width: 60px;
-  position: relative;
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
-
-  &.number-pass {
-    background: linear-gradient(135deg, #e8f5e8, #f0f9f0);
-    border: 2px solid #67C23A;
-  }
-
-  &.number-fail {
-    background: linear-gradient(135deg, #fdeaea, #fef0f0);
-    border: 2px solid #F56C6C;
-  }
-
-  &.number-normal {
-    background: linear-gradient(135deg, #f5f7fa, #fafbfc);
-    border: 2px solid #909399;
-  }
-
-  .number-value {
-    font-size: 16px;
-    font-weight: bold;
-    color: #333;
-    margin-bottom: 2px;
-  }
-
-  .number-unit {
-    font-size: 10px;
-    color: #666;
-    margin-bottom: 4px;
-  }
-
-  .number-status {
-    position: absolute;
-    top: -4px;
-    right: -4px;
-    background: white;
-    border-radius: 50%;
-    width: 20px;
-    height: 20px;
+  .table-header {
     display: flex;
-    align-items: center;
-    justify-content: center;
-    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
-  }
-}
+    background-color: $bg-color;
+    border-bottom: 1px solid $border-color;
 
-// 鐘舵�佺粨鏋滄牱寮�
-.status-result {
-  display: flex;
-  align-items: center;
-  padding: 8px 16px;
-  border-radius: 20px;
-  font-weight: bold;
-  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
-  transition: all 0.3s ease;
-
-  &.status-pass {
-    background: linear-gradient(135deg, #67C23A, #85ce61);
-    color: white;
+    .th {
+      flex: 1;
+      padding: 12px;
+      font-weight: bold;
+    }
   }
 
-  &.status-fail {
-    background: linear-gradient(135deg, #F56C6C, #f78989);
-    color: white;
-  }
-
-  .status-icon {
-    margin-right: 6px;
+  .table-row {
     display: flex;
-    align-items: center;
-  }
+    border-bottom: 1px solid $border-color;
+    padding: 12px;
 
-  .status-text {
-    font-size: 14px;
-    letter-spacing: 0.5px;
-  }
+    &:last-child {
+      border-bottom: none;
+    }
 
-  &:hover {
-    transform: translateY(-1px);
-    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
+    .td {
+      flex: 1;
+      display: flex;
+      align-items: center;
+    }
   }
 }
 
-// 淇濈暀鍘熸湁鏍峰紡浣滀负澶囩敤
 .result-badge {
   display: inline-block;
   padding: 4px 8px;
@@ -977,25 +754,32 @@
   }
 }
 
-.btn {
-  padding: 8px 20px;
-  border-radius: 4px;
-  font-size: 14px;
-  line-height: 1;
+.action-buttons {
+  margin-top: 20px;
+  display: flex;
+  justify-content: flex-end;
+  gap: 12px;
 
-  &.primary-btn {
-    background-color: $primary-color;
-    color: #fff;
-  }
+  .btn {
+    padding: 8px 20px;
+    border-radius: 4px;
 
-  &.danger-btn {
-    background-color: $danger-color;
-    color: #fff;
-  }
+    &.primary-btn {
+      background-color: $primary-color;
+      color: #fff;
+      height: 45px;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      border: none;
+      border-radius: 4px;
+      padding: 0 20px;
+    }
 
-  &.cancel-btn {
-    background-color: #909399;
-    color: #fff;
+    &.cancel-btn {
+      background-color: #909399;
+      color: #fff;
+    }
   }
 }
 
@@ -1018,41 +802,17 @@
 .popup {
   background-color: #fff;
   padding: 20px;
-  border-radius: 8px;
-  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
-  width: 80%;
-  max-width: 500px;
+  border: 1px solid #ccc;
+  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
+  width: 68vw;
+  /* 璁剧疆瀹藉害涓鸿鍙e搴︾殑80% */
+  height: 25vh;
+  /* 璁剧疆楂樺害涓鸿鍙i珮搴︾殑80% */
+}
 
-  h3 {
-    margin-top: 0;
-    color: #2c3e50;
-    border-bottom: 1px solid #eee;
-    padding-bottom: 10px;
-  }
-
-  .form-group {
-    margin-bottom: 15px;
-    display: flex;
-    flex-direction: column;
-  }
-
-  .form-label {
-    margin-bottom: 5px;
-    font-weight: bold;
-  }
-
-  .form-input {
-    padding: 8px;
-    border: 1px solid #ddd;
-    border-radius: 4px;
-  }
-
-  .popup-buttons {
-    display: flex;
-    justify-content: flex-end;
-    gap: 10px;
-    margin-top: 20px;
-  }
+.updateBut {
+  background-color: #3498db;
+  color: white;
 }
 
 .input1 {
@@ -1075,38 +835,6 @@
 
   .info-grid {
     grid-template-columns: repeat(2, 1fr);
-  }
-}
-
-@media (max-width: 768px) {
-  .info-grid {
-    grid-template-columns: repeat(2, 1fr);
-  }
-
-  .simple-table-header {
-    padding: 12px 16px;
-  }
-
-  .simple-title {
-    font-size: 16px;
-  }
-
-  .simple-header-cell,
-  .simple-data-cell {
-    padding: 12px 16px;
-    font-size: 14px;
-  }
-
-  .simple-index {
-    flex: 0 0 60px;
-  }
-
-  .simple-action {
-    flex: 0 0 100px;
-  }
-
-  .result-value {
-    font-size: 18px;
   }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3