feat:IMSSUB界面修改显示,增加参数

This commit is contained in:
zhongzm
2025-04-11 15:43:02 +08:00
parent 49f0037145
commit 58919ad4d4

View File

@@ -43,6 +43,8 @@ let queryParams = reactive({
tenantName: '', tenantName: '',
/**移动号 */ /**移动号 */
msisdn: '', msisdn: '',
/**TAG */
tag: undefined,
/**排序字段 */ /**排序字段 */
sortField: 'imsi', sortField: 'imsi',
/**排序方式 */ /**排序方式 */
@@ -60,6 +62,7 @@ function fnQueryReset() {
imsiMatch: 'fuzzy', imsiMatch: 'fuzzy',
msisdn: '', msisdn: '',
tenantName: '', tenantName: '',
tag: undefined,
sortField: 'imsi', sortField: 'imsi',
sortOrder: 'asc', sortOrder: 'asc',
pageNum: 1, pageNum: 1,
@@ -121,6 +124,13 @@ let tableColumns = ref<ColumnsType>([
sorter: true, sorter: true,
width: 100, width: 100,
}, },
{
title: 'TAG',
dataIndex: 'tag',
align: 'center',
width: 150,
key: 'tag'
},
{ {
title: 'TenantID', title: 'TenantID',
dataIndex: 'tenantID', dataIndex: 'tenantID',
@@ -140,12 +150,6 @@ let tableColumns = ref<ColumnsType>([
align: 'center', align: 'center',
width: 150, width: 150,
}, },
{
title: 'TAG',
dataIndex: 'tag',
align: 'center',
width: 150,
},
{ {
title: t('common.operate'), title: t('common.operate'),
key: 'imsi', key: 'imsi',
@@ -367,7 +371,7 @@ const modalStateFrom = Form.useForm(
], ],
imsi: [ imsi: [
{ {
required: computed(() => modalState.from.tag === '0'), required: computed(() => modalState.from.tag === '1'),
message: 'IMSI' + t('common.unableNull') message: 'IMSI' + t('common.unableNull')
}, },
{ min: 15, max: 15, message: t('views.neUser.auth.imsiConfirm') }, { min: 15, max: 15, message: t('views.neUser.auth.imsiConfirm') },
@@ -1076,7 +1080,7 @@ onMounted(() => {
if (res.data.length > 0) { if (res.data.length > 0) {
let arr: Record<string, any>[] = []; let arr: Record<string, any>[] = [];
res.data.forEach(i => { res.data.forEach(i => {
if (i.neType === 'IMS') { if (i.neType === 'UDM') {
arr.push({ value: i.neId, label: i.neName }); arr.push({ value: i.neId, label: i.neName });
} }
}); });
@@ -1110,7 +1114,7 @@ onMounted(() => {
<a-form :model="queryParams" name="queryParams" layout="horizontal"> <a-form :model="queryParams" name="queryParams" layout="horizontal">
<a-row :gutter="16"> <a-row :gutter="16">
<a-col :lg="6" :md="12" :xs="24"> <a-col :lg="6" :md="12" :xs="24">
<a-form-item :label="t('views.neUser.sub.imsType')" name="neId "> <a-form-item :label="t('views.neUser.sub.neType')" name="neId">
<a-select <a-select
v-model:value="queryParams.neId" v-model:value="queryParams.neId"
:options="neOtions" :options="neOtions"
@@ -1148,6 +1152,19 @@ onMounted(() => {
:placeholder="t('common.inputPlease')"></a-input> :placeholder="t('common.inputPlease')"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :lg="6" :md="12" :xs="24">
<a-form-item label="TAG" name="tag">
<a-select
v-model:value="queryParams.tag"
:options="[
{ label: 'VoIP', value: '0' },
{ label: 'VoLTE', value: '1' }
]"
:placeholder="t('common.selectPlease')"
allow-clear
/>
</a-form-item>
</a-col>
<a-col :lg="6" :md="12" :xs="24"> <a-col :lg="6" :md="12" :xs="24">
<a-form-item <a-form-item
:label="t('views.neUser.sub.tenantName')" :label="t('views.neUser.sub.tenantName')"
@@ -1205,25 +1222,25 @@ onMounted(() => {
{{ t('views.neUser.auth.batchDelText') }} {{ t('views.neUser.auth.batchDelText') }}
</a-button> </a-button>
<a-popconfirm <a-popconfirm
:title="t('views.neUser.sub.loadDataConfirm')" :title="t('views.neUser.sub.loadDataConfirm')"
:ok-text="t('common.ok')" :ok-text="t('common.ok')"
:cancel-text="t('common.cancel')" :cancel-text="t('common.cancel')"
:disabled="modalState.loadDataLoading" :disabled="modalState.loadDataLoading"
@confirm="fnLoadData" @confirm="fnLoadData"
> >
<a-button <a-button
type="dashed" type="dashed"
danger danger
:disabled="modalState.loadDataLoading" :disabled="modalState.loadDataLoading"
:loading="modalState.loadDataLoading" :loading="modalState.loadDataLoading"
> >
<template #icon> <template #icon>
<SyncOutlined /> <SyncOutlined />
</template> </template>
{{ t('views.neUser.sub.loadData') }} {{ t('views.neUser.sub.loadData') }}
</a-button> </a-button>
</a-popconfirm> </a-popconfirm>
<a-button type="dashed" @click.prevent="fnModalUploadImportOpen"> <a-button type="dashed" @click.prevent="fnModalUploadImportOpen">
<template #icon> <template #icon>
@@ -1232,52 +1249,52 @@ onMounted(() => {
{{ t('views.neUser.sub.import') }} {{ t('views.neUser.sub.import') }}
</a-button> </a-button>
<a-popconfirm <a-popconfirm
:title="t('views.neUser.sub.exportConfirm')" :title="t('views.neUser.sub.exportConfirm')"
placement="topRight" placement="topRight"
ok-text="TXT" ok-text="TXT"
ok-type="default" ok-type="default"
@confirm="fnExportList('txt')" @confirm="fnExportList('txt')"
> >
<a-button type="dashed"> <a-button type="dashed">
<template #icon> <template #icon>
<ExportOutlined /> <ExportOutlined />
</template> </template>
{{ t('views.neUser.sub.export') }} {{ t('views.neUser.sub.export') }}
</a-button> </a-button>
</a-popconfirm> </a-popconfirm>
<a-button <a-button
type="default" type="default"
danger danger
:disabled="tableState.selectedRowKeys.length <= 0" :disabled="tableState.selectedRowKeys.length <= 0"
:loading="modalState.loadDataLoading" :loading="modalState.loadDataLoading"
@click.prevent="fnRecordDelete('0')" @click.prevent="fnRecordDelete('0')"
> >
<template #icon> <template #icon>
<DeleteOutlined /> <DeleteOutlined />
</template> </template>
{{ t('views.neUser.sub.checkDel') }} {{ t('views.neUser.sub.checkDel') }}
</a-button> </a-button>
<a-popconfirm <a-popconfirm
:title="t('views.neUser.sub.checkExportConfirm')" :title="t('views.neUser.sub.checkExportConfirm')"
placement="topRight" placement="topRight"
ok-text="TXT" ok-text="TXT"
ok-type="default" ok-type="default"
@confirm="fnRecordExport('txt')" @confirm="fnRecordExport('txt')"
:disabled="tableState.selectedRowKeys.length <= 0" :disabled="tableState.selectedRowKeys.length <= 0"
> >
<a-button <a-button
type="default" type="default"
:disabled="tableState.selectedRowKeys.length <= 0" :disabled="tableState.selectedRowKeys.length <= 0"
> >
<template #icon> <template #icon>
<ExportOutlined /> <ExportOutlined />
</template> </template>
{{ t('views.neUser.sub.checkExport') }} {{ t('views.neUser.sub.checkExport') }}
</a-button> </a-button>
</a-popconfirm> </a-popconfirm>
</a-flex> </a-flex>
</template> </template>
@@ -1369,6 +1386,9 @@ onMounted(() => {
: t('views.neUser.sub.disable') : t('views.neUser.sub.disable')
}} }}
</template> </template>
<template v-if="column.key === 'tag'">
{{ record.tag === '0' || record.tag === 0 ? 'VoIP' : 'VoLTE' }}
</template>
<template v-if="column.key === 'imsi'"> <template v-if="column.key === 'imsi'">
<a-space :size="8" align="center"> <a-space :size="8" align="center">
<a-tooltip> <a-tooltip>
@@ -1388,7 +1408,7 @@ onMounted(() => {
</a-table> </a-table>
</a-card> </a-card>
新增框或修改框 <!-- 新增框或修改框-->
<ProModal <ProModal
:drag="true" :drag="true"
:width="800" :width="800"
@@ -1489,8 +1509,8 @@ onMounted(() => {
<a-select <a-select
v-model:value="modalState.from.tag" v-model:value="modalState.from.tag"
:options="[ :options="[
{ label: '0', value: '0' }, { label: 'VoIP', value: '0' },
{ label: '1', value: '1' } { label: 'VoLTE', value: '1' }
]" ]"
:placeholder="t('common.selectPlease')" :placeholder="t('common.selectPlease')"
> >
@@ -1526,100 +1546,100 @@ onMounted(() => {
</a-form-item> </a-form-item>
</a-form> </a-form>
</ProModal> </ProModal>
<!-- 批量删除--> <!-- 批量删除-->
<ProModal <ProModal
:drag="true" :drag="true"
:destroyOnClose="true" :destroyOnClose="true"
style="top: 0px" style="top: 0px"
:keyboard="false" :keyboard="false"
:mask-closable="false" :mask-closable="false"
:open="modalState.openByBatchDel" :open="modalState.openByBatchDel"
:title="modalState.title" :title="modalState.title"
:confirm-loading="modalState.confirmLoading" :confirm-loading="modalState.confirmLoading"
@ok="fnBatchDelModalOk" @ok="fnBatchDelModalOk"
@cancel="fnBatchDelModalCancel" @cancel="fnBatchDelModalCancel"
> >
<a-form <a-form
name="modalStateBatchDelFrom" name="modalStateBatchDelFrom"
layout="horizontal" layout="horizontal"
:label-col="{ span: 8 }" :label-col="{ span: 8 }"
:labelWrap="true" :labelWrap="true"
> >
<a-row> <a-row>
<a-col :lg="24" :md="24" :xs="24"> <a-col :lg="24" :md="24" :xs="24">
<a-form-item <a-form-item
:label="t('views.neUser.sub.startIMSI')" :label="t('views.neUser.sub.startIMSI')"
name="imsi" name="imsi"
v-bind="modalStateBatchDelFrom.validateInfos.imsi" v-bind="modalStateBatchDelFrom.validateInfos.imsi"
>
<a-input
v-model:value="modalState.BatchDelForm.imsi"
allow-clear
:maxlength="15"
>
<template #prefix>
<a-tooltip placement="topLeft">
<template #title>
{{ t('views.neUser.sub.imsiTip') }}<br />
{{ t('views.neUser.sub.imsiTip1') }}<br />
{{ t('views.neUser.sub.imsiTip2') }}<br />
{{ t('views.neUser.sub.imsiTip3') }}
</template>
<InfoCircleOutlined style="opacity: 0.45; color: inherit" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item
:label="t('views.neUser.sub.numDel')"
name="num"
v-bind="modalStateBatchDelFrom.validateInfos.num"
>
<a-input-number
v-model:value="modalState.BatchDelForm.num"
style="width: 100%"
:min="1"
:max="10000"
placeholder="<=10000"
></a-input-number>
</a-form-item>
</a-col>
</a-row>
</a-form>
</ProModal>
<!-- 上传导入表格数据文件框 -->
<UploadModal
:title="uploadImportState.title"
:loading="uploadImportState.loading"
@upload="fnModalUploadImportUpload"
@close="fnModalUploadImportClose"
v-model:open="uploadImportState.open"
:ext="['.txt']"
:size="10"
>
<template #default>
<a-alert
:message="uploadImportState.msg"
:type="uploadImportState.hasFail ? 'warning' : 'info'"
v-show="uploadImportState.msg.length > 0"
> >
<template #action> <a-input
<a-button v-model:value="modalState.BatchDelForm.imsi"
size="small" allow-clear
type="link" :maxlength="15"
danger >
@click="fnModalUploadImportFailReason" <template #prefix>
v-if="uploadImportState.hasFail" <a-tooltip placement="topLeft">
> <template #title>
{{ t('views.neUser.auth.importFail') }} {{ t('views.neUser.sub.imsiTip') }}<br />
</a-button> {{ t('views.neUser.sub.imsiTip1') }}<br />
</template> {{ t('views.neUser.sub.imsiTip2') }}<br />
</a-alert> {{ t('views.neUser.sub.imsiTip3') }}
</template>
<InfoCircleOutlined style="opacity: 0.45; color: inherit" />
</a-tooltip>
</template>
</a-input>
</a-form-item>
</a-col>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item
:label="t('views.neUser.sub.numDel')"
name="num"
v-bind="modalStateBatchDelFrom.validateInfos.num"
>
<a-input-number
v-model:value="modalState.BatchDelForm.num"
style="width: 100%"
:min="1"
:max="10000"
placeholder="<=10000"
></a-input-number>
</a-form-item>
</a-col>
</a-row>
</a-form>
</ProModal>
<!-- 上传导入表格数据文件框 -->
<UploadModal
:title="uploadImportState.title"
:loading="uploadImportState.loading"
@upload="fnModalUploadImportUpload"
@close="fnModalUploadImportClose"
v-model:open="uploadImportState.open"
:ext="['.txt']"
:size="10"
>
<template #default>
<a-alert
:message="uploadImportState.msg"
:type="uploadImportState.hasFail ? 'warning' : 'info'"
v-show="uploadImportState.msg.length > 0"
>
<template #action>
<a-button
size="small"
type="link"
danger
@click="fnModalUploadImportFailReason"
v-if="uploadImportState.hasFail"
>
{{ t('views.neUser.auth.importFail') }}
</a-button>
</template> </template>
</UploadModal> </a-alert>
</template>
</UploadModal>
</PageContainer> </PageContainer>
</template> </template>