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
0a79756d
Commit
0a79756d
authored
Aug 23, 2025
by
wanglizhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
知识库模块
parent
709d2046
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
336 行增加
和
69 行删除
+336
-69
src/api/ruleConfig/dictionary.js
+106
-0
src/views/ruleConfig/CalculationMethod/index.vue
+7
-4
src/views/ruleConfig/CalculationMethod/modules/formModule.vue
+3
-2
src/views/ruleConfig/Dictionary/index.vue
+0
-0
src/views/ruleConfig/Dictionary/modules/AddClass.vue
+97
-19
src/views/ruleConfig/Dictionary/modules/AddValue.vue
+93
-26
src/views/ruleConfig/Discover/index.vue
+16
-17
src/views/ruleConfig/Discover/modules/AddDomain.vue
+14
-1
没有找到文件。
src/api/ruleConfig/dictionary.js
0 → 100644
View file @
0a79756d
import
request
from
'@/utils/request'
/**
* 知识库 - 查询字典类型
* @param {*} query
* @returns
*/
export
function
dictinaryTypes
(
query
)
{
return
request
({
url
:
'/core/dictionary/getDictinaryTypes'
,
method
:
'get'
,
params
:
query
})
}
/**
* 知识库 - 查询table数据
* @param {*} data
* @returns
*/
export
function
query
(
data
)
{
return
request
({
url
:
'/core/dictionary/query'
,
method
:
'post'
,
data
:
data
})
}
/**
* 知识库 - 检测分类名称是否存在
* @param {*} query
* @returns
*/
export
function
checkNameExitType
(
query
)
{
return
request
({
url
:
'/core/dictionary/checkNameExitType'
,
method
:
'get'
,
params
:
query
})
}
/**
* 知识库 - 添加修改分类
* @param {*} data
* @returns
*/
export
function
addDictionaryType
(
data
)
{
return
request
({
url
:
'/core/dictionary/addDictionaryType'
,
method
:
'post'
,
data
:
data
})
}
/**
* 知识库 - 查询分类详情
* @param {*} data
* @returns
*/
export
function
initEditType
(
data
)
{
return
request
({
url
:
'/core/dictionary/initEditType'
,
method
:
'post'
,
data
:
data
})
}
/**
* 知识库 - 删除分类
* @param {*} data
* @returns
*/
export
function
delDictionaryType
(
data
)
{
return
request
({
url
:
'/core/dictionary/delDictionaryType'
,
method
:
'post'
,
data
:
data
})
}
/**
* 知识库 - 添加修改值
* @param {*} data
* @returns
*/
export
function
add
(
data
)
{
return
request
({
url
:
'/core/dictionary/add'
,
method
:
'post'
,
data
:
data
})
}
/**
* 知识库 - 删除值
* @param {*} data
* @returns
*/
export
function
delValue
(
data
)
{
return
request
({
url
:
'/core/dictionary/del'
,
method
:
'post'
,
data
:
data
})
}
src/views/ruleConfig/CalculationMethod/index.vue
View file @
0a79756d
...
...
@@ -89,16 +89,18 @@ const collapseAdd = (item) => {
// 删除事件
const
collapseDelete
=
(
item
)
=>
{
console
.
log
(
'删除事件'
,
item
)
const
{
name
}
=
item
delData
.
value
=
item
modalData
.
show
=
true
modalData
.
icon
=
'error'
modalData
.
text
=
'确认删除['
+
item
.
name
+
']?'
modalData
.
text
=
'确认删除['
+
name
+
']?'
}
// 删除回调
const
modalConfirm
=
()
=>
{
const
{
id
}
=
delData
.
value
const
data
=
{
relationid
:
delData
.
value
.
id
relationid
:
id
}
del
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
...
...
@@ -133,9 +135,10 @@ const getQueryenc = () => {
queryenc
({}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
encryptionList
.
value
=
data
.
map
((
item
)
=>
{
const
{
encryption_name
,
id
}
=
item
;
return
{
value
:
i
tem
.
i
d
,
label
:
item
.
encryption_name
,
value
:
id
,
label
:
encryption_name
,
};
});
});
...
...
src/views/ruleConfig/CalculationMethod/modules/formModule.vue
View file @
0a79756d
...
...
@@ -108,9 +108,10 @@ const getQuerysec = () => {
querysec
({
encryption_id
:
form
.
value
.
encryption_id
}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
secretkeyList
.
value
=
data
.
map
((
item
)
=>
{
const
{
id
,
secret_key_name
}
=
item
;
return
{
value
:
i
tem
.
i
d
,
label
:
item
.
secret_key_name
,
value
:
id
,
label
:
secret_key_name
,
};
});
});
...
...
src/views/ruleConfig/Dictionary/index.vue
View file @
0a79756d
差异被折叠。
点击展开。
src/views/ruleConfig/Dictionary/modules/AddClass.vue
View file @
0a79756d
<
script
setup
lang=
"ts"
name=
"AddClass"
>
import
{
onMounted
,
reactive
,
ref
,
toRefs
,
watch
}
from
"vue"
;
import
type
{
FormInstance
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
checkNameExitType
,
addDictionaryType
,
initEditType
}
from
'@/api/ruleConfig/dictionary'
const
props
=
defineProps
<
{
modelValue
:
boolean
;
itemData
:
boolean
;
type
:
string
;
}
>
();
const
emit
=
defineEmits
([
"
update:modelValue"
,
'cancel'
,
'confirm'
]);
const
emit
=
defineEmits
([
"
cancel"
,
"confirm"
]);
const
data
=
reactive
({
rules
:
{},
form
:
<
any
>
{
id
:
""
,
remark
:
""
,
typename
:
""
,
},
rules
:
{
typename
:
[
{
required
:
true
,
message
:
"请输入字典分类名称"
,
trigger
:
[
"blur"
],
},
],
},
});
const
{
rules
}
=
toRefs
(
data
);
const
{
form
,
rules
}
=
toRefs
(
data
);
const
formRef
=
ref
<
FormInstance
>
();
// 重置
const
reset
=
()
=>
{
form
.
value
=
{
id
:
""
,
remark
:
""
,
typename
:
""
,
};
};
// 取消
const
cancel
=
()
=>
{
if
(
props
.
type
===
'edit'
)
{
}
else
if
(
props
.
type
===
'add'
)
{
}
emit
(
'cancel'
)
}
const
cancel
=
()
=>
{
emit
(
"cancel"
);
};
const
confirm
=
()
=>
{
if
(
props
.
type
===
'edit'
)
{
formRef
.
value
?.
validate
((
valid
)
=>
{
if
(
valid
)
{
getcheckNameExitType
()
}
else
{
}
});
};
// 检验数据域名称
const
getcheckNameExitType
=
()
=>
{
const
data
=
{
typename
:
form
.
value
.
typename
}
emit
(
'confirm'
)
checkNameExitType
(
data
).
then
(
res
=>
{
const
{
flag
,
data
}
=
res
if
(
flag
)
{
addDictionaryTypeFun
()
}
})
}
// 添加数据域
const
addDictionaryTypeFun
=
()
=>
{
addDictionaryType
({
dictionaryType
:
form
.
value
}).
then
(
res
=>
{
const
{
flag
}
=
res
if
(
flag
)
{
ElMessage
.
success
(
props
.
type
===
"add"
?
"新增成功"
:
"修改成功"
);
emit
(
"confirm"
);
reset
()
}
})
}
const
getInitEditType
=
(
id
)
=>
{
initEditType
({
typeId
:
id
}).
then
(
res
=>
{
const
{
flag
,
data
}
=
res
const
{
tConsoleDictionarytype
}
=
data
const
{
id
,
remark
,
typename
}
=
tConsoleDictionarytype
if
(
flag
)
{
form
.
value
.
id
=
id
form
.
value
.
remark
=
remark
form
.
value
.
typename
=
typename
}
})
}
watch
(
()
=>
props
.
itemData
,
(
newVal
)
=>
{
if
(
props
.
type
===
"edit"
&&
props
.
itemData
)
{
const
{
id
}
=
JSON
.
parse
(
JSON
.
stringify
(
props
.
itemData
));
getInitEditType
(
id
)
}
},
{
deep
:
true
,
immediate
:
true
}
);
</
script
>
<
template
>
<div>
<el-form
ref=
"formRef"
:model=
"
modelValue
"
label-width=
"100px"
>
<el-form-item
label=
"字典分类"
required
>
<el-input
v-model=
"
modelValue.
name"
placeholder=
"请输入字典分类"
></el-input>
<el-form
ref=
"formRef"
:model=
"
form"
:rules=
"rules
"
label-width=
"100px"
>
<el-form-item
label=
"字典分类"
prop=
"typename"
required
>
<el-input
v-model=
"
form.type
name"
placeholder=
"请输入字典分类"
></el-input>
</el-form-item>
<el-form-item
label=
"备注"
>
<el-input
type=
"textarea"
v-model=
"modelValue.name"
placeholder=
"请输入备注"
rows=
"2"
maxlength=
"200"
show-word-limit
></el-input>
<el-input
type=
"textarea"
v-model=
"form.remark"
placeholder=
"请输入备注"
rows=
"2"
maxlength=
"200"
show-word-limit
></el-input>
</el-form-item>
</el-form>
<div
class=
"btn"
>
...
...
@@ -57,4 +129,9 @@ const confirm = () => {
display
:
flex
;
justify-content
:
center
;
}
:deep
(
.el-form-item__error
)
{
left
:
auto
;
right
:
30px
;
top
:
24%
;
}
</
style
>
\ No newline at end of file
src/views/ruleConfig/Dictionary/modules/AddValue.vue
View file @
0a79756d
<
script
setup
lang=
"ts"
name=
"AddValue"
>
import
{
onMounted
,
reactive
,
ref
,
toRefs
,
watch
}
from
"vue"
;
import
type
{
FormInstance
}
from
"element-plus"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
add
}
from
"@/api/ruleConfig/dictionary"
;
const
props
=
defineProps
<
{
modelValue
:
boolean
;
itemData
:
boolean
;
type
:
string
;
classDict
:
any
;
}
>
();
const
emit
=
defineEmits
([
"
update:modelValue"
,
'cancel'
,
'confirm'
]);
const
emit
=
defineEmits
([
"
cancel"
,
"confirm"
]);
const
data
=
reactive
({
rules
:
{},
form
:
<
any
>
{
id
:
null
,
name
:
""
,
parentid
:
""
,
parentvalue
:
""
,
typecode
:
""
,
typename
:
""
,
value
:
""
,
},
rules
:
{
value
:
[
{
required
:
true
,
message
:
"请输入值"
,
trigger
:
[
"blur"
],
},
],
},
});
const
{
rules
}
=
toRefs
(
data
);
const
{
form
,
rules
}
=
toRefs
(
data
);
const
formRef
=
ref
<
FormInstance
>
();
const
classDictList
=
ref
<
any
[]
>
([]);
// 重置
const
reset
=
()
=>
{
form
.
value
=
{
id
:
null
,
name
:
""
,
parentid
:
""
,
parentvalue
:
""
,
typecode
:
""
,
typename
:
""
,
value
:
""
,
};
};
// 取消
const
cancel
=
()
=>
{
if
(
props
.
type
===
'edit'
)
{
}
else
if
(
props
.
type
===
'add'
)
{
}
emit
(
'cancel'
)
}
emit
(
"cancel"
);
};
const
confirm
=
()
=>
{
if
(
props
.
type
===
'edit'
)
{
}
else
if
(
props
.
type
===
'add'
)
{
formRef
.
value
?.
validate
((
valid
)
=>
{
if
(
valid
)
{
addFunc
();
}
else
{
}
});
};
}
emit
(
'confirm'
)
}
// 添加数据域
const
addFunc
=
()
=>
{
add
({
dictionary
:
form
.
value
}).
then
((
res
)
=>
{
const
{
flag
}
=
res
;
if
(
flag
)
{
ElMessage
.
success
(
props
.
type
===
"add"
?
"新增成功"
:
"修改成功"
);
emit
(
"confirm"
);
reset
();
}
});
};
watch
(
()
=>
props
.
itemData
,
(
newVal
)
=>
{
if
(
props
.
itemData
)
{
const
data
=
JSON
.
parse
(
JSON
.
stringify
(
props
.
itemData
))
form
.
value
=
{...
form
.
value
,
...
data
}
}
},
{
deep
:
true
,
immediate
:
true
}
);
watch
(
()
=>
props
.
classDict
,
(
newVal
)
=>
{
classDictList
.
value
=
props
.
classDict
;
},
{
deep
:
true
,
immediate
:
true
}
);
</
script
>
<
template
>
<div>
<el-form
ref=
"formRef"
:model=
"
modelValue"
label-width=
"70px"
:disabled=
"readOnly
"
>
<el-form
ref=
"formRef"
:model=
"
form"
:rules=
"rules"
label-width=
"70px
"
>
<el-form-item
label=
"字典分类"
>
<el-select
v-model=
"
modelValue.name"
v-if=
"!readOnly
"
placeholder=
"请选择字典分类"
>
<el-option
v-for=
"item in
options"
:key=
"item.value"
:label=
"item.label
"
:value=
"item.value"
>
<el-select
v-model=
"
form.typecode
"
placeholder=
"请选择字典分类"
>
<el-option
v-for=
"item in
classDictList"
:key=
"item.value"
:label=
"item.text
"
:value=
"item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"值"
required
>
<el-input
v-model=
"
modelValue.nam
e"
placeholder=
"请输入值"
></el-input>
<el-form-item
label=
"值"
prop=
"value"
required
>
<el-input
v-model=
"
form.valu
e"
placeholder=
"请输入值"
></el-input>
</el-form-item>
<el-form-item
label=
"名称"
required
>
<el-input
v-model=
"
modelValue
.name"
placeholder=
"请输入名称"
></el-input>
<el-form-item
label=
"名称"
>
<el-input
v-model=
"
form
.name"
placeholder=
"请输入名称"
></el-input>
</el-form-item>
<el-form-item
label=
"父值"
required
>
<el-input
v-model=
"
modelValue.nam
e"
placeholder=
"请输入父值"
></el-input>
<el-form-item
label=
"父值"
>
<el-input
v-model=
"
form.parentvalu
e"
placeholder=
"请输入父值"
></el-input>
</el-form-item>
</el-form>
<div
class=
"btn"
>
...
...
@@ -68,4 +129,9 @@ const confirm = () => {
display
:
flex
;
justify-content
:
center
;
}
:deep
(
.el-form-item__error
)
{
left
:
auto
;
right
:
30px
;
top
:
24%
;
}
</
style
>
\ No newline at end of file
src/views/ruleConfig/Discover/index.vue
View file @
0a79756d
...
...
@@ -99,33 +99,33 @@ const collapseAdd = (item) => {
// 删除发现规则
const
collapseDelete
=
(
item
)
=>
{
cons
ole
.
log
(
'删除发现规则'
,
item
)
cons
t
{
name
}
=
item
delData
.
value
=
item
modalData
.
type
=
'rules'
modalData
.
cancel
=
true
modalData
.
icon
=
'error'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
item
.
name
+
']?'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
name
+
']?'
modalData
.
show
=
true
}
// 删除数据域
const
collapseMainDeletion
=
(
item
)
=>
{
cons
ole
.
log
(
'删除数据域事件'
,
item
)
cons
t
{
dataarea
}
=
item
delData
.
value
=
item
modalData
.
type
=
'domain'
modalData
.
cancel
=
false
modalData
.
icon
=
'error'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
item
.
dataarea
+
']?'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
dataarea
+
']?'
modalData
.
show
=
true
}
// 提示回调
const
modalConfirm
=
()
=>
{
if
(
modalData
.
type
===
'domain'
)
{
cons
ole
.
log
(
'删除数据域确认'
)
cons
t
{
id
,
dataarea
}
=
delData
.
value
const
data
=
{
areaid
:
delData
.
value
.
id
,
areaname
:
d
elData
.
value
.
d
ataarea
areaid
:
id
,
areaname
:
dataarea
}
delDataArea
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
...
...
@@ -137,11 +137,11 @@ const modalConfirm = () => {
}
})
}
else
if
(
modalData
.
type
===
'rules'
)
{
cons
ole
.
log
(
'删除发现规则确认'
)
cons
t
{
ruleid
,
name
,
tid
}
=
delData
.
value
const
data
=
{
ruleid
:
delData
.
value
.
ruleid
,
rulename
:
delData
.
value
.
name
,
tid
:
delData
.
value
.
tid
ruleid
:
ruleid
,
rulename
:
name
,
tid
:
tid
}
delRule
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
...
...
@@ -153,10 +153,10 @@ const modalConfirm = () => {
}
})
}
else
if
(
modalData
.
type
===
'default'
)
{
cons
ole
.
log
(
'设置默认项'
)
cons
t
{
ruleid
,
name
}
=
delData
.
value
const
data
=
{
ruleid
:
delData
.
value
.
ruleid
,
rulename
:
delData
.
value
.
name
,
ruleid
:
ruleid
,
rulename
:
name
,
}
setdefault
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
...
...
@@ -192,21 +192,20 @@ const collapseChange = (item) => {
// 发现规则设置默认项
const
collapseDefault
=
(
item
)
=>
{
const
{
name
}
=
item
delData
.
value
=
item
modalData
.
type
=
'default'
modalData
.
cancel
=
false
modalData
.
icon
=
'error'
modalData
.
text
=
'确定设置['
+
item
.
name
+
']为默认规则?'
modalData
.
text
=
'确定设置['
+
name
+
']为默认规则?'
modalData
.
show
=
true
}
// 新增确认
const
AddFormConfirm
=
(
item
)
=>
{
if
(
modalPopData
.
type
===
'domain'
)
{
console
.
log
(
'新增数据域确认'
,
item
)
getCollapse
()
}
else
if
(
modalPopData
.
type
===
'rules'
)
{
console
.
log
(
'新增发现规则确认'
,
item
)
getCollapse
()
}
modalPopData
.
show
=
false
...
...
src/views/ruleConfig/Discover/modules/AddDomain.vue
View file @
0a79756d
...
...
@@ -31,9 +31,16 @@ const readOnly = ref(true);
const
formRef
=
ref
<
FormInstance
>
();
watch
(
()
=>
[
props
.
type
,
props
.
itemData
]
,
()
=>
props
.
type
,
(
newVal
)
=>
{
readOnly
.
value
=
props
.
type
===
'edit'
?
true
:
false
;
},
{
deep
:
true
,
immediate
:
true
}
);
watch
(
()
=>
props
.
itemData
,
(
newVal
)
=>
{
if
(
props
.
type
===
'edit'
&&
props
.
itemData
)
{
form
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
props
.
itemData
))
}
...
...
@@ -127,4 +134,9 @@ const addDataAreaFun = () => {
display
:
flex
;
justify-content
:
center
;
}
:deep
(
.el-form-item__error
)
{
left
:
auto
;
right
:
30px
;
top
:
24%
;
}
</
style
>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论