| | |
| | | </view> |
| | | </view> |
| | | <view class="status-tags"> |
| | | <u-tag v-if="item.checkResult" |
| | | :type="getTagType(item.checkResult)" |
| | | <u-tag v-if="item.passRate != null && item.passRate !== ''" |
| | | type="primary" |
| | | size="mini" |
| | | class="status-tag"> |
| | | {{ item.checkResult }} |
| | | 合格率 {{ formatPassRate(item.passRate) }} |
| | | </u-tag> |
| | | <u-tag :type="getStateTagType(item.inspectState)" |
| | | size="mini" |
| | |
| | | return inspectState ? "checkmark-circle" : "time"; |
| | | }; |
| | | |
| | | // 获取标签类型 |
| | | const getTagType = checkResult => { |
| | | if (checkResult === "合格") return "success"; |
| | | if (checkResult === "不合格") return "error"; |
| | | return "default"; |
| | | // 格式化合格率 |
| | | const formatPassRate = rate => { |
| | | if (rate === null || rate === undefined || rate === "") return "-"; |
| | | const num = Number(rate); |
| | | if (isNaN(num)) return rate; |
| | | if (num <= 1) return `${(num * 100).toFixed(2)}%`; |
| | | return `${num}%`; |
| | | }; |
| | | |
| | | // 获取状态标签类型 |
| | |
| | | pendingCount.value = inspectionList.value.filter( |
| | | item => !item.inspectState |
| | | ).length; |
| | | qualifiedCount.value = inspectionList.value.filter( |
| | | item => item.checkResult === "合格" |
| | | ).length; |
| | | qualifiedCount.value = inspectionList.value.filter(item => { |
| | | const rate = Number(item.passRate); |
| | | if (isNaN(rate)) return false; |
| | | return rate <= 1 ? rate >= 1 : rate >= 100; |
| | | }).length; |
| | | }) |
| | | .catch(err => { |
| | | tableLoading.value = false; |