😎1、增加表行记录查看组件 2、优化前端页面代码 3、升级依赖
This commit is contained in:
parent
1211d34770
commit
7efa9795d6
@ -56,7 +56,7 @@
|
|||||||
<PackageReference Include="SSH.NET" Version="2025.0.0" />
|
<PackageReference Include="SSH.NET" Version="2025.0.0" />
|
||||||
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.5" />
|
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.5" />
|
||||||
<PackageReference Include="System.Net.Http" Version="4.3.4" />
|
<PackageReference Include="System.Net.Http" Version="4.3.4" />
|
||||||
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1254" />
|
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1258" />
|
||||||
<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>
|
||||||
@ -76,9 +76,9 @@
|
|||||||
<PackageReference Include="AspNet.Security.OAuth.Gitee" Version="9.4.0" />
|
<PackageReference Include="AspNet.Security.OAuth.Gitee" Version="9.4.0" />
|
||||||
<PackageReference Include="AspNet.Security.OAuth.Weixin" Version="9.4.0" />
|
<PackageReference Include="AspNet.Security.OAuth.Weixin" Version="9.4.0" />
|
||||||
<PackageReference Include="Lazy.Captcha.Core" Version="2.1.0" />
|
<PackageReference Include="Lazy.Captcha.Core" Version="2.1.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.5" />
|
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="9.0.5" />
|
<PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="9.0.5" />
|
<PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.PowerShell.SDK" Version="7.5.1" />
|
<PackageReference Include="Microsoft.PowerShell.SDK" Version="7.5.1" />
|
||||||
<PackageReference Include="My.Extensions.Localization.Json" Version="3.4.0" />
|
<PackageReference Include="My.Extensions.Localization.Json" Version="3.4.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="IGeekFan.AspNetCore.Knife4jUI" Version="0.0.16" />
|
<PackageReference Include="IGeekFan.AspNetCore.Knife4jUI" Version="0.0.16" />
|
||||||
<PackageReference Include="MQTTnet.AspNetCore" Version="5.0.1.1416" />
|
<PackageReference Include="MQTTnet.AspNetCore" Version="5.0.1.1416" />
|
||||||
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="9.0.5" />
|
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="9.0.6" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@ -79,7 +79,7 @@
|
|||||||
"vue-router": "^4.5.1",
|
"vue-router": "^4.5.1",
|
||||||
"vue-signature-pad": "^3.0.2",
|
"vue-signature-pad": "^3.0.2",
|
||||||
"vue3-tree-org": "^4.2.2",
|
"vue3-tree-org": "^4.2.2",
|
||||||
"vxe-pc-ui": "^4.6.19",
|
"vxe-pc-ui": "^4.6.20",
|
||||||
"vxe-table": "^4.13.37",
|
"vxe-table": "^4.13.37",
|
||||||
"xe-utils": "^3.7.5",
|
"xe-utils": "^3.7.5",
|
||||||
"xlsx-js-style": "^1.2.0"
|
"xlsx-js-style": "^1.2.0"
|
||||||
|
|||||||
115
Web/src/components/table/viewRecord.vue
Normal file
115
Web/src/components/table/viewRecord.vue
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog v-model="state.dialogVisible" draggable :close-on-click-modal="false">
|
||||||
|
<template #header>
|
||||||
|
<div style="color: #fff">
|
||||||
|
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-View /> </el-icon>
|
||||||
|
<span>{{ props.title }}</span>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<el-descriptions :column="descColumn" border>
|
||||||
|
<el-descriptions-item v-for="(item, key) in state.data" :key="key" :label="key" :width="state.descriptionsWidth">
|
||||||
|
<template #label>
|
||||||
|
<el-text v-if="String(key) === t('message.list.creator')">
|
||||||
|
<el-icon><ele-UserFilled /></el-icon>
|
||||||
|
{{ key }}
|
||||||
|
</el-text>
|
||||||
|
<el-text v-else-if="String(key) === t('message.list.createTime')">
|
||||||
|
<el-icon><ele-Calendar /></el-icon>
|
||||||
|
{{ key }}
|
||||||
|
</el-text>
|
||||||
|
<el-text v-else-if="String(key) === t('message.list.modifier')">
|
||||||
|
<el-icon><ele-UserFilled /></el-icon>
|
||||||
|
{{ key }}
|
||||||
|
</el-text>
|
||||||
|
<el-text v-else-if="String(key) === t('message.list.modifyTime')">
|
||||||
|
<el-icon><ele-Calendar /></el-icon>
|
||||||
|
{{ key }}
|
||||||
|
</el-text>
|
||||||
|
<el-text v-else-if="String(key) === t('message.list.remark')">
|
||||||
|
<el-icon><ele-Tickets /></el-icon>
|
||||||
|
{{ key }}
|
||||||
|
</el-text>
|
||||||
|
<el-text v-else>
|
||||||
|
{{ key }}
|
||||||
|
</el-text>
|
||||||
|
</template>
|
||||||
|
<template v-if="item === false || item === true">
|
||||||
|
<span>{{ item === false ? '否' : '是' }}</span>
|
||||||
|
</template>
|
||||||
|
<span v-else>{{ item }}</span>
|
||||||
|
</el-descriptions-item>
|
||||||
|
</el-descriptions>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { computed, reactive, onMounted, onUnmounted } from 'vue';
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
|
const { t } = useI18n();
|
||||||
|
const props = defineProps({
|
||||||
|
title: String,
|
||||||
|
});
|
||||||
|
|
||||||
|
const state = reactive({
|
||||||
|
dialogVisible: false,
|
||||||
|
data: {} as any,
|
||||||
|
windowWidth: window.innerWidth,
|
||||||
|
descriptionsWidth: '',
|
||||||
|
});
|
||||||
|
|
||||||
|
const handleResize = () => {
|
||||||
|
state.windowWidth = window.innerWidth;
|
||||||
|
};
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
window.addEventListener('resize', handleResize);
|
||||||
|
});
|
||||||
|
|
||||||
|
onUnmounted(() => {
|
||||||
|
window.removeEventListener('resize', handleResize);
|
||||||
|
});
|
||||||
|
|
||||||
|
// 打开弹框
|
||||||
|
const openDialog = (row: any, columns: any) => {
|
||||||
|
state.data = {};
|
||||||
|
state.dialogVisible = true;
|
||||||
|
|
||||||
|
// 先处理列数据
|
||||||
|
const columnsData = columns.reduce((acc: any, item: any) => {
|
||||||
|
if (item.field !== 'seq' && item.field !== 'record' && item.field !== 'buttons') {
|
||||||
|
acc[item.title] = row[item.field];
|
||||||
|
}
|
||||||
|
return acc;
|
||||||
|
}, {});
|
||||||
|
|
||||||
|
// 后合并固定字段(后者覆盖前者)
|
||||||
|
const fixedFields = {
|
||||||
|
创建者: row.createUserName,
|
||||||
|
创建时间: row.createTime,
|
||||||
|
修改者: row.updateUserName,
|
||||||
|
修改时间: row.updateTime,
|
||||||
|
...(row.remark && { 备注: row.remark }),
|
||||||
|
};
|
||||||
|
|
||||||
|
state.data = { ...columnsData, ...fixedFields };
|
||||||
|
};
|
||||||
|
|
||||||
|
// 计算列宽和个数
|
||||||
|
const descColumn = computed(() => {
|
||||||
|
if (state.windowWidth < 800) {
|
||||||
|
state.descriptionsWidth = '50%';
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (state.windowWidth < 1000) {
|
||||||
|
state.descriptionsWidth = '25%';
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
state.descriptionsWidth = '10%';
|
||||||
|
return 3;
|
||||||
|
});
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
openDialog,
|
||||||
|
});
|
||||||
|
</script>
|
||||||
@ -7,6 +7,7 @@ export default {
|
|||||||
button: 'Button',
|
button: 'Button',
|
||||||
query: 'Query',
|
query: 'Query',
|
||||||
reset: 'Reset',
|
reset: 'Reset',
|
||||||
|
view: 'view',
|
||||||
add: 'Add',
|
add: 'Add',
|
||||||
allExpand: 'Expand All',
|
allExpand: 'Expand All',
|
||||||
allFold: 'Collapse All',
|
allFold: 'Collapse All',
|
||||||
|
|||||||
@ -7,6 +7,7 @@ export default {
|
|||||||
button: '按钮',
|
button: '按钮',
|
||||||
query: '查询',
|
query: '查询',
|
||||||
reset: '重置',
|
reset: '重置',
|
||||||
|
view: '查看',
|
||||||
add: '新增',
|
add: '新增',
|
||||||
allExpand: '全部展开',
|
allExpand: '全部展开',
|
||||||
allFold: '全部折叠',
|
allFold: '全部折叠',
|
||||||
|
|||||||
@ -56,8 +56,8 @@ import { reactive, ref } from 'vue';
|
|||||||
|
|
||||||
import { getAPI } from '/@/utils/axios-utils';
|
import { getAPI } from '/@/utils/axios-utils';
|
||||||
import { SysDictTypeApi } from '/@/api-services/api';
|
import { SysDictTypeApi } from '/@/api-services/api';
|
||||||
import {AccountTypeEnum, UpdateDictTypeInput} from '/@/api-services/models';
|
import { AccountTypeEnum, UpdateDictTypeInput } from '/@/api-services/models';
|
||||||
import {useUserInfo} from "/@/stores/userInfo";
|
import { useUserInfo } from '/@/stores/userInfo';
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
title: String,
|
title: String,
|
||||||
|
|||||||
@ -148,15 +148,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 {
|
import { SysDictType, PageDictTypeInput, SysDictData, PageDictDataInput, UpdateDictDataInput, AccountTypeEnum } from '/@/api-services/models';
|
||||||
SysDictType,
|
|
||||||
PageDictTypeInput,
|
|
||||||
SysDictData,
|
|
||||||
PageDictDataInput,
|
|
||||||
UpdateDictDataInput,
|
|
||||||
AccountTypeEnum
|
|
||||||
} from '/@/api-services/models';
|
|
||||||
import {auth} from "/@/utils/authFunction";
|
|
||||||
|
|
||||||
const userInfo = useUserInfo().userInfos;
|
const userInfo = useUserInfo().userInfos;
|
||||||
const xGridDictType = ref<VxeGridInstance>();
|
const xGridDictType = ref<VxeGridInstance>();
|
||||||
|
|||||||
@ -145,12 +145,11 @@ import { ElMessageBox, ElMessage, UploadInstance } from 'element-plus';
|
|||||||
import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table';
|
import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table';
|
||||||
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
|
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
|
||||||
import { Local } from '/@/utils/storage';
|
import { Local } from '/@/utils/storage';
|
||||||
|
import { downloadByUrl } from '/@/utils/download';
|
||||||
|
|
||||||
import { Splitpanes, Pane } from 'splitpanes';
|
import { Splitpanes, Pane } from 'splitpanes';
|
||||||
import 'splitpanes/dist/splitpanes.css';
|
import 'splitpanes/dist/splitpanes.css';
|
||||||
|
|
||||||
import { downloadByUrl } from '/@/utils/download';
|
|
||||||
|
|
||||||
import VueOfficeDocx from '@vue-office/docx';
|
import VueOfficeDocx from '@vue-office/docx';
|
||||||
import VueOfficeExcel from '@vue-office/excel';
|
import VueOfficeExcel from '@vue-office/excel';
|
||||||
import VueOfficePdf from '@vue-office/pdf';
|
import VueOfficePdf from '@vue-office/pdf';
|
||||||
|
|||||||
@ -94,7 +94,7 @@
|
|||||||
</vxe-grid>
|
</vxe-grid>
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<VisMap ref="mapRef" :title="state.title"/>
|
<VisMap ref="mapRef" :title="state.title" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@ -80,6 +80,7 @@ import { ElMessageBox, ElMessage } from 'element-plus';
|
|||||||
import { VxeGridInstance, VxeGridListeners } from 'vxe-table';
|
import { VxeGridInstance, VxeGridListeners } from 'vxe-table';
|
||||||
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
|
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
|
||||||
import SvgIcon from '/@/components/svgIcon/index.vue';
|
import SvgIcon from '/@/components/svgIcon/index.vue';
|
||||||
|
import { Hide } from '@element-plus/icons-vue';
|
||||||
|
|
||||||
import EditMenu from '/@/views/system/menu/component/editMenu.vue';
|
import EditMenu from '/@/views/system/menu/component/editMenu.vue';
|
||||||
import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
||||||
@ -87,7 +88,6 @@ 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, UpdateMenuInput } from '/@/api-services/models';
|
import { SysMenu, UpdateMenuInput } from '/@/api-services/models';
|
||||||
import { Hide } from '@element-plus/icons-vue';
|
|
||||||
|
|
||||||
const xGrid = ref<VxeGridInstance>();
|
const xGrid = ref<VxeGridInstance>();
|
||||||
const editMenuRef = ref<InstanceType<typeof EditMenu>>();
|
const editMenuRef = ref<InstanceType<typeof EditMenu>>();
|
||||||
|
|||||||
@ -76,6 +76,7 @@ import commonFunction from '/@/utils/commonFunction';
|
|||||||
import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table';
|
import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table';
|
||||||
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
|
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
|
||||||
import { Local } from '/@/utils/storage';
|
import { Local } from '/@/utils/storage';
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
import EditNotice from '/@/views/system/notice/component/editNotice.vue';
|
import EditNotice from '/@/views/system/notice/component/editNotice.vue';
|
||||||
import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
||||||
@ -83,10 +84,8 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
|||||||
import { getAPI } from '/@/utils/axios-utils';
|
import { getAPI } from '/@/utils/axios-utils';
|
||||||
import { SysNoticeApi } from '/@/api-services/api';
|
import { SysNoticeApi } from '/@/api-services/api';
|
||||||
import { SysNotice, PageNoticeInput } from '/@/api-services/models';
|
import { SysNotice, PageNoticeInput } from '/@/api-services/models';
|
||||||
import { useI18n } from 'vue-i18n';
|
|
||||||
|
|
||||||
const i18n = useI18n();
|
const i18n = useI18n();
|
||||||
|
|
||||||
const xGrid = ref<VxeGridInstance>();
|
const xGrid = ref<VxeGridInstance>();
|
||||||
const editNoticeRef = ref<InstanceType<typeof EditNotice>>();
|
const editNoticeRef = ref<InstanceType<typeof EditNotice>>();
|
||||||
const { removeHtml } = commonFunction();
|
const { removeHtml } = commonFunction();
|
||||||
|
|||||||
@ -80,7 +80,6 @@ import { SysOnlineUser, PageOnlineUserInput } from '/@/api-services/models';
|
|||||||
const storesThemeConfig = useThemeConfig();
|
const storesThemeConfig = useThemeConfig();
|
||||||
const { themeConfig } = storeToRefs(storesThemeConfig);
|
const { themeConfig } = storeToRefs(storesThemeConfig);
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
|
|
||||||
const xGrid = ref<VxeGridInstance>();
|
const xGrid = ref<VxeGridInstance>();
|
||||||
const sendMessageRef = ref<InstanceType<typeof SendMessage>>();
|
const sendMessageRef = ref<InstanceType<typeof SendMessage>>();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
|
|||||||
@ -133,11 +133,11 @@
|
|||||||
<script lang="ts" setup name="sysPluginCore">
|
<script lang="ts" setup name="sysPluginCore">
|
||||||
import { onMounted, reactive, ref } from 'vue';
|
import { onMounted, reactive, ref } from 'vue';
|
||||||
import { ElMessageBox, ElMessage, UploadInstance } from 'element-plus';
|
import { ElMessageBox, ElMessage, UploadInstance } from 'element-plus';
|
||||||
|
import { auth } from '/@/utils/authFunction';
|
||||||
|
|
||||||
import EditPlugin from './component/editPluginSetting.vue';
|
import EditPlugin from './component/editPluginSetting.vue';
|
||||||
import DetailsPluginDialog from './component/detailsPluginDialog.vue';
|
import DetailsPluginDialog from './component/detailsPluginDialog.vue';
|
||||||
|
|
||||||
import { auth } from '/@/utils/authFunction';
|
|
||||||
import { getAPI } from '/@/utils/axios-utils';
|
import { getAPI } from '/@/utils/axios-utils';
|
||||||
import { SysPluginCoreApi } from '/@/api-plugins/pluginCore/api';
|
import { SysPluginCoreApi } from '/@/api-plugins/pluginCore/api';
|
||||||
import { SysPluginCore } from '/@/api-plugins/pluginCore/models';
|
import { SysPluginCore } from '/@/api-plugins/pluginCore/models';
|
||||||
|
|||||||
@ -79,6 +79,7 @@ import { ElMessageBox, ElMessage } from 'element-plus';
|
|||||||
import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table';
|
import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table';
|
||||||
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
|
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
|
||||||
import { Local } from '/@/utils/storage';
|
import { Local } from '/@/utils/storage';
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
import EditPos from '/@/views/system/pos/component/editPos.vue';
|
import EditPos from '/@/views/system/pos/component/editPos.vue';
|
||||||
import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
||||||
@ -86,10 +87,8 @@ 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, UpdatePosInput } from '/@/api-services/models';
|
import { PagePosOutput, PagePosInput, UpdatePosInput } from '/@/api-services/models';
|
||||||
import { useI18n } from 'vue-i18n';
|
|
||||||
|
|
||||||
const i18n = useI18n();
|
const i18n = useI18n();
|
||||||
|
|
||||||
const xGrid = ref<VxeGridInstance>();
|
const xGrid = ref<VxeGridInstance>();
|
||||||
const editPosRef = ref<InstanceType<typeof EditPos>>();
|
const editPosRef = ref<InstanceType<typeof EditPos>>();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
|
|||||||
@ -106,6 +106,7 @@ import { ElMessageBox, ElMessage, ElButton } from 'element-plus';
|
|||||||
import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table';
|
import { VxeGridInstance, VxeGridListeners, VxeGridPropTypes } from 'vxe-table';
|
||||||
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
|
import { useVxeTable } from '/@/hooks/useVxeTableOptionsHook';
|
||||||
import { Local } from '/@/utils/storage';
|
import { Local } from '/@/utils/storage';
|
||||||
|
|
||||||
import EditTenant from '/@/views/system/tenant/component/editTenant.vue';
|
import EditTenant from '/@/views/system/tenant/component/editTenant.vue';
|
||||||
import GrantMenu from '/@/views/system/tenant/component/grantMenu.vue';
|
import GrantMenu from '/@/views/system/tenant/component/grantMenu.vue';
|
||||||
import GrantApi from '/@/views/system/role/component/grantApi.vue';
|
import GrantApi from '/@/views/system/role/component/grantApi.vue';
|
||||||
|
|||||||
@ -110,6 +110,7 @@ import { Local } from '/@/utils/storage';
|
|||||||
import XEUtils from 'xe-utils';
|
import XEUtils from 'xe-utils';
|
||||||
import { Splitpanes, Pane } from 'splitpanes';
|
import { Splitpanes, Pane } from 'splitpanes';
|
||||||
import 'splitpanes/dist/splitpanes.css';
|
import 'splitpanes/dist/splitpanes.css';
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
import OrgTree from '/@/views/system/org/component/orgTree.vue';
|
import OrgTree from '/@/views/system/org/component/orgTree.vue';
|
||||||
import EditUser from '/@/views/system/user/component/editUser.vue';
|
import EditUser from '/@/views/system/user/component/editUser.vue';
|
||||||
@ -118,10 +119,8 @@ 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, UpdateUserInput } from '/@/api-services/models';
|
import { SysOrg, PageTenantInput, UserOutput, UpdateUserInput } from '/@/api-services/models';
|
||||||
import { useI18n } from 'vue-i18n';
|
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
|
|
||||||
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>>();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user