111
啊鑫
6 天以前 2b0e70bb88ced210dbc693a4d2ded2d658b1da02
pages/QC/OQC/Add.vue
@@ -5,39 +5,39 @@
         <form :modelValue="formData">
            <view class="form-group">
               <label class="form-label">检验单号:</label>
               <input class="form-input" disabled="true" type="text" v-model="formData.releaseNo" />
          <input v-model="formData.releaseNo" class="form-input" disabled="true" type="text"/>
            </view>
            <view class="form-group">
               <label class="form-label">物料编码:</label>
               <input class="form-input" disabled="true" type="text" v-model="formData.itemNo" />
          <input v-model="formData.itemNo" class="form-input" disabled="true" type="text"/>
            </view>
            <view class="form-group">
               <label class="form-label">物料名称:</label>
               <input class="form-input" disabled="true" type="text" v-model="formData.itemName" />
          <input v-model="formData.itemName" class="form-input" disabled="true" type="text"/>
            </view>
            <view class="form-group">
               <label class="form-label">物料规格:</label>
               <input class="form-input" disabled="true" type="text" v-model="formData.itemModel" />
          <input v-model="formData.itemModel" class="form-input" disabled="true" type="text"/>
            </view>
            <view class="form-group">
               <label class="form-label">订单编号:</label>
               <input class="form-input" disabled="true" type="text" v-model="formData.saleOrderNo" />
          <input v-model="formData.saleOrderNo" class="form-input" disabled="true" type="text"/>
            </view>
            <view class="form-group">
               <label class="form-label">送检数量:</label>
               <input class="form-input" disabled="true" type="number" v-model="formData.planQty" />
          <input v-model="formData.planQty" class="form-input" disabled="true" type="number"/>
            </view>
            <view class="form-group">
               <label class="form-label">创建时间:</label>
               <input class="form-input" disabled="true" type="text" v-model="formData.createDate" />
          <input v-model="formData.createDate" class="form-input" disabled="true" type="text"/>
            </view>
            <view class="form-group">
               <label class="form-label">创建人:</label>
               <input class="form-input" disabled="true" type="text" v-model="formData.createUser" />
          <input v-model="formData.createUser" class="form-input" disabled="true" type="text"/>
            </view>
            <view class="form-group">
               <label class="form-label">不良描述:</label>
               <input class="form-input" disabled="true" type="text" v-model="formData.remeke" />
          <input v-model="formData.remeke" class="form-input" disabled="true" type="text"/>
            </view>
         </form>
      </view>
@@ -50,27 +50,30 @@
            <view class="header-badge">{{ tableData.length }}</view>
         </view>
         
         <view class="inspection-list" v-if="tableData.length > 0">
            <view v-for="(item, index) in tableData" :key="index" class="inspection-item"
               :class="{ 'item-completed': item.fcheckResu === '合格', 'item-failed': item.fcheckResu === '不合格' }">
      <view v-if="tableData.length > 0" class="inspection-list">
        <view v-for="(item, index) in tableData" :key="index" :class="{ 'item-completed': item.fcheckResu === '合格', 'item-failed': item.fcheckResu === '不合格' }"
              class="inspection-item">
               
               <!-- 左侧状态指示器 -->
               <view class="status-indicator"
                  :class="{ 'status-pass': item.fcheckResu === '合格', 'status-fail': item.fcheckResu === '不合格', 'status-pending': item.fcheckResu === '未检验' }">
          <view :class="{ 'status-pass': item.fcheckResu === '合格', 'status-fail': item.fcheckResu === '不合格', 'status-pending': item.fcheckResu === '未检验' }"
                class="status-indicator">
               </view>
               
               <!-- 主要内容区域 -->
               <view class="item-content">
                  <view class="item-header">
                     <view class="item-title">{{ item.fcheckItem }}</view>
                     <view class="status-badge"
                        :class="{ 'badge-pass': item.fcheckResu === '合格', 'badge-fail': item.fcheckResu === '不合格', 'badge-pending': item.fcheckResu === '未检验' }">
                        <text class="status-icon">{{ item.fcheckResu === '合格' ? '✓' : item.fcheckResu === '不合格' ? '✗' : '○' }}</text>
              <view :class="{ 'badge-pass': item.fcheckResu === '合格', 'badge-fail': item.fcheckResu === '不合格', 'badge-pending': item.fcheckResu === '未检验' }"
                    class="status-badge">
                <text class="status-icon">{{
                    item.fcheckResu === '合格' ? '✓' : item.fcheckResu === '不合格' ? '✗' : '○'
                  }}
                </text>
                        <text class="status-text">{{ item.fcheckResu }}</text>
                     </view>
                  </view>
                  
                  <view class="item-description" v-if="item.fcheckItemDesc">
            <view v-if="item.fcheckItemDesc" class="item-description">
                     <text class="description-text">{{ item.fcheckItemDesc }}</text>
                  </view>
                  
