xwt
2025-08-03 c47ec7b37e7f68c49b40fc4b59098e79626e66de
pages/QC/LLJ/Add.vue
@@ -63,15 +63,19 @@
      </view>
      <view class="dropdown-row">
         <view class="info-label">不良原因:</view>
         <select id="defect-reason" v-model="badreason" v-if="current">
         <select id="defect-reason" v-model="badreason" v-if="current" @change="saveRemarksGid">
            <option value=""></option>
            <option value="外观不良">外观不良</option>
            <option value="功能不良">功能不良</option>
            <option value="尺寸不良">尺寸不良</option>
            <option value="包装不良">包装不良</option>
            <option value="性能不良">性能不良</option>
            <option value="装配不良">装配不良</option>
            <option value="安规不良">安规不良</option>
         </select>
      </view>
      <view class="dropdown-row">
         <view class="info-label">所属车间:</view>
         <select id="defect-reason" v-model="WORKSHOP" v-if="current">
         <select id="defect-reason" v-model="WORKSHOP" v-if="current" @change="saveRemarksGid">
            <option value=""></option>
            <option value="生产一部">生产一部</option>
            <option value="生产二部">生产二部</option>
@@ -81,11 +85,12 @@
      </view>
      <view class="dropdown-row">
         <view class="info-label">评审状态:</view>
         <select id="defect-reason" v-model="PSTYPE" v-if="current">
         <select id="defect-reason" v-model="PSTYPE" v-if="current" @change="saveRemarksGid">
            <option value=""></option>
            <option value="特采/让步使用">特采/让步使用</option>
            <option value="挑选/返工使用">挑选/返工使用</option>
            <option value="退货">退货</option>
            <option value="待判">待判</option>
         </select>
      </view>
@@ -99,12 +104,13 @@
          <view class="info-label">破坏实验数量:</view>
          <view class="info-value highlight">{{formData.phsy}}</view>
      </view>
      <!-- 表单上方操作按钮区 -->
      <view class="top-action-buttons">
         <button class="action-btn" @click="getInspectionItems" v-if="this.current">获取检验项目</button>
         <button class="action-btn" @click="handleEmergencyRelease" v-if="this.current">紧急放行</button>
         <button class="action-btn" @click="handleWithdraw" v-if="this.current">撤回</button>
      </view>
      <!-- 检验项目表格 -->
      <view class="inspection-table">
@@ -141,22 +147,14 @@
         </table>
      </view>
      <!-- 页面内容区域 -->
      <view class="content-wrapper">
         <!-- 为底部按钮留出空间 -->
      </view>
      <!-- 固定在底部的操作按钮区 -->
      <view class="fixed-action-buttons">
         <button class="action-btn" @click="handleEmergencyRelease" v-if="this.current">紧急放行</button>
         <button class="action-btn" @click="handleWithdraw" v-if="this.current">撤回</button>
         <button class="action-btn" @click="getInspectionItems" v-if="this.current">获取检验项目</button>
         <button class="action-btn" @click="addDestruction" v-if="this.current">破坏实验</button>
         <button class="action-btn" @click="uploadImages">上传/查看图片</button>
         <button class="action-btn" @click="fetchDrawingNumber">调取PLM图纸</button>
         <button class="action-btn" @click="viewAttachmentInfo">查看附件信息</button>
         <button class="action-btn" @click="addDefectDescription" v-if="this.current">添加不良描述</button>
         <button class="action-btn primary" @click="submitInspection" v-if="this.current">检验提交</button>
      <!-- 表单下方操作按钮区 -->
      <view class="bottom-action-buttons">
         <button class="action-btn small" @click="addDestruction" v-if="this.current">破坏实验</button>
         <button class="action-btn small" @click="uploadImages">上传/查看图片</button>
         <button class="action-btn small" @click="fetchDrawingNumber">调取PLM图纸</button>
         <button class="action-btn small" @click="viewAttachmentInfo">查看附件信息</button>
         <button class="action-btn small" @click="addDefectDescription" v-if="this.current">添加不良描述</button>
         <button class="action-btn small primary" @click="submitInspection" v-if="this.current">检验提交</button>
      </view>
      <view v-if="remarksPopup" class="overlay">
         <view class="popup">
