From 8b34fa36bfc735e53460159ac13814ff073c908a Mon Sep 17 00:00:00 2001 From: zjh <2207896513@qq.com> Date: 星期三, 23 四月 2025 19:41:11 +0800 Subject: [PATCH] 来料检页面大更新,适配手机,平板等多种设备 --- pages/QC/LLJ/List.vue | 1080 ++++++++++++++++++++++++++++++----------------------------- 1 files changed, 549 insertions(+), 531 deletions(-) diff --git a/pages/QC/LLJ/List.vue b/pages/QC/LLJ/List.vue index 14d90d4..051873c 100644 --- a/pages/QC/LLJ/List.vue +++ b/pages/QC/LLJ/List.vue @@ -1,354 +1,363 @@ <template> - <view class="inspection-app"> - <!-- 椤堕儴绛涢�夊尯 --> - <view class="filter-section"> - <view class="filter-controls"> - <view class="dropdown-filter"> - <picker @change="onProjectChange" :value="projectIndex" :range="projects"> - <view class="picker">{{projects[projectIndex]}}</view> - </picker> - - </view> - <view class="dropdown-filter"> - <picker @change="onOptionsChange" :value="optionsIndex" :range="options"> - <view class="picker">{{options[optionsIndex]}}</view> - </picker> - </view> - <!-- 鏂板鎼滅储妗嗗拰鎸夐挳 --> - <view class="search-container"> - <input - class="search-input" - v-model="searchValue" - :placeholder="'璇疯緭鍏�'+options[optionsIndex]" - @confirm="handleSearch" - /> - <button class="search-button" @click="handleSearch">鎼滅储</button> - </view> - - <view class="status-tabs"> - <button - :class="['tab-button', activeTab === 0 ? 'active' : '']" - @click="switchTab(0)" - >鏈楠�({{uncheckedCount}})</button> - <button - :class="['tab-button', activeTab === 1 ? 'active' : '']" - @click="switchTab(1)" - >{{checkedCount}}</button> - </view> - - </view> - </view> + <view class="inspection-app"> + <!-- 椤堕儴绛涢�夊尯 --> + <view class="filter-section"> + <view class="filter-controls"> + <view class="dropdown-filter"> + <picker @change="onProjectChange" :value="projectIndex" :range="projects"> + <view class="picker">{{projects[projectIndex]}}</view> + </picker> - <!-- 妫�楠屽崟鍒楄〃 --> - <view class="inspection-list"> - <!-- 妫�楠屽崟鍗$墖1 --> - <view class="inspection-card" v-for="(item, index) in inspectionList" :key="index"> - <view class="card-header"> - <text class="badge urgent" v-if="item.urgentFlag == 1">鎬ユ枡</text> - <text class="badge urgent" v-if="item.jycs == 1">瓒呮椂</text> - <text class="badge normal" v-if="item.ftype == 1">濮斿</text> - <text class="badge normal" v-if="item.first == 1">棣栨鏉ユ枡</text> - <text class="card-title">妫�楠屽崟鍙�: {{item.releaseNo}}</text> - <text class="status pending" v-if="item.userName==null && item.activeTab==0">寰呭垎閰�</text> - <text class="status assigned" v-if="item.userName!=null && item.activeTab==0">宸插垎閰�</text> - <text class="status pass" v-if="item.fcheckResu=='鍚堟牸' && item.activeTab==1">鍚堟牸</text> - <text class="status Unqualified" v-if="item.fcheckResu=='涓嶅悎鏍�' && item.activeTab==1">涓嶅悎鏍�</text> - </view> - - <view class="card-body"> - <view class="info-row"> - <view class="info-item"> - <text class="info-label">鐗╂枡淇℃伅</text> - <text class="info-content">{{item.itemNo}} | {{item.itemName}}<br>{{item.itemModel}}</text> - </view> - <view class="info-item"> - <text class="info-label">鏁伴噺</text> - <text class="info-content highlight">{{item.fcovertQty}}</text> - </view> - </view> - - <view class="info-row"> - <view class="info-item"> - <text class="info-label">渚涘簲鍟�</text> - <text class="info-content">{{item.suppName}}</text> - </view> - <view class="info-item"> - <text class="info-label">椤圭洰</text> - <text class="info-content">{{item.projectCodes}}</text> - </view> - </view> - <view class="info-row" > - <view class="info-item" v-if="item.newFngDesc!=null"> - <text class="info-label">涓婃涓嶈壇鎻忚堪</text> - <text class="info-content">{{item.newFngDesc}}</text> - </view> - <view class="info-item" v-if="item.fngDesc!=null"> - <text class="info-label">涓嶈壇鎻忚堪</text> - <text class="info-content">{{item.fngDesc}}</text> - </view> + </view> + <view class="dropdown-filter"> + <picker @change="onOptionsChange" :value="optionsIndex" :range="options"> + <view class="picker">{{options[optionsIndex]}}</view> + </picker> + </view> + <!-- 鏂板鎼滅储妗嗗拰鎸夐挳 --> + <view class="search-container"> + <input class="search-input" v-model="searchValue" :placeholder="'璇疯緭鍏�'+options[optionsIndex]" + @confirm="handleSearch" /> + <button class="search-button" @click="handleSearch">鎼滅储</button> + </view> + + <view class="status-tabs"> + <button :class="['tab-button', activeTab === 0 ? 'active' : '']" + @click="switchTab(0)">鏈楠�({{uncheckedCount}})</button> + <button :class="['tab-button', activeTab === 1 ? 'active' : '']" + @click="switchTab(1)">{{checkedCount}}</button> + </view> + + </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"><uni-icons type="person" size="14" color="#95a5a6"></uni-icons> {{item.userName}}</text> - </view> - </view> - - <view class="card-actions"> - <button v-if="item.activeTab==0 && item.IQCJL==1" @click="assignTask(item)">{{item.userName == null ? '鍒嗛厤' : '閲嶆柊鍒嗛厤'}}</button> - <button v-if="item.activeTab==0" class="primary" @click="startInspection(item)">寮�濮嬫楠�</button> - <button v-if="item.activeTab==1" class="primary" @click="startInspection(item)">鏌ョ湅</button> - </view> - </view> - </view> - </view> + + <!-- 妫�楠屽崟鍒楄〃 --> + <view class="inspection-list"> + <!-- 妫�楠屽崟鍗$墖1 --> + <view class="inspection-card" v-for="(item, index) in inspectionList" :key="index"> + <view class="card-header"> + <text class="badge urgent" v-if="item.urgentFlag == 1">鎬ユ枡</text> + <text class="badge urgent" v-if="item.jycs == 1">瓒呮椂</text> + <text class="badge normal" v-if="item.ftype == 1">濮斿</text> + <text class="badge normal" v-if="item.first == 1">棣栨鏉ユ枡</text> + <text class="card-title">妫�楠屽崟鍙�: {{item.releaseNo}}</text> + <text class="status pending" v-if="item.userName==null && item.activeTab==0">寰呭垎閰�</text> + <text class="status assigned" v-if="item.userName!=null && item.activeTab==0">宸插垎閰�</text> + <text class="status pass" v-if="item.fcheckResu=='鍚堟牸' && item.activeTab==1">鍚堟牸</text> + <text class="status Unqualified" v-if="item.fcheckResu=='涓嶅悎鏍�' && item.activeTab==1">涓嶅悎鏍�</text> + </view> + + <view class="card-body"> + <view class="info-row"> + <view class="info-item"> + <text class="info-label">鐗╂枡淇℃伅</text> + <text class="info-content">{{item.itemNo}} | {{item.itemName}}<br>{{item.itemModel}}</text> + </view> + + </view> + + <view class="info-row"> + <view class="info-item"> + <text class="info-label">渚涘簲鍟�</text> + <text class="info-content">{{item.suppName}}</text> + </view> + <view class="info-item"> + <text class="info-label">椤圭洰</text> + <text class="info-content">{{item.projectCodes}}</text> + </view> + <view class="info-item" v-if="item.extendNo1!=null"> + <text class="info-label">鎶�鏀圭姸鎬�</text> + <text class="info-content">{{item.extendNo1}}</text> + </view> + <view class="info-item"> + <text class="info-label">鏁伴噺</text> + <text class="info-content highlight">{{item.fcovertQty}}</text> + </view> + + </view> + <view class="info-row"> + + </view> + <view class="info-row"> + <view class="info-item" v-if="item.newFngDesc!=null"> + <text class="info-label">涓婃涓嶈壇鎻忚堪</text> + <text class="info-content">{{item.newFngDesc}}</text> + </view> + <view class="info-item" v-if="item.fngDesc!=null"> + <text class="info-label">涓嶈壇鎻忚堪</text> + <text class="info-content">{{item.fngDesc}}</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"><uni-icons type="person" size="14" color="#95a5a6"></uni-icons> + {{item.userName}}</text> + </view> + </view> + + <view class="card-actions"> + <button v-if="item.activeTab==0 && item.IQCJL==1" + @click="assignTask(item)">{{item.userName == null ? '鍒嗛厤' : '閲嶆柊鍒嗛厤'}}</button> + <button v-if="item.activeTab==0" class="primary" @click="startInspection(item)">寮�濮嬫楠�</button> + <button v-if="item.activeTab==1" class="primary" @click="startInspection(item)">鏌ョ湅</button> + </view> + </view> + </view> + </view> </template> <script> -export default { - data() { - return { - projectIndex: 0, - optionsIndex:0, - projects: ['褰撳墠', '鍏ㄩ儴'], - activeTab: 0, // 0-鏈楠�, 1-宸叉楠� - uncheckedCount: 0, - checkedCount: '宸叉楠�', - inspectionList: [], - pageIndex: 1, - limit: 20, - IQCJL:0, - options: ['椤圭洰', '鐗╂枡缂栧彿', '鐗╂枡鍚嶇О', '渚涘簲鍟�', '閲囪喘鍛�'], - searchValue:'' - - } - }, - onLoad() { - //椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢 - this.init(); - }, - methods: { - //鎼滅储 - onOptionsChange(e) { - this.optionsIndex = e.detail.value; - // 鏍规嵁閫夋嫨鐨勯�夐」璁剧疆鎼滅储瀛楁 - const fieldMap = { - 0: 'projectCodes', // 椤圭洰 - 1: 'itemNo', // 鐗╂枡缂栧彿 - 2: 'itemName', // 鐗╂枡鍚嶇О - 3: 'suppName', // 渚涘簲鍟� - 4: 'purchaser' // 閲囪喘鍛� - }; - this.selectedField = fieldMap[this.optionsIndex]; - }, - //鎼滅储鎸夐挳鐐瑰嚮浜嬩欢 - handleSearch() { - this.init(); - }, - init() { - - let result = "鏈畬鎴�"; - if (this.activeTab === 1) { - result = "宸插畬鎴�"; - } - - if (this.isLoading) return; // 濡傛灉姝e湪鍔犺浇鍒欎笉缁х画鎵ц - - this.isLoading = true; - - //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴� - let userName = this.$loginInfo.account; - - - //椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢 - this.$post({ - url: "/LLJ/getPage", - data: { - pageIndex: this.pageIndex, - limit: this.limit, - createUser: userName, - result: result, - SearchValue:this.searchValue, - selectedIndex:this.optionsIndex,//涓嬫媺妗嗙瓫閫夋潯浠� - userIndex:this.projectIndex - } - }).then(res => { - if (this.pageIndex === 1) { - // 濡傛灉鏄涓�椤碉紝鐩存帴瑕嗙洊鍘熸暟鎹� - this.inspectionList = res.data.tbBillList; - //娣诲姞Tab淇℃伅锛屽垽鏂槸宸叉杩樻槸鏈鏁版嵁 - this.inspectionList.forEach((item, index) => { - this.$set(item, 'activeTab', this.activeTab); - this.$set(item, 'IQCJL', this.IQCJL); - }); - } else { - - if (res.data.tbBillList.length > 0) { - // 濡傛灉鏄笅涓�椤碉紝杩藉姞鏂版暟鎹� - this.inspectionList = [...this.inspectionList, ...res.data.tbBillList]; - //娣诲姞Tab淇℃伅锛屽垽鏂槸宸叉杩樻槸鏈鏁版嵁 - this.inspectionList.forEach((item, index) => { - this.$set(item, 'activeTab', this.activeTab); - this.$set(item, 'IQCJL', this.IQCJL); - }); - } - - } - console.log(this.inspectionList) - this.totalCount = res.data.totalCount; - this.totalPage = Math.ceil(this.totalCount / this.limit); - - this.noData = this.pageIndex >= this.totalPage; - this.isLoading = false; // 缁撴潫鍔犺浇 - if (this.activeTab === 1) { - this.checkedCount='宸叉楠岋紙'+res.totalCount+'锛�'; - }else{ - this.uncheckedCount=res.totalCount; + export default { + data() { + return { + projectIndex: 0, + optionsIndex: 0, + projects: ['褰撳墠', '鍏ㄩ儴'], + activeTab: 0, // 0-鏈楠�, 1-宸叉楠� + uncheckedCount: 0, + checkedCount: '宸叉楠�', + inspectionList: [], + pageIndex: 1, + limit: 20, + IQCJL: 0, + options: ['椤圭洰', '鐗╂枡缂栧彿', '鐗╂枡鍚嶇О', '渚涘簲鍟�', '閲囪喘鍛�'], + searchValue: '' + } - }).catch(() => { - this.isLoading = false; // 鍑虹幇閿欒鏃剁粨鏉熷姞杞� - }); - }, - onProjectChange(e) { - this.projectIndex = e.detail.value - // 杩欓噷鍙互娣诲姞绛涢�夐�昏緫 - // uni.showToast({ - // title: `宸查�夋嫨椤圭洰: ${this.projects[this.projectIndex]}`, - // icon: 'none' - // }) - this.init(); - }, - onOptionsChange(e) { - this.optionsIndex = e.detail.value - // 杩欓噷鍙互娣诲姞绛涢�夐�昏緫 - // uni.showToast({ - // title: `宸查�夋嫨椤圭洰: ${this.projects[this.projectIndex]}`, - // icon: 'none' - // }) - - }, - switchTab(index) { - this.activeTab = index - // 杩欓噷鍙互娣诲姞鍒囨崲鏍囩椤电殑閫昏緫 - this.inspectionList=[]; - this.init(); - }, - //璺宠浆妫�楠屽崟 - startInspection(item) { - if (this.activeTab === 1) { - uni.navigateTo({ - url: 'Add?id='+item.id+'&lotNo='+item.lotNo+'&releaseNo='+item.releaseNo+'¤t=1' - }) - }else{ - uni.navigateTo({ - url: 'Add?id='+item.id+'&lotNo='+item.lotNo+'&releaseNo='+item.releaseNo+'¤t=0' - }) + }, + onLoad() { + //椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢 + this.init(); + }, + methods: { + //鎼滅储 + onOptionsChange(e) { + this.optionsIndex = e.detail.value; + // 鏍规嵁閫夋嫨鐨勯�夐」璁剧疆鎼滅储瀛楁 + const fieldMap = { + 0: 'projectCodes', // 椤圭洰 + 1: 'itemNo', // 鐗╂枡缂栧彿 + 2: 'itemName', // 鐗╂枡鍚嶇О + 3: 'suppName', // 渚涘簲鍟� + 4: 'purchaser' // 閲囪喘鍛� + }; + this.selectedField = fieldMap[this.optionsIndex]; + }, + //鎼滅储鎸夐挳鐐瑰嚮浜嬩欢 + handleSearch() { + this.init(); + }, + init() { + + let result = "鏈畬鎴�"; + if (this.activeTab === 1) { + result = "宸插畬鎴�"; + } + + if (this.isLoading) return; // 濡傛灉姝e湪鍔犺浇鍒欎笉缁х画鎵ц + + this.isLoading = true; + + //鑾峰彇褰撳墠鐧诲綍鐨勭敤鎴� + let userName = this.$loginInfo.account; + + + //椤甸潰鍔犺浇鏃惰皟鐢ㄧ殑浜嬩欢 + this.$post({ + url: "/LLJ/getPage", + data: { + pageIndex: this.pageIndex, + limit: this.limit, + createUser: userName, + result: result, + SearchValue: this.searchValue, + selectedIndex: this.optionsIndex, //涓嬫媺妗嗙瓫閫夋潯浠� + userIndex: this.projectIndex + } + }).then(res => { + if (this.pageIndex === 1) { + // 濡傛灉鏄涓�椤碉紝鐩存帴瑕嗙洊鍘熸暟鎹� + this.inspectionList = res.data.tbBillList; + //娣诲姞Tab淇℃伅锛屽垽鏂槸宸叉杩樻槸鏈鏁版嵁 + this.inspectionList.forEach((item, index) => { + this.$set(item, 'activeTab', this.activeTab); + this.$set(item, 'IQCJL', this.IQCJL); + }); + } else { + + if (res.data.tbBillList.length > 0) { + // 濡傛灉鏄笅涓�椤碉紝杩藉姞鏂版暟鎹� + this.inspectionList = [...this.inspectionList, ...res.data.tbBillList]; + //娣诲姞Tab淇℃伅锛屽垽鏂槸宸叉杩樻槸鏈鏁版嵁 + this.inspectionList.forEach((item, index) => { + this.$set(item, 'activeTab', this.activeTab); + this.$set(item, 'IQCJL', this.IQCJL); + }); + } + + } + console.log(this.inspectionList) + this.totalCount = res.data.totalCount; + this.totalPage = Math.ceil(this.totalCount / this.limit); + + this.noData = this.pageIndex >= this.totalPage; + this.isLoading = false; // 缁撴潫鍔犺浇 + if (this.activeTab === 1) { + this.checkedCount = '宸叉楠岋紙' + res.totalCount + '锛�'; + } else { + this.uncheckedCount = res.totalCount; + } + }).catch(() => { + this.isLoading = false; // 鍑虹幇閿欒鏃剁粨鏉熷姞杞� + }); + }, + onProjectChange(e) { + this.projectIndex = e.detail.value + // 杩欓噷鍙互娣诲姞绛涢�夐�昏緫 + // uni.showToast({ + // title: `宸查�夋嫨椤圭洰: ${this.projects[this.projectIndex]}`, + // icon: 'none' + // }) + this.init(); + }, + onOptionsChange(e) { + this.optionsIndex = e.detail.value + // 杩欓噷鍙互娣诲姞绛涢�夐�昏緫 + // uni.showToast({ + // title: `宸查�夋嫨椤圭洰: ${this.projects[this.projectIndex]}`, + // icon: 'none' + // }) + + }, + switchTab(index) { + this.activeTab = index + // 杩欓噷鍙互娣诲姞鍒囨崲鏍囩椤电殑閫昏緫 + this.inspectionList = []; + this.init(); + }, + //璺宠浆妫�楠屽崟 + startInspection(item) { + console.log(this.activeTab); + if (this.activeTab === 1) { + uni.navigateTo({ + url: 'Add?id=' + item.id + '&lotNo=' + item.lotNo + '&releaseNo=' + item.releaseNo + + '¤t=B' + }) + } else { + uni.navigateTo({ + url: 'Add?id=' + item.id + '&lotNo=' + item.lotNo + '&releaseNo=' + item.releaseNo + + '¤t=A' + }) + } + + }, + assignTask(item) { + // uni.showToast({ + // title: `${item.statusClass === 'assigned' ? '閲嶆柊鍒嗛厤' : '鍒嗛厤'}妫�楠屽崟: ${item.releaseNo}`, + // icon: 'none' + // }) + // 杩欓噷鍙互娣诲姞鍒嗛厤浠诲姟鐨勯�昏緫 + uni.navigateTo({ + url: 'UpdateCheckBy?releaseNo=' + item.releaseNo + '&userID=' + this.$loginInfo.account + + '&staffName=' + item.userName + }); + }, + /** + * 涓嬫媺鍒锋柊鍥炶皟鍑芥暟 + */ + onPullDownRefresh() { + + this.pageIndex = 1; + //閲嶆柊鎵ц涓�閬嶆煡璇� + this.init(); + // this.tipShow = true; + //鍏抽棴鍔ㄧ敾 + uni.stopPullDownRefresh(); + + // setTimeout(function () { + // this.tipShow = false; + // }, 6000); + + }, + /** + * 涓婃媺鍔犺浇鍥炶皟鍑芥暟 + */ + onReachBottom() { + if (this.noData || this.isLoading) return; + this.pageIndex++; + this.init(); // 鍔犺浇鏇村鏁版嵁 + }, + onShow() { + //姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉� + // this.pageIndex = 1; + // this.data = []; + // //this.current = 0 + this.init(); + }, + async onLoad() { + if (this.$loginInfo.roleid.indexOf("90134") != -1 || this.$loginInfo.account == "PL017") { + this.IQCJL = 1; + } else { + this.IQCJL = 0; + } + await this.init(); // 鑷畾涔夌殑鍒锋柊鍑芥暟 + + } } - - }, - assignTask(item) { - // uni.showToast({ - // title: `${item.statusClass === 'assigned' ? '閲嶆柊鍒嗛厤' : '鍒嗛厤'}妫�楠屽崟: ${item.releaseNo}`, - // icon: 'none' - // }) - // 杩欓噷鍙互娣诲姞鍒嗛厤浠诲姟鐨勯�昏緫 - uni.navigateTo({ - url: 'UpdateCheckBy?releaseNo=' + item.releaseNo+'&userID='+this.$loginInfo.account+'&staffName='+item.userName - }); - }, - /** - * 涓嬫媺鍒锋柊鍥炶皟鍑芥暟 - */ - onPullDownRefresh() { - - this.pageIndex = 1; - //閲嶆柊鎵ц涓�閬嶆煡璇� - this.init(); - // this.tipShow = true; - //鍏抽棴鍔ㄧ敾 - uni.stopPullDownRefresh(); - - // setTimeout(function () { - // this.tipShow = false; - // }, 6000); - - }, - /** - * 涓婃媺鍔犺浇鍥炶皟鍑芥暟 - */ - onReachBottom() { - if (this.noData || this.isLoading) return; - this.pageIndex++; - this.init(); // 鍔犺浇鏇村鏁版嵁 - }, - onShow() { - //姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉� - // this.pageIndex = 1; - // this.data = []; - // //this.current = 0 - this.init(); - }, - async onLoad() { - if(this.$loginInfo.roleid.indexOf("90134") != -1 || this.$loginInfo.account=="PL017") - { - this.IQCJL=1; - }else - { - this.IQCJL=0; - } - await this.init(); // 鑷畾涔夌殑鍒锋柊鍑芥暟 - } - } -} </script> <style scoped> -/* 鍩虹鏍峰紡閲嶇疆 */ -.inspection-app { - padding: 10px; - background-color: #f5f7fa; - min-height: 100vh; -} + /* 鍩虹鏍峰紡閲嶇疆 */ + .inspection-app { + padding: 10px; + background-color: #f5f7fa; + min-height: 100vh; + } -/* 椤堕儴绛涢�夊尯 */ -.filter-section { - margin-bottom: 24px; -} + /* 椤堕儴绛涢�夊尯 */ + .filter-section { + margin-bottom: 24px; + } -.filter-section h1 { - font-size: 24px; - font-weight: 600; - color: #2c3e50; - margin-bottom: 16px; -} -/* 鏂板鎼滅储妗嗘牱寮� */ -.search-container { - display: flex; - flex: 1; - margin: 0 10px; - height: 36px; /* 涓庡叾浠栨帶浠堕珮搴︿竴鑷� */ -} + .filter-section h1 { + font-size: 24px; + font-weight: 600; + color: #2c3e50; + margin-bottom: 16px; + } -.search-input { - flex: 1; - padding: 8px 12px; - border: 1px solid #ddd; - border-radius: 4px 0 0 4px; - font-size: 14px; - background-color: white; -} + /* 鏂板鎼滅储妗嗘牱寮� */ + .search-container { + display: flex; + flex: 1; + margin: 0 10px; + height: 36px; + /* 涓庡叾浠栨帶浠堕珮搴︿竴鑷� */ + } -.search-button { - padding: 0 12px; - border: 1px solid #3498db; - border-radius: 0 4px 4px 0; - background-color: #3498db; - color: white; - font-size: 14px; - margin: 0; -} -/* .filter-controls { + .search-input { + flex: 1; + padding: 8px 12px; + border: 1px solid #ddd; + border-radius: 4px 0 0 4px; + font-size: 14px; + background-color: white; + } + + .search-button { + padding: 0 12px; + border: 1px solid #3498db; + border-radius: 0 4px 4px 0; + background-color: #3498db; + color: white; + font-size: 14px; + margin: 0; + } + + /* .filter-controls { display: flex; justify-content: space-between; align-items: center; @@ -361,226 +370,235 @@ align-items: center; gap: 8px; } */ -.filter-controls { - display: flex; - flex-wrap: wrap; - gap: 10px; -} + .filter-controls { + display: flex; + flex-wrap: wrap; + gap: 10px; + } -.dropdown-filter { - min-width: 70px; -} -.filter-label { - font-size: 14px; - color: #7f8c8d; -} + .dropdown-filter { + min-width: 70px; + } -.picker { - padding: 8px 12px; - border: 1px solid #ddd; - border-radius: 4px; - background-color: white; - font-size: 14px; - min-width: 120px; -} + .filter-label { + font-size: 14px; + color: #7f8c8d; + } -.status-tabs { - display: flex; - border-radius: 4px; - overflow: hidden; - background-color: #ecf0f1; -} - .status-tabs { - flex: 1; - min-width: 200px; -} -.tab-button { - padding: 0px 16px; - border: none; - background: none; - font-size: 14px; - transition: all 0.3s; - margin: 0; - height: 35px; -} + .picker { + padding: 8px 12px; + border: 1px solid #ddd; + border-radius: 4px; + background-color: white; + font-size: 14px; + min-width: 120px; + } -.tab-button.active { - background-color: #3498db; - color: white; -} + .status-tabs { + display: flex; + border-radius: 4px; + overflow: hidden; + background-color: #ecf0f1; + } -/* 妫�楠屽崟鍒楄〃 */ -.inspection-list { - display: flex; - flex-direction: column; - gap: 20px; -} + .status-tabs { + flex: 1; + min-width: 200px; + } -/* 妫�楠屽崟鍗$墖 */ -.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; -} + .tab-button { + padding: 0px 16px; + border: none; + background: none; + font-size: 14px; + transition: all 0.3s; + margin: 0; + height: 35px; + } -.card-header { - padding: 16px; - border-bottom: 1px solid #eee; - display: flex; - align-items: center; -} + .tab-button.active { + background-color: #3498db; + color: white; + } -.card-title { - font-size: 16px; - font-weight: 600; - flex: 1; - margin: 0 8px; -} + /* 妫�楠屽崟鍒楄〃 */ + .inspection-list { + display: flex; + flex-direction: column; + gap: 20px; + } -.badge { - font-size: 12px; - padding: 2px 6px; - border-radius: 10px; - margin-right: 8px; -} + /* 妫�楠屽崟鍗$墖 */ + .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; + } -.badge.urgent { - background-color: #e74c3c; - color: white; -} -.badge.normal { - background-color: #ffaa00; - color: white; -} + .card-header { + padding: 16px; + border-bottom: 1px solid #eee; + display: flex; + align-items: center; + } -.status { - font-size: 12px; - padding: 4px 8px; - border-radius: 4px; - font-weight: 500; -} + .card-title { + font-size: 16px; + font-weight: 600; + flex: 1; + margin: 0 8px; + } -.status.pending { - background-color: #f39c12; - color: white; -} + .badge { + font-size: 12px; + padding: 2px 6px; + border-radius: 10px; + margin-right: 8px; + } -.status.assigned { - background-color: #3498db; - color: white; -} -.status.pass { - background-color: #00cd00; - color: white; -} -.status.Unqualified { - background-color: #ff0000; - color: white; -} + .badge.urgent { + background-color: #e74c3c; + color: white; + } -.card-body { - padding: 16px; -} + .badge.normal { + background-color: #ffaa00; + color: white; + } -.info-row { - display: flex; - margin-bottom: 12px; - gap: 16px; -} + .status { + font-size: 12px; + padding: 4px 8px; + border-radius: 4px; + font-weight: 500; + } -.info-item { - flex: 1; -} + .status.pending { + background-color: #f39c12; + color: white; + } -.info-label { - display: block; - font-size: 12px; - color: #7f8c8d; - margin-bottom: 4px; -} + .status.assigned { + background-color: #3498db; + color: white; + } -.info-content { - font-size: 14px; - color: #2c3e50; - line-height: 1.5; -} + .status.pass { + background-color: #00cd00; + color: white; + } -.highlight { - font-weight: 600; - color: #2c3e50; - font-size: 16px; -} + .status.Unqualified { + background-color: #ff0000; + color: white; + } -.meta-info { - display: flex; - gap: 16px; - font-size: 12px; - color: #95a5a6; - margin-top: 12px; -} + .card-body { + padding: 16px; + } -.meta-item { - display: flex; - align-items: center; - gap: 4px; -} + .info-row { + display: flex; + margin-bottom: 12px; + gap: 16px; + } -.card-actions { - padding: 12px 16px; - border-top: 1px solid #eee; - display: flex; - gap: 8px; -} + .info-item { + flex: 1; + } -button { - padding: 8px 16px; - border: 1px solid #ddd; - border-radius: 4px; - background-color: white; - font-size: 14px; - transition: all 0.2s; - flex: 1; -} + .info-label { + display: block; + font-size: 12px; + color: #7f8c8d; + margin-bottom: 4px; + } -button.primary { - background-color: #3498db; - color: white; - border-color: #2980b9; -} + .info-content { + font-size: 14px; + color: #2c3e50; + line-height: 1.5; + } -/* 鍝嶅簲寮忚璁� */ -@media (min-width: 768px) { - .inspection-list { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); - } - - .info-row { - flex-direction: row; - } - -} -/* 鍝嶅簲寮忚璁� */ -@media (min-width: 300px) { - .inspection-list { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); - } - - .info-row { - flex-direction: row; - } - .picker { - padding: 8px 12px; - border: 1px solid #ddd; - border-radius: 4px; - background-color: white; - font-size: 14px; - min-width: 10px; - } - /* .search-container { + .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; + } + + /* 鍝嶅簲寮忚璁� */ + @media (min-width: 768px) { + .inspection-list { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); + } + + .info-row { + flex-direction: row; + } + + } + + /* 鍝嶅簲寮忚璁� */ + @media (min-width: 300px) { + .inspection-list { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); + } + + .info-row { + flex-direction: row; + } + + .picker { + padding: 8px 12px; + border: 1px solid #ddd; + border-radius: 4px; + background-color: white; + font-size: 14px; + min-width: 10px; + } + + /* .search-container { order: 3; width: 100%; margin: 0px 0 0 0; @@ -590,5 +608,5 @@ order: 4; width: 100%; } */ -} + } </style> \ No newline at end of file -- Gitblit v1.9.3