mirror of
https://github.com/continew-org/continew-admin-ui.git
synced 2025-11-13 04:57:11 +08:00
refactor: 调整 eslint.config.js,优化代码格式
This commit is contained in:
@@ -6,11 +6,15 @@
|
||||
<template #extra>
|
||||
{{ siteConfig.SITE_LOGO.description }}
|
||||
<br />
|
||||
<a-upload :file-list="logoFile ? [logoFile] : []" accept="image/*" :show-file-list="false"
|
||||
:custom-request="handleUploadLogo" @change="handleChangeLogo">
|
||||
<a-upload
|
||||
:file-list="logoFile ? [logoFile] : []" accept="image/*" :show-file-list="false"
|
||||
:custom-request="handleUploadLogo" @change="handleChangeLogo"
|
||||
>
|
||||
<template #upload-button>
|
||||
<div :class="`arco-upload-list-item${logoFile && logoFile.status === 'error' ? ' arco-upload-list-item-error' : ''
|
||||
}`">
|
||||
<div
|
||||
:class="`arco-upload-list-item${logoFile && logoFile.status === 'error' ? ' arco-upload-list-item-error' : ''
|
||||
}`"
|
||||
>
|
||||
<div v-if="logoFile && logoFile.url" class="arco-upload-list-picture custom-upload-avatar logo">
|
||||
<img :src="logoFile.url" alt="Logo" />
|
||||
<div v-if="isUpdate" class="arco-upload-list-picture-mask logo">
|
||||
@@ -32,13 +36,19 @@
|
||||
<template #extra>
|
||||
{{ siteConfig.SITE_FAVICON.description }}
|
||||
<br />
|
||||
<a-upload :file-list="faviconFile ? [faviconFile] : []" accept="image/*" :show-file-list="false"
|
||||
:custom-request="handleUploadFavicon" @change="handleChangeFavicon">
|
||||
<a-upload
|
||||
:file-list="faviconFile ? [faviconFile] : []" accept="image/*" :show-file-list="false"
|
||||
:custom-request="handleUploadFavicon" @change="handleChangeFavicon"
|
||||
>
|
||||
<template #upload-button>
|
||||
<div :class="`arco-upload-list-item${faviconFile && faviconFile.status === 'error' ? ' arco-upload-list-item-error' : ''
|
||||
}`">
|
||||
<div v-if="faviconFile && faviconFile.url"
|
||||
class="arco-upload-list-picture custom-upload-avatar favicon">
|
||||
<div
|
||||
:class="`arco-upload-list-item${faviconFile && faviconFile.status === 'error' ? ' arco-upload-list-item-error' : ''
|
||||
}`"
|
||||
>
|
||||
<div
|
||||
v-if="faviconFile && faviconFile.url"
|
||||
class="arco-upload-list-picture custom-upload-avatar favicon"
|
||||
>
|
||||
<img :src="faviconFile.url" alt="favicon" />
|
||||
<div v-if="isUpdate" class="arco-upload-list-picture-mask favicon">
|
||||
<IconEdit />
|
||||
@@ -110,7 +120,7 @@ import {
|
||||
type SiteConfig,
|
||||
listOption,
|
||||
resetOptionValue,
|
||||
updateOption
|
||||
updateOption,
|
||||
} from '@/apis/system'
|
||||
import { useAppStore } from '@/stores'
|
||||
import { useForm } from '@/hooks'
|
||||
@@ -124,12 +134,12 @@ const { form } = useForm({
|
||||
SITE_FAVICON: '',
|
||||
SITE_LOGO: '',
|
||||
SITE_TITLE: '',
|
||||
SITE_COPYRIGHT: ''
|
||||
SITE_COPYRIGHT: '',
|
||||
})
|
||||
const rules: FormInstance['rules'] = {
|
||||
SITE_TITLE: [{ required: true, message: '请输入系统标题' }],
|
||||
SITE_DESCRIPTION: [{ required: true, message: '请输入系统描述' }],
|
||||
SITE_COPYRIGHT: [{ required: true, message: '请输入版权信息' }]
|
||||
SITE_COPYRIGHT: [{ required: true, message: '请输入版权信息' }],
|
||||
}
|
||||
|
||||
const siteConfig = ref<SiteConfig>({
|
||||
@@ -138,7 +148,7 @@ const siteConfig = ref<SiteConfig>({
|
||||
SITE_TITLE: {},
|
||||
SITE_DESCRIPTION: {},
|
||||
SITE_COPYRIGHT: {},
|
||||
SITE_BEIAN: {}
|
||||
SITE_BEIAN: {},
|
||||
})
|
||||
const faviconFile = ref<FileItem>({ uid: '-1' })
|
||||
const logoFile = ref<FileItem>({ uid: '-2' })
|
||||
@@ -168,7 +178,7 @@ const handleCancel = () => {
|
||||
}
|
||||
|
||||
const queryForm = reactive({
|
||||
category: 'SITE'
|
||||
category: 'SITE',
|
||||
})
|
||||
// 查询列表数据
|
||||
const getDataList = async () => {
|
||||
@@ -190,7 +200,7 @@ const handleSave = async () => {
|
||||
await updateOption(
|
||||
Object.entries(form).map(([key, value]) => {
|
||||
return { id: siteConfig.value[key].id, code: key, value }
|
||||
})
|
||||
}),
|
||||
)
|
||||
appStore.setSiteConfig(form)
|
||||
await getDataList()
|
||||
@@ -210,7 +220,7 @@ const onResetValue = () => {
|
||||
content: '确认恢复基础配置为默认值吗?',
|
||||
hideCancel: false,
|
||||
maskClosable: false,
|
||||
onOk: handleResetValue
|
||||
onOk: handleResetValue,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -236,12 +246,12 @@ const handleUploadFavicon = (options: RequestOption) => {
|
||||
return {
|
||||
abort() {
|
||||
controller.abort()
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
const handleChangeFavicon = (_: any, currentFile: any) => {
|
||||
faviconFile.value = {
|
||||
...currentFile
|
||||
...currentFile,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -267,12 +277,12 @@ const handleUploadLogo = (options: RequestOption) => {
|
||||
return {
|
||||
abort() {
|
||||
controller.abort()
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
const handleChangeLogo = (_: any, currentFile: any) => {
|
||||
logoFile.value = {
|
||||
...currentFile
|
||||
...currentFile,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<template>
|
||||
<a-space wrap :size="30">
|
||||
<a-form ref="formRef" :model="form" :rules="rules" auto-label-width label-align="left"
|
||||
:layout="width >= 500 ? 'horizontal' : 'vertical'" :disabled="!isUpdate" scroll-to-first-error>
|
||||
<a-form
|
||||
ref="formRef" :model="form" :rules="rules" auto-label-width label-align="left"
|
||||
:layout="width >= 500 ? 'horizontal' : 'vertical'" :disabled="!isUpdate" scroll-to-first-error
|
||||
>
|
||||
<a-list :bordered="false" :loading="loading">
|
||||
<a-form-item field="MAIL_PROTOCOL" :label="mailConfig.MAIL_PROTOCOL.name" hide-asterisk>
|
||||
<a-select v-model.trim="form.MAIL_PROTOCOL">
|
||||
@@ -26,8 +28,10 @@
|
||||
<a-radio value="0">禁用</a-radio>
|
||||
</a-radio-group>
|
||||
</a-form-item>
|
||||
<a-form-item v-if="form.MAIL_SSL_ENABLED === '1'" field="MAIL_SSL_PORT" :label="mailConfig.MAIL_SSL_PORT.name"
|
||||
hide-asterisk>
|
||||
<a-form-item
|
||||
v-if="form.MAIL_SSL_ENABLED === '1'" field="MAIL_SSL_PORT" :label="mailConfig.MAIL_SSL_PORT.name"
|
||||
hide-asterisk
|
||||
>
|
||||
<a-input-number v-model="form.MAIL_SSL_PORT" :min="0" />
|
||||
</a-form-item>
|
||||
<a-space>
|
||||
@@ -60,7 +64,7 @@ import {
|
||||
type OptionResp,
|
||||
listOption,
|
||||
resetOptionValue,
|
||||
updateOption
|
||||
updateOption,
|
||||
} from '@/apis/system'
|
||||
import { useForm } from '@/hooks'
|
||||
|
||||
@@ -75,14 +79,14 @@ const { form } = useForm({
|
||||
MAIL_USERNAME: '',
|
||||
MAIL_PASSWORD: '',
|
||||
MAIL_SSL_ENABLED: '',
|
||||
MAIL_SSL_PORT: 0
|
||||
MAIL_SSL_PORT: 0,
|
||||
})
|
||||
const rules: FormInstance['rules'] = {
|
||||
MAIL_HOST: [{ required: true, message: '请输入值' }],
|
||||
MAIL_PORT: [{ required: true, message: '请输入值' }],
|
||||
MAIL_USERNAME: [{ required: true, message: '请输入值' }],
|
||||
MAIL_PASSWORD: [{ required: true, message: '请输入值' }],
|
||||
MAIL_SSL_PORT: [{ required: true, message: '请输入值' }]
|
||||
MAIL_SSL_PORT: [{ required: true, message: '请输入值' }],
|
||||
}
|
||||
|
||||
const mailConfig = ref<MailConfig>({
|
||||
@@ -92,7 +96,7 @@ const mailConfig = ref<MailConfig>({
|
||||
MAIL_USERNAME: {},
|
||||
MAIL_PASSWORD: {},
|
||||
MAIL_SSL_ENABLED: {},
|
||||
MAIL_SSL_PORT: {}
|
||||
MAIL_SSL_PORT: {},
|
||||
})
|
||||
|
||||
// 重置
|
||||
@@ -120,7 +124,7 @@ const handleCancel = () => {
|
||||
}
|
||||
|
||||
const queryForm = {
|
||||
category: 'MAIL'
|
||||
category: 'MAIL',
|
||||
}
|
||||
// 查询列表数据
|
||||
const getDataList = async () => {
|
||||
@@ -141,7 +145,7 @@ const handleSave = async () => {
|
||||
await updateOption(
|
||||
Object.entries(form).map(([key, value]) => {
|
||||
return { id: mailConfig.value[key].id, code: key, value }
|
||||
})
|
||||
}),
|
||||
)
|
||||
await getDataList()
|
||||
Message.success('保存成功')
|
||||
@@ -159,7 +163,7 @@ const onResetValue = () => {
|
||||
content: '确认恢复邮件配置为默认值吗?',
|
||||
hideCancel: false,
|
||||
maskClosable: false,
|
||||
onOk: handleResetValue
|
||||
onOk: handleResetValue,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -1,50 +1,76 @@
|
||||
<template>
|
||||
<a-space wrap :size="30">
|
||||
<a-form ref="formRef" :model="form" :rules="rules" auto-label-width label-align="left"
|
||||
:layout="width >= 500 ? 'horizontal' : 'vertical'" :disabled="!isUpdate" scroll-to-first-error>
|
||||
<a-form
|
||||
ref="formRef" :model="form" :rules="rules" auto-label-width label-align="left"
|
||||
:layout="width >= 500 ? 'horizontal' : 'vertical'" :disabled="!isUpdate" scroll-to-first-error
|
||||
>
|
||||
<a-list :bordered="false" :loading="loading">
|
||||
<a-form-item field="PASSWORD_ERROR_LOCK_COUNT" :label="securityConfig.PASSWORD_ERROR_LOCK_COUNT.name"
|
||||
:help="securityConfig.PASSWORD_ERROR_LOCK_COUNT.description" hide-asterisk>
|
||||
<a-input-number v-model="form.PASSWORD_ERROR_LOCK_COUNT" class="input-width" :default-value="0" :precision="0"
|
||||
:min="0" :max="10">
|
||||
<a-form-item
|
||||
field="PASSWORD_ERROR_LOCK_COUNT" :label="securityConfig.PASSWORD_ERROR_LOCK_COUNT.name"
|
||||
:help="securityConfig.PASSWORD_ERROR_LOCK_COUNT.description" hide-asterisk
|
||||
>
|
||||
<a-input-number
|
||||
v-model="form.PASSWORD_ERROR_LOCK_COUNT" class="input-width" :default-value="0" :precision="0"
|
||||
:min="0" :max="10"
|
||||
>
|
||||
<template #append>次</template>
|
||||
</a-input-number>
|
||||
</a-form-item>
|
||||
<a-form-item field="PASSWORD_ERROR_LOCK_MINUTES" :label="securityConfig.PASSWORD_ERROR_LOCK_MINUTES.name"
|
||||
:help="securityConfig.PASSWORD_ERROR_LOCK_MINUTES.description" hide-asterisk>
|
||||
<a-input-number v-model="form.PASSWORD_ERROR_LOCK_MINUTES" class="input-width" :precision="0" :min="1"
|
||||
:max="1440">
|
||||
<a-form-item
|
||||
field="PASSWORD_ERROR_LOCK_MINUTES" :label="securityConfig.PASSWORD_ERROR_LOCK_MINUTES.name"
|
||||
:help="securityConfig.PASSWORD_ERROR_LOCK_MINUTES.description" hide-asterisk
|
||||
>
|
||||
<a-input-number
|
||||
v-model="form.PASSWORD_ERROR_LOCK_MINUTES" class="input-width" :precision="0" :min="1"
|
||||
:max="1440"
|
||||
>
|
||||
<template #append>分钟</template>
|
||||
</a-input-number>
|
||||
</a-form-item>
|
||||
<a-form-item field="PASSWORD_EXPIRATION_DAYS" :label="securityConfig.PASSWORD_EXPIRATION_DAYS.name"
|
||||
:help="securityConfig.PASSWORD_EXPIRATION_DAYS.description" hide-asterisk>
|
||||
<a-input-number v-model="form.PASSWORD_EXPIRATION_DAYS" class="input-width" :precision="0" :min="0"
|
||||
:max="999">
|
||||
<a-form-item
|
||||
field="PASSWORD_EXPIRATION_DAYS" :label="securityConfig.PASSWORD_EXPIRATION_DAYS.name"
|
||||
:help="securityConfig.PASSWORD_EXPIRATION_DAYS.description" hide-asterisk
|
||||
>
|
||||
<a-input-number
|
||||
v-model="form.PASSWORD_EXPIRATION_DAYS" class="input-width" :precision="0" :min="0"
|
||||
:max="999"
|
||||
>
|
||||
<template #append>天</template>
|
||||
</a-input-number>
|
||||
</a-form-item>
|
||||
<a-form-item :label="securityConfig.PASSWORD_EXPIRATION_WARNING_DAYS.name"
|
||||
<a-form-item
|
||||
:label="securityConfig.PASSWORD_EXPIRATION_WARNING_DAYS.name"
|
||||
field="PASSWORD_EXPIRATION_WARNING_DAYS" :help="securityConfig.PASSWORD_EXPIRATION_WARNING_DAYS.description"
|
||||
hide-asterisk>
|
||||
<a-input-number v-model="form.PASSWORD_EXPIRATION_WARNING_DAYS" class="input-width" :precision="0" :min="0"
|
||||
:max="998">
|
||||
hide-asterisk
|
||||
>
|
||||
<a-input-number
|
||||
v-model="form.PASSWORD_EXPIRATION_WARNING_DAYS" class="input-width" :precision="0" :min="0"
|
||||
:max="998"
|
||||
>
|
||||
<template #append>天</template>
|
||||
</a-input-number>
|
||||
</a-form-item>
|
||||
<a-form-item field="PASSWORD_REPETITION_TIMES" :label="securityConfig.PASSWORD_REPETITION_TIMES.name"
|
||||
:help="securityConfig.PASSWORD_REPETITION_TIMES.description" hide-asterisk>
|
||||
<a-input-number v-model="form.PASSWORD_REPETITION_TIMES" class="input-width" :precision="0" :min="3"
|
||||
:max="32">
|
||||
<a-form-item
|
||||
field="PASSWORD_REPETITION_TIMES" :label="securityConfig.PASSWORD_REPETITION_TIMES.name"
|
||||
:help="securityConfig.PASSWORD_REPETITION_TIMES.description" hide-asterisk
|
||||
>
|
||||
<a-input-number
|
||||
v-model="form.PASSWORD_REPETITION_TIMES" class="input-width" :precision="0" :min="3"
|
||||
:max="32"
|
||||
>
|
||||
<template #append>次</template>
|
||||
</a-input-number>
|
||||
</a-form-item>
|
||||
<a-form-item field="PASSWORD_MIN_LENGTH" :label="securityConfig.PASSWORD_MIN_LENGTH.name"
|
||||
:help="securityConfig.PASSWORD_MIN_LENGTH.description" hide-asterisk>
|
||||
<a-form-item
|
||||
field="PASSWORD_MIN_LENGTH" :label="securityConfig.PASSWORD_MIN_LENGTH.name"
|
||||
:help="securityConfig.PASSWORD_MIN_LENGTH.description" hide-asterisk
|
||||
>
|
||||
<a-input-number v-model="form.PASSWORD_MIN_LENGTH" class="input-width" :precision="0" :min="8" :max="32" />
|
||||
</a-form-item>
|
||||
<a-form-item field="PASSWORD_ALLOW_CONTAIN_USERNAME"
|
||||
:label="securityConfig.PASSWORD_ALLOW_CONTAIN_USERNAME.name">
|
||||
<a-form-item
|
||||
field="PASSWORD_ALLOW_CONTAIN_USERNAME"
|
||||
:label="securityConfig.PASSWORD_ALLOW_CONTAIN_USERNAME.name"
|
||||
>
|
||||
<a-switch v-model="form.PASSWORD_ALLOW_CONTAIN_USERNAME" type="round" :checked-value="1" :unchecked-value="0">
|
||||
<template #checked>是</template>
|
||||
<template #unchecked>否</template>
|
||||
@@ -97,7 +123,7 @@ const { form } = useForm({
|
||||
PASSWORD_REPETITION_TIMES: 0,
|
||||
PASSWORD_MIN_LENGTH: 0,
|
||||
PASSWORD_ALLOW_CONTAIN_USERNAME: 0,
|
||||
PASSWORD_REQUIRE_SYMBOLS: 0
|
||||
PASSWORD_REQUIRE_SYMBOLS: 0,
|
||||
})
|
||||
const rules: FormInstance['rules'] = {
|
||||
PASSWORD_ERROR_LOCK_COUNT: [{ required: true, message: '请输入值' }],
|
||||
@@ -112,11 +138,11 @@ const rules: FormInstance['rules'] = {
|
||||
} else {
|
||||
callback()
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
],
|
||||
PASSWORD_REPETITION_TIMES: [{ required: true, message: '请输入值' }],
|
||||
PASSWORD_MIN_LENGTH: [{ required: true, message: '请输入值' }]
|
||||
PASSWORD_MIN_LENGTH: [{ required: true, message: '请输入值' }],
|
||||
}
|
||||
|
||||
const securityConfig = ref<SecurityConfig>({
|
||||
@@ -127,7 +153,7 @@ const securityConfig = ref<SecurityConfig>({
|
||||
PASSWORD_REPETITION_TIMES: {},
|
||||
PASSWORD_MIN_LENGTH: {},
|
||||
PASSWORD_ALLOW_CONTAIN_USERNAME: {},
|
||||
PASSWORD_REQUIRE_SYMBOLS: {}
|
||||
PASSWORD_REQUIRE_SYMBOLS: {},
|
||||
})
|
||||
// 重置
|
||||
const reset = () => {
|
||||
@@ -155,7 +181,7 @@ const handleCancel = () => {
|
||||
}
|
||||
|
||||
const queryForm = {
|
||||
category: 'PASSWORD'
|
||||
category: 'PASSWORD',
|
||||
}
|
||||
// 查询列表数据
|
||||
const getDataList = async () => {
|
||||
@@ -176,7 +202,7 @@ const handleSave = async () => {
|
||||
await updateOption(
|
||||
Object.entries(form).map(([key, value]) => {
|
||||
return { id: securityConfig.value[key].id, code: key, value }
|
||||
})
|
||||
}),
|
||||
)
|
||||
await getDataList()
|
||||
Message.success('保存成功')
|
||||
@@ -194,7 +220,7 @@ const onResetValue = () => {
|
||||
content: '确认恢复安全配置为默认值吗?',
|
||||
hideCancel: false,
|
||||
maskClosable: false,
|
||||
onOk: handleResetValue
|
||||
onOk: handleResetValue,
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ watch(
|
||||
activeKey.value = String(route.query.tabKey)
|
||||
}
|
||||
},
|
||||
{ immediate: true }
|
||||
{ immediate: true },
|
||||
)
|
||||
const change = (key: string | number) => {
|
||||
activeKey.value = key as string
|
||||
|
||||
Reference in New Issue
Block a user