| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458 |
- import { getAssetURL } from '/@/utils/ui';
- import type {LaserActionItem, DeviceNode, DeviceGroup, AlarmFormState, AlarmReportFieldItem, AngleState, StatsCount,
- AngleField, PresetToolbarItem } from
- './components/type'
- /** Tab 标签项数据结构 */
- interface TabItem {
- key: string
- label: string
- }
- /** 镜头控制项(变焦/聚焦/光圈)数据结构 */
- interface LensControl {
- key: string
- icon: string
- /** + 按钮提示 */
- plusTip: string
- /** − 按钮提示 */
- minusTip: string
- }
- //设备状态总览
- export let option = [
- {
- label: '在线设备',
- value: 'onlineNum',
- },
- {
- label: '离线设备',
- value: 'offlineNum',
- },
- {
- label: '故障设备',
- value: 'faultNum',
- },
- {
- label: '报警设备',
- value: 'alarmNum',
- },
- ]
- //实时温度曲线
- export const chartConfig: any = {
- type: 'line_area',
- grid: {
- top: 25,
- left: 25,
- bottom: 10,
- right: 25,
- },
- legend: { show: true },
- xAxis: [{ show: true }],
- yAxis: [{ show: true, name: '(℃)', position: 'left', nameTextStyle: { color: '#fff', fontSize: 12, lineHeight: 2, } }],
- series: [
- {
- label: '平均温度',
- readFrom: '',
- xprop: 'pos',
- yprop: 'value',
- color: ['rgba(52, 193, 248,.8)', 'rgba(52, 193, 248,.2)'],
- },
- ],
- };
- //设备状态表格
- export let deviceColumns: any[] = [
- {
- name: '设备名称',
- prop: 'strname',
- },
- {
- name: '在线状态',
- prop: 'netStatus',
- },
- {
- name: '温度(℃)',
- //prop: 'syswarnLevel',
- prop: 'avg'
- },
- ]
- //快捷操作
- export let quickOption = [
- { label: '系统运行时间', value: 'time', iconName: 'time-run' },
- { label: '数据刷新', value: 'sjsx', iconName: 'data-reset' },
- { label: '网络延迟', value: 'wlyc', iconName: 'internet-on' },
- ]
- export let btnOption = [
- { firstLabel: '报警确认', secondLabel: '视屏调取', thirdLabel: '联动控制' },
- { firstLabel: '数据导出', secondLabel: '生成报表', thirdLabel: '定位追踪' },
- { firstLabel: '声光关闭', secondLabel: '应急广播', thirdLabel: '系统设置' },
- ]
- //报警监控
- export let alarmOption = [
- {
- label: '今日报警',
- value: 'dayWarn',
- },
- {
- label: '已处理',
- value: 'warnOk',
- },
- {
- label: '未处理',
- value: 'warnUnOk',
- },
- ]
- //区域温度统计
- export let chartTempConfig: any = {
- type: 'bar_cylinder_wide',
- readFrom: '',
- grid: {
- top: 40,
- left: 50,
- bottom: 14,
- right: 50,
- },
- legend: { show: false },
- xAxis: [{ show: true }],
- yAxis: [{ show: true, name: '', position: 'left' }],
- series: [{ readFrom: '', xprop: 'x', yprop: 'y', label: '温度' }],
- }
- //export let envOption = [
- // { label: '环境温度', value: 'tempHj', unit: '℃' },
- // { label: '风速风向', value: 'fsfx', unit: 'm/s' },
- // { label: '温度', value: 'temp', unit: '%' },
- // { label: 'CO浓度', value: 'coval', unit: 'ppm' },
- // { label: 'CO2浓度', value: 'co2val', unit: 'ppm' },
- // { label: 'O2浓度', value: 'o2val', unit: '%' },
- // { label: 'Ch4浓度', value: 'ch4val', unit: '%' },
- // { label: '粉尘浓度', value: 'fcnd', unit: 'mg/m³' },
- // { label: '烟雾指数', value: 'ywzs', unit: '' },
- // { label: '地表温度', value: 'tempDb', unit: '℃' },
- //]
- //用户列表
- export let optionUser = [
- { label: '用户账号', value: 'username' },
- { label: '用户姓名', value: 'realname' },
- { label: '所属角色', value: 'userRolesStr' },
- { label: '部门', value: 'orgCodeTxt' },
- { label: '手机号', value: 'phone' },
- { label: '状态', value: 'status_dictText' },
- ]
- //日志审计
- export let logbtnOption = [
- { label: '登录日志', value: 'login' },
- { label: '操作日志', value: 'operate' },
- { label: '浏览日志', value: 'look' },
- ]
- export let titleOption = [
- { label: '操作人ID', value: 'userid' },
- { label: '操作人', value: 'username' },
- { label: '日志内容', value: 'logContent' },
- { label: 'IP', value: 'ip' },
- { label: '创建时间', value: 'createTime' },
- { label: '日志类型', value: 'logType_dictText' },
- ]
- export let titleLookOption = [
- { label: '操作人ID', value: 'userid' },
- { label: '操作人', value: 'username' },
- { label: '日志内容', value: 'logContent' },
- { label: 'IP', value: 'ip' },
- { label: '创建时间', value: 'createTime' },
- ]
- //今日登录统计
- export let dayLoginConfig: any = {
- type: 'bar_cylinder_wide',
- readFrom: '',
- grid: {
- top: 55,
- left: 20,
- bottom: 25,
- right: 20,
- },
- legend: { show: false },
- xAxis: [{ show: true }],
- yAxis: [{ show: true, name: '', position: 'left' }],
- series: [{ readFrom: '', xprop: 'x', yprop: 'y', label: '次数' }],
- }
- //报警列表表头
- export let warnTitle = [
- { label: '设备名称', value: 'deviceName' },
- { label: '报警类型', value: 'eventTypeC' },
- { label: '模式', value: 'mode_dictText' },
- { label: '时间', value: 'createTime' },
- { label: '操作', value: 'operation' },
- ]
- export let alarmColumns: any[] = [
- {
- name: '设备名称',
- prop: 'deviceName',
- },
- {
- name: '报警类型',
- prop: 'eventTypeC',
- },
- {
- name: '模式',
- prop: 'mode_dictText',
- },
- {
- name: '时间',
- prop: 'createTime',
- },
- ]
- export let dscAlarmLogColumns: any[] = [
- {
- name: '设备名称',
- prop: 'deviceName',
- },
- {
- name: '安装位置',
- prop: 'devicePos',
- },
- {
- name: '报警类型',
- prop: 'eventTypeC',
- },
- {
- name: '红外类型',
- prop: 'irModel',
- },
- {
- name: '模式',
- prop: 'mode',
- },
- {
- name: '红外水平像素',
- prop: 'numOfIrHorPixs',
- },
- {
- name: '红外垂直像素',
- prop: 'numOfIrVerPixs',
- },
- {
- name: '云台水平角',
- prop: 'ptzHorAngle',
- },
- {
- name: '云台垂直角',
- prop: 'ptzVerAngle',
- },
- ]
- //联动规则配置
- export let warnTableConfig: any = {
- readFrom: '',
- type: 'C',
- tableReadFrom: 'warnInfo',
- columns: [
- {
- name: '报警条目',
- prop: 'alarmName',
- },
- {
- name: '预警等级',
- prop: 'alarmLevel',
- },
- {
- name: '所属系统',
- prop: 'systemType_dictText',
- },
- {
- name: '预警类型',
- prop: 'alarmType_dictText',
- },
- {
- name: '创建人',
- prop: 'createBy',
- },
- {
- name: '操作',
- prop: 'operation',
- },
- ],
- }
- export let warnTableConfigD: any = {
- readFrom: '',
- type: 'D',
- }
- //视频预览-报警列表表头
- export let videoColumns: any[] = [
- {
- name: '设备号',
- prop: 'preset',
- },
- {
- name: '设备名称',
- prop: 'deviceName',
- },
- {
- name: '设备安装位置',
- prop: 'devicePos',
- },
- {
- name: '报警类型',
- prop: 'eventTypeC',
- },
- //{
- //name: '红外类型',
- //prop: 'irModel',
- //},
- {
- name: '模式',
- prop: 'modeC',
- },
- {
- name: '红外水平像素数量',
- prop: 'numOfIrHorPixs',
- },
- {
- name: '红外垂直像素数量',
- prop: 'numOfIrVerPixs',
- },
- {
- name: '云台水平角',
- prop: 'ptzHorAngle',
- },
- {
- name: '云台垂直角',
- prop: 'ptzVerAngle',
- },
- {
- name: '测温标记',
- prop: 'tempFlag',
- },
- ]
- /**视频预览-Tab 标签列表 */
- export const tabs: TabItem[] = [
- { key: 'device', label: '设备' },
- { key: 'stats', label: '统计' },
- { key: 'advanced', label: '高级' },
- { key: 'angle', label: '角度' },
- { key: 'preset', label: '预置位' },
- ]
- /**云台控制-功能 Tab 列表:云台控制 / 红外控制 / 激光 / 透雾 */
- export const tabsPtz: TabItem[] = [
- { key: 'ptz', label: '云台控制' },
- { key: 'ir', label: '红外控制' },
- { key: 'laser', label: '激光' },
- { key: 'defog', label: '透雾' },
- ]
- /**云台控制 - 镜头控制项:变焦、聚焦、光圈 */
- export const lensControls: LensControl[] = [
- {
- key: 'zoom',
- plusTip: '焦距变大',
- minusTip: '焦距变小',
- icon: `<svg viewBox="0 0 24 24" width="18"
- height="18"><circle cx="10" cy="10" r="6" fill="none" stroke="#fff" stroke-width="1.6"/><path d="M14.5 14.5 L20 20" stroke="#fff" stroke-width="1.8" stroke-linecap="round"/><path d="M10 7.5 V12.5 M7.5 10 H12.5" stroke="#fff" stroke-width="1.5" stroke-linecap="round"/></svg>`,
- },
- {
- key: 'focus',
- plusTip: '焦点前调',
- minusTip: '焦点后调',
- icon: `<svg viewBox="0 0 24 24" width="18"
- height="18"><rect x="3" y="7" width="12" height="10" rx="1.5" fill="none" stroke="#fff" stroke-width="1.5"/><circle cx="9" cy="12" r="2.5" fill="none" stroke="#fff" stroke-width="1.4"/><path d="M15 9.5 L21 7 V17 L15 14.5 Z" fill="none" stroke="#fff" stroke-width="1.4" stroke-linejoin="round"/></svg>`,
- },
- {
- key: 'iris',
- plusTip: '光圈扩大',
- minusTip: '光圈缩小',
- icon: `<svg viewBox="0 0 24 24" width="18"
- height="18"><circle cx="12" cy="12" r="8" fill="none" stroke="#fff" stroke-width="1.4"/><path d="M12 4 L14.5 10.5 L21 12 L14.5 13.5 L12 20 L9.5 13.5 L3 12 L9.5 10.5 Z" fill="none" stroke="#fff" stroke-width="1.2" stroke-linejoin="round"/></svg>`,
- },
- ]
- export let picList = [
- { src: getAssetURL('home-container/configurable/hsq/4-1.png'), label: '1.报警触发' },
- { src: getAssetURL('home-container/configurable/hsq/6-1.png'), label: '2.系统确认' },
- { src: getAssetURL('home-container/configurable/hsq/6-2.png'), label: '3.通知值班' },
- { src: getAssetURL('home-container/configurable/hsq/4-4.png'), label: '4.现场处置' },
- { src: getAssetURL('home-container/configurable/hsq/4-5.png'), label: '5.确认解除' },
- ]
- /** 处置流程按钮 */
- export const actionBtns = [
- { key: 2, label: '系统确认' },
- { key: 3, label: '通知值班' },
- { key: 4, label: '现场处置' },
- { key: 5, label: '确认解除' },
- ]
- export let navList =[
- { label: '光谱摄像机', value: 'duaSpeCamera' },
- { label: '火灾探测器', value: 'imgFireDet' }
- ]
- export let titleList =[
- { label: '用户', value: 'username' },
- { label: '操作设备', value: 'devicename' },
- { label: '操作记录', value: 'strremark' },
- { label: '登录IP', value: 'ip' },
- { label: '时间', value: 'updateTime' },
- ]
- /** 角度默认值(刷新时恢复) */
- export const ANGLE_DEFAULT: AngleState = {
- hMin: 0,
- hMax: 360,
- vMin: 90,
- vMax: 180,
- }
- export const angleFields: AngleField[] = [
- { label: '水平扫描角度:', minKey: 'hMin', maxKey: 'hMax' },
- { label: '垂直扫描角度:', minKey: 'vMin', maxKey: 'vMax' },
- ]
- /** 多选框提示:第一个可见光取流,第二个红外取流 */
- export const checkTips = ['可见光取流', '红外取流'] as const
- /** 告警上报字段(全部可手动输入修改) */
- export const alarmReportFieldList: AlarmReportFieldItem[] = [
- { key: 'deviceId', label: '设备号', placeholder: '请输入设备号' },
- { key: 'deviceName', label: '设备名', placeholder: '请输入设备名' },
- { key: 'longitude', label: '设备经度', placeholder: '请输入设备经度' },
- { key: 'latitude', label: '设备纬度', placeholder: '请输入设备纬度' },
- { key: 'operator', label: '操作员', placeholder: '请输入操作员' },
- { key: 'remark', label: '备注', placeholder: '请输入备注' },
- ]
- /** 预置位工具栏:图标对应 assets/icons 下 1.svg ~ 6.svg */
- export const presetToolbarItems: PresetToolbarItem[] = [
- { key: 'refresh', icon: '1', title: '刷新' },
- { key: 'link', icon: '2', title: '关联' },
- { key: 'config', icon: '3', title: '配置' },
- { key: 'export', icon: '4', title: '导出' },
- { key: 'clear', icon: '5', title: '清空' },
- { key: 'delete', icon: '6', title: '删除' },
- ]
- /** 预置位表格列 */
- export const presetColumns = [
- { key: 'id', label: '编号' },
- { key: 'name', label: '名称' },
- { key: 'action', label: '操作' },
- ] as const
- /** 预置位空表占位行数(对齐设计稿斑马纹区域) */
- export const PRESET_EMPTY_ROW_COUNT = 8
- /** 激光操作:开/关激光、补光、爆闪 */
- export const laserActions: LaserActionItem[] = [
- { key: 'laserOn', label: '开激光' },
- { key: 'laserOff', label: '关激光' },
- { key: 'laserFillLight', label: '补光' },
- { key: 'laserStrobe', label: '开爆闪' },
- ]
|