|
|
@ -49,7 +49,7 @@ |
|
|
|
<el-col :span="4" v-show="collapseVisible"> |
|
|
|
<el-form-item label="设备类型" prop="deviceType" label-width="auto"> |
|
|
|
<el-select v-model="queryParams.deviceType" placeholder="请选择设备类型" clearable> |
|
|
|
<el-option v-for="dict in dc_device_type" :key="dict.value" :label="dict.label" :value="dict.value" /> |
|
|
|
<el-option v-for="dict in dc_device_type" :key="dict.value" :label="dict.label" :value="dict.value"/> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
@ -217,6 +217,7 @@ |
|
|
|
</template> |
|
|
|
<template #default="scope"> |
|
|
|
<el-button type="text" icon="Edit" @click="handleParams(scope.row)">维护设备参数</el-button> |
|
|
|
<el-button type="text" icon="Download" v-if="scope.row.deviceType == '0' && scope.row.deviceSourceId == '001'" @click="handleSyncTbDevice(scope.row)">同步TB设备信息</el-button> |
|
|
|
<el-button type="text" icon="Edit" @click="handleUpdate(scope.row)">修改</el-button> |
|
|
|
<el-button type="text" icon="Delete" @click="handleDelete(scope.row)">删除</el-button> |
|
|
|
</template> |
|
|
@ -268,13 +269,13 @@ |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12" v-show="thingsboardShow"> |
|
|
|
<el-form-item label="thingsboard服务" prop="thingsboardServer"> |
|
|
|
<el-select v-model="form.thingsboardServer" placeholder="请选择thingsboard服务"> |
|
|
|
<el-form-item label="thingsboard服务" prop="serverinfoId"> |
|
|
|
<el-select v-model="form.serverinfoId" placeholder="请选择thingsboard服务"> |
|
|
|
<el-option v-for="dict in tbServerList" :key="dict.id" :label="dict.seviceName" :value="dict.id" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="12" v-show="thingsboardShow"> |
|
|
|
<el-col :span="12" v-show=false> |
|
|
|
<el-form-item label="是否同步设备到tb服务" prop="synchroDevice"> |
|
|
|
<el-select v-model="form.synchroDevice" placeholder="请选择是否同步设备到tb服务"> |
|
|
|
<el-option v-for="dict in synchro_device" :key="dict.value" :label="dict.label" :value="dict.value" /> |
|
|
@ -290,7 +291,7 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="12"> |
|
|
|
<el-form-item label="设备类型" prop="deviceType"> |
|
|
|
<el-select v-model="form.deviceType" placeholder="请选择设备类型"> |
|
|
|
<el-select v-model="form.deviceType" placeholder="请选择设备类型" @change="deviceTypeChange"> |
|
|
|
<el-option v-for="dict in dc_device_type" :key="dict.value" :label="dict.label" :value="dict.value"> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
@ -438,7 +439,7 @@ |
|
|
|
} |
|
|
|
</style> |
|
|
|
<script setup name="Device"> |
|
|
|
import { getUuid, getDevice, delDevice, addDevice, updateDevice, listWithFilterColumn, selectDcBaseDeviceinfoMaxSort, cleanRedisCache, addAndSyncParamMap } from "@/api/model/device"; |
|
|
|
import { getUuid, getDevice, delDevice, addDevice, updateDevice, listWithFilterColumn, selectDcBaseDeviceinfoMaxSort, cleanRedisCache, addAndSyncParamMap, syncTbDevice } from "@/api/model/device"; |
|
|
|
import { listDevicemodel, } from "@/api/model/devicemodel"; |
|
|
|
import { deptTreeSelect } from "@/api/system/user"; |
|
|
|
import { listserverinfoNoPage, } from "@/api/model/tbserverinfo"; |
|
|
@ -547,12 +548,12 @@ const data = reactive({ |
|
|
|
orgName: [ |
|
|
|
{ required: true, message: "所属组织名称", trigger: "change" } |
|
|
|
], |
|
|
|
thingsboardServer: [ |
|
|
|
serverinfoId: [ |
|
|
|
{ required: thingsboardShow, message: "thingsboard服务", trigger: "change" } |
|
|
|
], |
|
|
|
synchroDevice: [ |
|
|
|
{ required: thingsboardShow, message: "是否同步设备到tb服务", trigger: "change" } |
|
|
|
], |
|
|
|
// synchroDevice: [ |
|
|
|
// { required: thingsboardShow, message: "是否同步设备到tb服务", trigger: "change" } |
|
|
|
// ], |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
@ -616,8 +617,10 @@ function reset() { |
|
|
|
deleteBy: null, |
|
|
|
deleteTime: null, |
|
|
|
id: null, |
|
|
|
serverinfoId: null, |
|
|
|
deviceGroupName: null |
|
|
|
}; |
|
|
|
thingsboardShow.value = false; |
|
|
|
proxy.resetForm("deviceRef"); |
|
|
|
} |
|
|
|
|
|
|
@ -648,7 +651,7 @@ function handleSelectionChange(selection) { |
|
|
|
/** 新增按钮操作 */ |
|
|
|
function handleAdd() { |
|
|
|
reset(); |
|
|
|
loading.value = true; |
|
|
|
// loading.value = true; |
|
|
|
// getUuid().then(response => { |
|
|
|
// form.value.centerDeviceCode = response.msg; |
|
|
|
// form.value.uuid = response.msg; |
|
|
@ -658,9 +661,10 @@ function handleAdd() { |
|
|
|
form.value.sort = response.data?.sort + 1; |
|
|
|
loading.value = false; |
|
|
|
}) |
|
|
|
disabledDeviceCode.value = true; |
|
|
|
// disabledDeviceCode.value = true; |
|
|
|
open.value = true; |
|
|
|
title.value = "添加设备信息"; |
|
|
|
getThServerList(); |
|
|
|
} |
|
|
|
|
|
|
|
/** 修改按钮操作 */ |
|
|
@ -681,7 +685,11 @@ function handleUpdate(row) { |
|
|
|
return; |
|
|
|
} |
|
|
|
getDevice(_id).then(response => { |
|
|
|
getThServerList(); |
|
|
|
form.value = response.data; |
|
|
|
if(form.value.deviceType == '0' && form.value.deviceSourceId == '001'){ |
|
|
|
thingsboardShow.value = true; |
|
|
|
} |
|
|
|
open.value = true; |
|
|
|
disabledDeviceCode.value = true; |
|
|
|
title.value = "修改设备信息"; |
|
|
@ -815,6 +823,18 @@ function handleParams(row) { |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
function handleSyncTbDevice(row) { |
|
|
|
proxy.$modal.confirm('是否确认同步"' + row.deviceName + '"的ThingsBoard设备信息?').then(function () { |
|
|
|
syncTbDevice(row.id).then(response => { |
|
|
|
if (response.code == 200) { |
|
|
|
proxy.$modal.msgSuccess("同步成功"); |
|
|
|
} else { |
|
|
|
proxy.$modal.msgSuccess(response.message); |
|
|
|
} |
|
|
|
}); |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
function toggleCollapse() { |
|
|
|
collapseVisible.value = !collapseVisible.value; |
|
|
|
if (collapseVisible.value) { |
|
|
@ -839,17 +859,29 @@ function deviceSourceChange(val) { |
|
|
|
if (item.value == val) { |
|
|
|
form.value.deviceSource = item.label; |
|
|
|
} |
|
|
|
// if (val == '002') { |
|
|
|
// ioserverShow.value = true; |
|
|
|
// thingsboardShow.value = false; |
|
|
|
// } else if (val == '001') { |
|
|
|
// getThServerList(); |
|
|
|
// ioserverShow.value = false; |
|
|
|
// thingsboardShow.value = true; |
|
|
|
// } |
|
|
|
if (form.value.deviceSourceId == '001' && form.value.deviceType == '0') { |
|
|
|
// ioserverShow.value = false; |
|
|
|
thingsboardShow.value = true; |
|
|
|
} else { |
|
|
|
// ioserverShow.value = true; |
|
|
|
thingsboardShow.value = false; |
|
|
|
// form.value.serverinfoId = null; |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
function deviceTypeChange(){ |
|
|
|
if (form.value.deviceSourceId == '001' && form.value.deviceType == '0') { |
|
|
|
getThServerList(); |
|
|
|
// ioserverShow.value = false; |
|
|
|
thingsboardShow.value = true; |
|
|
|
} else { |
|
|
|
// ioserverShow.value = true; |
|
|
|
thingsboardShow.value = false; |
|
|
|
// form.value.serverinfoId = null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function toggleFixedColumns() { |
|
|
|
fixedColumns.value = !fixedColumns.value; |
|
|
|
} |
|
|
|