feat: 页面调整组件属性升级
This commit is contained in:
@@ -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')"
|
||||
|
||||
@@ -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')"
|
||||
|
||||
@@ -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')"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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')"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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')"
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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%;
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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')"
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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')">
|
||||
|
||||
@@ -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')">
|
||||
|
||||
@@ -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 === '#'">
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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')
|
||||
|
||||
@@ -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') }}
|
||||
|
||||
Reference in New Issue
Block a user