diff --git a/src/api/dms/dmsRecordShutDown/types.ts b/src/api/dms/dmsRecordShutDown/types.ts
index dd12612..b87545a 100644
--- a/src/api/dms/dmsRecordShutDown/types.ts
+++ b/src/api/dms/dmsRecordShutDown/types.ts
@@ -30,7 +30,7 @@ export interface DmsRecordShutDownVO {
shutEndTime: string;
/**
- * 停机时长(毫秒)
+ * 停机时长(秒)
*/
shutTime: number;
@@ -103,7 +103,7 @@ export interface DmsRecordShutDownForm extends BaseEntity {
shutEndTime?: string;
/**
- * 停机时长(毫秒)
+ * 停机时长(秒)
*/
shutTime?: number;
@@ -177,7 +177,7 @@ export interface DmsRecordShutDownQuery extends PageQuery {
shutEndTime?: string;
/**
- * 停机时长(毫秒)
+ * 停机时长(秒)
*/
shutTime?: number;
diff --git a/src/views/dms/dmsRecordShutDown/index.vue b/src/views/dms/dmsRecordShutDown/index.vue
index e578c07..d54492f 100644
--- a/src/views/dms/dmsRecordShutDown/index.vue
+++ b/src/views/dms/dmsRecordShutDown/index.vue
@@ -16,23 +16,23 @@
-->
-
+
+
+
-
-
+
+ 新增
+
@@ -90,7 +90,7 @@
{{ parseTime(scope.row.shutEndTime, '{y}-{m}-{d} {h}:{i}:{s}') }}
-
+
{{ formatDuration(scope.row.shutTime) }}
@@ -178,8 +178,8 @@
placeholder="请选择停机结束时间">
-
-
+
+
@@ -250,7 +250,7 @@ const columns = ref([
{ 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();