feat: 给AMF/MME对应的IMEI白名单添加批量导入和批量删除功能
This commit is contained in:
@@ -12,6 +12,8 @@ import useOptions from './hooks/useOptions';
|
||||
import useConfigList from './hooks/useConfigList';
|
||||
import useConfigArray from './hooks/useConfigArray';
|
||||
import useConfigArrayChild from './hooks/useConfigArrayChild';
|
||||
import useArrayImport from './hooks/useArrayImport';
|
||||
import useArrayBatchDel from './hooks/useArrayBatchDel';
|
||||
import { getAllNeConfig, getNeConfigData } from '@/api/ne/neConfig';
|
||||
const neListStore = useNeListStore();
|
||||
const { t } = useI18n();
|
||||
@@ -225,10 +227,13 @@ function fnGetNeConfig() {
|
||||
} else {
|
||||
paramPerms = ['post', 'put', 'delete'];
|
||||
}
|
||||
const title = item.paramDisplay;
|
||||
// 处理字符串开头特殊字符
|
||||
item.paramDisplay = title.replace(/[└─]+/, '');
|
||||
arr.push({
|
||||
...item,
|
||||
children: undefined,
|
||||
title: item.paramDisplay,
|
||||
title: title,
|
||||
key: item.paramName,
|
||||
paramPerms,
|
||||
});
|
||||
@@ -362,6 +367,21 @@ const {
|
||||
arrayEditClose,
|
||||
});
|
||||
|
||||
const {
|
||||
importState,
|
||||
modalImportOpen,
|
||||
modalImportClose,
|
||||
modalImportUpload,
|
||||
modalImportTemplate,
|
||||
} = useArrayImport({ t, neTypeSelect, arrayState, fnActiveConfigNode });
|
||||
|
||||
const { batchState, modalBatchOpen, modalBatchClose, modalBatchOk } =
|
||||
useArrayBatchDel({
|
||||
t,
|
||||
neTypeSelect,
|
||||
fnActiveConfigNode,
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
// 获取网元网元列表
|
||||
neCascaderOptions.value = neListStore.getNeCascaderOptions.filter(
|
||||
@@ -428,7 +448,7 @@ onMounted(() => {
|
||||
<a-card
|
||||
size="small"
|
||||
:bordered="false"
|
||||
:body-style="{ maxHeight: '600px', 'overflow-y': 'auto' }"
|
||||
:body-style="{ maxHeight: '680px', 'overflow-y': 'auto' }"
|
||||
:loading="treeState.selectLoading"
|
||||
>
|
||||
<template #title>
|
||||
@@ -578,7 +598,8 @@ onMounted(() => {
|
||||
{{ JSON.parse(record['filter'])[text] }}
|
||||
</template>
|
||||
<template v-else>{{ `${text}` }}</template>
|
||||
<!-- 空格占位 -->
|
||||
|
||||
<!-- 空格占位 -->
|
||||
<EditOutlined
|
||||
class="editable-cell__icon"
|
||||
@click="listEdit(record)"
|
||||
@@ -605,7 +626,7 @@ onMounted(() => {
|
||||
:size="arrayState.size"
|
||||
:pagination="tablePagination"
|
||||
:bordered="true"
|
||||
:scroll="{ x: arrayState.columnsDnd.length * 200, y: 480 }"
|
||||
:scroll="{ x: arrayState.columnsDnd.length * 200, y: '500px' }"
|
||||
@resizeColumn="(w:number, col:any) => (col.width = w)"
|
||||
:show-expand-column="false"
|
||||
v-model:expanded-row-keys="arrayState.arrayChildExpandKeys"
|
||||
@@ -628,6 +649,38 @@ onMounted(() => {
|
||||
:columns="treeState.selectNode.paramPerms.includes('get') ? [...arrayState.columns.filter((s:any)=>s.key !== 'index')] : arrayState.columns"
|
||||
v-model:columns-dnd="arrayState.columnsDnd"
|
||||
></TableColumnsDnd>
|
||||
<!-- 特殊导入删除-->
|
||||
<template
|
||||
v-if="
|
||||
['AMF', 'MME'].includes(neTypeSelect[0]) &&
|
||||
['white_list', 'imeiWhitelist', 'whitelist'].includes(
|
||||
treeState.selectNode.paramName
|
||||
)
|
||||
"
|
||||
>
|
||||
<a-button
|
||||
@click.prevent="
|
||||
modalImportOpen(
|
||||
neTypeSelect[0],
|
||||
treeState.selectNode.paramName
|
||||
)
|
||||
"
|
||||
size="small"
|
||||
>
|
||||
<template #icon><ImportOutlined /></template>
|
||||
{{ t('common.import') }}
|
||||
</a-button>
|
||||
<a-button
|
||||
danger
|
||||
@click.prevent="
|
||||
modalBatchOpen(treeState.selectNode.paramName)
|
||||
"
|
||||
size="small"
|
||||
>
|
||||
<template #icon><DeleteOutlined /></template>
|
||||
{{ t('views.neData.common.batchDelText') }}
|
||||
</a-button>
|
||||
</template>
|
||||
</a-space>
|
||||
</template>
|
||||
|
||||
@@ -905,6 +958,84 @@ onMounted(() => {
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</ProModal>
|
||||
|
||||
<!-- 上传导入表格数据文件框 -->
|
||||
<UploadModal
|
||||
:title="t('common.import')"
|
||||
@upload="modalImportUpload"
|
||||
@close="modalImportClose"
|
||||
v-model:open="importState.open"
|
||||
:ext="['.xls', '.xlsx']"
|
||||
:size="10"
|
||||
>
|
||||
<template #default>
|
||||
<a-row justify="space-between" align="middle">
|
||||
<a-col :span="12"> </a-col>
|
||||
<a-col :span="6">
|
||||
<a-button
|
||||
type="link"
|
||||
:title="t('views.system.user.downloadObj')"
|
||||
@click.prevent="modalImportTemplate"
|
||||
>
|
||||
{{ t('views.system.user.downloadObj') }}
|
||||
</a-button>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<a-textarea
|
||||
:disabled="true"
|
||||
:hidden="importState.msgArr.length <= 0"
|
||||
:value="importState.msgArr.join('\r\n')"
|
||||
:auto-size="{ minRows: 2, maxRows: 8 }"
|
||||
style="background-color: transparent; color: rgba(0, 0, 0, 0.85)"
|
||||
/>
|
||||
</template>
|
||||
</UploadModal>
|
||||
|
||||
<!-- 批量删除框 -->
|
||||
<ProModal
|
||||
:drag="true"
|
||||
:destroyOnClose="true"
|
||||
:keyboard="false"
|
||||
:mask-closable="false"
|
||||
:open="batchState.open"
|
||||
:title="t('views.neData.common.batchDelText')"
|
||||
:confirm-loading="batchState.loading"
|
||||
@ok="modalBatchOk"
|
||||
@cancel="modalBatchClose"
|
||||
>
|
||||
<a-form
|
||||
name="batchStateForm"
|
||||
:model="batchState"
|
||||
layout="horizontal"
|
||||
:label-col="{ span: 6 }"
|
||||
:labelWrap="true"
|
||||
>
|
||||
<a-row>
|
||||
<a-col :lg="24" :md="24" :xs="24">
|
||||
<a-form-item label="Start Index" name="startIndex" required>
|
||||
<a-input-number
|
||||
v-model:value="batchState.startIndex"
|
||||
style="width: 100%"
|
||||
allow-clear
|
||||
:min="0"
|
||||
:maxlength="5"
|
||||
></a-input-number>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :lg="24" :md="24" :xs="24">
|
||||
<a-form-item label="Num" name="num" required>
|
||||
<a-input-number
|
||||
v-model:value="batchState.num"
|
||||
style="width: 100%"
|
||||
:min="1"
|
||||
:maxlength="5"
|
||||
placeholder="<=500"
|
||||
></a-input-number>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
</a-form>
|
||||
</ProModal>
|
||||
</PageContainer>
|
||||
</template>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user