@@ -685,7 +683,9 @@
                  this.formData.PHSY = data.PHSY;
                  
                  console.log("加载的紧急放行状态:", this.formData.emergencyStatus);
                  this.badreason = data.blyy;
                  this.PSTYPE = data.pszt;
                  this.WORKSHOP = data.sscj;
                  this.$post({
                     url: "/LLJ/getJYItem",
                     data: {
@@ -1327,7 +1327,7 @@
            this.attachments = [];
            this.$post({
               url: "/LLJ/getAttachments",
               data: { releaseNo: this.formData.releaseNo }
               data: { itemNo: this.formData.itemNo }
            }).then(res => {
               this.attachmentsLoading = false;
               if (res.status === 0) {
@@ -1856,7 +1856,22 @@
            }
            // #endif
         },
         saveRemarksGid() {
           this.$post({
            url: "/LLJ/saveRemarksGid",
            data: {
              gid: this.formData.id,
              releaseNo: this.formData.releaseNo,
              BLYY: this.badreason,
              SSCJ: this.WORKSHOP,
              PSZT: this.PSTYPE
            }
           }).then(res => {
            if (res.data.tbBillList > 0) {
              this.$showMessage("自动保存成功");
            }
           });
         },
      }
   }
</script>
@@ -1867,7 +1882,7 @@
      font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;
      max-width: 1000px;
      margin: 0 auto;
      padding: 20px 20px 160px 20px; /* 底部增加padding为固定按钮留空间 */
      padding: 20px 20px 100px 20px; /* 底部增加内边距为固定按钮留空间 */
      background-color: #fff;
      box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
      min-height: 100vh;
@@ -1992,22 +2007,35 @@
      background-color: #f1f5f9;
   }
   /* 固定底部按钮样式 */
   .fixed-action-buttons {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      background-color: #fff;
      box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
      padding: 10px 15px 20px 15px;
      z-index: 100;
   /* 表单上方操作按钮区样式 */
   .top-action-buttons {
      display: flex;
      flex-direction: column;
      gap: 8px;
      max-height: 150px;
      overflow-y: auto;
      justify-content: flex-end;
      gap: 10px;
      margin: 20px 0;
      padding: 15px;
      background-color: #f8f9fa;
      border-radius: 8px;
      border: 1px solid #e9ecef;
   }
   /* 表单下方操作按钮区样式 */
.bottom-action-buttons {
   display: flex;
   justify-content: center;
   gap: 8px;
   padding: 12px;
   flex-wrap: wrap;
   align-items: center;
   position: fixed; /* 固定在屏幕底部 */
   bottom: 0; /* 距离底部0px */
   left: 0; /* 距离左边0px */
   right: 0; /* 距离右边0px */
   background-color: #fff; /* 背景色 */
   border-top: 1px solid #e9ecef; /* 顶部边框 */
   z-index: 1000; /* 确保在最上层 */
   box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1); /* 顶部阴影 */
}
   .action-btn {
      background-color: #ecf0f1;
@@ -2040,9 +2068,16 @@
      background-color: #2980b9;
   }
   /* 内容包装器,为底部按钮留出空间 */
   .content-wrapper {
      height: 20px; /* 额外的空白区域 */
   /* 小尺寸按钮样式 */
   .action-btn.small {
      padding: 10px 12px;
      font-size: 14px;
      min-height: 44px;
      white-space: nowrap;
      flex-shrink: 0;
      min-width: 80px;
      max-width: 120px;
      flex: 1;
   }
   /* 原有按钮样式保持兼容 */
@@ -2484,4 +2519,53 @@
   .attachment-popup-close:hover {
      background: #bdbdbd;
   }
   /* 响应式设计 */
   @media (max-width: 500px) {
      .info-row,
      .info-block {
         flex-direction: column;
         align-items: flex-start;
      }
      .doc-links {
         margin-left: 0;
         margin-top: 10px;
      }
      .top-action-buttons {
         flex-direction: column;
         align-items: stretch;
      }
      .bottom-action-buttons {
         flex-direction: row;
         align-items: center;
         justify-content: center;
         padding: 8px;
         gap: 6px;
         position: fixed; /* 保持固定在屏幕底部 */
         bottom: 0;
         left: 0;
         right: 0;
         background-color: #fff;
         border-top: 1px solid #e9ecef;
         z-index: 1000;
         box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
      }
      .action-btn.small {
         min-width: 70px;
         max-width: 100px;
         padding: 8px 10px;
         font-size: 13px;
         min-height: 40px;
      }
      .inspection-table table {
         display: block;
         overflow-x: auto;
      }
   }
</style>