diff --git a/snowy-admin-web/src/views/dev/dict/category/bizIndex.vue b/snowy-admin-web/src/views/dev/dict/category/bizIndex.vue
index 8bb02bbd..58c5d19e 100644
--- a/snowy-admin-web/src/views/dev/dict/category/bizIndex.vue
+++ b/snowy-admin-web/src/views/dev/dict/category/bizIndex.vue
@@ -31,7 +31,7 @@
-
+
+
+ {{ record.level }}
+ 子级
+
编辑
@@ -70,11 +74,13 @@
const columns = [
{
title: '字典名称',
- dataIndex: 'dictLabel'
+ dataIndex: 'dictLabel',
+ width: 350
},
{
title: '字典值',
- dataIndex: 'dictValue'
+ dataIndex: 'dictValue',
+ width: 350
},
{
title: '排序',
@@ -103,8 +109,27 @@
const loadData = (parameter) => {
loadTreeData()
parameter.category = 'BIZ'
- return dictApi.dictPage(Object.assign(parameter, searchFormState)).then((res) => {
- return res
+ return dictApi.dictPage(Object.assign(parameter, searchFormState)).then((data) => {
+ if (data.records) {
+ if (searchFormState.parentId) {
+ let dataArray = []
+ data.records.forEach((item) => {
+ const obj = data.records.find((f) => f.id === item.parentId)
+ if (!obj) {
+ dataArray.push(item)
+ }
+ })
+ if (dataArray.length === 1) {
+ data.records.forEach((item) => {
+ if (item.id === dataArray[0].id) {
+ item.level = '上级'
+ }
+ })
+ }
+ dataArray = []
+ }
+ }
+ return data
})
}
// 重置
@@ -127,8 +152,16 @@
const treeSelect = (selectedKeys) => {
if (selectedKeys && selectedKeys.length > 0) {
searchFormState.parentId = selectedKeys.toString()
+ if (!columns.find((f) => f.title === '层级')) {
+ columns.splice(2, 0, {
+ title: '层级',
+ dataIndex: 'level',
+ width: 100
+ })
+ }
} else {
delete searchFormState.parentId
+ columns.splice(2, 1)
}
table.value.refresh(true)
}
diff --git a/snowy-admin-web/src/views/dev/dict/category/frmIndex.vue b/snowy-admin-web/src/views/dev/dict/category/frmIndex.vue
index b62685d0..80eee097 100644
--- a/snowy-admin-web/src/views/dev/dict/category/frmIndex.vue
+++ b/snowy-admin-web/src/views/dev/dict/category/frmIndex.vue
@@ -31,7 +31,7 @@
-
+
-
- {{ $TOOL.dictTypeData('DICT_CATEGORY', record.category) }}
+
+ {{ record.level }}
+ 子级
编辑
@@ -66,14 +67,17 @@
import dictApi from '@/api/dev/dictApi'
import Form from './form.vue'
const { proxy } = getCurrentInstance()
+ let searchFormState = reactive({})
const columns = [
{
title: '字典名称',
- dataIndex: 'dictLabel'
+ dataIndex: 'dictLabel',
+ width: 350
},
{
title: '字典值',
- dataIndex: 'dictValue'
+ dataIndex: 'dictValue',
+ width: 350
},
{
title: '排序',
@@ -90,7 +94,6 @@
const table = ref(null)
const form = ref()
const searchFormRef = ref()
- let searchFormState = reactive({})
// 默认展开的节点
let defaultExpandedKeys = ref([])
const treeData = ref([])
@@ -102,8 +105,27 @@
const loadData = (parameter) => {
loadTreeData()
parameter.category = 'FRM'
- return dictApi.dictPage(Object.assign(parameter, searchFormState)).then((res) => {
- return res
+ return dictApi.dictPage(Object.assign(parameter, searchFormState)).then((data) => {
+ if (data.records) {
+ if (searchFormState.parentId) {
+ let dataArray = []
+ data.records.forEach((item) => {
+ const obj = data.records.find((f) => f.id === item.parentId)
+ if (!obj) {
+ dataArray.push(item)
+ }
+ })
+ if (dataArray.length === 1) {
+ data.records.forEach((item) => {
+ if (item.id === dataArray[0].id) {
+ item.level = '上级'
+ }
+ })
+ }
+ dataArray = []
+ }
+ }
+ return data
})
}
// 重置
@@ -126,8 +148,16 @@
const treeSelect = (selectedKeys) => {
if (selectedKeys && selectedKeys.length > 0) {
searchFormState.parentId = selectedKeys.toString()
+ if (!columns.find((f) => f.title === '层级')) {
+ columns.splice(2, 0, {
+ title: '层级',
+ dataIndex: 'level',
+ width: 100
+ })
+ }
} else {
delete searchFormState.parentId
+ columns.splice(2, 1)
}
table.value.refresh(true)
}
diff --git a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java
index 059ee9ae..bca9f044 100644
--- a/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java
+++ b/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/dict/service/impl/DevDictServiceImpl.java
@@ -63,7 +63,8 @@ public class DevDictServiceImpl extends ServiceImpl impl
queryWrapper.lambda().select(DevDict::getId, DevDict::getParentId, DevDict::getCategory, DevDict::getDictLabel,
DevDict::getDictValue, DevDict::getSortCode);
if (ObjectUtil.isNotEmpty(devDictPageParam.getParentId())) {
- queryWrapper.lambda().eq(DevDict::getParentId, devDictPageParam.getParentId());
+ queryWrapper.lambda().eq(DevDict::getParentId, devDictPageParam.getParentId())
+ .or().eq(DevDict::getId, devDictPageParam.getParentId());
}
if (ObjectUtil.isNotEmpty(devDictPageParam.getCategory())) {
queryWrapper.lambda().eq(DevDict::getCategory, devDictPageParam.getCategory());