From 906bc836cac40e62d7c0d3773ca54982dc0d2c1b Mon Sep 17 00:00:00 2001 From: jackhoo_98 Date: Wed, 22 Feb 2023 19:14:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=BF=9C=E7=A8=8B=E5=8D=87=E7=BA=A7=20?= =?UTF-8?q?=E5=88=97=E8=A1=A8/=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/device/firmware.ts | 53 +++ src/components/AIcon/index.tsx | 2 + src/views/device/Firmware/Save/FileUpload.vue | 96 +++++ src/views/device/Firmware/Save/index.vue | 388 ++++++++++++++++++ src/views/device/Firmware/index.vue | 268 ++++++++++++ src/views/device/Firmware/type.d.ts | 23 ++ src/views/link/Protocol/index.vue | 3 +- 7 files changed, 832 insertions(+), 1 deletion(-) create mode 100644 src/api/device/firmware.ts create mode 100644 src/views/device/Firmware/Save/FileUpload.vue create mode 100644 src/views/device/Firmware/Save/index.vue create mode 100644 src/views/device/Firmware/index.vue create mode 100644 src/views/device/Firmware/type.d.ts diff --git a/src/api/device/firmware.ts b/src/api/device/firmware.ts new file mode 100644 index 00000000..f0108f98 --- /dev/null +++ b/src/api/device/firmware.ts @@ -0,0 +1,53 @@ +import server from '@/utils/request'; +import { BASE_API_PATH } from '@/utils/variable'; + +export const FIRMWARE_UPLOAD = `${BASE_API_PATH}/file/upload`; + +export const save = (data: object) => server.post(`/firmware`, data); + +export const update = (data: object) => server.patch(`/firmware`, data); + +export const remove = (id: string) => server.remove(`/firmware/${id}`); + +export const query = (data: object) => server.post(`/firmware/_query/`, data); + +export const querySystemApi = (data?: object) => + server.post(`/system/config/scopes`, data); + +export const task = (data: Record) => + server.post(`/firmware/upgrade/task/detail/_query`, data); + +export const taskById = (id: string) => + server.get(`/firmware/upgrade/task/${id}`); + +export const saveTask = (data: Record) => + server.post(`/firmware/upgrade/task`, data); + +export const deleteTask = (id: string) => + server.remove(`/firmware/upgrade/task/${id}`); + +export const history = (data: Record) => + server.post(`/firmware/upgrade/history/_query`, data); + +export const historyCount = (data: Record) => + server.post(`/firmware/upgrade/history/_count`, data); + +export const startTask = (id: string, data: string[]) => + server.post(`/firmware/upgrade/task/${id}/_start`, data); + +export const stopTask = (id: string) => + server.post(`/firmware/upgrade/task/${id}/_stop`); + +export const startOneTask = (data: string[]) => + server.post(`/firmware/upgrade/task/_start`, data); + +// export const queryProduct = (data?: any) => +// server.post(`/device-product/_query/no-paging`, data); +export const queryProduct = (data?: any) => + server.post(`/device-product/detail/_query/no-paging`, data); + +export const queryDevice = () => + server.get(`/device/instance/_query/no-paging?paging=false`); + +export const validateVersion = (productId: string, versionOrder: number) => + server.get(`/firmware/${productId}/${versionOrder}/exists`); diff --git a/src/components/AIcon/index.tsx b/src/components/AIcon/index.tsx index 4ebea3b2..b5257f23 100644 --- a/src/components/AIcon/index.tsx +++ b/src/components/AIcon/index.tsx @@ -49,6 +49,8 @@ const iconKeys = [ 'PartitionOutlined', 'ShareAltOutlined', 'playCircleOutlined', + 'FileTextOutlined', + 'UploadOutlined' ] const Icon = (props: {type: string}) => { diff --git a/src/views/device/Firmware/Save/FileUpload.vue b/src/views/device/Firmware/Save/FileUpload.vue new file mode 100644 index 00000000..b7b6398b --- /dev/null +++ b/src/views/device/Firmware/Save/FileUpload.vue @@ -0,0 +1,96 @@ + + + + + diff --git a/src/views/device/Firmware/Save/index.vue b/src/views/device/Firmware/Save/index.vue new file mode 100644 index 00000000..ead74d77 --- /dev/null +++ b/src/views/device/Firmware/Save/index.vue @@ -0,0 +1,388 @@ + + + + diff --git a/src/views/device/Firmware/index.vue b/src/views/device/Firmware/index.vue new file mode 100644 index 00000000..d8c34292 --- /dev/null +++ b/src/views/device/Firmware/index.vue @@ -0,0 +1,268 @@ + + + + diff --git a/src/views/device/Firmware/type.d.ts b/src/views/device/Firmware/type.d.ts new file mode 100644 index 00000000..80a289c0 --- /dev/null +++ b/src/views/device/Firmware/type.d.ts @@ -0,0 +1,23 @@ +export type FormDataType = { + description: string; + name: string; + productId: string | undefined; + version: undefined; + versionOrder: undefined; + signMethod: string | undefined; + sign: string; + url: string; + size: number; + properties: Array; + id?: string; + format?: string; + mode?: object; + creatorId?: string; + createTime?: number; +}; + +export interface Properties { + id: string; + value: any; + keyid: number; +} diff --git a/src/views/link/Protocol/index.vue b/src/views/link/Protocol/index.vue index 3ae666c1..f95d905d 100644 --- a/src/views/link/Protocol/index.vue +++ b/src/views/link/Protocol/index.vue @@ -153,6 +153,7 @@ import { getImage } from '@/utils/comm'; import { list, remove } from '@/api/link/protocol'; import { message } from 'ant-design-vue'; import Save from './Save/index.vue'; +import _ from 'lodash'; const tableRef = ref>({}); const router = useRouter(); @@ -261,7 +262,7 @@ const handlAdd = () => { visible.value = true; }; const handlEdit = (data: object) => { - current.value = data; + current.value = _.cloneDeep(data); visible.value = true; };