init
This commit is contained in:
515
src/option/job/jobinfo.js
Normal file
515
src/option/job/jobinfo.js
Normal file
@@ -0,0 +1,515 @@
|
||||
export const timeExpressionTypeDic = [
|
||||
{
|
||||
label: 'API',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: 'CRON',
|
||||
value: 2,
|
||||
},
|
||||
{
|
||||
label: '固定频率(毫秒)',
|
||||
value: 3,
|
||||
},
|
||||
{
|
||||
label: '固定延迟(毫秒)',
|
||||
value: 4,
|
||||
},
|
||||
{
|
||||
label: '工作流',
|
||||
value: 5,
|
||||
},
|
||||
];
|
||||
|
||||
export const executeTypeDic = [
|
||||
{
|
||||
label: '单机执行',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: '广播执行',
|
||||
value: 2,
|
||||
},
|
||||
{
|
||||
label: 'MapReduce',
|
||||
value: 3,
|
||||
},
|
||||
];
|
||||
|
||||
export const processorTypeDic = [
|
||||
{
|
||||
label: '内建处理器',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: '外部处理器(动态加载)',
|
||||
value: 4,
|
||||
},
|
||||
];
|
||||
|
||||
export const dispatchStrategyDic = [
|
||||
{
|
||||
label: 'HEALTH_FIRST',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: 'RANDOM',
|
||||
value: 2,
|
||||
},
|
||||
];
|
||||
|
||||
export const enableDic = [
|
||||
{
|
||||
label: '暂停',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '启用',
|
||||
value: 1,
|
||||
},
|
||||
];
|
||||
|
||||
export const logTypeDic = [
|
||||
{
|
||||
label: 'ONLINE',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: 'LOCAL',
|
||||
value: 2,
|
||||
},
|
||||
{
|
||||
label: 'STDOUT',
|
||||
value: 3,
|
||||
},
|
||||
{
|
||||
label: 'LOCAL_AND_ONLINE',
|
||||
value: 4,
|
||||
},
|
||||
{
|
||||
label: 'NULL',
|
||||
value: 999,
|
||||
},
|
||||
];
|
||||
|
||||
export const logLevelDic = [
|
||||
{
|
||||
label: 'DEBUG',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: 'INFO',
|
||||
value: 2,
|
||||
},
|
||||
{
|
||||
label: 'WARN',
|
||||
value: 3,
|
||||
},
|
||||
{
|
||||
label: 'ERROR',
|
||||
value: 4,
|
||||
},
|
||||
{
|
||||
label: 'OFF',
|
||||
value: 99,
|
||||
},
|
||||
];
|
||||
|
||||
export default {
|
||||
height: 'auto',
|
||||
calcHeight: 30,
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 6,
|
||||
border: true,
|
||||
index: true,
|
||||
viewBtn: true,
|
||||
selection: true,
|
||||
grid: true,
|
||||
labelWidth: 180,
|
||||
menuWidth: 350,
|
||||
dialogWidth: 1200,
|
||||
dialogClickModal: false,
|
||||
tabs: true,
|
||||
column: [
|
||||
{
|
||||
label: '任务应用',
|
||||
prop: 'jobServerId',
|
||||
type: 'select',
|
||||
dicUrl: '/blade-job/job-server/select',
|
||||
props: {
|
||||
label: 'jobAppName',
|
||||
value: 'id',
|
||||
},
|
||||
search: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '任务ID',
|
||||
prop: 'jobId',
|
||||
type: 'input',
|
||||
search: true,
|
||||
width: 80,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '任务名称',
|
||||
prop: 'jobName',
|
||||
type: 'input',
|
||||
search: true,
|
||||
width: 200,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '定时信息',
|
||||
labelTip: '时间表达式类型',
|
||||
prop: 'timeExpressionType',
|
||||
type: 'select',
|
||||
dicData: timeExpressionTypeDic,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择定时信息',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
width: 120,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '执行类型',
|
||||
labelTip: '枚举值',
|
||||
prop: 'executeType',
|
||||
type: 'select',
|
||||
dicData: executeTypeDic,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择执行器类型',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
width: 110,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '处理器类型',
|
||||
labelTip: '枚举值',
|
||||
prop: 'processorType',
|
||||
type: 'select',
|
||||
dicData: processorTypeDic,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择处理器类型',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
width: 180,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '任务状态',
|
||||
labelTip: '未启用的任务不会被调度',
|
||||
prop: 'enable',
|
||||
type: 'switch',
|
||||
dicData: enableDic,
|
||||
slot: true,
|
||||
width: 100,
|
||||
display: false,
|
||||
},
|
||||
],
|
||||
group: [
|
||||
{
|
||||
label: '基础配置',
|
||||
prop: 'modelSetting',
|
||||
icon: 'el-icon-tickets',
|
||||
column: [
|
||||
{
|
||||
label: '任务应用',
|
||||
prop: 'jobServerId',
|
||||
type: 'select',
|
||||
dicUrl: '/blade-job/job-server/select',
|
||||
props: {
|
||||
label: 'jobAppName',
|
||||
value: 'id',
|
||||
},
|
||||
editDisabled: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择任务应用',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '任务状态',
|
||||
labelTip: '未启用的任务不会被调度',
|
||||
prop: 'enable',
|
||||
type: 'switch',
|
||||
value: 1,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择是否开启',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '任务名称',
|
||||
prop: 'jobName',
|
||||
type: 'input',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入任务名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '生命周期',
|
||||
labelTip: '预留,用于指定定时调度任务的生效时间范围)',
|
||||
prop: 'lifecycle',
|
||||
type: 'datetimerange',
|
||||
format: 'YYYY-MM-DD HH:mm:ss',
|
||||
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||
startPlaceholder: '任务开始时间',
|
||||
endPlaceholder: '任务结束时间',
|
||||
},
|
||||
{
|
||||
label: '定时类型',
|
||||
labelTip: '时间表达式类型',
|
||||
prop: 'timeExpressionType',
|
||||
type: 'select',
|
||||
dicData: timeExpressionTypeDic,
|
||||
value: 2,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择定时信息',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '时间表达式',
|
||||
labelTip: '填写类型由 定时类型 决定,比如 CRON 需要填写 CRON 表达式',
|
||||
prop: 'timeExpression',
|
||||
type: 'input',
|
||||
},
|
||||
{
|
||||
label: '执行类型',
|
||||
labelTip: '枚举值',
|
||||
prop: 'executeType',
|
||||
type: 'select',
|
||||
dicData: executeTypeDic,
|
||||
value: 1,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择执行器类型',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '运行时配置',
|
||||
labelTip: '目前支持随机(RANDOM)和健康度优先(HEALTH_FIRST)',
|
||||
prop: 'dispatchStrategy',
|
||||
type: 'select',
|
||||
dicData: dispatchStrategyDic,
|
||||
value: 1,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择运行时配置',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '处理器类型',
|
||||
labelTip: '枚举值',
|
||||
prop: 'processorType',
|
||||
type: 'select',
|
||||
dicData: processorTypeDic,
|
||||
value: 1,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择处理器类型',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '处理器参数',
|
||||
labelTip:
|
||||
'如Java处理器需要填写全限定类名,如:org.springblade.demo.MapReduceProcessorDemo',
|
||||
prop: 'processorInfo',
|
||||
type: 'input',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入处理器参数',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '任务参数',
|
||||
labelTip: '方法入参 TaskContext 对象的 json 字段',
|
||||
prop: 'jobParams',
|
||||
type: 'input',
|
||||
span: 24,
|
||||
},
|
||||
{
|
||||
label: '任务描述',
|
||||
prop: 'jobDescription',
|
||||
type: 'textarea',
|
||||
minRows: 3,
|
||||
span: 24,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '高级配置',
|
||||
prop: 'templateSetting',
|
||||
icon: 'el-icon-copy-document',
|
||||
column: [
|
||||
{
|
||||
label: '最大实例数',
|
||||
labelTip:
|
||||
'该任务同时执行的数量(任务和实例就像是类和对象的关系,任务被调度执行后被称为实例)',
|
||||
prop: 'maxInstanceNum',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '单机线程并发数',
|
||||
labelTip: '该实例执行过程中每个 Worker 使用的线程数量',
|
||||
prop: 'concurrency',
|
||||
type: 'number',
|
||||
value: 5,
|
||||
},
|
||||
{
|
||||
label: '任务实例运行时间限制',
|
||||
labelTip: '0 代表无任何限制,超时会被打断并判定为执行失败',
|
||||
prop: 'instanceTimeLimit',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '任务实例重试次数',
|
||||
labelTip: '任务实例重试次数,整个任务失败时重试,代价大,不推荐使用',
|
||||
prop: 'instanceRetryNum',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '任务作业重试次数',
|
||||
labelTip: 'Task 重试次数,每个子 Task 失败后单独重试,代价小,推荐使用',
|
||||
prop: 'taskRetryNum',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '最低CPU核心',
|
||||
labelTip:
|
||||
'最小可用 CPU 核心数,CPU 可用核心数小于该值的 Worker 将不会执行该任务,0 代表无任何限制',
|
||||
prop: 'minCpuCores',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '最低内存(GB)',
|
||||
labelTip: '可用内存小于该值的Worker 将不会执行该任务,0 代表无任何限制',
|
||||
prop: 'minMemorySpace',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '最低磁盘空间(GB)',
|
||||
labelTip: '可用磁盘空间小于该值的Worker 将不会执行该任务,0 代表无任何限制',
|
||||
prop: 'minDiskSpace',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '执行机器地址',
|
||||
labelTip: '设置该参数后只有列表中的机器允许执行该任务,空代表不指定机器',
|
||||
prop: 'designatedWorkers',
|
||||
type: 'input',
|
||||
},
|
||||
{
|
||||
label: '最大执行机器数量',
|
||||
labelTip: '限定调动执行的机器数量,0代表无限制',
|
||||
prop: 'maxWorkerCount',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '其他配置',
|
||||
prop: 'codingSetting',
|
||||
icon: 'el-icon-printer',
|
||||
column: [
|
||||
{
|
||||
label: '报警人员ID列表',
|
||||
labelTip: '接收报警的用户ID列表',
|
||||
prop: 'notifyUserIds',
|
||||
type: 'input',
|
||||
},
|
||||
{
|
||||
label: '错误阈值',
|
||||
labelTip: '错误阈值,0代表不限制',
|
||||
prop: 'alertThreshold',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '统计窗口(s)',
|
||||
labelTip: '统计的窗口长度(s),0代表不限制',
|
||||
prop: 'statisticWindowLen',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '沉默窗口(s)',
|
||||
labelTip: '沉默时间窗口(s),0代表不限制',
|
||||
prop: 'silenceWindowLen',
|
||||
type: 'number',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '日志配置',
|
||||
labelTip: '日志配置',
|
||||
prop: 'logType',
|
||||
type: 'select',
|
||||
value: 1,
|
||||
dicData: logTypeDic,
|
||||
},
|
||||
{
|
||||
label: '日志级别',
|
||||
labelTip: '日志级别',
|
||||
prop: 'logLevel',
|
||||
type: 'select',
|
||||
value: 2,
|
||||
dicData: logLevelDic,
|
||||
},
|
||||
{
|
||||
label: '扩展字段',
|
||||
labelTip: '供开发者使用,用于功能扩展,powerjob 自身不会使用该字段',
|
||||
prop: 'extra',
|
||||
type: 'textarea',
|
||||
minRows: 3,
|
||||
span: 24,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
78
src/option/job/jobserver.js
Normal file
78
src/option/job/jobserver.js
Normal file
@@ -0,0 +1,78 @@
|
||||
export default {
|
||||
height: 'auto',
|
||||
calcHeight: 30,
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 6,
|
||||
border: true,
|
||||
index: true,
|
||||
viewBtn: true,
|
||||
selection: true,
|
||||
grid: true,
|
||||
labelWidth: 100,
|
||||
menuWidth: 350,
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: '服务名称',
|
||||
prop: 'jobServerName',
|
||||
type: 'input',
|
||||
span: 24,
|
||||
search: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入服务名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '服务器地址',
|
||||
prop: 'jobServerUrl',
|
||||
type: 'input',
|
||||
span: 24,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入服务器地址',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '应用名称',
|
||||
prop: 'jobAppName',
|
||||
type: 'input',
|
||||
span: 24,
|
||||
search: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入应用名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '应用密码',
|
||||
prop: 'jobAppPassword',
|
||||
type: 'input',
|
||||
span: 24,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入应用密码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '任务备注',
|
||||
prop: 'jobRemark',
|
||||
type: 'textarea',
|
||||
minRows: 3,
|
||||
span: 24,
|
||||
},
|
||||
],
|
||||
};
|
||||
111
src/option/system/authlock.js
Normal file
111
src/option/system/authlock.js
Normal file
@@ -0,0 +1,111 @@
|
||||
export const LOCK_TYPE_DIC = [
|
||||
{ label: '系统锁定', value: 'SYSTEM' },
|
||||
{ label: '手动锁定', value: 'MANUAL' },
|
||||
];
|
||||
|
||||
export const LOCK_STATUS_DIC = [
|
||||
{ label: '待锁定', value: 'PRE_LOCKED' },
|
||||
{ label: '锁定中', value: 'LOCKED' },
|
||||
{ label: '已解锁', value: 'UN_LOCKED' },
|
||||
];
|
||||
|
||||
export const authLockOption = {
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 6,
|
||||
border: true,
|
||||
index: true,
|
||||
addBtn: false,
|
||||
viewBtn: false,
|
||||
editBtn: false,
|
||||
delBtn: false,
|
||||
menuWidth: 160,
|
||||
dialogType: 'drawer',
|
||||
dialogWidth: 800,
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: '锁定目标',
|
||||
prop: 'lockTarget',
|
||||
slot: true,
|
||||
search: true,
|
||||
span: 24,
|
||||
searchPlaceholder: '请输入账号或IP',
|
||||
},
|
||||
{
|
||||
label: '用户姓名',
|
||||
prop: 'userName',
|
||||
slot: true,
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
label: '请求IP',
|
||||
prop: 'remoteIp',
|
||||
slot: true,
|
||||
search: true,
|
||||
searchPlaceholder: '请输入IP地址',
|
||||
width: 160,
|
||||
},
|
||||
{
|
||||
label: '失败次数',
|
||||
prop: 'failCount',
|
||||
width: 80,
|
||||
align: 'center',
|
||||
hide: true,
|
||||
},
|
||||
{
|
||||
label: '用户代理',
|
||||
prop: 'userAgent',
|
||||
hide: true,
|
||||
overHidden: true,
|
||||
},
|
||||
{
|
||||
label: '锁定类型',
|
||||
prop: 'lockType',
|
||||
slot: true,
|
||||
type: 'select',
|
||||
dicData: LOCK_TYPE_DIC,
|
||||
width: 90,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
label: '锁定状态',
|
||||
prop: 'lockStatus',
|
||||
slot: true,
|
||||
type: 'select',
|
||||
search: true,
|
||||
dicData: LOCK_STATUS_DIC,
|
||||
width: 90,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
label: '锁定开始',
|
||||
prop: 'lockBeginTime',
|
||||
slot: true,
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
label: '锁定结束',
|
||||
prop: 'lockEndTime',
|
||||
slot: true,
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
label: '锁定原因',
|
||||
prop: 'lockReason',
|
||||
type: 'textarea',
|
||||
hide: true,
|
||||
overHidden: true,
|
||||
minWidth: 160,
|
||||
span: 24,
|
||||
},
|
||||
{
|
||||
label: '解锁原因',
|
||||
prop: 'unlockReason',
|
||||
type: 'textarea',
|
||||
hide: true,
|
||||
overHidden: true,
|
||||
span: 24,
|
||||
},
|
||||
],
|
||||
};
|
||||
94
src/option/system/authlog.js
Normal file
94
src/option/system/authlog.js
Normal file
@@ -0,0 +1,94 @@
|
||||
export const GRANT_TYPE_DIC = [
|
||||
{ label: '密码登录', value: 'password' },
|
||||
{ label: '验证码登录', value: 'captcha' },
|
||||
{ label: '短信登录', value: 'sms' },
|
||||
{ label: '社交登录', value: 'social' },
|
||||
{ label: '客户端凭证', value: 'client_credentials' },
|
||||
{ label: '刷新令牌', value: 'refresh_token' },
|
||||
];
|
||||
|
||||
export const authLogOption = {
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 6,
|
||||
border: true,
|
||||
index: true,
|
||||
addBtn: false,
|
||||
viewBtn: false,
|
||||
editBtn: false,
|
||||
delBtn: false,
|
||||
menu: true,
|
||||
menuWidth: 100,
|
||||
dialogType: 'drawer',
|
||||
dialogWidth: 800,
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: '授权账号',
|
||||
prop: 'account',
|
||||
slot: true,
|
||||
search: true,
|
||||
searchPlaceholder: '请输入账号',
|
||||
},
|
||||
{
|
||||
label: '用户姓名',
|
||||
prop: 'realName',
|
||||
},
|
||||
{
|
||||
label: '授权类型',
|
||||
prop: 'grantType',
|
||||
type: 'select',
|
||||
search: true,
|
||||
dicData: GRANT_TYPE_DIC,
|
||||
width: 110,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
label: '请求IP',
|
||||
prop: 'remoteIp',
|
||||
slot: true,
|
||||
search: true,
|
||||
searchPlaceholder: '请输入IP地址',
|
||||
width: 160,
|
||||
},
|
||||
{
|
||||
label: '服务ID',
|
||||
prop: 'serviceId',
|
||||
hide: true,
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
label: '服务器IP',
|
||||
prop: 'serverIp',
|
||||
hide: true,
|
||||
width: 160,
|
||||
},
|
||||
{
|
||||
label: '环境',
|
||||
prop: 'env',
|
||||
slot: true,
|
||||
width: 80,
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
label: '服务器名',
|
||||
prop: 'serverHost',
|
||||
hide: true,
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
label: '登录时间',
|
||||
prop: 'loginTime',
|
||||
span: 24,
|
||||
width: 180,
|
||||
},
|
||||
{
|
||||
label: '用户代理',
|
||||
prop: 'userAgent',
|
||||
type: 'textarea',
|
||||
span: 24,
|
||||
hide: true,
|
||||
overHidden: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
210
src/option/system/dict.js
Normal file
210
src/option/system/dict.js
Normal file
@@ -0,0 +1,210 @@
|
||||
export const optionParent = {
|
||||
height: 'auto',
|
||||
calcHeight: 32,
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 10,
|
||||
border: true,
|
||||
index: true,
|
||||
selection: true,
|
||||
viewBtn: true,
|
||||
menuWidth: 250,
|
||||
dialogWidth: 880,
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: '字典编号',
|
||||
prop: 'code',
|
||||
search: true,
|
||||
slot: true,
|
||||
span: 24,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典编号',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典名称',
|
||||
prop: 'dictValue',
|
||||
search: true,
|
||||
align: 'center',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典排序',
|
||||
prop: 'sort',
|
||||
type: 'number',
|
||||
align: 'right',
|
||||
width: 100,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典排序',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '封存',
|
||||
prop: 'isSealed',
|
||||
type: 'switch',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dicData: [
|
||||
{
|
||||
label: '否',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '是',
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
value: 0,
|
||||
slot: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择封存',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典备注',
|
||||
prop: 'remark',
|
||||
hide: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export const optionChild = {
|
||||
height: 'auto',
|
||||
calcHeight: 95,
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 10,
|
||||
tree: true,
|
||||
border: true,
|
||||
index: true,
|
||||
selection: true,
|
||||
viewBtn: true,
|
||||
menuWidth: 300,
|
||||
dialogWidth: 880,
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: '字典编号',
|
||||
prop: 'code',
|
||||
addDisabled: true,
|
||||
editDisabled: true,
|
||||
search: true,
|
||||
span: 24,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典编号',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典名称',
|
||||
prop: 'dictValue',
|
||||
search: true,
|
||||
align: 'center',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '上级字典',
|
||||
prop: 'parentId',
|
||||
type: 'tree',
|
||||
dicData: [],
|
||||
hide: true,
|
||||
props: {
|
||||
label: 'title',
|
||||
},
|
||||
addDisabled: true,
|
||||
editDisabled: true,
|
||||
rules: [
|
||||
{
|
||||
required: false,
|
||||
message: '请选择上级字典',
|
||||
trigger: 'click',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典键值',
|
||||
prop: 'dictKey',
|
||||
width: 85,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典键值',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典排序',
|
||||
prop: 'sort',
|
||||
type: 'number',
|
||||
align: 'right',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典排序',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '封存',
|
||||
prop: 'isSealed',
|
||||
type: 'switch',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dicData: [
|
||||
{
|
||||
label: '否',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '是',
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
value: 0,
|
||||
slot: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择封存',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典备注',
|
||||
prop: 'remark',
|
||||
hide: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
211
src/option/system/dictbiz.js
Normal file
211
src/option/system/dictbiz.js
Normal file
@@ -0,0 +1,211 @@
|
||||
export const optionParent = {
|
||||
height: 'auto',
|
||||
calcHeight: 32,
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 10,
|
||||
border: true,
|
||||
index: true,
|
||||
selection: true,
|
||||
viewBtn: true,
|
||||
menuWidth: 250,
|
||||
dialogWidth: 880,
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: '字典编号',
|
||||
prop: 'code',
|
||||
search: true,
|
||||
slot: true,
|
||||
span: 24,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典编号',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典名称',
|
||||
prop: 'dictValue',
|
||||
search: true,
|
||||
align: 'center',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典排序',
|
||||
prop: 'sort',
|
||||
type: 'number',
|
||||
align: 'right',
|
||||
width: 100,
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典排序',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '封存',
|
||||
prop: 'isSealed',
|
||||
type: 'switch',
|
||||
align: 'center',
|
||||
width: 100,
|
||||
dicData: [
|
||||
{
|
||||
label: '否',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '是',
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
value: 0,
|
||||
slot: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择封存',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典备注',
|
||||
prop: 'remark',
|
||||
hide: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export const optionChild = {
|
||||
height: 'auto',
|
||||
calcHeight: 95,
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 10,
|
||||
tree: true,
|
||||
border: true,
|
||||
index: true,
|
||||
selection: true,
|
||||
viewBtn: true,
|
||||
menuWidth: 300,
|
||||
dialogWidth: 880,
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: '字典编号',
|
||||
prop: 'code',
|
||||
addDisabled: true,
|
||||
editDisabled: true,
|
||||
search: true,
|
||||
span: 24,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典编号',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典名称',
|
||||
prop: 'dictValue',
|
||||
search: true,
|
||||
align: 'center',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '上级字典',
|
||||
prop: 'parentId',
|
||||
type: 'tree',
|
||||
dicData: [],
|
||||
hide: true,
|
||||
props: {
|
||||
label: 'title',
|
||||
},
|
||||
addDisabled: true,
|
||||
editDisabled: true,
|
||||
rules: [
|
||||
{
|
||||
required: false,
|
||||
message: '请选择上级字典',
|
||||
trigger: 'click',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典键值',
|
||||
prop: 'dictKey',
|
||||
width: 85,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典键值',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典排序',
|
||||
prop: 'sort',
|
||||
type: 'number',
|
||||
align: 'right',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入字典排序',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '封存',
|
||||
prop: 'isSealed',
|
||||
type: 'switch',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dicData: [
|
||||
{
|
||||
label: '否',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '是',
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
value: 0,
|
||||
slot: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择封存',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '字典备注',
|
||||
prop: 'remark',
|
||||
hide: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
534
src/option/system/user.js
Normal file
534
src/option/system/user.js
Normal file
@@ -0,0 +1,534 @@
|
||||
import website from '@/config/website';
|
||||
import { getDeptLazyTree } from '@/api/system/dept';
|
||||
|
||||
export const userOption = safe => {
|
||||
const validatePass = (rule, value, callback) => {
|
||||
if (value === '') {
|
||||
callback(new Error('请输入密码'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
const validatePass2 = (rule, value, callback) => {
|
||||
if (value === '') {
|
||||
callback(new Error('请再次输入密码'));
|
||||
} else if (value !== safe.form.password) {
|
||||
callback(new Error('两次输入密码不一致!'));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
return {
|
||||
height: 'auto',
|
||||
calcHeight: 150,
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 6,
|
||||
border: true,
|
||||
index: true,
|
||||
selection: true,
|
||||
addBtn: false,
|
||||
viewBtn: true,
|
||||
dialogType: 'drawer',
|
||||
dialogWidth: 1000,
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: '登录账号',
|
||||
prop: 'account',
|
||||
search: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '所属租户',
|
||||
prop: 'tenantName',
|
||||
slot: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '用户姓名',
|
||||
prop: 'realName',
|
||||
search: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '所属角色',
|
||||
prop: 'roleName',
|
||||
slot: true,
|
||||
overHidden: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '所属部门',
|
||||
prop: 'deptName',
|
||||
slot: true,
|
||||
overHidden: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '用户平台',
|
||||
prop: 'userTypeName',
|
||||
width: 100,
|
||||
slot: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '用户平台',
|
||||
type: 'select',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=user_type',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
dataType: 'number',
|
||||
search: true,
|
||||
hide: true,
|
||||
display: false,
|
||||
prop: 'userType',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择用户平台',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
group: [
|
||||
{
|
||||
label: '基础信息',
|
||||
prop: 'baseInfo',
|
||||
icon: 'el-icon-user-solid',
|
||||
column: [
|
||||
{
|
||||
label: '所属租户',
|
||||
prop: 'tenantId',
|
||||
type: 'tree',
|
||||
dicUrl: '/blade-system/tenant/select',
|
||||
props: {
|
||||
label: 'tenantName',
|
||||
value: 'tenantId',
|
||||
},
|
||||
hide: !website.tenantMode,
|
||||
addDisplay: website.tenantMode,
|
||||
editDisplay: website.tenantMode,
|
||||
viewDisplay: website.tenantMode,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入所属租户',
|
||||
trigger: 'click',
|
||||
},
|
||||
],
|
||||
span: 24,
|
||||
},
|
||||
{
|
||||
label: '登录账号',
|
||||
prop: 'account',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入登录账号',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '用户平台',
|
||||
type: 'select',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=user_type',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
dataType: 'number',
|
||||
slot: true,
|
||||
prop: 'userType',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择用户平台',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '密码',
|
||||
prop: 'password',
|
||||
hide: true,
|
||||
editDisplay: false,
|
||||
viewDisplay: false,
|
||||
rules: [{ required: true, validator: validatePass, trigger: 'blur' }],
|
||||
},
|
||||
{
|
||||
label: '确认密码',
|
||||
prop: 'password2',
|
||||
hide: true,
|
||||
editDisplay: false,
|
||||
viewDisplay: false,
|
||||
rules: [{ required: true, validator: validatePass2, trigger: 'blur' }],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '详细信息',
|
||||
prop: 'detailInfo',
|
||||
icon: 'el-icon-s-order',
|
||||
column: [
|
||||
{
|
||||
label: '用户昵称',
|
||||
prop: 'name',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入用户昵称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '用户姓名',
|
||||
prop: 'realName',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入用户姓名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
min: 2,
|
||||
max: 10,
|
||||
message: '姓名长度在2到5个字符',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '手机号码',
|
||||
prop: 'phone',
|
||||
overHidden: true,
|
||||
},
|
||||
{
|
||||
label: '电子邮箱',
|
||||
prop: 'email',
|
||||
hide: true,
|
||||
overHidden: true,
|
||||
},
|
||||
{
|
||||
label: '用户性别',
|
||||
prop: 'sex',
|
||||
type: 'select',
|
||||
dicData: [
|
||||
{
|
||||
label: '男',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: '女',
|
||||
value: 2,
|
||||
},
|
||||
{
|
||||
label: '未知',
|
||||
value: 3,
|
||||
},
|
||||
],
|
||||
hide: true,
|
||||
},
|
||||
{
|
||||
label: '用户生日',
|
||||
type: 'date',
|
||||
prop: 'birthday',
|
||||
format: 'YYYY-MM-DD HH:mm:ss',
|
||||
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||
hide: true,
|
||||
},
|
||||
{
|
||||
label: '账号状态',
|
||||
prop: 'statusName',
|
||||
hide: true,
|
||||
display: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '职责信息',
|
||||
prop: 'dutyInfo',
|
||||
icon: 'el-icon-s-custom',
|
||||
column: [
|
||||
{
|
||||
label: '用户编号',
|
||||
prop: 'code',
|
||||
},
|
||||
{
|
||||
label: '所属角色',
|
||||
prop: 'roleId',
|
||||
multiple: true,
|
||||
type: 'tree',
|
||||
dicData: [],
|
||||
props: {
|
||||
label: 'title',
|
||||
},
|
||||
checkStrictly: true,
|
||||
slot: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择所属角色',
|
||||
trigger: 'click',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '所属部门',
|
||||
prop: 'deptId',
|
||||
type: 'tree',
|
||||
multiple: true,
|
||||
dicData: [],
|
||||
props: {
|
||||
label: 'title',
|
||||
},
|
||||
checkStrictly: true,
|
||||
slot: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择所属部门',
|
||||
trigger: 'click',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '所属岗位',
|
||||
prop: 'postId',
|
||||
type: 'tree',
|
||||
multiple: true,
|
||||
dicData: [],
|
||||
props: {
|
||||
label: 'postName',
|
||||
value: 'id',
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择所属岗位',
|
||||
trigger: 'click',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '直属主管',
|
||||
prop: 'leaderId',
|
||||
type: 'tree',
|
||||
multiple: true,
|
||||
filterable: true,
|
||||
dicData: [],
|
||||
props: {
|
||||
label: 'realName',
|
||||
value: 'id',
|
||||
},
|
||||
clearable: true,
|
||||
},
|
||||
{
|
||||
label: '是否主管',
|
||||
prop: 'isLeader',
|
||||
type: 'switch',
|
||||
dicData: [
|
||||
{
|
||||
label: '否',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '是',
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
value: 0,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
};
|
||||
|
||||
export const platformOption = {
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 6,
|
||||
border: true,
|
||||
index: true,
|
||||
selection: true,
|
||||
viewBtn: true,
|
||||
dialogClickModal: false,
|
||||
menuWidth: 120,
|
||||
editBtnText: '配置',
|
||||
column: [
|
||||
{
|
||||
label: '登录账号',
|
||||
prop: 'account',
|
||||
search: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '所属租户',
|
||||
prop: 'tenantName',
|
||||
slot: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '用户姓名',
|
||||
prop: 'realName',
|
||||
search: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '用户平台',
|
||||
prop: 'userTypeName',
|
||||
slot: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '用户平台',
|
||||
type: 'select',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=user_type',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
dataType: 'number',
|
||||
search: true,
|
||||
hide: true,
|
||||
display: false,
|
||||
prop: 'userType',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择用户平台',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '用户拓展',
|
||||
prop: 'userExt',
|
||||
type: 'textarea',
|
||||
minRows: 8,
|
||||
span: 24,
|
||||
overHidden: true,
|
||||
row: true,
|
||||
hide: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export const excelOption = {
|
||||
submitBtn: false,
|
||||
emptyBtn: false,
|
||||
column: [
|
||||
{
|
||||
label: '模板上传',
|
||||
prop: 'excelFile',
|
||||
type: 'upload',
|
||||
drag: true,
|
||||
loadText: '模板上传中,请稍等',
|
||||
span: 24,
|
||||
propsHttp: {
|
||||
res: 'data',
|
||||
},
|
||||
tip: '请上传 .xls,.xlsx 标准格式文件',
|
||||
action: '/blade-system/user/import-user',
|
||||
},
|
||||
{
|
||||
label: '数据覆盖',
|
||||
prop: 'isCovered',
|
||||
type: 'switch',
|
||||
align: 'center',
|
||||
width: 80,
|
||||
dicData: [
|
||||
{
|
||||
label: '否',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '是',
|
||||
value: 1,
|
||||
},
|
||||
],
|
||||
value: 0,
|
||||
slot: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择是否覆盖',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '模板下载',
|
||||
prop: 'excelTemplate',
|
||||
formslot: true,
|
||||
span: 24,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export const platformFormOption = {
|
||||
submitBtn: false,
|
||||
emptyBtn: false,
|
||||
labelWidth: 100,
|
||||
column: [
|
||||
{
|
||||
label: '用户账号',
|
||||
prop: 'account',
|
||||
disabled: true,
|
||||
span: 24,
|
||||
},
|
||||
{
|
||||
label: '用户平台',
|
||||
type: 'select',
|
||||
prop: 'userType',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=user_type',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
dataType: 'number',
|
||||
span: 24,
|
||||
rules: [{ required: true, message: '请选择用户平台', trigger: 'blur' }],
|
||||
},
|
||||
{
|
||||
label: '用户拓展',
|
||||
prop: 'userExt',
|
||||
type: 'textarea',
|
||||
minRows: 8,
|
||||
span: 24,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export const treeOption = {
|
||||
nodeKey: 'id',
|
||||
lazy: true,
|
||||
treeLoad: function (node, resolve) {
|
||||
const parentId = node.level === 0 ? 0 : node.data.id;
|
||||
getDeptLazyTree(parentId).then(res => {
|
||||
resolve(
|
||||
res.data.data.map(item => {
|
||||
return {
|
||||
...item,
|
||||
leaf: !item.hasChildren,
|
||||
};
|
||||
})
|
||||
);
|
||||
});
|
||||
},
|
||||
addBtn: false,
|
||||
menu: false,
|
||||
size: 'small',
|
||||
props: {
|
||||
labelText: '标题',
|
||||
label: 'title',
|
||||
value: 'value',
|
||||
children: 'children',
|
||||
},
|
||||
};
|
||||
665
src/option/tool/code.js
Normal file
665
src/option/tool/code.js
Normal file
@@ -0,0 +1,665 @@
|
||||
import { templateDic } from '@/const/tool/model';
|
||||
|
||||
export const codeOption = {
|
||||
height: 'auto',
|
||||
calcHeight: 32,
|
||||
dialogWidth: 900,
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 6,
|
||||
border: true,
|
||||
index: true,
|
||||
selection: true,
|
||||
labelWidth: 120,
|
||||
menuWidth: 350,
|
||||
viewBtn: true,
|
||||
dialogClickModal: false,
|
||||
tabs: true,
|
||||
column: [
|
||||
{
|
||||
label: '模块名',
|
||||
prop: 'codeName',
|
||||
search: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '模版类型',
|
||||
prop: 'templateType',
|
||||
type: 'select',
|
||||
dicData: templateDic,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '表名',
|
||||
prop: 'tableName',
|
||||
search: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '服务名',
|
||||
prop: 'serviceName',
|
||||
search: true,
|
||||
display: false,
|
||||
},
|
||||
{
|
||||
label: '包名',
|
||||
prop: 'packageName',
|
||||
display: false,
|
||||
},
|
||||
],
|
||||
group: [
|
||||
{
|
||||
label: '模型配置',
|
||||
prop: 'modelSetting',
|
||||
icon: 'el-icon-tickets',
|
||||
column: [
|
||||
{
|
||||
label: '上级菜单',
|
||||
prop: 'menuId',
|
||||
type: 'tree',
|
||||
dicData: [],
|
||||
span: 24,
|
||||
hide: true,
|
||||
addDisabled: false,
|
||||
props: {
|
||||
label: 'title',
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择上级菜单',
|
||||
trigger: 'click',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '数据模型',
|
||||
prop: 'modelId',
|
||||
search: true,
|
||||
span: 24,
|
||||
type: 'select',
|
||||
dicUrl: '/blade-develop/model/select',
|
||||
props: {
|
||||
label: 'modelName',
|
||||
value: 'id',
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择数据模型',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '模块名',
|
||||
prop: 'codeName',
|
||||
search: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入模块名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '表名',
|
||||
prop: 'tableName',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入表名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '表前缀',
|
||||
prop: 'tablePrefix',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入表前缀',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '主键名',
|
||||
prop: 'pkName',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入主键名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '服务名',
|
||||
prop: 'serviceName',
|
||||
search: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入服务名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '包名',
|
||||
prop: 'packageName',
|
||||
overHidden: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入包名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '模版配置',
|
||||
prop: 'templateSetting',
|
||||
icon: 'el-icon-copy-document',
|
||||
column: [
|
||||
{
|
||||
label: '模版类型',
|
||||
prop: 'templateType',
|
||||
type: 'select',
|
||||
dicData: templateDic,
|
||||
value: 'crud',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择模版类型',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '作者信息',
|
||||
prop: 'author',
|
||||
value: 'BladeX',
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入作者',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '子表模型',
|
||||
prop: 'subModelId',
|
||||
type: 'select',
|
||||
dicUrl: '/blade-develop/model/select',
|
||||
props: {
|
||||
label: 'modelName',
|
||||
value: 'id',
|
||||
},
|
||||
display: false,
|
||||
hide: true,
|
||||
},
|
||||
{
|
||||
label: '子表外键',
|
||||
prop: 'subFkId',
|
||||
display: false,
|
||||
hide: true,
|
||||
},
|
||||
{
|
||||
label: '树主键字段',
|
||||
prop: 'treeId',
|
||||
type: 'select',
|
||||
dicData: [],
|
||||
props: {
|
||||
label: 'jdbcComment',
|
||||
value: 'jdbcName',
|
||||
},
|
||||
display: false,
|
||||
hide: true,
|
||||
},
|
||||
{
|
||||
label: '树父主键字段',
|
||||
prop: 'treePid',
|
||||
type: 'select',
|
||||
dicData: [],
|
||||
props: {
|
||||
label: 'jdbcComment',
|
||||
value: 'jdbcName',
|
||||
},
|
||||
display: false,
|
||||
hide: true,
|
||||
},
|
||||
{
|
||||
label: '树名称字段',
|
||||
prop: 'treeName',
|
||||
type: 'select',
|
||||
dicData: [],
|
||||
props: {
|
||||
label: 'jdbcComment',
|
||||
value: 'jdbcName',
|
||||
},
|
||||
display: false,
|
||||
hide: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '生成配置',
|
||||
prop: 'codingSetting',
|
||||
icon: 'el-icon-printer',
|
||||
column: [
|
||||
{
|
||||
label: '基础业务',
|
||||
labelTip: '配置是否使用BladeX封装的BaseService解锁更多功能',
|
||||
prop: 'baseMode',
|
||||
type: 'radio',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=yes_no',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
value: 2,
|
||||
dataType: 'number',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择基础业务',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '包装器',
|
||||
labelTip: '配置是否使用Wrapper包装器来拓展Controller返回列表的字段',
|
||||
prop: 'wrapMode',
|
||||
type: 'radio',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=yes_no',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
value: 2,
|
||||
dataType: 'number',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择包装器',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '远程调用',
|
||||
labelTip: '配置是否使用Feign远程调用',
|
||||
prop: 'feignMode',
|
||||
type: 'radio',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=yes_no',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
value: 1,
|
||||
dataType: 'number',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择基础业务',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '代码风格',
|
||||
labelTip: '选择不同底层实现的代码模版',
|
||||
prop: 'codeStyle',
|
||||
type: 'radio',
|
||||
dicData: [
|
||||
{
|
||||
label: 'saber3',
|
||||
value: 'saber3',
|
||||
},
|
||||
{
|
||||
label: 'element-plus',
|
||||
value: 'element-plus',
|
||||
},
|
||||
],
|
||||
value: 'saber3',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择代码风格',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '后端生成路径',
|
||||
prop: 'apiPath',
|
||||
span: 24,
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入后端生成路径',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '前端生成路径',
|
||||
prop: 'webPath',
|
||||
span: 24,
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入前端生成路径',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
export const genOption = {
|
||||
labelWidth: 120,
|
||||
column: [
|
||||
{
|
||||
label: '上级菜单',
|
||||
prop: 'menuId',
|
||||
type: 'tree',
|
||||
dicData: [],
|
||||
span: 24,
|
||||
hide: true,
|
||||
addDisabled: false,
|
||||
props: {
|
||||
label: 'title',
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择上级菜单',
|
||||
trigger: 'click',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '数据源',
|
||||
prop: 'datasourceId',
|
||||
search: true,
|
||||
span: 24,
|
||||
type: 'select',
|
||||
dicUrl: '/blade-develop/datasource/select',
|
||||
props: {
|
||||
label: 'name',
|
||||
value: 'id',
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择数据源',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '物理表名',
|
||||
prop: 'modelTable',
|
||||
type: 'tree',
|
||||
slot: true,
|
||||
filterable: true,
|
||||
span: 24,
|
||||
display: true,
|
||||
dicData: [],
|
||||
props: {
|
||||
label: 'comment',
|
||||
value: 'name',
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入数据库表名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '表单设计',
|
||||
prop: 'modelForm',
|
||||
type: 'select',
|
||||
props: {
|
||||
label: 'name',
|
||||
value: 'id',
|
||||
},
|
||||
dicData: [],
|
||||
filterable: true,
|
||||
display: false,
|
||||
span: 24,
|
||||
},
|
||||
{
|
||||
label: '模型类名',
|
||||
prop: 'modelClass',
|
||||
display: false,
|
||||
disabled: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入模型类名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '模型编号',
|
||||
prop: 'modelCode',
|
||||
display: false,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入模型编号',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '模块名',
|
||||
prop: 'codeName',
|
||||
display: false,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入模块名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '表名',
|
||||
prop: 'tableName',
|
||||
display: false,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入表名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '表前缀',
|
||||
prop: 'tablePrefix',
|
||||
display: false,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入表前缀',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '主键名',
|
||||
prop: 'pkName',
|
||||
display: false,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入主键名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '服务名',
|
||||
prop: 'serviceName',
|
||||
search: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入服务名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '包名',
|
||||
prop: 'packageName',
|
||||
overHidden: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入包名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '基础业务',
|
||||
labelTip: '配置是否使用BladeX封装的BaseService解锁更多功能',
|
||||
prop: 'baseMode',
|
||||
type: 'radio',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=yes_no',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
value: 2,
|
||||
dataType: 'number',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择基础业务',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '包装器',
|
||||
labelTip: '配置是否使用Wrapper包装器来拓展Controller返回列表的字段',
|
||||
prop: 'wrapMode',
|
||||
type: 'radio',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=yes_no',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
value: 2,
|
||||
dataType: 'number',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择包装器',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '远程调用',
|
||||
labelTip: '配置是否使用Feign远程调用',
|
||||
prop: 'feignMode',
|
||||
type: 'radio',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=yes_no',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
value: 1,
|
||||
dataType: 'number',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择基础业务',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '代码风格',
|
||||
labelTip: '选择不同底层实现的代码模版',
|
||||
prop: 'codeStyle',
|
||||
type: 'radio',
|
||||
dicData: [
|
||||
{
|
||||
label: 'saber3',
|
||||
value: 'saber3',
|
||||
},
|
||||
{
|
||||
label: 'element-plus',
|
||||
value: 'element-plus',
|
||||
},
|
||||
],
|
||||
value: 'saber3',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择代码风格',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '后端生成路径',
|
||||
prop: 'apiPath',
|
||||
span: 24,
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入后端生成路径',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '前端生成路径',
|
||||
prop: 'webPath',
|
||||
span: 24,
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入前端生成路径',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
229
src/option/tool/codesetting.js
Normal file
229
src/option/tool/codesetting.js
Normal file
@@ -0,0 +1,229 @@
|
||||
export default {
|
||||
height: 'auto',
|
||||
calcHeight: 50,
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 6,
|
||||
border: true,
|
||||
index: true,
|
||||
viewBtn: true,
|
||||
grid: true,
|
||||
selection: true,
|
||||
labelWidth: 120,
|
||||
searchLabelWidth: 100,
|
||||
menuWidth: 320,
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: '配置名称',
|
||||
labelTip: '用于定义本配置的代表名称,实际不参与代码生成',
|
||||
prop: 'name',
|
||||
gridRow: true,
|
||||
search: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入配置名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '配置编号',
|
||||
labelTip: '用于定义本配置的代表编号,实际不参与代码生成',
|
||||
prop: 'code',
|
||||
gridRow: true,
|
||||
search: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入配置编号',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '上级菜单',
|
||||
prop: 'menuId',
|
||||
type: 'tree',
|
||||
dicData: [],
|
||||
span: 24,
|
||||
hide: true,
|
||||
addDisabled: false,
|
||||
props: {
|
||||
label: 'title',
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择上级菜单',
|
||||
trigger: 'click',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '是否启用',
|
||||
prop: 'status',
|
||||
span: 24,
|
||||
width: 85,
|
||||
align: 'center',
|
||||
slot: true,
|
||||
gridRow: true,
|
||||
addDisplay: false,
|
||||
editDisplay: false,
|
||||
viewDisplay: false,
|
||||
},
|
||||
{
|
||||
label: '配置参数',
|
||||
prop: 'settings',
|
||||
display: false,
|
||||
gridRow: true,
|
||||
overHidden: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入服务名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '服务名',
|
||||
prop: 'serviceName',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入服务名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '包名',
|
||||
prop: 'packageName',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入包名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '基础业务',
|
||||
labelTip: '配置是否使用BladeX封装的BaseService解锁更多功能',
|
||||
prop: 'baseMode',
|
||||
type: 'radio',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=yes_no',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
value: 2,
|
||||
dataType: 'number',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择基础业务',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '包装器',
|
||||
labelTip: '配置是否使用Wrapper包装器来拓展Controller返回列表的字段',
|
||||
prop: 'wrapMode',
|
||||
type: 'radio',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=yes_no',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
value: 2,
|
||||
dataType: 'number',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择包装器',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '远程调用',
|
||||
labelTip: '配置是否使用Feign远程调用',
|
||||
prop: 'feignMode',
|
||||
type: 'radio',
|
||||
dicUrl: '/blade-system/dict/dictionary?code=yes_no',
|
||||
props: {
|
||||
label: 'dictValue',
|
||||
value: 'dictKey',
|
||||
},
|
||||
value: 1,
|
||||
dataType: 'number',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择基础业务',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '代码风格',
|
||||
labelTip: '选择不同底层实现的代码模版',
|
||||
prop: 'codeStyle',
|
||||
type: 'radio',
|
||||
dicData: [
|
||||
{
|
||||
label: 'saber3',
|
||||
value: 'saber3',
|
||||
},
|
||||
{
|
||||
label: 'element-plus',
|
||||
value: 'element-plus',
|
||||
},
|
||||
],
|
||||
value: 'saber3',
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择代码风格',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '后端生成路径',
|
||||
prop: 'apiPath',
|
||||
span: 24,
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入后端生成路径',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '前端生成路径',
|
||||
prop: 'webPath',
|
||||
span: 24,
|
||||
hide: true,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入前端生成路径',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
95
src/option/tool/formsetting.js
Normal file
95
src/option/tool/formsetting.js
Normal file
@@ -0,0 +1,95 @@
|
||||
export default {
|
||||
height: 'auto',
|
||||
calcHeight: 50,
|
||||
tip: false,
|
||||
searchShow: true,
|
||||
searchMenuSpan: 6,
|
||||
border: true,
|
||||
index: true,
|
||||
viewBtn: true,
|
||||
grid: true,
|
||||
selection: true,
|
||||
labelWidth: 120,
|
||||
searchLabelWidth: 100,
|
||||
menuWidth: 320,
|
||||
dialogWidth: 500,
|
||||
dialogClickModal: false,
|
||||
column: [
|
||||
{
|
||||
label: '数据源',
|
||||
labelTip: '数据源管理配置的数据源列表',
|
||||
prop: 'datasourceId',
|
||||
hide: true,
|
||||
editDisplay: false,
|
||||
viewDisplay: false,
|
||||
span: 24,
|
||||
type: 'select',
|
||||
dicUrl: '/blade-develop/datasource/select',
|
||||
props: {
|
||||
label: 'name',
|
||||
value: 'id',
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择数据源',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '物理表名',
|
||||
labelTip: '从数据源列表选择的物理表名',
|
||||
filterable: true,
|
||||
prop: 'modelTable',
|
||||
type: 'tree',
|
||||
span: 24,
|
||||
hide: true,
|
||||
editDisplay: false,
|
||||
viewDisplay: false,
|
||||
dicData: [],
|
||||
props: {
|
||||
label: 'comment',
|
||||
value: 'name',
|
||||
},
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入数据库表名',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '表单名称',
|
||||
labelTip: '用于定义本配置的代表名称,默认为数据库表说明',
|
||||
prop: 'name',
|
||||
gridRow: true,
|
||||
search: true,
|
||||
span: 24,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入表单名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: '关联表名',
|
||||
labelTip: '用于定义本配置的代表编号,默认为数据库表名,在代码快速生成时会关联匹配',
|
||||
prop: 'code',
|
||||
gridRow: true,
|
||||
search: true,
|
||||
disabled: true,
|
||||
span: 24,
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入表单编号',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
};
|
||||
Reference in New Issue
Block a user