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 个修改的文件
包含
459 行增加
和
143 行删除
+459
-143
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
+123
-74
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) => {
...
@@ -89,16 +89,18 @@ const collapseAdd = (item) => {
// 删除事件
// 删除事件
const
collapseDelete
=
(
item
)
=>
{
const
collapseDelete
=
(
item
)
=>
{
console
.
log
(
'删除事件'
,
item
)
console
.
log
(
'删除事件'
,
item
)
const
{
name
}
=
item
delData
.
value
=
item
delData
.
value
=
item
modalData
.
show
=
true
modalData
.
show
=
true
modalData
.
icon
=
'error'
modalData
.
icon
=
'error'
modalData
.
text
=
'确认删除['
+
item
.
name
+
']?'
modalData
.
text
=
'确认删除['
+
name
+
']?'
}
}
// 删除回调
// 删除回调
const
modalConfirm
=
()
=>
{
const
modalConfirm
=
()
=>
{
const
{
id
}
=
delData
.
value
const
data
=
{
const
data
=
{
relationid
:
delData
.
value
.
id
relationid
:
id
}
}
del
(
data
).
then
(
res
=>
{
del
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
const
{
flag
}
=
res
...
@@ -133,9 +135,10 @@ const getQueryenc = () => {
...
@@ -133,9 +135,10 @@ const getQueryenc = () => {
queryenc
({}).
then
((
res
)
=>
{
queryenc
({}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
const
{
data
}
=
res
;
encryptionList
.
value
=
data
.
map
((
item
)
=>
{
encryptionList
.
value
=
data
.
map
((
item
)
=>
{
const
{
encryption_name
,
id
}
=
item
;
return
{
return
{
value
:
i
tem
.
i
d
,
value
:
id
,
label
:
item
.
encryption_name
,
label
:
encryption_name
,
};
};
});
});
});
});
...
...
src/views/ruleConfig/CalculationMethod/modules/formModule.vue
View file @
0a79756d
...
@@ -108,9 +108,10 @@ const getQuerysec = () => {
...
@@ -108,9 +108,10 @@ const getQuerysec = () => {
querysec
({
encryption_id
:
form
.
value
.
encryption_id
}).
then
((
res
)
=>
{
querysec
({
encryption_id
:
form
.
value
.
encryption_id
}).
then
((
res
)
=>
{
const
{
data
}
=
res
;
const
{
data
}
=
res
;
secretkeyList
.
value
=
data
.
map
((
item
)
=>
{
secretkeyList
.
value
=
data
.
map
((
item
)
=>
{
const
{
id
,
secret_key_name
}
=
item
;
return
{
return
{
value
:
i
tem
.
i
d
,
value
:
id
,
label
:
item
.
secret_key_name
,
label
:
secret_key_name
,
};
};
});
});
});
});
...
...
src/views/ruleConfig/Dictionary/index.vue
View file @
0a79756d
<
script
setup
name=
"Dictionary"
>
<
script
setup
name=
"Dictionary"
>
import
{
onMounted
,
ref
,
toRefs
}
from
'vue'
import
{
onMounted
,
ref
,
toRefs
}
from
'vue'
import
{
Split
}
from
'view-ui-plus'
;
import
{
Split
}
from
'view-ui-plus'
;
import
{
ElMessage
}
from
"element-plus"
;
import
ModalPop
from
"@/components/EditPop/ModalPop.vue"
import
ModalPop
from
"@/components/EditPop/ModalPop.vue"
import
AddClass
from
'./modules/AddClass.vue'
// 分类
import
AddClass
from
'./modules/AddClass.vue'
// 分类
import
AddValue
from
'./modules/AddValue.vue'
// 值
import
AddValue
from
'./modules/AddValue.vue'
// 值
import
uploadModule
from
'./modules/uploadModule.vue'
// 上传模块
import
uploadModule
from
'./modules/uploadModule.vue'
// 上传模块
import
{
dictinaryTypes
,
query
,
delDictionaryType
,
delValue
}
from
'@/api/ruleConfig/dictionary'
const
splitNum
=
ref
(
0.31
)
// 左右分割比例
const
splitNum
=
ref
(
0.31
)
// 左右分割比例
const
data
=
reactive
({
const
data
=
reactive
({
queryParams
:
{
queryParams
:
{
pageNum
:
1
,
pageno
:
1
,
pageSize
:
10
,
pagesize
:
10
,
},
typecode
:
''
,
addClassForm
:
{
typename
:
''
,
name
:
""
,
value
:
''
,
parvalue
:
''
},
},
add
ValueForm
:
{
add
ClassForm
:
{},
name
:
""
,
addValueForm
:
{}
,
}
delData
:
{
}
});
});
const
{
addClassForm
,
addValueForm
,
queryParams
}
=
toRefs
(
data
);
const
{
addClassForm
,
addValueForm
,
queryParams
,
delData
}
=
toRefs
(
data
);
const
total
=
ref
(
4
)
const
classList
=
ref
([]
)
const
modalData
=
reactive
({
const
modalData
=
reactive
({
show
:
false
,
show
:
false
,
text
:
''
,
text
:
''
,
...
@@ -40,28 +44,10 @@ const modalPopData = reactive({
...
@@ -40,28 +44,10 @@ const modalPopData = reactive({
operation
:
''
operation
:
''
})
})
const
tableData
=
ref
([
const
tableData
=
reactive
({
{
list
:
[],
date
:
'2016-05-02'
,
total
:
0
name
:
'王小虎'
,
})
address
:
'上海市普陀区金沙江路 1518 弄'
,
},
{
date
:
'2016-05-04'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1517 弄'
,
},
{
date
:
'2016-05-01'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1519 弄'
,
},
{
date
:
'2016-05-03'
,
name
:
'王小虎'
,
address
:
'上海市普陀区金沙江路 1516 弄'
,
},
])
// 新增关闭
// 新增关闭
...
@@ -72,9 +58,8 @@ const modalPopCancel = () => {
...
@@ -72,9 +58,8 @@ const modalPopCancel = () => {
// 新增/编辑 分类
// 新增/编辑 分类
const
addClassClick
=
(
type
,
item
)
=>
{
const
addClassClick
=
(
type
,
item
)
=>
{
modalPopData
.
operation
=
type
modalPopData
.
operation
=
type
if
(
modalPopData
.
operation
===
'add'
)
{
if
(
modalPopData
.
operation
===
'edit'
)
{
addClassForm
.
value
=
{}
addClassForm
.
value
=
item
}
else
if
(
modalPopData
.
operation
===
'edit'
)
{
}
}
modalPopData
.
title
=
'字典分类'
modalPopData
.
title
=
'字典分类'
modalPopData
.
type
=
'class'
modalPopData
.
type
=
'class'
...
@@ -85,8 +70,11 @@ const addClassClick = (type, item) => {
...
@@ -85,8 +70,11 @@ const addClassClick = (type, item) => {
const
addValueClick
=
(
type
,
item
)
=>
{
const
addValueClick
=
(
type
,
item
)
=>
{
modalPopData
.
operation
=
type
modalPopData
.
operation
=
type
if
(
modalPopData
.
operation
===
'add'
)
{
if
(
modalPopData
.
operation
===
'add'
)
{
addValueForm
.
value
=
{}
addValueForm
.
value
=
{
typecode
:
queryParams
.
value
.
typecode
,
}
}
else
if
(
modalPopData
.
operation
===
'edit'
)
{
}
else
if
(
modalPopData
.
operation
===
'edit'
)
{
addValueForm
.
value
=
item
}
}
modalPopData
.
title
=
'字典数据'
modalPopData
.
title
=
'字典数据'
modalPopData
.
type
=
'value'
modalPopData
.
type
=
'value'
...
@@ -95,45 +83,81 @@ const addValueClick = (type, item) => {
...
@@ -95,45 +83,81 @@ const addValueClick = (type, item) => {
// 删除值
// 删除值
const
valueDelete
=
(
item
)
=>
{
const
valueDelete
=
(
item
)
=>
{
console
.
log
(
'删除值'
,
item
)
const
{
value
}
=
item
delData
.
value
=
item
modalData
.
type
=
'value'
modalData
.
type
=
'value'
modalData
.
icon
=
'error'
modalData
.
icon
=
'error'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
item
.
nam
e
+
']?'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
valu
e
+
']?'
modalData
.
show
=
true
modalData
.
show
=
true
}
}
// 删除分类
// 删除分类
const
classDelete
=
(
item
)
=>
{
const
classDelete
=
(
item
)
=>
{
console
.
log
(
'删除分类事件'
,
item
)
const
{
value
}
=
item
delData
.
value
=
item
modalData
.
type
=
'class'
modalData
.
type
=
'class'
modalData
.
icon
=
'error'
modalData
.
icon
=
'error'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
item
.
nam
e
+
']?'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
valu
e
+
']?'
modalData
.
show
=
true
modalData
.
show
=
true
}
}
// 提示回调
// 提示回调
const
modalConfirm
=
()
=>
{
const
modalConfirm
=
()
=>
{
if
(
modalData
.
type
===
'class'
)
{
if
(
modalData
.
type
===
'class'
)
{
console
.
log
(
'删除分类确认'
)
const
{
value
,
text
}
=
delData
.
value
const
data
=
{
dictionaryTypeCode
:
value
,
dictionaryTypeName
:
text
}
delDictionaryType
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
if
(
flag
)
{
ElMessage
.
success
(
'删除成功'
)
}
else
{
ElMessage
.
error
(
'删除失败'
)
}
if
(
value
===
queryParams
.
value
.
typecode
)
{
getData
()
}
else
{
getData
(
'class'
)
}
})
}
else
if
(
modalData
.
type
===
'value'
)
{
}
else
if
(
modalData
.
type
===
'value'
)
{
console
.
log
(
'删除值确认'
)
const
{
id
,
name
}
=
delData
.
value
const
data
=
{
dicId
:
id
,
dicName
:
name
}
delValue
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
if
(
flag
)
{
ElMessage
.
success
(
'删除成功'
)
}
else
{
ElMessage
.
error
(
'删除失败'
)
}
getTableData
()
})
}
}
modalData
.
show
=
false
modalData
.
show
=
false
}
}
// 分类查看
// 分类查看
const
classView
=
(
item
)
=>
{
const
classView
=
(
item
)
=>
{
// editDomainForm.value = item
if
(
queryParams
.
value
.
typecode
===
item
.
value
)
return
queryParams
.
value
.
typecode
=
item
.
value
queryParams
.
value
.
typename
=
item
.
text
getTableData
()
}
}
// 新增确认
// 新增确认
const
AddDomainConfirm
=
(
item
)
=>
{
const
AddDomainConfirm
=
(
item
)
=>
{
if
(
modalPopData
.
type
===
'class'
)
{
if
(
modalPopData
.
type
===
'class'
)
{
console
.
log
(
'新增分类确认'
,
item
)
getData
(
'class'
)
}
else
if
(
modalPopData
.
type
===
'value'
)
{
}
else
if
(
modalPopData
.
type
===
'value'
)
{
console
.
log
(
'新增值确认'
,
item
)
getTableData
(
)
}
else
if
(
modalPopData
.
type
===
'upload'
)
{
}
else
if
(
modalPopData
.
type
===
'upload'
)
{
console
.
log
(
'导入'
,
item
)
console
.
log
(
'导入'
,
item
)
getTableData
()
}
}
modalPopData
.
show
=
false
modalPopData
.
show
=
false
}
}
...
@@ -145,13 +169,39 @@ const importClick = () => {
...
@@ -145,13 +169,39 @@ const importClick = () => {
modalPopData
.
show
=
true
modalPopData
.
show
=
true
}
}
// 获取分类名称
const
getClassName
=
(
value
)
=>
{
const
item
=
classList
.
value
.
find
(
item
=>
item
.
value
===
value
)
return
item
?
item
.
text
:
''
}
// 获取列表数据
// 获取列表数据
const
getList
=
()
=>
{
const
getData
=
(
type
)
=>
{
dictinaryTypes
({}).
then
(
res
=>
{
const
{
data
}
=
res
;
classList
.
value
=
data
if
(
classList
.
value
.
length
<=
0
)
return
if
(
type
===
'class'
)
{
getTableData
()
}
else
{
queryParams
.
value
.
typecode
=
classList
.
value
[
0
].
value
queryParams
.
value
.
typename
=
classList
.
value
[
0
].
text
getTableData
()
}
})
}
// 获取列表table数据
const
getTableData
=
()
=>
{
query
(
queryParams
.
value
).
then
(
res
=>
{
const
{
data
}
=
res
;
tableData
.
list
=
data
.
list
tableData
.
total
=
data
.
total
})
}
}
onMounted
(()
=>
{
onMounted
(()
=>
{
getData
()
})
})
</
script
>
</
script
>
...
@@ -171,13 +221,14 @@ onMounted(() => {
...
@@ -171,13 +221,14 @@ onMounted(() => {
</div>
</div>
<div
style=
"width: 100%;flex: 1;overflow: auto;"
>
<div
style=
"width: 100%;flex: 1;overflow: auto;"
>
<el-scrollbar>
<el-scrollbar>
<div
class=
"left_item"
@
click=
"classView"
>
<div
class=
"left_item"
:class=
"queryParams.typecode === item.value ? 'active' : ''"
<span>
单姓1(1)
</span>
v-for=
"(item, index) in classList"
:key=
"index"
@
click=
"classView(item)"
>
<span>
{{
item
.
text
}}
(
{{
item
.
value
}}
)
</span>
<div
class=
"left_item_btn"
>
<div
class=
"left_item_btn"
>
<el-icon
:size=
"16"
@
click
.
stop=
"addClassClick('edit')"
>
<el-icon
:size=
"16"
@
click
.
stop=
"addClassClick('edit'
, item
)"
>
<edit
/>
<edit
/>
</el-icon>
</el-icon>
<el-icon
:size=
"16"
style=
"margin-left: 10px;"
@
click
.
stop=
"classDelete"
>
<el-icon
:size=
"16"
style=
"margin-left: 10px;"
@
click
.
stop=
"classDelete
(item)
"
>
<delete
/>
<delete
/>
</el-icon>
</el-icon>
</div>
</div>
...
@@ -190,9 +241,9 @@ onMounted(() => {
...
@@ -190,9 +241,9 @@ onMounted(() => {
<div
class=
"right"
>
<div
class=
"right"
>
<div
style=
"display: flex;justify-content: space-between;"
>
<div
style=
"display: flex;justify-content: space-between;"
>
<el-form-item
label=
"值:"
>
<el-form-item
label=
"值:"
>
<el-input
placeholder=
""
v-model=
"
input3
"
class=
"input-with-select"
>
<el-input
placeholder=
""
v-model=
"
queryParams.value
"
class=
"input-with-select"
>
<template
#
append
>
<template
#
append
>
<el-button
icon=
"Search"
></el-button>
<el-button
icon=
"Search"
@
click=
"getTableData"
></el-button>
</
template
>
</
template
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
...
@@ -202,28 +253,26 @@ onMounted(() => {
...
@@ -202,28 +253,26 @@ onMounted(() => {
<el-button
icon=
"Plus"
type=
"primary"
@
click=
"addValueClick('add')"
>
新增值
</el-button>
<el-button
icon=
"Plus"
type=
"primary"
@
click=
"addValueClick('add')"
>
新增值
</el-button>
</div>
</div>
</div>
</div>
<el-table
:data=
"tableData"
stripe
style=
"width: 100%;flex:1;"
>
<el-table
:data=
"tableData.list"
stripe
style=
"width: 100%;flex:1;"
>
<el-table-column
prop=
"date"
label=
"分类"
align=
"center"
></el-table-column>
<el-table-column
prop=
"date"
label=
"分类"
align=
"center"
>
<el-table-column
prop=
"name"
label=
"分类编码"
align=
"center"
></el-table-column>
<
template
#
default=
"scope"
>
<el-table-column
prop=
"address"
label=
"值"
align=
"center"
></el-table-column>
{{
getClassName
(
scope
.
row
.
typecode
)
}}
<el-table-column
prop=
"address"
label=
"名称"
align=
"center"
></el-table-column>
</
template
>
<el-table-column
prop=
"address"
label=
"父值"
align=
"center"
></el-table-column>
</el-table-column>
<el-table-column
prop=
"typecode"
label=
"分类编码"
align=
"center"
></el-table-column>
<el-table-column
prop=
"value"
label=
"值"
align=
"center"
></el-table-column>
<el-table-column
prop=
"name"
label=
"名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"parentvalue"
label=
"父值"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
>
<el-table-column
label=
"操作"
align=
"center"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<el-button
type=
"primary"
link
@
click=
"addValueClick('edit')"
>
编辑
</el-button>
<el-button
type=
"primary"
link
@
click=
"addValueClick('edit'
,scope.row
)"
>
编辑
</el-button>
<el-divider
direction=
"vertical"
></el-divider>
<el-divider
direction=
"vertical"
></el-divider>
<el-button
type=
"danger"
link
@
click=
"valueDelete"
>
删除
</el-button>
<el-button
type=
"danger"
link
@
click=
"valueDelete
(scope.row)
"
>
删除
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<pagination
<pagination
v-show=
"tableData.total>0"
:total=
"tableData.total"
:isTextShow=
"true"
v-show=
"total>0"
v-model:page=
"queryParams.pageno"
v-model:limit=
"queryParams.pagesize"
@
pagination=
"getTableData"
/>
:total=
"total"
:isTextShow=
"true"
v-model:page=
"queryParams.pageNum"
v-model:limit=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</div>
</div>
</template>
</template>
</Split>
</Split>
...
@@ -236,10 +285,10 @@ onMounted(() => {
...
@@ -236,10 +285,10 @@ onMounted(() => {
<!-- 新增分类 / 新增值 -->
<!-- 新增分类 / 新增值 -->
<ModalPop
:width=
"'600'"
v-model=
"modalPopData.show"
:title=
"modalPopData.title"
@
cancel=
"modalPopCancel"
>
<ModalPop
:width=
"'600'"
v-model=
"modalPopData.show"
:title=
"modalPopData.title"
@
cancel=
"modalPopCancel"
>
<
template
#
content
>
<
template
#
content
>
<AddClass
v-model=
"addClassForm"
:type=
"modalPopData.operation"
@
cancel=
"modalPopCancel"
@
confirm=
"AddDomainConfirm
"
<AddClass
:itemData=
"addClassForm"
:type=
"modalPopData.operation"
@
cancel=
"modalPopCancel
"
v-if=
"modalPopData.type === 'class'"
/>
@
confirm=
"AddDomainConfirm"
v-if=
"modalPopData.type === 'class'"
/>
<AddValue
v-model=
"addValueForm"
:type=
"modalPopData.operation"
@
cancel=
"modalPopCancel"
@
confirm=
"AddDomainConfirm
"
<AddValue
:itemData=
"addValueForm"
:type=
"modalPopData.operation"
:classDict=
"classList"
@
cancel=
"modalPopCancel
"
v-if=
"modalPopData.type === 'value'"
/>
@
confirm=
"AddDomainConfirm"
v-if=
"modalPopData.type === 'value'"
/>
<uploadModule
@
cancel=
"modalPopCancel"
@
confirm=
"AddDomainConfirm"
v-if=
"modalPopData.type === 'upload'"
/>
<uploadModule
@
cancel=
"modalPopCancel"
@
confirm=
"AddDomainConfirm"
v-if=
"modalPopData.type === 'upload'"
/>
</
template
>
</
template
>
</ModalPop>
</ModalPop>
...
@@ -294,7 +343,7 @@ onMounted(() => {
...
@@ -294,7 +343,7 @@ onMounted(() => {
height
:
100%
;
height
:
100%
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
:deep(.el-table
.el-table__header-wrapper
th){
:deep(.el-table
.el-table__header-wrapper
th)
{
background-color
:
#e9f5fe
!important
;
background-color
:
#e9f5fe
!important
;
color
:
#2c9ef7
;
color
:
#2c9ef7
;
}
}
...
...
src/views/ruleConfig/Dictionary/modules/AddClass.vue
View file @
0a79756d
<
script
setup
lang=
"ts"
name=
"AddClass"
>
<
script
setup
lang=
"ts"
name=
"AddClass"
>
import
{
onMounted
,
reactive
,
ref
,
toRefs
,
watch
}
from
"vue"
;
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
<
{
const
props
=
defineProps
<
{
modelValue
:
boolean
;
itemData
:
boolean
;
type
:
string
;
type
:
string
;
}
>
();
}
>
();
const
emit
=
defineEmits
([
"
update:modelValue"
,
'cancel'
,
'confirm'
]);
const
emit
=
defineEmits
([
"
cancel"
,
"confirm"
]);
const
data
=
reactive
({
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
=
()
=>
{
const
cancel
=
()
=>
{
if
(
props
.
type
===
'edit'
)
{
emit
(
"cancel"
);
};
}
else
if
(
props
.
type
===
'add'
)
{
}
emit
(
'cancel'
)
}
const
confirm
=
()
=>
{
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
>
</
script
>
<
template
>
<
template
>
<div>
<div>
<el-form
ref=
"formRef"
:model=
"
modelValue
"
label-width=
"100px"
>
<el-form
ref=
"formRef"
:model=
"
form"
:rules=
"rules
"
label-width=
"100px"
>
<el-form-item
label=
"字典分类"
required
>
<el-form-item
label=
"字典分类"
prop=
"typename"
required
>
<el-input
v-model=
"
modelValue.
name"
placeholder=
"请输入字典分类"
></el-input>
<el-input
v-model=
"
form.type
name"
placeholder=
"请输入字典分类"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注"
>
<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-item>
</el-form>
</el-form>
<div
class=
"btn"
>
<div
class=
"btn"
>
...
@@ -57,4 +129,9 @@ const confirm = () => {
...
@@ -57,4 +129,9 @@ const confirm = () => {
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
}
}
:deep
(
.el-form-item__error
)
{
left
:
auto
;
right
:
30px
;
top
:
24%
;
}
</
style
>
</
style
>
\ No newline at end of file
src/views/ruleConfig/Dictionary/modules/AddValue.vue
View file @
0a79756d
<
script
setup
lang=
"ts"
name=
"AddValue"
>
<
script
setup
lang=
"ts"
name=
"AddValue"
>
import
{
onMounted
,
reactive
,
ref
,
toRefs
,
watch
}
from
"vue"
;
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
<
{
const
props
=
defineProps
<
{
modelValue
:
boolean
;
itemData
:
boolean
;
type
:
string
;
type
:
string
;
classDict
:
any
;
}
>
();
}
>
();
const
emit
=
defineEmits
([
"
update:modelValue"
,
'cancel'
,
'confirm'
]);
const
emit
=
defineEmits
([
"
cancel"
,
"confirm"
]);
const
data
=
reactive
({
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
=
()
=>
{
const
cancel
=
()
=>
{
if
(
props
.
type
===
'edit'
)
{
emit
(
"cancel"
);
};
}
else
if
(
props
.
type
===
'add'
)
{
}
emit
(
'cancel'
)
}
const
confirm
=
()
=>
{
const
confirm
=
()
=>
{
if
(
props
.
type
===
'edit'
)
{
formRef
.
value
?.
validate
((
valid
)
=>
{
if
(
valid
)
{
}
else
if
(
props
.
type
===
'add'
)
{
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
>
</
script
>
<
template
>
<
template
>
<div>
<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-form-item
label=
"字典分类"
>
<el-select
v-model=
"
modelValue.name"
v-if=
"!readOnly
"
placeholder=
"请选择字典分类"
>
<el-select
v-model=
"
form.typecode
"
placeholder=
"请选择字典分类"
>
<el-option
v-for=
"item in
options"
:key=
"item.value"
:label=
"item.label
"
:value=
"item.value"
>
<el-option
v-for=
"item in
classDictList"
:key=
"item.value"
:label=
"item.text
"
:value=
"item.value"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"值"
required
>
<el-form-item
label=
"值"
prop=
"value"
required
>
<el-input
v-model=
"
modelValue.nam
e"
placeholder=
"请输入值"
></el-input>
<el-input
v-model=
"
form.valu
e"
placeholder=
"请输入值"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"名称"
required
>
<el-form-item
label=
"名称"
>
<el-input
v-model=
"
modelValue
.name"
placeholder=
"请输入名称"
></el-input>
<el-input
v-model=
"
form
.name"
placeholder=
"请输入名称"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"父值"
required
>
<el-form-item
label=
"父值"
>
<el-input
v-model=
"
modelValue.nam
e"
placeholder=
"请输入父值"
></el-input>
<el-input
v-model=
"
form.parentvalu
e"
placeholder=
"请输入父值"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"btn"
>
<div
class=
"btn"
>
...
@@ -68,4 +129,9 @@ const confirm = () => {
...
@@ -68,4 +129,9 @@ const confirm = () => {
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
}
}
:deep
(
.el-form-item__error
)
{
left
:
auto
;
right
:
30px
;
top
:
24%
;
}
</
style
>
</
style
>
\ No newline at end of file
src/views/ruleConfig/Discover/index.vue
View file @
0a79756d
...
@@ -99,33 +99,33 @@ const collapseAdd = (item) => {
...
@@ -99,33 +99,33 @@ const collapseAdd = (item) => {
// 删除发现规则
// 删除发现规则
const
collapseDelete
=
(
item
)
=>
{
const
collapseDelete
=
(
item
)
=>
{
cons
ole
.
log
(
'删除发现规则'
,
item
)
cons
t
{
name
}
=
item
delData
.
value
=
item
delData
.
value
=
item
modalData
.
type
=
'rules'
modalData
.
type
=
'rules'
modalData
.
cancel
=
true
modalData
.
cancel
=
true
modalData
.
icon
=
'error'
modalData
.
icon
=
'error'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
item
.
name
+
']?'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
name
+
']?'
modalData
.
show
=
true
modalData
.
show
=
true
}
}
// 删除数据域
// 删除数据域
const
collapseMainDeletion
=
(
item
)
=>
{
const
collapseMainDeletion
=
(
item
)
=>
{
cons
ole
.
log
(
'删除数据域事件'
,
item
)
cons
t
{
dataarea
}
=
item
delData
.
value
=
item
delData
.
value
=
item
modalData
.
type
=
'domain'
modalData
.
type
=
'domain'
modalData
.
cancel
=
false
modalData
.
cancel
=
false
modalData
.
icon
=
'error'
modalData
.
icon
=
'error'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
item
.
dataarea
+
']?'
modalData
.
text
=
'删除后无法恢复,是否确认删除['
+
dataarea
+
']?'
modalData
.
show
=
true
modalData
.
show
=
true
}
}
// 提示回调
// 提示回调
const
modalConfirm
=
()
=>
{
const
modalConfirm
=
()
=>
{
if
(
modalData
.
type
===
'domain'
)
{
if
(
modalData
.
type
===
'domain'
)
{
cons
ole
.
log
(
'删除数据域确认'
)
cons
t
{
id
,
dataarea
}
=
delData
.
value
const
data
=
{
const
data
=
{
areaid
:
delData
.
value
.
id
,
areaid
:
id
,
areaname
:
d
elData
.
value
.
d
ataarea
areaname
:
dataarea
}
}
delDataArea
(
data
).
then
(
res
=>
{
delDataArea
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
const
{
flag
}
=
res
...
@@ -137,11 +137,11 @@ const modalConfirm = () => {
...
@@ -137,11 +137,11 @@ const modalConfirm = () => {
}
}
})
})
}
else
if
(
modalData
.
type
===
'rules'
)
{
}
else
if
(
modalData
.
type
===
'rules'
)
{
cons
ole
.
log
(
'删除发现规则确认'
)
cons
t
{
ruleid
,
name
,
tid
}
=
delData
.
value
const
data
=
{
const
data
=
{
ruleid
:
delData
.
value
.
ruleid
,
ruleid
:
ruleid
,
rulename
:
delData
.
value
.
name
,
rulename
:
name
,
tid
:
delData
.
value
.
tid
tid
:
tid
}
}
delRule
(
data
).
then
(
res
=>
{
delRule
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
const
{
flag
}
=
res
...
@@ -153,10 +153,10 @@ const modalConfirm = () => {
...
@@ -153,10 +153,10 @@ const modalConfirm = () => {
}
}
})
})
}
else
if
(
modalData
.
type
===
'default'
)
{
}
else
if
(
modalData
.
type
===
'default'
)
{
cons
ole
.
log
(
'设置默认项'
)
cons
t
{
ruleid
,
name
}
=
delData
.
value
const
data
=
{
const
data
=
{
ruleid
:
delData
.
value
.
ruleid
,
ruleid
:
ruleid
,
rulename
:
delData
.
value
.
name
,
rulename
:
name
,
}
}
setdefault
(
data
).
then
(
res
=>
{
setdefault
(
data
).
then
(
res
=>
{
const
{
flag
}
=
res
const
{
flag
}
=
res
...
@@ -192,21 +192,20 @@ const collapseChange = (item) => {
...
@@ -192,21 +192,20 @@ const collapseChange = (item) => {
// 发现规则设置默认项
// 发现规则设置默认项
const
collapseDefault
=
(
item
)
=>
{
const
collapseDefault
=
(
item
)
=>
{
const
{
name
}
=
item
delData
.
value
=
item
delData
.
value
=
item
modalData
.
type
=
'default'
modalData
.
type
=
'default'
modalData
.
cancel
=
false
modalData
.
cancel
=
false
modalData
.
icon
=
'error'
modalData
.
icon
=
'error'
modalData
.
text
=
'确定设置['
+
item
.
name
+
']为默认规则?'
modalData
.
text
=
'确定设置['
+
name
+
']为默认规则?'
modalData
.
show
=
true
modalData
.
show
=
true
}
}
// 新增确认
// 新增确认
const
AddFormConfirm
=
(
item
)
=>
{
const
AddFormConfirm
=
(
item
)
=>
{
if
(
modalPopData
.
type
===
'domain'
)
{
if
(
modalPopData
.
type
===
'domain'
)
{
console
.
log
(
'新增数据域确认'
,
item
)
getCollapse
()
getCollapse
()
}
else
if
(
modalPopData
.
type
===
'rules'
)
{
}
else
if
(
modalPopData
.
type
===
'rules'
)
{
console
.
log
(
'新增发现规则确认'
,
item
)
getCollapse
()
getCollapse
()
}
}
modalPopData
.
show
=
false
modalPopData
.
show
=
false
...
...
src/views/ruleConfig/Discover/modules/AddDomain.vue
View file @
0a79756d
...
@@ -31,9 +31,16 @@ const readOnly = ref(true);
...
@@ -31,9 +31,16 @@ const readOnly = ref(true);
const
formRef
=
ref
<
FormInstance
>
();
const
formRef
=
ref
<
FormInstance
>
();
watch
(
watch
(
()
=>
[
props
.
type
,
props
.
itemData
]
,
()
=>
props
.
type
,
(
newVal
)
=>
{
(
newVal
)
=>
{
readOnly
.
value
=
props
.
type
===
'edit'
?
true
:
false
;
readOnly
.
value
=
props
.
type
===
'edit'
?
true
:
false
;
},
{
deep
:
true
,
immediate
:
true
}
);
watch
(
()
=>
props
.
itemData
,
(
newVal
)
=>
{
if
(
props
.
type
===
'edit'
&&
props
.
itemData
)
{
if
(
props
.
type
===
'edit'
&&
props
.
itemData
)
{
form
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
props
.
itemData
))
form
.
value
=
JSON
.
parse
(
JSON
.
stringify
(
props
.
itemData
))
}
}
...
@@ -127,4 +134,9 @@ const addDataAreaFun = () => {
...
@@ -127,4 +134,9 @@ const addDataAreaFun = () => {
display
:
flex
;
display
:
flex
;
justify-content
:
center
;
justify-content
:
center
;
}
}
:deep
(
.el-form-item__error
)
{
left
:
auto
;
right
:
30px
;
top
:
24%
;
}
</
style
>
</
style
>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论