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 b9783b5a..4790d76a 100644 --- a/src/components/AIcon/index.tsx +++ b/src/components/AIcon/index.tsx @@ -50,6 +50,8 @@ const iconKeys = [ 'ShareAltOutlined', 'playCircleOutlined', 'RightOutlined' + '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; };