diff --git a/src/api/device/instance.ts b/src/api/device/instance.ts index 35907a23..ca3354de 100644 --- a/src/api/device/instance.ts +++ b/src/api/device/instance.ts @@ -402,4 +402,60 @@ export const treeMapping = (data?: any) => server.post(`/data-collect/channel/_a * @param data * @returns */ -export const saveMapping = (thingId: any, provider: string, data?: any) => server.patch(`/things/collector/device/${thingId}/${provider}`, data) \ No newline at end of file +export const saveMapping = (thingId: any, provider: string, data?: any) => server.patch(`/things/collector/device/${thingId}/${provider}`, data) + +/** + * 查询边缘网关通道 + * @param deviceId + * @param data + * @returns + */ +export const edgeChannel = (deviceId: string, data?: any) => server.post(`/edge/operations/${deviceId}/data-collector-channel-list/invoke`, data) + +/** + * 查询边缘网关采集器 + * @param deviceId + * @param data + * @returns + */ +export const edgeCollector = (deviceId: string, data?: any) => server.post(`/edge/operations/${deviceId}/data-collector-list/invoke`, data) + +/** + * 查询边缘网关点位 + * @param deviceId + * @param data + * @returns + */ +export const edgePoint = (deviceId: string, data?: any) => server.post(`/edge/operations/${deviceId}/data-collector-point-list/invoke`, data) + +/** + * + * @param deviceId + * @param data + * @returns + */ +export const getEdgeMap = (deviceId: string, data?: any) => server.post(`/edge/operations/${deviceId}/device-collector-list/invoke`, data) + +/** + * + * @param deviceId + * @param data + * @returns + */ +export const removeEdgeMap = (deviceId: string, data?: any) => server.post(`/edge/operations/${deviceId}/device-collector-delete/invoke`, data) + +/** + * + * @param deviceId + * @param data + * @returns + */ +export const treeEdgeMap = (deviceId: string, data?: any) => server.post(`/edge/operations/${deviceId}/data-collector-channel-tree/invoke`, data) + +/** + * + * @param deviceId + * @param data + * @returns + */ +export const saveEdgeMap = (deviceId: string, data?: any) => server.post(`/edge/operations/${deviceId}/device-collector-save/invoke`, data) \ No newline at end of file diff --git a/src/components/Ellipsis/index.vue b/src/components/Ellipsis/index.vue new file mode 100644 index 00000000..b2e91c49 --- /dev/null +++ b/src/components/Ellipsis/index.vue @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/Empty/assets/nodata.svg b/src/components/Empty/assets/nodata.svg new file mode 100644 index 00000000..4fb16097 --- /dev/null +++ b/src/components/Empty/assets/nodata.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/components/Empty/index.vue b/src/components/Empty/index.vue new file mode 100644 index 00000000..19178587 --- /dev/null +++ b/src/components/Empty/index.vue @@ -0,0 +1,44 @@ + + + + + + + + + + + diff --git a/src/components/Table/index.tsx b/src/components/Table/index.tsx index 3d3054c8..bdf9d073 100644 --- a/src/components/Table/index.tsx +++ b/src/components/Table/index.tsx @@ -1,11 +1,12 @@ import { UnorderedListOutlined, AppstoreOutlined } from '@ant-design/icons-vue' import styles from './index.module.less' -import { Pagination, Table, Empty, Spin, Alert } from 'ant-design-vue' +import { Pagination, Table, Spin, Alert } from 'ant-design-vue' import type { TableProps } from 'ant-design-vue/es/table' import type { TooltipProps } from 'ant-design-vue/es/tooltip' import type { PopconfirmProps } from 'ant-design-vue/es/popconfirm' import { CSSProperties, PropType } from 'vue'; import type { JColumnsProps } from './types' +import JEmpty from '@/components/Empty/index.vue' enum ModelEnum { TABLE = 'TABLE', @@ -146,7 +147,6 @@ const JTable = defineComponent({ } } as any, setup(props: JTableProps, { slots, emit, expose }) { - const simpleImage = Empty.PRESENTED_IMAGE_SIMPLE const _model = ref(props.model ? props.model : ModelEnum.CARD); // 模式切换 const column = ref(props.gridColumn || 4); const _dataSource = ref[]>([]) @@ -323,7 +323,7 @@ const JTable = defineComponent({ ) } : - + } : @@ -343,7 +343,8 @@ const JTable = defineComponent({ } else { return record?.[column?.dataIndex] || '' } - } + }, + emptyText: () => }} /> diff --git a/src/components/index.ts b/src/components/index.ts index 49f9d91d..28d5bdb1 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -10,6 +10,8 @@ import NormalUpload from './NormalUpload/index.vue' import FileFormat from './FileFormat/index.vue' import JUpload from './JUpload/index.vue' import { BasicLayoutPage, BlankLayoutPage, PageContainer } from './Layout' +import Ellipsis from './Ellipsis/index.vue' +import JEmpty from './Empty/index.vue' export default { install(app: App) { @@ -26,5 +28,7 @@ export default { .component('BasicLayoutPage', BasicLayoutPage) .component('BlankLayoutPage', BlankLayoutPage) .component('PageContainer', PageContainer) + .component('Ellipsis', Ellipsis) + .component('JEmpty', JEmpty) } } diff --git a/src/views/device/Instance/Detail/EdgeMap/MSelect.vue b/src/views/device/Instance/Detail/EdgeMap/MSelect.vue new file mode 100644 index 00000000..1b66df49 --- /dev/null +++ b/src/views/device/Instance/Detail/EdgeMap/MSelect.vue @@ -0,0 +1,117 @@ + + + {{ item.name }} + + + + + + \ No newline at end of file diff --git a/src/views/device/Instance/Detail/EdgeMap/PatchMapping.vue b/src/views/device/Instance/Detail/EdgeMap/PatchMapping.vue new file mode 100644 index 00000000..7a112a28 --- /dev/null +++ b/src/views/device/Instance/Detail/EdgeMap/PatchMapping.vue @@ -0,0 +1,189 @@ + + + + + 采集器的点位名称与属性名称一致时将自动映射绑定;有多个采集器点位名称与属性名称一致时以第1个采集器的点位数据进行绑定 + + + + + + + + 加入右侧 + + + + + + {{ item.title }} + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/device/Instance/Detail/EdgeMap/index.vue b/src/views/device/Instance/Detail/EdgeMap/index.vue index bc1bd5fa..cb193cb8 100644 --- a/src/views/device/Instance/Detail/EdgeMap/index.vue +++ b/src/views/device/Instance/Detail/EdgeMap/index.vue @@ -1,5 +1,5 @@ - + @@ -53,6 +53,7 @@ v-model="record[column.dataIndex]" :id="record.channelId" type="COLLECTOR" + :edgeId="instanceStore.current.parentId" /> @@ -70,6 +71,7 @@ v-model="record[column.dataIndex]" :id="record.collectorId" type="POINT" + :edgeId="instanceStore.current.parentId" /> @@ -85,6 +87,7 @@ - + :edgeId="instanceStore.current.parentId" + /> + + + diff --git a/src/views/rule-engine/Scene/Save/asstes.ts b/src/views/rule-engine/Scene/Save/asstes.ts new file mode 100644 index 00000000..6c42b67a --- /dev/null +++ b/src/views/rule-engine/Scene/Save/asstes.ts @@ -0,0 +1,14 @@ +import { getImage } from '@/utils/comm' + +export const TriggerHeaderIcon = { + time: getImage('/scene/trigger-type-icon/timing.png'), + manual: getImage('/scene/trigger-type-icon/manual.png'), + device: getImage('/scene/trigger-type-icon/device.png') +} + +export const TriggerListIcon = { + time: getImage('/scene/scene-timer.png'), + manual: getImage('/scene/scene-hand.png'), + device: getImage('/scene/scene-device.png') +} + diff --git a/src/views/rule-engine/Scene/Save/index.vue b/src/views/rule-engine/Scene/Save/index.vue index 9d91153f..61e300f5 100644 --- a/src/views/rule-engine/Scene/Save/index.vue +++ b/src/views/rule-engine/Scene/Save/index.vue @@ -1,7 +1,13 @@ - + + + + + {{ keyByLabel[data.triggerType] }} + + @@ -18,6 +24,8 @@