fix
This commit is contained in:
@@ -17,7 +17,6 @@
|
||||
mode="inline"
|
||||
@click="handleClick"
|
||||
>
|
||||
|
||||
<div v-for="(menu) in rootSubmenuKeys" :key="menu.key" >
|
||||
<a-menu-item :key="menu.key" :name="menu.name" :route="menu.route" v-if="!menu.children">
|
||||
<template #icon>
|
||||
@@ -68,7 +67,7 @@
|
||||
<script lang="ts">
|
||||
import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
import { message, Upload } from "ant-design-vue";
|
||||
import { defineComponent, onMounted, h, ref, nextTick, computed,reactive, toRefs } from "vue";
|
||||
import { defineComponent, onMounted, h, ref, nextTick, computed,reactive, toRefs, onBeforeMount } from "vue";
|
||||
import { MailOutlined, AppstoreOutlined, SettingOutlined } from '@ant-design/icons-vue';
|
||||
import { Https } from "@/tool/https";
|
||||
import { useStore } from "vuex";
|
||||
@@ -135,20 +134,19 @@ export default defineComponent({
|
||||
}else{
|
||||
router.push('/administrator')
|
||||
}
|
||||
|
||||
state.rootSubmenuKeys.forEach((item:any) => {
|
||||
if(item.children){
|
||||
item.children.forEach((item:any) => {
|
||||
if(item.route == router.currentRoute.value.path){
|
||||
state.selectedKeys[0] = item.key
|
||||
}
|
||||
});
|
||||
}else{
|
||||
if(item.route == router.currentRoute.value.path){
|
||||
state.selectedKeys[0] = item.key
|
||||
}
|
||||
}
|
||||
});
|
||||
// state.rootSubmenuKeys.forEach((item:any) => {
|
||||
// if(item.children){
|
||||
// item.children.forEach((item:any) => {
|
||||
// if(item.route == router.currentRoute.value.path){
|
||||
// state.selectedKeys[0] = item.key
|
||||
// }
|
||||
// });
|
||||
// }else{
|
||||
// if(item.route == router.currentRoute.value.path){
|
||||
// state.selectedKeys[0] = item.key
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
//储存所有用户id和name
|
||||
Https.axiosGet(Https.httpUrls.getAllUserId,).then((rv: any) => {
|
||||
if (rv) {
|
||||
@@ -171,6 +169,9 @@ export default defineComponent({
|
||||
// router.push(state.rootSubmenuKeys[0].route)
|
||||
|
||||
})
|
||||
onBeforeMount(()=>{
|
||||
state.selectedKeys = ['sub1']
|
||||
})
|
||||
return {
|
||||
...toRefs(state),
|
||||
onOpenChange,
|
||||
|
||||
@@ -1,154 +0,0 @@
|
||||
<template>
|
||||
<div class="move_page">
|
||||
<div class="move_click">
|
||||
<div class="move_click_dian" v-for="i in moveDian" :key="i" :style="{'background':i}" @mousedown="AddDian(i)"></div>
|
||||
</div>
|
||||
<div class="img_block" ref="imgbox" @mousemove="startMove($event)">
|
||||
<img ref="img" src="https://t7.baidu.com/it/u=1956604245,3662848045&fm=193&f=GIF" />
|
||||
<!-- <div class="img_mark"></div> -->
|
||||
<div class="img_click_dian" v-for="item in imgDian" :key="item" :style="{'background':item.color,left:item.left+'px', top:item.top+'px'}" @mousedown="getMouseDown($event,item)" @mousemove="startMove($event)"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { defineComponent,h,ref} from "vue";
|
||||
export default defineComponent({
|
||||
data(){
|
||||
return{
|
||||
moveDian:['red','yellow'],
|
||||
imgDian:[],
|
||||
intObj:null,
|
||||
startDian:false,
|
||||
currentSign:{},
|
||||
imgBox:{},
|
||||
moveOriginal:{posX: 0, posY: 0}
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.imgBox = {
|
||||
left : this.$refs.imgbox.offsetLeft,
|
||||
top:this.$refs.imgbox.offsetTop,
|
||||
scrollTop:this.$refs.scrollTop || 0,
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
AddDian(color){
|
||||
this.startDian = true
|
||||
this.intObj = {
|
||||
color:color
|
||||
}
|
||||
},
|
||||
|
||||
startMove(event){
|
||||
let scrollTop = this.$refs.imgbox.scrollTop;
|
||||
if(this.intObj){
|
||||
this.currentSign.color = this.intObj.color
|
||||
this.currentSign.left = event.clientX - this.imgBox.left
|
||||
this.currentSign.top = event.clientY + scrollTop - this.imgBox.top
|
||||
this.imgDian.push(this.currentSign)
|
||||
this.intObj = null
|
||||
}else{
|
||||
if(this.startDian){
|
||||
this.currentSign.left = event.clientX - this.imgBox.left - this.moveOriginal.posX
|
||||
this.currentSign.top = event.clientY + scrollTop - this.imgBox.top -this.moveOriginal.posY
|
||||
document.addEventListener('mouseup', this.getMouseOver);
|
||||
this.$forceUpdate()
|
||||
this.setBoundarySign()
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
// 在边界上的签名域处理
|
||||
setBoundarySign() {
|
||||
let height = this.$refs.imgbox.offsetHeight + this.$refs.imgbox.scrollTop;
|
||||
// 2 为签名域的边框
|
||||
let maxPosHeight = height - 30
|
||||
// console.log(height,maxPosHeight,this.currentSign.pos_params.height)
|
||||
let maxPosWidth = this.$refs.imgbox.clientWidth - 30 //+ this.signBox.paddLeft;
|
||||
if (this.currentSign.top <= 0) {
|
||||
this.currentSign.top = 0
|
||||
} else if (this.currentSign.top >= maxPosHeight ) {
|
||||
this.currentSign.top = maxPosHeight;
|
||||
}
|
||||
if (this.currentSign.left <= 0) {
|
||||
this.currentSign.left = 0
|
||||
} else if (this.currentSign.left >= maxPosWidth) {
|
||||
this.currentSign.left = maxPosWidth;
|
||||
}
|
||||
},
|
||||
|
||||
getMouseDown(event,item){
|
||||
this.currentSign = item
|
||||
// 计算出鼠标在签名域上的偏移
|
||||
this.moveOriginal.posX = event.offsetX
|
||||
// this.moveOriginal.posY = mousedownParam.event.clientY - this.currentSign.pos_params.top - this.signBox.boxTop;
|
||||
this.moveOriginal.posY = event.offsetY // 1为边框
|
||||
this.startDian = true
|
||||
},
|
||||
|
||||
getMouseOver(){
|
||||
this.startDian = false
|
||||
this.currentSign = {}
|
||||
document.removeEventListener('mouseup', this.getMouseOver);
|
||||
document.removeEventListener('touchend', this.getMouseOver);
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
</script>
|
||||
<style scoped>
|
||||
.move_page{
|
||||
display: flex;
|
||||
|
||||
}
|
||||
.move_click{
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.move_click_dian{
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 50%;
|
||||
margin-bottom: 60px;
|
||||
cursor: pointer;
|
||||
user-select:none; /* CSS3属性 */
|
||||
}
|
||||
.img_block{
|
||||
position: relative;
|
||||
user-select:none;
|
||||
-moz-user-select:none;
|
||||
overflow-y: auto;
|
||||
background: green;
|
||||
}
|
||||
.img_mark{
|
||||
width: 1200px;
|
||||
height: 600px;
|
||||
background: #ccc;
|
||||
/* width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0; */
|
||||
}
|
||||
img{
|
||||
user-select:none;
|
||||
-moz-user-select:none;
|
||||
width: 700px;
|
||||
}
|
||||
.img_click_dian{
|
||||
position: absolute;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
border-radius: 50%;
|
||||
-moz-user-select:none; /* Firefox私有属性 */
|
||||
-webkit-user-select:none; /* WebKit内核私有属性 */
|
||||
-ms-user-select:none; /* IE私有属性(IE10及以后) */
|
||||
-khtml-user-select:none; /* KHTML内核私有属性 */
|
||||
-o-user-select:none; /* Opera私有属性 */
|
||||
user-select:none; /* CSS3属性 */
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
@@ -482,8 +482,7 @@ export default defineComponent({
|
||||
userId: this.userDetail.userId,
|
||||
};
|
||||
// console.log(getCookie("token"));
|
||||
console.log(this.userDetail)
|
||||
if(this.userDetail.systemList.indexOf(3)>-1){
|
||||
if(this.userDetail.systemUser == 3){
|
||||
await Https.axiosGet(Https.httpUrls.trialUserLogout,).then((rv) => {
|
||||
Https.axiosPost(Https.httpUrls.accountLogout, data).then((rv) => {
|
||||
if(this.userDetail.systemUser == 7){
|
||||
@@ -870,7 +869,7 @@ export default defineComponent({
|
||||
color: #1a1a1a;
|
||||
font-weight: 900;
|
||||
width: auto;
|
||||
padding: 0 1rem;
|
||||
padding: 0 1.6rem;
|
||||
cursor: auto;
|
||||
display: flex;
|
||||
line-height: 6rem;
|
||||
@@ -900,8 +899,8 @@ export default defineComponent({
|
||||
height: 100%;
|
||||
display: inline-block;
|
||||
border-left: .1rem solid ;
|
||||
padding-left: .9rem;
|
||||
margin-left: .9rem;
|
||||
padding-left: 1.3rem;
|
||||
margin-left: 1.5rem;
|
||||
font-size: 1.8rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -1,61 +1,56 @@
|
||||
<template>
|
||||
<div class="homeRecommend_max">
|
||||
<header class="homeRecommend_heade">
|
||||
<div class="homeRecommend_right_content">
|
||||
<div class="homeRecommend_user_content">
|
||||
<img
|
||||
class="homeRecommend_logo"
|
||||
@click="turnToNewPage('https://www.aidlab.hk/en/')"
|
||||
src="@/assets/images/loginPage/aida_logo.png"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="homeRecommend_right">
|
||||
<div class="gallery_btn" v-if="userDetail.systemUser != -1 && !isMoblie" @click="goHome">Home</div>
|
||||
<div class="gallery_btn white" v-if="userDetail.systemUser != -1" @click="logout">log off</div>
|
||||
</div>
|
||||
<div class="homeRecommend_right" v-if="userDetail.systemUser == -1">
|
||||
<div class="gallery_btn" @click="setLogin">Login</div>
|
||||
<div class="gallery_btn white" @click="setRegister">Sign up</div>
|
||||
</div>
|
||||
</header>
|
||||
<div class="homeRecommend_content_body">
|
||||
<!-- <div class="homeRecommend_content_body_recommend">
|
||||
<img src="@/assets/images/homePage/home-bg.png">
|
||||
<div class="content_body_recommend_center content_body_text">
|
||||
<div class="content_body_recommend_center_title">
|
||||
<h1>AiDA</h1>
|
||||
<h3>bloom your creativity</h3>
|
||||
</div>
|
||||
<div class="left">
|
||||
<div class="comment">
|
||||
<div class="item">
|
||||
123123123123123123123123123123123123
|
||||
<div>2312321</div>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="homeRecommend_content_body_recommend" id="aaaa">
|
||||
<div class="content_body_recommend_left mdhidden">
|
||||
<img class="content_body_img1 content_body_img" src="/image/mainImg/img1.png" alt="">
|
||||
<img class="content_body_img2 content_body_img" src="/image/mainImg/img2.png" alt="">
|
||||
<img class="content_body_img3 content_body_img" src="/image/mainImg/img3.png" alt="">
|
||||
<img class="content_body_img4 content_body_img" src="/image/mainImg/img4.png" alt="">
|
||||
<div class="item right">
|
||||
1231231231231231231231231231231231233123123123
|
||||
<div>2312321</div>
|
||||
</div>
|
||||
<div class="content_body_recommend_center content_body_text">
|
||||
<div class="content_body_recommend_center_title">
|
||||
<h1>AiDA</h1>
|
||||
<h3>bloom your creativity</h3>
|
||||
</div>
|
||||
<div class="item">
|
||||
1231231231231231231231231231231231233123123123
|
||||
<div>2312321</div>
|
||||
</div>
|
||||
<div class="content_body_recommend_right mdhidden">
|
||||
<img class="content_body_img1 content_body_img" src="/image/mainImg/img5.png" alt="">
|
||||
<img class="content_body_img2 content_body_img" src="/image/mainImg/img6.png" alt="">
|
||||
<img class="content_body_img3 content_body_img" src="/image/mainImg/img7.png" alt="">
|
||||
<img class="content_body_img4 content_body_img" src="/image/mainImg/img8.png" alt="">
|
||||
<div class="item right">
|
||||
123123123123123123123123123123123123
|
||||
<div>2312321</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
1231231231231231231231231231231231233123123123
|
||||
<div>2312321</div>
|
||||
</div>
|
||||
<div class="item right">
|
||||
123123123123123123123123123123123123
|
||||
<div>2312321</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
1231231231231231231231231231231231233123123123
|
||||
<div>2312321</div>
|
||||
</div>
|
||||
<div class="item right">
|
||||
123123123123123123123123123123123123
|
||||
<div>2312321</div>
|
||||
</div>
|
||||
</div>
|
||||
<Works :isScroll="false"></Works>
|
||||
</div>
|
||||
<div class="homeRecommend_content_adminTop" @click="setAdminUp">
|
||||
<i class="fi fi-rr-arrow-small-up"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="">
|
||||
<div class="title">
|
||||
Log in to AiDA
|
||||
</div>
|
||||
<div class="info">
|
||||
Join the conversation! Sign in to connect seamlessly on WhatsApp and unlock the full potential of the web application.
|
||||
</div>
|
||||
<div class="continue gallery_btn gallery_btn_radius" @click="setLogin" style="min-width: 33rem;">
|
||||
Continue
|
||||
<i class="fi fi-rr-arrow-right"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
<script >
|
||||
import { defineComponent, toRefs, reactive, ref , nextTick,computed, onMounted, onBeforeUnmount } from "vue";
|
||||
@@ -66,7 +61,6 @@ import Habit from "@/component/Detail/habit.vue";
|
||||
import { Https } from "@/tool/https";
|
||||
import { Modal, message } from "ant-design-vue";
|
||||
import { ExclamationCircleOutlined } from "@ant-design/icons-vue";
|
||||
import Works from "@/views/HomeView/Works.vue";
|
||||
import { useStore } from "vuex";
|
||||
import { setLang } from "@/tool/guide";
|
||||
import { useI18n } from "vue-i18n";
|
||||
@@ -77,7 +71,6 @@ export default defineComponent({
|
||||
components: {
|
||||
VerificationCodeInput,
|
||||
Habit,
|
||||
Works,
|
||||
},
|
||||
setup(){
|
||||
const store = useStore();
|
||||
@@ -85,20 +78,12 @@ export default defineComponent({
|
||||
let registerModel = ref()
|
||||
let data = reactive({
|
||||
})
|
||||
let isMoblie = ref(false)
|
||||
let userDetail = computed(()=>{
|
||||
return store.state.UserHabit.userDetail
|
||||
})
|
||||
let setLogin = ()=>{
|
||||
router.push("/login");
|
||||
}
|
||||
let setAdminUp = ()=>{
|
||||
let scrollDom = document.querySelector('.homeRecommend_content_body')
|
||||
scrollDom.scrollTo({
|
||||
top: 0,
|
||||
behavior: 'smooth' // 平滑滚动到顶部
|
||||
});
|
||||
}
|
||||
let logout = ()=>{
|
||||
let userInfo = store.state.UserHabit.userDetail;
|
||||
let data = {
|
||||
@@ -118,11 +103,7 @@ export default defineComponent({
|
||||
let updataIsMoblie = ()=>{
|
||||
clearTimeout(time)
|
||||
time = setTimeout(()=>{
|
||||
if(window.innerWidth < 768){
|
||||
isMoblie.value = true
|
||||
}else{
|
||||
isMoblie.value = false
|
||||
}
|
||||
|
||||
},500)
|
||||
|
||||
}
|
||||
@@ -130,11 +111,6 @@ export default defineComponent({
|
||||
router.push('/register');
|
||||
}
|
||||
onMounted(()=>{
|
||||
if(window.innerWidth < 768){
|
||||
isMoblie.value = true
|
||||
}else{
|
||||
isMoblie.value = false
|
||||
}
|
||||
window.addEventListener('resize',updataIsMoblie)
|
||||
})
|
||||
onBeforeUnmount(() => {
|
||||
@@ -145,10 +121,8 @@ export default defineComponent({
|
||||
userDetail,
|
||||
setLogin,
|
||||
registerModel,
|
||||
setAdminUp,
|
||||
logout,
|
||||
goHome,
|
||||
isMoblie,
|
||||
setRegister,
|
||||
}
|
||||
},
|
||||
@@ -220,304 +194,80 @@ export default defineComponent({
|
||||
|
||||
<style lang="less" scoped>
|
||||
.homeRecommend_max{
|
||||
position: relative;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
flex-direction: column;
|
||||
|
||||
.homeRecommend_content_body{
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
.homeRecommend_heade {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
// padding: 0 30px;
|
||||
padding: 1rem 4rem;
|
||||
width: 100%;
|
||||
// height: 7rem;
|
||||
flex-shrink: 0;
|
||||
// background: rgba(255, 255, 255, 0.2);
|
||||
// border-bottom: 0.1rem solid rgba(3, 3, 3, 0.1);
|
||||
position: absolute;
|
||||
align-items: center;
|
||||
z-index: 2;
|
||||
@media (max-width: 768px) {
|
||||
z-index: 1000;
|
||||
}
|
||||
// background-color: #fff;
|
||||
.homeRecommend_right{
|
||||
width: 33%;
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
.gallery_btn{
|
||||
// color: #000;
|
||||
// background: #fff;
|
||||
// border: 2px solid #39215b;
|
||||
// margin-left: 2rem;
|
||||
width: 13rem;
|
||||
text-align: center;
|
||||
&.gallery_btn:nth-child(1){
|
||||
margin-right: 3rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.homeRecommend_logo {
|
||||
width: 14.4rem;
|
||||
height: 3.2rem;
|
||||
margin-top: 0;
|
||||
}
|
||||
.login_footer_item_text{
|
||||
margin-left: 5rem;
|
||||
display: none;
|
||||
}
|
||||
.homeRecommend_right_content {
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: flex;
|
||||
width: 40%;
|
||||
display: flex;
|
||||
> .left,> .right{
|
||||
height: 100%;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
.homeRecommend_user_content {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
height: 3.7rem;
|
||||
&.marLeft2{
|
||||
margin-left: 2rem;
|
||||
}
|
||||
.username {
|
||||
font-size: 1.8rem;
|
||||
color: #1a1a1a;
|
||||
margin: 0 0.8rem;
|
||||
font-weight: 900;
|
||||
span{
|
||||
margin: .7rem;
|
||||
}
|
||||
}
|
||||
.icon-xiala {
|
||||
font-size: 1.4rem;
|
||||
cursor: pointer;
|
||||
transition: .3s all;
|
||||
}
|
||||
.icon_rotate {
|
||||
-moz-transform: rotate(180deg);
|
||||
-webkit-transform: rotate(180deg);
|
||||
transform: rotate(180deg);
|
||||
animation-direction: 0.5s;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.homeRecommend_content_body{
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
&.homeRecommend_content_body::-webkit-scrollbar {
|
||||
display: none;
|
||||
display: flex;
|
||||
}
|
||||
// .homeRecommend_content_body_recommend{
|
||||
// // display: flex;
|
||||
// // justify-content: center;
|
||||
// position: relative;
|
||||
// border-bottom: 1px solid #ececec;
|
||||
// width: 100%;
|
||||
// img{
|
||||
// width: 100%;
|
||||
// }
|
||||
// .content_body_recommend_center{
|
||||
// position: absolute;
|
||||
// top: 40%;
|
||||
// left: 36rem;
|
||||
// transform: translateY(-50%);
|
||||
// .content_body_recommend_center_title{
|
||||
// h1,h3{
|
||||
// color: #fff;
|
||||
// }
|
||||
// h1{
|
||||
// font-size: 15rem;
|
||||
// margin-bottom: 0;
|
||||
// line-height: 1;
|
||||
// }
|
||||
// h3{
|
||||
// font-size: 6rem;
|
||||
// }
|
||||
// }
|
||||
|
||||
// }
|
||||
// }
|
||||
.homeRecommend_content_body_recommend{
|
||||
// display: flex;
|
||||
// justify-content: center;
|
||||
position: relative;
|
||||
border-bottom: 1px solid #ececec;
|
||||
|
||||
.content_body_recommend_left,
|
||||
.content_body_recommend_right{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
img{
|
||||
border-radius: 2rem;
|
||||
position: absolute;
|
||||
width: 20px;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
}
|
||||
--margin:3rem;
|
||||
.content_body_recommend_right{
|
||||
right: 0;
|
||||
.content_body_img1{
|
||||
width: 25rem;
|
||||
height: 55rem;
|
||||
object-fit: cover;
|
||||
// top: 10rem;
|
||||
// right: calc(20rem + var(--margin));
|
||||
right: 0;
|
||||
top: 14rem;
|
||||
}
|
||||
.content_body_img2{
|
||||
top: calc(45rem + var(--margin));
|
||||
width: 15rem;
|
||||
height: 30rem;
|
||||
object-fit: cover;
|
||||
right: calc(41rem + var(--margin));
|
||||
}
|
||||
.content_body_img3{
|
||||
top: calc(40rem + var(--margin));
|
||||
width: 15rem;
|
||||
height: 30rem;
|
||||
object-fit: cover;
|
||||
right: calc(25rem + var(--margin));
|
||||
}
|
||||
.content_body_img4{
|
||||
width: 30rem;
|
||||
height: 25rem;
|
||||
object-fit: cover;
|
||||
top: calc(13rem);
|
||||
right: calc(25rem + var(--margin));
|
||||
}
|
||||
.content_body_img5{
|
||||
width: 20rem;
|
||||
height: 20rem;
|
||||
object-fit: cover;
|
||||
top: 15rem;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
.content_body_recommend_left{
|
||||
left: 0;
|
||||
.content_body_img1{
|
||||
width: 25rem;
|
||||
height: 55rem;
|
||||
object-fit: cover;
|
||||
left: 0;
|
||||
top: 14rem;
|
||||
// top: 5rem;
|
||||
// left: calc(20rem + var(--margin));
|
||||
}
|
||||
.content_body_img2{
|
||||
width: 35rem;
|
||||
height: 27rem;
|
||||
object-fit: cover;
|
||||
top: calc(10rem + var(--margin));
|
||||
left: calc(25rem + var(--margin));
|
||||
}
|
||||
.content_body_img3{
|
||||
width: 22rem;
|
||||
height: 30rem;
|
||||
object-fit: cover;
|
||||
top: calc(40rem + var(--margin));
|
||||
left: calc(27rem + var(--margin));
|
||||
}
|
||||
.content_body_img4{
|
||||
width: 15rem;
|
||||
height: 18rem;
|
||||
object-fit: cover;
|
||||
top: calc(53rem + var(--margin));
|
||||
left: calc(45rem + var(--margin));
|
||||
}
|
||||
.content_body_img5{
|
||||
width: 20rem;
|
||||
height: 20rem;
|
||||
object-fit: cover;
|
||||
top: 51rem;
|
||||
left: calc(20rem + var(--margin));
|
||||
}
|
||||
.content_body_img6{
|
||||
width: 20rem;
|
||||
height: 20rem;
|
||||
object-fit: cover;
|
||||
top: 20rem;
|
||||
left: calc(0 + var(--margin));
|
||||
}
|
||||
}
|
||||
.content_body_recommend_center{
|
||||
padding: 20rem 0;
|
||||
text-align: center;
|
||||
width: 50%;
|
||||
position: relative;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
z-index: 2;
|
||||
opacity: 0;
|
||||
@media (max-width: 768px) {
|
||||
width: 80%;
|
||||
}
|
||||
.content_body_recommend_center_title{
|
||||
h1{
|
||||
line-height: 1;
|
||||
font-size: 13rem;
|
||||
font-weight: 900;
|
||||
margin: 7rem;
|
||||
div{
|
||||
color: #341e57;
|
||||
> .left{
|
||||
width: 60%;
|
||||
background: #232323;
|
||||
> .comment{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
> .item{
|
||||
padding: 2rem;
|
||||
border-radius: 4rem;
|
||||
font-size: 2rem;
|
||||
background: #fff;
|
||||
text-align: center;
|
||||
width: auto;
|
||||
position: relative;
|
||||
margin: 1rem 0;
|
||||
font-weight: 600;
|
||||
&:nth-child(1){left: -10rem;}
|
||||
&:nth-child(2){left: 15rem;}
|
||||
&:nth-child(3){left: -15rem;}
|
||||
&:nth-child(4){left: 10rem;}
|
||||
> div{
|
||||
position: absolute;
|
||||
padding: 1.5rem;
|
||||
border-radius: 4rem;
|
||||
left: 1rem;
|
||||
top: 0;
|
||||
transform: translateY(-60%);
|
||||
background: rgba(175, 175, 175,.6);
|
||||
backdrop-filter: blur(13px);
|
||||
-webkit-backdrop-filter: blur(13px);
|
||||
}
|
||||
&.right{
|
||||
> div{
|
||||
left: auto;
|
||||
right: 1rem;
|
||||
}
|
||||
}
|
||||
h3{
|
||||
line-height: 1;
|
||||
margin: 7rem;
|
||||
font-size: 5rem;
|
||||
font-weight: 900;
|
||||
}
|
||||
}
|
||||
.content_body_recommend_center_btn{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
a{
|
||||
margin: 0 2rem;
|
||||
}
|
||||
}
|
||||
> .right{
|
||||
width: 40%;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
> div{
|
||||
width: 60rem;
|
||||
> .title{
|
||||
font-size: 4rem;
|
||||
font-weight: 900;
|
||||
line-height: 1.2;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
> .info{
|
||||
font-size: 2rem;
|
||||
margin-bottom: 4rem;
|
||||
line-height: 1.2;
|
||||
}
|
||||
> .continue{
|
||||
> i{
|
||||
margin-left: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.homeRecommend_content_adminTop{
|
||||
position: fixed;
|
||||
bottom: 5rem;
|
||||
right: 5rem;
|
||||
width: 7rem;
|
||||
height: 7rem;
|
||||
cursor: pointer;
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: #fff;
|
||||
z-index: 999;
|
||||
i{
|
||||
display: flex;
|
||||
font-size: 3rem;
|
||||
transition: all .3s;
|
||||
}
|
||||
&.homeRecommend_content_adminTop:hover{
|
||||
i{
|
||||
transform: scale(1.2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="works_page" :class="{active:isScroll,'otherUsersActive':otherUsers}">
|
||||
<div class="works_page" :class="{active:isScroll,'otherUsersActive':otherUsers,'positionLogin':position=='login'}">
|
||||
<!-- <div class="modal_title_text">
|
||||
<div>Works</div>
|
||||
</div> -->
|
||||
<div class="modal_title_text modal_search" v-if="!otherUsers">
|
||||
<div class="modal_title_text modal_search" v-if="!otherUsers && position!='login'">
|
||||
<div v-show="isScroll" v-for="item in worksType" :key="item" class="gallery_btn white" @click="setWorksSelect(item)" :class="{active:item.value == worksSelect}">
|
||||
{{ item.name }}
|
||||
</div>
|
||||
@@ -58,6 +58,10 @@ export default defineComponent({
|
||||
type:Boolean,
|
||||
default:false,
|
||||
},
|
||||
position:{
|
||||
type:String,
|
||||
default:'',
|
||||
},
|
||||
userId:{
|
||||
type:String,
|
||||
default:'-1',
|
||||
@@ -283,7 +287,13 @@ export default defineComponent({
|
||||
// min-width: 1440px;
|
||||
position: relative;
|
||||
padding-top: 5rem;
|
||||
|
||||
&.positionLogin{
|
||||
padding: 0;
|
||||
border-radius: 0;
|
||||
.page_content{
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
.modal_title_text{
|
||||
display: flex;
|
||||
margin: 0;
|
||||
|
||||
158
src/views/Login.vue
Normal file
158
src/views/Login.vue
Normal file
@@ -0,0 +1,158 @@
|
||||
<template>
|
||||
<div class="loginPage">
|
||||
<div class="left">
|
||||
<Works :isScroll="true" :position="'login'"></Works>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="Text" v-show="!loginType">
|
||||
<div class="title">Join millions <br />using AI every day</div>
|
||||
<div class="info">Experience secure,spam-free support that empowers you to grow, create,and succeed with confidence</div>
|
||||
</div>
|
||||
<div class="loginBox">
|
||||
<div class="selectType" v-show="!loginType">
|
||||
<div class="text">
|
||||
Continue with one of these:
|
||||
</div>
|
||||
<div class="typeList">
|
||||
<div class="gallery_btn" @click="setLoginType('personal')">personal</div>
|
||||
<div class="gallery_btn" @click="setLoginType('school')">school</div>
|
||||
<div class="gallery_btn" @click="setLoginType('enterprise')">enterprise</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="login" v-show="loginType">
|
||||
<div class="title">
|
||||
<i class="fi fi-br-angle-small-left" @click="()=>loginType = ''"></i>
|
||||
<!-- <i class="fi fi-rr-arrow-left" @click="()=>loginType = ''"></i> -->
|
||||
<span>Log on to AiDA 3.0</span>
|
||||
</div>
|
||||
<personal v-show="loginType == 'personal'"></personal>
|
||||
<school v-show="loginType == 'school'"></school>
|
||||
<enterprise v-show="loginType == 'enterprise'"></enterprise>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { defineComponent,computed,ref,provide,nextTick,createVNode,toRefs, reactive} from 'vue'
|
||||
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
|
||||
import { Https } from "@/tool/https";
|
||||
import { useStore } from "vuex";
|
||||
import { useI18n } from 'vue-i18n'
|
||||
const md5 = require("md5");
|
||||
import Works from "@/views/HomeView/Works.vue";
|
||||
import { message } from "ant-design-vue";
|
||||
import { isEmail } from "@/tool/util";
|
||||
import personal from "@/component/LoginPage/login/personal.vue";
|
||||
import school from "@/component/LoginPage/login/school.vue";
|
||||
import enterprise from "@/component/LoginPage/login/enterprise.vue";
|
||||
export default defineComponent({
|
||||
components:{
|
||||
Works,personal,school,enterprise
|
||||
},
|
||||
props:{
|
||||
},
|
||||
emits:[],
|
||||
setup(props,{emit}) {
|
||||
const store = useStore();
|
||||
const loginData = reactive({
|
||||
loginType:'',
|
||||
})
|
||||
const dataDom = reactive({
|
||||
})
|
||||
const setLoginType = (str:any)=>{
|
||||
loginData.loginType = str
|
||||
}
|
||||
return{
|
||||
...toRefs(dataDom),
|
||||
...toRefs(loginData),
|
||||
setLoginType,
|
||||
}
|
||||
},
|
||||
provide() {
|
||||
return {
|
||||
}
|
||||
},
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.loginPage{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
display: flex;
|
||||
> .left,>.right{
|
||||
height: 100%;
|
||||
}
|
||||
> .left{
|
||||
width: 60%;
|
||||
background: #f7f8fa;
|
||||
}
|
||||
> .right{
|
||||
display: flex;
|
||||
width: 40%;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
> .Text{
|
||||
width: 60rem;
|
||||
text-align: center;
|
||||
> .title{
|
||||
font-size: 4rem;
|
||||
font-weight: 900;
|
||||
line-height: 1.2;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
> .info{
|
||||
font-size: 1.8rem;
|
||||
margin-bottom: 2rem;
|
||||
line-height: 1.2;
|
||||
}
|
||||
> .continue{
|
||||
> i{
|
||||
margin-left: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
> .loginBox{
|
||||
width: 60rem;
|
||||
> .selectType{
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
> .text{
|
||||
font-size: 2.5rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
> .typeList{
|
||||
> div{
|
||||
margin: 0 auto;
|
||||
width: 33rem;
|
||||
margin-top: .8rem;
|
||||
border-radius: 1rem;
|
||||
border: 2px solid;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
> .login{
|
||||
position: relative;
|
||||
> .title{
|
||||
font-size: 4rem;
|
||||
font-weight: 900;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
> i{
|
||||
margin-right: 2rem;
|
||||
font-size: 3rem;
|
||||
display: flex;
|
||||
cursor: pointer;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user