diff --git a/Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj b/Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj index 0b9ad045..25c51ba5 100644 --- a/Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj +++ b/Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj @@ -17,7 +17,7 @@ - + @@ -36,10 +36,10 @@ - + - + diff --git a/Web/package.json b/Web/package.json index 868899fc..eb7c7206 100644 --- a/Web/package.json +++ b/Web/package.json @@ -2,7 +2,7 @@ "name": "admin.net.pro", "type": "module", "version": "2.4.33", - "lastBuildTime": "2024.08.16", + "lastBuildTime": "2024.08.19", "description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架", "author": "zuohuaijun", "license": "MIT", @@ -41,7 +41,7 @@ "js-table2excel": "^1.1.2", "jsplumb": "^2.15.6", "lodash-es": "^4.17.21", - "md-editor-v3": "^4.18.1", + "md-editor-v3": "^4.19.1", "mitt": "^3.0.1", "monaco-editor": "^0.50.0", "mqtt": "^4.3.8", @@ -64,7 +64,7 @@ "vue-demi": "0.14.6", "vue-draggable-plus": "^0.5.3", "vue-grid-layout": "3.0.0-beta1", - "vue-i18n": "^9.13.1", + "vue-i18n": "^9.14.0", "vue-json-pretty": "^2.4.0", "vue-plugin-hiprint": "0.0.57-beta28", "vue-router": "^4.4.3", diff --git a/Web/src/views/system/dict/index.vue b/Web/src/views/system/dict/index.vue index c8907361..25dc4c67 100644 --- a/Web/src/views/system/dict/index.vue +++ b/Web/src/views/system/dict/index.vue @@ -115,6 +115,9 @@ + + + @@ -140,7 +143,7 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue'; import { getAPI } from '/@/utils/axios-utils'; import { SysDictTypeApi, SysDictDataApi } from '/@/api-services/api'; -import { SysDictType, PageDictTypeInput, SysDictData, PageDictDataInput } from '/@/api-services/models'; +import { SysDictType, PageDictTypeInput, SysDictData, PageDictDataInput, UpdateDictDataInput } from '/@/api-services/models'; const xGridDictType = ref(); const xGridDictData = ref(); @@ -287,7 +290,7 @@ const optionsDictData = useVxeTable( { field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' }, { field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } }, { field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } }, - { title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } }, + { title: '操作', fixed: 'right', width: 120, showOverflow: true, slots: { default: 'row_buttons' } }, ], }, // vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档 @@ -344,6 +347,14 @@ const handleEditDictData = (row: any) => { editRefDictData.value?.openDialog(row); }; +// 打开复制字典值页面 +const openCopyDictData = (row: any) => { + state.title = '复制字典值'; + var copyRow = JSON.parse(JSON.stringify(row)) as UpdateDictDataInput; + copyRow.id = 0; + editRefDictData.value?.openDialog(copyRow); +}; + // 删除字典值 const handleDeleteDictData = (row: any) => { ElMessageBox.confirm(`确定删除字典值:【${row.value}】?`, '提示', { diff --git a/Web/src/views/system/menu/index.vue b/Web/src/views/system/menu/index.vue index 595bf3f5..6375aae5 100644 --- a/Web/src/views/system/menu/index.vue +++ b/Web/src/views/system/menu/index.vue @@ -62,12 +62,9 @@ @@ -88,7 +85,7 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue'; import { getAPI } from '/@/utils/axios-utils'; import { SysMenuApi } from '/@/api-services/api'; -import { SysMenu } from '/@/api-services/models'; +import { SysMenu, UpdateMenuInput } from '/@/api-services/models'; const xGrid = ref(); const editMenuRef = ref>(); @@ -117,7 +114,7 @@ const options = useVxeTable( { field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' }, { field: 'status', title: '状态', width: 100, showOverflow: 'tooltip', slots: { default: 'row_status' } }, { field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } }, - { title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } }, + { title: '操作', fixed: 'right', width: 210, showOverflow: true, slots: { default: 'row_buttons' } }, ], }, // vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档 @@ -170,6 +167,15 @@ const handleEdit = (row: any) => { editMenuRef.value?.openDialog(row); }; +// 打开复制页面 +const openCopyMenu = (row: any) => { + state.title = '复制菜单'; + var copyRow = JSON.parse(JSON.stringify(row)) as UpdateMenuInput; + copyRow.id = 0; + copyRow.title = ''; + editMenuRef.value?.openDialog(copyRow); +}; + // 删除当前行 const handleDelete = (row: any) => { ElMessageBox.confirm(`确定删除菜单:【${row.title}】?`, '提示', { diff --git a/Web/src/views/system/org/index.vue b/Web/src/views/system/org/index.vue index a1178058..b937d65d 100644 --- a/Web/src/views/system/org/index.vue +++ b/Web/src/views/system/org/index.vue @@ -61,12 +61,9 @@ @@ -91,7 +88,7 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue'; import { getAPI } from '/@/utils/axios-utils'; import { SysDictDataApi, SysOrgApi } from '/@/api-services'; -import { SysOrg } from '/@/api-services/models'; +import { SysOrg, UpdateOrgInput } from '/@/api-services/models'; const xGrid = ref(); const editOrgRef = ref>(); @@ -123,7 +120,7 @@ const options = useVxeTable( { field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' }, { field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } }, { field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } }, - { title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } }, + { title: '操作', fixed: 'right', width: 210, showOverflow: true, slots: { default: 'row_buttons' } }, ], }, // vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档 @@ -195,6 +192,15 @@ const handleEdit = (row: any) => { editOrgRef.value?.openDialog(row); }; +// 打开复制页面 +const openCopyOrg = (row: any) => { + state.title = '复制机构'; + var copyRow = JSON.parse(JSON.stringify(row)) as UpdateOrgInput; + copyRow.id = 0; + copyRow.name = ''; + editOrgRef.value?.openDialog(copyRow); +}; + // 删除 const handleDelete = (row: any) => { ElMessageBox.confirm(`确定删除机构:【${row.name}】?`, '提示', { diff --git a/Web/src/views/system/pos/index.vue b/Web/src/views/system/pos/index.vue index 0e32ba6c..fc000c57 100644 --- a/Web/src/views/system/pos/index.vue +++ b/Web/src/views/system/pos/index.vue @@ -45,12 +45,9 @@ @@ -71,7 +68,7 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue'; import { getAPI } from '/@/utils/axios-utils'; import { SysPosApi } from '/@/api-services/api'; -import { PagePosOutput, PagePosInput } from '/@/api-services/models'; +import { PagePosOutput, PagePosInput, UpdatePosInput } from '/@/api-services/models'; const xGrid = ref(); const editPosRef = ref>(); @@ -103,7 +100,7 @@ const options = useVxeTable( { field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' }, { field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } }, { field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } }, - { title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } }, + { title: '操作', fixed: 'right', width: 210, showOverflow: true, slots: { default: 'row_buttons' } }, ], }, // vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档 @@ -157,6 +154,15 @@ const handleEdit = (row: any) => { editPosRef.value?.openDialog(row); }; +// 打开复制页面 +const openCopyMenu = (row: any) => { + state.title = '复制职位'; + var copyRow = JSON.parse(JSON.stringify(row)) as UpdatePosInput; + copyRow.id = 0; + copyRow.name = ''; + editPosRef.value?.openDialog(copyRow); +}; + // 删除 const handleDelete = (row: any) => { ElMessageBox.confirm(`确定删除职位:【${row.name}】?`, '提示', { diff --git a/Web/src/views/system/user/index.vue b/Web/src/views/system/user/index.vue index 9ffa027e..ee3020da 100644 --- a/Web/src/views/system/user/index.vue +++ b/Web/src/views/system/user/index.vue @@ -80,6 +80,9 @@ + + + 重置密码 解除锁定 @@ -108,10 +111,10 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue'; import { getAPI } from '/@/utils/axios-utils'; import { SysUserApi, SysOrgApi } from '/@/api-services/api'; -import { SysOrg, PageTenantInput, UserOutput } from '/@/api-services/models'; +import { SysOrg, PageTenantInput, UserOutput, UpdateUserInput } from '/@/api-services/models'; const xGrid = ref(); -const treeRef = ref>(); +// const treeRef = ref>(); const editUserRef = ref>(); const state = reactive({ treeData: [] as Array, @@ -154,7 +157,7 @@ const options = useVxeTable( { field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } }, { field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' }, { field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } }, - { title: '操作', fixed: 'right', width: 280, showOverflow: true, slots: { default: 'row_buttons' } }, + { title: '操作', fixed: 'right', width: 300, showOverflow: true, slots: { default: 'row_buttons' } }, ], }, // vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档 @@ -222,6 +225,15 @@ const handleEdit = (row: any) => { editUserRef.value?.openDialog(row); }; +// 打开复制页面 +const openCopyMenu = (row: any) => { + state.title = '复制账号'; + var copyRow = JSON.parse(JSON.stringify(row)) as UpdateUserInput; + copyRow.id = 0; + copyRow.account = ''; + editUserRef.value?.openDialog(copyRow); +}; + // 删除 const handleDelete = (row: any) => { ElMessageBox.confirm(`确定删除账号:【${row.account}】?`, '提示', {