解决分页选择页数和条数后,跳转到其他页面,再回来时,分页选择的页数条数丢失的问题,完善邮箱登录,日志完善,操作日志中增加详细报错堆栈信息
This commit is contained in:
parent
9933de3252
commit
2bf5a087cf
@ -53,6 +53,14 @@ export function register(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function getMailCode(data) {
|
||||||
|
return request({
|
||||||
|
url: '/getMailCode',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 三方授权回调
|
* 三方授权回调
|
||||||
* @param {*} data
|
* @param {*} data
|
||||||
|
|||||||
@ -23,60 +23,68 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
total: {
|
total: {
|
||||||
required: true,
|
required: true,
|
||||||
type: Number,
|
type: Number
|
||||||
},
|
},
|
||||||
page: {
|
page: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 1,
|
default: 1
|
||||||
},
|
},
|
||||||
limit: {
|
limit: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: 20,
|
default: 20
|
||||||
},
|
},
|
||||||
pageSizes: {
|
pageSizes: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default() {
|
default() {
|
||||||
return [10, 20, 30, 50, 100]
|
return [10, 20, 30, 50, 100]
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
// 移动端页码按钮的数量端默认值5
|
// 移动端页码按钮的数量端默认值5
|
||||||
pagerCount: {
|
pagerCount: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default: document.body.clientWidth < 992 ? 5 : 7,
|
default: document.body.clientWidth < 992 ? 5 : 7
|
||||||
},
|
},
|
||||||
layout: {
|
layout: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'total, sizes, prev, pager, next, jumper',
|
default: 'total, sizes, prev, pager, next, jumper'
|
||||||
},
|
},
|
||||||
background: {
|
background: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true
|
||||||
},
|
},
|
||||||
autoScroll: {
|
autoScroll: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true
|
||||||
},
|
},
|
||||||
hidden: {
|
hidden: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false
|
||||||
},
|
}
|
||||||
},
|
},
|
||||||
setup(props, { ctx, emit }) {
|
setup(props, { ctx, emit }) {
|
||||||
|
const router = useRouter()
|
||||||
|
const route = useRoute()
|
||||||
const currentPage = computed({
|
const currentPage = computed({
|
||||||
get() {
|
get() {
|
||||||
return props.page
|
if (route.query.page) {
|
||||||
|
emit('update:page', parseInt(route.query.page))
|
||||||
|
}
|
||||||
|
return route.query.page ? parseInt(route.query.page) : props.page
|
||||||
},
|
},
|
||||||
set(val) {
|
set(val) {
|
||||||
emit('update:page', val)
|
emit('update:page', val)
|
||||||
},
|
}
|
||||||
})
|
})
|
||||||
const pageSize = computed({
|
const pageSize = computed({
|
||||||
get() {
|
get() {
|
||||||
return props.limit
|
if (route.query.limit) {
|
||||||
|
emit('update:limit', parseInt(route.query.limit))
|
||||||
|
}
|
||||||
|
return route.query.limit ? parseInt(route.query.limit) : props.limit
|
||||||
},
|
},
|
||||||
set(val) {
|
set(val) {
|
||||||
emit('update:limit', val)
|
emit('update:limit', val)
|
||||||
},
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
function handleSizeChange(val) {
|
function handleSizeChange(val) {
|
||||||
@ -84,21 +92,35 @@ export default {
|
|||||||
if (props.autoScroll) {
|
if (props.autoScroll) {
|
||||||
// scrollTo(0, 800);
|
// scrollTo(0, 800);
|
||||||
}
|
}
|
||||||
|
router.replace({
|
||||||
|
path: router.currentRoute.value.path,
|
||||||
|
query: {
|
||||||
|
page: currentPage.value,
|
||||||
|
limit: val
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
function handleCurrentChange(val) {
|
function handleCurrentChange(val) {
|
||||||
emit('pagination', { page: val, limit: pageSize.value })
|
emit('pagination', { page: val, limit: pageSize.value })
|
||||||
if (props.autoScroll) {
|
if (props.autoScroll) {
|
||||||
// scrollTo(0, 800);
|
// scrollTo(0, 800);
|
||||||
}
|
}
|
||||||
|
router.replace({
|
||||||
|
path: router.currentRoute.value.path,
|
||||||
|
query: {
|
||||||
|
page: val,
|
||||||
|
limit: pageSize.value
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
currentPage,
|
currentPage,
|
||||||
pageSize,
|
pageSize,
|
||||||
handleSizeChange,
|
handleSizeChange,
|
||||||
handleCurrentChange,
|
handleCurrentChange
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
@ -66,7 +66,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="loginByEmail" lang="ts">
|
<script setup name="loginByEmail" lang="ts">
|
||||||
// import { getMailCode, getEmailVerifyImg, getRsaKey } from '@/api/system/login'
|
import { getMailCode } from '@/api/system/login'
|
||||||
import defaultSettings from '@/settings'
|
import defaultSettings from '@/settings'
|
||||||
import starBackground from '@/views/components/starBackground.vue'
|
import starBackground from '@/views/components/starBackground.vue'
|
||||||
import LangSelect from '@/components/LangSelect/index.vue'
|
import LangSelect from '@/components/LangSelect/index.vue'
|
||||||
@ -115,8 +115,6 @@ const loginRules = {
|
|||||||
const loginRef = ref()
|
const loginRef = ref()
|
||||||
const loading = ref<boolean>(false)
|
const loading = ref<boolean>(false)
|
||||||
const dragVerify = ref(false)
|
const dragVerify = ref(false)
|
||||||
// const verifyImg = ref('https://picsum.photos/979/547' + '/?image=' + Math.round(Math.random() * 20))
|
|
||||||
// const /v.jpg
|
|
||||||
const isPassing = ref(false)
|
const isPassing = ref(false)
|
||||||
const loginForm = ref<loginForm>({
|
const loginForm = ref<loginForm>({
|
||||||
email: '',
|
email: '',
|
||||||
@ -141,14 +139,6 @@ const verifyImg: verifyImg = reactive({
|
|||||||
})
|
})
|
||||||
// 先存到数组中,然后刷新取下一个
|
// 先存到数组中,然后刷新取下一个
|
||||||
function getVerifyImg() {
|
function getVerifyImg() {
|
||||||
// getEmailVerifyImg().then((res) => {
|
|
||||||
// verifyImg.array = res.data
|
|
||||||
// if (verifyImg.array.length === 0) {
|
|
||||||
// verifyImg.array.push('/v.jpg')
|
|
||||||
// }
|
|
||||||
// verifyImg.src = verifyImg.array[0]
|
|
||||||
// // resolve(verifyImg)
|
|
||||||
// })
|
|
||||||
verifyImg.array = [
|
verifyImg.array = [
|
||||||
'/verifyimg/10-979x547.jpg',
|
'/verifyimg/10-979x547.jpg',
|
||||||
'/verifyimg/11-979x547.jpg',
|
'/verifyimg/11-979x547.jpg',
|
||||||
@ -186,8 +176,6 @@ function refreshImg() {
|
|||||||
verifyImg.src = verifyImg.array[verifyImg.flag]
|
verifyImg.src = verifyImg.array[verifyImg.flag]
|
||||||
verifyImg.flag++
|
verifyImg.flag++
|
||||||
}
|
}
|
||||||
// verifyImg.value = 'https://picsum.photos/979/547' + '/?image=' + Math.round(Math.random() * 20)
|
|
||||||
// verifyImgArray.value.shift();
|
|
||||||
}
|
}
|
||||||
const redirect = ref()
|
const redirect = ref()
|
||||||
redirect.value = route.query.redirect
|
redirect.value = route.query.redirect
|
||||||
@ -212,7 +200,6 @@ interface LoginUser {
|
|||||||
loginDate: string
|
loginDate: string
|
||||||
deptId: number
|
deptId: number
|
||||||
}
|
}
|
||||||
// const currentLoginUser = ref<LoginUser>()
|
|
||||||
let currentLoginCo: any[] = reactive([])
|
let currentLoginCo: any[] = reactive([])
|
||||||
/**
|
/**
|
||||||
* @description: 登录
|
* @description: 登录
|
||||||
@ -239,7 +226,6 @@ function handleLogin() {
|
|||||||
id: element.dictValue,
|
id: element.dictValue,
|
||||||
name: element.dictLabel
|
name: element.dictLabel
|
||||||
})
|
})
|
||||||
// currentLoginUser.value = res.data.user
|
|
||||||
})
|
})
|
||||||
roleSelectDialog.roles = roles
|
roleSelectDialog.roles = roles
|
||||||
})
|
})
|
||||||
@ -276,27 +262,11 @@ function roleSelectDialogClose(): void {
|
|||||||
globalProperties.$modal.msg(t('roleSelectDialog.close'))
|
globalProperties.$modal.msg(t('roleSelectDialog.close'))
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @description: 企业类型选择弹窗回调
|
* @description:
|
||||||
* @param {roles} role 企业类型信息
|
* @param {roles} role
|
||||||
*/
|
*/
|
||||||
function roleSelectDialogCallback(role: roles): void {
|
function roleSelectDialogCallback(role: roles): void {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
const { coSysType, coId } = currentLoginCo.find((item) => item.coSysType === role.id)
|
|
||||||
userStore
|
|
||||||
.loginByCoSysType({ coId: coId, cosysType: coSysType }) // , user: currentLoginUser.value
|
|
||||||
.then(() => {
|
|
||||||
router.push({ path: redirect.value || '/' })
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
console.error(error)
|
|
||||||
globalProperties.$modal.msgError(error.msg)
|
|
||||||
loading.value = false
|
|
||||||
// 重新获取验证码
|
|
||||||
// if (captchaOnOff.value) {
|
|
||||||
// getCode()
|
|
||||||
// loginForm.value.code = ''
|
|
||||||
// }
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @description: 获取滑动验证
|
* @description: 获取滑动验证
|
||||||
|
|||||||
@ -145,6 +145,11 @@
|
|||||||
<el-col :lg="24">
|
<el-col :lg="24">
|
||||||
<el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item>
|
<el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :lg="24">
|
||||||
|
<el-form-item label="异常堆栈信息:" v-if="form.status === 1">
|
||||||
|
<el-input type="textarea" disabled rows="5" v-model="form.stackTrace" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user