feat: 添加IMS SIP响应码原因显示

This commit is contained in:
TsMask
2025-04-28 19:34:56 +08:00
parent 42f8c0b64f
commit 76caaf694c
4 changed files with 100 additions and 49 deletions

View File

@@ -35,9 +35,12 @@ let dict: {
cdrSipCode: DictType[];
/**CDR 呼叫类型 */
cdrCallType: DictType[];
/**IMS-Voice-SIP响应代码类别类型原因 */
cdrSipCodeCause: DictType[];
} = reactive({
cdrSipCode: [],
cdrCallType: [],
cdrSipCodeCause: [],
});
/**网元可选 */
@@ -182,13 +185,6 @@ let tableColumns: ColumnsType = [
return cdrJSON.calledParty;
},
},
{
title: t('views.dashboard.cdr.result'),
dataIndex: 'cdrJSON',
key: 'cause',
align: 'left',
width: 150,
},
{
title: t('views.dashboard.cdr.duration'),
dataIndex: 'cdrJSON',
@@ -202,6 +198,22 @@ let tableColumns: ColumnsType = [
: parseDuration(cdrJSON.callDuration);
},
},
{
title: t('views.dashboard.cdr.resultCode'),
dataIndex: 'cdrJSON',
key: 'code',
align: 'left',
width: 200,
ellipsis: true,
},
{
title: t('views.dashboard.cdr.resultCause'),
dataIndex: 'cdrJSON',
key: 'cause',
align: 'left',
width: 200,
ellipsis: true,
},
{
title: t('views.dashboard.cdr.seizureTime'),
dataIndex: 'cdrJSON',
@@ -212,7 +224,7 @@ let tableColumns: ColumnsType = [
if (typeof cdrJSON.seizureTime === 'number') {
return parseDateToStr(+cdrJSON.seizureTime * 1000);
}
return cdrJSON.seizureTime;
return parseDateToStr(cdrJSON.seizureTime);
},
},
{
@@ -225,7 +237,7 @@ let tableColumns: ColumnsType = [
if (typeof cdrJSON.releaseTime === 'number') {
return parseDateToStr(+cdrJSON.releaseTime * 1000);
}
return cdrJSON.releaseTime;
return parseDateToStr(cdrJSON.releaseTime);
},
},
{
@@ -498,16 +510,21 @@ function wsMessage(res: Record<string, any>) {
onMounted(() => {
// 初始字典数据
Promise.allSettled([getDict('cdr_sip_code'), getDict('cdr_call_type')]).then(
resArr => {
if (resArr[0].status === 'fulfilled') {
dict.cdrSipCode = resArr[0].value;
}
if (resArr[1].status === 'fulfilled') {
dict.cdrCallType = resArr[1].value;
}
Promise.allSettled([
getDict('cdr_sip_code'),
getDict('cdr_call_type'),
getDict('cdr_sip_code_cause'),
]).then(resArr => {
if (resArr[0].status === 'fulfilled') {
dict.cdrSipCode = resArr[0].value;
}
);
if (resArr[1].status === 'fulfilled') {
dict.cdrCallType = resArr[1].value;
}
if (resArr[2].status === 'fulfilled') {
dict.cdrSipCodeCause = resArr[2].value;
}
});
// 获取网元网元列表
useNeInfoStore()
.fnNelist()
@@ -751,7 +768,7 @@ onBeforeUnmount(() => {
:value="record.cdrJSON.callType"
/>
</template>
<template v-if="column.key === 'cause'">
<template v-if="column.key === 'code'">
<span v-if="record.cdrJSON.callType !== 'sms'">
<DictTag
:options="dict.cdrSipCode"
@@ -763,6 +780,16 @@ onBeforeUnmount(() => {
{{ t('views.dashboard.cdr.resultOk') }}
</span>
</template>
<template v-if="column.key === 'cause'">
<span v-if="record.cdrJSON.callType !== 'sms'">
<DictTag
:options="dict.cdrSipCodeCause"
:value="record.cdrJSON.cause"
value-default="0"
/>
</span>
<span v-else> Call failure for other reason </span>
</template>
<template v-if="column.key === 'id'">
<a-space :size="8" align="center">
<a-tooltip>