From a3b4356b688544bf578ae4754bd66f58ffaec764 Mon Sep 17 00:00:00 2001
From: longyvfengyun <496960745@qq.com>
Date: 星期一, 20 十一月 2023 17:31:20 +0800
Subject: [PATCH] 内容提交

---
 src/views/user/videoList.vue          |   22 +++++++
 src/views/moudle/driveInf/apis.js     |   11 +++
 src/views/moudle/driveInf/driveInf.js |   48 ++++++++++++++++
 src/views/user/boxList.vue            |   75 +++++++++++-------------
 4 files changed, 115 insertions(+), 41 deletions(-)

diff --git a/src/views/moudle/driveInf/apis.js b/src/views/moudle/driveInf/apis.js
index 9f6cade..a34b3f4 100644
--- a/src/views/moudle/driveInf/apis.js
+++ b/src/views/moudle/driveInf/apis.js
@@ -22,3 +22,14 @@
     url: "/monitor/boxCameraAlarm/statisticDriveAlarmRegularLimitsToday",
   });
 }
+
+export const searchDriveList = (page, pageSize)=>{
+  return axios({
+    method: "GET",
+    url: "/monitor/box/select",
+    params: {
+      page,
+      pageSize
+    },
+  });
+}
diff --git a/src/views/moudle/driveInf/driveInf.js b/src/views/moudle/driveInf/driveInf.js
index 6e6a4b6..559e27d 100644
--- a/src/views/moudle/driveInf/driveInf.js
+++ b/src/views/moudle/driveInf/driveInf.js
@@ -1,6 +1,8 @@
 import {
+  searchDriveList,
   searchRecentDaysDriveAlarm, searchTodayDriveAlarm
 } from "./apis"
+import {ref} from "vue";
 export const recentDaysDriveAlarmModule = ()=>{
   const getRecentDaysDriveAlarm = async ()=>{
     try {
@@ -49,3 +51,49 @@
     getTodayDriveAlarm
   }
 }
+
+/**
+ * 杞﹁締淇℃伅
+ */
+export const driveInfModule = ()=>{
+  const page = ref(1);
+  const pageSize = ref(10);
+  const total = ref(0);
+  const driveList = ref([]);
+
+  /**
+   * 鑾峰彇姹借溅鍒楄〃
+   * @return {Promise<{result: [], total: number, pages: number, pageSize: number, page: number}>}
+   */
+  const getDriveList = async ()=>{
+    let result = {
+      page: 1,
+      pageSize: 10,
+      pages: 0,
+      total: 0,
+      result: []
+    };
+    try {
+      const res = await searchDriveList(page.value, pageSize.value);
+      const rs = res.data;
+      if(rs.code === 1) {
+        result = rs.data;
+      }
+      page.value = result.page;
+      pageSize.value = result.pageSize;
+      total.value = result.total;
+      return result;
+    }catch (e) {
+      console.log(e);
+      return result;
+    }
+  }
+
+  return {
+    page,
+    pageSize,
+    total,
+    driveList,
+    getDriveList
+  };
+}
diff --git a/src/views/user/boxList.vue b/src/views/user/boxList.vue
index 40d1e3c..7ba158d 100644
--- a/src/views/user/boxList.vue
+++ b/src/views/user/boxList.vue
@@ -1,9 +1,31 @@
 <script setup>
-import {ref} from "vue";
+import {ref, onMounted} from "vue";
 
 const tableData = ref([]);
 
 const carName = ref(null);
+
+import {
+	driveInfModule
+} from "@/views/moudle/driveInf/driveInf";
+
+const {
+	page,
+	pageSize,
+	total,
+	driveList,
+	getDriveList
+} = driveInfModule();
+
+const searchDriveList = async ()=>{
+	let res = await getDriveList();
+	console.log(res);
+	driveList.value = res.result;
+}
+
+onMounted(()=>{
+	searchDriveList();
+});
 </script>
 
 <template>
@@ -12,53 +34,26 @@
 			<div class="page-header">
 				<div class="input-list">
 					<div class="input-item">
-						<div class="input-wrapper">
-							<div class="input-label">杞﹁締鍚嶇О</div>
-							<div class="input-content">
-								<el-input
-									v-model="carName"
-									size="large"
-									placeholder="Please Input"/>
-							</div>
-						</div>
-					</div>
-					<div class="input-item">
-						<div class="input-wrapper">
-							<div class="input-label">鍦ㄧ嚎鐘舵��</div>
-							<div class="input-content">
-								<el-input
-									v-model="carName"
-									size="large"
-									placeholder="Please Input"/>
-							</div>
-						</div>
-					</div>
-					<div class="input-item">
-						<div class="input-wrapper">
-							<div class="input-label">鍥芥爣璁惧缂栫爜</div>
-							<div class="input-content">
-								<el-input
-									v-model="carName"
-									size="large"
-									placeholder="Please Input"/>
-							</div>
-						</div>
-					</div>
-					<div class="input-item">
-						<el-button type="primary" plain>鏌ヨ</el-button>
+						<el-button type="success" icon="Plus">娣诲姞</el-button>
+						<el-button type="primary" icon="Search">鏌ヨ</el-button>
 					</div>
 				</div>
 			</div>
 			<div class="page-content">
-				<el-table :data="tableData" height="100%">
-					<el-table-column prop="date" label="Date" />
-					<el-table-column prop="name" label="Name" />
-					<el-table-column prop="address" label="Address" />
+				<el-table :data="driveList" height="100%">
+					<el-table-column prop="name" label="杞﹁締鍚嶇О" />
+					<el-table-column prop="boxSn" label="杞﹁締缂栫爜"></el-table-column>
+					<el-table-column prop="online" label="杞﹁締缂栫爜">
+						<template #default="{row}">
+							<el-tag v-if="row.online">鍦ㄧ嚎</el-tag>
+							<el-tag v-else type="danger">绂荤嚎</el-tag>
+						</template>
+					</el-table-column>
 				</el-table>
 			</div>
 			<div class="page-footer">
 				<div class="el-pagination-container">
-					<el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="1000"></el-pagination>
+					<el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
 				</div>
 			</div>
 		</div>
diff --git a/src/views/user/videoList.vue b/src/views/user/videoList.vue
index c16d905..ce67b09 100644
--- a/src/views/user/videoList.vue
+++ b/src/views/user/videoList.vue
@@ -1,5 +1,5 @@
 <script setup>
-import {ref} from "vue";
+import {onMounted, ref} from "vue";
 
 const tableData = ref([
 	{
@@ -40,6 +40,26 @@
 ]);
 
 const carName = ref(null);
+
+import {
+	driveInfModule
+} from "@/views/moudle/driveInf/driveInf";
+
+const {
+	page,
+	pageSize,
+	driveList,
+	getDriveList
+} = driveInfModule();
+
+const searchDriveList = async ()=>{
+	let rs = await getDriveList();
+	console.log(rs);
+}
+
+onMounted(()=>{
+	searchDriveList();
+});
 </script>
 
 <template>

--
Gitblit v1.9.1