feat(系统设置): 系统参数分类优化
This commit is contained in:
parent
93b2d9b721
commit
ce7cac0d4f
@ -3376,6 +3376,7 @@ Scatter chart (bubble) chart: {a} (series name), {b} (data name), {c} (value arr
|
|||||||
empty_desc: 'Please enter information on the left and save'
|
empty_desc: 'Please enter information on the left and save'
|
||||||
},
|
},
|
||||||
setting_basic: {
|
setting_basic: {
|
||||||
|
third_platform_settings: 'Third-party platform settings',
|
||||||
autoCreateUser: 'Third party automatically creates users',
|
autoCreateUser: 'Third party automatically creates users',
|
||||||
dsIntervalTime: 'Data source detection time interval',
|
dsIntervalTime: 'Data source detection time interval',
|
||||||
dsExecuteTime: 'Data source detection frequency',
|
dsExecuteTime: 'Data source detection frequency',
|
||||||
|
|||||||
@ -3290,13 +3290,14 @@ export default {
|
|||||||
empty_desc: '請在左側輸入訊息然後儲存'
|
empty_desc: '請在左側輸入訊息然後儲存'
|
||||||
},
|
},
|
||||||
setting_basic: {
|
setting_basic: {
|
||||||
|
third_platform_settings: '第三方平台設置',
|
||||||
autoCreateUser: '第三方自動建立使用者',
|
autoCreateUser: '第三方自動建立使用者',
|
||||||
dsIntervalTime: '資料來源偵測時間間隔',
|
dsIntervalTime: '資料來源偵測時間間隔',
|
||||||
dsExecuteTime: '資料來源偵測頻率',
|
dsExecuteTime: '資料來源偵測頻率',
|
||||||
frontTimeOut: '請求超時時間(秒)',
|
frontTimeOut: '請求超時時間 (秒)',
|
||||||
logLiveTime: '操作日誌保留時間(天)',
|
logLiveTime: '操作日誌保留時間 (天)',
|
||||||
thresholdLogLiveTime: '閾值警告記錄保留時間(天)',
|
thresholdLogLiveTime: '閾值警告記錄保留時間 (天)',
|
||||||
exportFileLiveTime: '後台匯出檔案保留時間(天)',
|
exportFileLiveTime: '後台匯出檔案保留時間 (天)',
|
||||||
platformOid: '第三方平台使用者組織',
|
platformOid: '第三方平台使用者組織',
|
||||||
platformRid: '第三方平台使用者角色',
|
platformRid: '第三方平台使用者角色',
|
||||||
pwdStrategy: '開啟密碼策略',
|
pwdStrategy: '開啟密碼策略',
|
||||||
@ -3308,8 +3309,8 @@ export default {
|
|||||||
defaultSort: '資源預設排序方式',
|
defaultSort: '資源預設排序方式',
|
||||||
defaultOpen: '頁面開啟方式',
|
defaultOpen: '頁面開啟方式',
|
||||||
loginLimit: '限制登入',
|
loginLimit: '限制登入',
|
||||||
loginLimitRate: '限制登入失敗次數(次)',
|
loginLimitRate: '限制登入失敗次數 (次)',
|
||||||
loginLimitTime: '限制登入失敗時間(分)'
|
loginLimitTime: '限制登入失敗時間 (分)'
|
||||||
},
|
},
|
||||||
resource_sort: {
|
resource_sort: {
|
||||||
time_asc: '按建立時間升序',
|
time_asc: '按建立時間升序',
|
||||||
|
|||||||
@ -3292,13 +3292,14 @@ export default {
|
|||||||
empty_desc: '请在左侧输入信息然后保存'
|
empty_desc: '请在左侧输入信息然后保存'
|
||||||
},
|
},
|
||||||
setting_basic: {
|
setting_basic: {
|
||||||
|
third_platform_settings: '第三方平台设置',
|
||||||
autoCreateUser: '第三方自动创建用户',
|
autoCreateUser: '第三方自动创建用户',
|
||||||
dsIntervalTime: '数据源检测时间间隔',
|
dsIntervalTime: '数据源检测时间间隔',
|
||||||
dsExecuteTime: '数据源检测频率',
|
dsExecuteTime: '数据源检测频率',
|
||||||
frontTimeOut: '请求超时时间(秒)',
|
frontTimeOut: '请求超时时间 (秒)',
|
||||||
logLiveTime: '操作日志保留时间(天)',
|
logLiveTime: '操作日志保留时间 (天)',
|
||||||
thresholdLogLiveTime: '阈值告警记录保留时间(天)',
|
thresholdLogLiveTime: '阈值告警记录保留时间 (天)',
|
||||||
exportFileLiveTime: '后台导出文件保留时间(天)',
|
exportFileLiveTime: '后台导出文件保留时间 (天)',
|
||||||
platformOid: '第三方平台用户组织',
|
platformOid: '第三方平台用户组织',
|
||||||
platformRid: '第三方平台用户角色',
|
platformRid: '第三方平台用户角色',
|
||||||
pwdStrategy: '开启密码策略',
|
pwdStrategy: '开启密码策略',
|
||||||
@ -3310,8 +3311,8 @@ export default {
|
|||||||
defaultSort: '资源默认排序方式',
|
defaultSort: '资源默认排序方式',
|
||||||
defaultOpen: '页面打开方式',
|
defaultOpen: '页面打开方式',
|
||||||
loginLimit: '限制登录',
|
loginLimit: '限制登录',
|
||||||
loginLimitRate: '限制登录失败次数(次)',
|
loginLimitRate: '限制登录失败次数 (次)',
|
||||||
loginLimitTime: '限制登录失败时间(分)'
|
loginLimitTime: '限制登录失败时间 (分)'
|
||||||
},
|
},
|
||||||
resource_sort: {
|
resource_sort: {
|
||||||
time_asc: '按创建时间升序',
|
time_asc: '按创建时间升序',
|
||||||
|
|||||||
@ -223,6 +223,8 @@ formatLabel()
|
|||||||
}
|
}
|
||||||
.info-template-container {
|
.info-template-container {
|
||||||
padding: 24px 24px 0;
|
padding: 24px 24px 0;
|
||||||
|
background: var(--ContentBG, #ffffff);
|
||||||
|
border-radius: 4px;
|
||||||
.info-template-header {
|
.info-template-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: -4px;
|
margin-top: -4px;
|
||||||
|
|||||||
@ -113,6 +113,7 @@ const submitForm = async (formEl: FormInstance | undefined) => {
|
|||||||
|
|
||||||
const resetForm = (formEl: FormInstance | undefined) => {
|
const resetForm = (formEl: FormInstance | undefined) => {
|
||||||
state.settingList = []
|
state.settingList = []
|
||||||
|
settingList.value = []
|
||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
formEl.resetFields()
|
formEl.resetFields()
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
@ -128,8 +129,19 @@ const showLoading = () => {
|
|||||||
const closeLoading = () => {
|
const closeLoading = () => {
|
||||||
loadingInstance.value?.close()
|
loadingInstance.value?.close()
|
||||||
}
|
}
|
||||||
|
const title = ref()
|
||||||
const edit = (list, orgOptions, roleOptions, loginOptions, sortOptions, openOptions) => {
|
const settingList = ref([])
|
||||||
|
const edit = (
|
||||||
|
list,
|
||||||
|
orgOptions,
|
||||||
|
roleOptions,
|
||||||
|
loginOptions,
|
||||||
|
sortOptions,
|
||||||
|
openOptions,
|
||||||
|
titleVal,
|
||||||
|
settingListVal
|
||||||
|
) => {
|
||||||
|
title.value = titleVal
|
||||||
state.orgOptions = orgOptions || []
|
state.orgOptions = orgOptions || []
|
||||||
state.roleOptions = roleOptions || []
|
state.roleOptions = roleOptions || []
|
||||||
state.loginOptions = loginOptions || []
|
state.loginOptions = loginOptions || []
|
||||||
@ -185,6 +197,8 @@ const edit = (list, orgOptions, roleOptions, loginOptions, sortOptions, openOpti
|
|||||||
state.form[item['pkey']] = pval || state.form[item['pkey']]
|
state.form[item['pkey']] = pval || state.form[item['pkey']]
|
||||||
return item
|
return item
|
||||||
})
|
})
|
||||||
|
|
||||||
|
settingList.value = state.settingList.filter(ele => settingListVal.includes(ele.pkey))
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
const loadRoleOptions = async () => {
|
const loadRoleOptions = async () => {
|
||||||
@ -222,7 +236,7 @@ defineExpose({
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<el-drawer
|
<el-drawer
|
||||||
:title="t('system.basic_settings')"
|
:title="title"
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
custom-class="basic-param-drawer"
|
custom-class="basic-param-drawer"
|
||||||
size="600px"
|
size="600px"
|
||||||
@ -237,7 +251,7 @@ defineExpose({
|
|||||||
label-position="top"
|
label-position="top"
|
||||||
>
|
>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-for="item in state.settingList"
|
v-for="item in settingList"
|
||||||
:key="item.pkey"
|
:key="item.pkey"
|
||||||
:prop="item.pkey"
|
:prop="item.pkey"
|
||||||
:class="{ 'setting-hidden-item': item.pkey === 'dsExecuteTime' }"
|
:class="{ 'setting-hidden-item': item.pkey === 'dsExecuteTime' }"
|
||||||
|
|||||||
@ -5,7 +5,12 @@
|
|||||||
setting-key="basic"
|
setting-key="basic"
|
||||||
:setting-title="t('system.basic_settings')"
|
:setting-title="t('system.basic_settings')"
|
||||||
:setting-data="baseInfoSettings"
|
:setting-data="baseInfoSettings"
|
||||||
@edit="edit"
|
@edit="
|
||||||
|
edit(
|
||||||
|
t('system.basic_settings'),
|
||||||
|
baseInfoSettings.map(ele => ele.pkey.split('.')[1])
|
||||||
|
)
|
||||||
|
"
|
||||||
/>
|
/>
|
||||||
<InfoTemplate
|
<InfoTemplate
|
||||||
ref="loginTemplate"
|
ref="loginTemplate"
|
||||||
@ -14,7 +19,27 @@
|
|||||||
setting-key="basic"
|
setting-key="basic"
|
||||||
:setting-title="t('system.login_settings')"
|
:setting-title="t('system.login_settings')"
|
||||||
:setting-data="loginInoSettings"
|
:setting-data="loginInoSettings"
|
||||||
@edit="edit"
|
@edit="
|
||||||
|
edit(
|
||||||
|
t('system.login_settings'),
|
||||||
|
loginInoSettings.map(ele => ele.pkey.split('.')[1])
|
||||||
|
)
|
||||||
|
"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<InfoTemplate
|
||||||
|
ref="thirdTemplate"
|
||||||
|
class="login-setting-template"
|
||||||
|
:label-tooltips="tooltips"
|
||||||
|
setting-key="basic"
|
||||||
|
:setting-title="t('setting_basic.third_platform_settings')"
|
||||||
|
:setting-data="thirdInfoSettings"
|
||||||
|
@edit="
|
||||||
|
edit(
|
||||||
|
t('setting_basic.third_platform_settings'),
|
||||||
|
thirdInfoSettings.map(ele => ele.pkey.split('.')[1])
|
||||||
|
)
|
||||||
|
"
|
||||||
/>
|
/>
|
||||||
<basic-edit ref="editor" @saved="refresh" />
|
<basic-edit ref="editor" @saved="refresh" />
|
||||||
</template>
|
</template>
|
||||||
@ -32,6 +57,7 @@ const { t } = useI18n()
|
|||||||
const editor = ref()
|
const editor = ref()
|
||||||
const infoTemplate = ref()
|
const infoTemplate = ref()
|
||||||
const loginTemplate = ref()
|
const loginTemplate = ref()
|
||||||
|
const thirdTemplate = ref()
|
||||||
const showDefaultLogin = ref(false)
|
const showDefaultLogin = ref(false)
|
||||||
const pvpOptions = [
|
const pvpOptions = [
|
||||||
{ value: '0', label: t('commons.date.permanent') },
|
{ value: '0', label: t('commons.date.permanent') },
|
||||||
@ -66,6 +92,12 @@ const loginSettings = [
|
|||||||
'setting_basic.loginLimitRate',
|
'setting_basic.loginLimitRate',
|
||||||
'setting_basic.loginLimitTime'
|
'setting_basic.loginLimitTime'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
const thirdSettings = [
|
||||||
|
'setting_basic.autoCreateUser',
|
||||||
|
'setting_basic.platformOid',
|
||||||
|
'setting_basic.platformRid'
|
||||||
|
]
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
templateList: [] as SettingRecord[],
|
templateList: [] as SettingRecord[],
|
||||||
orgOptions: [],
|
orgOptions: [],
|
||||||
@ -109,11 +141,14 @@ const selectedRName = ref<string[]>([])
|
|||||||
const selectedPvp = ref('0')
|
const selectedPvp = ref('0')
|
||||||
|
|
||||||
const baseInfoSettings = computed(() =>
|
const baseInfoSettings = computed(() =>
|
||||||
state.templateList.filter(item => !loginSettings.includes(item.pkey))
|
state.templateList.filter(item => !loginSettings.concat(thirdSettings).includes(item.pkey))
|
||||||
|
)
|
||||||
|
|
||||||
|
const thirdInfoSettings = computed(() =>
|
||||||
|
state.templateList.filter(item => thirdSettings.includes(item.pkey))
|
||||||
)
|
)
|
||||||
const loginInoSettings = computed(() => {
|
const loginInoSettings = computed(() => {
|
||||||
const list = state.templateList.filter(item => loginSettings.includes(item.pkey))
|
const list = state.templateList.filter(item => loginSettings.includes(item.pkey))
|
||||||
console.log(list)
|
|
||||||
return list
|
return list
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -212,19 +247,22 @@ const refresh = () => {
|
|||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
infoTemplate?.value.init()
|
infoTemplate?.value.init()
|
||||||
loginTemplate?.value.init()
|
loginTemplate?.value.init()
|
||||||
|
thirdTemplate?.value.init()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
refresh()
|
refresh()
|
||||||
|
|
||||||
const edit = () => {
|
const edit = (val, arr) => {
|
||||||
editor?.value.edit(
|
editor?.value.edit(
|
||||||
cloneDeep(originData),
|
cloneDeep(originData),
|
||||||
cloneDeep(state.orgOptions),
|
cloneDeep(state.orgOptions),
|
||||||
cloneDeep(state.roleOptions),
|
cloneDeep(state.roleOptions),
|
||||||
cloneDeep(state.loginOptions),
|
cloneDeep(state.loginOptions),
|
||||||
cloneDeep(state.sortOptions),
|
cloneDeep(state.sortOptions),
|
||||||
cloneDeep(state.openOptions)
|
cloneDeep(state.openOptions),
|
||||||
|
val,
|
||||||
|
arr
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
const loadOrgOptions = async () => {
|
const loadOrgOptions = async () => {
|
||||||
@ -311,9 +349,6 @@ const resetDefaultLogin = () => {
|
|||||||
</script>
|
</script>
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.login-setting-template {
|
.login-setting-template {
|
||||||
padding-top: 0;
|
margin-top: 16px;
|
||||||
:deep(button) {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -4,7 +4,10 @@
|
|||||||
<el-tab-pane v-for="item in tabArray" :key="item.name" :label="item.label" :name="item.name" />
|
<el-tab-pane v-for="item in tabArray" :key="item.name" :label="item.label" :name="item.name" />
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<div class="sys-setting-p">
|
<div class="sys-setting-p">
|
||||||
<div class="container-sys-param" :class="{ 'setting-max-h': activeName === 'map' }">
|
<div
|
||||||
|
class="container-sys-param"
|
||||||
|
:class="{ 'setting-max-h': activeName === 'map', 'basic-info_bg': activeName === 'basic' }"
|
||||||
|
>
|
||||||
<map-setting v-if="activeName === 'map'" />
|
<map-setting v-if="activeName === 'map'" />
|
||||||
<basic-info v-if="activeName === 'basic'" />
|
<basic-info v-if="activeName === 'basic'" />
|
||||||
<engine-info v-if="activeName === 'engine'" />
|
<engine-info v-if="activeName === 'engine'" />
|
||||||
@ -64,6 +67,9 @@ const addTable = tab => {
|
|||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
background: var(--ContentBG, #ffffff);
|
background: var(--ContentBG, #ffffff);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
&.basic-info_bg {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.setting-max-h {
|
.setting-max-h {
|
||||||
height: 100% !important;
|
height: 100% !important;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user