啊鑫
2025-07-20 fca192d3c38c5dcfbb6ace8bc71d6078f6a079b2
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="格式:OK-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;