From fca192d3c38c5dcfbb6ace8bc71d6078f6a079b2 Mon Sep 17 00:00:00 2001 From: 啊鑫 <t2856754968@163.com> Date: 星期日, 20 七月 2025 18:09:06 +0800 Subject: [PATCH] LLJ附件系统全面优化:多格式文件预览与APK兼容性 --- pages/QC/LLJ/detail.vue | 143 +++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 124 insertions(+), 19 deletions(-) diff --git a/pages/QC/LLJ/detail.vue b/pages/QC/LLJ/detail.vue index 9f4e0d5..68272a8 100644 --- a/pages/QC/LLJ/detail.vue +++ b/pages/QC/LLJ/detail.vue @@ -7,12 +7,14 @@ </view> <!-- 鏍囩鏍� --> - <view class="tabs"> - <view v-for="(tab, index) in tabs" :key="index" class="tab" :class="{active: currentTab === index}" - @tap="switchTab(index,tab.id)"> - {{ tab.fcheckItem }} + <scroll-view class="tabs" scroll-x="true" :show-scrollbar="false"> + <view class="tabs-container"> + <view v-for="(tab, index) in tabs" :key="index" class="tab" :class="{active: currentTab === index}" + @tap="switchTab(index,tab.id)"> + {{ tab.fcheckItem }} + </view> </view> - </view> + </scroll-view> <view class="tab-content"> <!-- 鍩烘湰淇℃伅 --> <view class="section"> @@ -97,9 +99,13 @@ <view class="info-value">{{formData.result}}</view> </view> - <view v-if="formData.remarks!=null" class="result-ng"> + <view v-if="formData.funit!=null" class="result-ng"> <view class="info-label">涓嶈壇鎻忚堪</view> - <view class="info-value danger">{{formData.remarks}}</view> + <view class="info-value danger">{{formData.funit}}</view> + </view> + <view class="result-ng"> + <view class="info-label">澶囨敞</view> + <view class="info-value danger">{{formData.meom}}</view> </view> </view> </view> @@ -108,7 +114,7 @@ <view class="section"> <view class="section-header">妫�楠岀粨鏋滃綍鍏�</view> <view class="section-body"> - <view class="input-group" v-if="tableData.length >= formData.checkQyt"> + <view class="input-group" v-if="tableData.length >= formData.checkQyt && formData.fstand == null"> <view class="input-wrapper"> <input v-model="batchInput" type="text" class="result-input" placeholder="鏍煎紡锛歄K-3 鎴� NG-3锛堣鍕夸慨鏀圭粨鏋滀负鏁板瓧鐨勫�硷級" placeholder-class="placeholder" @@ -130,8 +136,23 @@ <uni-icons type="compose" size="16" color="#fff"></uni-icons> 涓嶈壇鎻忚堪 </button> - <input v-if="(tableData.length < formData.checkQyt)" @input="search($event)" - v-model="inputTxt" type="text" class="result-input" placeholder="璇疯緭鍏ユ楠岀粨鏋�..." + <button v-if="this.current" class="btn upload-btn" @tap="upMeom"> + <uni-icons type="compose" size="16" color="#fff"></uni-icons> + 澶囨敞 + </button> + <input v-if="(tableData.length < formData.checkQyt) && formData.fupAllow && formData.fdownAllow" + @input="onNumberInput" + v-model="formData.fcheckResu" + type="text" + class="result-input" + placeholder="璇疯緭鍏ユ楠岀粨鏋�..." + placeholder-class="placeholder" /> + <input v-else + @input="search($event)" + v-model="inputTxt" + type="text" + class="result-input" + placeholder="璇疯緭鍏ユ楠岀粨鏋�..." placeholder-class="placeholder" /> <button v-if="(tableData.length < formData.checkQyt)" style="margin: 0px;background-color: #3498db;color:#ffffff ;" class="btn primary-btn" @@ -150,7 +171,13 @@ <uni-icons type="compose" size="16" color="#fff"></uni-icons> 涓嶈壇鎻忚堪 </button> + <button v-if="this.current" class="btn upload-btn" @tap="upMeom"> + <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.checkQyt)" @input="search($event)" @@ -203,7 +230,20 @@ </form> </view> </view> - <view v-if="showPopup" class="overlay"> + <view v-if="meomPopup" class="overlay"> + <view class="popup"> + <h3>淇敼澶囨敞</h3> + <form> + <view class="form-group"> + <label class="form-label">澶囨敞:</label> + <input class="form-input" type="text" v-model="meom" /> + </view> + <button class="updateBut" type="warn" @click="editMeom">淇敼</button> + <button @click="meomPopup = !meomPopup">鍙栨秷</button> + </form> + </view> + </view> + <view v-if="showMeom" class="overlay"> <view class="popup"> <h3>淇敼妫�楠岀粨鏋�</h3> <form :modelValue="editData"> @@ -212,7 +252,7 @@ <input class="form-input" type="text" v-model="editData.fcheckResu" /> </view> <button type="warn" @click="eidt">淇敼</button> - <button @click="showPopup = !showPopup">鍙栨秷</button> + <button @click="showMeom = !showMeom">鍙栨秷</button> </form> </view> </view> @@ -245,7 +285,11 @@ current: false, batchInput: '', batchInputError: '', - isBatchInputValid: false + isBatchInputValid: false, + funit:'', + meomPopup: false, + showMeom:false, + meom: '', } }, methods: { @@ -334,6 +378,14 @@ search(event) { this.formData.fcheckResu = event.detail.value; }, + onNumberInput(e) { + // 鍙厑璁歌緭鍏ユ暟瀛楀拰灏忔暟鐐� + let val = e.detail.value.replace(/[^\d.]/g, ''); + // 鍙厑璁镐竴涓皬鏁扮偣 + val = val.replace(/\.{2,}/g, '.'); + val = val.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.'); + this.formData.fcheckResu = val; + }, toggleResult(item) { let fstand = "鈭�"; let fcheckResu = "OK"; @@ -383,7 +435,11 @@ this.$showMessage("璇疯緭鍏ユ纭殑妫�楠屽��"); return; } - + + if (!/^-?\d+(\.\d+)?$/.test(this.formData.fcheckResu)) { + this.$showMessage("璇疯緭鍏ユ纭殑鏁板�硷紒"); + return; + } if (parseFloat(this.formData.fcheckResu) >= parseFloat(this.formData.fdownAllow) && parseFloat(this .formData .fcheckResu) <= parseFloat(this.formData.fupAllow)) { @@ -453,6 +509,7 @@ } else { this.isNumber = false; } + }) }, editResult(fcheckResu) { @@ -464,11 +521,50 @@ }, toDetail(item) { this.showPopup = !this.showPopup; + this.showMeom = !this.showMeom; this.editData = item; + + }, + upMeom() { + this.meomPopup = true; + + }, + editMeom() { + // 淇濆瓨澶囨敞淇℃伅 + if (this.meom) { + this.$post({ + url: "/LLJ/saveRemarksPid", + data: { + pid: this.formData.id, + meom: this.meom, + + } + }).then(res => { + if (res.data.tbBillList > 0) { + this.formData.meom = this.meom; + this.meomPopup = !this.meomPopup; + this.$showMessage("淇濆瓨鎴愬姛"); + } + }) + } else { + this.$post({ + url: "/LLJ/saveRemarksPid", + data: { + pid: this.formData.id, + meom: '' + } + }).then(res => { + if (res.data.tbBillList > 0) { + this.formData.meom = this.meom; + this.meomPopup = !this.meomPopup; + this.$showMessage("淇濆瓨鎴愬姛"); + } + }) + } }, editRemarks() { if (this.remarks) { - //saveRemarksGid + this.$post({ url: "/LLJ/saveRemarksPid", data: { @@ -574,7 +670,8 @@ url: "/LLJ/getJYItem", data: { id: this.formID, - releaseNo: this.releaseNo + releaseNo: this.releaseNo, + } }).then(res1 => { let tableData = res1.data.tbBillList @@ -636,17 +733,25 @@ } .tabs { - display: flex; background-color: $bg-color; border-bottom: 1px solid $border-color; + width: 100%; + white-space: nowrap; + + .tabs-container { + display: flex; + min-width: 100%; + } .tab { - flex: 1; + flex: none; + min-width: 120px; text-align: center; - padding: 12px 0; + padding: 12px 16px; border-right: 1px solid $border-color; color: #666; transition: all 0.3s; + white-space: nowrap; &:last-child { border-right: none; -- Gitblit v1.9.3