feat: 网元类型记录数据
This commit is contained in:
@@ -119,24 +119,23 @@ export async function delNeInfo(data: Record<string, any>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询网元详细
|
* 获取网元网元列表
|
||||||
* @param menuId 网元ID
|
|
||||||
* @returns object
|
* @returns object
|
||||||
*/
|
*/
|
||||||
export async function getNeType() {
|
export async function getNelistAll() {
|
||||||
// 发起请求
|
// 发起请求
|
||||||
const result = await request({
|
const result = await request({
|
||||||
url: `/databaseManagement/v1/select/omc_db/ne_info`,
|
url: `/databaseManagement/v1/elementType/omc_db/objectType/ne_info`,
|
||||||
method: 'get',
|
method: 'get',
|
||||||
params: {
|
params: {
|
||||||
SQL: `SELECT ne_type,ne_name,ne_id FROM ne_info WHERE status = 0`,
|
SQL: `SELECT ne_type,ne_name,ne_id,ip FROM ne_info WHERE status = 0`,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
// 解析数据
|
// 解析数据
|
||||||
if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) {
|
if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) {
|
||||||
let data = result.data.data[0];
|
let data = result.data.data[0];
|
||||||
return Object.assign(result, {
|
return Object.assign(result, {
|
||||||
data: parseObjLineToHump(data['ne_info'][0]),
|
data: parseObjLineToHump(data['ne_info']),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
59
src/store/modules/neinfo.ts
Normal file
59
src/store/modules/neinfo.ts
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
import { defineStore } from 'pinia';
|
||||||
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
|
import { getNelistAll } from '@/api/configManage/neManage';
|
||||||
|
import { parseDataToOptions } from '@/utils/parse-tree-utils';
|
||||||
|
|
||||||
|
/**网元信息类型 */
|
||||||
|
type NeInfo = {
|
||||||
|
/**网元列表 */
|
||||||
|
nelist: Record<string, any>[];
|
||||||
|
/**级联options树结构 */
|
||||||
|
neOtions: Record<string, any>[];
|
||||||
|
};
|
||||||
|
|
||||||
|
const useNeInfoStore = defineStore('neinfo', {
|
||||||
|
state: (): NeInfo => ({
|
||||||
|
nelist: [],
|
||||||
|
neOtions: [],
|
||||||
|
}),
|
||||||
|
getters: {
|
||||||
|
/**
|
||||||
|
* 获取级联options树结构
|
||||||
|
* @param state 内部属性不用传入
|
||||||
|
* @returns 级联options
|
||||||
|
*/
|
||||||
|
getNeOtions(state) {
|
||||||
|
return state.neOtions;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
// 刷新网元列表
|
||||||
|
async fnRefreshNelist() {
|
||||||
|
this.nelist = [];
|
||||||
|
const res = await this.fnNelist();
|
||||||
|
return res;
|
||||||
|
},
|
||||||
|
// 获取网元列表
|
||||||
|
async fnNelist() {
|
||||||
|
// 有数据不请求
|
||||||
|
if (this.nelist.length > 0) {
|
||||||
|
return { code: 1, data: this.nelist, msg: 'success' };
|
||||||
|
}
|
||||||
|
const res = await getNelistAll();
|
||||||
|
if (res.code === RESULT_CODE_SUCCESS && Array.isArray(res.data)) {
|
||||||
|
// 转级联数据
|
||||||
|
const options = parseDataToOptions(
|
||||||
|
res.data,
|
||||||
|
'neType',
|
||||||
|
'neName',
|
||||||
|
'neId'
|
||||||
|
);
|
||||||
|
|
||||||
|
this.neOtions = options;
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
export default useNeInfoStore;
|
||||||
@@ -186,3 +186,38 @@ export function parseTreeNodeKeys(
|
|||||||
}
|
}
|
||||||
return treeIds;
|
return treeIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 解析数据层级转级联options树结构
|
||||||
|
*
|
||||||
|
* @param data 数组数据
|
||||||
|
* @param fieldType 读取节点label字段 默认 'type'
|
||||||
|
* @param fieldLabel 读取节点label字段 默认 'name'
|
||||||
|
* @param fieldValue 读取节点value字段 默认 'value'
|
||||||
|
* @param fieldChildren 设置子节点字段 默认 'children'
|
||||||
|
* @returns 层级数组
|
||||||
|
*/
|
||||||
|
export function parseDataToOptions(
|
||||||
|
data: Record<string, any>[],
|
||||||
|
fieldType: string = 'type',
|
||||||
|
fieldLabel: string = 'label',
|
||||||
|
fieldValue: string = 'value',
|
||||||
|
fieldChildren: string = 'children'
|
||||||
|
) {
|
||||||
|
let options: Record<string, any>[] = [];
|
||||||
|
|
||||||
|
for (const v of data) {
|
||||||
|
let vType = v[fieldType];
|
||||||
|
let vLabel = v[fieldLabel];
|
||||||
|
let vValue = v[fieldValue];
|
||||||
|
const vData = { label: vLabel, value: vValue, ...v };
|
||||||
|
const item = options.find(i => i.value === vType);
|
||||||
|
if (item) {
|
||||||
|
item[fieldChildren].push(vData);
|
||||||
|
} else {
|
||||||
|
options.push({ label: vType, value: vType, [fieldChildren]: [vData] });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return options;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user