Showing
10 changed files
with
66 additions
and
13 deletions
@@ -14,9 +14,9 @@ VITE_PUBLIC_PATH = / | @@ -14,9 +14,9 @@ VITE_PUBLIC_PATH = / | ||
14 | # VITE_PROXY = [["/api","http://101.133.234.90:8080/api"]] | 14 | # VITE_PROXY = [["/api","http://101.133.234.90:8080/api"]] |
15 | # 线上测试环境 | 15 | # 线上测试环境 |
16 | # VITE_PROXY = [["/api","http://localhost:8080/api"],["/thingskit-drawio","http://localhost:3000/"]] | 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 | # VITE_PROXY = [["/api","http://121.37.251.8:8080/api"],["/thingskit-drawio","http://localhost:3000/"]] | 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 | # 实时数据的ws地址 | 21 | # 实时数据的ws地址 |
22 | # VITE_WEB_SOCKET = ws://localhost:8080/api/ws/plugins/telemetry?token= | 22 | # VITE_WEB_SOCKET = ws://localhost:8080/api/ws/plugins/telemetry?token= |
@@ -230,7 +230,7 @@ | @@ -230,7 +230,7 @@ | ||
230 | <Dropdown | 230 | <Dropdown |
231 | :dropMenuList="[ | 231 | :dropMenuList="[ |
232 | { | 232 | { |
233 | - text: '设计', | 233 | + text: '编辑', |
234 | auth: 'api:yt:configuration:center:update', | 234 | auth: 'api:yt:configuration:center:update', |
235 | icon: 'clarity:note-edit-line', | 235 | icon: 'clarity:note-edit-line', |
236 | onClick: handleCreateOrUpdate.bind(null, item), | 236 | onClick: handleCreateOrUpdate.bind(null, item), |
@@ -219,7 +219,6 @@ | @@ -219,7 +219,6 @@ | ||
219 | }); | 219 | }); |
220 | send(sendValue); | 220 | send(sendValue); |
221 | send(sendValue1); | 221 | send(sendValue1); |
222 | - console.log('建立连接了'); | ||
223 | }, | 222 | }, |
224 | onMessage(_, e) { | 223 | onMessage(_, e) { |
225 | const { data, update } = JSON.parse(e.data); | 224 | const { data, update } = JSON.parse(e.data); |
@@ -471,14 +470,17 @@ | @@ -471,14 +470,17 @@ | ||
471 | justify-content: center; | 470 | justify-content: center; |
472 | font-size: 16px; | 471 | font-size: 16px; |
473 | } | 472 | } |
473 | + | ||
474 | .active { | 474 | .active { |
475 | color: #0960bd; | 475 | color: #0960bd; |
476 | font-weight: 500; | 476 | font-weight: 500; |
477 | } | 477 | } |
478 | + | ||
478 | .extra-date { | 479 | .extra-date { |
479 | display: flex; | 480 | display: flex; |
480 | align-items: center; | 481 | align-items: center; |
481 | justify-content: space-between; | 482 | justify-content: space-between; |
483 | + | ||
482 | span { | 484 | span { |
483 | margin-right: 20px; | 485 | margin-right: 20px; |
484 | cursor: pointer; | 486 | cursor: pointer; |
@@ -63,7 +63,6 @@ | @@ -63,7 +63,6 @@ | ||
63 | watch( | 63 | watch( |
64 | () => props.alarmList, | 64 | () => props.alarmList, |
65 | (newValue) => { | 65 | (newValue) => { |
66 | - console.log({ newValue, props }); | ||
67 | let alarmTotal = 0; | 66 | let alarmTotal = 0; |
68 | for (const item of props.alarmList) { | 67 | for (const item of props.alarmList) { |
69 | alarmTotal += Number(item[1]); | 68 | alarmTotal += Number(item[1]); |
@@ -49,6 +49,12 @@ export const step1Schemas: FormSchema[] = [ | @@ -49,6 +49,12 @@ export const step1Schemas: FormSchema[] = [ | ||
49 | show: false, | 49 | show: false, |
50 | }, | 50 | }, |
51 | { | 51 | { |
52 | + field: 'deviceProfileId', | ||
53 | + label: '', | ||
54 | + component: 'Input', | ||
55 | + show: false, | ||
56 | + }, | ||
57 | + { | ||
52 | field: 'profileId', | 58 | field: 'profileId', |
53 | label: '所属产品', | 59 | label: '所属产品', |
54 | required: true, | 60 | required: true, |
@@ -59,9 +65,12 @@ export const step1Schemas: FormSchema[] = [ | @@ -59,9 +65,12 @@ export const step1Schemas: FormSchema[] = [ | ||
59 | api: deviceProfile, | 65 | api: deviceProfile, |
60 | labelField: 'name', | 66 | labelField: 'name', |
61 | valueField: 'tbProfileId', | 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,7 +32,7 @@ | ||
32 | } | 32 | } |
33 | 33 | ||
34 | const props = defineProps<{ | 34 | const props = defineProps<{ |
35 | - deviceDetail: Record<'tbDeviceId' | 'profileId' | 'id', string>; | 35 | + deviceDetail: Record<'tbDeviceId' | 'profileId' | 'id' | 'deviceProfileId', string>; |
36 | }>(); | 36 | }>(); |
37 | 37 | ||
38 | const grid = { | 38 | const grid = { |
@@ -137,8 +137,8 @@ | @@ -137,8 +137,8 @@ | ||
137 | 137 | ||
138 | const { send, close, data } = useWebSocket(socketInfo.origin, { | 138 | const { send, close, data } = useWebSocket(socketInfo.origin, { |
139 | async onConnected() { | 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 | socketInfo.attrKeys = value; | 142 | socketInfo.attrKeys = value; |
143 | send(JSON.stringify(unref(getSendValue))); | 143 | send(JSON.stringify(unref(getSendValue))); |
144 | }, | 144 | }, |
@@ -28,7 +28,7 @@ export const formSchema: FormSchema[] = [ | @@ -28,7 +28,7 @@ export const formSchema: FormSchema[] = [ | ||
28 | }, | 28 | }, |
29 | }, | 29 | }, |
30 | { | 30 | { |
31 | - field: 'profileId', | 31 | + field: 'deviceProfileId', |
32 | label: '', | 32 | label: '', |
33 | component: 'ApiSelect', | 33 | component: 'ApiSelect', |
34 | componentProps: { | 34 | componentProps: { |
@@ -13,6 +13,9 @@ | @@ -13,6 +13,9 @@ | ||
13 | <div class="absolute w-full h-full top-0 cursor-not-allowed"></div> | 13 | <div class="absolute w-full h-full top-0 cursor-not-allowed"></div> |
14 | </div> | 14 | </div> |
15 | </Tabs.TabPane> | 15 | </Tabs.TabPane> |
16 | + <Tabs.TabPane key="topic" tab="Topic"> | ||
17 | + <TopicPanel /> | ||
18 | + </Tabs.TabPane> | ||
16 | <Tabs.TabPane key="modelOfMatter" tab="物模型管理"> | 19 | <Tabs.TabPane key="modelOfMatter" tab="物模型管理"> |
17 | <PhysicalModelManagementStep :record="record" /> | 20 | <PhysicalModelManagementStep :record="record" /> |
18 | </Tabs.TabPane> | 21 | </Tabs.TabPane> |
@@ -28,10 +31,11 @@ | @@ -28,10 +31,11 @@ | ||
28 | import { ref, unref } from 'vue'; | 31 | import { ref, unref } from 'vue'; |
29 | import { deviceConfigGetDetail } from '/@/api/device/deviceConfigApi'; | 32 | import { deviceConfigGetDetail } from '/@/api/device/deviceConfigApi'; |
30 | import { DeviceRecord } from '/@/api/device/model/deviceModel'; | 33 | import { DeviceRecord } from '/@/api/device/model/deviceModel'; |
34 | + import TopicPanel from './step/TopicPanel.vue'; | ||
31 | 35 | ||
32 | defineEmits(['register']); | 36 | defineEmits(['register']); |
33 | 37 | ||
34 | - type ActiveKey = 'product' | 'transport' | 'modelOfMatter'; | 38 | + type ActiveKey = 'product' | 'transport' | 'modelOfMatter' | 'topic'; |
35 | 39 | ||
36 | const activeKey = ref<ActiveKey>('modelOfMatter'); | 40 | const activeKey = ref<ActiveKey>('modelOfMatter'); |
37 | 41 |
@@ -439,3 +439,26 @@ export const formSchema: FormSchema[] = [ | @@ -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> |