update: 视频中心-国标级联组件更换

This commit is contained in:
JiangQiming 2023-03-08 15:43:47 +08:00
parent 749127730e
commit 25d44f841b
7 changed files with 210 additions and 210 deletions

View File

@ -1,6 +1,6 @@
<!-- 国标级联-绑定通道 -->
<template>
<a-modal
<j-modal
v-model:visible="_vis"
title="绑定通道"
cancelText="取消"
@ -51,19 +51,19 @@
<h3>通道列表</h3>
</template>
<template #status="slotProps">
<a-space>
<a-badge
<j-space>
<j-badge
:status="
slotProps.status.value === 'online'
? 'success'
: 'error'
"
:text="slotProps.status.text"
></a-badge>
</a-space>
></j-badge>
</j-space>
</template>
</JProTable>
</a-modal>
</j-modal>
</template>
<script setup lang="ts">

View File

@ -28,34 +28,34 @@
<h3>通道列表</h3>
</template>
<template #rightExtraRender>
<a-space>
<a-button type="primary" @click="bindVis = true">
<j-space>
<j-button type="primary" @click="bindVis = true">
绑定通道
</a-button>
<a-popconfirm
</j-button>
<j-popconfirm
title="确认解绑?"
@confirm="handleMultipleUnbind"
>
<a-button> 批量解绑 </a-button>
</a-popconfirm>
</a-space>
<j-button> 批量解绑 </j-button>
</j-popconfirm>
</j-space>
</template>
<template #gbChannelIdHeader="title">
<a-tooltip
<j-tooltip
title="国标级联有16位、20位两种格式。在当前页面修改不会修改视频设备-通道页面中的国标ID"
>
<a-space>
<j-space>
<span>{{ title }}</span>
<AIcon type="InfoCircleOutlined" />
</a-space>
</a-tooltip>
</j-space>
</j-tooltip>
</template>
<template #gbChannelId="slotProps">
<a-space>
<j-space>
<Ellipsis>
{{ slotProps.gbChannelId }}
</Ellipsis>
<a-popover
<j-popover
v-model:visible="slotProps.popVis"
trigger="click"
>
@ -70,7 +70,7 @@
</template>
<template #content>
<div class="simple-form">
<a-input
<j-input
v-model:value="gbID"
@change="validField(slotProps)"
/>
@ -82,67 +82,67 @@
该国标ID在同一设备下已存在
</div>
</div>
<a-button
<j-button
type="primary"
@click="handleSave(slotProps)"
:loading="loading"
style="width: 100%"
>
保存
</a-button>
</j-button>
</template>
<a-button type="link" @click="slotProps.popVis = true">
<j-button type="link" @click="slotProps.popVis = true">
<AIcon type="EditOutlined" />
</a-button>
</a-popover>
</a-space>
</j-button>
</j-popover>
</j-space>
</template>
<template #status="slotProps">
<a-space>
<a-badge
<j-space>
<j-badge
:status="
slotProps.status.value === 'online'
? 'success'
: 'error'
"
:text="slotProps.status.text"
></a-badge>
</a-space>
></j-badge>
</j-space>
</template>
<template #action="slotProps">
<a-space :size="16">
<a-tooltip
<j-space :size="16">
<j-tooltip
v-for="i in getActions(slotProps, 'table')"
:key="i.key"
v-bind="i.tooltip"
>
<a-popconfirm
<j-popconfirm
v-if="i.popConfirm"
v-bind="i.popConfirm"
:disabled="i.disabled"
>
<a-button
<j-button
:disabled="i.disabled"
style="padding: 0"
type="link"
><AIcon :type="i.icon"
/></a-button>
</a-popconfirm>
<a-button
/></j-button>
</j-popconfirm>
<j-button
style="padding: 0"
type="link"
v-else
@click="i.onClick && i.onClick(slotProps)"
>
<a-button
<j-button
:disabled="i.disabled"
style="padding: 0"
type="link"
><AIcon :type="i.icon"
/></a-button>
</a-button>
</a-tooltip>
</a-space>
/></j-button>
</j-button>
</j-tooltip>
</j-space>
</template>
</JProTable>

View File

