|
|
|
@ -16,23 +16,23 @@
|
|
|
|
|
<el-form-item label="停机原因" prop="shutReasonId">
|
|
|
|
|
<el-input v-model="queryParams.shutReasonId" placeholder="请输入停机原因" clearable @keyup.enter="handleQuery" />
|
|
|
|
|
</el-form-item>-->
|
|
|
|
|
<el-form-item label="停机开始时间" prop="shutBeginTime" label-width="100px">
|
|
|
|
|
<!-- <el-form-item label="停机开始时间" prop="shutBeginTime" label-width="100px">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="queryParams.shutBeginTime"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="YYYY-MM-DD"
|
|
|
|
|
type="datetime"
|
|
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
|
|
placeholder="请选择停机开始时间"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="停机结束时间" prop="shutEndTime" label-width="100px">
|
|
|
|
|
</el-form-item> -->
|
|
|
|
|
<!-- <el-form-item label="停机结束时间" prop="shutEndTime" label-width="100px">
|
|
|
|
|
<el-date-picker clearable
|
|
|
|
|
v-model="queryParams.shutEndTime"
|
|
|
|
|
type="date"
|
|
|
|
|
value-format="YYYY-MM-DD"
|
|
|
|
|
type="datetime"
|
|
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
|
|
placeholder="请选择停机结束时间"
|
|
|
|
|
/>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<!-- <el-form-item label="停机时长(毫秒)" prop="shutTime">
|
|
|
|
|
</el-form-item> -->
|
|
|
|
|
<!-- <el-form-item label="停机时长(秒)" prop="shutTime">
|
|
|
|
|
<el-input v-model="queryParams.shutTime" placeholder="请输入停机时长(毫秒)" clearable @keyup.enter="handleQuery" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="停机标识" prop="downtimeFlag">
|
|
|
|
@ -58,9 +58,9 @@
|
|
|
|
|
<el-card shadow="never">
|
|
|
|
|
<template #header>
|
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
|
|
<!-- <el-col :span="1.5">-->
|
|
|
|
|
<!-- <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:dmsRecordShutDown:add']">新增</el-button>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['dms:dmsRecordShutDown:add']">新增</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<!-- <el-col :span="1.5">-->
|
|
|
|
|
<!-- <el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['dms:dmsRecordShutDown:edit']">修改</el-button>-->
|
|
|
|
|
<!-- </el-col>-->
|
|
|
|
@ -90,7 +90,7 @@
|
|
|
|
|
<span>{{ parseTime(scope.row.shutEndTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
|
|
|
|
</template>
|
|
|
|
|
</el-table-column>
|
|
|
|
|
<!-- <el-table-column label="停机时长(毫秒)" align="center" prop="shutTime" v-if="columns[7].visible"/>-->
|
|
|
|
|
<!-- <el-table-column label="停机时长(秒)" align="center" prop="shutTime" v-if="columns[7].visible"/>-->
|
|
|
|
|
<el-table-column label="停机时长" align="center" prop="shutTime" v-if="columns[7].visible">
|
|
|
|
|
<template #default="scope">
|
|
|
|
|
<span>{{ formatDuration(scope.row.shutTime) }}</span>
|
|
|
|
@ -178,8 +178,8 @@
|
|
|
|
|
placeholder="请选择停机结束时间">
|
|
|
|
|
</el-date-picker>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="停机时长(毫秒)" prop="shutTime">
|
|
|
|
|
<el-input v-model="form.shutTime" placeholder="请输入停机时长(毫秒)" />
|
|
|
|
|
<el-form-item label="停机时长(秒)" prop="shutTime">
|
|
|
|
|
<el-input v-model="form.shutTime" placeholder="自动计算" disabled />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="停机标识" prop="downtimeFlag">
|
|
|
|
|
<!-- <el-input v-model="form.downtimeFlag" placeholder="请输入停机标识" />-->
|
|
|
|
@ -250,7 +250,7 @@ const columns = ref<FieldOption[]>([
|
|
|
|
|
{ key: 4, label: `停机原因`, visible: true },
|
|
|
|
|
{ key: 5, label: `停机开始时间`, visible: true },
|
|
|
|
|
{ key: 6, label: `停机结束时间`, visible: true },
|
|
|
|
|
{ key: 7, label: `停机时长(毫秒)`, visible: true },
|
|
|
|
|
{ key: 7, label: `停机时长(秒)`, visible: true },
|
|
|
|
|
{ key: 8, label: `停机标识`, visible: true },
|
|
|
|
|
{ key: 9, label: `停机原因`, visible: true },
|
|
|
|
|
{ key: 10, label: `激活标识`, visible: true },
|
|
|
|
@ -431,14 +431,38 @@ const handleShutReasonChange = (shutReasonId: number) => {
|
|
|
|
|
form.value.shutTypeId = selectedReason?.shutTypeId || ''; // 获取停机类型
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const formatDuration = (millis: number): string => {
|
|
|
|
|
if (!millis || millis <= 0) return '0秒'
|
|
|
|
|
const hours = Math.floor(millis / 3600000)
|
|
|
|
|
const minutes = Math.floor((millis % 3600000) / 60000)
|
|
|
|
|
const seconds = Math.floor((millis % 60000) / 1000)
|
|
|
|
|
return `${hours ? hours + '小时' : ''}${minutes ? minutes + '分' : ''}${seconds}秒`
|
|
|
|
|
const formatDuration = (seconds: number): string => {
|
|
|
|
|
if (!seconds || seconds <= 0) return '0秒'
|
|
|
|
|
const hours = Math.floor(seconds / 3600)
|
|
|
|
|
const minutes = Math.floor((seconds % 3600) / 60)
|
|
|
|
|
const remainingSeconds = seconds % 60
|
|
|
|
|
return `${hours ? hours + '小时' : ''}${minutes ? minutes + '分' : ''}${remainingSeconds}秒`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 计算停机时长
|
|
|
|
|
const calculateShutTime = () => {
|
|
|
|
|
if (form.value.shutBeginTime && form.value.shutEndTime) {
|
|
|
|
|
const begin = new Date(form.value.shutBeginTime).getTime()
|
|
|
|
|
const end = new Date(form.value.shutEndTime).getTime()
|
|
|
|
|
if (end > begin) {
|
|
|
|
|
form.value.shutTime = Math.floor((end - begin) / 1000)
|
|
|
|
|
} else {
|
|
|
|
|
form.value.shutTime = 0
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
form.value.shutTime = 0
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 监听开始和结束时间的变化
|
|
|
|
|
watch(
|
|
|
|
|
() => [form.value.shutBeginTime, form.value.shutEndTime],
|
|
|
|
|
() => {
|
|
|
|
|
calculateShutTime()
|
|
|
|
|
},
|
|
|
|
|
{ immediate: true }
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
getMachineOtions();
|
|
|
|
|
getShutTypeOtions();
|
|
|
|
|