@@ -78,16 +81,16 @@
                     <view class="progress-info">
                        <text class="progress-label">检验进度:</text>
                        <view class="progress-bar">
                           <view class="progress-fill"
                  <view :class="{ 'progress-complete': item.fenterQty >= item.checkQyt, 'progress-incomplete': item.fenterQty < item.checkQyt }"
                              :style="{ width: (item.fenterQty / item.checkQyt * 100) + '%' }"
                              :class="{ 'progress-complete': item.fenterQty >= item.checkQyt, 'progress-incomplete': item.fenterQty < item.checkQyt }">
                        class="progress-fill">
                           </view>
                        </view>
                        <text class="progress-text">{{ item.fenterQty }}/{{ item.checkQyt }}</text>
                     </view>
                     
                     <view class="action-button" @click="toDetail(item)"
                        :class="{ 'btn-complete': item.fenterQty >= item.checkQyt, 'btn-incomplete': item.fenterQty < item.checkQyt }">
              <view :class="{ 'btn-complete': item.fenterQty >= item.checkQyt, 'btn-incomplete': item.fenterQty < item.checkQyt }" class="action-button"
                    @click="toDetail(item)">
                        <text class="btn-text">{{ item.fenterQty >= item.checkQyt ? '查看详情' : '开始检验' }}</text>
                        <text class="btn-icon">→</text>
                     </view>
@@ -114,7 +117,7 @@
      
      <!-- 不合格描述弹出层 -->
      <view v-if="remarksPopup" class="overlay active">
        <view class="popup" :class="{ 'popup-scale': isPopupAnimated }" @animationend="isPopupAnimated = false">
      <view :class="{ 'popup-scale': isPopupAnimated }" class="popup" @animationend="isPopupAnimated = false">
          <view class="popup-header">
            <h3 class="popup-title">修改不合格描述</h3>
            <view class="close-btn" @click="remarksPopup = !remarksPopup">×</view>
@@ -122,7 +125,7 @@
          <form>
            <view class="form-group">
              <label class="form-label">不合格描述:</label>
              <input class="form-input" type="text" v-model="remarks" />
            <input v-model="remarks" class="form-input" type="text"/>
            </view>
            <view class="button-group popup-buttons">
              <button :class="['action-btn', 'btn-danger']" @click="editRemarks">
@@ -195,7 +198,7 @@
         uploadImages() {
            // 上传/查看图片的逻辑
            uni.navigateTo({
               url: 'ImageItem?id=' + this.formData.releaseNo
        url: 'ImageItem?id=' + this.formData.id
            });
         },
         addDefectDescription() {
@@ -342,13 +345,13 @@
/* 操作按钮区域 */
.action-buttons {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  flex-direction: column;
  gap: 12px;
  padding: 15px 0;
}
.btn {
  flex: 1;
.btn, .secondary-btn {
  width: 100%;
  height: 45px;
  border-radius: 8px;
  border: none;
@@ -386,6 +389,19 @@
  background-color: #6D6D70;
}
/* 大屏幕时保持横向排列 */
@media (min-width: 768px) {
  .action-buttons {
    flex-direction: row;
    gap: 15px;
  }
  .btn, .secondary-btn {
    flex: 1;
    width: auto;
  }
}
/* 检验项目卡片 */
.inspection-card {
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);