修改测试bug
This commit is contained in:
@@ -63,7 +63,7 @@
|
||||
:model-value="configStore.getColorVal('menuTopBarBackground')" />
|
||||
</el-form-item>
|
||||
<el-form-item label="侧边菜单宽度(展开时)">
|
||||
<el-input maxlength="32" show-word-limit @input="onCommitState($event, 'menuWidth')"
|
||||
<el-input maxlength="32" show-word-limit @input="onCommitState($event, 'menuWidth')"
|
||||
type="number" :step="10" :model-value="configStore.layout.menuWidth">
|
||||
<template #append>px</template>
|
||||
</el-input>
|
||||
|
||||
@@ -116,11 +116,11 @@ const handleCommand = async (key: string) => {
|
||||
popupPwd.value.open()
|
||||
break
|
||||
case 'layout':
|
||||
await window.location.reload()
|
||||
navTabs.closeTabs()
|
||||
window.localStorage.clear()
|
||||
adminInfo.reset()
|
||||
setTimeout(() => {
|
||||
navTabs.closeTabs()
|
||||
window.localStorage.clear()
|
||||
adminInfo.reset()
|
||||
window.location.reload()
|
||||
router.push({ name: 'login' })
|
||||
}, 0)
|
||||
break
|
||||
@@ -231,9 +231,11 @@ const handleCommand = async (key: string) => {
|
||||
0% {
|
||||
transform: scale(0);
|
||||
}
|
||||
|
||||
80% {
|
||||
transform: scale(1.2);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
@@ -3,22 +3,22 @@
|
||||
|
||||
<el-form :inline="false" :model="form" label-width="auto" class="form-one">
|
||||
<el-form-item label="用户名称:">
|
||||
<el-input v-model.trim="form.name" :disabled="true"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.name" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="登录名称:" class="top">
|
||||
<el-input v-model.trim="form.loginName" :disabled="true"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.loginName" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="归属部门名称:" class="top">
|
||||
<el-input v-model.trim="form.deptName" :disabled="true"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.deptName" :disabled="true"></el-input>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="拥有的角色:" class="top">
|
||||
<el-input v-model.trim="form.role" :disabled="true"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.role" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="电话号码:" class="top">
|
||||
<el-input v-model.trim="form.phone" :disabled="true"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.phone" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="电子邮箱:" class="top">
|
||||
<el-input v-model.trim="form.email" :disabled="true"></el-input>
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.email" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
<el-scrollbar>
|
||||
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" class="form-one" ref="formRef">
|
||||
<el-form-item label="校验密码:" prop="password">
|
||||
<el-input v-model.trim="form.password" type="password" placeholder="请输入校验密码" show-password />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.password" type="password" placeholder="请输入校验密码" show-password />
|
||||
</el-form-item>
|
||||
<el-form-item label="新密码:" prop="newPwd">
|
||||
<el-input v-model.trim="form.newPwd" type="password" placeholder="请输入新密码" show-password />
|
||||
<el-input maxlength="32" show-word-limit v-model.trim="form.newPwd" type="password" placeholder="请输入新密码" show-password />
|
||||
</el-form-item>
|
||||
<el-form-item label="确认密码:" prop="confirmPwd">
|
||||
<el-input
|
||||
<el-input maxlength="32" show-word-limit
|
||||
v-model.trim="form.confirmPwd"
|
||||
type="password"
|
||||
placeholder="请输入确认密码"
|
||||
|
||||
@@ -1,88 +1,88 @@
|
||||
<script setup lang="ts">
|
||||
import { ref, computed, reactive } from 'vue'
|
||||
import { useValidator } from '@/hooks/web/useValidator'
|
||||
import { useDesign } from '@/hooks/web/useDesign'
|
||||
import { useLockStore } from '@/stores/modules/lock'
|
||||
import avatarImg from '@/assets/imgs/avatar.gif'
|
||||
import { useUserStore } from '@/stores/modules/user'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
const { getPrefixCls } = useDesign()
|
||||
const prefixCls = getPrefixCls('lock-dialog')
|
||||
|
||||
const { required } = useValidator()
|
||||
|
||||
const { t } = useI18n()
|
||||
|
||||
const lockStore = useLockStore()
|
||||
|
||||
const props = defineProps({
|
||||
modelValue: {
|
||||
type: Boolean
|
||||
}
|
||||
})
|
||||
|
||||
const userStore = useUserStore()
|
||||
const avatar = computed(() => userStore.user.avatar ?? avatarImg)
|
||||
const userName = computed(() => userStore.user.nickname ?? 'Admin')
|
||||
|
||||
const emit = defineEmits(['update:modelValue'])
|
||||
|
||||
const dialogVisible = computed({
|
||||
get: () => props.modelValue,
|
||||
set: val => {
|
||||
// console.log('set: ', val)
|
||||
emit('update:modelValue', val)
|
||||
}
|
||||
})
|
||||
|
||||
const dialogTitle = ref(t('lock.lockScreen'))
|
||||
|
||||
const formData = ref({
|
||||
password: undefined
|
||||
})
|
||||
const formRules = reactive({
|
||||
password: [required()]
|
||||
})
|
||||
|
||||
const formRef = ref() // 表单 Ref
|
||||
const handleLock = async () => {
|
||||
// 校验表单
|
||||
if (!formRef) return
|
||||
const valid = await formRef.value.validate()
|
||||
if (!valid) return
|
||||
// 提交请求
|
||||
dialogVisible.value = false
|
||||
lockStore.setLockInfo({
|
||||
...formData.value,
|
||||
isLock: true
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Dialog v-model.trim="dialogVisible" width="500px" max-height="170px" :class="prefixCls" :title="dialogTitle">
|
||||
<div class="flex flex-col items-center">
|
||||
<img :src="avatar" alt="" class="w-70px h-70px rounded-[50%]" />
|
||||
<span class="text-14px my-10px text-[var(--top-header-text-color)]">
|
||||
{{ userName }}
|
||||
</span>
|
||||
</div>
|
||||
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px">
|
||||
<el-form-item :label="t('lock.lockPassword')" prop="password">
|
||||
<el-input maxlength="32" show-word-limit type="password" v-model.trim="formData.password"
|
||||
:placeholder="'请输入' + t('lock.lockPassword')" clearable show-password />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<ElButton type="primary" @click="handleLock">{{ t('lock.lock') }}</ElButton>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
:global(.v-lock-dialog) {
|
||||
@media (max-width: 767px) {
|
||||
max-width: calc(100vw - 16px);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<script setup lang="ts">
|
||||
import { ref, computed, reactive } from 'vue'
|
||||
import { useValidator } from '@/hooks/web/useValidator'
|
||||
import { useDesign } from '@/hooks/web/useDesign'
|
||||
import { useLockStore } from '@/stores/modules/lock'
|
||||
import avatarImg from '@/assets/imgs/avatar.gif'
|
||||
import { useUserStore } from '@/stores/modules/user'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
const { getPrefixCls } = useDesign()
|
||||
const prefixCls = getPrefixCls('lock-dialog')
|
||||
|
||||
const { required } = useValidator()
|
||||
|
||||
const { t } = useI18n()
|
||||
|
||||
const lockStore = useLockStore()
|
||||
|
||||
const props = defineProps({
|
||||
modelValue: {
|
||||
type: Boolean
|
||||
}
|
||||
})
|
||||
|
||||
const userStore = useUserStore()
|
||||
const avatar = computed(() => userStore.user.avatar ?? avatarImg)
|
||||
const userName = computed(() => userStore.user.nickname ?? 'Admin')
|
||||
|
||||
const emit = defineEmits(['update:modelValue'])
|
||||
|
||||
const dialogVisible = computed({
|
||||
get: () => props.modelValue,
|
||||
set: val => {
|
||||
// console.log('set: ', val)
|
||||
emit('update:modelValue', val)
|
||||
}
|
||||
})
|
||||
|
||||
const dialogTitle = ref(t('lock.lockScreen'))
|
||||
|
||||
const formData = ref({
|
||||
password: undefined
|
||||
})
|
||||
const formRules = reactive({
|
||||
password: [required()]
|
||||
})
|
||||
|
||||
const formRef = ref() // 表单 Ref
|
||||
const handleLock = async () => {
|
||||
// 校验表单
|
||||
if (!formRef) return
|
||||
const valid = await formRef.value.validate()
|
||||
if (!valid) return
|
||||
// 提交请求
|
||||
dialogVisible.value = false
|
||||
lockStore.setLockInfo({
|
||||
...formData.value,
|
||||
isLock: true
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Dialog v-model.trim="dialogVisible" width="500px" max-height="170px" :class="prefixCls" :title="dialogTitle">
|
||||
<div class="flex flex-col items-center">
|
||||
<img :src="avatar" alt="" class="w-70px h-70px rounded-[50%]" />
|
||||
<span class="text-14px my-10px text-[var(--top-header-text-color)]">
|
||||
{{ userName }}
|
||||
</span>
|
||||
</div>
|
||||
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="80px">
|
||||
<el-form-item :label="t('lock.lockPassword')" prop="password">
|
||||
<el-input maxlength="32" show-word-limit type="password" v-model.trim="formData.password"
|
||||
:placeholder="'请输入' + t('lock.lockPassword')" clearable show-password />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<ElButton type="primary" @click="handleLock">{{ t('lock.lock') }}</ElButton>
|
||||
</template>
|
||||
</Dialog>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
:global(.v-lock-dialog) {
|
||||
@media (max-width: 767px) {
|
||||
max-width: calc(100vw - 16px);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user