|
|
@@ -65,6 +65,24 @@
|
|
|
/>
|
|
|
</template>
|
|
|
</c-dialog>
|
|
|
+ <confirm-dialog
|
|
|
+ ref="eventDialog"
|
|
|
+ title="自定义事件"
|
|
|
+ @confirm="onConfirmEvents"
|
|
|
+ >
|
|
|
+ <el-checkbox-group
|
|
|
+ v-model="selectedEvents"
|
|
|
+ class="l-grid--info mini"
|
|
|
+ >
|
|
|
+ <el-checkbox
|
|
|
+ v-for="item in events"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.id"
|
|
|
+ >
|
|
|
+ {{ item.label }}
|
|
|
+ </el-checkbox>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </confirm-dialog>
|
|
|
</schema-table>
|
|
|
</template>
|
|
|
|
|
|
@@ -76,10 +94,39 @@ import {
|
|
|
addUser,
|
|
|
updateUserName,
|
|
|
toggleUser,
|
|
|
- updateUserInformLevel
|
|
|
+ updateUserInformLevel,
|
|
|
+ getUserInforms
|
|
|
} from '@/api/user'
|
|
|
import Settings from './Settings'
|
|
|
|
|
|
+const CustomEvents = Object.freeze([
|
|
|
+ { id: 1, level: 0, label: '播控器离线' },
|
|
|
+ { id: 17, level: 2, label: '播控器工作时段离线' },
|
|
|
+ { id: 15, level: 2, label: '播控器人为离线' },
|
|
|
+ { id: 9, level: 0, label: '播控器上线' },
|
|
|
+ { id: 32, level: 2, label: '播控器非工作时段上线' },
|
|
|
+ { id: 40, level: 2, label: '播控器上线失败' },
|
|
|
+ { id: 35, level: 0, label: '接收卡提示性预警' },
|
|
|
+ { id: 2, level: 2, label: '接收卡紧急预警' },
|
|
|
+ { id: 36, level: 2, label: '关闭电源' },
|
|
|
+ { id: 37, level: 2, label: '开启电源' },
|
|
|
+ { id: 0, level: 1, label: '屏幕疑似黑屏' },
|
|
|
+ { id: 13, level: 2, label: '屏幕黑屏' },
|
|
|
+ { id: 10, level: 2, label: '屏幕内容疑似不合规' },
|
|
|
+ // { id: 3, level: 2, label: '屏幕内容不合规(拼接器)' },
|
|
|
+ { id: 11, level: 2, label: '屏幕内容不合规' },
|
|
|
+ { id: 18, level: 0, label: '温度传感器提示告警' },
|
|
|
+ { id: 19, level: 0, label: '温度传感器一级告警' },
|
|
|
+ { id: 20, level: 0, label: '温度传感器二级告警' },
|
|
|
+ { id: 21, level: 1, label: '温度传感器三级告警' },
|
|
|
+ { id: 22, level: 2, label: '温度传感器四级告警' },
|
|
|
+ { id: 23, level: 2, label: '位移传感器报警' },
|
|
|
+ { id: 7, level: 2, label: '屏幕监控摄像头离线' },
|
|
|
+ { id: 8, level: 2, label: '人流监测摄像头离线' },
|
|
|
+ { id: 33, level: 0, label: '屏幕监控摄像头上线' },
|
|
|
+ { id: 34, level: 0, label: '人流监测摄像头上线' }
|
|
|
+])
|
|
|
+
|
|
|
export default {
|
|
|
name: 'Account',
|
|
|
components: {
|
|
|
@@ -124,6 +171,17 @@ export default {
|
|
|
change: val => this.updateInformLevel(val, data)
|
|
|
}
|
|
|
}, [
|
|
|
+ data.informLevel === 9999 && h('i', {
|
|
|
+ slot: 'prefix',
|
|
|
+ staticClass: 'l-flex--row center el-icon-edit u-font-size--md has-active',
|
|
|
+ staticStyle: {
|
|
|
+ height: '100%'
|
|
|
+ },
|
|
|
+ on: { click: e => {
|
|
|
+ e.stopPropagation()
|
|
|
+ this.onEditEvents(data)
|
|
|
+ } }
|
|
|
+ }),
|
|
|
h('el-option', {
|
|
|
key: 'none',
|
|
|
props: {
|
|
|
@@ -135,42 +193,28 @@ export default {
|
|
|
key: 'info',
|
|
|
props: {
|
|
|
value: 0,
|
|
|
- label: `部门${AlarmLevelInfo[0]}`
|
|
|
+ label: `${AlarmLevelInfo[0]}及以上`
|
|
|
}
|
|
|
}),
|
|
|
h('el-option', {
|
|
|
key: 'warning',
|
|
|
props: {
|
|
|
value: 1,
|
|
|
- label: `部门${AlarmLevelInfo[1]}`
|
|
|
+ label: `${AlarmLevelInfo[1]}及以上`
|
|
|
}
|
|
|
}),
|
|
|
h('el-option', {
|
|
|
key: 'error',
|
|
|
props: {
|
|
|
value: 2,
|
|
|
- label: `部门${AlarmLevelInfo[2]}`
|
|
|
- }
|
|
|
- }),
|
|
|
- h('el-option', {
|
|
|
- key: 'tinfo',
|
|
|
- props: {
|
|
|
- value: 1000,
|
|
|
- label: `所有${AlarmLevelInfo[0]}`
|
|
|
- }
|
|
|
- }),
|
|
|
- h('el-option', {
|
|
|
- key: 'twarning',
|
|
|
- props: {
|
|
|
- value: 1001,
|
|
|
- label: `所有${AlarmLevelInfo[1]}`
|
|
|
+ label: AlarmLevelInfo[2]
|
|
|
}
|
|
|
}),
|
|
|
h('el-option', {
|
|
|
key: 'terror',
|
|
|
props: {
|
|
|
- value: 1002,
|
|
|
- label: `所有${AlarmLevelInfo[2]}`
|
|
|
+ value: 9999,
|
|
|
+ label: AlarmLevelInfo[9999]
|
|
|
}
|
|
|
})
|
|
|
]) },
|
|
|
@@ -186,7 +230,9 @@ export default {
|
|
|
]
|
|
|
},
|
|
|
user: {},
|
|
|
- treeProps: { label: 'name', children: 'children' }
|
|
|
+ treeProps: { label: 'name', children: 'children' },
|
|
|
+ events: CustomEvents,
|
|
|
+ selectedEvents: []
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
@@ -247,7 +293,6 @@ export default {
|
|
|
username: '',
|
|
|
name: ''
|
|
|
}
|
|
|
- console.log(this.group)
|
|
|
this.$department = { id: this.group.id, path: this.group.path, name: this.group.name }
|
|
|
this.$refs.editDialog.show()
|
|
|
},
|
|
|
@@ -316,7 +361,20 @@ export default {
|
|
|
updateInformLevel (val, user) {
|
|
|
updateUserInformLevel(user, val).then(() => {
|
|
|
user.informLevel = val
|
|
|
+ if (val === 9999) {
|
|
|
+ this.onEditEvents(user)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onEditEvents (user) {
|
|
|
+ this.$user = user
|
|
|
+ getUserInforms(user).then(({ data }) => {
|
|
|
+ this.selectedEvents = data
|
|
|
+ this.$refs.eventDialog.show()
|
|
|
})
|
|
|
+ },
|
|
|
+ onConfirmEvents (done) {
|
|
|
+ updateUserInformLevel(this.$user, 9999, this.selectedEvents).then(done)
|
|
|
}
|
|
|
}
|
|
|
}
|