From d86e9475f004f687cd13d5563c8c6fd933e92cfa Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Tue, 08 Apr 2025 14:56:26 +0800
Subject: [PATCH] feat: 分页列表60%

---
 src/views/Home/EventOverviewDetail/EventOverviewDetail.vue      |    2 
 src/components/CommonDateTime.vue                               |    2 
 src/views/Home/EventOverviewDetail/EventOverviewDetailRight.vue |  114 ++++++++++++++++++++++++++++++++++++++
 src/api/home/event.js                                           |   10 +++
 4 files changed, 127 insertions(+), 1 deletions(-)

diff --git a/src/api/home/event.js b/src/api/home/event.js
index 9c92dbf..1f6a85a 100644
--- a/src/api/home/event.js
+++ b/src/api/home/event.js
@@ -35,3 +35,13 @@
 		data,
 	})
 }
+
+
+// 大屏首页=>事件状态数量
+export const getEventStatusNum = data => {
+	return request({
+		url: '/drone-device-core/jobEvent/eventStatusNum',
+		method: 'post',
+		data,
+	})
+}
diff --git a/src/components/CommonDateTime.vue b/src/components/CommonDateTime.vue
index 2cf3a06..07202e5 100644
--- a/src/components/CommonDateTime.vue
+++ b/src/components/CommonDateTime.vue
@@ -51,7 +51,7 @@
 };
 
 const change = value => {
-  // todo 我对接
+  // todo 待对接
   // emit('change', value);
 };
 
diff --git a/src/views/Home/EventOverviewDetail/EventOverviewDetail.vue b/src/views/Home/EventOverviewDetail/EventOverviewDetail.vue
index c53b87c..35d24ed 100644
--- a/src/views/Home/EventOverviewDetail/EventOverviewDetail.vue
+++ b/src/views/Home/EventOverviewDetail/EventOverviewDetail.vue
@@ -1,7 +1,9 @@
 <template>
 	<EventOverviewDetailLeft />
+	<EventOverviewDetailRight/>
 </template>
 <script setup>
 import EventOverviewDetailLeft from './EventOverviewDetailLeft/EventOverviewDetailLeft.vue'
+import EventOverviewDetailRight from '@/views/Home/EventOverviewDetail/EventOverviewDetailRight.vue'
 </script>
 <style scoped lang="scss"></style>
diff --git a/src/views/Home/EventOverviewDetail/EventOverviewDetailRight.vue b/src/views/Home/EventOverviewDetail/EventOverviewDetailRight.vue
new file mode 100644
index 0000000..ec8beda
--- /dev/null
+++ b/src/views/Home/EventOverviewDetail/EventOverviewDetailRight.vue
@@ -0,0 +1,114 @@
+<template>
+	<div class="right">
+		<div>工单列表</div>
+
+		<div>
+			<el-date-picker
+				v-model="timeArr"
+				type="daterange"
+				value-format="YYYY-MM-DD"
+				range-separator="-"
+				start-placeholder="开始日期"
+				end-placeholder="结束日期"
+				@change="change"
+				disabled
+			/>
+			<el-select v-model="params.device_sn" placeholder="请选择" size="large" filterable clearable>
+				<el-option
+					v-for="item in deviceList"
+					:label="item.nickname"
+					:value="item.device_sn"
+					:key="item.device_sn"
+				/>
+			</el-select>
+
+			<el-select
+				v-model="params.word_order_type"
+				placeholder="请选择"
+				size="large"
+				filterable
+				clearable
+			>
+				<el-option
+					v-for="item in workOrderType"
+					:label="item.dictValue"
+					:value="item.dictKey"
+					:key="item.dictKey"
+				/>
+			</el-select>
+			<div>
+				<div v-for="item in statusList">
+					<div>{{ item.name }}</div>
+					<div>{{ item.num || 0 }}</div>
+				</div>
+			</div>
+
+			<el-checkbox-group v-model="params.SFType">
+				<el-checkbox v-for="item in SFDictList" :label="item.dictValue":value="item.dictKey"  :key="item.dictKey"/>
+			</el-checkbox-group>
+
+		</div>
+	</div>
+</template>
+<script setup>
+import dayjs from 'dayjs'
+import { selectDevicePage } from '@/api/home/machineNest'
+import { getMultipleDictionary } from '@/api/system/dictbiz'
+import { getEventStatusNum } from '@/api/home/event'
+
+const timeFormat = 'YYYY-MM-DD HH:mm:ss'
+const today = dayjs().format(timeFormat)
+const oneWeekAgo = dayjs().subtract(7, 'day').format(timeFormat)
+const timeArr = ref([oneWeekAgo, today])
+const deviceList = ref([])
+
+const params = ref({
+	device_sn: '',
+	word_order_type: '',
+	SFType:[]
+})
+
+const getDeviceList = async () => {
+	const res = await selectDevicePage({ current: 1, size: 99999, type: 1 })
+	deviceList.value = res.data?.data?.records || []
+}
+
+const workOrderType = ref([])
+const SFDictList = ref([])
+const getDictList = () => {
+	getMultipleDictionary('WORK_ORDER_TYPE,SF').then(res => {
+		workOrderType.value = res.data.data?.['WORK_ORDER_TYPE'] || []
+		SFDictList.value = res.data.data?.['SF'] || []
+	})
+}
+
+const statusList = ref([])
+const getEventStatusNumFun = () => {
+	const [start_date, end_date] = timeArr.value
+	getEventStatusNum({ start_date, end_date }).then(res => {
+		statusList.value = res.data?.data || []
+	})
+}
+
+const change = value => {}
+
+onMounted(() => {
+	getDeviceList()
+	getDictList()
+	getEventStatusNumFun()
+})
+</script>
+<style scoped lang="scss">
+.right {
+	position: absolute;
+	right: 0;
+	top: 88px;
+	color: black;
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	height: 900px;
+	width: 400px;
+	background: white;
+}
+</style>

--
Gitblit v1.9.3