From aa89ca0a32631d365b42ab7d1e9dbb60a8ae8108 Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期二, 04 十一月 2025 14:17:02 +0800
Subject: [PATCH] 样式调整1
---
components/mold.vue | 346 +++++++++++----------------------------------------------
1 files changed, 69 insertions(+), 277 deletions(-)
diff --git a/components/mold.vue b/components/mold.vue
index 3ca7f44..3c0088a 100644
--- a/components/mold.vue
+++ b/components/mold.vue
@@ -48,90 +48,79 @@
</view>
<!-- 鍒�鍏风洰褰曞脊绐� -->
- <!-- 鍒�鍏风洰褰曞脊绐� -->
<view v-if="showToolDialog" class="dialog-overlay">
- <view class="dialog">
- <!-- 鎼滅储妗嗗尯鍩� -->
- <view class="search-section">
- <input v-model="searchKey" placeholder="杈撳叆鍒�鍏风紪鐮併�佸悕绉版ā绯婃悳绱�" class="search-input" @input="onSearchKeyInput" />
- <button class="search-btn" @click="searchTool" :disabled="loadingTools">鎼滅储</button>
- </view>
-
- <!-- 鍒�鍏峰垪琛ㄥ尯鍩� -->
- <view class="tool-list-section">
+ <view class="dialog">
+ <view class="form-group">
+ <input v-model="searchKey" placeholder="杈撳叆鍒�鍏风紪鐮併�佸悕绉版ā绯婃悳绱�" class="input" @input="onSearchKeyInput" />
+ <button class="btn-blue" @click="searchTool" :disabled="loadingTools">鎼滅储</button>
+ </view>
<view class="tool-list">
<button v-for="tool in filteredTools"
:key="tool.no"
- class="tool-item"
+ class="tool-btn"
:class="{ active: activeToolNo === tool.no }"
@click="selectTool(tool)">
- <view class="tool-info">
- <text class="tool-no">{{ tool.no }}</text>
- <text class="tool-name">{{ tool.name }}</text>
- </view>
+ {{ tool.no }} | {{ tool.name }}
</button>
</view>
- </view>
-
- <!-- 搴曢儴鎿嶄綔鍖哄煙 -->
- <view class="dialog-footer">
- <view class="pagination">
- <button class="page-btn" @click="prevPage" :disabled="pageIndex === 1 || loadingTools">涓婁竴椤�</button>
- <text class="page-info">绗瑊{ pageIndex }}椤� / 鍏眥{ totalPages }}椤�</text>
- <button class="page-btn" @click="nextPage" :disabled="pageIndex === totalPages || loadingTools">涓嬩竴椤�</button>
- </view>
- <view class="action-buttons">
- <button class="confirm-btn" @click="confirmTool">纭畾</button>
- <button class="cancel-btn" @click="closeToolDialog">鍙栨秷</button>
+ <view class="dialog-actions">
+ <div style="display: flex; align-items: center;">
+ <button class="btn-blue" @click="prevPage" :disabled="pageIndex === 1 || loadingTools">涓婁竴椤�</button>
+ <span style="margin: 0 12px;">绗瑊{ pageIndex }}椤� / 鍏眥{ totalPages }}椤�</span>
+ <button class="btn-blue" @click="nextPage" :disabled="pageIndex === totalPages || loadingTools">涓嬩竴椤�</button>
+ </div>
+ <div style="display: flex; gap: 18px; align-items: center;">
+ <button class="btn-blue" @click="confirmTool">纭畾</button>
+ <button class="btn-disabled" @click="closeToolDialog">鍙栨秷</button>
+ </div>
</view>
</view>
- </view>
</view>
<!-- 鍒�鍏蜂娇鐢ㄨ褰曡〃鏍� -->
<view class="table-section">
- <table class="styled-table">
- <thead>
- <tr>
- <th style="width:8%">鍒�鍏风紪鍙�</th>
- <th style="width:14%">鍒�鍏峰悕绉�</th>
- <th style="width:12%">涓婂垁鏃堕棿</th>
- <th class="num" style="width:8%">涓婂垁璁℃暟</th>
- <th style="width:12%">涓嬪垁鏃堕棿</th>
- <th class="num" style="width:8%">涓嬪垁璁℃暟</th>
- <th class="num" style="width:8%">浣跨敤娆℃暟</th>
- <th class="num" style="width:8%">浣跨敤涓婇檺</th>
- <th class="num" style="width:8%">瀵垮懡姣�%</th>
- <th class="num" style="width:8%">瀵垮懡姣旈璀﹀��</th>
- <th style="width:8%">棰勮鐘舵��</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="(item, idx) in toolRecords" :key="item.id" :class="{'row-odd': idx % 2 === 0}">
- <td>{{ item.no }}</td>
- <td class="left">{{ item.name }}</td>
- <td>{{ item.upTime }}</td>
- <td class="num">{{ item.upCount != null ? item.upCount : '' }}</td>
- <td>{{ item.downTime }}</td>
- <td class="num">{{ item.downCount != null ? item.downCount : '' }}</td>
- <td class="num">{{ item.useCount != null ? item.useCount : '' }}</td>
- <td class="num">{{ item.useLimit != null ? item.useLimit : '' }}</td>
- <td class="num">{{ item.lifePercent }}</td>
- <td class="num">{{ item.lifeWarn }}</td>
- <td :class="item.warnStatus === '棰勮' ? 'warn-cell' : (item.warnStatus === '姝e父' ? 'ok-cell' : '')">
- <span v-if="item.warnStatus === '棰勮'" class="warn-badge">璀﹀憡</span>
- <span v-else>{{ item.warnStatus }}</span>
- </td>
- </tr>
- <tr v-if="!toolRecords.length">
- <td colspan="11">鏆傛棤鏁版嵁</td>
- </tr>
- </tbody>
- </table>
+ <table class="styled-table">
+ <thead>
+ <tr>
+ <th style="width:8%">鍒�鍏风紪鍙�</th>
+ <th style="width:14%">鍒�鍏峰悕绉�</th>
+ <th style="width:12%">涓婂垁鏃堕棿</th>
+ <th class="num" style="width:8%">涓婂垁璁℃暟</th>
+ <th style="width:12%">涓嬪垁鏃堕棿</th>
+ <th class="num" style="width:8%">涓嬪垁璁℃暟</th>
+ <th class="num" style="width:8%">浣跨敤娆℃暟</th>
+ <th class="num" style="width:8%">浣跨敤涓婇檺</th>
+ <th class="num" style="width:8%">瀵垮懡姣�%</th>
+ <th class="num" style="width:8%">瀵垮懡姣旈璀﹀��</th>
+ <th style="width:8%">棰勮鐘舵��</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr v-for="(item, idx) in toolRecords" :key="item.id" :class="{'row-odd': idx % 2 === 0}">
+ <td>{{ item.no }}</td>
+ <td class="left">{{ item.name }}</td>
+ <td>{{ item.upTime }}</td>
+ <td class="num">{{ item.upCount != null ? item.upCount : '' }}</td>
+ <td>{{ item.downTime }}</td>
+ <td class="num">{{ item.downCount != null ? item.downCount : '' }}</td>
+ <td class="num">{{ item.useCount != null ? item.useCount : '' }}</td>
+ <td class="num">{{ item.useLimit != null ? item.useLimit : '' }}</td>
+ <td class="num">{{ item.lifePercent }}</td>
+ <td class="num">{{ item.lifeWarn }}</td>
+ <td :class="item.warnStatus === '棰勮' ? 'warn-cell' : (item.warnStatus === '姝e父' ? 'ok-cell' : '')">
+ <span v-if="item.warnStatus === '棰勮'" class="warn-badge">璀﹀憡</span>
+ <span v-else>{{ item.warnStatus }}</span>
+ </td>
+ </tr>
+ <tr v-if="!toolRecords.length">
+ <td colspan="11">鏆傛棤鏁版嵁</td>
+ </tr>
+ </tbody>
+ </table>
</view>
- <!-- 璇存槑 -->
- <!--<view class="tool-desc">
+ <!-- 璇存槑 -->
+ <!--<view class="tool-desc">
<p style="color:red;">'浣跨敤涓婇檺'浠ヤ笅鍒�鏃剁殑'浣跨敤涓婇檺'涓鸿绠楁爣鍑�</p>
<p style="color:red;">瀵垮懡姣旈璀﹀�奸粯璁や负90%</p>
</view>-->
@@ -691,7 +680,7 @@
align-items: center;
flex: 1;
margin: 0 8px;
- min-height: 40px;
+ min-height: 44px;
}
.form-label {
@@ -701,6 +690,7 @@
color: #333;
white-space: nowrap;
margin-right: 8px;
+ flex-shrink: 0;
}
.input {
@@ -708,7 +698,7 @@
font-size: 16px;
border: 1px solid #dcdfe6;
flex: 1;
- margin-right: 8px;
+ margin-right: 0;
border-radius: 4px;
background: #fff;
min-width: 0;
@@ -739,6 +729,7 @@
height: 36px;
box-sizing: border-box;
transition: all 0.3s;
+ flex-shrink: 0;
}
.btn-blue:hover {
@@ -1016,216 +1007,17 @@
/* 鏂板澶ф寜閽牱寮� */
.btn-blue.large-btn {
- padding: 12px 24px;
- font-size: 18px;
- height: 44px;
- min-width: 120px;
+ padding: 8px 24px;
+ font-size: 16px;
+ height: 36px;
+ min-width: 100px;
}
- /* 璋冩暣琛ㄥ崟鍗曞厓鏍煎竷灞�浠ラ�傚簲澶ф寜閽� */
- .form-cell:last-child {
- justify-content: flex-end;
- }
-
- /* 寮圭獥鏍峰紡浼樺寲 */
- .dialog-overlay {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background: rgba(0,0,0,0.5);
- display: flex;
+ /* 璋冩暣琛ㄥ崟鍗曞厓鏍煎竷灞�浠ラ�傚簲鎸夐挳 */
+ .form-row .form-cell:last-child {
justify-content: center;
- align-items: center;
- z-index: 1000;
- }
-
- .dialog {
- background: #fff;
- border-radius: 12px;
- width: 90vw;
- max-width: 800px;
- height: 70vh;
- display: flex;
- flex-direction: column;
- box-shadow: 0 10px 40px rgba(0,0,0,0.2);
- }
-
- /* 鎼滅储鍖哄煙 */
- .search-section {
- display: flex;
- padding: 20px;
- border-bottom: 1px solid #e8e8e8;
- background: #fafafa;
- border-radius: 12px 12px 0 0;
- }
-
- .search-input {
- flex: 1;
- padding: 12px 16px;
- border: 1px solid #dcdfe6;
- border-radius: 6px;
- font-size: 16px;
- margin-right: 12px;
- }
-
- .search-btn {
- background: #1890ff;
- color: white;
- border: none;
- padding: 12px 24px;
- border-radius: 6px;
- font-size: 16px;
- cursor: pointer;
- min-width: 80px;
- }
-
- .search-btn:disabled {
- background: #bae7ff;
- cursor: not-allowed;
- }
-
- /* 鍒�鍏峰垪琛ㄥ尯鍩� */
- .tool-list-section {
- flex: 1;
- overflow: hidden;
- }
-
- .tool-list {
- display: grid;
- grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
- gap: 12px;
- padding: 20px;
- max-height: calc(70vh - 160px);
- overflow-y: auto;
- }
-
- .tool-item {
- background: #f8f9fa;
- border: 2px solid #e9ecef;
- border-radius: 8px;
- padding: 16px;
- cursor: pointer;
- transition: all 0.2s;
- text-align: left;
- }
-
- .tool-item:hover {
- border-color: #1890ff;
- background: #f0f7ff;
- }
-
- .tool-item.active {
- border-color: #1890ff;
- background: #e6f7ff;
- box-shadow: 0 2px 8px rgba(24, 144, 255, 0.2);
- }
-
- .tool-info {
- display: flex;
- flex-direction: column;
- gap: 4px;
- }
-
- .tool-no {
- font-size: 16px;
- font-weight: bold;
- color: #333;
- }
-
- .tool-name {
- font-size: 14px;
- color: #666;
- }
-
- /* 搴曢儴鎿嶄綔鍖哄煙 */
- .dialog-footer {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 20px;
- border-top: 1px solid #e8e8e8;
- background: #fafafa;
- border-radius: 0 0 12px 12px;
- }
-
- .pagination {
- display: flex;
- align-items: center;
- gap: 16px;
- }
-
- .page-btn {
- background: #fff;
- border: 1px solid #dcdfe6;
- padding: 8px 16px;
- border-radius: 4px;
- cursor: pointer;
- font-size: 14px;
- }
-
- .page-btn:disabled {
- background: #f5f5f5;
- color: #ccc;
- cursor: not-allowed;
- }
-
- .page-info {
- font-size: 14px;
- color: #666;
- }
-
- .action-buttons {
- display: flex;
- gap: 12px;
- }
-
- .confirm-btn {
- background: #1890ff;
- color: white;
- border: none;
- padding: 10px 24px;
- border-radius: 4px;
- cursor: pointer;
- font-size: 14px;
- }
-
- .cancel-btn {
- background: #fff;
- border: 1px solid #dcdfe6;
- padding: 10px 24px;
- border-radius: 4px;
- cursor: pointer;
- font-size: 14px;
- color: #333;
- }
-
- /* 鍝嶅簲寮忚皟鏁� */
- @media (max-width: 768px) {
- .dialog {
- width: 95vw;
- height: 80vh;
- }
-
- .tool-list {
- grid-template-columns: 1fr;
- padding: 12px;
- }
-
- .dialog-footer {
- flex-direction: column;
- gap: 16px;
- align-items: stretch;
- }
-
- .pagination {
- justify-content: center;
- }
-
- .action-buttons {
- justify-content: center;
- }
+ flex: 0 0 auto;
+ min-width: 120px;
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3