feat: 页面调整组件属性升级

This commit is contained in:
TsMask
2024-10-28 11:02:39 +08:00
parent 670225a655
commit da0d49d306
125 changed files with 1775 additions and 3464 deletions

View File

@@ -1,10 +1,11 @@
<script setup lang="ts">
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { message, Modal, Form } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { ProModal } from 'antdv-pro-modal';
import { message, Modal, Form } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import {
exportConfig,
listConfig,
@@ -182,9 +183,9 @@ function fnTableSelectedRowKeys(keys: (string | number)[]) {
/**对话框对象信息状态类型 */
type ModalStateType = {
/**详情框是否显示 */
visibleByView: boolean;
openByView: boolean;
/**新增框或修改框是否显示 */
visibleByEdit: boolean;
openByEdit: boolean;
/**标题 */
title: string;
/**表单数据 */
@@ -195,8 +196,8 @@ type ModalStateType = {
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleByView: false,
visibleByEdit: false,
openByView: false,
openByEdit: false,
title: '参数配置',
from: {
configId: undefined,
@@ -253,7 +254,7 @@ function fnModalVisibleByVive(configId: string | number) {
if (res.code === RESULT_CODE_SUCCESS && res.data) {
modalState.from = Object.assign(modalState.from, res.data);
modalState.title = t('views.system.config.viewInfo');
modalState.visibleByView = true;
modalState.openByView = true;
} else {
message.error(t('views.system.config.viewInfoErr'), 2);
}
@@ -268,7 +269,7 @@ function fnModalVisibleByEdit(configId?: string | number) {
if (!configId) {
modalStateFrom.resetFields();
modalState.title = t('views.system.config.addInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
if (modalState.confirmLoading) return;
const hide = message.loading(t('common.loading'), 0);
@@ -279,7 +280,7 @@ function fnModalVisibleByEdit(configId?: string | number) {
if (res.code === RESULT_CODE_SUCCESS && res.data) {
modalState.from = Object.assign(modalState.from, res.data);
modalState.title = t('views.system.config.editInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
message.error(t('views.system.config.viewInfoErr'), 2);
}
@@ -308,7 +309,7 @@ function fnModalOk() {
key,
duration: 2,
});
modalState.visibleByEdit = false;
modalState.openByEdit = false;
modalStateFrom.resetFields();
fnGetList(1);
} else {
@@ -333,8 +334,8 @@ function fnModalOk() {
* 进行表达规则校验
*/
function fnModalCancel() {
modalState.visibleByEdit = false;
modalState.visibleByView = false;
modalState.openByEdit = false;
modalState.openByView = false;
modalStateFrom.resetFields();
}
@@ -559,7 +560,7 @@ onMounted(() => {
<a-card :bordered="false" :body-style="{ padding: '0px' }">
<!-- 插槽-卡片左侧侧 -->
<template #title>
<div class="button-container">
<a-space :size="8" align="center">
<a-button
type="primary"
@click.prevent="fnModalVisibleByEdit()"
@@ -595,12 +596,12 @@ onMounted(() => {
<template #icon><ExportOutlined /></template>
{{ t('common.export') }}
</a-button>
</div>
</a-space>
</template>
<!-- 插槽-卡片右侧 -->
<template #extra>
<div class="button-container">
<a-space :size="8" align="center">
<a-tooltip>
<template #title>{{ t('common.searchBarText') }}</template>
<a-switch
@@ -640,7 +641,7 @@ onMounted(() => {
</template>
</a-dropdown>
</a-tooltip>
</div>
</a-space>
</template>
<!-- 表格列表 -->
@@ -705,12 +706,12 @@ onMounted(() => {
<ProModal
:drag="true"
:width="800"
:visible="modalState.visibleByView"
:open="modalState.openByView"
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.config.configName')"
@@ -731,7 +732,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.config.configKey')"
@@ -776,7 +777,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByEdit"
:open="modalState.openByEdit"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOk"
@@ -788,7 +789,7 @@ onMounted(() => {
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.config.configName')"
@@ -818,7 +819,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.config.configKey')"

View File

@@ -1,10 +1,11 @@
<script setup lang="ts">
import { reactive, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { message, Modal, Form } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { ProModal } from 'antdv-pro-modal';
import { message, Modal, Form } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import {
listDept,
getDept,
@@ -141,9 +142,9 @@ let treeDataAll: Record<string, any>[] = [];
/**对话框对象信息状态类型 */
type ModalStateType = {
/**详情框是否显示 */
visibleByView: boolean;
openByView: boolean;
/**新增框或修改框是否显示 */
visibleByEdit: boolean;
openByEdit: boolean;
/**标题 */
title: string;
/**表单数据 */
@@ -156,8 +157,8 @@ type ModalStateType = {
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleByView: false,
visibleByEdit: false,
openByView: false,
openByEdit: false,
title: '部门',
from: {
deptId: undefined,
@@ -235,7 +236,7 @@ function fnModalVisibleByVive(deptId: string | number) {
}
modalState.from = Object.assign(modalState.from, res.data);
modalState.title = t('views.system.dept.classInfo');
modalState.visibleByView = true;
modalState.openByView = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -258,7 +259,7 @@ function fnModalVisibleByEdit(
}
modalState.treeData = treeDataAll;
modalState.title = t('common.addText') + t('views.system.dept.classInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
if (modalState.confirmLoading) return;
const hide = message.loading(t('common.loading'), 0);
@@ -286,7 +287,7 @@ function fnModalVisibleByEdit(
}
modalState.title =
t('common.editText') + t('views.system.dept.classInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -317,7 +318,7 @@ function fnModalOk() {
content: t('common.msgSuccess', { msg: modalState.title }),
duration: 2,
});
modalState.visibleByEdit = false;
modalState.openByEdit = false;
// 新增时清空上级部门树重新获取
if (!from.deptId) {
treeDataAll = [];
@@ -346,8 +347,8 @@ function fnModalOk() {
* 进行表达规则校验
*/
function fnModalCancel() {
modalState.visibleByEdit = false;
modalState.visibleByView = false;
modalState.openByEdit = false;
modalState.openByView = false;
modalStateFrom.resetFields();
}
@@ -605,7 +606,7 @@ onMounted(() => {
<ProModal
:drag="true"
:width="800"
:visible="modalState.visibleByView"
:open="modalState.openByView"
:title="modalState.title"
@cancel="fnModalCancel"
>
@@ -630,7 +631,7 @@ onMounted(() => {
<template #suffixIcon></template>
</a-tree-select>
</a-form-item>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dept.className')"
@@ -649,7 +650,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.dept.status')" name="status">
<DictTag
@@ -664,7 +665,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="24" :md="24" :xs="24">
<a-form-item
:label="t('views.system.dept.admin')"
@@ -701,7 +702,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByEdit"
:open="modalState.openByEdit"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOk"
@@ -752,7 +753,7 @@ onMounted(() => {
></a-input>
</a-form-item>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.dept.status')" name="status">
<a-select
@@ -778,7 +779,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :span="24">
<a-form-item
:label="t('views.system.dept.admin')"

View File

@@ -3,10 +3,11 @@ import { useRoute, useRouter } from 'vue-router';
import { getLocalColor, changePrimaryColor } from '@/hooks/useTheme';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { Form, message, Modal } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { ProModal } from 'antdv-pro-modal';
import { Form, message, Modal } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import {
exportData,
listData,
@@ -231,9 +232,9 @@ function fnTableSelectedRowKeys(keys: (string | number)[]) {
/**对话框对象信息状态类型 */
type ModalStateType = {
/**详情框是否显示 */
visibleByView: boolean;
openByView: boolean;
/**新增框或修改框是否显示 */
visibleByEdit: boolean;
openByEdit: boolean;
/**标题 */
title: string;
/**表单数据 */
@@ -244,8 +245,8 @@ type ModalStateType = {
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleByView: false,
visibleByEdit: false,
openByView: false,
openByEdit: false,
title: '字典数据',
from: {
dictCode: undefined,
@@ -293,7 +294,7 @@ const modalStateFrom = Form.useForm(
function fnModalVisibleByVive(row: Record<string, string>) {
modalState.from = Object.assign(modalState.from, row);
modalState.title = t('views.system.dictData.viewInfo');
modalState.visibleByView = true;
modalState.openByView = true;
}
/**
@@ -305,7 +306,7 @@ function fnModalVisibleByEdit(dictCode?: string | number, record?: any) {
modalStateFrom.resetFields();
modalState.from.dictType = queryParams.dictType;
modalState.title = t('views.system.dictData.addInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
if (modalState.confirmLoading) return;
const hide = message.loading(t('common.loading'), 0);
@@ -316,7 +317,7 @@ function fnModalVisibleByEdit(dictCode?: string | number, record?: any) {
if (res.code === RESULT_CODE_SUCCESS) {
modalState.from = Object.assign(modalState.from, res.data);
modalState.title = t('views.system.dictData.editInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
message.error(t('views.system.dictData.viewInfoErr'), 2);
}
@@ -345,7 +346,7 @@ function fnModalOk() {
key,
duration: 2,
});
modalState.visibleByEdit = false;
modalState.openByEdit = false;
modalStateFrom.resetFields();
fnGetList();
} else {
@@ -370,8 +371,8 @@ function fnModalOk() {
* 进行表达规则校验
*/
function fnModalCancel() {
modalState.visibleByEdit = false;
modalState.visibleByView = false;
modalState.openByEdit = false;
modalState.openByView = false;
modalStateFrom.resetFields();
}
@@ -579,7 +580,7 @@ onMounted(() => {
<a-card :bordered="false" :body-style="{ padding: '0px' }">
<!-- 插槽-卡片左侧侧 -->
<template #title>
<div class="button-container">
<a-space :size="8" align="center">
<a-button type="default" @click.prevent="fnClose()">
<template #icon><CloseOutlined /></template>
{{ t('common.close') }}
@@ -610,12 +611,12 @@ onMounted(() => {
<template #icon><ExportOutlined /></template>
{{ t('common.export') }}
</a-button>
</div>
</a-space>
</template>
<!-- 插槽-卡片右侧 -->
<template #extra>
<div class="button-container">
<a-space :size="8" align="center">
<a-tooltip>
<template #title>{{ t('common.searchBarText') }}</template>
<a-switch
@@ -655,7 +656,7 @@ onMounted(() => {
</template>
</a-dropdown>
</a-tooltip>
</div>
</a-space>
</template>
<!-- 表格列表 -->
@@ -720,12 +721,12 @@ onMounted(() => {
<ProModal
:drag="true"
:width="800"
:visible="modalState.visibleByView"
:open="modalState.openByView"
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dictData.dictType')"
@@ -749,7 +750,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dictData.dictCode')"
@@ -770,7 +771,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dictData.dictLabel')"
@@ -788,7 +789,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dictData.tagType')"
@@ -809,7 +810,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dictData.tagTypeShow')"
@@ -857,7 +858,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByEdit"
:open="modalState.openByEdit"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOk"
@@ -869,7 +870,7 @@ onMounted(() => {
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dictData.dictType')"
@@ -900,7 +901,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dictData.dictLabel')"
@@ -929,7 +930,7 @@ onMounted(() => {
</a-col>
</a-row>
<!-- 首页状态取色器 -->
<a-row :gutter="16">
<a-row>
<a-col
:lg="12"
:md="12"
@@ -977,7 +978,7 @@ onMounted(() => {
</a-col>
</a-row>
<!-- 非首页状态取色器 -->
<a-row :gutter="16" v-if="modalState.from.dictType !== 'index_status'">
<a-row v-if="modalState.from.dictType !== 'index_status'">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.dictData.tagClass')"

View File

@@ -2,10 +2,11 @@
import { useRouter, useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { message, Modal, Form } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { ProModal } from 'antdv-pro-modal';
import { message, Modal, Form } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import {
exportType,
listType,
@@ -181,9 +182,9 @@ function fnTableSelectedRowKeys(keys: (string | number)[]) {
/**对话框对象信息状态类型 */
type ModalStateType = {
/**详情框是否显示 */
visibleByView: boolean;
openByView: boolean;
/**新增框或修改框是否显示 */
visibleByEdit: boolean;
openByEdit: boolean;
/**标题 */
title: string;
/**表单数据 */
@@ -194,8 +195,8 @@ type ModalStateType = {
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleByView: false,
visibleByEdit: false,
openByView: false,
openByEdit: false,
title: '字典类型',
from: {
dictId: undefined,
@@ -248,7 +249,7 @@ function fnModalVisibleByVive(dictId: string | number) {
if (res.code === RESULT_CODE_SUCCESS && res.data) {
modalState.from = Object.assign(modalState.from, res.data);
modalState.title = t('views.system.dict.dictInfo');
modalState.visibleByView = true;
modalState.openByView = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -263,7 +264,7 @@ function fnModalVisibleByEdit(dictId?: string | number) {
if (!dictId) {
modalStateFrom.resetFields();
modalState.title = t('common.addText') + t('views.system.dict.dictType');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
if (modalState.confirmLoading) return;
const hide = message.loading(t('common.loading'), 0);
@@ -275,7 +276,7 @@ function fnModalVisibleByEdit(dictId?: string | number) {
modalState.from = Object.assign(modalState.from, res.data);
modalState.title =
t('common.editText') + t('views.system.dict.dictType');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -304,7 +305,7 @@ function fnModalOk() {
key,
duration: 2,
});
modalState.visibleByEdit = false;
modalState.openByEdit = false;
modalStateFrom.resetFields();
fnGetList(1);
} else {
@@ -329,8 +330,8 @@ function fnModalOk() {
* 进行表达规则校验
*/
function fnModalCancel() {
modalState.visibleByEdit = false;
modalState.visibleByView = false;
modalState.openByEdit = false;
modalState.openByView = false;
modalStateFrom.resetFields();
}
@@ -559,7 +560,7 @@ onMounted(() => {
<a-card :bordered="false" :body-style="{ padding: '0px' }">
<!-- 插槽-卡片左侧侧 -->
<template #title>
<div class="button-container">
<a-space :size="8" align="center">
<a-button
type="primary"
@click.prevent="fnModalVisibleByEdit()"
@@ -603,12 +604,12 @@ onMounted(() => {
<template #icon><ExportOutlined /></template>
{{ t('common.export') }}
</a-button>
</div>
</a-space>
</template>
<!-- 插槽-卡片右侧 -->
<template #extra>
<div class="button-container">
<a-space :size="8" align="center">
<a-tooltip>
<template #title>{{ t('common.searchBarText') }}</template>
<a-switch
@@ -648,7 +649,7 @@ onMounted(() => {
</template>
</a-dropdown>
</a-tooltip>
</div>
</a-space>
</template>
<!-- 表格列表 -->
@@ -725,7 +726,7 @@ onMounted(() => {
<ProModal
:drag="true"
:width="800"
:visible="modalState.visibleByView"
:open="modalState.openByView"
:title="modalState.title"
@cancel="fnModalCancel"
>
@@ -767,7 +768,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByEdit"
:open="modalState.openByEdit"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOk"

View File

@@ -1,10 +1,10 @@
<script setup lang="ts">
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { message, Modal } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { message, Modal } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import {
exportSysLogLogin,
listSysLogLogin,

View File

@@ -1,10 +1,11 @@
<script setup lang="ts">
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { message, Modal } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { ProModal } from 'antdv-pro-modal';
import { message, Modal } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import {
exportSysLogOperate,
listSysLogOperate,
@@ -208,7 +209,7 @@ function fnTableSelectedRowKeys(keys: (string | number)[]) {
/**对话框对象信息状态类型 */
type ModalStateType = {
/**详情框是否显示 */
visibleByView: boolean;
openByView: boolean;
/**标题 */
title: string;
/**表单数据 */
@@ -217,7 +218,7 @@ type ModalStateType = {
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleByView: false,
openByView: false,
title: '操作日志',
from: {
operId: undefined,
@@ -245,14 +246,14 @@ let modalState: ModalStateType = reactive({
function fnModalVisibleByVive(row: Record<string, string>) {
modalState.from = Object.assign(modalState.from, row);
modalState.title = t('views.system.log.operate.logInfo');
modalState.visibleByView = true;
modalState.openByView = true;
}
/**
* 对话框弹出关闭执行函数
*/
function fnModalCancel() {
modalState.visibleByView = false;
modalState.openByView = false;
}
/**记录删除 */
@@ -609,12 +610,12 @@ onMounted(() => {
<ProModal
:drag="true"
:width="800"
:visible="modalState.visibleByView"
:open="modalState.openByView"
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.log.operate.operId')"
@@ -639,7 +640,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.log.operate.workType')"
@@ -661,7 +662,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.log.operate.RequestIp')"
@@ -682,7 +683,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.log.operate.useTime')"

View File

@@ -1,9 +1,10 @@
<script setup lang="ts">
import { PageContainer } from 'antdv-pro-layout';
import { message, Modal, Form } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { ProModal } from 'antdv-pro-modal';
import { message, Modal, Form } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import IconFont from '@/components/IconFont/index.vue';
import { iconFonts } from '@/assets/js/icon_font_8d5l8fzk5b87iudi';
import { reactive, onMounted, toRaw } from 'vue';
@@ -213,9 +214,9 @@ function fnTreeDataChange(value: any) {
/**对话框对象信息状态类型 */
type ModalStateType = {
/**详情框是否显示 */
visibleByView: boolean;
openByView: boolean;
/**新增框或修改框是否显示 */
visibleByEdit: boolean;
openByEdit: boolean;
/**标题 */
title: string;
/**表单数据 */
@@ -228,8 +229,8 @@ type ModalStateType = {
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleByView: false,
visibleByEdit: false,
openByView: false,
openByEdit: false,
title: '菜单',
from: {
menuId: undefined,
@@ -317,7 +318,7 @@ function fnModalVisibleByVive(menuId: string | number) {
if (res.code === RESULT_CODE_SUCCESS && res.data) {
modalState.from = Object.assign(modalState.from, res.data);
modalState.title = t('views.system.menu.menuInfo');
modalState.visibleByView = true;
modalState.openByView = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -342,7 +343,7 @@ function fnModalVisibleByEdit(
modalState.from.parentType = parentType;
}
modalState.title = t('common.addText') + t('views.system.menu.menuInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
if (modalState.confirmLoading) return;
const hide = message.loading(t('common.loading'), 0);
@@ -354,7 +355,7 @@ function fnModalVisibleByEdit(
modalState.from = Object.assign(modalState.from, res.data);
modalState.title =
t('common.editText') + t('views.system.menu.menuInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -395,7 +396,7 @@ function fnModalOk() {
key,
duration: 2,
});
modalState.visibleByEdit = false;
modalState.openByEdit = false;
modalStateFrom.resetFields();
treeDataAll = [];
fnGetList();
@@ -421,8 +422,8 @@ function fnModalOk() {
* 进行表达规则校验
*/
function fnModalCancel() {
modalState.visibleByEdit = false;
modalState.visibleByView = false;
modalState.openByEdit = false;
modalState.openByView = false;
modalStateFrom.resetFields();
}
@@ -720,7 +721,7 @@ onMounted(() => {
<ProModal
:drag="true"
:width="800"
:visible="modalState.visibleByView"
:open="modalState.openByView"
:title="modalState.title"
@cancel="fnModalCancel"
>
@@ -753,7 +754,7 @@ onMounted(() => {
>
{{ modalState.from.menuName }}
</a-form-item>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.menu.menuId')" name="menuId">
{{ modalState.from.menuId }}
@@ -768,7 +769,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.menu.menuType')"
@@ -804,7 +805,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col
:lg="12"
:md="12"
@@ -830,10 +831,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row
:gutter="16"
v-if="modalState.from.menuType !== MENU_TYPE_BUTTON"
>
<a-row v-if="modalState.from.menuType !== MENU_TYPE_BUTTON">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.menu.local')" name="isFrame">
<a-tag color="default">
@@ -917,7 +915,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByEdit"
:open="modalState.openByEdit"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOk"
@@ -955,7 +953,7 @@ onMounted(() => {
</a-tree-select>
</a-form-item>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.menu.menuName')"
@@ -1010,10 +1008,7 @@ onMounted(() => {
</a-radio-group>
</a-form-item>
<a-row
:gutter="16"
v-if="modalState.from.menuType !== MENU_TYPE_BUTTON"
>
<a-row v-if="modalState.from.menuType !== MENU_TYPE_BUTTON">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.menu.menuTitle')" name="icon">
<a-select
@@ -1052,7 +1047,7 @@ onMounted(() => {
}}
</div>
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
<InfoCircleOutlined style="opacity: 0.45; color: inherit" />
</a-tooltip>
</template>
</a-input>
@@ -1060,10 +1055,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row
:gutter="16"
v-if="modalState.from.menuType !== MENU_TYPE_BUTTON"
>
<a-row v-if="modalState.from.menuType !== MENU_TYPE_BUTTON">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.menu.local')" name="isFrame">
<a-select
@@ -1143,7 +1135,7 @@ onMounted(() => {
{{ t('views.system.menu.componentTip') }}
</div>
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
<InfoCircleOutlined style="opacity: 0.45; color: inherit" />
</a-tooltip>
</template>
</a-input>
@@ -1165,7 +1157,7 @@ onMounted(() => {
{{ t('views.system.menu.perms') }}
</div>
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
<InfoCircleOutlined style="opacity: 0.45; color: inherit" />
</a-tooltip>
</template>
</a-input>

View File

@@ -1,10 +1,11 @@
<script setup lang="ts">
import { reactive, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { message, Modal, Form } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { ProModal } from 'antdv-pro-modal';
import { message, Modal, Form } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import {
exportPost,
listPost,
@@ -171,9 +172,9 @@ function fnTableSelectedRowKeys(keys: (string | number)[]) {
/**对话框对象信息状态类型 */
type ModalStateType = {
/**详情框是否显示 */
visibleByView: boolean;
openByView: boolean;
/**新增框或修改框是否显示 */
visibleByEdit: boolean;
openByEdit: boolean;
/**标题 */
title: string;
/**表单数据 */
@@ -184,8 +185,8 @@ type ModalStateType = {
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleByView: false,
visibleByEdit: false,
openByView: false,
openByEdit: false,
title: '岗位',
from: {
postId: undefined,
@@ -240,7 +241,7 @@ function fnModalVisibleByVive(postId: string | number) {
if (res.code === RESULT_CODE_SUCCESS && res.data) {
modalState.from = Object.assign(modalState.from, res.data);
modalState.title = t('views.system.post.positionInfo');
modalState.visibleByView = true;
modalState.openByView = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -256,7 +257,7 @@ function fnModalVisibleByEdit(postId?: string | number) {
modalStateFrom.resetFields();
modalState.title =
t('common.addText') + t('views.system.post.positionInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
if (modalState.confirmLoading) return;
const hide = message.loading(t('common.loading'), 0);
@@ -268,7 +269,7 @@ function fnModalVisibleByEdit(postId?: string | number) {
modalState.from = Object.assign(modalState.from, res.data);
modalState.title =
t('common.editText') + t('views.system.post.positionInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -297,7 +298,7 @@ function fnModalOk() {
key,
duration: 2,
});
modalState.visibleByEdit = false;
modalState.openByEdit = false;
modalStateFrom.resetFields();
fnGetList(1);
} else {
@@ -322,8 +323,8 @@ function fnModalOk() {
* 进行表达规则校验
*/
function fnModalCancel() {
modalState.visibleByEdit = false;
modalState.visibleByView = false;
modalState.openByEdit = false;
modalState.openByView = false;
modalStateFrom.resetFields();
}
@@ -497,7 +498,7 @@ onMounted(() => {
<a-card :bordered="false" :body-style="{ padding: '0px' }">
<!-- 插槽-卡片左侧侧 -->
<template #title>
<div class="button-container">
<a-space :size="8" align="center">
<a-button
type="primary"
@click.prevent="fnModalVisibleByEdit()"
@@ -524,12 +525,12 @@ onMounted(() => {
<template #icon><ExportOutlined /></template>
{{ t('common.export') }}
</a-button>
</div>
</a-space>
</template>
<!-- 插槽-卡片右侧 -->
<template #extra>
<div class="button-container">
<a-space :size="8" align="center">
<a-tooltip>
<template #title>{{ t('common.searchBarText') }}</template>
<a-switch
@@ -569,7 +570,7 @@ onMounted(() => {
</template>
</a-dropdown>
</a-tooltip>
</div>
</a-space>
</template>
<!-- 表格列表 -->
@@ -634,12 +635,12 @@ onMounted(() => {
<ProModal
:drag="true"
:width="800"
:visible="modalState.visibleByView"
:open="modalState.openByView"
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.post.positionId')"
@@ -659,7 +660,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.post.positionSort')"
@@ -680,7 +681,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.post.positionName')"
@@ -725,7 +726,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByEdit"
:open="modalState.openByEdit"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOk"
@@ -737,7 +738,7 @@ onMounted(() => {
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.post.positionName')"
@@ -765,7 +766,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.post.positionCode')"

View File

@@ -1,6 +1,6 @@
<script setup lang="ts">
import { stepState, fnToStepName } from '../hooks/useStep';
import { Modal } from 'ant-design-vue/lib';
import { Modal } from 'ant-design-vue/es';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { removeToken } from '@/plugins/auth-token';
import { useRouter } from 'vue-router';

View File

@@ -1,5 +1,6 @@
<script setup lang="ts">
import { Modal, message } from 'ant-design-vue/lib';
import { ProModal } from 'antdv-pro-modal';
import { Modal, message } from 'ant-design-vue/es';
import { nextTick, onMounted, reactive, ref, toRaw } from 'vue';
import {
addNeInfo,
@@ -53,7 +54,7 @@ const tabState: TabStateType = reactive({
/**对话框对象信息状态类型 */
type ModalStateType = {
/**新增框或修改框是否显示 */
visibleByEdit: boolean;
openByEdit: boolean;
/**标题 */
title: string;
/**表单数据 */
@@ -66,7 +67,7 @@ type ModalStateType = {
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleByEdit: false,
openByEdit: false,
title: '网元配置',
from: {
id: undefined,
@@ -274,7 +275,7 @@ function fnModalVisibleByEdit(record?: any) {
},
],
};
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
//获取单个网元信息 当修改时
if (modalState.confirmLoading) return;
@@ -287,7 +288,7 @@ function fnModalVisibleByEdit(record?: any) {
if (res.code === RESULT_CODE_SUCCESS) {
Object.assign(modalState.from, res.data);
modalState.title = t('views.configManage.neManage.editNe');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -361,7 +362,7 @@ function fnDelete(data: any) {
* 进行表达规则校验
*/
function fnModalCancel() {
modalState.visibleByEdit = false;
modalState.openByEdit = false;
modalState.confirmLoading = false;
tabState.confirmLoading = false;
}
@@ -609,7 +610,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByEdit"
:open="modalState.openByEdit"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOk"
@@ -623,7 +624,7 @@ onMounted(() => {
:model="modalState.from"
autocomplete="off"
>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.ne.common.neType')"
@@ -652,7 +653,7 @@ onMounted(() => {
<template #title>
{{ t('views.ne.common.neTypeTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
<InfoCircleOutlined style="opacity: 0.45; color: inherit;" />
</a-tooltip>
</template>
</a-input>
@@ -680,7 +681,7 @@ onMounted(() => {
<template #title>
{{ t('views.ne.common.neIdTip') }}
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
<InfoCircleOutlined style="opacity: 0.45; color: inherit;" />
</a-tooltip>
</template>
</a-input>
@@ -688,7 +689,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.ne.common.ipAddr')"
@@ -716,7 +717,7 @@ onMounted(() => {
{{ t('views.ne.common.ipAddrTip') }}
</div>
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
<InfoCircleOutlined style="opacity: 0.45; color: inherit;" />
</a-tooltip>
</template>
</a-input>
@@ -731,7 +732,7 @@ onMounted(() => {
</a-divider>
<!-- 主机连接配置 -->
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.ne.neHost.addr')">
<a-input
@@ -758,7 +759,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.ne.neHost.user')">
<a-input

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { Modal, message } from 'ant-design-vue/lib';
import { Modal, message } from 'ant-design-vue/es';
import { onMounted, reactive, toRaw } from 'vue';
import { fnToStepName } from '../hooks/useStep';
import useI18n from '@/hooks/useI18n';
@@ -147,6 +147,9 @@ function fnGetList() {
case 'N3IWF':
state.from.sbi.n3iwf_ip = item.ip;
break;
case 'SMSC':
state.from.sbi.smsc_ip = item.ip;
break;
}
}
}

View File

@@ -1,6 +1,7 @@
<script setup lang="ts">
import { Modal, TableColumnsType } from 'ant-design-vue/lib';
import { defineAsyncComponent, onMounted, reactive, ref } from 'vue';
import { ProModal } from 'antdv-pro-modal';
import { Modal, TableColumnsType } from 'ant-design-vue/es';
import { fnToStepName } from '../hooks/useStep';
import useI18n from '@/hooks/useI18n';
import useDictStore from '@/store/modules/dict';
@@ -68,9 +69,9 @@ type StateType = {
/**勾选单行记录 */
selectedRowOne: any;
/**多文件上传 */
visibleByMoreFile: boolean;
openByMoreFile: boolean;
/**勾选安装弹窗 */
visibleByInstall: boolean;
openByInstall: boolean;
/**操作数据进行版本升级 */
operateDataUpgrade: any[];
/**确定按钮 loading */
@@ -83,8 +84,8 @@ let state: StateType = reactive({
data: [],
selectedRowKeys: [],
selectedRowOne: { neType: '' },
visibleByMoreFile: false,
visibleByInstall: false,
openByMoreFile: false,
openByInstall: false,
operateDataUpgrade: [],
confirmLoading: false,
});
@@ -106,15 +107,15 @@ function fnTableSelectedRowKeys(
/**对话框弹出确认执行函数*/
function fnModalOk() {
fnGetList();
if (state.visibleByInstall) {
if (state.openByInstall) {
fnModalCancel();
}
}
/**对话框弹出关闭执行函数*/
function fnModalCancel() {
state.visibleByMoreFile = false;
state.visibleByInstall = false;
state.openByMoreFile = false;
state.openByInstall = false;
state.operateDataUpgrade = [];
}
@@ -133,7 +134,7 @@ function fnRecordInstallConfirm() {
async function fnRecordInstall() {
if (state.confirmLoading) return;
state.confirmLoading = true;
state.visibleByInstall = true;
state.openByInstall = true;
// 操作升级的网元数据
const selectRows = state.data.filter(item =>
state.selectedRowKeys.includes(item.id)
@@ -280,7 +281,7 @@ onMounted(() => {
type="dashed"
:disabled="state.selectedRowKeys.length > 1"
@click.prevent="
() => (state.visibleByMoreFile = !state.visibleByMoreFile)
() => (state.openByMoreFile = !state.openByMoreFile)
"
>
<template #icon><UploadOutlined /></template>
@@ -308,7 +309,7 @@ onMounted(() => {
<!-- 新增多文件上传框 -->
<UploadMoreFile
v-model:visible="state.visibleByMoreFile"
v-model:open="state.openByMoreFile"
:ne-type="state.selectedRowOne.neType"
@ok="fnModalOk"
@cancel="fnModalCancel"
@@ -321,7 +322,7 @@ onMounted(() => {
:body-style="{ height: '520px', overflowY: 'scroll' }"
:keyboard="false"
:mask-closable="false"
:visible="state.visibleByInstall"
:open="state.openByInstall"
:title="t('views.system.quickStart.stepInstallModal')"
:closable="false"
@ok="fnModalOk"

View File

@@ -1,5 +1,5 @@
<script setup lang="ts">
import { Modal, TableColumnsType, message } from 'ant-design-vue/lib';
import { Modal, TableColumnsType, message } from 'ant-design-vue/es';
import { defineAsyncComponent, h, onMounted, reactive, ref } from 'vue';
import { fnToStepName, stepState } from '../hooks/useStep';
import useI18n from '@/hooks/useI18n';
@@ -64,7 +64,7 @@ type StateType = {
/**勾选记录 */
selectedRowKeys: (string | number)[];
/**授权文件上传 */
visibleByLicenseFile: boolean;
openByLicenseFile: boolean;
/**授权文件上传勾选指定到网元授权列表 */
neLicenseList: any[];
/**确定按钮 loading */
@@ -76,7 +76,7 @@ let state: StateType = reactive({
loading: false,
data: [],
selectedRowKeys: [],
visibleByLicenseFile: false,
openByLicenseFile: false,
neLicenseList: [],
confirmLoading: false,
});
@@ -93,7 +93,7 @@ function fnModalOk() {
/**对话框弹出关闭执行函数*/
function fnModalCancel() {
state.visibleByLicenseFile = false;
state.openByLicenseFile = false;
}
/**对话框弹出打开执行函数 */
@@ -108,7 +108,7 @@ function fnModalOpen() {
state.neLicenseList = [];
}
state.visibleByLicenseFile = !state.visibleByLicenseFile;
state.openByLicenseFile = !state.openByLicenseFile;
}
/**勾选刷新网元状态 */
@@ -278,7 +278,7 @@ onMounted(() => {
<!-- 授权文件上传框 -->
<UploadLicenseFile
v-model:visible="state.visibleByLicenseFile"
v-model:open="state.openByLicenseFile"
:licenseList="state.neLicenseList"
@ok="fnModalOk"
@cancel="fnModalCancel"

View File

@@ -4,12 +4,12 @@ import useI18n from '@/hooks/useI18n';
import { nextTick, onMounted, reactive, watch } from 'vue';
import useAppStore from '@/store/modules/app';
import { parseUrlPath } from '@/plugins/file-static-url';
import { Modal, message } from 'ant-design-vue/lib';
import { Modal, message } from 'ant-design-vue/es';
import { transferStaticFile, uploadFile } from '@/api/tool/file';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { sessionGet } from '@/utils/cache-session-utils';
import { FileType } from 'ant-design-vue/lib/upload/interface';
import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
import { FileType } from 'ant-design-vue/es/upload/interface';
import { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface';
import { changeValue } from '@/api/system/config';
import { bootloaderAccount } from '@/api/system/quick-start/bootloader';
const { t, currentLocale } = useI18n();

View File

@@ -79,12 +79,17 @@ onMounted(() => {
// background: url('./../assets/black_dot.png') 0% 0% / 14px 14px repeat;
background-image: url(@/assets/background.jpg);
background-image: url(@/assets/background_light.jpg);
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
}
[data-theme='dark'] .container {
background-image: url(@/assets/background_dark.jpg);
background-color: #141414;
}
.build-card {
position: absolute;
top: 50%;

View File

@@ -2,10 +2,10 @@
import { useRoute, useRouter } from 'vue-router';
import { reactive, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { message, Modal } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { message, Modal } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import AuthUserSelect from './components/auth-user-select.vue';
import { authUserAllocatedList, authUserChecked } from '@/api/system/role';
import { parseDateToStr } from '@/utils/date-utils';
@@ -176,14 +176,14 @@ function fnTableSelectedRowKeys(keys: (string | number)[]) {
/**对话框对象信息状态类型 */
type ModalStateType = {
/**选择用户框是否显示 */
visibleBySelectUser: boolean;
openBySelectUser: boolean;
/**标题 */
title: string;
};
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleBySelectUser: false,
openBySelectUser: false,
title: t('views.system.role.distributeUser'),
});
@@ -191,7 +191,7 @@ let modalState: ModalStateType = reactive({
* 对话框弹出显示为 选择用户
*/
function fnModalVisibleBySelectUser() {
modalState.visibleBySelectUser = true;
modalState.openBySelectUser = true;
}
/**
@@ -211,7 +211,7 @@ function fnModalOk(userIds: string[] | number[]) {
roleId: roleId,
}).then(res => {
if (res.code === RESULT_CODE_SUCCESS) {
modalState.visibleBySelectUser = false;
modalState.openBySelectUser = false;
message.success({
content: t('views.system.role.suss', {
oper: t('views.system.role.giveUser'),
@@ -390,7 +390,7 @@ onMounted(() => {
<a-card :bordered="false" :body-style="{ padding: '0px' }">
<!-- 插槽-卡片左侧侧 -->
<template #title>
<div class="button-container">
<a-space :size="8" align="center">
<a-button type="default" @click.prevent="fnClose()">
<template #icon><CloseOutlined /></template>
{{ t('common.cancel') }}
@@ -413,12 +413,12 @@ onMounted(() => {
<template #icon><UsergroupDeleteOutlined /></template>
{{ t('views.system.role.batchCancel') }}
</a-button>
</div>
</a-space>
</template>
<!-- 插槽-卡片右侧 -->
<template #extra>
<div class="button-container">
<a-space :size="8" align="center">
<a-tooltip>
<template #title>{{ t('common.searchBarText') }}</template>
<a-switch
@@ -458,7 +458,7 @@ onMounted(() => {
</template>
</a-dropdown>
</a-tooltip>
</div>
</a-space>
</template>
<!-- 表格列表 -->
@@ -505,7 +505,7 @@ onMounted(() => {
<AuthUserSelect
:role-id="roleId"
:title="modalState.title"
v-model:visible="modalState.visibleBySelectUser"
v-model:open="modalState.openBySelectUser"
@ok="fnModalOk"
/>
</PageContainer>

View File

@@ -1,8 +1,9 @@
<script setup lang="ts">
import { reactive, toRaw, watch } from 'vue';
import { message } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { message } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { ColumnsType } from 'ant-design-vue/es/table';
import { ProModal } from 'antdv-pro-modal';
import { authUserAllocatedList } from '@/api/system/role';
import { parseDateToStr } from '@/utils/date-utils';
import useDictStore from '@/store/modules/dict';
@@ -10,13 +11,13 @@ import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useI18n from '@/hooks/useI18n';
const { t } = useI18n();
const { getDict } = useDictStore();
const emit = defineEmits(['ok', 'cancel', 'update:visible']);
const emit = defineEmits(['ok', 'cancel', 'update:open']);
const props = defineProps({
title: {
type: String,
default: '标题',
},
visible: {
open: {
type: Boolean,
default: false,
},
@@ -203,13 +204,13 @@ function fnModalOk() {
message.error(t('views.system.role.selectPls'), 2);
return;
}
emit('update:visible', false);
emit('update:open', false);
emit('ok', userIds);
}
/**弹框取消按钮事件 */
function fnModalCancel() {
emit('update:visible', false);
emit('update:open', false);
emit('cancel');
}
@@ -227,7 +228,7 @@ function init() {
/**监听是否显示,初始数据 */
watch(
() => props.visible,
() => props.open,
val => {
if (val) init();
}
@@ -240,7 +241,7 @@ watch(
:destroyOnClose="true"
:forceFullscreen="true"
:title="props.title"
:visible="props.visible"
:open="props.open"
:keyboard="false"
:mask-closable="false"
@ok="fnModalOk"

View File

@@ -2,10 +2,11 @@
import { useRouter, useRoute } from 'vue-router';
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { message, Modal, Form } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { ProModal } from 'antdv-pro-modal';
import { message, Modal, Form } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import {
exportRole,
addRole,
@@ -21,7 +22,7 @@ import { roleDeptTreeSelect } from '@/api/system/dept';
import { saveAs } from 'file-saver';
import { parseDateToStr } from '@/utils/date-utils';
import useDictStore from '@/store/modules/dict';
import { DataNode } from 'ant-design-vue/lib/tree';
import { DataNode } from 'ant-design-vue/es/tree';
import { parseTreeKeys, parseTreeNodeKeys } from '@/utils/parse-tree-utils';
import { hasPermissions } from '@/plugins/auth-user';
import { MENU_PATH_INLINE } from '@/constants/menu-constants';
@@ -225,11 +226,11 @@ let deptTree: TreeDataType = {
/**对话框对象信息状态类型 */
type ModalStateType = {
/**详情框是否显示 */
visibleByView: boolean;
openByView: boolean;
/**新增框或修改框是否显示 */
visibleByEdit: boolean;
openByEdit: boolean;
/**分配角色数据权限修改框是否显示 */
visibleByDataScope: boolean;
openByDataScope: boolean;
/**标题 */
title: string;
/**表单数据 */
@@ -244,9 +245,9 @@ type ModalStateType = {
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleByView: false,
visibleByEdit: false,
visibleByDataScope: false,
openByView: false,
openByEdit: false,
openByDataScope: false,
title: '角色',
from: {
roleId: undefined,
@@ -330,7 +331,7 @@ function fnModalVisibleByVive(roleId: string | number) {
modalState.from.menuIds = checkedKeys;
}
modalState.title = t('views.system.role.roleInfo');
modalState.visibleByView = true;
modalState.openByView = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -347,7 +348,7 @@ function fnModalVisibleByEdit(roleId?: string | number) {
if (menuTree.treeData.length > 0) {
modalState.menuTree.treeData = menuTree.treeData;
modalState.title = t('common.addText') + t('views.system.role.roleInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
if (modalState.confirmLoading) return;
const hide = message.loading(t('common.loading'), 0);
@@ -363,7 +364,7 @@ function fnModalVisibleByEdit(roleId?: string | number) {
modalState.menuTree.treeData = res.data;
modalState.title =
t('common.addText') + t('views.system.role.roleInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
}
});
}
@@ -388,7 +389,7 @@ function fnModalVisibleByEdit(roleId?: string | number) {
}
modalState.title =
t('common.editText') + t('views.system.role.roleInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -417,7 +418,7 @@ function fnModalOk() {
key,
duration: 2,
});
modalState.visibleByEdit = false;
modalState.openByEdit = false;
modalStateFrom.resetFields();
fnGetList(1);
} else {
@@ -442,9 +443,9 @@ function fnModalOk() {
* 进行表达规则校验
*/
function fnModalCancel() {
modalState.visibleByEdit = false;
modalState.visibleByView = false;
modalState.visibleByDataScope = false;
modalState.openByEdit = false;
modalState.openByView = false;
modalState.openByDataScope = false;
modalStateFrom.resetFields();
modalState.menuTree.checkedKeys = [];
modalState.menuTree.expandedKeys = [];
@@ -527,7 +528,7 @@ function fnModalOkDataScope() {
content: t('common.msgSuccess', { msg: modalState.title }),
duration: 2,
});
modalState.visibleByDataScope = false;
modalState.openByDataScope = false;
modalStateFrom.resetFields();
} else {
message.error({
@@ -569,7 +570,7 @@ function fnRecordDataScope(roleId: string | number) {
modalState.from.deptIds = checkedKeys;
}
modalState.title = t('views.system.role.distribute');
modalState.visibleByDataScope = true;
modalState.openByDataScope = true;
} else {
message.error(t('common.getInfoFail'), 2);
}
@@ -823,7 +824,7 @@ onMounted(() => {
<a-card :bordered="false" :body-style="{ padding: '0px' }">
<!-- 插槽-卡片左侧侧 -->
<template #title>
<div class="button-container">
<a-space :size="8" align="center">
<a-button
type="primary"
@click.prevent="fnModalVisibleByEdit()"
@@ -850,7 +851,7 @@ onMounted(() => {
<template #icon><ExportOutlined /></template>
{{ t('common.export') }}
</a-button>
</div>
</a-space>
</template>
<!-- 插槽-卡片右侧 -->
@@ -1003,12 +1004,12 @@ onMounted(() => {
:drag="true"
:width="800"
:destroyOnClose="false"
:visible="modalState.visibleByView"
:open="modalState.openByView"
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.role.roleId')" name="roleId">
{{ modalState.from.roleId }}
@@ -1025,7 +1026,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.role.roleSort')"
@@ -1046,7 +1047,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.role.roleName')"
@@ -1109,7 +1110,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByEdit"
:open="modalState.openByEdit"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOk"
@@ -1121,7 +1122,7 @@ onMounted(() => {
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.role.roleName')"
@@ -1149,7 +1150,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.role.roleKey')"
@@ -1164,7 +1165,7 @@ onMounted(() => {
{{ t('views.system.role.roleKeyTip') }}
</div>
</template>
<InfoCircleOutlined style="color: rgba(0, 0, 0, 0.45)" />
<InfoCircleOutlined style="opacity: 0.45; color: inherit" />
</a-tooltip>
</template>
</a-input>
@@ -1254,7 +1255,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByDataScope"
:open="modalState.openByDataScope"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOkDataScope"
@@ -1266,7 +1267,7 @@ onMounted(() => {
:label-col="{ span: 6 }"
:label-wrap="true"
>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.role.roleId')" name="roleId">
{{ modalState.from.roleId }}
@@ -1283,7 +1284,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.role.roleSort')"
@@ -1304,7 +1305,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.role.roleName')"

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import { Modal, message } from 'ant-design-vue/lib';
import { Modal, message } from 'ant-design-vue/es';
import { onMounted, reactive } from 'vue';
import useAppStore from '@/store/modules/app';
import useI18n from '@/hooks/useI18n';
@@ -64,7 +64,7 @@ onMounted(() => {
</script>
<template>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24" style="margin-bottom: 30px">
<a-form layout="vertical" v-if="state.edite">
<a-form-item>
@@ -111,7 +111,8 @@ onMounted(() => {
<style lang="less" scoped>
.sys-copyright {
color: rgba(0, 0, 0, 0.75);
color: inherit;
opacity: 0.75;
font-size: 14px;
font-weight: 600;
line-height: 1.4;

View File

@@ -1,12 +1,12 @@
<script lang="ts" setup>
import { Modal, message } from 'ant-design-vue/lib';
import { Modal, message } from 'ant-design-vue/es';
import { onMounted, reactive } from 'vue';
import useAppStore from '@/store/modules/app';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { transferStaticFile, uploadFileChunk } from '@/api/tool/file';
import { FileType } from 'ant-design-vue/lib/upload/interface';
import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
import { FileType } from 'ant-design-vue/es/upload/interface';
import { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface';
import { useRouter } from 'vue-router';
const appStore = useAppStore();
const router = useRouter();
@@ -113,7 +113,7 @@ onMounted(() => {
</script>
<template>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24" style="margin-bottom: 30px">
<a-form layout="vertical">
<template v-if="state.edite">

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import { Modal, message } from 'ant-design-vue/lib';
import { Modal, message } from 'ant-design-vue/es';
import { onMounted, reactive, toRaw } from 'vue';
import useI18n from '@/hooks/useI18n';
import { listMenu } from '@/api/system/menu';
@@ -80,7 +80,7 @@ onMounted(() => {
</script>
<template>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24" style="margin-bottom: 30px">
<template v-if="state.edite">
<a-form-item :label="t('views.system.setting.home')">

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import { Modal, message } from 'ant-design-vue/lib';
import { Modal, message } from 'ant-design-vue/es';
import { onMounted, reactive } from 'vue';
import useAppStore from '@/store/modules/app';
import useI18n from '@/hooks/useI18n';
@@ -68,7 +68,7 @@ onMounted(() => {
</script>
<template>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24" style="margin-bottom: 30px">
<a-form v-if="state.edite">
<a-form-item :label="t('views.system.setting.i18nOpen')">

View File

@@ -1,13 +1,13 @@
<script lang="ts" setup>
import { Modal, message } from 'ant-design-vue/lib';
import { Modal, message } from 'ant-design-vue/es';
import { onMounted, reactive } from 'vue';
import useAppStore from '@/store/modules/app';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import { changeValue } from '@/api/system/config';
import { uploadFile } from '@/api/tool/file';
import { FileType } from 'ant-design-vue/lib/upload/interface';
import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
import { FileType } from 'ant-design-vue/es/upload/interface';
import { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface';
import { sessionGet } from '@/utils/cache-session-utils';
import { parseUrlPath } from '@/plugins/file-static-url';
const appStore = useAppStore();
@@ -149,7 +149,7 @@ onMounted(() => {
</script>
<template>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24" style="margin-bottom: 30px">
<div class="sys-login-bg">
<span v-if="state.flag === '#'">

View File

@@ -1,7 +1,7 @@
<script lang="ts" setup>
import { Modal, message } from 'ant-design-vue/lib';
import { FileType } from 'ant-design-vue/lib/upload/interface';
import { UploadRequestOption } from 'ant-design-vue/lib/vc-upload/interface';
import { Modal, message } from 'ant-design-vue/es';
import { FileType } from 'ant-design-vue/es/upload/interface';
import { UploadRequestOption } from 'ant-design-vue/es/vc-upload/interface';
import IconFont from '@/components/IconFont/index.vue';
import { onMounted, reactive, watch, computed, nextTick } from 'vue';
import useAppStore from '@/store/modules/app';
@@ -217,7 +217,7 @@ onMounted(() => {
</script>
<template>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24" style="margin-bottom: 30px">
<a-form layout="vertical">
<a-form-item style="margin-bottom: 12px">

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import { Modal, message } from 'ant-design-vue/lib';
import { Modal, message } from 'ant-design-vue/es';
import { onMounted, reactive } from 'vue';
import useAppStore from '@/store/modules/app';
import useI18n from '@/hooks/useI18n';
@@ -67,7 +67,7 @@ onMounted(() => {
</script>
<template>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24" style="margin-bottom: 30px">
<a-form layout="vertical" v-if="state.edite">
<a-form-item>

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import { Modal, message } from 'ant-design-vue/lib';
import { Modal, message } from 'ant-design-vue/es';
import { onMounted, reactive } from 'vue';
import useAppStore from '@/store/modules/app';
import useI18n from '@/hooks/useI18n';
@@ -62,7 +62,7 @@ onMounted(() => {
</script>
<template>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24" style="margin-bottom: 30px">
<a-form layout="vertical" v-if="state.edite">
<a-form-item>
@@ -109,7 +109,8 @@ onMounted(() => {
<style lang="less" scoped>
.sys-title {
color: rgba(0, 0, 0, 0.85);
color: inherit;
opacity: 0.85;
font-size: 20px;
font-weight: 600;
line-height: 1.4;

View File

@@ -1,5 +1,5 @@
<script lang="ts" setup>
import { message } from 'ant-design-vue/lib';
import { message } from 'ant-design-vue/es';
import { reactive } from 'vue';
import useI18n from '@/hooks/useI18n';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
@@ -9,20 +9,20 @@ const maskStore = useMaskStore();
const { t } = useI18n();
type StateType = {
visible: boolean;
open: boolean;
count: number;
timer: any;
};
let state: StateType = reactive({
visible: false,
open: false,
count: 10,
timer: null,
});
/**对话框弹出显示 */
function fnModalVisible() {
state.visible = true;
state.open = true;
// 倒数
state.timer = setInterval(() => {
if (state.count < 0) {
@@ -55,12 +55,12 @@ function fnModalCancel() {
clearInterval(state.timer);
state.timer = null;
state.count = 10;
state.visible = false;
state.open = false;
}
</script>
<template>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24" style="margin-bottom: 30px">
<a-button type="dashed" danger @click="fnModalVisible()">
{{ t('common.reset') }}
@@ -71,7 +71,7 @@ function fnModalCancel() {
:width="416"
:destroyOnClose="true"
:mask-closable="false"
v-model:visible="state.visible"
v-model:open="state.open"
:title="t('common.tipTitle')"
:ok-text="
state.count > 0 ? `${t('common.ok')} ${state.count}` : t('common.ok')

View File

@@ -1,10 +1,11 @@
<script setup lang="ts">
import { reactive, ref, onMounted, toRaw } from 'vue';
import { PageContainer } from 'antdv-pro-layout';
import { message, Modal, Form } from 'ant-design-vue/lib';
import { SizeType } from 'ant-design-vue/lib/config-provider';
import { MenuInfo } from 'ant-design-vue/lib/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/lib/table';
import { ProModal } from 'antdv-pro-modal';
import { message, Modal, Form } from 'ant-design-vue/es';
import { SizeType } from 'ant-design-vue/es/config-provider';
import { MenuInfo } from 'ant-design-vue/es/menu/src/interface';
import { ColumnsType } from 'ant-design-vue/es/table';
import UploadModal from '@/components/UploadModal/index.vue';
import {
importData,
@@ -31,7 +32,7 @@ import {
} from '@/utils/regular-utils';
import useDictStore from '@/store/modules/dict';
import useUserStore from '@/store/modules/user';
import { DataNode } from 'ant-design-vue/lib/tree';
import { DataNode } from 'ant-design-vue/es/tree';
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
const { getDict } = useDictStore();
const userStore = useUserStore();
@@ -225,11 +226,11 @@ type OptionsType = {
/**对话框对象信息状态类型 */
type ModalStateType = {
/**详情框是否显示 */
visibleByView: boolean;
openByView: boolean;
/**新增框或修改框是否显示 */
visibleByEdit: boolean;
openByEdit: boolean;
/**重置密码框是否显示 */
visibleByResetPwd: boolean;
openByResetPwd: boolean;
/**标题 */
title: string;
/**表单数据 */
@@ -242,9 +243,9 @@ type ModalStateType = {
/**对话框对象信息状态 */
let modalState: ModalStateType = reactive({
visibleByView: false,
visibleByEdit: false,
visibleByResetPwd: false,
openByView: false,
openByEdit: false,
openByResetPwd: false,
title: '用户',
from: {
userId: undefined,
@@ -347,7 +348,7 @@ function fnModalVisibleByVive(userId: string | number) {
// 头像解析
modalState.from.avatar = userStore.fnAvatar(modalState.from.avatar);
modalState.title = t('views.system.user.userInfo');
modalState.visibleByView = true;
modalState.openByView = true;
} else {
message.error(t('views.system.user.tipRowErr'), 2);
}
@@ -388,7 +389,7 @@ function fnModalVisibleByEdit(userId?: string | number) {
modalState.from.deptId = deptTreeData.value[0].id;
modalState.title =
t('common.addText') + t('views.system.user.userInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
message.error(t('views.system.user.tipRowErr'), 2);
}
@@ -419,7 +420,7 @@ function fnModalVisibleByEdit(userId?: string | number) {
modalState.from.postIds = postIds;
modalState.title =
t('common.editText') + t('views.system.user.userInfo');
modalState.visibleByEdit = true;
modalState.openByEdit = true;
} else {
message.error(t('views.system.user.tipRowErr'), 2);
}
@@ -452,7 +453,7 @@ function fnModalOk() {
key,
duration: 2,
});
modalState.visibleByEdit = false;
modalState.openByEdit = false;
modalStateFrom.resetFields();
fnGetList(1);
} else {
@@ -477,9 +478,9 @@ function fnModalOk() {
* 进行表达规则校验
*/
function fnModalCancel() {
modalState.visibleByEdit = false;
modalState.visibleByView = false;
modalState.visibleByResetPwd = false;
modalState.openByEdit = false;
modalState.openByView = false;
modalState.openByResetPwd = false;
modalStateFrom.resetFields();
modalState.options.roles = [];
modalState.options.posts = [];
@@ -504,7 +505,7 @@ function fnModalOkResetPwd() {
key,
duration: 2,
});
modalState.visibleByResetPwd = false;
modalState.openByResetPwd = false;
modalStateFrom.resetFields();
} else {
message.error({
@@ -532,7 +533,7 @@ function fnRecordResetPwd(row: Record<string, string>) {
modalState.from.userId = row.userId;
modalState.from.userName = row.userName;
modalState.title = t('views.system.user.resetPwd');
modalState.visibleByResetPwd = true;
modalState.openByResetPwd = true;
}
/**
@@ -643,7 +644,7 @@ function fnExportList() {
/**对话框表格信息导入对象信息状态类型 */
type ModalUploadImportStateType = {
/**是否显示 */
visible: boolean;
open: boolean;
/**标题 */
title: string;
/**是否上传中 */
@@ -658,7 +659,7 @@ type ModalUploadImportStateType = {
/**对话框表格信息导入对象信息状态 */
let uploadImportState: ModalUploadImportStateType = reactive({
visible: false,
open: false,
title: t('views.system.user.importTitle'),
loading: false,
updateSupport: false,
@@ -670,12 +671,12 @@ let uploadImportState: ModalUploadImportStateType = reactive({
function fnModalUploadImportOpen() {
uploadImportState.updateSupport = false;
uploadImportState.msg = '';
uploadImportState.visible = true;
uploadImportState.open = true;
}
/**对话框表格信息导入关闭窗口 */
function fnModalUploadImportClose() {
uploadImportState.visible = false;
uploadImportState.open = false;
}
/**对话框表格信息导入上传 */
@@ -892,7 +893,7 @@ onMounted(() => {
<a-card :bordered="false" :body-style="{ padding: '0px' }">
<!-- 插槽-卡片左侧侧 -->
<template #title>
<div class="button-container">
<a-space :size="8" align="center">
<a-button
type="primary"
@click.prevent="fnModalVisibleByEdit()"
@@ -927,12 +928,12 @@ onMounted(() => {
<template #icon><ExportOutlined /></template>
{{ t('common.export') }}
</a-button>
</div>
</a-space>
</template>
<!-- 插槽-卡片右侧 -->
<template #extra>
<div class="button-container">
<a-space :size="8" align="center">
<a-tooltip>
<template #title>{{ t('common.searchBarText') }}</template>
<a-switch
@@ -972,7 +973,7 @@ onMounted(() => {
</template>
</a-dropdown>
</a-tooltip>
</div>
</a-space>
</template>
<!-- 表格列表 -->
@@ -1075,12 +1076,12 @@ onMounted(() => {
:drag="true"
:width="800"
:destroyOnClose="false"
:visible="modalState.visibleByView"
:open="modalState.openByView"
:title="modalState.title"
@cancel="fnModalCancel"
>
<a-form layout="horizontal" :label-col="{ span: 6 }" :label-wrap="true">
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.user.userNum')" name="userId">
{{ modalState.from.userId }}
@@ -1097,7 +1098,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.user.loginIp')" name="loginIp">
{{ modalState.from.loginIp }}
@@ -1114,7 +1115,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.user.userTop')" name="avatar">
<a-avatar
@@ -1143,7 +1144,7 @@ onMounted(() => {
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.user.sex')" name="sex">
<DictTag
@@ -1162,7 +1163,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.user.phone')"
@@ -1201,7 +1202,7 @@ onMounted(() => {
</a-tree-select>
</a-form-item>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.user.userWork')"
@@ -1265,7 +1266,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByEdit"
:open="modalState.openByEdit"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOk"
@@ -1277,7 +1278,7 @@ onMounted(() => {
:label-col="{ span: 6 }"
:labelWrap="true"
>
<a-row :gutter="16" v-if="!modalState.from.userId">
<a-row v-if="!modalState.from.userId">
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.user.account')"
@@ -1315,7 +1316,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.user.userName')"
@@ -1356,7 +1357,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item
:label="t('views.system.user.phone')"
@@ -1387,7 +1388,7 @@ onMounted(() => {
</a-col>
</a-row>
<a-row :gutter="16">
<a-row>
<a-col :lg="12" :md="12" :xs="24">
<a-form-item :label="t('views.system.user.sex')" name="sex">
<a-select
@@ -1486,7 +1487,7 @@ onMounted(() => {
:destroyOnClose="true"
:keyboard="false"
:mask-closable="false"
:visible="modalState.visibleByResetPwd"
:open="modalState.openByResetPwd"
:title="modalState.title"
:confirm-loading="modalState.confirmLoading"
@ok="fnModalOkResetPwd"
@@ -1527,12 +1528,12 @@ onMounted(() => {
:loading="uploadImportState.loading"
@upload="fnModalUploadImportUpload"
@close="fnModalUploadImportClose"
v-model:visible="uploadImportState.visible"
v-model:open="uploadImportState.open"
:ext="['.xls', '.xlsx']"
:size="10"
>
<template #default>
<a-row :gutter="18" justify="space-between" align="middle">
<a-row justify="space-between" align="middle">
<a-col :span="12">
<a-checkbox v-model:checked="uploadImportState.updateSupport">
{{ t('views.system.user.updateSure') }}