@ -1,6 +1,6 @@
<!-- 国标级联-推送 -->
<template>
<a-modal
<j-modal
v-model:visible="_vis"
title="推送"
cancelText="取消"
@ -9,10 +9,10 @@
@ok="_vis = false"
@cancel="_vis = false"
>
<a-row :gutter="20">
<a-col :span="8">
<j-row :gutter="20">
<j-col :span="8">
<p>成功{{ successCount }}</p>
<a-space>
<j-space>
<p>失败{{ failCount }}</p>
<a
v-if="errMessage.length"
@ -24,19 +24,19 @@
"
>下载</a
>
</a-space>
</a-col>
<a-col :span="8">
</j-space>
</j-col>
<j-col :span="8">
<p>推送通道数量{{ data.count }}</p>
</a-col>
<a-col :span="8">
</j-col>
<j-col :span="8">
<p>已推送通道数量{{ successCount + failCount }}</p>
</a-col>
</a-row>
</j-col>
</j-row>
<div v-if="flag">
<a-textarea :rows="10" v-model:value="errStr" />
<j-textarea :rows="10" v-model:value="errStr" />
</div>
</a-modal>
</j-modal>
</template>
<script setup lang="ts">

View File

@ -1,14 +1,14 @@
<!-- 国标级联新增/编辑 -->
<template>
<page-container>
<a-card>
<a-row :gutter="24">
<a-col :span="12">
<a-form ref="formRef" layout="vertical" :model="formData">
<a-row :gutter="24">
<j-card>
<j-row :gutter="24">
<j-col :span="12">
<j-form ref="formRef" layout="vertical" :model="formData">
<j-row :gutter="24">
<TitleComponent data="基本信息" />
<a-col :span="12">
<a-form-item
<j-col :span="12">
<j-form-item
label="名称"
name="cascadeName"
:rules="[
@ -22,14 +22,14 @@
},
]"
>
<a-input
<j-input
v-model:value="formData.cascadeName"
placeholder="请输入名称"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="代理视频流"
name="proxyStream"
:rules="[
@ -39,23 +39,23 @@
},
]"
>
<a-radio-group
<j-radio-group
button-style="solid"
v-model:value="formData.proxyStream"
>
<a-radio-button :value="true">
<j-radio-button :value="true">
启用
</a-radio-button>
<a-radio-button :value="false">
</j-radio-button>
<j-radio-button :value="false">
禁用
</a-radio-button>
</a-radio-group>
</a-form-item>
</a-col>
</j-radio-button>
</j-radio-group>
</j-form-item>
</j-col>
<TitleComponent data="信令服务配置" />
<a-col :span="12">
<a-form-item
<j-col :span="12">
<j-form-item
name="clusterNodeId"
:rules="[
{
@ -67,25 +67,25 @@
<template #label>
<span>
集群节点
<a-tooltip
<j-tooltip
title="使用此集群节点级联到上级平台"
>
<AIcon
type="QuestionCircleOutlined"
style="margin-left: 2px"
/>
</a-tooltip>
</j-tooltip>
</span>
</template>
<a-select
<j-select
v-model:value="formData.clusterNodeId"
placeholder="请选择集群节点"
:options="clustersList"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="信令名称"
name="name"
:rules="[
@ -99,14 +99,14 @@
},
]"
>
<a-input
<j-input
v-model:value="formData.name"
placeholder="请输入信令名称"
/>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="24">
<j-form-item
label="上级SIP ID"
name="sipId"
:rules="[
@ -120,14 +120,14 @@
},
]"
>
<a-input
<j-input
v-model:value="formData.sipId"
placeholder="请输入上级SIP ID"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="上级SIP域"
name="domain"
:rules="[
@ -141,14 +141,14 @@
},
]"
>
<a-input
<j-input
v-model:value="formData.domain"
placeholder="请输入上级平台SIP域"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="上级SIP 地址"
name="remoteAddress"
:rules="[
@ -161,17 +161,17 @@
},
]"
>
<a-row :gutter="10">
<a-col :span="14">
<a-input
<j-row :gutter="10">
<j-col :span="14">
<j-input
v-model:value="
formData.remoteAddress
"
placeholder="请输入IP地址"
/>
</a-col>
<a-col :span="10">
<a-input-number
</j-col>
<j-col :span="10">
<j-input-number
:min="1"
:max="65535"
v-model:value="
@ -180,13 +180,13 @@
placeholder="请输入端口"
style="width: 100%"
/>
</a-col>
</a-row>
</a-form-item>
</a-col>
</j-col>
</j-row>
</j-form-item>
</j-col>
<a-col :span="24">
<a-form-item
<j-col :span="24">
<j-form-item
label="本地SIP ID"
name="localSipId"
:rules="[
@ -200,14 +200,14 @@
},
]"
>
<a-input
<j-input
v-model:value="formData.localSipId"
placeholder="网关侧的SIP ID"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
name="host"
:rules="[
{
@ -222,36 +222,36 @@
<template #label>
<span>
SIP本地地址
<a-tooltip
<j-tooltip
title="使用指定的网卡和端口进行请求"
>
<AIcon
type="QuestionCircleOutlined"
style="margin-left: 2px"
/>
</a-tooltip>
</j-tooltip>
</span>
</template>
<a-row :gutter="10">
<a-col :span="14">
<a-select
<j-row :gutter="10">
<j-col :span="14">
<j-select
v-model:value="formData.host"
placeholder="请选择IP地址"
:options="allList"
/>
</a-col>
<a-col :span="10">
<a-select
</j-col>
<j-col :span="10">
<j-select
v-model:value="formData.port"
placeholder="请选择端口"
:options="allListPorts"
/>
</a-col>
</a-row>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-col>
</j-row>
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="SIP远程地址"
name="publicHost"
:rules="[
@ -264,17 +264,17 @@
},
]"
>
<a-row :gutter="10">
<a-col :span="14">
<a-input
<j-row :gutter="10">
<j-col :span="14">
<j-input
v-model:value="
formData.publicHost
"
placeholder="请输入IP地址"
/>
</a-col>
<a-col :span="10">
<a-input-number
</j-col>
<j-col :span="10">
<j-input-number
:min="1"
:max="65535"
v-model:value="
@ -283,12 +283,12 @@
placeholder="请输入端口"
style="width: 100%"
/>
</a-col>
</a-row>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item
</j-col>
</j-row>
</j-form-item>
</j-col>
<j-col :span="24">
<j-form-item
label="传输协议"
name="transport"
:rules="[
@ -298,22 +298,22 @@
},
]"
>
<a-radio-group
<j-radio-group
button-style="solid"
v-model:value="formData.transport"
@change="setPorts"
>
<a-radio-button value="UDP">
<j-radio-button value="UDP">
UDP
</a-radio-button>
<a-radio-button value="TCP">
</j-radio-button>
<j-radio-button value="TCP">
TCP
</a-radio-button>
</a-radio-group>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-radio-button>
</j-radio-group>
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="用户"
name="user"
:rules="[
@ -327,14 +327,14 @@
},
]"
>
<a-input
<j-input
v-model:value="formData.user"
placeholder="请输入用户"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="接入密码"
name="password"
:rules="[
@ -348,14 +348,14 @@
},
]"
>
<a-input-password
<j-input-password
v-model:value="formData.password"
placeholder="请输入接入密码"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="厂商"
name="manufacturer"
:rules="[
@ -369,14 +369,14 @@
},
]"
>
<a-input
<j-input
v-model:value="formData.manufacturer"
placeholder="请输入厂商"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="型号"
name="model"
:rules="[
@ -390,14 +390,14 @@
},
]"
>
<a-input
<j-input
v-model:value="formData.model"
placeholder="请输入型号"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="版本号"
name="firmware"
:rules="[
@ -411,14 +411,14 @@
},
]"
>
<a-input
<j-input
v-model:value="formData.firmware"
placeholder="请输入版本号"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="心跳周期(秒)"
name="keepaliveInterval"
:rules="[
@ -428,7 +428,7 @@
},
]"
>
<a-input-number
<j-input-number
:min="1"
:max="10000"
v-model:value="
@ -437,10 +437,10 @@
placeholder="请输入心跳周期"
style="width: 100%"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item
</j-form-item>
</j-col>
<j-col :span="12">
<j-form-item
label="注册间隔(秒)"
name="registerInterval"
:rules="[
@ -450,7 +450,7 @@
},
]"
>
<a-input-number
<j-input-number
:min="1"
:max="10000"
v-model:value="
@ -459,29 +459,29 @@
placeholder="请输入注册间隔"
style="width: 100%"
/>
</a-form-item>
</a-col>
</a-row>
</j-form-item>
</j-col>
</j-row>
<a-form-item>
<a-button
<j-form-item>
<j-button
type="primary"
@click="handleSubmit"
:loading="btnLoading"
>
保存
</a-button>
</a-form-item>
</a-form>
</a-col>
<a-col :span="12">
</j-button>
</j-form-item>
</j-form>
</j-col>
<j-col :span="12">
<div class="doc">
<h1>1.概述</h1>
<div>
配置国标级联平台可以将已经接入到自身的摄像头共享给第三方调用播放
</div>
<div>
<a-alert
<j-alert
message="注该配置只用于将本平台向上级联至第三方平台如需第三方平台向上级联至本平台请在“视频设备”页面新增设备时选择“GB/T28181”接入方式。"
type="info"
show-icon
@ -494,7 +494,7 @@
<h2>1上级SIP ID</h2>
<div>请填写第三方平台中配置的<b>SIP ID</b></div>
<div class="image">
<a-image
<j-image
width="100%"
:src="getImage('/northbound/doc2.png')"
/>
@ -502,7 +502,7 @@
<h2>2上级SIP </h2>
<div>请填写第三方平台中配置的<b>SIP ID域</b></div>
<div class="image">
<a-image
<j-image
width="100%"
:src="getImage('/northbound/doc1.png')"
/>
@ -510,7 +510,7 @@
<h2>3上级SIP 地址</h2>
<div>请填写第三方平台中配置的<b>SIP ID地址</b></div>
<div class="image">
<a-image
<j-image
width="100%"
:src="getImage('/northbound/doc3.png')"
/>
@ -549,9 +549,9 @@
SIP代理与 SIP服务器出现1s误 差所经过的运行时间
</div>
</div>
</a-col>
</a-row>
</a-card>
</j-col>
</j-row>
</j-card>
</page-container>
</template>
@ -652,7 +652,7 @@ onMounted(() => {
});
const regDomain =
/[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?/;
/[j-zA-Z0-9][-j-zA-Z0-9]{0,62}(\.[j-zA-Z0-9][-j-zA-Z0-9]{0,62})+\.?/;
/**
* 上级SIP地址 字段验证
* @param _

View File

@ -53,7 +53,7 @@
</h3>
<p>通道数量{{ slotProps.count }}</p>
<Ellipsis>
<a-badge
<j-badge
:text="`sip:${slotProps.sipConfigs[0]?.sipId}@${slotProps.sipConfigs[0]?.hostAndPort}`"
:status="
slotProps.status?.value === 'enabled'
@ -92,7 +92,7 @@
{{ slotProps.sipConfigs[0]?.publicHost }}
</template>
<template #status="slotProps">
<a-badge
<j-badge
:text="slotProps.status?.text"
:status="
slotProps.status?.value === 'enabled'
@ -102,7 +102,7 @@
/>
</template>
<template #onlineStatus="slotProps">
<a-badge
<j-badge
:text="slotProps.onlineStatus?.text"
:status="
slotProps.onlineStatus?.value === 'online'
@ -112,7 +112,7 @@
/>
</template>
<template #action="slotProps">
<a-space :size="16">
<j-space :size="16">
<template
v-for="i in getActions(slotProps, 'table')"
:key="i.key"
@ -131,7 +131,7 @@
<template #icon><AIcon :type="i.icon" /></template>
</PermissionButton>
</template>
</a-space>
</j-space>
</template>
</JProTable>

View File

@ -1,6 +1,6 @@
<template>
<page-container>
<a-card class="splitScreen">
<j-card class="splitScreen">
<div class="split-screen">
<LeftTree @onSelect="mediaStart" />
<div class="right-content">
@ -17,7 +17,7 @@
/>
</div>
</div>
</a-card>
</j-card>
</page-container>
</template>

View File

@ -1,6 +1,6 @@
<template>
<div class="left-content">
<a-tree
<j-tree
:height="700"
:show-line="{ showLeafIcon: false }"
:show-icon="true"
@ -15,7 +15,7 @@
v-if="!treeData.find((f: any) => f.id === id)"
/>
</template>
</a-tree>
</j-tree>
</div>
</template>