From eaa506e57403d1b8502f16ca5dd6e82c347724d0 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期四, 17 七月 2025 23:09:32 +0800 Subject: [PATCH] 优化QC模块样式统一和功能完善 --- pages/QC/RKJ/List.vue | 548 ++++++++++++++++++++++++++---------------------------- 1 files changed, 268 insertions(+), 280 deletions(-) diff --git a/pages/QC/RKJ/List.vue b/pages/QC/RKJ/List.vue index 4e335c9..7758c2b 100644 --- a/pages/QC/RKJ/List.vue +++ b/pages/QC/RKJ/List.vue @@ -1,228 +1,103 @@ <template> - <view> + <view class="inspection-app"> <!-- 鍒锋柊椤甸潰鍚庣殑椤堕儴鎻愮ず妗� --> <view class="tips" :class="{ 'tips-ani': tipShow }">鍒锋柊鎴愬姛</view> - <view class="newsTab"> - <uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" style-type="button" - active-color="#87cefa"></uni-segmented-control> - <view class="content"> - <view v-show="current===0"> - <!-- 鍩轰簬 uni-list 鐨勯〉闈㈠竷灞� --> - <uni-list> - <!-- to 灞炴�ф惡甯﹀弬鏁拌烦杞鎯呴〉闈紝褰撳墠鍙负鍙傝�� --> - <uni-list-item style="margin-top: 10px;background-color:#EFEFF4;border-radius: 5px;" - class="list-item" direction="column" v-for="item in data" :key="item.id" - :to="'Add?id='+item.id+'&releaseNo='+item.releaseNo"> - <!-- 閫氳繃header鎻掓Ы瀹氫箟鍒楄〃鐨勬爣棰� --> - <template v-slot:header> - <view class="form-group uni-title" style="margin-bottom: 0;"> - <label class="form-label">妫�楠屽崟鍙�:</label> - <input class="form-input" disabled="true" type="text" v-model="item.releaseNo"/> - </view> - </template> - <!-- 閫氳繃body鎻掓Ы瀹氫箟鍒楄〃鍐呭鏄剧ず --> - <template v-slot:body> - <view style="margin-top: 0;"> - <view class="uni-content"> - <view class="uni-note"> - <view class="form-group"> - <label class="form-label lab">閫佹鎵规鍙�:</label> - <input class="form-input" disabled="true" type="text" v-model="item.billNo"/> - </view> - </view> - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label lab">鍒涘缓鏃堕棿:</label> - <input class="form-input" disabled="true" type="text" v-model="item.createDate"/> - </view> - </view> - <view class="uni-note"> - <view class="form-group"> - <label class="form-label lab">鍒涘缓浜�:</label> - <input class="form-input" disabled="true" type="text" v-model="item.createBy"/> - </view> - </view> - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label lab">浜х嚎:</label> - <input class="form-input" disabled="true" type="text" v-model="item.daa015"/> - </view> - </view> - - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label lab">鐗╂枡缂栫爜:</label> - <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/> - </view> - </view> - - <!-- <view class="uni-title-sub uni-ellipsis-2">--> - <!-- <view class="form-group">--> - <!-- <label class="form-label">棰滆壊:</label>--> - <!-- <input class="form-input" disabled="true" type="text" v-model="item.colorName"/>--> - <!-- </view>--> - <!-- </view>--> - - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label">浜у搧鍚嶇О:</label> - <input class="form-input" disabled="true" type="text" v-model="item.itemName"/> - </view> - </view> - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label">浜у搧鍨嬪彿:</label> - <input class="form-input" disabled="true" type="text" v-model="item.itemModel"/> - </view> - </view> - - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label">閫佹鏁伴噺:</label> - <input class="form-input" disabled="true" type="text" v-model="item.quantity"/> - </view> - </view> - - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label">鎶ュ伐浜�:</label> - <input class="form-input" disabled="true" type="text" v-model="item.bgr"/> - </view> - </view> - - <view class="uni-note" style="color: red"> - <view class="form-group"> - <label class="form-label lab">妫�楠屼汉:</label> - <input class="form-input" disabled="true" type="text" v-model="item.fcheckBy"/> - </view> - </view> - <view class="uni-note" style="color: red"> - <view class="form-group"> - <label class="form-label lab">妫�娴嬬粨鏋�:</label> - <input class="form-input" disabled="true" type="text" v-model="item.fcheckResu"/> - </view> - </view> - </view> - </view> - </template> - </uni-list-item> - </uni-list> - <!-- 閫氳繃 loadMore 缁勪欢瀹炵幇涓婃媺鍔犺浇鏁堟灉锛屽闇�鑷畾涔夋樉绀哄唴瀹癸紝鍙弬鑰冿細https://ext.dcloud.net.cn/plugin?id=29 --> - <!-- <uni-load-more v-if="loading || options.status === 'noMore' " :status="options.status" /> --> - - <!-- <view class="fab" @click="handleFabClick"> - <text class="fab-icon">+</text> - </view> --> - <view class="plus-button" @click="handleFabClick"> - + - </view> - </view> - <view v-show="current===1"> - <uni-list> - <!-- to 灞炴�ф惡甯﹀弬鏁拌烦杞鎯呴〉闈紝褰撳墠鍙负鍙傝�� --> - <uni-list-item style="margin-top: 10px;background-color:#EFEFF4;border-radius: 5px;" - class="list-item" direction="column" v-for="item in data" :key="item.id" - :to="'Add?id='+item.id+'&releaseNo='+item.releaseNo"> - <!-- 閫氳繃header鎻掓Ы瀹氫箟鍒楄〃鐨勬爣棰� --> - <template v-slot:header> - <view class="form-group uni-title" style="margin-bottom: 0;"> - <label class="form-label">妫�楠屽崟鍙�:</label> - <input class="form-input" disabled="true" type="text" v-model="item.releaseNo"/> - </view> - </template> - <!-- 閫氳繃body鎻掓Ы瀹氫箟鍒楄〃鍐呭鏄剧ず --> - <template v-slot:body> - <view style="margin-top: 0;"> - <view class="uni-content"> - <view class="uni-note"> - <view class="form-group"> - <label class="form-label lab">閫佹鎵规鍙�:</label> - <input class="form-input" disabled="true" type="text" v-model="item.billNo"/> - </view> - </view> - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label lab">鍒涘缓鏃堕棿:</label> - <input class="form-input" disabled="true" type="text" v-model="item.createDate"/> - </view> - </view> - <view class="uni-note"> - <view class="form-group"> - <label class="form-label lab">鍒涘缓浜�:</label> - <input class="form-input" disabled="true" type="text" v-model="item.createBy"/> - </view> - </view> - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label lab">浜х嚎:</label> - <input class="form-input" disabled="true" type="text" v-model="item.daa015"/> - </view> - </view> - - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label lab">鐗╂枡缂栫爜:</label> - <input class="form-input" disabled="true" type="text" v-model="item.itemNo"/> - </view> - </view> - - <!-- <view class="uni-title-sub uni-ellipsis-2">--> - <!-- <view class="form-group">--> - <!-- <label class="form-label">棰滆壊:</label>--> - <!-- <input class="form-input" disabled="true" type="text" v-model="item.colorName"/>--> - <!-- </view>--> - <!-- </view>--> - - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label">浜у搧鍚嶇О:</label> - <input class="form-input" disabled="true" type="text" v-model="item.itemName"/> - </view> - </view> - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label">浜у搧鍨嬪彿:</label> - <input class="form-input" disabled="true" type="text" v-model="item.itemModel"/> - </view> - </view> - - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label">閫佹鏁伴噺:</label> - <input class="form-input" disabled="true" type="text" v-model="item.quantity"/> - </view> - </view> - - <view class="uni-title-sub uni-ellipsis-2"> - <view class="form-group"> - <label class="form-label">鎶ュ伐浜�:</label> - <input class="form-input" disabled="true" type="text" v-model="item.bgr"/> - </view> - </view> - - <view class="uni-note" style="color: red"> - <view class="form-group"> - <label class="form-label lab">妫�楠屼汉:</label> - <input class="form-input" disabled="true" type="text" v-model="item.fcheckBy"/> - </view> - </view> - <view class="uni-note" style="color: red"> - <view class="form-group"> - <label class="form-label lab">妫�娴嬬粨鏋�:</label> - <input class="form-input" disabled="true" type="text" v-model="item.fcheckResu"/> - </view> - </view> - </view> - </view> - </template> - </uni-list-item> - </uni-list> + <!-- 椤堕儴绛涢�夊尯 --> + <view class="filter-section"> + <view class="filter-controls"> + <!-- 鐘舵�佸垏鎹㈡爣绛� --> + <view class="status-tabs"> + <button :class="['tab-button', current === 0 ? 'active' : '']" @click="onClickItem({currentIndex: 0})"> + {{items[0]}} + </button> + <button :class="['tab-button', current === 1 ? 'active' : '']" @click="onClickItem({currentIndex: 1})"> + {{items[1]}} + </button> </view> </view> </view> + <!-- 妫�楠屽崟鍒楄〃 --> + <view class="inspection-list"> + <!-- 妫�楠屽崟鍗$墖 --> + <view class="inspection-card" v-for="item in data" :key="item.id" @click="navigateToDetail(item)"> + <view class="card-header"> + <text class="card-title">妫�楠屽崟鍙�: {{item.releaseNo}}</text> + <text class="status pass" v-if="item.fcheckResu === '鍚堟牸'">鍚堟牸</text> + <text class="status unqualified" v-if="item.fcheckResu === '涓嶅悎鏍�'">涓嶅悎鏍�</text> + <text class="status pending" v-if="!item.fcheckResu">寰呮楠�</text> + </view> + <view class="card-body"> + <view class="info-row"> + <view class="info-item"> + <text class="info-label">閫佹鎵规鍙�</text> + <text class="info-content">{{item.billNo}}</text> + </view> + <view class="info-item"> + <text class="info-label">浜х嚎</text> + <text class="info-content">{{item.daa015}}</text> + </view> + </view> + + <view class="info-row"> + <view class="info-item"> + <text class="info-label">鐗╂枡淇℃伅</text> + <text class="info-content">{{item.itemNo}}<br>{{item.itemName}}</text> + </view> + <view class="info-item"> + <text class="info-label">浜у搧鍨嬪彿</text> + <text class="info-content">{{item.itemModel}}</text> + </view> + </view> + + <view class="info-row"> + <view class="info-item"> + <text class="info-label">閫佹鏁伴噺</text> + <text class="info-content highlight">{{item.quantity}}</text> + </view> + <view class="info-item"> + <text class="info-label">鎶ュ伐浜�</text> + <text class="info-content">{{item.bgr}}</text> + </view> + </view> + + <view class="info-row"> + <view class="info-item"> + <text class="info-label">妫�楠屼汉</text> + <text class="info-content">{{item.fcheckBy}}</text> + </view> + <view class="info-item"> + <text class="info-label">鍒涘缓浜�</text> + <text class="info-content">{{item.createBy}}</text> + </view> + </view> + + <view class="meta-info"> + <text class="meta-item"> + <uni-icons type="calendar" size="14" color="#95a5a6"></uni-icons> + {{item.createDate}} + </text> + <text class="meta-item" v-if="item.fcheckResu"> + <uni-icons type="checkmarkempty" size="14" color="#95a5a6"></uni-icons> + 妫�娴嬬粨鏋�: {{item.fcheckResu}} + </text> + </view> + </view> + + <view class="card-actions"> + <button class="primary" @click.stop="navigateToDetail(item)"> + {{current === 0 ? '寮�濮嬫楠�' : '鏌ョ湅璇︽儏'}} + </button> + </view> + </view> + </view> + + <!-- 鏂板鎸夐挳 --> + <view class="plus-button" @click="handleFabClick"> + + + </view> </view> </template> @@ -302,6 +177,11 @@ this.init(); } }, + navigateToDetail(item) { + uni.navigateTo({ + url: 'Add?id=' + item.id + '&releaseNo=' + item.releaseNo + }); + }, }, /** * 涓嬫媺鍒锋柊鍥炶皟鍑芥暟 @@ -336,42 +216,169 @@ }; </script> -<style lang="scss"> -@import '@/common/uni-ui.scss'; - -.uni-note { - margin-top: 0; +<style scoped> +/* 鍩虹鏍峰紡閲嶇疆 */ +.inspection-app { + padding: 10px; + background-color: #f5f7fa; + min-height: 100vh; } -/* Set the input backgrounds to be gray */ -.form-input { - background-color: #f2f2f2; - /* Or any other shade of gray you prefer */ +/* 椤堕儴绛涢�夊尯 */ +.filter-section { + margin-bottom: 24px; } -/* Ensure automatic adaptation based on page size */ -.form-group { +.filter-controls { + display: flex; + justify-content: center; + align-items: center; +} + +.status-tabs { + display: flex; + border-radius: 4px; + overflow: hidden; + background-color: #ecf0f1; + width: 300px; +} + +.tab-button { + padding: 0px 16px; + border: none; + background: none; + font-size: 14px; + transition: all 0.3s; + margin: 0; + height: 35px; + flex: 1; +} + +.tab-button.active { + background-color: #3498db; + color: white; +} + +/* 妫�楠屽崟鍒楄〃 */ +.inspection-list { + display: flex; + flex-direction: column; + gap: 20px; +} + +/* 妫�楠屽崟鍗$墖 */ +.inspection-card { + background-color: white; + border-radius: 8px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); + overflow: hidden; + transition: all 0.3s; +} + +.card-header { + padding: 16px; + border-bottom: 1px solid #eee; display: flex; align-items: center; } -.form-label { - margin-bottom: 0; - border-bottom: 1px solid #FFFFFF; - padding: 5px; - font-size: 12px; - width: 80px; - /* Adjust the font size as per your requirement */ +.card-title { + font-size: 16px; + font-weight: 600; + flex: 1; + margin: 0 8px; } -.form-input { - flex: 1; - margin-bottom: 0; - border-bottom: 1px solid #c7c7c7; - padding: 5px; +.status { font-size: 12px; - background-color: #FFFFFF; - /* Adjust the font size as per your requirement */ + padding: 4px 8px; + border-radius: 4px; + font-weight: 500; +} + +.status.pending { + background-color: #f39c12; + color: white; +} + +.status.pass { + background-color: #00cd00; + color: white; +} + +.status.unqualified { + background-color: #ff0000; + color: white; +} + +.card-body { + padding: 16px; +} + +.info-row { + display: flex; + margin-bottom: 12px; + gap: 16px; +} + +.info-item { + flex: 1; +} + +.info-label { + display: block; + font-size: 12px; + color: #7f8c8d; + margin-bottom: 4px; +} + +.info-content { + font-size: 14px; + color: #2c3e50; + line-height: 1.5; +} + +.highlight { + font-weight: 600; + color: #2c3e50; + font-size: 16px; +} + +.meta-info { + display: flex; + gap: 16px; + font-size: 12px; + color: #95a5a6; + margin-top: 12px; +} + +.meta-item { + display: flex; + align-items: center; + gap: 4px; +} + +.card-actions { + padding: 12px 16px; + border-top: 1px solid #eee; + display: flex; + gap: 8px; +} + +button { + padding: 8px 16px; + border: 1px solid #ddd; + border-radius: 4px; + background-color: white; + font-size: 14px; + transition: all 0.2s; + flex: 1; +} + +button.primary { + background-color: #3498db; + color: white; + border-color: #2980b9; } .plus-button { @@ -381,7 +388,7 @@ width: 60px; height: 60px; border-radius: 50%; - background-color: #007bff; + background-color: #3498db; color: #ffffff; text-align: center; line-height: 59px; @@ -389,15 +396,6 @@ cursor: pointer; z-index: 1000; margin-bottom: 35px; -} - -page { - display: flex; - flex-direction: column; - box-sizing: border-box; - background-color: #efeff4; - min-height: 100%; - height: auto; } .tips { @@ -418,36 +416,26 @@ opacity: 1; } -.content { - width: 100%; +/* 鍝嶅簲寮忚璁� */ +@media (min-width: 768px) { + .inspection-list { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); + } + + .info-row { + flex-direction: row; + } } -.list-picture { - width: 100%; - height: 145px; -} - -.thumb-image { - width: 100%; - height: 100%; -} - -.ellipsis { - display: flex; - overflow: hidden; -} - -.uni-ellipsis-1 { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; -} - -.uni-ellipsis-2 { - overflow: hidden; - text-overflow: ellipsis; - display: -webkit-box; - -webkit-line-clamp: 2; - -webkit-box-orient: vertical; +@media (min-width: 300px) { + .inspection-list { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); + } + + .info-row { + flex-direction: row; + } } </style> \ No newline at end of file -- Gitblit v1.9.3