parent
a74f864c61
commit
568c8e8b30
@ -0,0 +1,876 @@ |
|||||||
|
<template> |
||||||
|
<div class="app-container"> |
||||||
|
<el-tabs type="border-card" class="demo-tabs" v-loading="loading"> |
||||||
|
<el-tab-pane> |
||||||
|
<template #label> |
||||||
|
<div style="display: flex; align-items: center"> |
||||||
|
<el-icon size="15"> <Grid /> </el-icon> <span |
||||||
|
style="font-weight: 500; font-size: 14px; line-height: 16px" |
||||||
|
>业务状态</span |
||||||
|
> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<el-scrollbar height="380"> |
||||||
|
<el-descriptions direction="vertical" border :column="6"> |
||||||
|
<template #title> |
||||||
|
<el-button |
||||||
|
type="primary" |
||||||
|
link |
||||||
|
:icon="Grid" |
||||||
|
:disabled="prop.devId === 0" |
||||||
|
@click="getServiceDetailInfo('VoipInfoQueryGPON')" |
||||||
|
>VOIP详细信息 |
||||||
|
</el-button> |
||||||
|
</template> |
||||||
|
<el-descriptions-item |
||||||
|
label="PVC/VLAN配置" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ voip["PVC"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label=" 连接类型" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ connectTypeEnum(voip["ConnectType"]) }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label=" 连接状态" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
>{{ connectStatusEnum(voip["ConnectStatus"]) }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label=" voip服务器" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ voip["VoipServer"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="备用服务器" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ voip["StandbyServer"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="注册状态" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ getEnrollmentStatus(voip["LineValue"]) }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label-align="center" |
||||||
|
align="left" |
||||||
|
label-class-name="my-label-none" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
v-if="voip['state'] != '2' && voip['state'] != undefined" |
||||||
|
> |
||||||
|
<div style="color: red; padding: 0 8px; font-size: 10px"> |
||||||
|
错误信息:{{ voip["result"] }} |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
</el-descriptions> |
||||||
|
<el-descriptions direction="vertical" border :column="4"> |
||||||
|
<template #title> |
||||||
|
<el-button |
||||||
|
type="primary" |
||||||
|
link |
||||||
|
:icon="Grid" |
||||||
|
:disabled="prop.devId === 0" |
||||||
|
@click="getServiceDetailInfo('IptvQueryGPON')" |
||||||
|
>IPTV详细信息 |
||||||
|
</el-button> |
||||||
|
</template> |
||||||
|
<el-descriptions-item |
||||||
|
label="PVC/VLAN配置" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ iptv["PVC"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label=" 连接类型" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ connectTypeEnum(iptv["ConnectType"]) }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label=" 连接状态" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
>{{ connectStatusEnum(iptv["ConnectStatus"]) }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label=" 绑定lan 口" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ bindingLan(iptv["BIND_LAN"]) }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label-align="center" |
||||||
|
align="left" |
||||||
|
label-class-name="my-label-none" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
v-if="iptv['state'] != '2' && iptv['state'] != undefined" |
||||||
|
> |
||||||
|
<div style="color: red; padding: 0 8px; font-size: 10px"> |
||||||
|
错误信息:{{ iptv["result"] }} |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
</el-descriptions> |
||||||
|
<el-descriptions direction="vertical" border :column="11"> |
||||||
|
<template #title> |
||||||
|
<el-button |
||||||
|
type="primary" |
||||||
|
link |
||||||
|
:icon="Grid" |
||||||
|
:disabled="prop.devId === 0" |
||||||
|
@click="getServiceDetailInfo('WLanInfoQuery')" |
||||||
|
>WLAN详细信息 |
||||||
|
</el-button> |
||||||
|
</template> |
||||||
|
<el-descriptions-item |
||||||
|
label="SSID名称" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="240px" |
||||||
|
> |
||||||
|
<div v-if="wlan['SSID'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != wlan['SSID'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan['SSID'].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ item }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label=" 连接设备数" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<div v-if="wlan['DeviceCount'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != wlan['DeviceCount'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan['DeviceCount'].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ item }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="功率级别" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<div v-if="wlan['Signal'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != wlan['Signal'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan['Signal'].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ item }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="隐藏/广播" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<div v-if="wlan['SSIDHide'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != wlan['SSIDHide'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan['SSIDHide'].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ SSSIdHide(item) }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="加密方式" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<div v-if="wlan['WPAEncryptionModes'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != wlan['WPAEncryptionModes'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan['WPAEncryptionModes'].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ item }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label=" WPS关键字" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<div v-if="wlan['KeyWord'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != wlan['KeyWord'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan['KeyWord'].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ item }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="信道" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<div v-if="wlan['ChannelsInUse'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != wlan['ChannelsInUse'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan['ChannelsInUse'].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ item }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="当前功率(dBm)" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="180px" |
||||||
|
> |
||||||
|
<div v-if="wlan['PowerValue'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != wlan['PowerValue'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan['PowerValue'].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ item }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="SSID连接" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<div v-if="wlan['Status'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != wlan['Status'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan['Status'].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ SSSIdStatus(item) }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="802.11工作模式" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="180px" |
||||||
|
> |
||||||
|
<div v-if="wlan['Standard'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != wlan['Standard'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan['Standard'].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ item }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="设备IP" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
<div v-if="wlan['AssociatedDeviceIPAddress'] != undefined"> |
||||||
|
<div |
||||||
|
:style=" |
||||||
|
index != |
||||||
|
wlan['AssociatedDeviceIPAddress'].split(':').length - 1 |
||||||
|
? 'border-bottom: var(--el-descriptions-table-border)' |
||||||
|
: '' |
||||||
|
" |
||||||
|
v-for="(item, index) in wlan[ |
||||||
|
'AssociatedDeviceIPAddress' |
||||||
|
].split(':')" |
||||||
|
:key="index" |
||||||
|
> |
||||||
|
{{ item }} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label-align="center" |
||||||
|
align="left" |
||||||
|
label-class-name="my-label-none" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
v-if="wlan['state'] != '2' && wlan['state'] != undefined" |
||||||
|
> |
||||||
|
<div style="color: red; padding: 0 8px; font-size: 10px"> |
||||||
|
错误信息:{{ wlan["result"] }} |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
</el-descriptions> |
||||||
|
</el-scrollbar> |
||||||
|
</el-tab-pane> |
||||||
|
<el-tab-pane> |
||||||
|
<template #label> |
||||||
|
<div style="display: flex; align-items: center"> |
||||||
|
<el-icon size="15"> <Grid /> </el-icon> <span |
||||||
|
style="font-weight: 500; font-size: 14px; line-height: 16px" |
||||||
|
>终端状态</span |
||||||
|
> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
<el-scrollbar height="380"> |
||||||
|
<el-descriptions direction="vertical" border :column="5"> |
||||||
|
<template #title> |
||||||
|
<el-button |
||||||
|
type="primary" |
||||||
|
link |
||||||
|
:icon="Grid" |
||||||
|
:disabled="prop.devId === 0" |
||||||
|
@click="getServiceDetailInfo('LinkInfoQueryGPON')" |
||||||
|
>设备链路详细信息 |
||||||
|
</el-button> |
||||||
|
</template> |
||||||
|
<el-descriptions-item |
||||||
|
label="PON口的发射光功率(单位是:dBm)" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ link["TXPower"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="PON口的接收光功率(单位是:dBm)" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ link["RXPower"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="光模块的工作温度,单位是(C)" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
>{{ link["TransceiverTemperature"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="光模块的供电电压(单位:V)" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ link["SupplyVottage"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="光发送机的偏置电流(单位:mA)" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ link["BiasCurrent"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label-align="center" |
||||||
|
align="left" |
||||||
|
label-class-name="my-label-none" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
v-if="link['state'] != '2' && link['state'] != undefined" |
||||||
|
> |
||||||
|
<div style="color: red; padding: 0 8px; font-size: 10px"> |
||||||
|
错误信息:{{ link["result"] }} |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
</el-descriptions> |
||||||
|
<el-descriptions direction="vertical" border :column="9"> |
||||||
|
<template #title> |
||||||
|
<el-button |
||||||
|
type="primary" |
||||||
|
link |
||||||
|
:icon="Grid" |
||||||
|
:disabled="prop.devId === 0" |
||||||
|
@click="getServiceDetailInfo('DigitalhomeQueryGPON')" |
||||||
|
>宽带上网详细信息 |
||||||
|
</el-button> |
||||||
|
</template> |
||||||
|
<el-descriptions-item |
||||||
|
label="PVC/VLAN配置" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ broadband["PVC"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="连接类型" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ connectTypeEnum(broadband["ConnectType"]) }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="绑定端口" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="180px" |
||||||
|
>{{ getLanPort(broadband["LanInterface"]) }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="连接状态" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ connectStatusEnum(broadband["ConnectStatus"]) }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="DNS" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="180px" |
||||||
|
> |
||||||
|
{{ broadband["DNSServer"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="PPPOE帐号" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ broadband["Username"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="密码" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ broadband["Password"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="IP地址" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ broadband["Ipaddress"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="拨号失败错误" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ broadband["Errors"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label-align="center" |
||||||
|
align="left" |
||||||
|
label-class-name="my-label-none" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
v-if=" |
||||||
|
broadband['state'] != '2' && broadband['state'] != undefined |
||||||
|
" |
||||||
|
> |
||||||
|
<div style="color: red; padding: 0 8px; font-size: 10px"> |
||||||
|
错误信息:{{ broadband["result"] }} |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
</el-descriptions> |
||||||
|
<el-descriptions direction="vertical" border :column="1"> |
||||||
|
<template #title> |
||||||
|
<el-button |
||||||
|
type="primary" |
||||||
|
link |
||||||
|
:icon="Grid" |
||||||
|
:disabled="prop.devId === 0" |
||||||
|
@click="getServiceDetailInfo('LanInfoQuery')" |
||||||
|
>LAN侧详细信息 |
||||||
|
</el-button> |
||||||
|
</template> |
||||||
|
<el-descriptions-item |
||||||
|
label-class-name="my-label-none" |
||||||
|
class-name="my-content" |
||||||
|
> |
||||||
|
<div class="any-table"> |
||||||
|
<el-table :data="lanData"> |
||||||
|
<el-table-column label="名称" align="center" prop="name" /> |
||||||
|
<el-table-column label="状态" align="center" prop="status" /> |
||||||
|
</el-table> |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label-align="center" |
||||||
|
align="left" |
||||||
|
label-class-name="my-label-none" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
v-if="lan['state'] != '2' && lan['state'] != undefined" |
||||||
|
> |
||||||
|
<div style="color: red; padding: 0 8px; font-size: 10px"> |
||||||
|
错误信息:{{ lan["result"] }} |
||||||
|
</div> |
||||||
|
</el-descriptions-item> |
||||||
|
</el-descriptions> |
||||||
|
<el-descriptions direction="vertical" border :column="3"> |
||||||
|
<template #title> |
||||||
|
<el-button |
||||||
|
type="primary" |
||||||
|
link |
||||||
|
:icon="Grid" |
||||||
|
:disabled="prop.devId === 0" |
||||||
|
@click="getServiceDetailInfo('LanInfoQuery')" |
||||||
|
>DHCP地址池信息 |
||||||
|
</el-button> |
||||||
|
</template> |
||||||
|
<el-descriptions-item |
||||||
|
label="最小地址" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ lan["MinAddress"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="最大地址" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
> |
||||||
|
{{ lan["MaxAddress"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
<el-descriptions-item |
||||||
|
label="保留地址" |
||||||
|
label-align="center" |
||||||
|
align="center" |
||||||
|
label-class-name="my-label" |
||||||
|
class-name="my-content" |
||||||
|
width="150px" |
||||||
|
>{{ lan["ReservedAddresses"] }} |
||||||
|
</el-descriptions-item> |
||||||
|
</el-descriptions> |
||||||
|
</el-scrollbar> |
||||||
|
</el-tab-pane> |
||||||
|
</el-tabs> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script setup lang="ts"> |
||||||
|
import { Grid } from "@element-plus/icons-vue"; |
||||||
|
import { faultServiceStatus } from "@/api/fault"; |
||||||
|
import { Action } from "element-plus"; |
||||||
|
|
||||||
|
interface LanInfo { |
||||||
|
name?: string; |
||||||
|
|
||||||
|
status?: string; |
||||||
|
} |
||||||
|
|
||||||
|
const prop = defineProps<{ |
||||||
|
devId: number; |
||||||
|
}>(); |
||||||
|
const loading = ref<boolean>(false); |
||||||
|
const voip = ref<any>({}); |
||||||
|
const iptv = ref<any>({}); |
||||||
|
const wlan = ref<any>({}); |
||||||
|
const link = ref<any>({}); |
||||||
|
const broadband = ref<any>({}); |
||||||
|
const lan = ref<any>({}); |
||||||
|
// eslint-disable-next-line vue/return-in-computed-property |
||||||
|
const lanData = computed(() => { |
||||||
|
let tableData: LanInfo[] = []; |
||||||
|
let lanConfig = lan.value["LanConfig"]; |
||||||
|
if (lanConfig) { |
||||||
|
let lanArr: string[] = lanConfig.split("@"); |
||||||
|
lanArr.forEach((obj) => { |
||||||
|
if (obj.length > 0) { |
||||||
|
let arr = obj.split("#"); |
||||||
|
let lanInfo: LanInfo = { |
||||||
|
name: arr[0], |
||||||
|
status: arr[3], |
||||||
|
}; |
||||||
|
tableData.push(lanInfo); |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
return tableData; |
||||||
|
}); |
||||||
|
|
||||||
|
function getEnrollmentStatus(str?: string) { |
||||||
|
if (str) { |
||||||
|
const match = str.match(/#([^#]*)#/); |
||||||
|
if (match) { |
||||||
|
return match[1]; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function connectStatusEnum(str?: string) { |
||||||
|
switch (str) { |
||||||
|
case "Connected": |
||||||
|
return "已连接"; |
||||||
|
case "Connecting": |
||||||
|
return "正在连接"; |
||||||
|
case "Disconnected": |
||||||
|
return "未连接"; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function connectTypeEnum(str?: string) { |
||||||
|
switch (str) { |
||||||
|
case "IP_Routed": |
||||||
|
return "路由"; |
||||||
|
case "PPPoE_Bridged": |
||||||
|
return "桥接"; |
||||||
|
default: |
||||||
|
return str; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function getLanPort(str?: string) { |
||||||
|
if (str) { |
||||||
|
return str.length > 0 ? "LAN1 LAN3 LAN4" : ""; |
||||||
|
} else { |
||||||
|
return ""; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function SSSIdStatus(str?: string) { |
||||||
|
if (str) { |
||||||
|
switch (str) { |
||||||
|
case "0": |
||||||
|
return "禁用"; |
||||||
|
case "1": |
||||||
|
return "在线"; |
||||||
|
case "2": |
||||||
|
return "离线"; |
||||||
|
default: |
||||||
|
return "离线"; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function SSSIdHide(str?: string) { |
||||||
|
if (str) { |
||||||
|
switch (str) { |
||||||
|
case "1": |
||||||
|
return "隐藏"; |
||||||
|
default: |
||||||
|
return "广播"; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
function bindingLan(str?: string) { |
||||||
|
if (str) { |
||||||
|
if (str.length > 0) { |
||||||
|
return "LAN2"; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
const getServiceDetailInfo = (remote: string) => { |
||||||
|
loading.value = true; |
||||||
|
faultServiceStatus(prop.devId, remote) |
||||||
|
.then(({ data }) => { |
||||||
|
switch (remote) { |
||||||
|
case "VoipInfoQueryGPON": |
||||||
|
voip.value = data; |
||||||
|
break; |
||||||
|
case "IptvQueryGPON": |
||||||
|
iptv.value = data; |
||||||
|
break; |
||||||
|
case "WLanInfoQuery": |
||||||
|
wlan.value = data; |
||||||
|
break; |
||||||
|
case "LinkInfoQueryGPON": |
||||||
|
link.value = data; |
||||||
|
break; |
||||||
|
case "DigitalhomeQueryGPON": |
||||||
|
broadband.value = data; |
||||||
|
break; |
||||||
|
case "LanInfoQuery": |
||||||
|
lan.value = data; |
||||||
|
break; |
||||||
|
} |
||||||
|
}) |
||||||
|
.finally(() => { |
||||||
|
loading.value = false; |
||||||
|
}); |
||||||
|
}; |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
:deep(.el-descriptions__header) { |
||||||
|
margin-bottom: 5px; |
||||||
|
} |
||||||
|
|
||||||
|
:deep(.my-content) { |
||||||
|
height: 32px; |
||||||
|
} |
||||||
|
|
||||||
|
:deep(.my-label-none) { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
|
||||||
|
:deep( |
||||||
|
.el-descriptions__body |
||||||
|
.el-descriptions__table.is-bordered |
||||||
|
.el-descriptions__cell |
||||||
|
) { |
||||||
|
padding: 8px 0; |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue