import { searchDriveList, searchRecentDaysDriveAlarm, searchTodayDriveAlarm, searchAllDrives } from "./apis" import {reactive, ref, watch} from "vue"; import pageModule from "@/views/moudle/pageInfo"; export const recentDaysDriveAlarmModule = ()=>{ const getRecentDaysDriveAlarm = async ()=>{ try { const res = await searchRecentDaysDriveAlarm(); const rs = res.data; let data = []; if(rs.code === 1) { data = rs.data.map(item=>{ let keys = Object.keys(item); let key = keys[0]; return { name: key, data: item[key] } }); } return data; }catch (e) { console.log(e); return []; } } return { getRecentDaysDriveAlarm } } export const todayDriveAlarmModule = ()=>{ const getTodayDriveAlarm = async ()=>{ try { const res = await searchTodayDriveAlarm(); const rs = res.data; let data = []; if(rs.code === 1) { data = rs.data; } return data; }catch (e) { console.log(e); return []; } } return { getTodayDriveAlarm } } /** * 车辆信息 */ export const driveInfModule = ()=>{ const { page, pageSize, total } = pageModule(); const carName = ref(""); 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(carName.value, page.value, pageSize.value); const rs = res.data; if(rs.code === 1) { result = rs.data; result = rs.data; } page.value = result.page; pageSize.value = result.pageSize; total.value = result.total; result.result = result.result.map(item=>{ item.createTime1 = new Date(item.createTime).format("yyyy-MM-dd hh:mm:ss"); item.updateTime1 = item.updateTime?new Date(item.updateTime).format("yyyy-MM-dd hh:mm:ss"):"---"; item.onlineTime1 = item.onlineTime?new Date(item.onlineTime).format("yyyy-MM-dd hh:mm:ss"):"---"; return item; }); return result; }catch (e) { console.log(e); return result; } } return { page, pageSize, total, driveList, carName, getDriveList, }; } export const allDrivesModule = ()=>{ // 获取所有车辆的信息 const allDriveList = reactive({ data: [] }); /** * 获取全部的车辆信息 * @return Promise<{code: number, data: *[], message: string}> */ const getAllDriveList = async ()=>{ try { const res = await searchAllDrives(); return res.data; }catch (e) { console.log(e); return { code: 0, data: [], message: "查询失败,请联系管理员" } } } return { allDriveList, getAllDriveList } } import { addDriveApi, deleteDriveApi } from "@/api/car"; export const changeDriveInfoModule = ()=>{ /** * * @param name 车辆名称 * @param boxSn 车辆编码 * @return Promise<{code: number, message: string}> */ const addDrive = async (name, boxSn)=>{ try { const res = await addDriveApi(name, boxSn); return res.data; }catch (e) { return { code: 0, message: "添加失败,请联系管理员" } } } /** * 根据ID删除车辆 * @param id 车辆ID * @return {Promise<{code: number, message: string}|*>} */ const deleteDrive = async (id)=>{ try { const res = await deleteDriveApi(id); return res.data; }catch (e) { return { code: 0, message: "删除失败,请联系管理员" } } } return { addDrive, deleteDrive } }