feat: 网元参数配置smf选择upfId
This commit is contained in:
@@ -38,13 +38,13 @@ export async function getParamConfigTopTab(neType: string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询配置参数标签栏对应信息
|
* 查询配置参数标签栏对应信息和规则
|
||||||
* @param neType 网元类型
|
* @param neType 网元类型
|
||||||
* @param topTag
|
* @param topTag
|
||||||
* @param neId
|
* @param neId
|
||||||
* @returns object { wrRule, dataArr }
|
* @returns object { wrRule, dataArr }
|
||||||
*/
|
*/
|
||||||
async function getParamConfigInfo(
|
async function getParamConfigInfoAndRule(
|
||||||
neType: string,
|
neType: string,
|
||||||
topTag: string,
|
topTag: string,
|
||||||
neId: string
|
neId: string
|
||||||
@@ -57,7 +57,6 @@ async function getParamConfigInfo(
|
|||||||
params: {
|
params: {
|
||||||
SQL: `SELECT param_json FROM param_config WHERE ne_type = '${neType}' AND top_tag='${topTag}'`,
|
SQL: `SELECT param_json FROM param_config WHERE ne_type = '${neType}' AND top_tag='${topTag}'`,
|
||||||
},
|
},
|
||||||
timeout: 1_000,
|
|
||||||
}),
|
}),
|
||||||
// 获取对应信息
|
// 获取对应信息
|
||||||
request({
|
request({
|
||||||
@@ -66,7 +65,6 @@ async function getParamConfigInfo(
|
|||||||
params: {
|
params: {
|
||||||
ne_id: neId,
|
ne_id: neId,
|
||||||
},
|
},
|
||||||
timeout: 1_000,
|
|
||||||
}),
|
}),
|
||||||
]).then(resArr => {
|
]).then(resArr => {
|
||||||
let wrRule: Record<string, any> = {};
|
let wrRule: Record<string, any> = {};
|
||||||
@@ -120,7 +118,11 @@ export async function getParamConfigInfoForm(
|
|||||||
topTag: string,
|
topTag: string,
|
||||||
neId: string
|
neId: string
|
||||||
) {
|
) {
|
||||||
const { wrRule, dataArr } = await getParamConfigInfo(neType, topTag, neId);
|
const { wrRule, dataArr } = await getParamConfigInfoAndRule(
|
||||||
|
neType,
|
||||||
|
topTag,
|
||||||
|
neId
|
||||||
|
);
|
||||||
|
|
||||||
// 拼装数据
|
// 拼装数据
|
||||||
const result = {
|
const result = {
|
||||||
@@ -187,6 +189,35 @@ export async function getParamConfigInfoForm(
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询配置参数标签栏对应信息
|
||||||
|
* @param neType 网元类型
|
||||||
|
* @param topTag
|
||||||
|
* @param neId
|
||||||
|
* @returns object
|
||||||
|
*/
|
||||||
|
export async function getParamConfigInfo(
|
||||||
|
neType: string,
|
||||||
|
topTag: string,
|
||||||
|
neId: string
|
||||||
|
) {
|
||||||
|
// 发起请求
|
||||||
|
const result = await request({
|
||||||
|
url: `/api/rest/systemManagement/v1/elementType/${neType.toLowerCase()}/objectType/config/${topTag}`,
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
ne_id: neId,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
// 解析数据
|
||||||
|
if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) {
|
||||||
|
return Object.assign(result, {
|
||||||
|
data: parseObjLineToHump(result.data.data),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询配置参数标签栏对应信息子节点
|
* 查询配置参数标签栏对应信息子节点
|
||||||
* @param neType 网元类型
|
* @param neType 网元类型
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
import { getParamConfigInfo } from '@/api/configManage/configParam';
|
||||||
|
import { ref } from 'vue';
|
||||||
|
|
||||||
|
export default function useSMFOptions() {
|
||||||
|
/**upfId可选择 */
|
||||||
|
const optionsUPFIds = ref<{ value: string; label: string }[]>([]);
|
||||||
|
|
||||||
|
/**初始加载upfId */
|
||||||
|
function initUPFIds() {
|
||||||
|
getParamConfigInfo('smf', 'upfConfig', '001').then(res => {
|
||||||
|
optionsUPFIds.value = [];
|
||||||
|
for (const s of res.data) {
|
||||||
|
optionsUPFIds.value.push({
|
||||||
|
value: s.id,
|
||||||
|
label: s.id,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return { initUPFIds, optionsUPFIds };
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { reactive, ref, onMounted, watch, toRaw, nextTick } from 'vue';
|
import { reactive, ref, onMounted, watchEffect, toRaw, nextTick } from 'vue';
|
||||||
import { PageContainer } from 'antdv-pro-layout';
|
import { PageContainer } from 'antdv-pro-layout';
|
||||||
import { Modal, message } from 'ant-design-vue/lib';
|
import { Modal, message } from 'ant-design-vue/lib';
|
||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
@@ -14,11 +14,13 @@ import {
|
|||||||
} from '@/api/configManage/configParam';
|
} from '@/api/configManage/configParam';
|
||||||
import useNeInfoStore from '@/store/modules/neinfo';
|
import useNeInfoStore from '@/store/modules/neinfo';
|
||||||
import useOptions from './hooks/useOptions';
|
import useOptions from './hooks/useOptions';
|
||||||
|
import useSMFOptions from './hooks/useSMFOptions';
|
||||||
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
import { SizeType } from 'ant-design-vue/lib/config-provider';
|
||||||
import { DataNode } from 'ant-design-vue/lib/tree';
|
import { DataNode } from 'ant-design-vue/lib/tree';
|
||||||
const neInfoStore = useNeInfoStore();
|
const neInfoStore = useNeInfoStore();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const { ruleVerification } = useOptions();
|
const { ruleVerification } = useOptions();
|
||||||
|
const { initUPFIds, optionsUPFIds } = useSMFOptions();
|
||||||
|
|
||||||
/**网元参数 */
|
/**网元参数 */
|
||||||
let neCascaderOptions = ref<Record<string, any>[]>([]);
|
let neCascaderOptions = ref<Record<string, any>[]>([]);
|
||||||
@@ -342,14 +344,6 @@ let arrayState: ArrayStateType = reactive({
|
|||||||
dataRule: {},
|
dataRule: {},
|
||||||
});
|
});
|
||||||
|
|
||||||
/**监听表格字段列排序变化关闭展开 */
|
|
||||||
watch(
|
|
||||||
() => arrayState.columnsDnd,
|
|
||||||
() => {
|
|
||||||
arrayEditClose();
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**多列表编辑 */
|
/**多列表编辑 */
|
||||||
function arrayEdit(rowIndex: Record<string, any>) {
|
function arrayEdit(rowIndex: Record<string, any>) {
|
||||||
const item = arrayState.data.find((s: any) => s.key === rowIndex.value);
|
const item = arrayState.data.find((s: any) => s.key === rowIndex.value);
|
||||||
@@ -1015,6 +1009,18 @@ function fnModalCancel() {
|
|||||||
modalState.data = [];
|
modalState.data = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
watchEffect(() => {
|
||||||
|
// 监听表格字段列排序变化关闭展开
|
||||||
|
if (arrayState.columnsDnd) {
|
||||||
|
arrayEditClose();
|
||||||
|
}
|
||||||
|
|
||||||
|
// SMF需要选择配置的UPF id
|
||||||
|
if (modalState.visible && neTypeSelect.value[0] === 'SMF') {
|
||||||
|
initUPFIds();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// 获取网元网元列表
|
// 获取网元网元列表
|
||||||
neInfoStore.fnNelist().then(res => {
|
neInfoStore.fnNelist().then(res => {
|
||||||
@@ -1062,7 +1068,7 @@ onMounted(() => {
|
|||||||
:md="6"
|
:md="6"
|
||||||
:xs="24"
|
:xs="24"
|
||||||
style="margin-bottom: 24px"
|
style="margin-bottom: 24px"
|
||||||
v-if="collapsible"
|
v-show="collapsible"
|
||||||
>
|
>
|
||||||
<!-- 网元类型 -->
|
<!-- 网元类型 -->
|
||||||
<a-card
|
<a-card
|
||||||
@@ -1481,8 +1487,22 @@ onMounted(() => {
|
|||||||
modalState.from[item.name] !== undefined
|
modalState.from[item.name] !== undefined
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
|
<!-- 特殊SMF-upfid选择 -->
|
||||||
|
<a-select
|
||||||
|
v-if="
|
||||||
|
neTypeSelect[0] === 'SMF' &&
|
||||||
|
modalState.from[item.name]['name'] === 'upfId'
|
||||||
|
"
|
||||||
|
v-model:value="modalState.from[item.name]['value']"
|
||||||
|
:options="optionsUPFIds"
|
||||||
|
:disabled="['read-only', 'read', 'ro'].includes(item.access)"
|
||||||
|
:allow-clear="true"
|
||||||
|
style="width: 100%"
|
||||||
|
>
|
||||||
|
</a-select>
|
||||||
|
<!-- 常规 -->
|
||||||
<a-input-number
|
<a-input-number
|
||||||
v-if="item['type'] === 'int'"
|
v-else-if="item['type'] === 'int'"
|
||||||
v-model:value="modalState.from[item.name]['value']"
|
v-model:value="modalState.from[item.name]['value']"
|
||||||
:disabled="['read-only', 'read', 'ro'].includes(item.access)"
|
:disabled="['read-only', 'read', 'ro'].includes(item.access)"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
|
|||||||
Reference in New Issue
Block a user