diff --git a/vue/src/api/iot/firmware.js b/vue/src/api/iot/firmware.js
index 3f4719d9..6b93c6fd 100644
--- a/vue/src/api/iot/firmware.js
+++ b/vue/src/api/iot/firmware.js
@@ -9,6 +9,14 @@ export function listFirmware(query) {
})
}
+// 查询设备最新固件
+export function getLatestFirmware(deviceId) {
+ return request({
+ url: '/iot/firmware/getLatest/' + deviceId,
+ method: 'get'
+ })
+}
+
// 查询产品固件详细
export function getFirmware(firmwareId) {
return request({
diff --git a/vue/src/views/iot/device/running-status.vue b/vue/src/views/iot/device/running-status.vue
index 52566480..ed26c047 100644
--- a/vue/src/views/iot/device/running-status.vue
+++ b/vue/src/views/iot/device/running-status.vue
@@ -10,8 +10,7 @@
OTA升级
Version {{deviceInfo.firmwareVersion}}
- 已经是最新版本
- 升级
+ 检查更新
@@ -165,6 +164,27 @@
+
+
+
+ 已经是最新版本,不需要升级
+
+
+ 可以升级到以下版本
+
+ {{firmware.firmwareName}}
+ {{firmware.productName}}
+ Version {{firmware.version}}
+
+ {{getDownloadUrl(firmware.filePath)}}
+
+ {{firmware.remark}}
+
+
+
@@ -172,6 +192,9 @@
import {
getDeviceRunningStatus
} from "@/api/iot/device"
+import {
+ getLatestFirmware,
+} from "@/api/iot/firmware";
import {
cacheJsonThingsModel
} from "@/api/iot/model";
@@ -195,7 +218,6 @@ export default {
if (newVal && newVal.deviceId != 0) {
getDeviceRunningStatus(newVal.deviceId).then(response => {
this.deviceInfo = response.data;
- console.log(this.deviceInfo);
this.updateDeviceStatus(this.deviceInfo);
this.$nextTick(function () {
this.MonitorChart();
@@ -221,6 +243,10 @@ export default {
background: '#67C23A',
color: '#fff',
},
+ // 最新固件信息
+ firmware: {},
+ // 打开固件对话框
+ openFirmware: false,
// 遮罩层
loading: true,
// 设备信息
@@ -295,7 +321,7 @@ export default {
} else if (type == 3) {
// OTA升级
topic = "/" + device.productId + "/" + device.serialNumber + "/ota/get";
- message = '{"version":' + device.firmwareVersion + '}';
+ message = '{"version":' + this.firmware.version + ',"downloadUrl":"' + this.getDownloadUrl(this.firmware.filePath) + '"}';
} else {
return;
}
@@ -348,10 +374,25 @@ export default {
let model = {};
model.name = "设备升级"
this.mqttPublish(3, this.deviceInfo, model);
+ this.openFirmware = false;
+ },
+ /** 修改按钮操作 */
+ getLatestFirmware(deviceId) {
+ getLatestFirmware(deviceId).then(response => {
+ this.firmware = response.data;
+ this.openFirmware = true;
+ });
+ },
+ // 取消按钮
+ cancel() {
+ this.openFirmware = false;
+ },
+ // 获取下载路径前缀
+ getDownloadUrl(path) {
+ return window.location.origin + process.env.VUE_APP_BASE_API + path;
},
/**监测图表统计*/
MonitorChart() {
- console.log(this.deviceInfo.readOnlyList.length);
for (let i = 0; i < this.deviceInfo.readOnlyList.length; i++) {
var myChart = echarts.init(this.$refs.map[i]);
var option;
diff --git a/vue/src/views/iot/firmware/index.vue b/vue/src/views/iot/firmware/index.vue
index 1d936aa3..1fa0bfcc 100644
--- a/vue/src/views/iot/firmware/index.vue
+++ b/vue/src/views/iot/firmware/index.vue
@@ -21,28 +21,33 @@
+
+
+ Version {{scope.row.version}}
+
+
+
+
+ 最新
+ 默认
+
+
+
+
+ {{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
+
+
{{scope.row.productName}}
-
-
+
{{getDownloadUrl(scope.row.filePath)}}
-
-
- Version {{scope.row.version}}
-
-
-
-
- {{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
-
-
+
- 提示:查找不到设备,可能已经被删除
+ 提示:查找不到设备,可能已经被删除
{{device.deviceId}}
{{device.deviceName}}
diff --git a/vue/src/views/iot/product/product-firmware.vue b/vue/src/views/iot/product/product-firmware.vue
index 1a8d94ef..deea8e30 100644
--- a/vue/src/views/iot/product/product-firmware.vue
+++ b/vue/src/views/iot/product/product-firmware.vue
@@ -11,22 +11,28 @@
-
+
Version {{scope.row.version}}
-
+
- {{getDownloadUrl(scope.row.filePath)}}
+ 最新
+ 默认
-
+
{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
+
+
+ {{getDownloadUrl(scope.row.filePath)}}
+
+
+
修改
@@ -44,12 +50,16 @@
-
+
+
+
+ 提示:产品中只能有一个最新固件
+
-
-
+
+