diff --git a/src/assets/image/gdzd57@2x.png b/src/assets/image/gdzd57@2x.png new file mode 100644 index 0000000..ac0414c Binary files /dev/null and b/src/assets/image/gdzd57@2x.png differ diff --git a/src/main.js b/src/main.js index 2cfe03d..2725021 100644 --- a/src/main.js +++ b/src/main.js @@ -25,18 +25,24 @@ app.directive('no-space', { }); } }) -app.directive('number-only', { +// 注册全局自定义指令 +app.directive('decimal', { mounted(el) { el.addEventListener('input', (event) => { - const { value } = event.target; - // 使用正则表达式限制输入格式 - event.target.value = value.replace(/[^0-9.]/g, ''); // 只保留数字和小数点 - if (event.target.value.indexOf('.') !== -1) { - // 如果已经包含小数点 - const parts = event.target.value.split('.'); - event.target.value = `${parts[0]}.${parts[1].slice(0, 1)}`; // 只保留一位小数 + // 获取当前输入的值 + let value = event.target.value; + + // 匹配有效的数字(最多一位小数) + const regex = /^\d*\.?\d{0,1}$/; + + if (!regex.test(value)) { + // 如果不匹配,将输入值设置为最后一次有效输入的值 + event.target.value = el._lastValidValue || ''; + } else { + // 如果匹配,保存该有效输入值 + el._lastValidValue = value; } }); - }, + } }); app.mount('#app'); diff --git a/src/router/index.js b/src/router/index.js index 6e4ac02..d3ef265 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -15,6 +15,11 @@ const routes = [ name: 'signup', component: () => import('@/views/signup/index.vue') }, + { + path: '/result', + name: 'result', + component: () => import('@/views/result/index.vue') + }, { path: '/confirm', name: 'confirm', diff --git a/src/store/auth/index.js b/src/store/auth/index.js index 05730ca..8856759 100644 --- a/src/store/auth/index.js +++ b/src/store/auth/index.js @@ -86,6 +86,10 @@ export const useAuth=createGlobalState(()=>{ item.picUrl='' item.imgList=[] } + const viewDetails=async ()=>{ + await getDetail() + router.push('/details') + } const clickApply=async ()=>{ const isValid = validateFormData(); if (!isValid){ @@ -98,7 +102,8 @@ export const useAuth=createGlobalState(()=>{ const res=await competitionApply(data) if(res.status===0){ message.success('报名成功') - router.push('/confirm') + + router.push('/result') } } let timer = null; @@ -109,7 +114,6 @@ export const useAuth=createGlobalState(()=>{ } const res=await competitionWorks({telNum:telNum.value}) if (res.status===0){ - console.log(res.data,'getDetail') detailData.value=res.data } } @@ -178,6 +182,7 @@ export const useAuth=createGlobalState(()=>{ })*/ } return { + viewDetails, goBack, openMask1, deleteImg, diff --git a/src/views/login/index.vue b/src/views/login/index.vue index d64ee05..b846f8a 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -20,6 +20,7 @@ const viewComponent = computed(() => { return size1920; } }) +localStorage.clear() diff --git a/src/views/result/index.vue b/src/views/result/index.vue new file mode 100644 index 0000000..e24be13 --- /dev/null +++ b/src/views/result/index.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/src/views/result/size1440/index.vue b/src/views/result/size1440/index.vue new file mode 100644 index 0000000..762e8b7 --- /dev/null +++ b/src/views/result/size1440/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/src/views/result/size1920/index.vue b/src/views/result/size1920/index.vue new file mode 100644 index 0000000..762e8b7 --- /dev/null +++ b/src/views/result/size1920/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/src/views/result/size375/index.vue b/src/views/result/size375/index.vue new file mode 100644 index 0000000..7ec7e5a --- /dev/null +++ b/src/views/result/size375/index.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/views/result/size768/index.vue b/src/views/result/size768/index.vue new file mode 100644 index 0000000..776fa12 --- /dev/null +++ b/src/views/result/size768/index.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/views/signup/size1440/index.vue b/src/views/signup/size1440/index.vue index 445308f..ca36c56 100644 --- a/src/views/signup/size1440/index.vue +++ b/src/views/signup/size1440/index.vue @@ -1,6 +1,9 @@