|
@@ -3,7 +3,8 @@
|
|
<div class="content">
|
|
<div class="content">
|
|
<div class="cont_box">
|
|
<div class="cont_box">
|
|
<div class="title">设备:{{ detail.name }}</div>
|
|
<div class="title">设备:{{ detail.name }}</div>
|
|
- <div class="pro-status"><span :class="developer_status == 2 ? 'on' : 'off'"></span>{{ developer_status == 2 ? '在线' : '离线' }}</div>
|
|
|
|
|
|
+ <div class="pro-status"><span :class="developer_status == 2 ? 'on' : 'off'"></span>{{ developer_status == 2 ? '在线'
|
|
|
|
+ : '离线' }}</div>
|
|
|
|
|
|
<!-- <div class="pro-option" @click="CkOption">{{ developer_status == 2 ? '下线' : '上线' }}</div> -->
|
|
<!-- <div class="pro-option" @click="CkOption">{{ developer_status == 2 ? '下线' : '上线' }}</div> -->
|
|
</div>
|
|
</div>
|
|
@@ -49,15 +50,16 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <div class="statusname" v-if="item.type!='object'">{{ item.value }}{{ item.unit }}</div>
|
|
|
|
|
|
+ <div class="statusname" v-if="item.type != 'object'">{{ item.value }}{{ item.unit }}</div>
|
|
<div v-else>
|
|
<div v-else>
|
|
- <div class="oblist" v-for="(vare, name) in item.value">
|
|
|
|
- <div class="name">{{name}}:</div>
|
|
|
|
- <div class="name">{{vare}}</div>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <div class="oblist" v-for="(vare, name) in item.value">
|
|
|
|
+ <div class="name">{{ name }}:</div>
|
|
|
|
+ <div class="name">{{ vare }}</div>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div class="">
|
|
<div class="">
|
|
- <devantd :json="item.list" :antdid="item.key" v-if="item.type == 'int' || item.type == 'float' || item.type == 'string'" />
|
|
|
|
|
|
+ <devantd :json="item.list" :antdid="item.key"
|
|
|
|
+ v-if="item.type == 'int' || item.type == 'float' || item.type == 'string'" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -80,7 +82,10 @@
|
|
<th class="ant-descriptions-item-label ant-descriptions-item-colon">设备名称</th>
|
|
<th class="ant-descriptions-item-label ant-descriptions-item-colon">设备名称</th>
|
|
<td class="ant-descriptions-item-content" colspan="1">{{ detail.name }}</td>
|
|
<td class="ant-descriptions-item-content" colspan="1">{{ detail.name }}</td>
|
|
<th class="ant-descriptions-item-label ant-descriptions-item-colon">所属产品</th>
|
|
<th class="ant-descriptions-item-label ant-descriptions-item-colon">所属产品</th>
|
|
- <td class="ant-descriptions-item-content" colspan="1">{{ detail.productName }}</td>
|
|
|
|
|
|
+ <td class="ant-descriptions-item-content" colspan="1">
|
|
|
|
+ <router-link :to="'/iotmanager/device/product/detail/' + prodetail.id" class="link-type">{{
|
|
|
|
+ detail.productName }} </router-link>
|
|
|
|
+ </td>
|
|
|
|
|
|
</tr>
|
|
</tr>
|
|
<tr class="ant-descriptions-row">
|
|
<tr class="ant-descriptions-row">
|
|
@@ -153,9 +158,12 @@
|
|
<el-table-column label="说明" prop="desc" :show-overflow-tooltip="true" />
|
|
<el-table-column label="说明" prop="desc" :show-overflow-tooltip="true" />
|
|
<el-table-column label="操作" width="300" align="center" fixed="right">
|
|
<el-table-column label="操作" width="300" align="center" fixed="right">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-button size="small" text type="warning" v-auth="'edit'" @click="onEditAttr(scope.row)">修改</el-button>
|
|
|
|
- <el-button size="small" text type="danger" v-auth="'del'" @click="onRowDel(scope.row.key, 'attr')">删除</el-button>
|
|
|
|
- <el-button size="small" text type="primary" v-auth="'edit'" @click="setAttr(scope.row)">设置属性</el-button>
|
|
|
|
|
|
+ <el-button size="small" text type="warning" v-auth="'edit'"
|
|
|
|
+ @click="onEditAttr(scope.row)">修改</el-button>
|
|
|
|
+ <el-button size="small" text type="danger" v-auth="'del'"
|
|
|
|
+ @click="onRowDel(scope.row.key, 'attr')">删除</el-button>
|
|
|
|
+ <el-button size="small" text type="primary" v-auth="'edit'"
|
|
|
|
+ @click="setAttr(scope.row)">设置属性</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -175,8 +183,10 @@
|
|
<el-table-column label="描述" prop="desc" :show-overflow-tooltip="true" />
|
|
<el-table-column label="描述" prop="desc" :show-overflow-tooltip="true" />
|
|
<el-table-column label="操作" width="300" align="center" fixed="right">
|
|
<el-table-column label="操作" width="300" align="center" fixed="right">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-button size="small" text type="warning" v-auth="'edit'" @click="onEditFun(scope.row)">修改</el-button>
|
|
|
|
- <el-button size="small" text type="danger" v-auth="'del'" @click="onRowDel(scope.row.key, 'fun')">删除</el-button>
|
|
|
|
|
|
+ <el-button size="small" text type="warning" v-auth="'edit'"
|
|
|
|
+ @click="onEditFun(scope.row)">修改</el-button>
|
|
|
|
+ <el-button size="small" text type="danger" v-auth="'del'"
|
|
|
|
+ @click="onRowDel(scope.row.key, 'fun')">删除</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -203,8 +213,10 @@
|
|
|
|
|
|
<el-table-column label="操作" width="300" align="center" fixed="right">
|
|
<el-table-column label="操作" width="300" align="center" fixed="right">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-button size="small" text type="warning" v-auth="'edit'" @click="onEditEvent(scope.row)">修改</el-button>
|
|
|
|
- <el-button size="small" text type="danger" v-auth="'del'" @click="onRowDel(scope.row.key, 'event')">删除</el-button>
|
|
|
|
|
|
+ <el-button size="small" text type="warning" v-auth="'edit'"
|
|
|
|
+ @click="onEditEvent(scope.row)">修改</el-button>
|
|
|
|
+ <el-button size="small" text type="danger" v-auth="'del'"
|
|
|
|
+ @click="onRowDel(scope.row.key, 'event')">删除</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -235,18 +247,22 @@
|
|
<el-table-column label="描述" prop="desc" :show-overflow-tooltip="true" />
|
|
<el-table-column label="描述" prop="desc" :show-overflow-tooltip="true" />
|
|
<el-table-column label="操作" width="300" align="center" fixed="right">
|
|
<el-table-column label="操作" width="300" align="center" fixed="right">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-button size="small" text type="warning" v-auth="'edit'" @click="onEditTag(scope.row)">修改</el-button>
|
|
|
|
- <el-button size="small" text type="danger" v-auth="'del'" @click="onRowDel(scope.row.key, 'tab')">删除</el-button>
|
|
|
|
|
|
+ <el-button size="small" text type="warning" v-auth="'edit'"
|
|
|
|
+ @click="onEditTag(scope.row)">修改</el-button>
|
|
|
|
+ <el-button size="small" text type="danger" v-auth="'del'"
|
|
|
|
+ @click="onRowDel(scope.row.key, 'tab')">删除</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
</el-tabs>
|
|
- <pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum" v-model:limit="tableData.param.pageSize" @pagination="getList()" />
|
|
|
|
|
|
+ <pagination v-show="tableData.total > 0" :total="tableData.total" v-model:page="tableData.param.pageNum"
|
|
|
|
+ v-model:limit="tableData.param.pageSize" @pagination="getList()" />
|
|
</div>
|
|
</div>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
<el-tab-pane label="设备功能" name="5">
|
|
<el-tab-pane label="设备功能" name="5">
|
|
- <functionCom :device-key="detail.key" :product-key="prodetail.key" v-if="detail.key && prodetail.key && activeName === '5'"></functionCom>
|
|
|
|
|
|
+ <functionCom :device-key="detail.key" :product-key="prodetail.key"
|
|
|
|
+ v-if="detail.key && prodetail.key && activeName === '5'"></functionCom>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
<el-tab-pane label="日志管理" name="4">
|
|
<el-tab-pane label="日志管理" name="4">
|
|
<div class="system-user-search mb15">
|
|
<div class="system-user-search mb15">
|
|
@@ -258,7 +274,8 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="创建时间" prop="dateRange">
|
|
<el-form-item label="创建时间" prop="dateRange">
|
|
- <el-date-picker v-model="logtableData.param.dateRange" size="default" value-format="YYYY-MM-DD" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
|
|
|
|
|
|
+ <el-date-picker v-model="logtableData.param.dateRange" size="default" value-format="YYYY-MM-DD"
|
|
|
|
+ type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
<el-button size="default" type="primary" class="ml10" @click="getlog">
|
|
<el-button size="default" type="primary" class="ml10" @click="getlog">
|
|
@@ -288,7 +305,8 @@
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
|
|
|
|
- <pagination v-show="logtableData.total > 0" :total="logtableData.total" v-model:page="logtableData.param.pageNum" v-model:limit="logtableData.param.pageSize" @pagination="getlog" />
|
|
|
|
|
|
+ <pagination v-show="logtableData.total > 0" :total="logtableData.total"
|
|
|
|
+ v-model:page="logtableData.param.pageNum" v-model:limit="logtableData.param.pageSize" @pagination="getlog" />
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
<el-tab-pane v-if="prodetail.deviceType == '网关'" label="子设备" name="6">
|
|
<el-tab-pane v-if="prodetail.deviceType == '网关'" label="子设备" name="6">
|
|
<div class="wu-box">
|
|
<div class="wu-box">
|
|
@@ -296,11 +314,13 @@
|
|
<div class="title">子设备列表</div>
|
|
<div class="title">子设备列表</div>
|
|
<div>
|
|
<div>
|
|
<el-button v-auth="'mutipleBind'" type="primary" @click="onOpenMutipleBind()">批量绑定</el-button>
|
|
<el-button v-auth="'mutipleBind'" type="primary" @click="onOpenMutipleBind()">批量绑定</el-button>
|
|
- <el-button v-auth="'cancleMutipleBind'" :disabled="!deviceKeyList.length" type="primary" @click="mutipleUnbind()">批量解绑</el-button>
|
|
|
|
|
|
+ <el-button v-auth="'cancleMutipleBind'" :disabled="!deviceKeyList.length" type="primary"
|
|
|
|
+ @click="mutipleUnbind()">批量解绑</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <el-table :data="deviceTableData.data" style="width: 100%" @selection-change="handleSelectionChange" v-loading="deviceTableData.loading">
|
|
|
|
|
|
+ <el-table :data="deviceTableData.data" style="width: 100%" @selection-change="handleSelectionChange"
|
|
|
|
+ v-loading="deviceTableData.loading">
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
<el-table-column label="标识" prop="key" width="130" :show-overflow-tooltip="true" />
|
|
<el-table-column label="标识" prop="key" width="130" :show-overflow-tooltip="true" />
|
|
<el-table-column label="设备名称" prop="name" :show-overflow-tooltip="true" />
|
|
<el-table-column label="设备名称" prop="name" :show-overflow-tooltip="true" />
|
|
@@ -318,12 +338,16 @@
|
|
|
|
|
|
<el-table-column label="操作" width="160" align="center" fixed="right">
|
|
<el-table-column label="操作" width="160" align="center" fixed="right">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
- <el-button size="small" text type="danger" v-auth="'del'" @click="deleteSubDevice(scope.row)">删除</el-button>
|
|
|
|
- <el-button size="small" text type="warning" v-auth="'detail'" @click="onOpenDetail(scope.row)">详情</el-button>
|
|
|
|
|
|
+ <el-button size="small" text type="danger" v-auth="'del'"
|
|
|
|
+ @click="deleteSubDevice(scope.row)">删除</el-button>
|
|
|
|
+ <el-button size="small" text type="warning" v-auth="'detail'"
|
|
|
|
+ @click="onOpenDetail(scope.row)">详情</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
- <pagination v-show="deviceTableData.total > 0" :total="deviceTableData.total" v-model:page="deviceTableData.param.pageNum" v-model:limit="deviceTableData.param.pageSize" @pagination="getDeviceTableData" />
|
|
|
|
|
|
+ <pagination v-show="deviceTableData.total > 0" :total="deviceTableData.total"
|
|
|
|
+ v-model:page="deviceTableData.param.pageNum" v-model:limit="deviceTableData.param.pageSize"
|
|
|
|
+ @pagination="getDeviceTableData" />
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
@@ -751,8 +775,8 @@ export default defineComponent({
|
|
temps.push(a);
|
|
temps.push(a);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- if(item.type=='object'){
|
|
|
|
- item.value=JSON.parse(item.value);
|
|
|
|
|
|
+ if (item.type == 'object') {
|
|
|
|
+ item.value = JSON.parse(item.value);
|
|
}
|
|
}
|
|
|
|
|
|
temp[index]['name'] = item.name
|
|
temp[index]['name'] = item.name
|
|
@@ -865,15 +889,16 @@ export default defineComponent({
|
|
});
|
|
});
|
|
</script>
|
|
</script>
|
|
<style>
|
|
<style>
|
|
-.oblist{
|
|
|
|
|
|
+.oblist {
|
|
display: flex;
|
|
display: flex;
|
|
- flex-direction: row;
|
|
|
|
- align-items: center;
|
|
|
|
- padding-right: 5px;
|
|
|
|
- flex: 1;
|
|
|
|
- margin-top: 10px;
|
|
|
|
- margin-left: 10px;
|
|
|
|
|
|
+ flex-direction: row;
|
|
|
|
+ align-items: center;
|
|
|
|
+ padding-right: 5px;
|
|
|
|
+ flex: 1;
|
|
|
|
+ margin-top: 10px;
|
|
|
|
+ margin-left: 10px;
|
|
}
|
|
}
|
|
|
|
+
|
|
.content {
|
|
.content {
|
|
background: #fff;
|
|
background: #fff;
|
|
width: 100%;
|
|
width: 100%;
|
|
@@ -1065,7 +1090,6 @@ tr {
|
|
margin-top: 20px;
|
|
margin-top: 20px;
|
|
height: 30px;
|
|
height: 30px;
|
|
line-height: 30px;
|
|
line-height: 30px;
|
|
-}
|
|
|
|
-</style>
|
|
|
|
|
|
+}</style>
|
|
|
|
|
|
|
|
|