😎增加账号、菜单、机构、职位、字典值复制功能
This commit is contained in:
parent
7525ea2fa0
commit
85d02a8997
@ -17,7 +17,7 @@
|
|||||||
<PackageReference Include="AngleSharp" Version="1.1.2" />
|
<PackageReference Include="AngleSharp" Version="1.1.2" />
|
||||||
<PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
|
<PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
|
||||||
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
|
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
|
||||||
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.15.1" />
|
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.15.2" />
|
||||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.5.4" />
|
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.5.4" />
|
||||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.5.4" />
|
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.5.4" />
|
||||||
<PackageReference Include="Furion.Pure" Version="4.9.5.4" />
|
<PackageReference Include="Furion.Pure" Version="4.9.5.4" />
|
||||||
@ -36,10 +36,10 @@
|
|||||||
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="2.88.8" />
|
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="2.88.8" />
|
||||||
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.5.0" />
|
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.5.0" />
|
||||||
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.7.0" />
|
<PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.7.0" />
|
||||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.166" />
|
<PackageReference Include="SqlSugarCore" Version="5.1.4.167" />
|
||||||
<PackageReference Include="SSH.NET" Version="2024.1.0" />
|
<PackageReference Include="SSH.NET" Version="2024.1.0" />
|
||||||
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.4" />
|
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.4" />
|
||||||
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1070" />
|
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1071" />
|
||||||
<PackageReference Include="UAParser" Version="3.1.47" />
|
<PackageReference Include="UAParser" Version="3.1.47" />
|
||||||
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
|
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"name": "admin.net.pro",
|
"name": "admin.net.pro",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "2.4.33",
|
"version": "2.4.33",
|
||||||
"lastBuildTime": "2024.08.16",
|
"lastBuildTime": "2024.08.19",
|
||||||
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
|
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
|
||||||
"author": "zuohuaijun",
|
"author": "zuohuaijun",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
@ -41,7 +41,7 @@
|
|||||||
"js-table2excel": "^1.1.2",
|
"js-table2excel": "^1.1.2",
|
||||||
"jsplumb": "^2.15.6",
|
"jsplumb": "^2.15.6",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"md-editor-v3": "^4.18.1",
|
"md-editor-v3": "^4.19.1",
|
||||||
"mitt": "^3.0.1",
|
"mitt": "^3.0.1",
|
||||||
"monaco-editor": "^0.50.0",
|
"monaco-editor": "^0.50.0",
|
||||||
"mqtt": "^4.3.8",
|
"mqtt": "^4.3.8",
|
||||||
@ -64,7 +64,7 @@
|
|||||||
"vue-demi": "0.14.6",
|
"vue-demi": "0.14.6",
|
||||||
"vue-draggable-plus": "^0.5.3",
|
"vue-draggable-plus": "^0.5.3",
|
||||||
"vue-grid-layout": "3.0.0-beta1",
|
"vue-grid-layout": "3.0.0-beta1",
|
||||||
"vue-i18n": "^9.13.1",
|
"vue-i18n": "^9.14.0",
|
||||||
"vue-json-pretty": "^2.4.0",
|
"vue-json-pretty": "^2.4.0",
|
||||||
"vue-plugin-hiprint": "0.0.57-beta28",
|
"vue-plugin-hiprint": "0.0.57-beta28",
|
||||||
"vue-router": "^4.4.3",
|
"vue-router": "^4.4.3",
|
||||||
|
|||||||
@ -115,6 +115,9 @@
|
|||||||
<el-tooltip content="删除" placement="top">
|
<el-tooltip content="删除" placement="top">
|
||||||
<el-button icon="ele-Delete" text type="danger" v-auth="'sysDictType/delete'" @click="handleDeleteDictData(row)"> </el-button>
|
<el-button icon="ele-Delete" text type="danger" v-auth="'sysDictType/delete'" @click="handleDeleteDictData(row)"> </el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
<el-tooltip content="复制">
|
||||||
|
<el-button icon="ele-CopyDocument" text type="primary" v-auth="'sysDictType/add'" @click="openCopyDictData(row)"> </el-button>
|
||||||
|
</el-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</vxe-grid>
|
</vxe-grid>
|
||||||
</el-card>
|
</el-card>
|
||||||
@ -140,7 +143,7 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
|||||||
|
|
||||||
import { getAPI } from '/@/utils/axios-utils';
|
import { getAPI } from '/@/utils/axios-utils';
|
||||||
import { SysDictTypeApi, SysDictDataApi } from '/@/api-services/api';
|
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<VxeGridInstance>();
|
const xGridDictType = ref<VxeGridInstance>();
|
||||||
const xGridDictData = ref<VxeGridInstance>();
|
const xGridDictData = ref<VxeGridInstance>();
|
||||||
@ -287,7 +290,7 @@ const optionsDictData = useVxeTable<SysDictData>(
|
|||||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
{ 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官方文档
|
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||||
@ -344,6 +347,14 @@ const handleEditDictData = (row: any) => {
|
|||||||
editRefDictData.value?.openDialog(row);
|
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) => {
|
const handleDeleteDictData = (row: any) => {
|
||||||
ElMessageBox.confirm(`确定删除字典值:【${row.value}】?`, '提示', {
|
ElMessageBox.confirm(`确定删除字典值:【${row.value}】?`, '提示', {
|
||||||
|
|||||||
@ -62,12 +62,9 @@
|
|||||||
<ModifyRecord :data="row" />
|
<ModifyRecord :data="row" />
|
||||||
</template>
|
</template>
|
||||||
<template #row_buttons="{ row }">
|
<template #row_buttons="{ row }">
|
||||||
<el-tooltip content="编辑" placement="top">
|
<el-button icon="ele-Edit" text type="primary" v-auth="'sysMenu/update'" @click="handleEdit(row)"> 编辑 </el-button>
|
||||||
<el-button icon="ele-Edit" text type="primary" v-auth="'sysMenu/update'" @click="handleEdit(row)"> </el-button>
|
<el-button icon="ele-Delete" text type="danger" v-auth="'sysMenu/delete'" @click="handleDelete(row)"> 删除 </el-button>
|
||||||
</el-tooltip>
|
<el-button icon="ele-CopyDocument" text type="primary" v-auth="'sysMenu/add'" @click="openCopyMenu(row)"> 复制 </el-button>
|
||||||
<el-tooltip content="删除" placement="top">
|
|
||||||
<el-button icon="ele-Delete" text type="danger" v-auth="'sysMenu/delete'" @click="handleDelete(row)"> </el-button>
|
|
||||||
</el-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-grid>
|
</vxe-grid>
|
||||||
</el-card>
|
</el-card>
|
||||||
@ -88,7 +85,7 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
|||||||
|
|
||||||
import { getAPI } from '/@/utils/axios-utils';
|
import { getAPI } from '/@/utils/axios-utils';
|
||||||
import { SysMenuApi } from '/@/api-services/api';
|
import { SysMenuApi } from '/@/api-services/api';
|
||||||
import { SysMenu } from '/@/api-services/models';
|
import { SysMenu, UpdateMenuInput } from '/@/api-services/models';
|
||||||
|
|
||||||
const xGrid = ref<VxeGridInstance>();
|
const xGrid = ref<VxeGridInstance>();
|
||||||
const editMenuRef = ref<InstanceType<typeof EditMenu>>();
|
const editMenuRef = ref<InstanceType<typeof EditMenu>>();
|
||||||
@ -117,7 +114,7 @@ const options = useVxeTable<SysMenu>(
|
|||||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||||
{ field: 'status', title: '状态', width: 100, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
{ field: 'status', title: '状态', width: 100, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
{ 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官方文档
|
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||||
@ -170,6 +167,15 @@ const handleEdit = (row: any) => {
|
|||||||
editMenuRef.value?.openDialog(row);
|
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) => {
|
const handleDelete = (row: any) => {
|
||||||
ElMessageBox.confirm(`确定删除菜单:【${row.title}】?`, '提示', {
|
ElMessageBox.confirm(`确定删除菜单:【${row.title}】?`, '提示', {
|
||||||
|
|||||||
@ -61,12 +61,9 @@
|
|||||||
<ModifyRecord :data="row" />
|
<ModifyRecord :data="row" />
|
||||||
</template>
|
</template>
|
||||||
<template #row_buttons="{ row }">
|
<template #row_buttons="{ row }">
|
||||||
<el-tooltip content="编辑" placement="top">
|
<el-button icon="ele-Edit" text type="primary" @click="handleEdit(row)" v-auth="'sysOrg/update'"> 编辑 </el-button>
|
||||||
<el-button icon="ele-Edit" size="small" text type="primary" @click="handleEdit(row)" v-auth="'sysOrg/update'"></el-button>
|
<el-button icon="ele-Delete" text type="danger" @click="handleDelete(row)" v-auth="'sysOrg/delete'"> 删除 </el-button>
|
||||||
</el-tooltip>
|
<el-button icon="ele-CopyDocument" text type="primary" @click="openCopyOrg(row)" v-auth="'sysOrg/add'"> 复制 </el-button>
|
||||||
<el-tooltip content="删除" placement="top">
|
|
||||||
<el-button icon="ele-Delete" size="small" text type="danger" @click="handleDelete(row)" v-auth="'sysOrg/delete'"></el-button>
|
|
||||||
</el-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-grid>
|
</vxe-grid>
|
||||||
</el-card>
|
</el-card>
|
||||||
@ -91,7 +88,7 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
|||||||
|
|
||||||
import { getAPI } from '/@/utils/axios-utils';
|
import { getAPI } from '/@/utils/axios-utils';
|
||||||
import { SysDictDataApi, SysOrgApi } from '/@/api-services';
|
import { SysDictDataApi, SysOrgApi } from '/@/api-services';
|
||||||
import { SysOrg } from '/@/api-services/models';
|
import { SysOrg, UpdateOrgInput } from '/@/api-services/models';
|
||||||
|
|
||||||
const xGrid = ref<VxeGridInstance>();
|
const xGrid = ref<VxeGridInstance>();
|
||||||
const editOrgRef = ref<InstanceType<typeof EditOrg>>();
|
const editOrgRef = ref<InstanceType<typeof EditOrg>>();
|
||||||
@ -123,7 +120,7 @@ const options = useVxeTable<SysOrg>(
|
|||||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
{ 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官方文档
|
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||||
@ -195,6 +192,15 @@ const handleEdit = (row: any) => {
|
|||||||
editOrgRef.value?.openDialog(row);
|
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) => {
|
const handleDelete = (row: any) => {
|
||||||
ElMessageBox.confirm(`确定删除机构:【${row.name}】?`, '提示', {
|
ElMessageBox.confirm(`确定删除机构:【${row.name}】?`, '提示', {
|
||||||
|
|||||||
@ -45,12 +45,9 @@
|
|||||||
<ModifyRecord :data="row" />
|
<ModifyRecord :data="row" />
|
||||||
</template>
|
</template>
|
||||||
<template #row_buttons="{ row }">
|
<template #row_buttons="{ row }">
|
||||||
<el-tooltip content="编辑" placement="top">
|
<el-button icon="ele-Edit" text type="primary" v-auth="'sysPos/update'" @click="handleEdit(row)"> 编辑 </el-button>
|
||||||
<el-button icon="ele-Edit" text type="primary" v-auth="'sysPos/update'" @click="handleEdit(row)"> </el-button>
|
<el-button icon="ele-Delete" text type="danger" v-auth="'sysPos/delete'" @click="handleDelete(row)"> 删除 </el-button>
|
||||||
</el-tooltip>
|
<el-button icon="ele-CopyDocument" text type="primary" v-auth="'sysPos/add'" @click="openCopyMenu(row)"> 复制 </el-button>
|
||||||
<el-tooltip content="删除" placement="top">
|
|
||||||
<el-button icon="ele-Delete" text type="danger" v-auth="'sysPos/delete'" @click="handleDelete(row)"> </el-button>
|
|
||||||
</el-tooltip>
|
|
||||||
</template>
|
</template>
|
||||||
</vxe-grid>
|
</vxe-grid>
|
||||||
</el-card>
|
</el-card>
|
||||||
@ -71,7 +68,7 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
|||||||
|
|
||||||
import { getAPI } from '/@/utils/axios-utils';
|
import { getAPI } from '/@/utils/axios-utils';
|
||||||
import { SysPosApi } from '/@/api-services/api';
|
import { SysPosApi } from '/@/api-services/api';
|
||||||
import { PagePosOutput, PagePosInput } from '/@/api-services/models';
|
import { PagePosOutput, PagePosInput, UpdatePosInput } from '/@/api-services/models';
|
||||||
|
|
||||||
const xGrid = ref<VxeGridInstance>();
|
const xGrid = ref<VxeGridInstance>();
|
||||||
const editPosRef = ref<InstanceType<typeof EditPos>>();
|
const editPosRef = ref<InstanceType<typeof EditPos>>();
|
||||||
@ -103,7 +100,7 @@ const options = useVxeTable<PagePosOutput>(
|
|||||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
{ 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官方文档
|
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||||
@ -157,6 +154,15 @@ const handleEdit = (row: any) => {
|
|||||||
editPosRef.value?.openDialog(row);
|
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) => {
|
const handleDelete = (row: any) => {
|
||||||
ElMessageBox.confirm(`确定删除职位:【${row.name}】?`, '提示', {
|
ElMessageBox.confirm(`确定删除职位:【${row.name}】?`, '提示', {
|
||||||
|
|||||||
@ -80,6 +80,9 @@
|
|||||||
<el-tooltip content="删除" placement="top">
|
<el-tooltip content="删除" placement="top">
|
||||||
<el-button icon="ele-Delete" text type="danger" v-auth="'sysUser/delete'" @click="handleDelete(row)"> </el-button>
|
<el-button icon="ele-Delete" text type="danger" v-auth="'sysUser/delete'" @click="handleDelete(row)"> </el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
<el-tooltip content="复制" placement="top">
|
||||||
|
<el-button icon="ele-CopyDocument" text type="primary" v-auth="'sysUser/add'" @click="openCopyMenu(row)"> </el-button>
|
||||||
|
</el-tooltip>
|
||||||
<el-button icon="ele-RefreshLeft" text type="danger" v-auth="'sysUser/resetPwd'" @click="resetQueryPwd(row)">重置密码</el-button>
|
<el-button icon="ele-RefreshLeft" text type="danger" v-auth="'sysUser/resetPwd'" @click="resetQueryPwd(row)">重置密码</el-button>
|
||||||
<el-button icon="ele-Unlock" text type="primary" v-auth="'sysUser/unlockLogin'" @click="handleUnlock(row)">解除锁定</el-button>
|
<el-button icon="ele-Unlock" text type="primary" v-auth="'sysUser/unlockLogin'" @click="handleUnlock(row)">解除锁定</el-button>
|
||||||
</template>
|
</template>
|
||||||
@ -108,10 +111,10 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
|||||||
|
|
||||||
import { getAPI } from '/@/utils/axios-utils';
|
import { getAPI } from '/@/utils/axios-utils';
|
||||||
import { SysUserApi, SysOrgApi } from '/@/api-services/api';
|
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<VxeGridInstance>();
|
const xGrid = ref<VxeGridInstance>();
|
||||||
const treeRef = ref<InstanceType<typeof OrgTree>>();
|
// const treeRef = ref<InstanceType<typeof OrgTree>>();
|
||||||
const editUserRef = ref<InstanceType<typeof EditUser>>();
|
const editUserRef = ref<InstanceType<typeof EditUser>>();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
treeData: [] as Array<SysOrg>,
|
treeData: [] as Array<SysOrg>,
|
||||||
@ -154,7 +157,7 @@ const options = useVxeTable<UserOutput>(
|
|||||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
{ 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官方文档
|
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||||
@ -222,6 +225,15 @@ const handleEdit = (row: any) => {
|
|||||||
editUserRef.value?.openDialog(row);
|
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) => {
|
const handleDelete = (row: any) => {
|
||||||
ElMessageBox.confirm(`确定删除账号:【${row.account}】?`, '提示', {
|
ElMessageBox.confirm(`确定删除账号:【${row.account}】?`, '提示', {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user