| | |
| | | <text class="info-label">数量</text> |
| | | <text class="info-content highlight">{{item.fcovertQty}}</text> |
| | | </view> |
| | | <view class="info-item" v-if="item.jyxm !== null && item.jyxm !== undefined"> |
| | | <text class="info-label">检验项目</text> |
| | | <text class="info-content">{{item.jyxm}}</text> |
| | | </view> |
| | | |
| | | </view> |
| | | <view class="info-row"> |
| | | <view class="info-item"> |
| | |
| | | |
| | | // 根据检验项目数量获取状态文本 |
| | | getStatusText(item) { |
| | | // 如果没有检验项目,显示"未维护" |
| | | if (!item.inspectionItemCount || item.inspectionItemCount === 0) { |
| | | // 使用JYXM字段判断是否维护了检验项目 |
| | | if (item.jyxm === 0 || item.jyxm === '0') { |
| | | return '未维护'; |
| | | } |
| | | // 如果有检验项目,显示"待检验" |
| | | // 如果维护了检验项目,显示"待检验" |
| | | return '待检验'; |
| | | }, |
| | | |
| | | // 判断是否为未维护且非紧急放行 |
| | | isUnmaintainedAndNotEmergency(item) { |
| | | // 检查是否为未维护(没有检验项目) |
| | | const isUnmaintained = !item.inspectionItemCount || item.inspectionItemCount === 0; |
| | | // 使用JYXM字段检查是否为未维护(0表示未维护) |
| | | const isUnmaintained = item.jyxm === 0 || item.jyxm === '0'; |
| | | // 检查是否为非紧急放行 |
| | | const isNotEmergency = item.lotNo1 !== '紧急放行,请勿验退!'; |
| | | return isUnmaintained && isNotEmergency; |
| | |
| | | // 对检验单列表进行排序 |
| | | sortInspectionList(list) { |
| | | return list.sort((a, b) => { |
| | | // 第一优先级:未提交校验的紧急放行 |
| | | const aIsEmergencyPending = a.lotNo1 === '紧急放行,请勿验退!' && this.activeTab === 0; |
| | | const bIsEmergencyPending = b.lotNo1 === '紧急放行,请勿验退!' && this.activeTab === 0; |
| | | // 第一优先级:状态分组(未提交 vs 已提交) |
| | | const aIsSubmitted = a.status === '已提交'; |
| | | const bIsSubmitted = b.status === '已提交'; |
| | | |
| | | if (aIsEmergencyPending && !bIsEmergencyPending) return -1; |
| | | if (!aIsEmergencyPending && bIsEmergencyPending) return 1; |
| | | if (aIsSubmitted && !bIsSubmitted) return 1; // 已提交的排在后面 |
| | | if (!aIsSubmitted && bIsSubmitted) return -1; // 未提交的排在前面 |
| | | |
| | | // 第二优先级:未维护检验项目(非紧急放行) |
| | | const aIsUnmaintained = this.isUnmaintainedAndNotEmergency(a); |
| | | const bIsUnmaintained = this.isUnmaintainedAndNotEmergency(b); |
| | | |
| | | if (aIsUnmaintained && !bIsUnmaintained) return -1; |
| | | if (!aIsUnmaintained && bIsUnmaintained) return 1; |
| | | |
| | | // 第三优先级:创建时间(未提交的按创建时间升序,已提交的按提交时间降序) |
| | | if (this.activeTab === 0) { |
| | | // 未检验:按创建时间升序(越早越靠前) |
| | | // 未提交单据的排序逻辑 |
| | | if (!aIsSubmitted && !bIsSubmitted) { |
| | | // 第一优先级:紧急放行 |
| | | const aIsEmergency = a.lotNo1 === '紧急放行,请勿验退!'; |
| | | const bIsEmergency = b.lotNo1 === '紧急放行,请勿验退!'; |
| | | |
| | | if (aIsEmergency && !bIsEmergency) return -1; |
| | | if (!aIsEmergency && bIsEmergency) return 1; |
| | | |
| | | // 第二优先级:未维护检验项目(使用JYXM字段) |
| | | const aIsUnmaintained = a.jyxm === 0 || a.jyxm === '0'; |
| | | const bIsUnmaintained = b.jyxm === 0 || b.jyxm === '0'; |
| | | |
| | | if (aIsUnmaintained && !bIsUnmaintained) return -1; |
| | | if (!aIsUnmaintained && bIsUnmaintained) return 1; |
| | | |
| | | // 第三优先级:创建时间(创建时间越晚越靠后) |
| | | const aCreateTime = new Date(a.createDate || 0); |
| | | const bCreateTime = new Date(b.createDate || 0); |
| | | return aCreateTime - bCreateTime; |
| | | } else { |
| | | // 已检验:按提交时间降序(越晚越靠前) |
| | | return aCreateTime - bCreateTime; // 升序:早的在前,晚的在后 |
| | | } |
| | | |
| | | // 已提交单据的排序逻辑 |
| | | if (aIsSubmitted && bIsSubmitted) { |
| | | // 按提交时间排序(提交的越晚越靠前) |
| | | const aIqcTime = new Date(a.iqcDate || 0); |
| | | const bIqcTime = new Date(b.iqcDate || 0); |
| | | return bIqcTime - aIqcTime; |
| | | return bIqcTime - aIqcTime; // 降序:晚的在前,早的在后 |
| | | } |
| | | |
| | | return 0; |
| | | }); |
| | | } |
| | | } |
| | |
| | | color: #2c3e50; |
| | | line-height: 1.5; |
| | | } |
| | | |
| | | .info-content.unmaintained { |
| | | color: #e74c3c; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .highlight { |
| | | font-weight: 600; |