+
@@ -149,6 +150,7 @@ import {
} from "@/api/iot/project_new";
import { setSwitchControl,searchDevControl } from "@/api/iot/device";
import { webSocketProjectGatewayUrl } from "@/config/env";
+import moment from "moment";
export default {
name: "EDeviceChildren",
components: {
@@ -225,6 +227,37 @@ export default {
this.tableLoading = true;
this.getProjectModelList();
},
+ watch: {
+ tableList: {
+ handler: function(list, oldVal) {
+ // list.forEach(val=>{
+ // // 创建设备定位的点
+ // this.filterList.forEach(item=>{
+ // if(item.dataFormatType){
+ // if(item.dataFormatType == 'ENUM'){
+ // try{
+ // val[item.key] = item.dataFormatObj[val[item.key]]||val[item.key];
+ // }catch(e){
+ // }
+ // }else if(item.dataFormatType == 'TIME'){
+ // if (val[item.key].toString().length === 10) {
+ // // 10 位时间戳
+ // val[item.key] = moment(val[item.key] * 1000).format('YYYY-MM-DD HH:mm:ss');
+ // } else if (val[item.key].toString().length === 13) {
+ // // 13 位时间戳
+ // val[item.key] = moment(val[item.key]).format('YYYY-MM-DD HH:mm:ss');
+ // } else {
+ // val[item.key] = val[item.key];
+ // }
+ // }
+ // }
+ // })
+ // })
+
+ },
+ deep: true
+ }
+ },
methods: {
handleLinkToHome() {
this.$emit("handleLinkToHome");
@@ -234,11 +267,23 @@ export default {
var resultList = [];
if (list && list.length > 0) {
list.forEach((v) => {
+ if(v.dataFormat){
+ let dataFormat = JSON.parse(v.dataFormat);
+ v.dataFormatType = dataFormat.type;
+ if(dataFormat.list && dataFormat.type == 'ENUM'){
+ try{
+ v.dataFormatObj = JSON.parse(dataFormat.list.replace(/\\/g, ''));
+ }catch(e){
+ v.dataFormatObj = {};
+ }
+ }
+ }
resultList.push({
label: v["unitName"] ? `${v["name"]}(${v["unitName"]})` : v["name"],
align: "center",
prop: v["key"],
width: list.length > 5 ? "200px" : "",
+ ...v
});
});
}
@@ -392,6 +437,26 @@ export default {
},
// 处理 socket 数据返回 赋值问题
handleDeviceInfo(param) {
+ // this.filterList.forEach(item=>{
+ // if(item.dataFormatType){
+ // if(item.dataFormatType == 'ENUM'){
+ // try{
+ // param[item.key] = item.dataFormatObj[param[item.key]]||param[item.key];
+ // }catch(e){
+ // }
+ // }else if(item.dataFormatType == 'TIME'){
+ // if (param[item.key].toString().length === 10) {
+ // // 10 位时间戳
+ // param[item.key] = moment(param[item.key] * 1000).format('YYYY-MM-DD HH:mm:ss');
+ // } else if (param[item.key].toString().length === 13) {
+ // // 13 位时间戳
+ // param[item.key] = moment(param[item.key]).format('YYYY-MM-DD HH:mm:ss');
+ // } else {
+ // param[item.key] = param[item.key];
+ // }
+ // }
+ // }
+ // })
if (this.tableList && this.tableList.length > 0) {
this.tableList = this.tableList.map((v) => {
if (v["deviceKey"] === param["deviceId"] || v["deviceKey"] === param["deviceKey"]) {
@@ -421,7 +486,6 @@ export default {
this.stompClient.onclose = this.socket_onclose;
},
socket_message(data) {
- console.log("socket-message:", data);
const messagedata = JSON.parse(data.data);
this.handleDeviceInfo(messagedata);
this.$forceUpdate();
@@ -592,6 +656,7 @@ export default {
font-weight: 300;
color: #1890ff;
align-items: center;
+ cursor: pointer;
> i {
font-size: 16px;
margin-right: 1px;
diff --git a/src/views/iot/project/profileV2/DeviceManage/EDynamicTable.vue b/src/views/iot/project/profileV2/DeviceManage/EDynamicTable.vue
index c4b45e99..71526459 100644
--- a/src/views/iot/project/profileV2/DeviceManage/EDynamicTable.vue
+++ b/src/views/iot/project/profileV2/DeviceManage/EDynamicTable.vue
@@ -46,6 +46,20 @@
:name="tableItem.slotName"
:row="scope.row"
>
+
+ {{ tableItem.dataFormatObj[scope.row[tableItem.prop]] || scope.row[tableItem.prop] }}
+
+
+ {{ formatTime(scope.row[tableItem.prop]) || scope.row[tableItem.prop] }}
+
@@ -304,6 +365,7 @@ export default {
.custom-wrap {
border: 1px solid #d8d7d7;
padding-top: 20px;
+ margin-top: 10px;
background: #f0f0f0;
padding-right: 10px;
.el-form-item {
@@ -343,6 +405,15 @@ export default {
margin-left: 0px !important;
}
}
+
+ }
+ .enum-box{
+ border: 1px solid #d8d7d7;
+ padding: 10px;
+ margin-bottom: 10px;
+ .enumTypeDiv{
+ margin-top: 10px;
+ }
}
.el-select {
width: 100%;