更新快检功能必传mac参数
This commit is contained in:
154
lib/enum/APPQuickCheckStatus.dart
Normal file
154
lib/enum/APPQuickCheckStatus.dart
Normal file
@@ -0,0 +1,154 @@
|
||||
import 'package:ef/ef.dart';
|
||||
|
||||
enum APPQuickCheckStatus {
|
||||
notFound, // 404: 未找到快检信息
|
||||
inProgress, // 200: 快检进行中
|
||||
completed, // 201: 快检完成
|
||||
timeout, // 202: 快检超时
|
||||
cancelled, // 203: 已取消
|
||||
calculateError, // 500: 计算错误
|
||||
insufficientData, // 501: 有效数据不足
|
||||
}
|
||||
|
||||
extension APPQuickCheckStatusExtension on APPQuickCheckStatus {
|
||||
/// 获取整型值
|
||||
int get value {
|
||||
switch (this) {
|
||||
case APPQuickCheckStatus.notFound:
|
||||
return 404;
|
||||
case APPQuickCheckStatus.inProgress:
|
||||
return 200;
|
||||
case APPQuickCheckStatus.completed:
|
||||
return 201;
|
||||
case APPQuickCheckStatus.timeout:
|
||||
return 202;
|
||||
case APPQuickCheckStatus.cancelled:
|
||||
return 203;
|
||||
case APPQuickCheckStatus.calculateError:
|
||||
return 500;
|
||||
case APPQuickCheckStatus.insufficientData:
|
||||
return 501;
|
||||
}
|
||||
}
|
||||
|
||||
/// 根据整型值解析为枚举
|
||||
static APPQuickCheckStatus? fromInt(int? type) {
|
||||
switch (type) {
|
||||
case 404:
|
||||
return APPQuickCheckStatus.notFound;
|
||||
case 200:
|
||||
return APPQuickCheckStatus.inProgress;
|
||||
case 201:
|
||||
return APPQuickCheckStatus.completed;
|
||||
case 202:
|
||||
return APPQuickCheckStatus.timeout;
|
||||
case 203:
|
||||
return APPQuickCheckStatus.cancelled;
|
||||
case 500:
|
||||
return APPQuickCheckStatus.calculateError;
|
||||
case 501:
|
||||
return APPQuickCheckStatus.insufficientData;
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// 根据整型值返回对应名称字符串
|
||||
static String? nameFromInt(int? type) {
|
||||
final status = fromInt(type);
|
||||
return status?.description;
|
||||
}
|
||||
|
||||
/// 获取描述文本
|
||||
String get description {
|
||||
switch (this) {
|
||||
case APPQuickCheckStatus.notFound:
|
||||
return "未找到快检信息".tr;
|
||||
case APPQuickCheckStatus.inProgress:
|
||||
return "快检进行中".tr;
|
||||
case APPQuickCheckStatus.completed:
|
||||
return "快检完成".tr;
|
||||
case APPQuickCheckStatus.timeout:
|
||||
return "快检超时".tr;
|
||||
case APPQuickCheckStatus.cancelled:
|
||||
return "已取消".tr;
|
||||
case APPQuickCheckStatus.calculateError:
|
||||
return "计算错误".tr;
|
||||
case APPQuickCheckStatus.insufficientData:
|
||||
return "有效数据不足".tr;
|
||||
}
|
||||
}
|
||||
|
||||
/// 判断是否为结束状态(已完成、错误、超时、取消等)
|
||||
bool get isFinished {
|
||||
switch (this) {
|
||||
case APPQuickCheckStatus.completed:
|
||||
case APPQuickCheckStatus.timeout:
|
||||
case APPQuickCheckStatus.cancelled:
|
||||
case APPQuickCheckStatus.calculateError:
|
||||
case APPQuickCheckStatus.insufficientData:
|
||||
return true;
|
||||
case APPQuickCheckStatus.inProgress:
|
||||
case APPQuickCheckStatus.notFound:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// 判断是否为错误状态
|
||||
bool get isError {
|
||||
switch (this) {
|
||||
case APPQuickCheckStatus.timeout:
|
||||
case APPQuickCheckStatus.cancelled:
|
||||
case APPQuickCheckStatus.calculateError:
|
||||
case APPQuickCheckStatus.insufficientData:
|
||||
return true;
|
||||
case APPQuickCheckStatus.completed:
|
||||
case APPQuickCheckStatus.inProgress:
|
||||
case APPQuickCheckStatus.notFound:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// 下拉选项用 - label 列表(展示)
|
||||
static List<String> get labelList =>
|
||||
APPQuickCheckStatus.values.map((e) => e.description).toList();
|
||||
|
||||
/// 下拉选项用 - value 列表(对应值)
|
||||
static List<int> get valueList =>
|
||||
APPQuickCheckStatus.values.map((e) => e.value).toList();
|
||||
|
||||
/// 下拉选项用 - map 列表
|
||||
static List<Map<String, dynamic>> get list => APPQuickCheckStatus.values
|
||||
.map((e) => {"id": e.value, "name": e.description})
|
||||
.toList();
|
||||
|
||||
/// 获取指定状态的列表(可过滤)
|
||||
static List<Map<String, dynamic>> getFilteredList({
|
||||
bool includeNotFound = true,
|
||||
bool includeInProgress = true,
|
||||
bool includeCompleted = true,
|
||||
bool includeTimeout = true,
|
||||
bool includeCancelled = true,
|
||||
bool includeCalculateError = true,
|
||||
bool includeInsufficientData = true,
|
||||
}) {
|
||||
final List<APPQuickCheckStatus> filteredStatus = [];
|
||||
|
||||
if (includeNotFound) filteredStatus.add(APPQuickCheckStatus.notFound);
|
||||
if (includeInProgress) filteredStatus.add(APPQuickCheckStatus.inProgress);
|
||||
if (includeCompleted) filteredStatus.add(APPQuickCheckStatus.completed);
|
||||
if (includeTimeout) filteredStatus.add(APPQuickCheckStatus.timeout);
|
||||
if (includeCancelled) filteredStatus.add(APPQuickCheckStatus.cancelled);
|
||||
if (includeCalculateError)
|
||||
filteredStatus.add(APPQuickCheckStatus.calculateError);
|
||||
if (includeInsufficientData)
|
||||
filteredStatus.add(APPQuickCheckStatus.insufficientData);
|
||||
|
||||
return filteredStatus
|
||||
.map((e) => {
|
||||
"id": e.value,
|
||||
"name": e.description,
|
||||
})
|
||||
.toList();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user