2025年04月23日17:23:02
This commit is contained in:
parent
4b939a0a06
commit
b76ec6d7fc
1
src/api/index.d.ts
vendored
1
src/api/index.d.ts
vendored
@ -181,6 +181,7 @@ export namespace TDevice {
|
|||||||
mode: number
|
mode: number
|
||||||
monitorMode: number
|
monitorMode: number
|
||||||
battery: number
|
battery: number
|
||||||
|
otaFlag: number
|
||||||
adminUsername: string
|
adminUsername: string
|
||||||
adminPhone: string
|
adminPhone: string
|
||||||
userNumber: string
|
userNumber: string
|
||||||
|
@ -203,6 +203,14 @@ export const accountSetStatus = (p?: TAccountSetStatus): Promise<null> => {
|
|||||||
params: p
|
params: p
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
// 设备OTA
|
||||||
|
export const deviceOta = (deviceId: string | number): Promise<null> => {
|
||||||
|
return request({
|
||||||
|
url: '/v1/api/device/ota',
|
||||||
|
method: 'post',
|
||||||
|
data: { deviceId }
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// 删除机构
|
// 删除机构
|
||||||
export const orgDelete = (p?: TOrg.Idel): Promise<null> => {
|
export const orgDelete = (p?: TOrg.Idel): Promise<null> => {
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-form label-width="auto">
|
<el-form label-width="auto">
|
||||||
<el-row :gutter="20" style="margin-top: 20px">
|
<el-row :gutter="20" style="margin-top: 20px">
|
||||||
<el-col :span="8">
|
<el-col :span="12">
|
||||||
<el-form-item label="关机:">
|
<el-form-item label="关机:">
|
||||||
<el-button type="primary" @click="handelControl(1)">关机</el-button>
|
<el-button type="primary" @click="handelControl(1)">关机</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="12">
|
||||||
<el-form-item label="重启:">
|
<el-form-item label="重启:">
|
||||||
<el-button type="primary" @click="handelControl(2)">重启</el-button>
|
<el-button type="primary" @click="handelControl(2)">重启</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -14,12 +14,12 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-row :gutter="20" style="margin-top: 20px">
|
<el-row :gutter="20" style="margin-top: 20px">
|
||||||
<el-col :span="8">
|
<el-col :span="12">
|
||||||
<el-form-item label="恢复出厂:">
|
<el-form-item label="恢复出厂:">
|
||||||
<el-button type="primary" @click="handelControl(3)">恢复出厂</el-button>
|
<el-button type="primary" @click="handelControl(3)">恢复出厂</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="12">
|
||||||
<el-form-item label="获取实时定位:">
|
<el-form-item label="获取实时定位:">
|
||||||
<el-button type="primary" @click="handelControl(4)">获取实时定位</el-button>
|
<el-button type="primary" @click="handelControl(4)">获取实时定位</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -27,6 +27,11 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="OTA:">
|
||||||
|
<el-button type="primary" @click="handelControl(6)" :disabled="!rowData.otaFlag">设备升级</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="模式选择:">
|
<el-form-item label="模式选择:">
|
||||||
<el-select placeholder="请选择模式" v-model="modelValue.mode" style="width: 230px" @change="handelControl(5)">
|
<el-select placeholder="请选择模式" v-model="modelValue.mode" style="width: 230px" @change="handelControl(5)">
|
||||||
@ -50,6 +55,9 @@
|
|||||||
|
|
||||||
<script setup lang="ts" name="basetable">
|
<script setup lang="ts" name="basetable">
|
||||||
import { ElMessageBox } from "element-plus";
|
import { ElMessageBox } from "element-plus";
|
||||||
|
import { TDevice } from "@/api/index.d";
|
||||||
|
import { PropType } from "vue";
|
||||||
|
|
||||||
const emit = defineEmits(["change"]);
|
const emit = defineEmits(["change"]);
|
||||||
|
|
||||||
const { modelValue } = defineProps({
|
const { modelValue } = defineProps({
|
||||||
@ -57,6 +65,10 @@ const { modelValue } = defineProps({
|
|||||||
type: Object,
|
type: Object,
|
||||||
default: () => ({}),
|
default: () => ({}),
|
||||||
},
|
},
|
||||||
|
rowData: {
|
||||||
|
type: Object as PropType<TDevice.IListRes>,
|
||||||
|
default: () => {},
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const handelControl = (type: number) => {
|
const handelControl = (type: number) => {
|
||||||
|
@ -39,7 +39,7 @@
|
|||||||
|
|
||||||
<el-dialog title="设备控制" v-model="visible1" width="700px" destroy-on-close :close-on-click-modal="false" @close="closeDialog">
|
<el-dialog title="设备控制" v-model="visible1" width="700px" destroy-on-close :close-on-click-modal="false" @close="closeDialog">
|
||||||
<!-- <TableEdit :form-data="rowData" :options="controlOptions" :update="updateData" /> -->
|
<!-- <TableEdit :form-data="rowData" :options="controlOptions" :update="updateData" /> -->
|
||||||
<DeviceControl v-model="controlForm" @change="handelControl" />
|
<DeviceControl :rowData="rowData" v-model="controlForm" @change="handelControl" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<el-dialog title="设备关联" v-model="visible2" width="700px" destroy-on-close :close-on-click-modal="false" @close="closeDialog">
|
<el-dialog title="设备关联" v-model="visible2" width="700px" destroy-on-close :close-on-click-modal="false" @close="closeDialog">
|
||||||
<BindArea :orgAllData="orgAllData" :selectDeviceList="selectDeviceList" @close="visible2 = false" :api="bindWebFn" />
|
<BindArea :orgAllData="orgAllData" :selectDeviceList="selectDeviceList" @close="visible2 = false" :api="bindWebFn" />
|
||||||
@ -50,7 +50,7 @@
|
|||||||
<script setup lang="ts" name="basetable">
|
<script setup lang="ts" name="basetable">
|
||||||
import { ref, reactive, onMounted } from "vue";
|
import { ref, reactive, onMounted } from "vue";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import { deviceList, setMode, deviceGetLocation, deviceControl, setUseStatus, setStatus, orgAllList, bindWeb } from "@/api/index";
|
import { deviceList, setMode, deviceGetLocation, deviceControl, setUseStatus, setStatus, orgAllList, bindWeb, deviceOta } from "@/api/index";
|
||||||
import { TbindWeb, TDevice, TOrg } from "@/api/index.d";
|
import { TbindWeb, TDevice, TOrg } from "@/api/index.d";
|
||||||
import TableCustom from "@/components/table-custom.vue";
|
import TableCustom from "@/components/table-custom.vue";
|
||||||
import TableSearch from "@/components/table-search.vue";
|
import TableSearch from "@/components/table-search.vue";
|
||||||
@ -245,6 +245,12 @@ const handelControl = (type: number) => {
|
|||||||
ElMessage.success("操作成功");
|
ElMessage.success("操作成功");
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
case 6:
|
||||||
|
deviceOta(rowData.value.deviceId).then(() => {
|
||||||
|
getData();
|
||||||
|
ElMessage.success("操作成功");
|
||||||
|
});
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
let cmdEnum = {
|
let cmdEnum = {
|
||||||
1: "poweroff",
|
1: "poweroff",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user