Merge remote-tracking branch 'origin/StableVersion' into dev_vite
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -71,17 +71,17 @@ export class LayerSort {
|
|||||||
// if (!layer.visible) {
|
// if (!layer.visible) {
|
||||||
// continue;
|
// continue;
|
||||||
// }
|
// }
|
||||||
|
let id = layer.fabricObject?.id || layer.fabricObjects?.[0]?.id || null;
|
||||||
// 处理不同类型的图层
|
// 处理不同类型的图层
|
||||||
if (layer.isBackground && layer.fabricObject) {
|
if (layer.isBackground && id) {
|
||||||
// 背景图层对象放在最底层
|
// 背景图层对象放在最底层
|
||||||
zIndexMap.set(layer.fabricObject.id, currentZIndex++);
|
zIndexMap.set(id, currentZIndex++);
|
||||||
} else if (layer.isFixed && layer.fabricObject) {
|
} else if (layer.isFixed && id) {
|
||||||
// 固定图层对象
|
// 固定图层对象
|
||||||
zIndexMap.set(layer.fabricObject.id, currentZIndex++);
|
zIndexMap.set(id, currentZIndex++);
|
||||||
} else if (layer.isFixedOther && layer.fabricObject) {
|
} else if (layer.isFixedOther && id) {
|
||||||
// 其他固定图层对象
|
// 其他固定图层对象
|
||||||
zIndexMap.set(layer.fabricObject.id, currentZIndex++);
|
zIndexMap.set(id, currentZIndex++);
|
||||||
} else if (!layer.isBackground && !layer.isFixed) {
|
} else if (!layer.isBackground && !layer.isFixed) {
|
||||||
// 普通图层
|
// 普通图层
|
||||||
currentZIndex = this.processLayerObjects(
|
currentZIndex = this.processLayerObjects(
|
||||||
|
|||||||
@@ -287,12 +287,27 @@ export default defineComponent({
|
|||||||
const saveCanvas = async (canvasData:any)=>{
|
const saveCanvas = async (canvasData:any)=>{
|
||||||
const index = detailData.designDetail.clothes.findIndex(item => item.id === canvasData.id);
|
const index = detailData.designDetail.clothes.findIndex(item => item.id === canvasData.id);
|
||||||
await new Promise<void>((resolve, reject) => {
|
await new Promise<void>((resolve, reject) => {
|
||||||
let canvasJSON = JSON.parse(canvasData.canvasJSON)
|
if(!detailDom?.editCanvas)return resolve()
|
||||||
if(!canvasJSON)return resolve()
|
let canvasJSON = detailDom?.editCanvas?.getJSON()
|
||||||
// canvasData.canvas.objects.forEach((objectsItem:any) => {
|
let canvasData = JSON.parse(canvasJSON)
|
||||||
// if(objectsItem.type == 'image')objectsItem.minioUrl = getMinioUrl(objectsItem.src)
|
if(!canvasData)return resolve()
|
||||||
// });
|
function deepProcessObjects(data:any, callback:any) {
|
||||||
let blob = new Blob([JSON.stringify(canvasJSON)], { type: "application/json" });
|
if (!Array.isArray(data)) return data;
|
||||||
|
return data.map(item => {
|
||||||
|
callback(item)
|
||||||
|
const processedItem = {...item};
|
||||||
|
if (processedItem.objects &&
|
||||||
|
Array.isArray(processedItem.objects) &&
|
||||||
|
processedItem.objects.length > 0) {
|
||||||
|
processedItem.objects = deepProcessObjects(processedItem.objects, callback);
|
||||||
|
}
|
||||||
|
return processedItem;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
canvasData.canvas.objects = deepProcessObjects(canvasData.canvas.objects,(item:any)=>{
|
||||||
|
if(item.type == 'image')item.minioUrl = getMinioUrl(item.src)
|
||||||
|
})
|
||||||
|
let blob = new Blob([JSON.stringify(canvasData)], { type: "application/json" });
|
||||||
let formData = new FormData();
|
let formData = new FormData();
|
||||||
formData.append("file", blob, "data.json");
|
formData.append("file", blob, "data.json");
|
||||||
formData.append("designItemDetailId", detailData.selectDetail.id);
|
formData.append("designItemDetailId", detailData.selectDetail.id);
|
||||||
|
|||||||
@@ -925,7 +925,9 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
onCancel() {}
|
onCancel() {}
|
||||||
})
|
})
|
||||||
}
|
}else{
|
||||||
|
this.fileList = this.fileList.filter((item: any) => item.imgUrl)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
setGenerate(dataList: any) {
|
setGenerate(dataList: any) {
|
||||||
|
|||||||
@@ -854,6 +854,10 @@ export default defineComponent({
|
|||||||
font-size: 2.2rem;
|
font-size: 2.2rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #030303;
|
color: #030303;
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
margin-left: .5rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.email_last_step_block_icon {
|
.email_last_step_block_icon {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|||||||
@@ -161,6 +161,13 @@
|
|||||||
font-size: 2.4rem;
|
font-size: 2.4rem;
|
||||||
line-height: 8.7rem;
|
line-height: 8.7rem;
|
||||||
outline: none;
|
outline: none;
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
border-radius: .7rem;
|
||||||
|
width: 3.5rem;
|
||||||
|
height: 3.5rem;
|
||||||
|
font-size: 1.8rem;
|
||||||
|
line-height: 3.5rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
input:last-of-type {
|
input:last-of-type {
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
|
|||||||
@@ -335,9 +335,22 @@ export default defineComponent({
|
|||||||
let canvasData = JSON.parse(canvasJSON)
|
let canvasData = JSON.parse(canvasJSON)
|
||||||
|
|
||||||
if(!canvasData)return
|
if(!canvasData)return
|
||||||
canvasData.canvas.objects.forEach((objectsItem:any) => {
|
function deepProcessObjects(data:any, callback:any) {
|
||||||
if(objectsItem.type == 'image')objectsItem.minioUrl = getMinioUrl(objectsItem.src)
|
if (!Array.isArray(data)) return data;
|
||||||
});
|
return data.map(item => {
|
||||||
|
callback(item)
|
||||||
|
const processedItem = {...item};
|
||||||
|
if (processedItem.objects &&
|
||||||
|
Array.isArray(processedItem.objects) &&
|
||||||
|
processedItem.objects.length > 0) {
|
||||||
|
processedItem.objects = deepProcessObjects(processedItem.objects, callback);
|
||||||
|
}
|
||||||
|
return processedItem;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
canvasData.canvas.objects = deepProcessObjects(canvasData.canvas.objects,(item:any)=>{
|
||||||
|
if(item.type == 'image')item.minioUrl = getMinioUrl(item.src)
|
||||||
|
})
|
||||||
let blob = new Blob([JSON.stringify(canvasData)], { type: "application/json" });
|
let blob = new Blob([JSON.stringify(canvasData)], { type: "application/json" });
|
||||||
let formData = new FormData();
|
let formData = new FormData();
|
||||||
formData.append("file", blob, "data.json");
|
formData.append("file", blob, "data.json");
|
||||||
|
|||||||
@@ -206,11 +206,22 @@ export default defineComponent({
|
|||||||
if(!canvasJSON)return
|
if(!canvasJSON)return
|
||||||
if(!store.state.Workspace.probjects?.id)return
|
if(!store.state.Workspace.probjects?.id)return
|
||||||
let canvasData = JSON.parse(canvasJSON)
|
let canvasData = JSON.parse(canvasJSON)
|
||||||
console.log(canvasData)
|
function deepProcessObjects(data:any, callback:any) {
|
||||||
canvasData.canvas.objects.forEach((objectsItem:any) => {
|
if (!Array.isArray(data)) return data;
|
||||||
if(objectsItem.type == 'image')objectsItem.minioUrl = getMinioUrl(objectsItem.src)
|
return data.map(item => {
|
||||||
|
callback(item)
|
||||||
});
|
const processedItem = {...item};
|
||||||
|
if (processedItem.objects &&
|
||||||
|
Array.isArray(processedItem.objects) &&
|
||||||
|
processedItem.objects.length > 0) {
|
||||||
|
processedItem.objects = deepProcessObjects(processedItem.objects, callback);
|
||||||
|
}
|
||||||
|
return processedItem;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
canvasData.canvas.objects = deepProcessObjects(canvasData.canvas.objects,(item:any)=>{
|
||||||
|
if(item.type == 'image')item.minioUrl = getMinioUrl(item.src)
|
||||||
|
})
|
||||||
let blob = new Blob([JSON.stringify(canvasData)], { type: "application/json" });
|
let blob = new Blob([JSON.stringify(canvasData)], { type: "application/json" });
|
||||||
let formData = new FormData();
|
let formData = new FormData();
|
||||||
formData.append("file", blob, "data.json");
|
formData.append("file", blob, "data.json");
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
Forgot password?
|
Forgot password?
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="password_input_block">
|
<div class="password_input_block" v-show="emailStap !== 2">
|
||||||
<div v-show="passwordConditionShow" class="conditionShow">
|
<div v-show="passwordConditionShow" class="conditionShow">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<div class="icon">
|
<div class="icon">
|
||||||
@@ -144,12 +144,13 @@
|
|||||||
@click="changePasswordType()"
|
@click="changePasswordType()"
|
||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
<span style="font-weight: 400; opacity: 0.7"
|
<span style="font-weight: 400; opacity: 0.7" v-show="emailStap !== 2"
|
||||||
>{{ userI18n[selectUserI18n].inputPasswordTip }}</span
|
>{{ userI18n[selectUserI18n].inputPasswordTip }}</span
|
||||||
>
|
>
|
||||||
<div class="login_form_title marign_top30">{{ userI18n[selectUserI18n].Email }}</div>
|
<div class="login_form_title marign_top30" v-show="emailStap !== 2">{{ userI18n[selectUserI18n].Email }}</div>
|
||||||
<input
|
<input
|
||||||
class="login_form_input"
|
class="login_form_input"
|
||||||
|
v-show="emailStap !== 2"
|
||||||
:placeholder="userI18n[selectUserI18n].inputEmail"
|
:placeholder="userI18n[selectUserI18n].inputEmail"
|
||||||
v-model="email"
|
v-model="email"
|
||||||
@keydown.enter="submitPerLogin()"
|
@keydown.enter="submitPerLogin()"
|
||||||
@@ -917,6 +918,7 @@ export default defineComponent({
|
|||||||
position: relative;
|
position: relative;
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
margin-top: 2.4rem;
|
margin-top: 2.4rem;
|
||||||
|
height: 20rem;
|
||||||
}
|
}
|
||||||
&[state="2"] {
|
&[state="2"] {
|
||||||
> * {
|
> * {
|
||||||
@@ -1015,6 +1017,9 @@ export default defineComponent({
|
|||||||
// margin-top: 4rem;
|
// margin-top: 4rem;
|
||||||
.email_last_step_bottom {
|
.email_last_step_bottom {
|
||||||
padding: 0 40px;
|
padding: 0 40px;
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
padding: 0 2rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.email_last_step_block {
|
.email_last_step_block {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
@@ -1028,6 +1033,10 @@ export default defineComponent({
|
|||||||
font-size: 2.2rem;
|
font-size: 2.2rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #030303;
|
color: #030303;
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
margin-left: .5rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.email_last_step_block_icon {
|
.email_last_step_block_icon {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -1229,6 +1238,9 @@ export default defineComponent({
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #000;
|
color: #000;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.email_last_step_des {
|
.email_last_step_des {
|
||||||
@@ -1237,16 +1249,25 @@ export default defineComponent({
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-top: 4rem;
|
margin-top: 4rem;
|
||||||
margin-bottom: 2rem;
|
margin-bottom: 2rem;
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
margin-top: 2rem;
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
.sent_email_content {
|
.sent_email_content {
|
||||||
font-size: 1.8rem;
|
font-size: 1.8rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #a5b0c2;
|
color: #a5b0c2;
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.email_tip_content {
|
.email_tip_content {
|
||||||
font-size: 1.4rem;
|
font-size: 1.4rem;
|
||||||
color: #030303;
|
color: #030303;
|
||||||
|
@media (max-width: 767px) {
|
||||||
|
font-size: 1.2rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -165,9 +165,22 @@ export default defineComponent({
|
|||||||
time = setTimeout(()=>{
|
time = setTimeout(()=>{
|
||||||
let canvasData = JSON.parse(canvasJSON)
|
let canvasData = JSON.parse(canvasJSON)
|
||||||
if(!canvasData)return
|
if(!canvasData)return
|
||||||
canvasData.canvas.objects.forEach((objectsItem:any) => {
|
function deepProcessObjects(data:any, callback:any) {
|
||||||
if(objectsItem.type == 'image')objectsItem.minioUrl = getMinioUrl(objectsItem.src)
|
if (!Array.isArray(data)) return data;
|
||||||
});
|
return data.map(item => {
|
||||||
|
callback(item)
|
||||||
|
const processedItem = {...item};
|
||||||
|
if (processedItem.objects &&
|
||||||
|
Array.isArray(processedItem.objects) &&
|
||||||
|
processedItem.objects.length > 0) {
|
||||||
|
processedItem.objects = deepProcessObjects(processedItem.objects, callback);
|
||||||
|
}
|
||||||
|
return processedItem;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
canvasData.canvas.objects = deepProcessObjects(canvasData.canvas.objects,(item:any)=>{
|
||||||
|
if(item.type == 'image')item.minioUrl = getMinioUrl(item.src)
|
||||||
|
})
|
||||||
let blob = new Blob([JSON.stringify(canvasData)], { type: "application/json" });
|
let blob = new Blob([JSON.stringify(canvasData)], { type: "application/json" });
|
||||||
let formData = new FormData();
|
let formData = new FormData();
|
||||||
formData.append("file", blob, "data.json");
|
formData.append("file", blob, "data.json");
|
||||||
|
|||||||
@@ -1814,6 +1814,8 @@ export default defineComponent({
|
|||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}else{
|
||||||
|
this.generateList[selectCodeStr] = this.generateList[selectCodeStr].filter((item: any) => item.imgUrl)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@@ -2420,6 +2422,7 @@ export default defineComponent({
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
position: absolute;
|
||||||
}
|
}
|
||||||
&:hover .img_item_hover{
|
&:hover .img_item_hover{
|
||||||
// display: block;
|
// display: block;
|
||||||
|
|||||||
@@ -8,15 +8,15 @@
|
|||||||
<!-- <div class="upgrade-content-text">System upgrading</div> -->
|
<!-- <div class="upgrade-content-text">System upgrading</div> -->
|
||||||
<div class="upgrade-content-text">System maintenance</div>
|
<div class="upgrade-content-text">System maintenance</div>
|
||||||
<!-- 没有截至时间 -->
|
<!-- 没有截至时间 -->
|
||||||
<div class="upgrade-content-textab">The AiDA system cannot be accessed temporarily due to system server maintenance. We apologize for any inconvenience this may cause and thank you for your understanding.</div>
|
<!-- <div class="upgrade-content-textab">The AiDA system cannot be accessed temporarily due to system server maintenance. We apologize for any inconvenience this may cause and thank you for your understanding.</div> -->
|
||||||
<!-- <div class="upgrade-content-textab">Due to the system server upgrade, we will start the upgrade from 9:30 am Hong Kong time on the weekend of October 20th until October 21st. During this time,<br> the AiDA system will be temporarily inaccessible. We apologize for any inconvenience this may cause and thank you for your understanding.</div> -->
|
<!-- <div class="upgrade-content-textab">Due to the system server upgrade, we will start the upgrade from 9:30 am Hong Kong time on the weekend of October 20th until October 21st. During this time,<br> the AiDA system will be temporarily inaccessible. We apologize for any inconvenience this may cause and thank you for your understanding.</div> -->
|
||||||
<!-- 有截至时间 -->
|
<!-- 有截至时间 -->
|
||||||
<!-- <div class="upgrade-content-textab">Due to system server upgrades, we will be upgrading from Tuesday, September 2 at 00:00 (HKT) to Wednesday, September 3 at 00:00. During this period, the AiDA system will be temporarily inaccessible. <br>We sincerely apologize for the inconvenience caused and thank you for your understanding</div> -->
|
<div class="upgrade-content-textab">Due to system server upgrades, maintenance will be carried out from 21:00 to 22:00 on December 19.<br>The AiDA system will be temporarily unavailable during this period. We sincerely apologize for any inconvenience caused and thank you for your understanding.</div>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<div class="upgrade-content-textab">由于系统服务器维护,AiDA系统暂时无法访问。对于由此造成的任何不便,我们深表歉意,并感谢您的理解</div>
|
<!-- <div class="upgrade-content-textab">由于系统服务器维护,AiDA系统暂时无法访问。对于由此造成的任何不便,我们深表歉意,并感谢您的理解</div> -->
|
||||||
<!-- <div class="upgrade-content-textab">由于系统服务器升级,我们将于9月2日(星期二)凌晨00:00(香港时间)至9月3日(星期三)凌晨00:00进行升级。<br>在此期间,AiDA系统将暂时无法访问。给您带来的不便,我们深表歉意,并感谢您的理解</div> -->
|
<div class="upgrade-content-textab">由于系统服务器升级,我们将于12月19日21:00 至12月19日22:00进行升级。<br>在此期间,AiDA系统将暂时无法访问。给您带来的不便,我们深表歉意,并感谢您的理解</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Reference in New Issue
Block a user