|
@@ -14,6 +14,7 @@
|
|
|
<el-table-column label="累计运行时间(H)" align="center" prop="totalRunTime" />
|
|
|
<el-table-column label="累计运行公里数(KM)" align="center" prop="totalMileage" />
|
|
|
<el-table-column label="保养项" align="center" prop="name" />
|
|
|
+ <!--
|
|
|
<el-table-column label="运行里程" align="center" prop="mileageRule" >
|
|
|
<template #default="scope">
|
|
|
<el-switch
|
|
@@ -43,18 +44,18 @@
|
|
|
:disabled="true"
|
|
|
/>
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column> -->
|
|
|
|
|
|
<template v-if="showTimeColumns">
|
|
|
- <el-table-column label="上次保养运行时间(H)" align="center" prop="lastRunningTime" />
|
|
|
+ <el-table-column label="上次保养运行时长(H)" align="center" prop="lastRunningTime" />
|
|
|
<el-table-column label="运行时间周期(H)" align="center" prop="nextRunningTime" />
|
|
|
- <el-table-column label="运行时间周期-提前量(H)" align="center" prop="timePeriodLead" />
|
|
|
+ <el-table-column label="距离下次保养运行时长(H)" align="center" prop="timePeriod" />
|
|
|
</template>
|
|
|
|
|
|
<template v-if="showMileageColumns">
|
|
|
<el-table-column label="上次保养里程数(KM)" align="center" prop="lastRunningKilometers" />
|
|
|
<el-table-column label="运行里程周期(KM)" align="center" prop="nextRunningKilometers" />
|
|
|
- <el-table-column label="运行里程周期-提前量(KM)" align="center" prop="kiloCycleLead" />
|
|
|
+ <el-table-column label="距离下次保养公里数(KM)" align="center" prop="kilometerCycle" />
|
|
|
</template>
|
|
|
|
|
|
<template v-if="showNaturalDateColumns">
|
|
@@ -72,7 +73,7 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="自然日周期(D)" align="center" prop="nextNaturalDate" />
|
|
|
- <el-table-column label="自然日周期-提前量(D)" align="center" prop="naturalDatePeriodLead" />
|
|
|
+ <el-table-column label="下次保养自然日期" align="center" prop="naturalDatePeriod" />
|
|
|
</template>
|
|
|
</el-table>
|
|
|
<!-- 分页
|
|
@@ -158,6 +159,12 @@ const getWorkOrderList = async () => {
|
|
|
// 处理空值情况
|
|
|
item.lastNaturalDate = ''
|
|
|
}
|
|
|
+ // 计算下次保养运行时长 H
|
|
|
+ item.timePeriod = calculateTimePeriod(item);
|
|
|
+ // 计算下次保养公里数 KM
|
|
|
+ item.kilometerCycle = calculateKiloPeriod(item);
|
|
|
+ // 计算下次保养日期
|
|
|
+ item.naturalDatePeriod = calculateNextNaturalDate(item)
|
|
|
})
|
|
|
list.value = data
|
|
|
total.value = data.total
|
|
@@ -179,6 +186,12 @@ const getPlanList = async () => {
|
|
|
// 处理空值情况
|
|
|
item.lastNaturalDate = ''
|
|
|
}
|
|
|
+ // 计算下次保养运行时长 H
|
|
|
+ item.timePeriod = calculateTimePeriod(item);
|
|
|
+ // 计算下次保养公里数 KM
|
|
|
+ item.kilometerCycle = calculateKiloPeriod(item);
|
|
|
+ // 计算下次保养日期
|
|
|
+ item.naturalDatePeriod = calculateNextNaturalDate(item)
|
|
|
})
|
|
|
list.value = data
|
|
|
total.value = data.total
|
|
@@ -197,6 +210,36 @@ const handleClose = () => {
|
|
|
emit('close')
|
|
|
}
|
|
|
|
|
|
+// 计算 距离下次保养运行时长 H
|
|
|
+const calculateTimePeriod = (item: IotMaintenanceBomVO) => {
|
|
|
+ if (item.runningTimeRule === 0) {
|
|
|
+ const next = Number(item.nextRunningTime) || 0;
|
|
|
+ const totalRun = Number(item.totalRunTime) || 0;
|
|
|
+ const lastRun = Number(item.lastRunningTime) || 0;
|
|
|
+ return next - (totalRun - lastRun);
|
|
|
+ }
|
|
|
+ return item.timePeriod; // 保持原始值
|
|
|
+};
|
|
|
+
|
|
|
+// 计算 距离下次保养公里数 KM
|
|
|
+const calculateKiloPeriod = (item: IotMaintenanceBomVO) => {
|
|
|
+ if (item.mileageRule === 0) {
|
|
|
+ const next = Number(item.nextRunningKilometers) || 0;
|
|
|
+ const totalRun = Number(item.totalMileage) || 0;
|
|
|
+ const lastRun = Number(item.lastRunningKilometers) || 0;
|
|
|
+ return next - (totalRun - lastRun);
|
|
|
+ }
|
|
|
+ return item.kilometerCycle; // 保持原始值
|
|
|
+};
|
|
|
+
|
|
|
+// 计算下次保养日期
|
|
|
+const calculateNextNaturalDate = (item: IotMaintenanceBomVO): string => {
|
|
|
+ if (item.naturalDateRule !== 0 || !item.lastNaturalDate || !item.nextNaturalDate) {
|
|
|
+ return '-'
|
|
|
+ }
|
|
|
+ return dayjs(item.lastNaturalDate).add(item.nextNaturalDate, 'day').format('YYYY-MM-DD')
|
|
|
+}
|
|
|
+
|
|
|
// 新增计算属性:控制时间相关列的显示
|
|
|
const showTimeColumns = computed(() => {
|
|
|
return list.value.some(item => item.runningTimeRule === 0);
|