|
|
@@ -81,6 +81,28 @@
|
|
|
<span v-else>无保养计划</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ v-if="showRunTime"
|
|
|
+ label="累计运行时长H"
|
|
|
+ align="center"
|
|
|
+ prop="totalRunTime"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ v-if="showMileage"
|
|
|
+ label="累计运行里程KM"
|
|
|
+ align="center"
|
|
|
+ prop="totalMileage"
|
|
|
+ />
|
|
|
+ <el-table-column v-if="showMultiAttrs" label="多属性累计值" align="center" width="200">
|
|
|
+ <template #default="scope">
|
|
|
+ <template v-for="(value, key) in scope.row.multiAttrsTotalRuntime" :key="key">
|
|
|
+ <span v-if="value && key"> {{ key }}: {{ value }} </span>
|
|
|
+ </template>
|
|
|
+ <template v-for="(value, key) in scope.row.multiAttrsTotalMileage" :key="key">
|
|
|
+ <span v-if="value && key"> {{ key }}: {{ value }} </span>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
<el-table-column :label="t('iotDevice.dept')" align="center" prop="deptName" />
|
|
|
<el-table-column :label="t('devicePerson.rp')" align="center" prop="responsibleNames" />
|
|
|
<el-table-column :label="t('monitor.status')" align="center" prop="deviceStatus">
|
|
|
@@ -136,8 +158,23 @@ import DeptTree from '@/views/system/user/DeptTree.vue'
|
|
|
import { useCache } from '@/hooks/web/useCache'
|
|
|
import DeviceAlarmBomList from '@/views/pms/iotmainworkorder/DeviceAlarmBomList.vue'
|
|
|
|
|
|
-/** 设备台账 列表 */
|
|
|
-defineOptions({ name: 'IotDeviceMainAlarm' })
|
|
|
+const showRunTime = computed(() => {
|
|
|
+ const all = list.value?.map((item) => item.totalRunTime)
|
|
|
+ return all.some((item) => Boolean(item))
|
|
|
+})
|
|
|
+
|
|
|
+const showMileage = computed(() => {
|
|
|
+ const all = list.value?.map((item) => item.totalMileage)
|
|
|
+ return all.some((item) => Boolean(item))
|
|
|
+})
|
|
|
+
|
|
|
+const showMultiAttrs = computed(() => {
|
|
|
+ const all = list.value
|
|
|
+ ?.map((item) => item.multiAttrsTotalRuntime)
|
|
|
+ .concat(list.value.map((item) => item.multiAttrsTotalMileage))
|
|
|
+ .flatMap((item) => Object.values(item ?? {}))
|
|
|
+ return all.some((item) => Boolean(item))
|
|
|
+})
|
|
|
|
|
|
const message = useMessage() // 消息弹窗
|
|
|
const { t } = useI18n() // 国际化
|