Showing
10 changed files
with
66 additions
and
13 deletions
| ... | ... | @@ -14,9 +14,9 @@ VITE_PUBLIC_PATH = / |
| 14 | 14 | # VITE_PROXY = [["/api","http://101.133.234.90:8080/api"]] |
| 15 | 15 | # 线上测试环境 |
| 16 | 16 | # VITE_PROXY = [["/api","http://localhost:8080/api"],["/thingskit-drawio","http://localhost:3000/"]] |
| 17 | -# VITE_PROXY = [["/api","http://222.180.200.114:48080/api"],["/thingskit-drawio","http://localhost:3000/"]] | |
| 17 | +VITE_PROXY = [["/api","http://222.180.200.114:48080/api"],["/thingskit-drawio","http://localhost:3000/"]] | |
| 18 | 18 | # VITE_PROXY = [["/api","http://121.37.251.8:8080/api"],["/thingskit-drawio","http://localhost:3000/"]] |
| 19 | -VITE_PROXY = [["/api","http://192.168.10.103:8080/api"],["/thingskit-drawio","http://192.168.10.136:8080/api"]] | |
| 19 | +# VITE_PROXY = [["/api","http://192.168.10.103:8080/api"],["/thingskit-drawio","http://192.168.10.136:8080/api"]] | |
| 20 | 20 | |
| 21 | 21 | # 实时数据的ws地址 |
| 22 | 22 | # VITE_WEB_SOCKET = ws://localhost:8080/api/ws/plugins/telemetry?token= | ... | ... |
| ... | ... | @@ -219,7 +219,6 @@ |
| 219 | 219 | }); |
| 220 | 220 | send(sendValue); |
| 221 | 221 | send(sendValue1); |
| 222 | - console.log('建立连接了'); | |
| 223 | 222 | }, |
| 224 | 223 | onMessage(_, e) { |
| 225 | 224 | const { data, update } = JSON.parse(e.data); |
| ... | ... | @@ -471,14 +470,17 @@ |
| 471 | 470 | justify-content: center; |
| 472 | 471 | font-size: 16px; |
| 473 | 472 | } |
| 473 | + | |
| 474 | 474 | .active { |
| 475 | 475 | color: #0960bd; |
| 476 | 476 | font-weight: 500; |
| 477 | 477 | } |
| 478 | + | |
| 478 | 479 | .extra-date { |
| 479 | 480 | display: flex; |
| 480 | 481 | align-items: center; |
| 481 | 482 | justify-content: space-between; |
| 483 | + | |
| 482 | 484 | span { |
| 483 | 485 | margin-right: 20px; |
| 484 | 486 | cursor: pointer; | ... | ... |
| ... | ... | @@ -49,6 +49,12 @@ export const step1Schemas: FormSchema[] = [ |
| 49 | 49 | show: false, |
| 50 | 50 | }, |
| 51 | 51 | { |
| 52 | + field: 'deviceProfileId', | |
| 53 | + label: '', | |
| 54 | + component: 'Input', | |
| 55 | + show: false, | |
| 56 | + }, | |
| 57 | + { | |
| 52 | 58 | field: 'profileId', |
| 53 | 59 | label: '所属产品', |
| 54 | 60 | required: true, |
| ... | ... | @@ -59,9 +65,12 @@ export const step1Schemas: FormSchema[] = [ |
| 59 | 65 | api: deviceProfile, |
| 60 | 66 | labelField: 'name', |
| 61 | 67 | valueField: 'tbProfileId', |
| 62 | - onChange(_value: string, option: { deviceType: string; transportType: string }) { | |
| 63 | - const { deviceType, transportType } = option; | |
| 64 | - setFieldsValue({ deviceType: deviceType, transportType }); | |
| 68 | + onChange( | |
| 69 | + _value: string, | |
| 70 | + option: { deviceType: string; transportType: string; id: string } | |
| 71 | + ) { | |
| 72 | + const { deviceType, transportType, id } = option; | |
| 73 | + setFieldsValue({ deviceType: deviceType, transportType, deviceProfileId: id }); | |
| 65 | 74 | }, |
| 66 | 75 | }; |
| 67 | 76 | }, | ... | ... |
| ... | ... | @@ -32,7 +32,7 @@ |
| 32 | 32 | } |
| 33 | 33 | |
| 34 | 34 | const props = defineProps<{ |
| 35 | - deviceDetail: Record<'tbDeviceId' | 'profileId' | 'id', string>; | |
| 35 | + deviceDetail: Record<'tbDeviceId' | 'profileId' | 'id' | 'deviceProfileId', string>; | |
| 36 | 36 | }>(); |
| 37 | 37 | |
| 38 | 38 | const grid = { |
| ... | ... | @@ -137,8 +137,8 @@ |
| 137 | 137 | |
| 138 | 138 | const { send, close, data } = useWebSocket(socketInfo.origin, { |
| 139 | 139 | async onConnected() { |
| 140 | - const { id, profileId } = props.deviceDetail; | |
| 141 | - const value = await getDeviceAttrs(profileId, id); | |
| 140 | + const { id, deviceProfileId } = props.deviceDetail; | |
| 141 | + const value = await getDeviceAttrs(deviceProfileId, id); | |
| 142 | 142 | socketInfo.attrKeys = value; |
| 143 | 143 | send(JSON.stringify(unref(getSendValue))); |
| 144 | 144 | }, | ... | ... |
| ... | ... | @@ -13,6 +13,9 @@ |
| 13 | 13 | <div class="absolute w-full h-full top-0 cursor-not-allowed"></div> |
| 14 | 14 | </div> |
| 15 | 15 | </Tabs.TabPane> |
| 16 | + <Tabs.TabPane key="topic" tab="Topic"> | |
| 17 | + <TopicPanel /> | |
| 18 | + </Tabs.TabPane> | |
| 16 | 19 | <Tabs.TabPane key="modelOfMatter" tab="物模型管理"> |
| 17 | 20 | <PhysicalModelManagementStep :record="record" /> |
| 18 | 21 | </Tabs.TabPane> |
| ... | ... | @@ -28,10 +31,11 @@ |
| 28 | 31 | import { ref, unref } from 'vue'; |
| 29 | 32 | import { deviceConfigGetDetail } from '/@/api/device/deviceConfigApi'; |
| 30 | 33 | import { DeviceRecord } from '/@/api/device/model/deviceModel'; |
| 34 | + import TopicPanel from './step/TopicPanel.vue'; | |
| 31 | 35 | |
| 32 | 36 | defineEmits(['register']); |
| 33 | 37 | |
| 34 | - type ActiveKey = 'product' | 'transport' | 'modelOfMatter'; | |
| 38 | + type ActiveKey = 'product' | 'transport' | 'modelOfMatter' | 'topic'; | |
| 35 | 39 | |
| 36 | 40 | const activeKey = ref<ActiveKey>('modelOfMatter'); |
| 37 | 41 | ... | ... |
| ... | ... | @@ -439,3 +439,26 @@ export const formSchema: FormSchema[] = [ |
| 439 | 439 | }, |
| 440 | 440 | }, |
| 441 | 441 | ]; |
| 442 | + | |
| 443 | +export const topicTableColumn: BasicColumn[] = [ | |
| 444 | + { | |
| 445 | + title: '功能', | |
| 446 | + dataIndex: 'function', | |
| 447 | + width: 100, | |
| 448 | + }, | |
| 449 | + { | |
| 450 | + title: 'Topic类', | |
| 451 | + dataIndex: 'class', | |
| 452 | + width: 100, | |
| 453 | + }, | |
| 454 | + { | |
| 455 | + title: '操作权限', | |
| 456 | + dataIndex: 'access', | |
| 457 | + width: 100, | |
| 458 | + }, | |
| 459 | + { | |
| 460 | + title: '描述', | |
| 461 | + dataIndex: 'description', | |
| 462 | + width: 100, | |
| 463 | + }, | |
| 464 | +]; | ... | ... |
| 1 | +<script lang="ts" setup> | |
| 2 | + import { topicTableColumn } from '../device.profile.data'; | |
| 3 | + import { BasicTable, useTable } from '/@/components/Table'; | |
| 4 | + const [register] = useTable({ | |
| 5 | + title: 'Topic', | |
| 6 | + columns: topicTableColumn, | |
| 7 | + bordered: true, | |
| 8 | + showTableSetting: true, | |
| 9 | + }); | |
| 10 | +</script> | |
| 11 | + | |
| 12 | +<template> | |
| 13 | + <section class="bg-gray-100 p-4 dark:bg-dark-900 w-full h-full"> | |
| 14 | + <BasicTable @register="register" /> | |
| 15 | + </section> | |
| 16 | +</template> | ... | ... |