😎1、优化字典验证特性 2、统一按钮带icon图标 3、其他警告优化
This commit is contained in:
parent
141a270bcf
commit
8ec359e504
@ -9,8 +9,9 @@ namespace Admin.NET.Core;
|
||||
/// <summary>
|
||||
/// 字典值合规性校验特性
|
||||
/// </summary>
|
||||
[SuppressSniffer]
|
||||
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field, AllowMultiple = true, Inherited = true)]
|
||||
public class DictAttribute : ValidationAttribute
|
||||
public class DictAttribute : ValidationAttribute, ITransient
|
||||
{
|
||||
/// <summary>
|
||||
/// 字典编码
|
||||
@ -32,7 +33,7 @@ public class DictAttribute : ValidationAttribute
|
||||
/// </summary>
|
||||
/// <param name="dictTypeCode"></param>
|
||||
/// <param name="errorMessage"></param>
|
||||
public DictAttribute(string dictTypeCode, string errorMessage = "字典值不合法!")
|
||||
public DictAttribute(string dictTypeCode = "", string errorMessage = "字典值不合法!")
|
||||
{
|
||||
DictTypeCode = dictTypeCode;
|
||||
ErrorMessage = errorMessage;
|
||||
@ -46,27 +47,40 @@ public class DictAttribute : ValidationAttribute
|
||||
/// <returns></returns>
|
||||
protected override ValidationResult IsValid(object? value, ValidationContext validationContext)
|
||||
{
|
||||
// 判断是否允许空值
|
||||
if (AllowNullValue && value == null)
|
||||
return ValidationResult.Success;
|
||||
|
||||
var valueAsString = value?.ToString();
|
||||
|
||||
// 判断是否允许空值
|
||||
if (AllowNullValue && value == null) return ValidationResult.Success;
|
||||
|
||||
// 是否忽略空字符串
|
||||
if (AllowEmptyStrings && string.IsNullOrEmpty(valueAsString)) return ValidationResult.Success;
|
||||
if (AllowEmptyStrings && string.IsNullOrEmpty(valueAsString))
|
||||
return ValidationResult.Success;
|
||||
|
||||
var sysDictDataServiceProvider = App.GetRequiredService<SysDictDataService>();
|
||||
var dictDataList = sysDictDataServiceProvider.GetDataList(DictTypeCode).Result;
|
||||
// 获取属性的类型
|
||||
var property = validationContext.ObjectType.GetProperty(validationContext.MemberName);
|
||||
if (property == null)
|
||||
return new ValidationResult($"未知属性: {validationContext.MemberName}");
|
||||
|
||||
//// 获取枚举类型,可能存在Nullable类型,所以需要尝试获取最终类型
|
||||
//var type = value?.GetType();
|
||||
//type = type != null ? Nullable.GetUnderlyingType(type) ?? type : null;
|
||||
|
||||
// 使用HashSet来提高查找效率
|
||||
var valueList = dictDataList.Select(u => u.Code); // (type?.IsEnum ?? DictTypeCode.EndsWith("Enum")) ? dictDataList.Select(u => u.Value) : dictDataList.Select(u => u.Code);
|
||||
var dictHash = new HashSet<string>(valueList);
|
||||
var propertyType = Nullable.GetUnderlyingType(property.PropertyType) ?? property.PropertyType;
|
||||
// 枚举类型验证
|
||||
if (propertyType.IsEnum)
|
||||
{
|
||||
return !Enum.IsDefined(propertyType, value)
|
||||
? new ValidationResult($"提示:{ErrorMessage}|枚举值【{value}】不是有效的【{propertyType.Name}】枚举类型值!")
|
||||
: ValidationResult.Success;
|
||||
}
|
||||
|
||||
// 先尝试从 ValidationContext 的依赖注入容器中拿服务,拿不到或类型不匹配时,再从全局的 App 容器中获取
|
||||
if (validationContext.GetService(typeof(SysDictDataService)) is not SysDictDataService sysDictDataService)
|
||||
sysDictDataService = App.GetRequiredService<SysDictDataService>();
|
||||
// 获取字典值列表
|
||||
var dictDataList = sysDictDataService.GetDataList(DictTypeCode).GetAwaiter().GetResult();
|
||||
// 使用 HashSet 来提高查找效率
|
||||
var dictHash = new HashSet<string>(dictDataList.Select(u => u.Code));
|
||||
if (!dictHash.Contains(valueAsString))
|
||||
return new ValidationResult($"提示:{ErrorMessage}|字典【{DictTypeCode}】不包含【{valueAsString}】!");
|
||||
|
||||
return ValidationResult.Success;
|
||||
}
|
||||
}
|
||||
@ -212,9 +212,7 @@ public class SysMenuSeedData : ISqlSugarEntitySeedData<SysMenu>
|
||||
|
||||
new SysMenu{ Id=1310000000701, Pid=0, Title="帮助文档", Path="/doc", Name="doc", Component="Layout", Icon="ele-Notebook", Type=MenuTypeEnum.Dir, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=14000 },
|
||||
new SysMenu{ Id=1310000000711, Pid=1310000000701, Title="框架教程", Path="/doc/admin", Name="sysAdmin", Component="layout/routerView/link", IsIframe=false, IsKeepAlive=false, OutLink="http://101.43.53.74:5050/", Icon="ele-Sunny", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=100 },
|
||||
new SysMenu{ Id=1310000000712, Pid=1310000000701, Title="后台教程", Path="/doc/furion", Name="sysFurion", Component="layout/routerView/link", IsIframe=false, IsKeepAlive=false, OutLink="https://furion.baiqian.ltd/", Icon="ele-Promotion", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=110 },
|
||||
new SysMenu{ Id=1310000000713, Pid=1310000000701, Title="前端教程", Path="/doc/element", Name="sysElement", Component="layout/routerView/link", IsIframe=false, IsKeepAlive=false, OutLink="https://element-plus.gitee.io/zh-CN/", Icon="ele-Position", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=120 },
|
||||
new SysMenu{ Id=1310000000714, Pid=1310000000701, Title="SqlSugar", Path="/doc/SqlSugar", Name="sysSqlSugar", Component="layout/routerView/link", IsIframe=false, IsKeepAlive=false, OutLink="https://www.donet5.com/Home/Doc", Icon="ele-Coin", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=130 },
|
||||
new SysMenu{ Id=1310000000721, Pid=1310000000701, Title="SqlSugar", Path="/doc/SqlSugar", Name="sysSqlSugar", Component="layout/routerView/link", IsIframe=false, IsKeepAlive=false, OutLink="https://www.donet5.com/Home/Doc", Icon="ele-Coin", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), OrderNo=130 },
|
||||
|
||||
new SysMenu{ Id=1310000000801, Pid=0, Title="关于项目", Path="/about", Name="about", Component="/about/index", Icon="ele-InfoFilled", Type=MenuTypeEnum.Menu, CreateTime=DateTime.Parse("2023-03-12 00:00:00"), OrderNo=15000 },
|
||||
];
|
||||
|
||||
@ -9,7 +9,7 @@ namespace Admin.NET.Core.Service;
|
||||
/// <summary>
|
||||
/// 系统域登录信息配置输入参数
|
||||
/// </summary>
|
||||
public class SysLdapInput : BasePageInput
|
||||
public class PageLdapInput : BasePageInput
|
||||
{
|
||||
/// <summary>
|
||||
/// 域名
|
||||
@ -27,7 +27,7 @@ public class SysLdapService : IDynamicApiController, ITransient
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("获取系统域登录配置分页列表")]
|
||||
public async Task<SqlSugarPagedList<SysLdap>> Page(SysLdapInput input)
|
||||
public async Task<SqlSugarPagedList<SysLdap>> Page(PageLdapInput input)
|
||||
{
|
||||
return await _sysLdapRep.AsQueryable()
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(input.Keyword), u => u.Host.Contains(input.Keyword.Trim()))
|
||||
|
||||
@ -155,8 +155,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @@click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @@click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @@click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @@click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -74,7 +74,7 @@
|
||||
"vue-router": "^4.5.0",
|
||||
"vue-signature-pad": "^3.0.2",
|
||||
"vue3-tree-org": "^4.2.2",
|
||||
"vxe-pc-ui": "^4.3.69",
|
||||
"vxe-pc-ui": "^4.3.70",
|
||||
"vxe-table": "^4.10.5",
|
||||
"vxe-table-plugin-element": "^4.0.4",
|
||||
"vxe-table-plugin-export-xlsx": "^4.0.7",
|
||||
|
||||
@ -24,8 +24,8 @@ import { AdminResultListSysUserLdap } from '../models';
|
||||
import { AdminResultSqlSugarPagedListSysLdap } from '../models';
|
||||
import { AdminResultSysLdap } from '../models';
|
||||
import { DeleteSysLdapInput } from '../models';
|
||||
import { PageLdapInput } from '../models';
|
||||
import { SyncSysLdapInput } from '../models';
|
||||
import { SysLdapInput } from '../models';
|
||||
import { UpdateSysLdapInput } from '../models';
|
||||
/**
|
||||
* SysLdapApi - axios parameter creator
|
||||
@ -227,11 +227,11 @@ export const SysLdapApiAxiosParamCreator = function (configuration?: Configurati
|
||||
/**
|
||||
*
|
||||
* @summary 获取系统域登录配置分页列表 🔖
|
||||
* @param {SysLdapInput} [body]
|
||||
* @param {PageLdapInput} [body]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
apiSysLdapPagePost: async (body?: SysLdapInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
|
||||
apiSysLdapPagePost: async (body?: PageLdapInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
|
||||
const localVarPath = `/api/sysLdap/page`;
|
||||
// use dummy base URL string because the URL constructor only accepts absolute URLs.
|
||||
const localVarUrlObj = new URL(localVarPath, 'https://example.com');
|
||||
@ -483,11 +483,11 @@ export const SysLdapApiFp = function(configuration?: Configuration) {
|
||||
/**
|
||||
*
|
||||
* @summary 获取系统域登录配置分页列表 🔖
|
||||
* @param {SysLdapInput} [body]
|
||||
* @param {PageLdapInput} [body]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
async apiSysLdapPagePost(body?: SysLdapInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLdap>>> {
|
||||
async apiSysLdapPagePost(body?: PageLdapInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLdap>>> {
|
||||
const localVarAxiosArgs = await SysLdapApiAxiosParamCreator(configuration).apiSysLdapPagePost(body, options);
|
||||
return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
|
||||
const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
|
||||
@ -587,11 +587,11 @@ export const SysLdapApiFactory = function (configuration?: Configuration, basePa
|
||||
/**
|
||||
*
|
||||
* @summary 获取系统域登录配置分页列表 🔖
|
||||
* @param {SysLdapInput} [body]
|
||||
* @param {PageLdapInput} [body]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
*/
|
||||
async apiSysLdapPagePost(body?: SysLdapInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLdap>> {
|
||||
async apiSysLdapPagePost(body?: PageLdapInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLdap>> {
|
||||
return SysLdapApiFp(configuration).apiSysLdapPagePost(body, options).then((request) => request(axios, basePath));
|
||||
},
|
||||
/**
|
||||
@ -680,12 +680,12 @@ export class SysLdapApi extends BaseAPI {
|
||||
/**
|
||||
*
|
||||
* @summary 获取系统域登录配置分页列表 🔖
|
||||
* @param {SysLdapInput} [body]
|
||||
* @param {PageLdapInput} [body]
|
||||
* @param {*} [options] Override http request option.
|
||||
* @throws {RequiredError}
|
||||
* @memberof SysLdapApi
|
||||
*/
|
||||
public async apiSysLdapPagePost(body?: SysLdapInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLdap>> {
|
||||
public async apiSysLdapPagePost(body?: PageLdapInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSqlSugarPagedListSysLdap>> {
|
||||
return SysLdapApiFp(this.configuration).apiSysLdapPagePost(body, options).then((request) => request(this.axios, this.basePath));
|
||||
}
|
||||
/**
|
||||
|
||||
@ -289,6 +289,7 @@ export * from './page-ex-log-input';
|
||||
export * from './page-file-input';
|
||||
export * from './page-job-detail-input';
|
||||
export * from './page-job-trigger-record-input';
|
||||
export * from './page-ldap-input';
|
||||
export * from './page-log-input';
|
||||
export * from './page-msg-log-input';
|
||||
export * from './page-notice-input';
|
||||
@ -392,7 +393,6 @@ export * from './sys-job-detail';
|
||||
export * from './sys-job-trigger';
|
||||
export * from './sys-job-trigger-record';
|
||||
export * from './sys-ldap';
|
||||
export * from './sys-ldap-input';
|
||||
export * from './sys-log-diff';
|
||||
export * from './sys-log-ex';
|
||||
export * from './sys-log-msg';
|
||||
|
||||
@ -18,13 +18,13 @@ import { Search } from './search';
|
||||
* 系统域登录信息配置输入参数
|
||||
*
|
||||
* @export
|
||||
* @interface SysLdapInput
|
||||
* @interface PageLdapInput
|
||||
*/
|
||||
export interface SysLdapInput {
|
||||
export interface PageLdapInput {
|
||||
|
||||
/**
|
||||
* @type {Search}
|
||||
* @memberof SysLdapInput
|
||||
* @memberof PageLdapInput
|
||||
*/
|
||||
search?: Search;
|
||||
|
||||
@ -32,13 +32,13 @@ export interface SysLdapInput {
|
||||
* 模糊查询关键字
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof SysLdapInput
|
||||
* @memberof PageLdapInput
|
||||
*/
|
||||
keyword?: string | null;
|
||||
|
||||
/**
|
||||
* @type {Filter}
|
||||
* @memberof SysLdapInput
|
||||
* @memberof PageLdapInput
|
||||
*/
|
||||
filter?: Filter;
|
||||
|
||||
@ -46,7 +46,7 @@ export interface SysLdapInput {
|
||||
* 当前页码
|
||||
*
|
||||
* @type {number}
|
||||
* @memberof SysLdapInput
|
||||
* @memberof PageLdapInput
|
||||
*/
|
||||
page?: number;
|
||||
|
||||
@ -54,7 +54,7 @@ export interface SysLdapInput {
|
||||
* 页码容量
|
||||
*
|
||||
* @type {number}
|
||||
* @memberof SysLdapInput
|
||||
* @memberof PageLdapInput
|
||||
*/
|
||||
pageSize?: number;
|
||||
|
||||
@ -62,7 +62,7 @@ export interface SysLdapInput {
|
||||
* 排序字段
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof SysLdapInput
|
||||
* @memberof PageLdapInput
|
||||
*/
|
||||
field?: string | null;
|
||||
|
||||
@ -70,7 +70,7 @@ export interface SysLdapInput {
|
||||
* 排序方向
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof SysLdapInput
|
||||
* @memberof PageLdapInput
|
||||
*/
|
||||
order?: string | null;
|
||||
|
||||
@ -78,7 +78,7 @@ export interface SysLdapInput {
|
||||
* 降序排序
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof SysLdapInput
|
||||
* @memberof PageLdapInput
|
||||
*/
|
||||
descStr?: string | null;
|
||||
|
||||
@ -86,7 +86,7 @@ export interface SysLdapInput {
|
||||
* 域名
|
||||
*
|
||||
* @type {string}
|
||||
* @memberof SysLdapInput
|
||||
* @memberof PageLdapInput
|
||||
*/
|
||||
host?: string | null;
|
||||
}
|
||||
@ -41,8 +41,8 @@
|
||||
>
|
||||
<el-button icon="ele-Picture">选择图片</el-button>
|
||||
</el-upload>
|
||||
<el-button @click="onCancel">取 消</el-button>
|
||||
<el-button type="primary" @click="onSubmit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="onCancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="onSubmit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -184,7 +184,7 @@ const onClearFontIcon = () => {
|
||||
// 获取 input 的宽度
|
||||
const getInputWidth = () => {
|
||||
nextTick(() => {
|
||||
state.fontIconWidth = inputWidthRef.value.$el.offsetWidth;
|
||||
state.fontIconWidth = inputWidthRef.value?.$el.offsetWidth;
|
||||
});
|
||||
};
|
||||
// 监听页面宽度改变
|
||||
|
||||
@ -7,19 +7,13 @@
|
||||
<span> 数据导入 </span>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<el-row :gutter="15" v-loading="state.loading">
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-button class="ml10" type="info" icon="ele-Download" v-reclick="3000" @click="() => download()" :disabled="state.loading">模板</el-button>
|
||||
</el-col>
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<el-upload
|
||||
:limit="1"
|
||||
:show-file-list="false"
|
||||
:on-exceed="handleExceed"
|
||||
:http-request="handleImportData"
|
||||
ref="uploadRef"
|
||||
>
|
||||
<el-upload :limit="1" :show-file-list="false" :on-exceed="handleExceed" :http-request="handleImportData" ref="uploadRef">
|
||||
<template #trigger>
|
||||
<el-button type="primary" icon="ele-MostlyCloudy" v-reclick="3000" :disabled="state.loading">导入</el-button>
|
||||
</template>
|
||||
@ -29,7 +23,7 @@
|
||||
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="() => state.isShowDialog = false" :disabled="state.loading">取 消</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="() => (state.isShowDialog = false)" :disabled="state.loading">取 消</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@ -37,7 +31,7 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup name="sysImportData">
|
||||
import type {UploadInstance, UploadProps, UploadRawFile, UploadRequestOptions} from 'element-plus'
|
||||
import type { UploadInstance, UploadProps, UploadRawFile, UploadRequestOptions } from 'element-plus';
|
||||
import { ElUpload, ElMessage, genFileId } from 'element-plus';
|
||||
import { downloadStreamFile } from '/@/utils/download';
|
||||
import { reactive, ref } from 'vue';
|
||||
@ -59,29 +53,35 @@ const openDialog = () => {
|
||||
|
||||
// 选择文件超出上限事件
|
||||
const handleExceed: UploadProps['onExceed'] = (files) => {
|
||||
uploadRef.value!.clearFiles();
|
||||
const file = files[0] as UploadRawFile;
|
||||
file.uid = genFileId();
|
||||
uploadRef.value!.handleStart(file);
|
||||
}
|
||||
uploadRef.value!.clearFiles();
|
||||
const file = files[0] as UploadRawFile;
|
||||
file.uid = genFileId();
|
||||
uploadRef.value!.handleStart(file);
|
||||
};
|
||||
|
||||
// 数据导入
|
||||
const handleImportData = (opt: UploadRequestOptions): any => {
|
||||
state.loading = true;
|
||||
props.import(opt.file).then((res: any) => {
|
||||
downloadStreamFile(res);
|
||||
emit('refresh');
|
||||
state.isShowDialog = false;
|
||||
}).finally(() => {
|
||||
uploadRef.value?.clearFiles();
|
||||
state.loading = false;
|
||||
});
|
||||
}
|
||||
state.loading = true;
|
||||
props
|
||||
.import(opt.file)
|
||||
.then((res: any) => {
|
||||
downloadStreamFile(res);
|
||||
emit('refresh');
|
||||
state.isShowDialog = false;
|
||||
})
|
||||
.finally(() => {
|
||||
uploadRef.value?.clearFiles();
|
||||
state.loading = false;
|
||||
});
|
||||
};
|
||||
|
||||
// 下载模板
|
||||
const download = () => {
|
||||
props.download().then((res: any) => downloadStreamFile(res)).catch((res: any) => ElMessage.error('下载错误: ' + res));
|
||||
}
|
||||
props
|
||||
.download()
|
||||
.then((res: any) => downloadStreamFile(res))
|
||||
.catch((res: any) => ElMessage.error('下载错误: ' + res));
|
||||
};
|
||||
|
||||
// 导出对象
|
||||
defineExpose({ openDialog });
|
||||
|
||||
@ -27,8 +27,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="() => (state.isShowDialog = false)">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="() => (state.isShowDialog = false)">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
</el-timeline>
|
||||
<!-- <template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
</span>
|
||||
</template> -->
|
||||
</el-dialog>
|
||||
|
||||
@ -56,8 +56,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -24,8 +24,8 @@
|
||||
</div>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -34,8 +34,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -110,7 +110,7 @@ const options = useVxeTable<SysNoticeUser>(
|
||||
name: '消息/站内信',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'sysNotice.title', title: '标题', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'sysNotice.content', title: '内容', minWidth: 180, showOverflow: 'tooltip', slots: { default: (scope: any) => removeHtml(scope.row.sysNotice.content) } },
|
||||
{ field: 'sysNotice.type', title: '类型', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_type' } },
|
||||
@ -118,7 +118,7 @@ const options = useVxeTable<SysNoticeUser>(
|
||||
{ field: 'readStatus', title: '阅读状态', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_readStatus' } },
|
||||
{ field: 'sysNotice.publicUserName', title: '发布者', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'sysNotice.publicTime', title: '发布时间', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -35,8 +35,8 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button v-if="state.showRemove" @click="remove">删除</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@ -49,7 +49,7 @@ import { dayjs, ElMessageBox, ElMessage } from 'element-plus';
|
||||
|
||||
import { getAPI } from '/@/utils/axios-utils';
|
||||
import { SysScheduleApi } from '/@/api-services/api';
|
||||
import { SysSchedule, UpdateScheduleInput } from '/@/api-services/models';
|
||||
import { SysSchedule } from '/@/api-services/models';
|
||||
|
||||
const props = defineProps({
|
||||
title: String,
|
||||
|
||||
@ -55,7 +55,7 @@
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item class="login-animation4">
|
||||
<el-button type="primary" class="login-content-submit" round v-waves @click="handleSignIn" :loading="state.loading.signIn">
|
||||
<el-button type="primary" icon="ele-Promotion" class="login-content-submit" round v-waves @click="handleSignIn" :loading="state.loading.signIn">
|
||||
<span>{{ $t('message.account.accountBtnText') }}</span>
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item class="login-animation3">
|
||||
<el-button round type="primary" v-waves class="login-content-submit" @click="onSignIn">
|
||||
<el-button round type="primary" icon="ele-Promotion" v-waves class="login-content-submit" @click="onSignIn">
|
||||
<span>{{ $t('message.mobile.btnText') }}</span>
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
|
||||
@ -85,8 +85,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -218,8 +218,8 @@
|
||||
</el-tabs>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -41,8 +41,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -50,8 +50,8 @@
|
||||
</vxe-grid>
|
||||
</template>
|
||||
<template #footer>
|
||||
<vxe-button @click="cancel">取 消</vxe-button>
|
||||
<vxe-button status="primary" @click="submit">确 定</vxe-button>
|
||||
<vxe-button icon="ele-CircleCloseFilled" @click="cancel">取 消</vxe-button>
|
||||
<vxe-button status="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</vxe-button>
|
||||
</template>
|
||||
</vxe-modal>
|
||||
|
||||
|
||||
@ -16,8 +16,8 @@
|
||||
</div>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -78,8 +78,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -48,8 +48,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -24,8 +24,8 @@
|
||||
</el-table>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -65,7 +65,7 @@
|
||||
</vxe-grid>
|
||||
</el-card>
|
||||
|
||||
<EditCodeGenDialog :title="state.title" ref="EditCodeGenRef" @handleQuery="handleQuery" :application-namespaces="state.applicationNamespaces" />
|
||||
<EditCodeGenDialog ref="EditCodeGenRef" :title="state.title" :applicationNamespaces="state.applicationNamespaces" @handleQuery="handleQuery" />
|
||||
<CodeConfigDialog ref="CodeConfigRef" @handleQuery="handleQuery" />
|
||||
<PreviewDialog :title="state.title" ref="PreviewRef" />
|
||||
</div>
|
||||
@ -119,14 +119,14 @@ const options = useVxeTable<SysCodeGen>(
|
||||
name: '代码生成',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'configId', title: '库定位器', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'tableName', title: '表名称', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'busName', title: '业务名', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'nameSpace', title: '命名空间', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'authorName', title: '作者姓名', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'generateType', title: '生成方式', minWidth: 140, showOverflow: 'tooltip', slots: { default: 'row_generateType' } },
|
||||
{ title: '操作', fixed: 'right', width: 280, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 280, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -81,8 +81,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -108,16 +108,16 @@ const options = useVxeTable<SysConfig>(
|
||||
name: '参数配置',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'name', title: '配置名称', minWidth: 200, headerAlign: 'center', align: 'left', showOverflow: 'tooltip', sortable: true },
|
||||
{ field: 'code', title: '配置编码', minWidth: 200, headerAlign: 'center', align: 'left', showOverflow: 'tooltip', sortable: true },
|
||||
{ field: 'value', title: '属性值', minWidth: 150, showOverflow: 'tooltip', sortable: true },
|
||||
{ field: 'value', title: '属性值', minWidth: 200, showOverflow: 'tooltip', sortable: true },
|
||||
{ field: 'sysFlag', title: '内置参数', width: 80, showOverflow: 'tooltip', sortable: true, slots: { default: 'row_sysFlag' } },
|
||||
{ field: 'groupCode', title: '分组编码', minWidth: 120, showOverflow: 'tooltip', sortable: true },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip', sortable: true },
|
||||
{ field: 'remark', title: '备注', minWidth: 300, headerAlign: 'center', align: 'left', showOverflow: 'tooltip', sortable: true },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -61,8 +61,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="sys-dbTable-container">
|
||||
<vxe-modal v-model="state.visible" title="增加表" :width="800" :height="350" resize show-footer show-confirm-button show-cancel-button show-zoom fullscreen @close="cancel">
|
||||
<vxe-modal v-model="state.visible" title="增加表" show-footer show-confirm-button show-cancel-button fullscreen show-zoom resize width="100vw" height="100vh" @close="cancel">
|
||||
<template #default>
|
||||
<el-divider content-position="left" style="margin: 10px 0 18px 0">数据表信息</el-divider>
|
||||
<el-form :model="state.ruleForm" ref="ruleFormRef" label-width="auto">
|
||||
@ -52,8 +52,8 @@
|
||||
</div>
|
||||
</template>
|
||||
<template #footer>
|
||||
<vxe-button @click="cancel">取 消</vxe-button>
|
||||
<vxe-button status="primary" @click="submit">确 定</vxe-button>
|
||||
<vxe-button icon="vxe-icon-error-circle-fill" @click="cancel">取 消</vxe-button>
|
||||
<vxe-button status="primary" icon="vxe-icon-success-circle-fill" @click="submit">确 定</vxe-button>
|
||||
</template>
|
||||
</vxe-modal>
|
||||
</div>
|
||||
@ -103,13 +103,14 @@ const options = reactive<VxeGridProps>({
|
||||
seqConfig: { seqMethod: ({ row }) => row.orderNo },
|
||||
columns: [
|
||||
{
|
||||
field: 'drag',
|
||||
width: 80,
|
||||
slots: {
|
||||
default: 'drag_default',
|
||||
},
|
||||
},
|
||||
{ type: 'seq', title: '序号', width: 60 },
|
||||
{ type: 'checkbox', width: 40 },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60 },
|
||||
{ field: 'checkbox', type: 'checkbox', width: 40 },
|
||||
{
|
||||
field: 'dbColumnName',
|
||||
title: '字段名',
|
||||
@ -177,6 +178,7 @@ const options = reactive<VxeGridProps>({
|
||||
editRender: { name: '$input', props: { type: 'integer', clearable: true, placeholder: '请输入小数位' } },
|
||||
},
|
||||
{
|
||||
field: '操作',
|
||||
title: '操作',
|
||||
width: 80,
|
||||
showOverflow: true,
|
||||
|
||||
@ -23,8 +23,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -23,8 +23,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="sys-dbEntity-container">
|
||||
<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px" v-loading="state.loading">
|
||||
<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
|
||||
<template #header>
|
||||
<div style="color: #fff">
|
||||
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Cpu /> </el-icon>
|
||||
@ -38,8 +38,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel" :disabled="state.loading">取 消</el-button>
|
||||
<el-button type="primary" v-reclick="3000" @click="submit" :disabled="state.loading">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel" :disabled="state.loading">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" v-reclick="3000" @click="submit" :disabled="state.loading">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="sys-dbEntity-container">
|
||||
<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px" v-loading="state.loading">
|
||||
<el-dialog v-model="state.isShowDialog" draggable :close-on-click-modal="false" width="700px">
|
||||
<template #header>
|
||||
<div style="color: #fff">
|
||||
<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Cpu /> </el-icon>
|
||||
@ -36,8 +36,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel" :disabled="state.loading">取 消</el-button>
|
||||
<el-button type="primary" v-reclick="3000" @click="submit" :disabled="state.loading">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel" :disabled="state.loading">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" v-reclick="3000" @click="submit" :disabled="state.loading">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@ -46,7 +46,7 @@
|
||||
|
||||
<script lang="ts" setup name="sysGenEntity">
|
||||
import { onMounted, reactive, ref } from 'vue';
|
||||
import { ElMessage, ElNotification } from 'element-plus';
|
||||
import { ElNotification } from 'element-plus';
|
||||
|
||||
import { getAPI } from '/@/utils/axios-utils';
|
||||
import { SysDatabaseApi, SysDictTypeApi } from '/@/api-services/api';
|
||||
|
||||
@ -43,11 +43,11 @@ const options = useVxeTable(
|
||||
name: '备份信息',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'fileName', title: '文件名称', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'size', title: '文件大小', width: 150, showOverflow: 'tooltip', slots: { default: 'row_size' } },
|
||||
{ field: 'createTime', title: '备份时间', width: 200, showOverflow: 'tooltip', slots: { default: 'row_createTime' } },
|
||||
{ title: '操作', fixed: 'right', width: 150, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 150, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@ -71,8 +71,8 @@
|
||||
<EditColumn ref="editColumnRef" @handleQueryColumn="handleQueryColumn" />
|
||||
<AddTable ref="addTableRef" @addTableSubmitted="addTableSubmitted" />
|
||||
<AddColumn ref="addColumnRef" @handleQueryColumn="handleQueryColumn" />
|
||||
<GenEntity ref="genEntityRef" :application-namespaces="state.appNamespaces" />
|
||||
<GenSeedData ref="genSeedDataRef" :application-namespaces="state.appNamespaces" />
|
||||
<GenEntity ref="genEntityRef" :applicationNamespaces="state.appNamespaces" />
|
||||
<GenSeedData ref="genSeedDataRef" :applicationNamespaces="state.appNamespaces" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -124,7 +124,7 @@ const options = useVxeTable<DbColumnOutput>(
|
||||
name: '库表信息',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 50, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 50, fixed: 'left' },
|
||||
{ field: 'dbColumnName', title: '字段名', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'dataType', title: '数据类型', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'isPrimarykey', title: '主键', minWidth: 70, slots: { default: 'row_isPrimarykey' } },
|
||||
@ -134,7 +134,7 @@ const options = useVxeTable<DbColumnOutput>(
|
||||
{ field: 'decimalDigits', title: '精度', minWidth: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'defaultValue', title: '默认值', minWidth: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'columnDescription', title: '描述', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -65,15 +65,15 @@
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
|
||||
<el-form-item label="拓展数据">
|
||||
<el-input v-model="state.ruleForm.extData" placeholder="请输入拓展数据" clearable type="textarea" rows="6" />
|
||||
<el-input v-model="state.ruleForm.extData" placeholder="请输入拓展数据" clearable type="textarea" :rows="6" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -41,8 +41,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -39,8 +39,8 @@
|
||||
<el-empty :image-size="200" />
|
||||
</template>
|
||||
<template #row_sysFlag="{ row }">
|
||||
<el-tag v-if="row.sysFlag === 1" type="success">是</el-tag>
|
||||
<el-tag v-else type="danger">否</el-tag>
|
||||
<el-tag v-if="row.sysFlag === 1" type="info">是</el-tag>
|
||||
<el-tag v-else type="info">否</el-tag>
|
||||
</template>
|
||||
<template #row_status="{ row }">
|
||||
<el-tag v-if="row.status === 1" type="success">启用</el-tag>
|
||||
@ -117,10 +117,10 @@
|
||||
</template>
|
||||
<template #row_buttons="{ row }">
|
||||
<el-tooltip content="编辑" placement="top">
|
||||
<el-button icon="ele-Edit" text type="primary" v-auth="'sysDictType/update'" @click="handleEditDictData(row)"> </el-button>
|
||||
<el-button icon="ele-Edit" text type="primary" v-auth="'sysDictType/update'" @click="handleEditDictData(row)" :disabled="state.currentDictTypeRow.sysFlag === 1"> </el-button>
|
||||
</el-tooltip>
|
||||
<el-tooltip content="删除" placement="top">
|
||||
<el-button icon="ele-Delete" text type="danger" v-auth="'sysDictType/delete'" @click="handleDeleteDictData(row)"> </el-button>
|
||||
<el-button icon="ele-Delete" text type="danger" v-auth="'sysDictType/delete'" @click="handleDeleteDictData(row)" :disabled="state.currentDictTypeRow.sysFlag === 1"> </el-button>
|
||||
</el-tooltip>
|
||||
<el-tooltip content="复制">
|
||||
<el-button icon="ele-CopyDocument" text type="primary" v-auth="'sysDictType/add'" @click="openCopyDictData(row)"> </el-button>
|
||||
@ -175,6 +175,7 @@ const state = reactive({
|
||||
defaultSort: { field: 'orderNo', order: 'asc', descStr: 'desc' },
|
||||
},
|
||||
title: '',
|
||||
currentDictTypeRow: {} as SysDictType, // 当前字典类型行数据
|
||||
});
|
||||
|
||||
// 本地存储参数
|
||||
@ -185,14 +186,14 @@ const optionsDictType = useVxeTable<SysDictType>(
|
||||
id: 'sysDictType',
|
||||
name: '字典信息',
|
||||
columns: [
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'name', title: '字典名称', minWidth: 140, showOverflow: 'tooltip' },
|
||||
{ field: 'code', title: '字典编码', minWidth: 140, showOverflow: 'tooltip' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'name', title: '字典名称', minWidth: 140, align: 'left', headerAlign: 'center', showOverflow: 'tooltip' },
|
||||
{ field: 'code', title: '字典编码', minWidth: 140, align: 'left', headerAlign: 'center', showOverflow: 'tooltip' },
|
||||
{ field: 'sysFlag', title: '是否内置', width: 80, showOverflow: 'tooltip', slots: { default: 'row_sysFlag' } },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
@ -249,6 +250,7 @@ const handleEdit = (row: any) => {
|
||||
|
||||
// 点击字典类型,加载其字典值数据
|
||||
const handleDictData = async (scope: any) => {
|
||||
state.currentDictTypeRow = scope.row;
|
||||
state.queryParamsDictData.dictTypeId = scope.row.id;
|
||||
await handleQueryDictData();
|
||||
};
|
||||
@ -290,15 +292,15 @@ const optionsDictData = useVxeTable<SysDictData>(
|
||||
id: 'sysDictData',
|
||||
name: '字典值信息',
|
||||
columns: [
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'value', title: '字典值', minWidth: 90, showOverflow: 'tooltip', slots: { default: 'row_value' } },
|
||||
{ field: 'code', title: '编码', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'name', title: '名称', minWidth: 120, showOverflow: 'tooltip', slots: { default: 'row_name' } },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'value', title: '字典值', minWidth: 120, showOverflow: 'tooltip', slots: { default: 'row_value' } },
|
||||
{ field: 'code', title: '编码', minWidth: 150, align: 'left', headerAlign: 'center', showOverflow: 'tooltip' },
|
||||
{ field: 'name', title: '名称', minWidth: 150, align: 'left', headerAlign: 'center', showOverflow: 'tooltip', slots: { default: 'row_name' } },
|
||||
{ field: 'extData', title: '拓展数据', showOverflow: 'tooltip', slots: { default: 'row_extData' } },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 120, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 120, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -57,8 +57,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -204,7 +204,7 @@ const options = useVxeTable<SysFile>(
|
||||
name: '文件信息',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'fileName', title: '名称', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'url', title: '预览', minWidth: 100, slots: { default: 'row_url' } },
|
||||
{ field: 'sizeKb', title: '大小(KB)', minWidth: 100, showOverflow: 'tooltip' },
|
||||
@ -219,7 +219,7 @@ const options = useVxeTable<SysFile>(
|
||||
// { field: 'userName', title: '上传者', minWidth: 150, showOverflow: 'tooltip', sortable: true },
|
||||
{ field: 'createTime', title: '创建时间', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ field: 'remark', title: '备注', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ title: '操作', fixed: 'right', width: 150, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 150, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -93,8 +93,8 @@
|
||||
</el-tabs>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -122,8 +122,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -69,7 +69,7 @@
|
||||
<template #row_content="{ row }">
|
||||
<vxe-table ref="xGridTrigger" class="xGrid-style" :data="(row as JobDetailOutput).jobTriggers" style="margin: 5px" align="center">
|
||||
<!-- <vxe-column type="checkbox" width="40" fixed="left"></vxe-column> -->
|
||||
<vxe-column type="seq" width="40" fixed="left"></vxe-column>
|
||||
<vxe-column field="seq" type="seq" width="40" fixed="left"></vxe-column>
|
||||
<vxe-column field="triggerId" title="触发器编号" :minWidth="180" showOverflow="tooltip"></vxe-column>
|
||||
<vxe-column field="triggerType" title="类型" :minWidth="120" showOverflow="tooltip"></vxe-column>
|
||||
<!-- <vxe-column field="assemblyName" title="程序集" :minWidth="120" showOverflow="tooltip"></vxe-column> -->
|
||||
@ -120,7 +120,7 @@
|
||||
<el-tag type="info" v-else> 否 </el-tag>
|
||||
</template>
|
||||
</vxe-column>
|
||||
<vxe-column title="操作" :minWidth="150" fixed="right">
|
||||
<vxe-column field="buttons" title="操作" :minWidth="150" fixed="right">
|
||||
<template #default="scope">
|
||||
<el-tooltip content="启动触发器">
|
||||
<el-button size="small" type="primary" icon="ele-VideoPlay" text @click="startTrigger(scope.row)" />
|
||||
@ -303,8 +303,8 @@ const optionsJob = useVxeTable<JobDetailOutput>(
|
||||
name: '作业信息',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40 },
|
||||
{ type: 'seq', title: '序号', width: 50, fixed: 'left' },
|
||||
{ type: 'expand', width: 40, slots: { content: 'row_content' } },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 50, fixed: 'left' },
|
||||
{ field: 'expand', type: 'expand', width: 40, slots: { content: 'row_content' } },
|
||||
{ field: 'jobDetail.jobId', title: '作业编号', minWidth: 180, showOverflow: 'tooltip', slots: { default: 'row_jobId' } },
|
||||
{ field: 'jobDetail.groupName', title: '组名称', minWidth: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'jobDetail.jobType', title: '类型', minWidth: 180, showOverflow: 'tooltip' },
|
||||
@ -315,7 +315,7 @@ const optionsJob = useVxeTable<JobDetailOutput>(
|
||||
{ field: 'jobDetail.includeAnnotation', title: '扫描特性触发器', minWidth: 120, showOverflow: 'tooltip', slots: { default: 'row_includeAnnotation' } },
|
||||
{ field: 'jobDetail.updatedTime', title: '更新时间', minWidth: 130, showOverflow: 'tooltip' },
|
||||
{ field: 'jobDetail.properties', title: '额外数据', minWidth: 140, showOverflow: 'tooltip', slots: { default: 'row_properties' } },
|
||||
{ title: '操作', minWidth: 250, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', minWidth: 250, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
@ -547,7 +547,7 @@ const optionsRecord = useVxeTable<SysJobTriggerRecord>(
|
||||
name: '执行记录',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 50, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 50, fixed: 'left' },
|
||||
{ field: 'jobId', title: '作业编号', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'triggerId', title: '触发器编号', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'numberOfRuns', title: '当前运行次数', minWidth: 100, showOverflow: 'tooltip' },
|
||||
|
||||
@ -66,8 +66,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -95,7 +95,7 @@ import ModifyRecord from '/@/components/table/modifyRecord.vue';
|
||||
|
||||
import { getAPI } from '/@/utils/axios-utils';
|
||||
import { SysLdapApi } from '/@/api-services';
|
||||
import { SysLdap, PageSysLdapInput } from '/@/api-services/models';
|
||||
import { SysLdap, PageLdapInput } from '/@/api-services/models';
|
||||
|
||||
// 异步引用组件
|
||||
const PrintDialog = defineAsyncComponent(() => import('/@/views/system/print/component/hiprint/preview.vue'));
|
||||
@ -126,7 +126,7 @@ const options = useVxeTable<SysLdap>(
|
||||
name: '系统域登录信息配置',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'host', title: '主机', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'port', title: '端口', minWidth: 90, showOverflow: 'tooltip' },
|
||||
{ field: 'baseDn', title: '用户搜索基准', minWidth: 140, showOverflow: 'tooltip' },
|
||||
@ -134,8 +134,8 @@ const options = useVxeTable<SysLdap>(
|
||||
{ field: 'authFilter', title: '用户过滤规则', minWidth: 140, showOverflow: 'tooltip' },
|
||||
{ field: 'version', title: 'Ldap版本', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 200, showOverflow: true, slots: { default: 'row_buttons' }, visible: auths(['sysLdap/update', 'sysLdap/delete', 'sysLdap/syncUser']) },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 200, showOverflow: true, slots: { default: 'row_buttons' }, visible: auths(['sysLdap/update', 'sysLdap/delete', 'sysLdap/syncUser']) },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
@ -158,7 +158,7 @@ onMounted(() => {
|
||||
|
||||
// 查询api
|
||||
const handleQueryApi = async (page: VxeGridPropTypes.ProxyAjaxQueryPageParams, sort: VxeGridPropTypes.ProxyAjaxQuerySortCheckedParams) => {
|
||||
const params = Object.assign(state.queryParams, { page: page.currentPage, pageSize: page.pageSize, field: sort.field, order: sort.order, descStr: 'desc' }) as PageSysLdapInput;
|
||||
const params = Object.assign(state.queryParams, { page: page.currentPage, pageSize: page.pageSize, field: sort.field, order: sort.order, descStr: 'desc' }) as PageLdapInput;
|
||||
return getAPI(SysLdapApi).apiSysLdapPagePost(params);
|
||||
};
|
||||
|
||||
|
||||
@ -164,8 +164,8 @@ const options = useVxeTable<SysLogDiff>(
|
||||
name: '差异日志',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40 },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ type: 'expand', width: 40, slots: { content: 'row_content' } },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'expand', type: 'expand', width: 40, slots: { content: 'row_content' } },
|
||||
{ field: 'createTime', title: '操作时间', minWidth: 100, showOverflow: 'tooltip' },
|
||||
{ field: 'diffType', title: '差异操作', minWidth: 150, showOverflow: 'tooltip' },
|
||||
// { field: 'sql', title: 'Sql语句', minWidth: 150, showOverflow: 'tooltip' },
|
||||
|
||||
@ -168,7 +168,7 @@ const options = useVxeTable<SysLogEx>(
|
||||
name: '异常日志',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40 },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'logDateTime', title: '日志时间', minWidth: 160, showOverflow: 'tooltip' },
|
||||
{ field: 'controllerName', title: '模块名称', minWidth: 100, showOverflow: 'tooltip' },
|
||||
{ field: 'displayTitle', title: '显示名称', minWidth: 150, showOverflow: 'tooltip' },
|
||||
@ -189,7 +189,7 @@ const options = useVxeTable<SysLogEx>(
|
||||
{ field: 'os', title: '操作系统', minWidth: 100, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', minWidth: 70, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: 'elapsed', title: '耗时(ms)', minWidth: 100, showOverflow: 'tooltip' },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -183,10 +183,11 @@ const options = useVxeTable<SysLogMsg>(
|
||||
name: '消息日志',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40 },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'createTime', title: '消息时间', minWidth: 160, showOverflow: 'tooltip' },
|
||||
{ field: 'title', title: '消息标题', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{
|
||||
field: '接收者',
|
||||
title: '接收者',
|
||||
children: [
|
||||
{ field: 'receiveUserName', title: '姓名', minWidth: 150, showOverflow: 'tooltip' },
|
||||
@ -197,6 +198,7 @@ const options = useVxeTable<SysLogMsg>(
|
||||
],
|
||||
},
|
||||
{
|
||||
field: '发送者',
|
||||
title: '发送者',
|
||||
children: [
|
||||
{ field: 'sendUserName', title: '姓名', minWidth: 150, showOverflow: 'tooltip' },
|
||||
@ -207,7 +209,7 @@ const options = useVxeTable<SysLogMsg>(
|
||||
],
|
||||
},
|
||||
{ field: 'status', title: '状态', minWidth: 70, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -224,7 +224,7 @@ const options = useVxeTable<SysLogOp>(
|
||||
name: '操作日志',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40 },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'logDateTime', title: '日志时间', minWidth: 160, showOverflow: 'tooltip' },
|
||||
{ field: 'controllerName', title: '模块名称', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'displayTitle', title: '显示名称', minWidth: 150, showOverflow: 'tooltip' },
|
||||
@ -247,7 +247,7 @@ const options = useVxeTable<SysLogOp>(
|
||||
{ field: 'elapsed', title: '耗时(ms)', minWidth: 100, showOverflow: 'tooltip' },
|
||||
// { field: 'exception', title: '异常对象', minWidth: 150, showOverflow: 'tooltip' },
|
||||
// { field: 'message', title: '日志消息', minWidth: 160, showOverflow: 'tooltip' },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -184,7 +184,7 @@ const options = useVxeTable<SysLogVis>(
|
||||
name: '访问日志',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40 },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'logDateTime', title: '日志时间', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ field: 'displayTitle', title: '显示名称', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ field: 'actionName', title: '方法名称', minWidth: 150, showOverflow: 'tooltip' },
|
||||
|
||||
@ -131,8 +131,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -105,7 +105,7 @@ const options = useVxeTable<SysMenu>(
|
||||
name: '菜单信息',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'title', title: '菜单名称', minWidth: 180, showOverflow: 'tooltip', treeNode: true, align: 'left', headerAlign: 'center', slots: { default: 'row_title' } },
|
||||
{ field: 'type', title: '菜单类型', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_type' } },
|
||||
{ field: 'path', title: '路由路径', minWidth: 150, showOverflow: 'tooltip' },
|
||||
@ -113,8 +113,8 @@ const options = useVxeTable<SysMenu>(
|
||||
{ field: 'permission', title: '权限标识', minWidth: 160, showOverflow: 'tooltip' },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', width: 100, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 210, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 210, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -31,8 +31,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -107,7 +107,7 @@ const options = useVxeTable<SysNotice>(
|
||||
name: '通知公告',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'title', title: '标题', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'content', title: '内容', minWidth: 180, showOverflow: 'tooltip', slots: { default: (scope: any) => removeHtml(scope.row.content) } },
|
||||
{ field: 'type', title: '类型', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_type' } },
|
||||
@ -115,8 +115,8 @@ const options = useVxeTable<SysNotice>(
|
||||
{ field: 'status', title: '状态', minWidth: 100, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: 'publicUserName', title: '发布者', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'publicTime', title: '发布时间', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 180, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 180, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -18,8 +18,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -106,19 +106,19 @@ const options = useVxeTable<SysOAuthUser>(
|
||||
name: '三方账号',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'platformType', title: '平台类型', minWidth: 110, showOverflow: 'tooltip', slots: { default: 'row_platformType' } },
|
||||
{ field: 'nickName', title: '昵称', minWidth: 160, showOverflow: 'tooltip' },
|
||||
{ field: 'avatar', title: '头像', minWidth: 60, slots: { default: 'row_avatar' } },
|
||||
{ field: 'sex', title: '性别', minWidth: 60, showOverflow: 'tooltip', slots: { default: 'row_sex' } },
|
||||
{ field: 'mobile', title: '手机号码', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ field: '', title: '地址', minWidth: 200, showOverflow: 'tooltip', slots: { default: 'row_address' } },
|
||||
{ field: 'address', title: '地址', minWidth: 200, showOverflow: 'tooltip', slots: { default: 'row_address' } },
|
||||
// { field: 'city', title: '城市', minWidth: 150, showOverflow: 'tooltip' },
|
||||
// { field: 'province', title: '省', minWidth: 120, showOverflow: 'tooltip' },
|
||||
// { field: 'country', title: '国家', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ field: 'openId', title: 'OpenId', showOverflow: 'tooltip' },
|
||||
{ field: 'unionId', title: 'UnionId', showOverflow: 'tooltip' },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -41,8 +41,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -97,13 +97,13 @@ const options = useVxeTable<OpenAccessOutput>(
|
||||
name: '开发接口身份',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'accessKey', title: '身份标识', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'accessSecret', title: '密钥', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'bindUserAccount', title: '绑定用户账号', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'bindTenantName', title: '绑定租户名称', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', minWidth: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', minWidth: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -63,8 +63,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -112,15 +112,15 @@ const options = useVxeTable<SysOrg>(
|
||||
name: '机构',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'name', title: '机构名称', minWidth: 200, showOverflow: 'tooltip', treeNode: true, align: 'left', headerAlign: 'center' },
|
||||
{ field: 'code', title: '机构编码', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'level', title: '级别', minWidth: 70, showOverflow: 'tooltip' },
|
||||
{ field: 'type', title: '机构类型', minWidth: 80, formatter: ({ cellValue }: any) => state.orgTypeList.find((u: any) => u.code == cellValue)?.value, showOverflow: 'tooltip' },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 210, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 210, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -48,8 +48,8 @@
|
||||
</el-tabs>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -91,13 +91,13 @@ const options = useVxeTable<SysPlugin>(
|
||||
name: '插件信息',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'name', title: '功能名称', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'assemblyName', title: '程序集名称', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -41,8 +41,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -111,15 +111,15 @@ const options = useVxeTable<PagePosOutput>(
|
||||
name: '职位',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'name', title: '职位名称', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'code', title: '职位编码', minWidth: 200, showOverflow: 'tooltip' },
|
||||
{ field: 'userCount', title: '在职人数', width: 100, showOverflow: 'tooltip', slots: { default: 'row_userCount' } },
|
||||
{ field: 'userList', title: '人员明细', width: 100, showOverflow: 'tooltip', slots: { default: 'row_userList' } },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 210, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 210, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -13,8 +13,8 @@
|
||||
</div>
|
||||
<template #footer>
|
||||
<span class="dialog-footer" style="margin-top: 10px">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">保存模板</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">保存模板</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
@ -75,8 +75,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="templateCancel">取 消</el-button>
|
||||
<el-button type="primary" @click="templateSubmit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="templateCancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="templateSubmit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -91,15 +91,15 @@ const options = useVxeTable<SysPrint>(
|
||||
name: '打印信息',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'name', title: '名称', minWidth: 250, showOverflow: 'tooltip' },
|
||||
// { field: 'template', title: '模板', minWidth: 200, showOverflow: 'tooltip', sortable: true },
|
||||
{ field: 'createTime', title: '修改时间', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ field: 'remark', title: '备注', minWidth: 250, showOverflow: 'tooltip' },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', width: 100, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -65,8 +65,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -28,8 +28,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" :loading="state.loading" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" :loading="state.loading" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -23,8 +23,8 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<a href="https://lbs.amap.com/" target="_blank" style="float: left">高德开发平台</a>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" :loading="state.loading" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" :loading="state.loading" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -22,8 +22,8 @@
|
||||
<a href="https://dmfw.mca.gov.cn/9095/xzqh/getList?code=&maxLevel=4" target="_blank" style="float: left">国家地名信息库数据</a>
|
||||
<a href="https://dmfw.mca.gov.cn/interface.html" target="_blank" style="float: left; margin-left: 15px">接口说明</a>
|
||||
</div>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" :loading="state.loading" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" :loading="state.loading" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -34,8 +34,8 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<a href="http://lbs.tianditu.gov.cn/server/administrative2.html" target="_blank" style="float: left">天地图</a>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" :loading="state.loading" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" :loading="state.loading" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -130,7 +130,7 @@ const options = useVxeTable<SysRegion>(
|
||||
name: '区域信息',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 100, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 100, fixed: 'left' },
|
||||
{ field: 'name', title: '行政名称', minWidth: 280, showOverflow: 'tooltip', treeNode: true },
|
||||
{ field: 'code', title: '行政代码', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'type', title: '类型', minWidth: 100, showOverflow: 'tooltip' },
|
||||
@ -138,7 +138,7 @@ const options = useVxeTable<SysRegion>(
|
||||
{ field: 'cityCode', title: '区号', minWidth: 100, showOverflow: 'tooltip' },
|
||||
// { field: 'createTime', title: '修改时间', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ field: 'remark', title: '备注', minWidth: 300, showOverflow: 'tooltip' },
|
||||
{ title: '操作', fixed: 'right', width: 200, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 200, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -41,8 +41,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -50,8 +50,8 @@
|
||||
</el-card>
|
||||
<template #footer>
|
||||
<div style="margin-bottom: 20px; margin-right: 20px">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-drawer>
|
||||
|
||||
@ -27,8 +27,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -25,8 +25,8 @@
|
||||
</div>
|
||||
<template #footer>
|
||||
<div style="margin-bottom: 20px; margin-right: 20px">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-drawer>
|
||||
|
||||
@ -25,8 +25,8 @@
|
||||
</div>
|
||||
<template #footer>
|
||||
<div style="margin-bottom: 20px; margin-right: 20px">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-drawer>
|
||||
|
||||
@ -120,15 +120,15 @@ const options = useVxeTable<PageRoleOutput>(
|
||||
name: '角色',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'name', title: '角色名称', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ field: 'code', title: '角色编码', minWidth: 150, showOverflow: 'tooltip' },
|
||||
{ field: 'dataScope', title: '数据范围', minWidth: 150, showOverflow: 'tooltip', slots: { default: 'row_dataScope' } },
|
||||
{ field: 'tenantName', title: '租户名称', minWidth: 180, showOverflow: 'tooltip' },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 440, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 440, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -99,8 +99,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="() => (state.isShowDialog = false)">取 消</el-button>
|
||||
<el-button type="primary" @click="submit" v-reclick="1000">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="() => (state.isShowDialog = false)">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit" v-reclick="1000">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -143,8 +143,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -27,8 +27,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -141,7 +141,7 @@ const options = useVxeTable<TenantOutput>(
|
||||
name: '租户信息',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'name', title: '租户名称', minWidth: 160, showOverflow: 'tooltip' },
|
||||
{ field: 'adminAccount', title: '租管账号', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'phone', title: '电话', minWidth: 120, showOverflow: 'tooltip' },
|
||||
@ -155,8 +155,8 @@ const options = useVxeTable<TenantOutput>(
|
||||
{ field: 'connection', title: '数据库连接', minWidth: 300, showOverflow: 'tooltip' },
|
||||
{ field: 'slaveConnections', title: '从库连接', minWidth: 300, showOverflow: 'tooltip' },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 400, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 400, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -15,8 +15,8 @@
|
||||
</el-form>
|
||||
</template>
|
||||
<template #footer>
|
||||
<vxe-button @click="cancel">取 消</vxe-button>
|
||||
<vxe-button status="primary" @click="submit">确 定</vxe-button>
|
||||
<vxe-button icon="vxe-icon-error-circle-fill" @click="cancel">取 消</vxe-button>
|
||||
<vxe-button status="primary" icon="vxe-icon-success-circle-fill" @click="submit">确 定</vxe-button>
|
||||
</template>
|
||||
</vxe-modal>
|
||||
</div>
|
||||
|
||||
@ -60,11 +60,11 @@ const options = useVxeTable<SysUpgrade>(
|
||||
id: 'sysUpgrade',
|
||||
name: '更新日志',
|
||||
columns: [
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'content', title: '系统更新日志', align: 'left', headerAlign: 'center', type: 'html', showOverflow: 'tooltip' },
|
||||
{ field: 'createTime', title: '创建时间', width: 160, showOverflow: 'tooltip' },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 100, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
@ -78,7 +78,8 @@ const options = useVxeTable<SysUpgrade>(
|
||||
// 工具栏配置
|
||||
toolbarConfig: { export: false },
|
||||
// 行设置
|
||||
rowConfig: { height: 120 },
|
||||
rowConfig: { useKey: true, height: 120 },
|
||||
columnConfig: { useKey: true },
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button type="danger" plain @click="logout">退 出</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -234,8 +234,8 @@
|
||||
</el-tabs>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="cancel">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
@ -127,7 +127,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button icon="ele-Refresh" @click="resetPassword">重 置</el-button>
|
||||
<el-button icon="ele-SuccessFilled" type="primary" @click="submitPassword" v-auth="'sysUser/changePwd'">确 定</el-button>
|
||||
<el-button icon="ele-CircleCheckFilled" type="primary" @click="submitPassword" v-auth="'sysUser/changePwd'">确 定</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-tab-pane>
|
||||
|
||||
@ -142,7 +142,7 @@ const options = useVxeTable<UserOutput>(
|
||||
name: '账号',
|
||||
columns: [
|
||||
// { type: 'checkbox', width: 40, fixed: 'left' },
|
||||
{ type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'seq', type: 'seq', title: '序号', width: 60, fixed: 'left' },
|
||||
{ field: 'avatar', title: '头像', minWidth: 80, showOverflow: 'tooltip', slots: { default: 'row_avatar' } },
|
||||
{ field: 'account', title: '账号', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'nickName', title: '昵称', minWidth: 120, showOverflow: 'tooltip' },
|
||||
@ -156,8 +156,8 @@ const options = useVxeTable<UserOutput>(
|
||||
{ field: 'posName', title: '职位名称', minWidth: 120, showOverflow: 'tooltip' },
|
||||
{ field: 'status', title: '状态', width: 80, showOverflow: 'tooltip', slots: { default: 'row_status' } },
|
||||
{ field: 'orderNo', title: '排序', width: 80, showOverflow: 'tooltip' },
|
||||
{ field: '', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ title: '操作', fixed: 'right', width: 300, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
{ field: 'record', title: '修改记录', width: 100, showOverflow: 'tooltip', slots: { default: 'row_record' } },
|
||||
{ field: 'buttons', title: '操作', fixed: 'right', width: 300, showOverflow: true, slots: { default: 'row_buttons' } },
|
||||
],
|
||||
},
|
||||
// vxeGrid配置参数(此处可覆写任何参数),参考vxe-table官方文档
|
||||
|
||||
@ -88,8 +88,8 @@
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="closeAddDialog">取 消</el-button>
|
||||
<el-button type="primary" @click="saveData">确 定</el-button>
|
||||
<el-button icon="ele-CircleCloseFilled" @click="closeAddDialog">取 消</el-button>
|
||||
<el-button type="primary" icon="ele-CircleCheckFilled" @click="saveData">确 定</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user