印花和元素不等比缩放调整

This commit is contained in:
X1627315083
2025-02-07 17:34:23 +08:00
parent 0d136655fe
commit da0abbb92c
11 changed files with 134 additions and 53 deletions

View File

@@ -1,6 +1,6 @@
<template>
<div class="cancelRenewal_page">
<div v-if="userDetail.status != 'expired' && userDetail.systemUser != 3">
<div v-if="userDetail.status == 'active' && userDetail.systemUser != 3" class="renewal">
<div class="cancel_box_item">
<div class="modal_title_text">
<div>{{ $t('cancelRenewal.cancelling') }}</div>
@@ -29,15 +29,16 @@
<i class="fi fi-sr-triangle-warning"></i>
<div>{{ $t('cancelRenewal.DonWorry') }}</div>
</div> -->
<div class="button_box">
<div class="gallery_btn white" @click="subscribe">{{ $t('cancelRenewal.Continue') }}</div>
<div class="gallery_btn" @click="cancelSubscription">{{ $t('cancelRenewal.cancel') }}</div>
</div>
</div>
</div>
<div v-else class="no_renewal">
{{ $t('cancelRenewal.subscriptionRenewal') }}
</div>
<div class="button_box">
<div class="gallery_btn white" v-if="userDetail.status != 'active' && userDetail.systemUser != 3" @click="subscribe">{{ $t('cancelRenewal.Continue') }}</div>
<div class="gallery_btn" v-else @click="cancelSubscription">{{ $t('cancelRenewal.cancel') }}</div>
</div>
<div class="mark_loading" v-show="isShowMark">
<a-spin size="large" />
</div>
@@ -135,13 +136,24 @@ export default defineComponent({
height: 100%;
overflow-y: auto;
padding-bottom: 2rem;
>div{
>.button_box{
display: flex;
margin-top: 2.5rem;
justify-content: flex-end;
>div:nth-child(1){
margin-right: 1rem;
// width: calc((100% - 1rem) / 2);
}
}
>.no_renewal,.renewal{
display: flex;
flex-direction: column;
align-items: center;
min-height: 40rem;
&.no_renewal{
font-size: 2rem;
font-weight: 400;
font-weight: 600;
justify-content: center;
}
}
.cancel_box_item{
@@ -189,16 +201,6 @@ export default defineComponent({
border: 1px solid #000;
}
}
>.button_box{
display: flex;
margin-top: 2.5rem;
justify-content: flex-end;
>div:nth-child(1){
margin-right: 1rem;
// width: calc((100% - 1rem) / 2);
}
}
}
.cancel_box_item:last-child{
margin: 0;

View File

@@ -70,7 +70,7 @@
<img src="../../assets/images/homePage/cuowu.svg" alt="">
</li>
</ul>
<div></div>
<!-- <div></div> -->
</div>
</div>
</div>
@@ -261,7 +261,7 @@ export default defineComponent({
if(this.$parent.exhibitionList.elements)this.designSelectElementsList = JSON.parse(JSON.stringify(this.$parent.exhibitionList.elements))
if(this.$parent.elementsList)this.designElementsList = JSON.parse(JSON.stringify(this.$parent.elementsList))
let skecth = new Image
skecth.src = this.current.path
skecth.src = this.current.undividedLayer || this.current.path
skecth.onload=()=>{
this.sketch.width = skecth.width/10+'rem'
this.sketch.height = skecth.height/10+'rem'
@@ -408,7 +408,7 @@ export default defineComponent({
w = (e.clientX - this.printStyleList[this.imgDomIndex].centers.left)
h = (e.clientX - this.printStyleList[this.imgDomIndex].centers.left)*num
width = w+'px'
height = w*num1+'px'
// height = w*num1+'px'
}else if(this.direction == 'top'){
this.printStyleList[this.imgDomIndex].style.top = 'auto'
// this.printStyleList[this.imgDomIndex].style.left = 'auto'
@@ -417,17 +417,17 @@ export default defineComponent({
h = (this.printStyleList[this.imgDomIndex].centers.top - e.clientY)
height = h+'px'
width = h*num+'px'
// width = h*num+'px'
}else if(this.direction == 'bottom'){
h = (e.clientY - this.printStyleList[this.imgDomIndex].centers.top)
height = h+'px'
width = h*num+'px'
// width = h*num+'px'
}else if(this.direction == 'left'){
this.printStyleList[this.imgDomIndex].style.left = 'auto'
this.printStyleList[this.imgDomIndex].style.right = parentNode.offsetWidth -imgDomWH.width - this.imgDom.offsetLeft+'px'
w = (this.printStyleList[this.imgDomIndex].centers.left - e.clientX)
width = w+'px'
height = w*num1+'px'
// height = w*num1+'px'
}
//判断尺寸是否到边
this.printStyleList[this.imgDomIndex].style.width = width
@@ -526,8 +526,10 @@ export default defineComponent({
top:top,
right:"auto",
bottom:"auto",
width:this.print.width.replace(/px/g,'')/sketchNum*item.scale+'px',
height:this.print.height.replace(/px/g,'')/sketchNum*item.scale+'px',
// width:this.print.width.replace(/px/g,'')/sketchNum*item.scale+'px',
// height:this.print.height.replace(/px/g,'')/sketchNum*item.scale+'px',
width:sketch.offsetWidth*item.scale[0]+'px',
height:sketch.offsetHeight*item.scale[1]+'px',
zIndex:zIndex++
},
transform:{
@@ -565,7 +567,7 @@ export default defineComponent({
let location
for (let index = 0; index < arr.length; index++) {
await this.setPrintWH(this.exhibitionElementsList[index].path)
scale = (arr[index].style.width.replace(/px/g,'')*sketchNum/this.print.width.replace(/px/g,''))
scale = [arr[index].style.width.replace(/px/g,'')/sketch.offsetWidth,(arr[index].style.height.replace(/px/g,'')/sketch.offsetHeight)]
location = [arr[index].style.left.replace(/px/g,'')*sketchNum,arr[index].style.top.replace(/px/g,'')*sketchNum]
let obj = {
angle : arr[index].transform.rotateZ,

View File

@@ -353,7 +353,7 @@ export default defineComponent({
this.sketch.height = skecth.height/10+'rem'
skecth.remove()
}
skecth.src = this.current.path
skecth.src = this.current.undividedLayer || this.current.path
if(this.exhibitionOpenrtionList.overall.length > 0){
let str = 'overall'
this.exhibitionOpenrtionList[str].forEach((item,index)=>{
@@ -581,7 +581,7 @@ export default defineComponent({
w = (e.clientX - this.printStyleList[this.stateOverallSingle][this.imgDomIndex].centers.left)
h = (e.clientX - this.printStyleList[this.stateOverallSingle][this.imgDomIndex].centers.left)*num
width = w+'px'
height = w*num1+'px'
// height = w*num1+'px'
}else if(this.direction == 'top'){
this.printStyleList[this.stateOverallSingle][this.imgDomIndex].style.top = 'auto'
// this.printStyleList[this.stateOverallSingle][this.imgDomIndex].style.left = 'auto'
@@ -590,17 +590,17 @@ export default defineComponent({
h = (this.printStyleList[this.stateOverallSingle][this.imgDomIndex].centers.top - e.clientY)
height = h+'px'
width = h*num+'px'
// width = h*num+'px'
}else if(this.direction == 'bottom'){
h = (e.clientY - this.printStyleList[this.stateOverallSingle][this.imgDomIndex].centers.top)
height = h+'px'
width = h*num+'px'
// width = h*num+'px'
}else if(this.direction == 'left'){
this.printStyleList[this.stateOverallSingle][this.imgDomIndex].style.left = 'auto'
this.printStyleList[this.stateOverallSingle][this.imgDomIndex].style.right = parentNode.offsetWidth -imgDomWH.width - this.imgDom.offsetLeft+'px'
w = (this.printStyleList[this.stateOverallSingle][this.imgDomIndex].centers.left - e.clientX)
width = w+'px'
height = w*num1+'px'
// height = w*num1+'px'
}
//判断尺寸是否到边
this.printStyleList[this.stateOverallSingle][this.imgDomIndex].style.width = width
@@ -728,8 +728,10 @@ export default defineComponent({
top:top,
right:"auto",
bottom:"auto",
width:this.print.width.replace(/px/g,'')/sketchNum*item.scale+'px',
height:this.print.height.replace(/px/g,'')/sketchNum*item.scale+'px',
// width:this.print.width.replace(/px/g,'')/sketchNum*item.scale[0]+'px',
// height:this.print.height.replace(/px/g,'')/sketchNum*item.scale[1]+'px',
width:sketch.offsetWidth*item.scale[0]+'px',
height:sketch.offsetHeight*item.scale[1]+'px',
zIndex:zIndex++
},
transform:{
@@ -800,20 +802,20 @@ export default defineComponent({
let location
for (let index = 0; index < arr.length; index++) {
if(!this.overallSingle){
scale = this.systemDesignerPercentage/100
scale =[ this.systemDesignerPercentage/100, this.systemDesignerPercentage/100]
let overallScale = (arr[index].style.width.replace(/px/g,'')*sketchNum/this.print.width.replace(/px/g,''))
let x = Number(arr[index].style.left.replace(/px/g,''))
let y = Number(arr[index].style.top.replace(/px/g,''))
// let x = (Number(arr[index].style.left.replace(/px/g,'')) + Number(arr[index].style.width.replace(/px/g,''))/2)*sketchNum
// let y = (Number(arr[index].style.top.replace(/px/g,'')) + Number(arr[index].style.height.replace(/px/g,''))/2)*sketchNum
let width = Number(this.print.width.replace(/px/g,''))*scale/5/2
let height = Number(this.print.height.replace(/px/g,''))*scale/5/2
let width = Number(this.print.width.replace(/px/g,''))*scale[0]/5/2
let height = Number(this.print.height.replace(/px/g,''))*scale[0]/5/2
// location = [(x*sketchNum) ,(y*sketchNum)]
location = [(x*sketchNum) - width/sketchNum/2 ,(y*sketchNum) - height/sketchNum/2]
}else{
await this.setPrintWH(this.exhibitionOpenrtionList[this.stateOverallSingle][index].path)
scale = (arr[index].style.width.replace(/px/g,'')*sketchNum/this.print.width.replace(/px/g,''))
console.log(arr[index].style.width.replace(/px/g,''),sketch.offsetWidth,arr[index].style.height.replace(/px/g,''),sketch.offsetHeight);
scale = [arr[index].style.width.replace(/px/g,'')/sketch.offsetWidth,(arr[index].style.height.replace(/px/g,'')/sketch.offsetHeight)]
location = [arr[index].style.left.replace(/px/g,'')*sketchNum,arr[index].style.top.replace(/px/g,'')*sketchNum]
}
let obj = {

View File

@@ -515,6 +515,7 @@ export default defineComponent({
for (let index = 0; index < rv.clothes.length; index++) {
if(rv.clothes[index].id === item.id && !rv.clothes[index].similarity){
item.layersObject = rv.clothes[index].layersObject
item.undividedLayer = rv.clothes[index].undividedLayer
item.priority = rv.clothes[index].layersObject[0].priority
rv.clothes[index].similarity = true
break

View File

@@ -923,7 +923,7 @@ export default defineComponent({
this.searchPictureName = "";
},
onPaste(e:any){
if(e.clipboardData.items[0] && !this.isTextarea && this.upload.level1Type !== 'Moodboard' && this.scene?.value != 'Slogan' && this.scene?.value != 'Logo'){
if(e.clipboardData.files[0] && !this.isTextarea && this.upload.level1Type !== 'Moodboard' && this.scene?.value != 'Slogan' && this.scene?.value != 'Logo'){
let param = new FormData();
param.append('inPin','0')
param.append('gender',this.upload.gender)

View File

@@ -26,7 +26,7 @@
<div class="generalModel_btn back" v-if="bindType != 'Modify'">
<div class="generalModel_closeIcon" @click.stop="setBack()">
<span></span>
<span class="back_text">Back</span>
<span class="back_text">{{ $t('account.back') }}</span>
</div>
</div>
<div class="login_page">
@@ -41,24 +41,42 @@
'login_active',
]"
>
<span v-if="bindType == 'Modify'">Modify Email</span>
<span v-else>Bind personal information</span>
<span v-if="bindType == 'Modify'">{{ $t('account.ModifyEmail') }}</span>
<span v-else>{{ $t('account.information') }}</span>
</div>
</div>
<!-- 账号密码登录 start -->
<!-- v-show="login$props.Type == 'username'" -->
<div >
<div class="login_form_content" :state="emailStap">
<div class="login_form_title marign_top30">Email</div>
<div class="login_form_title marign_top30">{{ $t('account.Email') }}</div>
<input
class="login_form_input"
:class="{active:(userDetail.email !== '-------------') && bindType != 'Modify'}"
placeholder="Enter your email address"
:placeholder="$t('account.plaseEmail')"
v-model="email"
:disabled="(userDetail.email !== '-------------') && bindType != 'Modify'"
@keydown.enter="submitPerLogin()"
/>
<div v-if="bindType != 'Modify'">
<!-- <div class="login_form_title marign_top30">{{ $t('account.Name') }}</div>
<div style="display: flex;justify-content: space-between;">
<a-select
class="gallerySelect"
v-model:value="selectSex"
:disabled="!!userDetail.country"
size="large"
optionFilterProp="label"
style="width: 30%;"
:options="sexList"
:placeholder="$t('account.plaseSelectSex')"
allowClear
show-search
></a-select>
<input class="login_form_input" style="width: 30%;" :class="{active:!!userDetail.occupation}" :disabled="!!userDetail.occupation" type="text" :placeholder="$t('account.plaseFirst')" v-model="surname">
<input class="login_form_input" style="width: 30%;" :class="{active:!!userDetail.occupation}" :disabled="!!userDetail.occupation" type="text" :placeholder="$t('account.plaseLast')" v-model="givenName">
</div> -->
<div class="login_form_title marign_top30">{{$t('account.Country')}}:</div>
<div class="login_form_select">
<a-select
@@ -69,14 +87,14 @@
optionFilterProp="label"
style="width: 100%;"
:options="countryList"
placeholder="Please select"
:placeholder="$t('account.plaseCountry')"
allowClear
show-search
></a-select>
</div>
<div class="login_form_title marign_top30">{{$t('account.CompanyName')}}:</div>
<input class="login_form_input" :class="{active:!!userDetail.occupation}" :disabled="!!userDetail.occupation" type="text" placeholder="Please enter occupation" v-model="CompanyName">
<input class="login_form_input" :class="{active:!!userDetail.occupation}" :disabled="!!userDetail.occupation" type="text" :placeholder="$t('account.plaseEmail')" v-model="CompanyName">
</div>
<!-- 邮箱登录 start -->
@@ -157,7 +175,7 @@ export default defineComponent({
const bindType = ''
const router = useRouter()
let timer:any = 0;
const {locale} = useI18n()
const {locale,t} = useI18n()
const store = useStore();
let userDetail:any= computed(()=>{
return store.state.UserHabit.userDetail
@@ -171,6 +189,15 @@ export default defineComponent({
let userEmail = computed(()=>{
return store.state.UserHabit.userDetail.email
})
let userSex = computed(()=>{
return store.state.UserHabit.userDetail.email
})
let userSurname = computed(()=>{
return store.state.UserHabit.userDetail.email
})
let userGivenName = computed(()=>{
return store.state.UserHabit.userDetail.email
})
let register = reactive({
registerModel:computed(()=>{
return store.state.UserHabit.bindEmail.isBindEmail
@@ -180,10 +207,18 @@ export default defineComponent({
}),
registerModelMask:true,
pageWidth:'45%',
Country:'',
Country:null,
CompanyName:'',
countryList:country,
email:'',
sexList:[
{label:t('account.Mr'),value:'Mr'},
{label:t('account.Ms'),value:'Ms'},
{label:t('account.Miss'),value:'Miss'},
],
selectSex:'Mr',
surname:'',
givenName:'',
})
watch(userCountry,(newValue,oldValue)=>{
register.Country = newValue
@@ -294,6 +329,14 @@ export default defineComponent({
message.info("Please select a country");
return;
}
// if (!this.Country && this.bindType != 'Modify') {
// message.info("Please select a country");
// return;
// }
// if (!this.Country && this.bindType != 'Modify') {
// message.info("Please select a country");
// return;
// }
let type = 'BIND_MAILBOX'
if(this.email == this.userDetail.email && this.bindType != 'Modify')type = 'UPDATE_USERINFO'
let data = {
@@ -301,7 +344,10 @@ export default defineComponent({
"ip": "",
"operationType": type,
occupation:this.CompanyName,
country:this.Country
country:this.Country,
// title:'',
// surname:'',
// givenName:'',
};
if(this.loginTime){
this.loginTime = false
@@ -542,6 +588,7 @@ export default defineComponent({
height: 5rem;
border: 0.1rem solid #dfdfdf;
border-radius: 2.5rem;
align-items: center;
}
:deep(.ant-select-selector):hover{
border: 0.1rem solid #000;

View File

@@ -596,6 +596,7 @@ export default {
},
account:{
personCentered:'个人中心',
back:'返回',
frontPage:'我的信息',
Home:'首页',
Messages:'消息中心',
@@ -616,6 +617,19 @@ export default {
email:'邮箱',
Submit:'提交',
UpdateAvatar:'修改头像',
information:'绑定个人信息',
ModifyEmail:'修改邮箱',
Email:'邮箱',
plaseEmail:'请输入邮箱',
plaseCountry:'请选择国家',
plaseCompanyName:'请输入职业',
Name:'名字',
plaseSelectSex:'请选择',
plaseFirst:'请输入姓',
plaseLast:'请输入名',
Mr:'先生',
Ms:'女士',
Miss:'小姐',
//消息
systemMessages:'系统消息',
comment:'评论',

View File

@@ -596,6 +596,7 @@ export default {
},
account:{
personCentered:'Account',
back:'Back',
frontPage:'Front Page',
Home:'Home',
Messages:'Messages',
@@ -615,6 +616,19 @@ export default {
email:'Email',
Submit:'Submit',
UpdateAvatar:'Update Avatar',
information:'Bind personal information',
ModifyEmail:'Modify Email',
Email:'Email',
plaseEmail:'Enter your email address',
plaseCountry:'Please select country',
plaseCompanyName:'Please enter occupation',
Name:'Name',
plaseSelectSex:'Please select',
plaseFirst:'Please enter First',
plaseLast:'Please enter Last',
Mr:'Mr',
Ms:'Ms',
Miss:'Miss',
//消息
systemMessages:'System Messages',
comment:'Comment',

View File

@@ -213,7 +213,6 @@ const userHabit : Module<UserHabit,RootState> = {
state.userDetail.occupation = data.occupation//头像
state.userDetail.usernameModify = data.usernameModify//当月剩余修改次数
state.userDetail.isBeginner = data.isBeginner == 1 ? true : false;//是否完成新手指引
if(
(!data.email && state.userDetail.email == '-------------') ||
(!data.country && !state.userDetail.country) ||
@@ -280,7 +279,7 @@ const userHabit : Module<UserHabit,RootState> = {
setLang(data.language)
state.userDetail.expireTime = data.expireTime//有效期
state.userDetail.subscriptionType = data.subscriptionType//当前订阅类型
state.userDetail.status = data.status//当前订阅类型
state.userDetail.status = data.status || 'active'//当前订阅类型
state.userDetail.subscriptionId = data.subscriptionId//最新订阅id
}
},

View File

@@ -748,7 +748,7 @@ export default defineComponent({
let days = Math.floor(diffInMilliseconds / (24 * 60 * 60 * 1000)); // 计算天数
let hours = Math.floor((diffInMilliseconds % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000)); // 计算小时数
let minutes = Math.floor((diffInMilliseconds % (60 * 60 * 1000)) / (60 * 1000)); // 计算分钟数
if(days < 30){
if(days < 5){
setTimeout(() => {
let text = {
str:`${this.t('HomeView.jsContent4',{days:days,hours:hours})}<a href="https://code-create.com.hk/aida" target="_blank">${this.t('HomeView.jsContent8')}</a>`,

View File

@@ -1723,7 +1723,7 @@ export default defineComponent({
scaleImage.init(list,index)
},
onPaste(e:any){
if(e.clipboardData.items[0] && !this.isTextarea && this.selectCode !== 'Moodboard' && this.scene?.value != 'Slogan' && this.scene?.value != 'Logo'){
if(e.clipboardData.files[0] && !this.isTextarea && this.selectCode !== 'Moodboard' && this.scene?.value != 'Slogan' && this.scene?.value != 'Logo'){
let param = new FormData();
param.append('inPin','0')
param.append('gender',this.sex)