zhang_li
2 months ago
1 changed files with 123 additions and 0 deletions
@ -0,0 +1,123 @@ |
|||
<template> |
|||
<!-- 搜索 --> |
|||
<div v-loading="loading" class="box"> |
|||
<el-form ref="formSmsLogin" :model="data" :rules="rules" label-width="70px" size="large"> |
|||
<div |
|||
class="title" |
|||
style="font-size: 20px; text-align: center; margin-bottom: 20px; font-weight: bold" |
|||
>密码策略</div |
|||
> |
|||
<el-row type="flex" justify="center" align="middle"> |
|||
<el-col> |
|||
<el-form-item label="密码难度" prop="passwordDifficulty" align="center"> |
|||
<el-select v-model="data.passwordDifficulty" placeholder="请选择密码难度"> |
|||
<el-option |
|||
v-for="item in difficultyList" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col> |
|||
<el-form-item label="试错次数" prop="number"> |
|||
<el-input-number |
|||
v-model="data.number" |
|||
:min="0" |
|||
:precision="0" |
|||
style="margin-right: 10px" |
|||
/>次 |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col> |
|||
<el-form-item label="锁定时长" prop="minute"> |
|||
<el-input-number |
|||
v-model="data.minute" |
|||
:min="0" |
|||
:precision="0" |
|||
style="margin-right: 10px" |
|||
/>分钟 |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col> |
|||
<el-form-item label="更新周期" prop="cycle"> |
|||
<el-input-number |
|||
v-model="data.cycle" |
|||
:min="0" |
|||
:precision="0" |
|||
style="margin-right: 10px" |
|||
/>天 |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col> |
|||
<el-form-item label="是否开启" prop="isEnabled"> |
|||
<el-switch v-model="data.isEnabled" active-value="TRUE" inactive-value="'FALSE'" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<div class="dialog-footer"> |
|||
<el-button |
|||
type="primary" |
|||
@click="submitForm" |
|||
style="width: 100%; height: 40px; line-height: 40px" |
|||
>保 存</el-button |
|||
> |
|||
<el-button type="danger" @click="reset" style="width: 100%; height: 40px; line-height: 40px" |
|||
>重 置</el-button |
|||
> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script lang="ts" setup> |
|||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict' |
|||
|
|||
defineOptions({ name: 'PasswordRule' }) |
|||
|
|||
const message = useMessage() // 消息弹窗 |
|||
const { t } = useI18n() // 国际化 |
|||
const loading = ref(false) |
|||
const rules = { |
|||
password: [required], |
|||
againPassword: [required] |
|||
} |
|||
const data = ref({ |
|||
passwordDifficulty: '', //密码难度 |
|||
number: '', //试错次数 |
|||
minute: '', //锁定时长 |
|||
cycle: '', //更新周期 |
|||
isEnabled: 'TRUE' //是否开启 |
|||
}) |
|||
const difficultyList = ref([ |
|||
{ |
|||
value: '11', |
|||
label: '11' |
|||
} |
|||
]) |
|||
const reset = () => { |
|||
data.value = { |
|||
passwordDifficulty: '', //密码难度 |
|||
number: '', //试错次数 |
|||
minute: '', //锁定时长 |
|||
cycle: '', //更新周期 |
|||
isEnabled: 'TRUE' //是否开启 |
|||
} |
|||
} |
|||
/** 初始化 **/ |
|||
onMounted(async () => {}) |
|||
</script> |
|||
<style lang="scss"> |
|||
.box { |
|||
margin: 50px auto; |
|||
width: 500px; |
|||
background: white; |
|||
padding: 20px; |
|||
border: 1px solid #dedede; |
|||
} |
|||
.dialog-footer { |
|||
display: flex; |
|||
width: 160px; |
|||
margin: 0 auto; |
|||
} |
|||
</style> |
Loading…
Reference in new issue