|
@@ -33,13 +33,14 @@
|
|
<el-form-item label="触发方式" prop="triggerType" v-if="ruleForm.productKey">
|
|
<el-form-item label="触发方式" prop="triggerType" v-if="ruleForm.productKey">
|
|
<el-radio-group v-model="ruleForm.triggerType" @change="getRadio()">
|
|
<el-radio-group v-model="ruleForm.triggerType" @change="getRadio()">
|
|
<el-radio :label="item.type" v-for="item in typeData">{{ item.title }}</el-radio>
|
|
<el-radio :label="item.type" v-for="item in typeData">{{ item.title }}</el-radio>
|
|
|
|
+ <el-radio :label="4">事件上报</el-radio>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="选择事件" prop="triggerType" v-if="ruleForm.productKey">
|
|
|
|
- <el-radio-group v-model="ruleForm.triggerType" @change="getRadio()">
|
|
|
|
- <el-radio :label="item.type" v-for="item in typeData">{{ item.title }}</el-radio>
|
|
|
|
- </el-radio-group>
|
|
|
|
|
|
+ <el-form-item label="选择事件" prop="eventKey" v-if="ruleForm.triggerType===4">
|
|
|
|
+ <el-select v-model="ruleForm.eventKey" filterable placeholder="请选择事件" @change="eventTypeChange">
|
|
|
|
+ <el-option v-for="item in eventList" :key="item.key" :label="item.name" :value="item.key"></el-option>
|
|
|
|
+ </el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
<el-divider content-position="left">触发条件</el-divider>
|
|
<el-divider content-position="left">触发条件</el-divider>
|
|
@@ -87,7 +88,7 @@
|
|
<el-icon><Bottom /></el-icon>
|
|
<el-icon><Bottom /></el-icon>
|
|
</div>
|
|
</div>
|
|
<div class="content-f">
|
|
<div class="content-f">
|
|
- <el-select v-model="aaa.key" placeholder="选择参数" style="width: 320px">
|
|
|
|
|
|
+ <el-select v-model="aaa.key" :placeholder="ruleForm.triggerType === 4 && !ruleForm.eventKey ? '请先选择事件' : '选择参数'" style="width: 320px">
|
|
<el-option v-for="a in triData" :key="a.paramKey" :label="a.title" :value="a.paramKey" />
|
|
<el-option v-for="a in triData" :key="a.paramKey" :label="a.title" :value="a.paramKey" />
|
|
</el-select>
|
|
</el-select>
|
|
<el-select v-model="aaa.operator" placeholder="选择操作符" style="width: 320px">
|
|
<el-select v-model="aaa.operator" placeholder="选择操作符" style="width: 320px">
|
|
@@ -163,7 +164,7 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
-import { reactive, toRefs, defineComponent, ref, unref, getCurrentInstance } from 'vue';
|
|
|
|
|
|
+import { reactive, toRefs, defineComponent, ref, unref, getCurrentInstance, watch } from 'vue';
|
|
import api from '/@/api/datahub';
|
|
import api from '/@/api/datahub';
|
|
import iotapi from '/@/api/device';
|
|
import iotapi from '/@/api/device';
|
|
import alarm from '/@/api/alarm';
|
|
import alarm from '/@/api/alarm';
|
|
@@ -177,6 +178,7 @@ interface RuleFormState {
|
|
name: string;
|
|
name: string;
|
|
triggerType: number;
|
|
triggerType: number;
|
|
level: string;
|
|
level: string;
|
|
|
|
+ eventKey: string;
|
|
productKey: string;
|
|
productKey: string;
|
|
deviceKey: string;
|
|
deviceKey: string;
|
|
triggerCondition: string;
|
|
triggerCondition: string;
|
|
@@ -221,7 +223,7 @@ export default defineComponent({
|
|
levelData: [],
|
|
levelData: [],
|
|
sendGatewayData: [],
|
|
sendGatewayData: [],
|
|
noticeConfigData: [],
|
|
noticeConfigData: [],
|
|
-
|
|
|
|
|
|
+ eventList: [],
|
|
action: [
|
|
action: [
|
|
{
|
|
{
|
|
sendGateway: '',
|
|
sendGateway: '',
|
|
@@ -251,6 +253,7 @@ export default defineComponent({
|
|
id: 0,
|
|
id: 0,
|
|
name: '',
|
|
name: '',
|
|
triggerType: 1,
|
|
triggerType: 1,
|
|
|
|
+ eventKey: '',
|
|
level: '',
|
|
level: '',
|
|
productKey: '',
|
|
productKey: '',
|
|
deviceKey: '',
|
|
deviceKey: '',
|
|
@@ -396,6 +399,20 @@ export default defineComponent({
|
|
closeDialog();
|
|
closeDialog();
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+ const eventTypeChange = () => {
|
|
|
|
+ setTriData()
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ watch(() => state.ruleForm.productKey, (key) => {
|
|
|
|
+ // 切换产品时候重新获取事件列表,清空之前选中的事件
|
|
|
|
+ state.ruleForm.eventKey = ''
|
|
|
|
+
|
|
|
|
+ iotapi.product.event({key}).then((res: any) => {
|
|
|
|
+ console.log(res)
|
|
|
|
+ })
|
|
|
|
+ state.eventList = [{name: '事件1', key: 1}]
|
|
|
|
+ })
|
|
|
|
+
|
|
// 新增
|
|
// 新增
|
|
const onSubmit = () => {
|
|
const onSubmit = () => {
|
|
const formWrap = unref(formRef) as any;
|
|
const formWrap = unref(formRef) as any;
|
|
@@ -509,8 +526,39 @@ export default defineComponent({
|
|
const getRadio=()=>{
|
|
const getRadio=()=>{
|
|
gettriData();
|
|
gettriData();
|
|
}
|
|
}
|
|
- const gettriData=()=>{
|
|
|
|
- alarm.common.trigger_params({productKey:state.ruleForm.productKey,triggerType:state.ruleForm.triggerType}).then((res: any) => {
|
|
|
|
|
|
+ const gettriData = () => {
|
|
|
|
+ // 清空之前设置的参数设置
|
|
|
|
+ state.requestParams = [{
|
|
|
|
+ andOr: '',
|
|
|
|
+ filters: [
|
|
|
|
+ {
|
|
|
|
+ key: '',
|
|
|
|
+ operator: '',
|
|
|
|
+ value: '',
|
|
|
|
+ andOr: 0,
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ }]
|
|
|
|
+ setTriData()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function setTriData() {
|
|
|
|
+ // 重置参数列表
|
|
|
|
+ state.triData = [];
|
|
|
|
+
|
|
|
|
+ const triggerType = state.ruleForm.triggerType
|
|
|
|
+ const form = {
|
|
|
|
+ productKey: state.ruleForm.productKey,
|
|
|
|
+ triggerType
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 如果是事件上报,需要传eventKey参数
|
|
|
|
+ if (triggerType === 4) {
|
|
|
|
+ form.eventKey = state.ruleForm.eventKey
|
|
|
|
+ if(!form.eventKey) return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ alarm.common.trigger_params(form).then((res: any) => {
|
|
state.triData = res.list || [];
|
|
state.triData = res.list || [];
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -536,6 +584,7 @@ export default defineComponent({
|
|
getNode,
|
|
getNode,
|
|
delAction,
|
|
delAction,
|
|
addAction,
|
|
addAction,
|
|
|
|
+ eventTypeChange,
|
|
AddPhone,
|
|
AddPhone,
|
|
DelPhone,
|
|
DelPhone,
|
|
setType,
|
|
setType,
|