Files
aida_front/src/component/WorksPage/newScaleImage.vue

1244 lines
39 KiB
Vue
Raw Normal View History

2024-05-09 13:34:15 +08:00
<template>
<a-modal
2024-05-22 10:45:52 +08:00
class="newScaleImage_modal generalModel"
2024-05-09 13:34:15 +08:00
v-model:visible="scaleImage"
:footer="null"
width="78%"
:maskClosable="false"
:centered="true"
:closable="false"
:mask="scaleImageMask"
:keyboard="false"
:destroyOnClose="true"
>
2024-05-22 10:45:52 +08:00
<div class="generalModel_btn">
<div class="generalModel_closeIcon" @click.stop="cancelDsign('')">
2024-05-09 13:34:15 +08:00
<i class="fi fi-rr-cross-small"></i>
</div>
2024-05-16 09:41:16 +08:00
<!-- <div class="collection_closeIcon" @click.stop="download()">
2024-05-09 13:34:15 +08:00
<i class="fi fi-rr-down-to-line"></i>
2024-05-16 09:41:16 +08:00
</div> -->
2024-05-09 13:34:15 +08:00
</div>
<div class="newScaleImage_page">
2024-05-16 09:41:16 +08:00
<div class="newScaleImage_left">
2024-05-09 13:34:15 +08:00
<div class="newScaleImage_content_right">
<div class="newScaleImage_content_right_img">
2024-06-17 09:39:01 +08:00
<div>
<img v-show="scaleImageIndex > 0" :src="scaleImageList[scaleImageIndex]">
<div v-show="scaleImageIndex == 0">
<fullScreenImg :src="scaleImageList[scaleImageIndex]" width="100%" :center="true"></fullScreenImg>
</div>
2024-06-17 09:39:01 +08:00
<!-- <img :src="scaleImageData?.canvasUrl"> -->
</div>
2024-05-09 13:34:15 +08:00
</div>
2024-06-17 09:39:01 +08:00
<div class="nav_centent" v-mousewheel="{allLength:scaleImageData.length}" :style="{'margin-top':scaleImageMarginTop}">
<img class="nav_centent_img" v-for="item,index in scaleImageList" @click="setScaleImageIndex(index)" :class="{active2:index == scaleImageIndex, active3:index == scaleImageIndex+1, active1:index == scaleImageIndex-1}" :src="item" :key="item.id">
2024-05-09 13:34:15 +08:00
</div>
</div>
2024-05-16 09:41:16 +08:00
</div>
<div class="newScaleImage_right">
<div class="newScaleImage_right_content">
2024-06-24 09:47:59 +08:00
<!-- <div class="newScaleImage_right_content_type">
2024-06-21 10:30:09 +08:00
<div class="generate_item_title_left scaleImage_chunk_title">{{$t('newScaleImage.Type')}}{{ scaleImageData?.portfolioType=='History'? 'Collection' : 'Printboard' }}</div>
2024-06-24 09:47:59 +08:00
</div> -->
2024-05-16 09:41:16 +08:00
<div v-if="true" class="newScaleImage_right_content_collection">
2024-06-17 09:39:01 +08:00
<div class="scaleImage_chunk_item content_left_collection_detail">
<!-- <div class="scaleImage_chunk_title">设计模式:</div>
2024-05-16 09:41:16 +08:00
<div class="scaleImage_chunk_title_intro">
Overall
2024-06-17 09:39:01 +08:00
</div> -->
<!-- <div class="scaleImage_chunk_title_intro">zhh</div> -->
<div class="detail_right_user detail_left_right_item">
<!-- <div class="detail_right_user_head">
<img v-lazy="scaleImageData?.imgUrl">
</div> -->
<div class="detail_right_user_content">
<div class="scaleImage_chunk_title_intro">@{{scaleImageData.userName}}</div>
<div v-if="scaleImageData.original == 1" class="scaleImage_chunk_title_intro scaleImage_chunk_title_Original">{{$t('newScaleImage.Original')}}</div>
<div v-else @click="originalGetDetail()" class="scaleImage_chunk_title_intro">{{$t('newScaleImage.from')}}<span :class="{active:scaleImageData.jumpable == 1}"> @{{ scaleImageData.originalUserName }}/{{ scaleImageData.portfolioName }}</span></div>
<!-- <div class="scaleImage_chunk_title_intro">个性签名</div>
<div class="scaleImage_chunk_btn">关注</div> -->
</div>
</div>
<div class="scaleImage_chunk_title">
{{$t('newScaleImage.Title')}}:
<span class="scaleImage_chunk_title_intro">{{scaleImageData.portfolioName}}</span>
</div>
<div v-show="scaleImageData.portfolioDes" class="scaleImage_chunk_title">
{{$t('newScaleImage.Describe')}}: <span>{{scaleImageData.portfolioDes}}</span>
</div>
2024-07-03 11:39:01 +08:00
<div class="scaleImage_chunk_title_intro">{{scaleImageData.createDate?.split('T')[0]}} {{scaleImageData.createDate?.split('T')[1]}}</div>
<div class="detail_right_look_operation detail_left_right_item">
<!-- <div class="detail_left_right_item_click">
<svg :adminLike="!!true" xmlns="http://www.w3.org/2000/svg" width="2.5rem" height="2.5rem" viewBox="0 0 16 16" fill="none" role="img" :style="{color:'#9e9ea7',fill: 'currentColor'}">
<path d="M10.7408 2C13.0889 2 14.6667 4.235 14.6667 6.32C14.6667 10.5425 8.11856 14 8.00004 14C7.88152 14 1.33337 10.5425 1.33337 6.32C1.33337 4.235 2.91115 2 5.2593 2C6.60745 2 7.48893 2.6825 8.00004 3.2825C8.51115 2.6825 9.39263 2 10.7408 2Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path>
</svg>
<span>321</span>
</div> -->
<div class="detail_left_right_item_click" @click="setPortfolioLike">
<i v-if="scaleImageData?.isLike == 1" :adminLike="!!true" class="fi fi-sr-thumbs-up" style="color: rgba(158, 158, 167);"></i>
<i v-else class="fi fi-rr-social-network"></i>
<span>{{scaleImageData.likeNum}}</span>
</div>
<div>
<i class="fi fi-sr-eye"></i>
<span>{{scaleImageData.viewNums}}</span>
</div>
<div>
<i class="fi fi-rr-comment-alt-dots"></i>
<span>{{commentList.length}}</span>
</div>
<div v-if="userInfo?.userName === scaleImageData.userName" @click="deletePortfolio" class="detail_left_right_item_click">
<i class="icon iconfont icon-shanchu operate_icon"></i>
<!-- <span>{{$t('newScaleImage.Delete')}}</span> -->
</div>
</div>
2024-06-17 09:39:01 +08:00
</div>
<div v-if="false" class="scaleImage_chunk_item content_left_collection_content" v-show="scaleImageData.openSource == 1">
2024-06-24 09:47:59 +08:00
<div class="scaleImage_chunk_title">{{scaleImageData.Collection}}</div>
2024-05-16 09:41:16 +08:00
<div class="content_left_collection_content_list">
2024-05-17 09:27:08 +08:00
<img v-for="item in scaleImageData?.designPythonOutfitList" v-lazy="item.designUrl">
2024-05-16 09:41:16 +08:00
</div>
</div>
2024-07-14 12:06:54 +08:00
<div v-if="systemUser.value == 1 && scaleImageData.isMine != 1 && scaleImageData.selected != 1" class="started_btn" @click="setChoose" >{{$t('newScaleImage.SecondaryCreation')}}</div>
<!-- <div v-if="systemUser.value == 1 && scaleImageData.isMine != 1 && scaleImageData.selected != 1" class="started_btn" @click="setChoose" :title="systemUser.value != 1?$t('newScaleImage.jsContent1'): scaleImageData.openSource == 0?$t('newScaleImage.jsContent2'):''" :class="{active:systemUser.value != 1?true:scaleImageData.openSource == 0}">{{$t('newScaleImage.SecondaryCreation')}}</div> -->
2024-05-16 09:41:16 +08:00
</div>
<div v-else class="newScaleImage_right_content_generate">
<div class="scaleImage_chunk_item content_left_generate_item">
2024-05-09 13:34:15 +08:00
<div class="content_left_generate_item_title">
<div class="scaleImage_chunk_title">模型123123</div>
<div class="generate_item_title_right">
<img class="generate_item_title_right_img" v-lazy="'https://www.minio.aida.com.hk:9000/aida-users/83/print/296f19da-bd0c-11ee-9529-b48351119060_0.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20240507%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240507T072105Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=befcc3f0e0c4c258595df3722d59fbeb6e09cbbf3510b8167a1c56efa5a354ad'" alt="">
</div>
</div>
</div>
<div class="scaleImage_chunk_item content_left_generate_item content_left_generate_describe">
<div class="content_left_generate_item_title">
<div class="scaleImage_chunk_title">describe</div>
<div class="generate_item_title_right">
<span class="scaleImage_chunk_btn" @click="setCopy">copy</span>
</div>
</div>
<textarea ref="textarea" :value="generateValue"></textarea>
</div>
</div>
</div>
<div v-if="false" class="newScaleImage_right_detail">
2024-05-09 13:34:15 +08:00
<div class="scaleImage_chunk_item">
2024-05-16 09:41:16 +08:00
<div class="detail_right_work_detail detail_left_right_item">
2024-06-17 09:39:01 +08:00
<!-- <div class="scaleImage_chunk_title">{{ scaleImageData?.portfolioName }}</div> -->
<!-- <div class="scaleImage_chunk_title_intro">{{ scaleImageData?.portfolioDes }}</div> -->
2024-05-09 13:34:15 +08:00
</div>
2024-05-16 09:41:16 +08:00
<div class="detail_right_date detail_left_right_item">
<div class="detail_right_date_setUp">
2024-06-21 10:30:09 +08:00
<div>{{$t('newScaleImage.CreationTime')}}</div>
2024-06-17 09:39:01 +08:00
<span>{{ scaleImageData.createDate }}</span>
2024-05-16 09:41:16 +08:00
</div>
<div class="detail_right_date_upData">
2024-06-21 10:30:09 +08:00
<div>{{$t('newScaleImage.UpdateTime')}}</div>
2024-06-17 09:39:01 +08:00
<span>{{ scaleImageData.updateDate }}</span>
2024-05-16 09:41:16 +08:00
</div>
</div>
2024-06-17 11:32:31 +08:00
<!-- <div class="detail_right_auther detail_left_right_item">
2024-05-09 13:34:15 +08:00
<div class="scaleImage_chunk_title">Auther Other Products</div>
<div class="detail_right_auther_img">
<div class="detail_right_auther_img_item">
2024-05-16 09:41:16 +08:00
<img v-lazy="'https://www.minio.aida.com.hk:9000/aida-results/result_eabc59d4-110a-11ef-bb36-0242ac160002.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20240514%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240514T093050Z&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=64f2098d15a2ebf5883946c472bbeecaed1a443c618e1f15d92f44b97cb63542'" alt="">
2024-05-09 13:34:15 +08:00
</div>
<div class="detail_right_auther_img_item">
<img src="https://cdn.dribbble.com/userupload/14355607/file/original-930ddf037011f7acd6bd810a5cb6f0fc.jpg?resize=450x338&vertical=center" alt="">
</div>
<div class="detail_right_auther_img_item">
<img src="https://cdn.dribbble.com/userupload/14355607/file/original-930ddf037011f7acd6bd810a5cb6f0fc.jpg?resize=450x338&vertical=center" alt="">
</div>
<div class="detail_right_auther_img_item">
<img src="https://cdn.dribbble.com/userupload/14355607/file/original-930ddf037011f7acd6bd810a5cb6f0fc.jpg?resize=450x338&vertical=center" alt="">
</div>
<div class="detail_right_auther_img_item detail_right_auther_img_end">
<span>more +</span>
</div>
</div>
2024-06-17 11:32:31 +08:00
</div> -->
2024-05-09 13:34:15 +08:00
</div>
</div>
2024-05-16 09:41:16 +08:00
<div class="newScaleImage_right_comment scaleImage_chunk_item">
2024-06-21 10:30:09 +08:00
<div class="scaleImage_chunk_title">{{$t('newScaleImage.Comment')}}</div>
2024-06-24 09:47:59 +08:00
<!-- <div v-show="commentList.length === 0" class="newScaleImage_right_comment_null">
2024-06-21 10:30:09 +08:00
<div class="scaleImage_chunk_title">{{$t('newScaleImage.NoComments')}}</div>
<div class="scaleImage_chunk_title">{{$t('newScaleImage.first')}}</div>
2024-06-24 09:47:59 +08:00
</div> -->
<div class="newScaleImage_right_comment_setComment" @click.stop="">
<input type="text" ref="commentInputFocus" v-model="commentText" :placeholder="commentInput">
<div class="detail_left_setComment_btn" @click="setComment">
<i class="fi fi-ss-paper-plane-top"></i>
</div>
</div>
2024-06-21 10:30:09 +08:00
<div v-show="commentList.length !== 0" class="newScaleImage_right_comment_content">
<div class="detail_left_content_item" v-for="item,index in commentList" :key="item.id">
2024-06-17 09:39:01 +08:00
<!-- <div class="detail_left_content_item_img">
<img v-lazy="scaleImageData?.imgUrl">
</div> -->
2024-05-16 09:41:16 +08:00
<div class="detail_left_content_item_content">
2024-06-17 09:39:01 +08:00
<div class="scaleImage_chunk_title_intro">{{ item?.userName }}</div>
<!-- <div class="scaleImage_chunk_title_intro">个性签名</div> -->
2024-06-21 10:30:09 +08:00
<div v-commentUnfold="item" class="scaleImage_chunk_title" :class="[item.detailUnfold?'active':'']"><div>{{ item.comment }}</div></div>
2024-06-17 09:39:01 +08:00
<div class="scaleImage_chunk_title_intro" style="font-size: 1.2rem;" v>{{ item.createTimes }}</div>
2024-05-16 09:41:16 +08:00
<div class="detail_left_content_item_btn">
2024-06-17 09:39:01 +08:00
<div class="left_content_item_reply" @click.stop="setCommentReply(item,'parent')">
<i class="fi fi-rr-comment-alt-dots"></i>
2024-06-21 10:30:09 +08:00
{{$t('newScaleImage.reply')}}
2024-06-17 09:39:01 +08:00
</div>
<!-- <div class="left_content_item_thumbs">
2024-05-16 09:41:16 +08:00
<i class="fi fi-sr-thumbs-up" :adminSix="!!true" style="color: rgb(158, 158, 167);"></i>
<span>123</span>
2024-06-17 09:39:01 +08:00
</div> -->
2024-06-21 10:30:09 +08:00
<div class="left_content_item_btn">
<div class="left_content_item_delete" v-if="userInfo?.userName === item.userName" @click="setDeleteComment(item,index,'')">{{$t('newScaleImage.Delete')}}</div>
2024-06-21 10:30:09 +08:00
<div class="left_content_item_unfold" @click="()=>item.detailUnfold = !item.detailUnfold">{{item.detailUnfold?$t('newScaleImage.Collapse'):$t('newScaleImage.unfold')}}</div>
2024-05-16 09:41:16 +08:00
</div>
2024-06-21 10:30:09 +08:00
</div>
<div v-if="item.childCommentVOList" class="detail_left_content_item_replyContent_box" :class="[item.unfold?'':'active']">
<div class="detail_left_content_item_replyContent" v-for="children,childrenIndex in item.childCommentVOList" :key="children.id">
2024-06-21 10:30:09 +08:00
<div class="detail_left_content_item_img">
<!-- <img v-lazy="scaleImageData?.imgUrl"> -->
</div>
<div class="detail_left_content_item_content">
<div class="scaleImage_chunk_title_intro">{{ children?.userName }}<span v-if="children?.replyTo" class="replyIcon"></span>{{ children?.replyTo }}</div>
<!-- <div class="scaleImage_chunk_title_intro">个性签名</div> -->
<div v-commentUnfold="children" class="scaleImage_chunk_title" :class="[children.detailUnfold?'active':'']"><div>{{ children.comment }}</div></div>
<div class="scaleImage_chunk_title_intro" style="font-size: 1.2rem;" v>{{ children.createTimes }}</div>
2024-06-17 09:39:01 +08:00
2024-06-21 10:30:09 +08:00
<div class="detail_left_content_item_btn">
<div class="left_content_item_reply" @click.stop="setCommentReply(children,'son')">
<i class="fi fi-rr-comment-alt-dots"></i>
{{$t('newScaleImage.reply')}}
</div>
<!-- <div class="left_content_item_thumbs">
<i class="fi fi-sr-thumbs-up" :adminSix="!!true" style="color: rgb(158, 158, 167);"></i>
<span>123</span>
</div> -->
<div class="left_content_item_btn">
<div class="left_content_item_delete" v-if="userInfo?.userName === children.userName" @click="setDeleteComment(children,index,childrenIndex)">{{$t('newScaleImage.Delete')}}</div>
2024-06-21 10:30:09 +08:00
<div class="left_content_item_unfold" @click="()=>children.detailUnfold = !children.detailUnfold">{{children.detailUnfold?$t('newScaleImage.Collapse'):$t('newScaleImage.unfold')}}</div>
</div>
</div>
2024-05-16 09:41:16 +08:00
</div>
</div>
</div>
2024-06-21 10:30:09 +08:00
<div v-if="item.childCommentVOList" @click.stop="()=>item.unfold = !item.unfold" class="detail_left_content_item_replyContent_box_btn">
{{$t('newScaleImage.replyAll')}}
<div class="icon iconfont icon-xiala" :class="{active:item.unfold}"></div>
</div>
2024-05-16 09:41:16 +08:00
</div>
</div>
2024-06-21 10:30:09 +08:00
<div class="newScaleImage_right_comment_loading" v-show="!isNoData">
<span class="page_loading" v-show="!isShowMark"></span>
<span v-show="isShowMark">
<a-spin size="large" />
</span>
</div>
2024-05-16 09:41:16 +08:00
</div>
2024-05-16 09:41:16 +08:00
</div>
2024-05-09 13:34:15 +08:00
</div>
2024-07-08 09:42:21 +08:00
<div class="mark_loading" v-show="loadingShow">
<a-spin size="large" />
</div>
2024-05-09 13:34:15 +08:00
</div>
</a-modal>
</template>
<script lang="ts">
import { defineComponent,watch,getCurrentInstance, createVNode, ref ,toRefs,computed,reactive,triggerRef, nextTick, onMounted} from "vue";
2024-05-16 17:14:22 +08:00
import { Https } from "@/tool/https";
2024-06-21 10:30:09 +08:00
import { getCookie } from "@/tool/cookie";
2024-05-09 13:34:15 +08:00
// import domTurnImg from '@/tool/domTurnImg'
2024-06-17 11:32:31 +08:00
import { useStore } from "vuex";
2024-05-16 17:14:22 +08:00
import { useRouter } from 'vue-router'
2024-06-17 09:39:01 +08:00
import { downloadIamge,setPubDate } from "@/tool/util";
import { Modal,message } from "ant-design-vue";
2024-06-21 10:30:09 +08:00
import { useI18n } from 'vue-i18n';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import fullScreenImg from '@/component/HomePage/fullScreenImg.vue'
2024-05-09 13:34:15 +08:00
export default defineComponent({
components:{fullScreenImg},
emits:['deletePorfolio','bbb'],
setup(props:any,{emit}) {
2024-06-21 10:30:09 +08:00
let {t} = useI18n()
2024-05-16 17:14:22 +08:00
//首先在setup中定义
2024-06-21 10:30:09 +08:00
let userInfo = ref({});
2024-06-17 11:32:31 +08:00
const store = useStore();
2024-05-16 17:14:22 +08:00
const router = useRouter()
2024-05-09 13:34:15 +08:00
let scaleImage: any = ref(false);//弹窗
let scaleImageMask:any = ref(false)//弹窗遮罩
let imgData:any = reactive({
generateValue:'123123',
loadingShow:false,
scaleImageMarginTop:0,
2024-06-17 09:39:01 +08:00
commentReply:{
leve1Id:null,
leve2Id:null,
name:'',
},
2024-05-09 13:34:15 +08:00
scaleImageList:[],
scaleImageIndex:0,//当前图片索引
2024-05-16 17:14:22 +08:00
scaleImageData:{},//当前图片内容
2024-06-17 09:39:01 +08:00
getCommentData:{
portfolioId:0,
page:1,
size:10
},
commentText:'',
commentInput:'',//评论框提示词
commentList:[],
2024-06-21 10:30:09 +08:00
isNoData:false,
isShowMark:false,
2024-05-09 13:34:15 +08:00
})
2024-06-17 11:32:31 +08:00
let systemUser = computed(()=>{
return store.state.UserHabit.systemUser
})
2024-06-17 09:39:01 +08:00
let commentInputFocus:any = ref()
2024-05-09 13:34:15 +08:00
let textarea: any = ref(null)
let setCopy = ()=>{
textarea.value.select()
document.execCommand("copy");
}
2024-06-02 20:35:24 +08:00
let init = (item:any)=>{
2024-05-09 13:34:15 +08:00
scaleImage.value = true
2024-06-02 20:35:24 +08:00
// let data = list[index]
2024-06-17 09:39:01 +08:00
getDetail(item,'')
document.addEventListener('click',removeCommentReply)
2024-05-09 13:34:15 +08:00
// let scaleImageList = this.store.state.UploadFilesModule.moodboard
}
let cancelDsign = (id:any)=>{
if(id){
emit('deletePorfolio',id)
}
2024-05-09 13:34:15 +08:00
scaleImage.value = false
imgData.scaleImageIndex = 0
2024-05-16 17:14:22 +08:00
imgData.scaleImageData = {}
2024-06-17 09:39:01 +08:00
imgData.commentText = ''
2024-06-20 10:36:45 +08:00
imgData.scaleImageList = []
2024-06-21 10:30:09 +08:00
imgData.getCommentData.page = 1
imgData.getCommentData.size = 10
2024-06-17 09:39:01 +08:00
document.removeEventListener('click',removeCommentReply)
2024-05-09 13:34:15 +08:00
}
let download = ()=>{
downloadIamge(imgData.scaleImageList[imgData.scaleImageIndex].imgUrl)
}
let setScaleImageIndex = (index:any)=>{
imgData.scaleImageIndex = index
}
let LikeFile = (item:any,str:string)=>{
const currentInstance = getCurrentInstance();
let parent:any = currentInstance?.parent
parent.likeFile(item,str)
}
// LikeFile(item:any,str:string){
// let parent:any = this.$parent
// parent.likeFile(item,str)
// },
2024-06-17 09:39:01 +08:00
let getDeatilData = {}
2024-07-08 09:42:21 +08:00
let originalGetDetail = ()=>{
if(imgData.scaleImageData.jumpable != 1){
return message.info(t('newScaleImage.jsContent6'))
}
2024-07-08 09:42:21 +08:00
getDetail({id:imgData.scaleImageData.originalPortfolioId},'')
}
2024-06-17 09:39:01 +08:00
let getDetail = (value:any,str:string)=>{
imgData.loadingShow = true
2024-05-16 17:14:22 +08:00
let data = value
2024-06-17 09:39:01 +08:00
getDeatilData = value
Https.axiosPost(Https.httpUrls.getPorfolioDetail,data).then(
(rv: any) => {
imgData.loadingShow = false
imgData.scaleImageData = rv
let canvasUrl = [rv.canvasUrl]
2024-06-18 10:45:15 +08:00
var findUrl = []
if(rv.designPythonOutfitList){
findUrl = rv.designPythonOutfitList.map((obj:any) => obj.designUrl);
}
2024-06-17 09:39:01 +08:00
imgData.scaleImageList = canvasUrl.concat(findUrl);
imgData.scaleImageIndex = 0
imgData.getCommentData.portfolioId = rv.id
if(str == 'zan'){
}else{
2024-06-21 10:30:09 +08:00
getCommentPage('')
nextTick(()=>{
let imgParent:any = document.querySelector('.newScaleImage_modal .page_loading')
new IntersectionObserver(
(entries, observer) => {
// 如果不是相交,则直接返回
// console.log(entries[0]);
if (!entries[0].intersectionRatio) return;
imgData.getCommentData.size += 10
getCommentPage('')
},
// { root:worksPage }
).observe(imgParent);
})
2024-06-17 09:39:01 +08:00
}
}).catch((res)=>{
imgData.loadingShow = false
}
)
2024-05-16 17:14:22 +08:00
}
2024-06-17 09:39:01 +08:00
2024-05-16 17:14:22 +08:00
let setChoose = () =>{
2024-06-17 15:15:13 +08:00
if(systemUser.value.value !== 1){
2024-06-21 10:30:09 +08:00
return message.info(t('newScaleImage.jsContent1'))
2024-06-17 11:32:31 +08:00
}
if(imgData.scaleImageData.openSource == 0){
2024-06-21 10:30:09 +08:00
return message.info(t('newScaleImage.jsContent2'))
2024-06-17 11:32:31 +08:00
}
2024-07-14 12:06:54 +08:00
router.push({name:'homePage',params: {id:imgData.scaleImageData.id,type:'Works',isDesign:0}})
2024-06-18 10:45:15 +08:00
// router.push({name:'homePage',params: {id:imgData.scaleImageData.userLikeGroupSourceId,type:'Works'}})
2024-06-17 09:39:01 +08:00
}
let setCommentReply = (value:any,str:any)=>{
imgData.commentReply.leve1Id = value.id
imgData.commentReply.leve2Id = null
if(str == 'son'){
imgData.commentReply.leve1Id = value.parentLevel1Id
imgData.commentReply.leve2Id = value.id
}
imgData.commentReply.name = value.userName
2024-06-21 10:30:09 +08:00
imgData.commentInput = `${t('newScaleImage.reply')} ${imgData.commentReply.name}`
2024-06-17 09:39:01 +08:00
commentInputFocus.value.focus()
}
let removeCommentReply = ()=>{
imgData.commentReply.leve1Id = null
imgData.commentReply.leve2Id = null
imgData.commentReply.name = ''
2024-06-21 10:30:09 +08:00
imgData.commentInput = t('newScaleImage.jsContent3')
2024-06-17 09:39:01 +08:00
}
let setComment = ()=>{
if(!imgData.commentText){
return message.info(t('LibraryPage.jsContent7'))
}
2024-06-17 09:39:01 +08:00
let data = {
"accountId": 0,
"comment": imgData.commentText,
"createTime": "",
"id": '',
"isDeleted": 0,
"parentLevel1Id": imgData.commentReply.leve1Id,
"parentLevel2Id": imgData.commentReply.leve2Id,
"portfolioId": imgData.scaleImageData.id,
}
Https.axiosPost(Https.httpUrls.portfolioComment, data)
.then((rv) => {
imgData.commentText = ''
getCommentPage({str:'comment',id:imgData.scaleImageData.id})
2024-06-17 09:39:01 +08:00
})
.catch((rv) => {
});
}
let getCommentPage = (value:any)=>{
2024-06-17 09:39:01 +08:00
let data = imgData.getCommentData
2024-06-21 10:30:09 +08:00
imgData.isShowMark = true
2024-06-17 09:39:01 +08:00
Https.axiosPost(Https.httpUrls.portfolioCommentPage,data).then(
(rv: any) => {
2024-06-21 10:30:09 +08:00
rv.content.forEach((item:any)=>{
if(value.id == item.portfolioId){
item.unfold = true
}
2024-06-17 09:39:01 +08:00
item.createTimes = setPubDate(item.createTime)
if (item.childCommentVOList) {
item.childCommentVOList.forEach((obj:any)=>{
obj.createTimes = setPubDate(obj.createTime)
})
}
})
2024-06-21 10:30:09 +08:00
// imgData.commentList.push(...rv.content)
imgData.commentList = rv.content
imgData.isShowMark = false
if(rv.total == rv.content.length&&value?.str != 'comment'){
imgData.isNoData = true
}
2024-06-17 09:39:01 +08:00
}
).catch((res)=>{
2024-06-21 10:30:09 +08:00
imgData.isShowMark = false
2024-06-17 09:39:01 +08:00
}
)
}
let setPortfolioLike = ()=>{
let data = {id:imgData.scaleImageData.id}
let url
if(imgData.scaleImageData.isLike == 1){
url = Https.httpUrls.portfolioNoLike
}else{
url = Https.httpUrls.portfolioLike
}
Https.axiosGet(url, {params:data})
.then((rv) => {
2024-06-24 09:47:59 +08:00
if(imgData.scaleImageData.isLike == 1){
imgData.scaleImageData.likeNum -= 1
imgData.scaleImageData.isLike = 0
}else{
imgData.scaleImageData.likeNum += 1
imgData.scaleImageData.isLike = 1
}
// getDetail(getDeatilData,'zan')
2024-06-17 09:39:01 +08:00
})
.catch((rv) => {
});
2024-06-21 10:30:09 +08:00
}
let setDeleteComment = (value:any,index:any,childrenIndex:any)=>{
Modal.confirm({
title: t('newScaleImage.jsContent4'),
icon: createVNode(ExclamationCircleOutlined),
okText: 'Ok',
cancelText: 'No',
mask:false,
centered:true,
onOk() {
let data = {
"accountId": 0,
"comment": "",
"createTime": "",
"id": value.id,
"isDeleted": 0,
"parentLevel1Id": 0,
"parentLevel2Id": 0,
"portfolioId": imgData.scaleImageData.id,
}
Https.axiosPost(Https.httpUrls.commentDelete, data)
.then((rv) => {
let commentData = {
str:'comment',
id:imgData.scaleImageData.id,
}
getCommentPage(commentData)
})
.catch((rv) => {
});
},
onCancel(){
}
});
}
let deletePortfolio = ()=>{
Modal.confirm({
title: t('newScaleImage.jsContent5'),
icon: createVNode(ExclamationCircleOutlined),
okText: 'Yes',
cancelText: 'No',
mask:false,
centered:true,
onOk() {
let data = {
id:imgData.scaleImageData.id
}
Https.axiosGet(Https.httpUrls.porfolioDelete, {params:data})
.then((rv) => {
cancelDsign(imgData.scaleImageData.id)
})
.catch((rv) => {
});
},
onCancel(){
}
});
2024-05-16 17:14:22 +08:00
}
2024-05-09 13:34:15 +08:00
watch(()=>imgData.scaleImageIndex,
(newVal,oldVal)=>{
2024-05-16 09:41:16 +08:00
let dom:any = document.querySelector('.newScaleImage_left .nav_centent')
2024-05-17 09:27:08 +08:00
if(!dom) return
let contentItemHeight = Number(getComputedStyle(dom).getPropertyValue('--snap-size').split('rem')[0]);
imgData.scaleImageMarginTop = `${contentItemHeight*-(newVal) - contentItemHeight/2}rem`
2024-05-09 13:34:15 +08:00
}
)
2024-06-21 10:30:09 +08:00
onMounted(()=>{
let user:any = getCookie('userInfo')
userInfo.value = JSON.parse(user)
2024-06-21 10:30:09 +08:00
})
2024-05-09 13:34:15 +08:00
return {
2024-06-21 10:30:09 +08:00
userInfo,
2024-05-09 13:34:15 +08:00
scaleImage,
scaleImageMask,
...toRefs(imgData),
2024-06-17 11:32:31 +08:00
systemUser,
2024-06-17 09:39:01 +08:00
commentInputFocus,
2024-05-09 13:34:15 +08:00
textarea,
setCopy,
init,
cancelDsign,
download,
setScaleImageIndex,
2024-07-08 09:42:21 +08:00
originalGetDetail,
2024-05-09 13:34:15 +08:00
LikeFile,
2024-05-16 17:14:22 +08:00
setChoose,
2024-06-17 09:39:01 +08:00
setCommentReply,
deletePortfolio,
2024-06-17 09:39:01 +08:00
setComment,
setPortfolioLike,
setDeleteComment,
2024-05-09 13:34:15 +08:00
};
},
directives:{
2024-06-21 10:30:09 +08:00
commentUnfold:{
2024-06-27 22:23:28 +08:00
mounted (el,binding) {
2024-06-21 10:30:09 +08:00
let parent = el.parentNode
let commentBtn = parent.querySelector('.left_content_item_unfold')
let commentDomSon = el.querySelector('div')
let maxHeight = Number((window.getComputedStyle(el).maxHeight).split('px')[0])
2024-06-27 22:23:28 +08:00
console.log(commentDomSon.offsetHeight , maxHeight);
2024-06-21 10:30:09 +08:00
if(commentDomSon.offsetHeight > maxHeight){
commentBtn.style.display = 'block'
}else if(!binding.value.detailUnfold){
commentBtn.style.display = 'none'
}
2024-06-27 22:23:28 +08:00
},
// updated (el,binding) {
// let parent = el.parentNode
// let commentBtn = parent.querySelector('.left_content_item_unfold')
// let commentDomSon = el.querySelector('div')
// let maxHeight = Number((window.getComputedStyle(el).maxHeight).split('px')[0])
// console.log(commentDomSon.offsetHeight , maxHeight);
2024-06-21 10:30:09 +08:00
2024-06-27 22:23:28 +08:00
// if(commentDomSon.offsetHeight > maxHeight){
// commentBtn.style.display = 'block'
// }else if(!binding.value.detailUnfold){
// commentBtn.style.display = 'none'
// }
2024-06-21 10:30:09 +08:00
2024-06-27 22:23:28 +08:00
// }
2024-06-21 10:30:09 +08:00
},
2024-05-09 13:34:15 +08:00
mousewheel:{
mounted (el,binding:any) {
// let contentHeight = Number(getComputedStyle(el).getPropertyValue('--content-height').split('rem')[0]);
let contentItemHeight = Number(getComputedStyle(el).getPropertyValue('--snap-size').split('rem')[0]);
let marginTop = (contentItemHeight*-(binding.instance.scaleImageIndex))-contentItemHeight/2
binding.instance.scaleImageMarginTop = `${marginTop}rem`
let move = false
let parentNode:any = document.querySelector('.newScaleImage_modal .newScaleImage_page')
el.addEventListener('mouseenter',(e:WheelEvent)=>{
move = true
parentNode.style.overflow = 'hidden'
})
el.addEventListener('mouseleave',(e:WheelEvent)=>{
move = false
parentNode.style.overflow = 'auto'
})
el.addEventListener('wheel',(e:WheelEvent)=>{
if(!move) return
marginTop = (contentItemHeight*-(binding.instance.scaleImageIndex))-contentItemHeight/2
if(e.deltaY > 0 && marginTop > -(contentItemHeight*(binding.instance.scaleImageList.length) - contentItemHeight/2)){
marginTop -= contentItemHeight
}else if(e.deltaY < 0 && marginTop < -(contentItemHeight/2)){
marginTop += contentItemHeight
}
binding.instance.scaleImageIndex = Math.round(Math.abs(marginTop/contentItemHeight))-1
binding.instance.scaleImageMarginTop = `${marginTop}rem`
if(Math.abs(marginTop)>=contentItemHeight*binding.instance.scaleImageList.length-5){
// binding.instance.scaleImageList.push(...binding.instance.scaleImageList)
}
})
}
},
2024-06-17 09:39:01 +08:00
2024-05-09 13:34:15 +08:00
},
data() {
return {
// moodTemplateId: "", //模板id
};
},
mounted() {
},
methods: {
},
});
</script>
<style lang="less">
.newScaleImage_modal {
.ant-modal-body{
padding: 9rem;
}
.newScaleImage_page{
overflow-y: auto;
height: 100%;
2024-05-16 09:41:16 +08:00
display: flex;
2024-05-09 13:34:15 +08:00
&.newScaleImage_page::-webkit-scrollbar{display: none;}
}
2024-05-22 10:45:52 +08:00
2024-05-09 13:34:15 +08:00
--margin: 3rem;
--padding: 2rem;
--border-color: #c4c4c4;
--background-color:#f5f5f5;
.scaleImage_chunk_item{
background: var(--background-color);
padding: var(--padding);
border-radius: var(--padding);
margin-bottom: var(--margin);
}
.scaleImage_chunk_btn{
padding: .5rem 1rem;
border-radius: 4px;
border: .2rem solid var(--border-color);
background: #fff;
cursor: pointer;
2024-06-21 10:30:09 +08:00
2024-05-09 13:34:15 +08:00
}
.scaleImage_chunk_title{
font-size: 2.2rem;
font-weight: 600;
color: #000;
2024-06-21 10:30:09 +08:00
overflow: hidden;
max-height: 100px;
text-align: left;
2024-06-21 10:30:09 +08:00
&.active{
max-height: max-content;
}
span{
font-size: 1.8rem;
font-weight: 300;
color: #535353;
}
2024-05-09 13:34:15 +08:00
}
2024-05-16 09:41:16 +08:00
.scaleImage_chunk_title_comment{
font-size: 1.6rem;
font-weight: 600;
color: #000;
max-height: 8.5rem;
overflow: hidden;
&.active{
max-height: max-content;
}
}
.scaleImage_chunk_title_intro{
font-size: 1.6rem;
font-weight: 300;
color: #535353;
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
}
.detail_right_look_operation{
display: flex;
justify-content: space-between;
width: 100%;
>div{
display: flex;
align-items: center;
font-size: 2rem;
i{
display: flex;
font-size: 2rem;
color: #9e9ea7;
}
span{
margin-left: calc(var(--padding) / 2);
}
}
}
2024-07-08 09:42:21 +08:00
.mark_loading{
position: absolute;
}
.detail_right_user{
display: flex;
width: 100%;
.detail_right_user_content{
display: flex;
flex-direction: row;
justify-content: space-between;
width: 100%;
.scaleImage_chunk_title_Original{
color: #39215b;
background: #c9a2ff;
padding: 0 1rem;
border-radius: 4px;
font-weight: 600;
}
.scaleImage_chunk_title_intro{
span{
&.active{
cursor: pointer;
color: #39215b;
text-decoration: underline;
}
}
}
}
.detail_right_user_head{
border-radius: 50%;
overflow: hidden;
margin-right: var(--margin);
img{
width: 10rem;
height: 10rem;
object-fit: cover;
}
}
.detail_right_user_head:hover{
}
}
2024-05-16 09:41:16 +08:00
.newScaleImage_left{
2024-05-09 13:34:15 +08:00
display: flex;
2024-05-16 09:41:16 +08:00
width: 60%;
position: sticky;
top: 0;
2024-05-09 13:34:15 +08:00
.newScaleImage_content_right{
2024-05-16 09:41:16 +08:00
--content-height: 60rem;
2024-05-09 13:34:15 +08:00
display: flex;
2024-05-16 09:41:16 +08:00
width: 100%;
2024-05-09 13:34:15 +08:00
flex-wrap: wrap;
justify-content: space-between;
2024-06-17 09:39:01 +08:00
// height: var(--content-height);
height: 100%;
2024-05-09 13:34:15 +08:00
position: relative;
overflow: hidden;
2024-06-17 11:32:31 +08:00
// overflow-y: auto;
2024-06-17 09:39:01 +08:00
2024-05-09 13:34:15 +08:00
.newScaleImage_content_right_img{
height: 100%;
2024-06-17 09:39:01 +08:00
width: 70%;
margin-left: auto;
// width: 100%;
2024-05-09 13:34:15 +08:00
display: flex;
2024-06-17 09:39:01 +08:00
// justify-content: center;
justify-content: right;
overflow-y: auto;
&.newScaleImage_content_right_img::-webkit-scrollbar{display: none;}
>div{
width: 100%;
height: auto;
>div{
width: 100%;
height: 100%;
}
2024-06-17 09:39:01 +08:00
img{
// width: auto;
max-width: 100%;
height: 100%;
// height: 100%;
object-fit: contain;
width: 100%;
margin-right: 2rem;
}
img:last-child{
margin-right: 0;
}
2024-05-09 13:34:15 +08:00
}
2024-06-17 09:39:01 +08:00
2024-05-09 13:34:15 +08:00
}
--count: 50;
--snap-size: 10rem;
--offset: 2;
.nav_centent{
2024-06-17 09:39:01 +08:00
// width: auto;
2024-05-09 13:34:15 +08:00
display: flex;
flex-direction: column;
position: absolute;
right: 0;
padding-top: calc(var(--content-height) / 2);
2024-06-17 09:39:01 +08:00
// padding-left: 10rem;
2024-05-09 13:34:15 +08:00
transition: all .2s;
2024-06-17 09:39:01 +08:00
left: 0;
width: 30%;
2024-05-09 13:34:15 +08:00
}
.nav_centent_img{
max-width: calc(var(--snap-size) - 2rem);
height: calc(var(--snap-size) - 2rem);
2024-05-16 17:14:22 +08:00
width: calc(var(--snap-size) - 2rem);
2024-05-16 09:41:16 +08:00
object-fit: contain;
2024-05-16 17:14:22 +08:00
padding: .5rem 0;
background-color: #ffffff;
border: 1px solid #777777;
2024-05-09 13:34:15 +08:00
object-position: 50%,50%;
border-radius: calc(1rem*1.2);
cursor: pointer;
border-radius: 1rem;
overflow: hidden;
// padding: 1rem;
margin: 1rem;
flex-shrink: 0;
position: relative;
transition: all .1s;
&.active1{
// border: 4px solid rgb(148, 230, 255);
2024-06-17 09:39:01 +08:00
transform: scale(1.4) translateX(30%);
2024-05-09 13:34:15 +08:00
z-index: 2;
}
&.active2{
// border: 4px solid rgb(216, 255, 172);
2024-06-17 09:39:01 +08:00
transform: scale(1.6) translateX(60%);
2024-05-09 13:34:15 +08:00
z-index: 3;
}
&.active3{
// border: 4px solid rgb(148, 233, 183);
2024-06-17 09:39:01 +08:00
transform: scale(1.4) translateX(30%);
2024-05-09 13:34:15 +08:00
z-index: 2;
}
}
}
2024-05-16 09:41:16 +08:00
}
.newScaleImage_right{
width: 40%;
padding-left: var(--margin);
.newScaleImage_right_content{
2024-05-09 13:34:15 +08:00
display: flex;
flex-direction: column;
2024-05-16 09:41:16 +08:00
height: var(--content-height);
.detail_left_right_item_click{
cursor: pointer;
i{
color: #9e9ea7;
}
}
2024-05-09 13:34:15 +08:00
.generate_item_title_left{
font-size: 2.4rem;
}
2024-05-16 09:41:16 +08:00
.newScaleImage_right_content_type{
2024-05-09 13:34:15 +08:00
padding: var(--padding) 0;
margin-bottom: var(--margin);
border-bottom: .2rem solid var(--border-color);
}
2024-05-16 09:41:16 +08:00
.newScaleImage_right_content_collection,.newScaleImage_right_content_generate{
2024-05-09 13:34:15 +08:00
display: flex;
flex-direction: column;
flex: 1;
2024-05-16 09:41:16 +08:00
}
.newScaleImage_right_content_collection{
&.newScaleImage_right_content_collection::-webkit-scrollbar{display: none;}
text-align: center;
// .content_left_collection_btn{
// display: flex;
// justify-content: space-around;
// }
.started_btn{
margin-bottom: var(--margin);
2024-06-17 09:39:01 +08:00
&.active{
cursor: no-drop;
}
2024-05-16 09:41:16 +08:00
}
.content_left_collection_detail{
// height: calc(8rem + var(--padding) * 2);
2024-05-16 09:41:16 +08:00
display: flex;
2024-06-17 09:39:01 +08:00
flex-direction: column;
align-items: flex-start;
justify-content: center;
2024-05-16 09:41:16 +08:00
.scaleImage_chunk_title{
margin-right: 1rem;
}
>div{
margin-bottom: .5rem;
}
2024-05-16 09:41:16 +08:00
}
.content_left_collection_content{
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: flex-start;
.content_left_collection_content_list{
overflow-x: auto;
display: flex;
flex: 1;
width: 100%;
align-items: center;
margin-top: var(--padding);
img{
height: 30rem;
width: auto;
margin-right: var(--margin);
}
}
}
}
.newScaleImage_right_content_generate{
2024-05-09 13:34:15 +08:00
.content_left_generate_item{
overflow: hidden;
.content_left_generate_item_title{
display: flex;
justify-content: space-between;
align-items: center;
.generate_item_title_right{
.generate_item_title_right_img{
height: 8rem;
width: auto;
object-fit: contain;
}
}
}
}
.content_left_generate_describe{
display: flex;
flex-direction: column;
flex: 1;
margin-bottom: 0;
textarea{
flex: 1;
margin-top: var(--padding);
width: 100% !important;
height: 10rem !important;
2024-05-16 09:41:16 +08:00
border-radius: 4rem;
2024-05-09 13:34:15 +08:00
border: .2rem solid var(--border-color);
font-size: 1.8rem;
padding: 1rem;
color: #575757;
outline: none; /* 清除默认焦点样式 */
}
textarea:focus{
border: .2rem solid var(--border-color);
outline: none; /* 清除默认焦点样式 */
}
}
}
}
2024-05-16 09:41:16 +08:00
.newScaleImage_right_detail,.newScaleImage_right_comment{
2024-05-09 13:34:15 +08:00
height: auto;
2024-05-16 09:41:16 +08:00
.detail_left_right_item{
2024-05-09 13:34:15 +08:00
margin-bottom: var(--margin);
}
2024-05-16 09:41:16 +08:00
.detail_left_right_item:last-child{
2024-05-09 13:34:15 +08:00
margin-bottom: 0;
}
2024-05-16 09:41:16 +08:00
}
.newScaleImage_right_comment{
display: flex;
flex-direction: column;
2024-06-21 10:30:09 +08:00
padding-bottom: 0;
2024-05-16 09:41:16 +08:00
>.scaleImage_chunk_title{
}
.newScaleImage_right_comment_null,.newScaleImage_right_comment_content{
flex: 1;
}
.newScaleImage_right_comment_null{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
2024-06-24 09:47:59 +08:00
// .scaleImage_chunk_title{
// font-size: 3rem;
// }
2024-05-16 09:41:16 +08:00
}
.newScaleImage_right_comment_content{
2024-06-21 10:30:09 +08:00
// max-height: 60rem;
// overflow-y: auto;
2024-05-16 09:41:16 +08:00
.detail_left_content_item{
display: flex;
margin-bottom: var(--margin);
&.detail_left_content_item:last-child{
margin-bottom: 0;
}
.detail_left_content_item_img{
border-radius: 50%;
overflow: hidden;
width: 5rem;
height: 5rem;
}
.detail_left_content_item_content{
flex: 1;
margin-left: 1rem;
width: calc(100% - 6rem - 1rem);
2024-06-17 09:39:01 +08:00
.replyIcon{
width: 0;
height: 0;
vertical-align: middle;
border: .5rem solid transparent;
border-left: 1rem solid #000;
border-right: none;
display: inline-block;
margin: 0 1rem;
}
2024-05-16 09:41:16 +08:00
>div{
margin-top: .4rem;
>span{
margin-right: .5rem;
color: rgba(122, 97, 220);
}
}
.detail_left_content_item_btn{
display: flex;
align-items: center;
2024-06-17 09:39:01 +08:00
margin-top: 1rem;
2024-06-21 10:30:09 +08:00
.left_content_item_reply,.left_content_item_thumbs,.left_content_item_unfold,.left_content_item_delete{
2024-05-16 09:41:16 +08:00
cursor: pointer;
}
.left_content_item_reply:hover{
color: #000;
}
.left_content_item_thumbs{
display: flex;
margin-left: 2rem;
i{
font-size: 2rem;
margin-right: 1rem;
display: flex;
}
}
2024-06-21 10:30:09 +08:00
.left_content_item_btn{
2024-05-16 09:41:16 +08:00
margin-left: auto;
margin-right: 1rem;
2024-06-21 10:30:09 +08:00
display: flex;
.left_content_item_delete{
}
.left_content_item_unfold{
margin-left: 1rem;
}
}
}
.detail_left_content_item_replyContent_box{
overflow: hidden;
transition: all .3s;
&.active{
height: 0;
margin: 0;
}
}
.detail_left_content_item_replyContent_box_btn{
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
div{
transition: all .3s;
}
.active{
transform: rotate(180deg);
2024-05-16 09:41:16 +08:00
}
}
.detail_left_content_item_replyContent{
margin-top: var(--padding);
display: flex;
}
}
}
}
2024-06-21 10:30:09 +08:00
.newScaleImage_right_comment_loading{
text-align: center;
>span{
height: 7rem;
width: 6rem;
display: block;
margin: 0 auto;
}
}
2024-05-16 09:41:16 +08:00
.newScaleImage_right_comment_setComment{
display: flex;
align-items: center;
2024-06-21 10:30:09 +08:00
height: 8rem;
2024-05-16 09:41:16 +08:00
justify-content: center;
2024-06-21 10:30:09 +08:00
position: sticky;
z-index: 2;
padding-bottom: var(--padding);
padding-top: var(--padding);
top: 0;
2024-06-21 10:30:09 +08:00
background: #f5f5f5;
2024-05-16 09:41:16 +08:00
input,.detail_left_setComment_btn{
border-radius: 1rem;
}
input{
padding-left: var(--padding);
flex: 1;
2024-05-16 09:41:16 +08:00
height: 100%;
width: 50%;
font-size: 2rem;
margin-right: var(--padding);
border: .2rem solid var(--border-color);
}
.detail_left_setComment_btn{
2024-06-17 09:39:01 +08:00
cursor: pointer;
2024-05-16 09:41:16 +08:00
width: 4rem;
height: 4rem;
background: rgba(57, 33, 91);
display: flex;
align-items: center;
justify-content: center;
i{
color: #fff;
display: flex;
}
}
}
}
.newScaleImage_right_detail{
2024-05-16 09:41:16 +08:00
.detail_right_work_detail{
.scaleImage_chunk_title_intro{
margin-top: calc(var(--padding) / 2);
height: auto
}
2024-05-09 13:34:15 +08:00
}
2024-05-16 09:41:16 +08:00
.detail_right_date{
display: flex;
justify-content: space-between;
.detail_right_date_setUp,.detail_right_date_upData{
2024-05-16 17:14:22 +08:00
width: 45%;
2024-05-16 09:41:16 +08:00
div{
font-size: 2rem;
font-weight: 600;
}
span{
font-size: 1.8rem;
}
}
}
2024-05-09 13:34:15 +08:00
.detail_right_auther{
.detail_right_auther_img{
width: 100%;
display: flex;
margin-top: var(--padding);
--auther_wh: 8rem;
.detail_right_auther_img_item{
2024-05-16 09:41:16 +08:00
text-align: center;
2024-05-09 13:34:15 +08:00
width: var(--auther_wh);
height: var(--auther_wh);
flex-shrink: 1;
margin-right: calc(var(--padding) / 2);
// margin-right: var(--padding);
border-radius: var(--padding);
cursor: pointer;
overflow: hidden;
img{
height: 100%;
max-width: 100%;
object-fit: cover;
}
}
.detail_right_auther_img_end{
margin: 0;
line-height: var(--auther_wh);
text-align: center;
background: #e2e2e2;
font-size: 1.8rem;
font-weight: 600;
}
}
}
}
}
}
</style>