Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
N
nse-ui
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
吴超
nse-ui
Commits
0edeea68
Commit
0edeea68
authored
Aug 23, 2025
by
wanglizhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
发现规则模块上传
parent
8e7087c8
全部展开
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
161 行增加
和
27 行删除
+161
-27
src/api/ruleConfig/dict/discover.js
+44
-0
src/api/ruleConfig/discover.js
+54
-0
src/components/collapseView/index.vue
+9
-5
src/views/ruleConfig/Discover/index.vue
+53
-17
src/views/ruleConfig/Discover/modules/AddDomain.vue
+1
-5
src/views/ruleConfig/Discover/modules/AddRules.vue
+0
-0
没有找到文件。
src/api/ruleConfig/dict/discover.js
0 → 100644
View file @
0edeea68
// 发现方式
export
const
discoverTypeList
=
[
{
label
:
"字段"
,
value
:
"1"
,
},
{
label
:
"数据"
,
value
:
"2"
,
},
]
// 发现规则类型
export
const
singleDiscoverRuleType
=
[
{
label
:
"正则表达式"
,
value
:
"01"
,
},
{
label
:
"自定义方法"
,
value
:
"04"
,
},
{
label
:
"字典发现"
,
value
:
"03"
,
},
]
// 匹配方式
export
const
matchingList
=
[
{
value
:
"001"
,
label
:
'等于'
},
{
value
:
"002"
,
label
:
'包含'
},
{
value
:
"003"
,
label
:
'左匹配'
},
{
value
:
"004"
,
label
:
'右匹配'
},
]
\ No newline at end of file
src/api/ruleConfig/discover.js
View file @
0edeea68
...
...
@@ -64,3 +64,56 @@ export function getDictinaryTypes(query) {
params
:
query
})
}
/**
* 发现规则 - 增加规则
* @param {*} data
* @returns
*/
export
function
addRule
(
data
)
{
return
request
({
url
:
'/core/searchregex/add'
,
method
:
'post'
,
data
:
data
})
}
/**
* 发现规则 - 删除规则
* @param {*} data
* @returns
*/
export
function
delRule
(
data
)
{
return
request
({
url
:
'/core/searchregex/del'
,
method
:
'post'
,
data
:
data
})
}
/**
* 发现规则 - 设置默认规则
* @param {*} data
* @returns
*/
export
function
setdefault
(
data
)
{
return
request
({
url
:
'/core/searchregex/setdefault'
,
method
:
'post'
,
data
:
data
})
}
/**
* 发现规则 - 设置测试
* @param {*} data
* @returns
*/
export
function
testRegex
(
data
)
{
return
request
({
url
:
'/core/searchregex/testRegex'
,
method
:
'post'
,
data
:
data
})
}
\ No newline at end of file
src/components/collapseView/index.vue
View file @
0edeea68
...
...
@@ -26,8 +26,12 @@ const mainDeletion = (item) => {
}
// 子级监听
const
itemClick
=
(
item
)
=>
{
emit
(
"change"
,
item
);
const
itemClick
=
(
item1
,
item2
)
=>
{
const
data
=
{
parentItem
:
item1
,
item
:
item2
}
emit
(
"change"
,
data
);
}
// 默认项
...
...
@@ -58,11 +62,11 @@ const childDelete = (item) => {
</span>
<template
#
content
>
<div>
<div
class=
"rule__item"
v-for=
"(itemTwo, i) in item.list"
:key=
"i"
@
click=
"itemClick(itemTwo)"
>
<div
class=
"rule__item"
v-for=
"(itemTwo, i) in item.list"
:key=
"i"
@
click=
"itemClick(item
,item
Two)"
>
<span>
{{
itemTwo
.
name
}}
</span>
<div
class=
"default"
></div>
<div
class=
"default"
v-if=
"itemTwo.defaulttype === '1'"
></div>
<div
class=
"rule__item__btns"
>
<el-icon
color=
"#2c9ef7"
:size=
"15"
v-if=
"itemTwo.isCheck"
@
click
.
stop=
"defaultClick(itemTwo)"
style=
"margin-right: 8px;"
>
<el-icon
color=
"#2c9ef7"
:size=
"15"
v-if=
"itemTwo.isCheck
&& itemTwo.defaulttype !== '1'
"
@
click
.
stop=
"defaultClick(itemTwo)"
style=
"margin-right: 8px;"
>
<circle-check
/>
</el-icon>
<el-icon
color=
"rgb(13, 215, 141)"
:size=
"15"
v-if=
"itemTwo.isDelete"
@
click
.
stop=
"childDelete(itemTwo)"
>
...
...
src/views/ruleConfig/Discover/index.vue
View file @
0edeea68
...
...
@@ -7,11 +7,10 @@ import AddDomain from './modules/AddDomain.vue' // 数据域表单
import
AddRules
from
'./modules/AddRules.vue'
// 发现规则表单
import
ModalPop
from
"@/components/EditPop/ModalPop.vue"
import
{
query
,
getDictinaryTypes
,
delDataArea
}
from
'@/api/ruleConfig/discover'
import
{
query
,
delDataArea
,
delRule
,
setdefault
}
from
'@/api/ruleConfig/discover'
const
splitNum
=
ref
(
0.31
)
// 左右分割比例
const
collapseList
=
ref
([])
// 数据域数据
const
dictinaryTypeList
=
ref
([])
// 字典分类数据
const
data
=
reactive
({
domainForm
:
{
...
...
@@ -66,8 +65,9 @@ const getCollapse = () => {
isDelete
:
true
,
}
})
if
(
collapseList
.
value
.
length
<
0
)
return
if
(
collapseList
.
value
.
length
<
0
)
return
domainForm
.
value
=
collapseList
.
value
[
0
]
rightType
.
value
=
'domain'
})
}
...
...
@@ -85,8 +85,13 @@ const addDomainClick = () => {
}
// 新增发现规则
const
collapseAdd
=
()
=>
{
console
.
log
(
'新增发现规则'
)
const
collapseAdd
=
(
item
)
=>
{
console
.
log
(
'新增发现规则'
,
item
)
const
{
id
,
dataarea
}
=
item
rulesForm
.
value
=
{
dataarea_id
:
id
,
type
:
dataarea
}
modalPopData
.
title
=
'新增发现规则'
modalPopData
.
type
=
'rules'
modalPopData
.
show
=
true
...
...
@@ -95,6 +100,7 @@ const collapseAdd = () => {
// 删除发现规则
const
collapseDelete
=
(
item
)
=>
{
console
.
log
(
'删除发现规则'
,
item
)
delData
.
value
=
item
modalData
.
type
=
'rules'
modalData
.
cancel
=
true
modalData
.
icon
=
'error'
...
...
@@ -132,8 +138,35 @@ const modalConfirm = () => {
})
}
else
if
(
modalData
.
type
===
'rules'
)
{
console
.
log
(
'删除发现规则确认'
)
const
data
=
{
ruleid
:
delData
.
value
.
ruleid
,
rulename
:
delData
.
value
.
name
,
tid
:
delData
.
value
.
tid
}
delRule
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
if
(
flag
)
{
ElMessage
.
success
(
'删除成功'
)
getCollapse
()
}
else
{
ElMessage
.
error
(
'删除失败'
)
}
})
}
else
if
(
modalData
.
type
===
'default'
)
{
console
.
log
(
'设置默认项'
)
const
data
=
{
ruleid
:
delData
.
value
.
ruleid
,
rulename
:
delData
.
value
.
name
,
}
setdefault
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
if
(
flag
)
{
ElMessage
.
success
(
'设置成功'
)
getCollapse
()
}
else
{
ElMessage
.
error
(
'设置失败'
)
}
})
}
modalData
.
show
=
false
}
...
...
@@ -146,12 +179,20 @@ const viewClick = (item) => {
// 规则点击监听
const
collapseChange
=
(
item
)
=>
{
rulesForm
.
value
=
item
const
{
id
,
dataarea
}
=
item
.
parentItem
rulesForm
.
value
=
{
...
item
.
item
,
...{
dataarea_id
:
id
,
type
:
dataarea
}
}
rightType
.
value
=
'rules'
}
// 发现规则设置默认项
const
collapseDefault
=
(
item
)
=>
{
delData
.
value
=
item
modalData
.
type
=
'default'
modalData
.
cancel
=
false
modalData
.
icon
=
'error'
...
...
@@ -166,20 +207,13 @@ const AddFormConfirm = (item) => {
getCollapse
()
}
else
if
(
modalPopData
.
type
===
'rules'
)
{
console
.
log
(
'新增发现规则确认'
,
item
)
getCollapse
()
}
modalPopData
.
show
=
false
}
const
getDictionaryTypesFunc
=
()
=>
{
getDictinaryTypes
({}).
then
(
res
=>
{
const
{
data
}
=
res
dictinaryTypeList
.
value
=
data
})
}
onMounted
(()
=>
{
getCollapse
()
getDictionaryTypesFunc
()
})
</
script
>
...
...
@@ -193,8 +227,10 @@ onMounted(() => {
<div
class=
"app-container__body"
>
<Split
v-model=
"splitNum"
>
<
template
#
left
>
<div
class=
"demo-split-pane"
style=
"padding: 0 0 10px 0;width: 100%;overflow: auto;height: 100%;display: flex;flex-direction: column;"
>
<div
class=
"mb20"
style=
"padding-right: 38px;display: flex;align-items: center;justify-content: space-between;"
>
<div
class=
"demo-split-pane"
style=
"padding: 0 0 10px 0;width: 100%;overflow: auto;height: 100%;display: flex;flex-direction: column;"
>
<div
class=
"mb20"
style=
"padding-right: 38px;display: flex;align-items: center;justify-content: space-between;"
>
<el-input
class=
"mr20"
v-model=
"queryParams.rulename"
placeholder=
"数据域名称搜索"
>
<template
#
suffix
>
<el-icon
style=
"vertical-align: middle;cursor: pointer;"
@
click=
"getCollapse"
>
...
...
@@ -237,7 +273,7 @@ onMounted(() => {
<
template
#
content
>
<AddDomain
type=
"add"
@
cancel=
"modalPopCancel"
@
confirm=
"AddFormConfirm"
v-if=
"modalPopData.type === 'domain'"
/>
<AddRules
type=
"add"
@
cancel=
"modalPopCancel"
@
confirm=
"AddFormConfirm"
<AddRules
type=
"add"
:itemData=
"rulesForm"
@
cancel=
"modalPopCancel"
@
confirm=
"AddFormConfirm"
v-if=
"modalPopData.type === 'rules'"
/>
</
template
>
</ModalPop>
...
...
src/views/ruleConfig/Discover/modules/AddDomain.vue
View file @
0edeea68
...
...
@@ -27,7 +27,6 @@ const data = reactive({
});
const
{
form
,
rules
}
=
toRefs
(
data
);
const
readOnly
=
ref
(
true
);
const
formRef
=
ref
<
FormInstance
>
();
...
...
@@ -91,10 +90,7 @@ const addDataAreaFun = () => {
addDataArea
({
tCoreDataArea
:
tCoreDataArea
}).
then
(
res
=>
{
const
{
flag
}
=
res
if
(
flag
)
{
ElMessage
.
success
({
message
:
props
.
type
===
'add'
?
'新增成功'
:
'修改成功'
,
type
:
'success'
,
})
ElMessage
.
success
(
props
.
type
===
"add"
?
"新增成功"
:
"修改成功"
);
if
(
props
.
type
===
'edit'
)
{
readOnly
.
value
=
true
}
...
...
src/views/ruleConfig/Discover/modules/AddRules.vue
View file @
0edeea68
差异被折叠。
点击展开。
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论