|
@@ -106,7 +106,7 @@
|
|
|
@confirm="delForwardRule(record.id)"
|
|
@confirm="delForwardRule(record.id)"
|
|
|
>
|
|
>
|
|
|
<a>删除</a>
|
|
<a>删除</a>
|
|
|
- </a-popconfirm>
|
|
|
|
|
|
|
+ </a-popconfirm>
|
|
|
</a-space>
|
|
</a-space>
|
|
|
</template>
|
|
</template>
|
|
|
</template>
|
|
</template>
|
|
@@ -129,6 +129,28 @@
|
|
|
<div v-if="state.stepCount === 0" >针对部分类型数据提供的快速配置,将引导您完成简单的业务设置。您也可以直接编辑过滤语句,实现更复杂的查询要求</div>
|
|
<div v-if="state.stepCount === 0" >针对部分类型数据提供的快速配置,将引导您完成简单的业务设置。您也可以直接编辑过滤语句,实现更复杂的查询要求</div>
|
|
|
<div v-else-if="state.stepCount === 1" >您可以设置将数据转发至华为云其他服务或私有服务器。</div>
|
|
<div v-else-if="state.stepCount === 1" >您可以设置将数据转发至华为云其他服务或私有服务器。</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <!-- <div v-if="state.stepCount == 0">
|
|
|
|
|
+ <a-form :label-col="{span: 4 }" :wrapper-col="{ span: 14 }" style="height: 600px; overflow-y: auto;">
|
|
|
|
|
+ <a-form-item label="规则名称" >
|
|
|
|
|
+ <a-input></a-input>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ <a-form-item label="转发目标">
|
|
|
|
|
+ <a-select
|
|
|
|
|
+ allowClear
|
|
|
|
|
+ style="width: 100%;"
|
|
|
|
|
+ v-model:value="forwardState.targetType"
|
|
|
|
|
+ >
|
|
|
|
|
+ <a-select-option
|
|
|
|
|
+ v-for="item in forwardTatget"
|
|
|
|
|
+ :key="item.key"
|
|
|
|
|
+ :value="item.key"
|
|
|
|
|
+ >
|
|
|
|
|
+ {{item.name}}
|
|
|
|
|
+ </a-select-option>
|
|
|
|
|
+ </a-select>
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
+ </a-form>
|
|
|
|
|
+ </div> -->
|
|
|
<form-pro
|
|
<form-pro
|
|
|
v-if="state.stepCount == 0"
|
|
v-if="state.stepCount == 0"
|
|
|
validate
|
|
validate
|
|
@@ -353,7 +375,7 @@
|
|
|
<a-form-item label="数据来源"> {{RuleController.SubjectResourceMap.get(detailForwardRef.subjectResource)?.name}} </a-form-item>
|
|
<a-form-item label="数据来源"> {{RuleController.SubjectResourceMap.get(detailForwardRef.subjectResource)?.name}} </a-form-item>
|
|
|
<a-form-item label="触发事件"> {{RuleController.SubjectEventMap.get(detailForwardRef.subjectEvent)?.name}} </a-form-item>
|
|
<a-form-item label="触发事件"> {{RuleController.SubjectEventMap.get(detailForwardRef.subjectEvent)?.name}} </a-form-item>
|
|
|
<a-form-item label="状态"> {{detailForwardRef.status ? '运行中' : '已停止'}} </a-form-item>
|
|
<a-form-item label="状态"> {{detailForwardRef.status ? '运行中' : '已停止'}} </a-form-item>
|
|
|
- <a-form-item label="HTTP">
|
|
|
|
|
|
|
+ <a-form-item label="HTTP" v-if="detailHTTPList.length">
|
|
|
<a-table
|
|
<a-table
|
|
|
:columns="detailColumn['HTTP']"
|
|
:columns="detailColumn['HTTP']"
|
|
|
:data-source="detailHTTPList"
|
|
:data-source="detailHTTPList"
|
|
@@ -361,7 +383,7 @@
|
|
|
/>
|
|
/>
|
|
|
|
|
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
- <a-form-item label="Kafka">
|
|
|
|
|
|
|
+ <a-form-item label="Kafka" v-if="detailKAFKAList.length">
|
|
|
<a-table
|
|
<a-table
|
|
|
:columns="detailColumn['Kafka']"
|
|
:columns="detailColumn['Kafka']"
|
|
|
:data-source="detailKAFKAList"
|
|
:data-source="detailKAFKAList"
|
|
@@ -370,7 +392,7 @@
|
|
|
|
|
|
|
|
</a-table>
|
|
</a-table>
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
- <a-form-item label="MQTT">
|
|
|
|
|
|
|
+ <a-form-item label="MQTT" v-if="detailMQTTList.length">
|
|
|
<a-table
|
|
<a-table
|
|
|
:columns="detailColumn['MQTT']"
|
|
:columns="detailColumn['MQTT']"
|
|
|
:data-source="detailMQTTList"
|
|
:data-source="detailMQTTList"
|
|
@@ -379,7 +401,7 @@
|
|
|
|
|
|
|
|
</a-table>
|
|
</a-table>
|
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
- <a-form-item label="RabbitMQ">
|
|
|
|
|
|
|
+ <a-form-item label="RabbitMQ" v-if="detailRABBITList.length">
|
|
|
<a-table
|
|
<a-table
|
|
|
:columns="detailColumn['RabbitMQ']"
|
|
:columns="detailColumn['RabbitMQ']"
|
|
|
:data-source="detailRABBITList"
|
|
:data-source="detailRABBITList"
|
|
@@ -406,12 +428,11 @@
|
|
|
import { onMounted, reactive, ref } from 'vue'
|
|
import { onMounted, reactive, ref } from 'vue'
|
|
|
import { RuleController } from '@/controller/index'
|
|
import { RuleController } from '@/controller/index'
|
|
|
import type { FormItemProps } from '@/components/FormPro/index.vue'
|
|
import type { FormItemProps } from '@/components/FormPro/index.vue'
|
|
|
-import { Form, Empty } from 'ant-design-vue'
|
|
|
|
|
|
|
+import { Form, Empty, message } from 'ant-design-vue'
|
|
|
import { computed } from '@vue/reactivity'
|
|
import { computed } from '@vue/reactivity'
|
|
|
import TestDialog from './components/testDialog.vue'
|
|
import TestDialog from './components/testDialog.vue'
|
|
|
-import { object } from 'vue-types'
|
|
|
|
|
-import { RtsController } from '@/controller/rts'
|
|
|
|
|
import StatisticsTemplate from '@/components/StatisticsTemplate/index.vue'
|
|
import StatisticsTemplate from '@/components/StatisticsTemplate/index.vue'
|
|
|
|
|
+import { SubjectEventEnum, SubjectResourceEnum } from '@/enum/common'
|
|
|
|
|
|
|
|
const columns = [
|
|
const columns = [
|
|
|
{
|
|
{
|
|
@@ -467,7 +488,7 @@ const formProps: FormItemProps[] = [
|
|
|
type: 'select',
|
|
type: 'select',
|
|
|
rules: true,
|
|
rules: true,
|
|
|
value: '',
|
|
value: '',
|
|
|
- request: async () => await Array.from(RuleController.SubjectEventMap, ([key, value]) => ({ ...value, value: value.key }))
|
|
|
|
|
|
|
+ request: async () => await subjectEventList.value
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
label: '规则描述',
|
|
label: '规则描述',
|
|
@@ -535,6 +556,7 @@ const forwardRuleTargetsColumns = [
|
|
|
dataIndex: 'action',
|
|
dataIndex: 'action',
|
|
|
key: 'action'
|
|
key: 'action'
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
]
|
|
]
|
|
|
|
|
|
|
|
const forwardTatget = [
|
|
const forwardTatget = [
|
|
@@ -552,7 +574,22 @@ const HttpRequestMethods = [
|
|
|
|
|
|
|
|
const subjectResourceList = Array.from(RuleController.SubjectResourceMap, ([key, value]) => ({ ...value, value: value.key }))
|
|
const subjectResourceList = Array.from(RuleController.SubjectResourceMap, ([key, value]) => ({ ...value, value: value.key }))
|
|
|
|
|
|
|
|
-const subjectEventList = Array.from(RuleController.SubjectEventMap, ([key, value]) => ({ ...value, value: value.key }))
|
|
|
|
|
|
|
+console.log('subjectResourceList', subjectResourceList)
|
|
|
|
|
+
|
|
|
|
|
+const subjectEventListByResourceMap = new Map([
|
|
|
|
|
+ [SubjectResourceEnum.DEVICE, [SubjectEventEnum.DEVICE_CREATE, SubjectEventEnum.DEVICE_DELETE]],
|
|
|
|
|
+ [SubjectResourceEnum.DEVICE_STATUS, [SubjectEventEnum.DEVICE_ATTRIBUTE_REPORT]],
|
|
|
|
|
+ [SubjectResourceEnum.DEVICE_ATTRIBUTE, [SubjectEventEnum.DEVICE_STATUS_UPDATE]],
|
|
|
|
|
+ [SubjectResourceEnum.MODEL, [SubjectEventEnum.MODEL_CREATE, SubjectEventEnum.MODEL_DELETE]]
|
|
|
|
|
+])
|
|
|
|
|
+
|
|
|
|
|
+const subjectEventList = computed(() => {
|
|
|
|
|
+ const subjectevents = Array.from(RuleController.SubjectEventMap, ([key, value]) => ({ ...value, value: value.key }))
|
|
|
|
|
+ const keys = subjectEventListByResourceMap.get(queryParams.subjectResource as SubjectResourceEnum)
|
|
|
|
|
+ console.log('keys:', keys)
|
|
|
|
|
+ const a = queryParams
|
|
|
|
|
+ return subjectevents.filter(subjectevent => keys?.includes(subjectevent.key))
|
|
|
|
|
+})
|
|
|
|
|
|
|
|
const statusList = [
|
|
const statusList = [
|
|
|
{ name: '所有状态', key: '', value: '' },
|
|
{ name: '所有状态', key: '', value: '' },
|
|
@@ -751,6 +788,11 @@ const openModalDebug = (id: string) => {
|
|
|
const openModal = async (opraState: 'add' | 'update', record) => {
|
|
const openModal = async (opraState: 'add' | 'update', record) => {
|
|
|
state.opraState = opraState
|
|
state.opraState = opraState
|
|
|
|
|
|
|
|
|
|
+ if (opraState === 'update' && record.status) {
|
|
|
|
|
+ message.error('规则运行中,停止后可编辑')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
if (opraState === 'update') {
|
|
if (opraState === 'update') {
|
|
|
state.forwardId = record.id
|
|
state.forwardId = record.id
|
|
|
const { data } = await RuleController.forwardById(record.id)
|
|
const { data } = await RuleController.forwardById(record.id)
|