调整创建项目

This commit is contained in:
X1627315083
2025-05-22 14:26:40 +08:00
17 changed files with 50 additions and 31 deletions

View File

@@ -10,3 +10,4 @@ VUE_APP_BASE_URL = 'https://develop.api.aida.com.hk'
# 海波 # 海波
# VUE_APP_BASE_URL = 'http://192.168.1.3:5567' # VUE_APP_BASE_URL = 'http://192.168.1.3:5567'
ss

View File

@@ -196,7 +196,7 @@ export default defineComponent({
width:150, width:150,
}, },
{ {
title: 'Label Volmoney', title: 'Total Earnings',
align: "center", align: "center",
ellipsis: true, ellipsis: true,
dataIndex: "totalEarnings", dataIndex: "totalEarnings",

View File

@@ -119,9 +119,9 @@
</div> </div>
<div class="img_block_item centent" @click.stop="openCurrent(3)"> <div class="img_block_item centent" @click.stop="openCurrent(3)">
<div class="color_item"> <div class="color_item">
<div v-if="!current?.gradient" class="color_content" :style="{background:`rgba(${current?.color?.r},${current?.color?.g},${current?.color?.b},${current?.color?.a?current?.color.a:1})`}"></div> <div v-if="!current?.gradient" class="color_content" :style="{background:`rgba(${current?.color?.r?current?.color?.r:'255'},${current?.color?.g?current?.color?.g:'255'},${current?.color?.b?current?.color?.b:'255'},${current?.color?.a?current?.color.a:1})`}"></div>
<div class="color_content" v-else :style="{height:'10rem','background-image':current?.gradient?`linear-gradient(${current?.gradient.angle}deg,${setGradient(current?.gradient)}`:'none'}"></div> <div class="color_content" v-else :style="{height:'10rem','background-image':current?.gradient?`linear-gradient(${current?.gradient.angle}deg,${setGradient(current?.gradient)}`:'none'}"></div>
<div v-if="!current?.gradient" class="color_content_body"> <div v-if="!current?.gradient" class="color_content_body" :style="{'text-align':current?.color?.name?'left':'center'}">
<div class="color_des">{{current?.color?.tcx}}</div> <div class="color_des">{{current?.color?.tcx}}</div>
<div class="color_des">{{current?.color?.name}}</div> <div class="color_des">{{current?.color?.name}}</div>
</div> </div>
@@ -736,7 +736,7 @@ export default defineComponent({
for(let index = 0;index<designItemDetail.clothes.length;index++){ for(let index = 0;index<designItemDetail.clothes.length;index++){
let item = designItemDetail.clothes[index] let item = designItemDetail.clothes[index]
let clothesItem:any = { let clothesItem:any = {
color: `${item.color.r} ${item.color.g} ${item.color.b}`, color: item?.color?.r?`${item.color.r} ${item.color.g} ${item.color.b}`:null ,
id:item.id, id:item.id,
path:item.minIOPath, path:item.minIOPath,
gradient:{}, gradient:{},
@@ -1095,7 +1095,7 @@ export default defineComponent({
this.current.sketchString = '' this.current.sketchString = ''
this.currentIndex = this.currentIndex>0?this.currentIndex:0 this.currentIndex = this.currentIndex>0?this.currentIndex:0
data.designSingleItemDTOList[this.currentIndex] = { data.designSingleItemDTOList[this.currentIndex] = {
color:`${this.current.color.r} ${this.current.color.g} ${this.current.color.b}`, color:this.current?.color?.r?`${this.current.color.r} ${this.current.color.g} ${this.current.color.b}`:null,
id:this.current.id?this.current.id:'', id:this.current.id?this.current.id:'',
changed:this.current.changed?this.current.changed:false, changed:this.current.changed?this.current.changed:false,
designType:this.current.designType?this.current.designType:'Library', designType:this.current.designType?this.current.designType:'Library',

View File

@@ -228,8 +228,9 @@
</div> </div>
<div class="upload_color"> <div class="upload_color">
<div v-for="color,index in selectColorList" :key="color" @click="setUplpadColor(color)" class="upload_color_item"> <div v-for="color,index in selectColorList" :key="color" @click="setUplpadColor(color)" class="upload_color_item">
<div class="upload_color_item_bg" :style="{'background-color':`rgba(${color.rgba.r},${color.rgba.g},${color.rgba.b},${color.rgba.a})`}"> <div v-if="color.rgba?.r" class="upload_color_item_bg" :style="{'background-color':`rgba(${color.rgba.r},${color.rgba.g},${color.rgba.b},${color.rgba.a})`}">
</div> </div>
<div v-else class="upload_color_item_bg"></div>
<!-- <div class="upload_color_item_text">{{ pantongNameList[index] }}</div> --> <!-- <div class="upload_color_item_text">{{ pantongNameList[index] }}</div> -->
<img :title="pantongNameList[index]"> <img :title="pantongNameList[index]">
</div> </div>
@@ -606,14 +607,13 @@ export default defineComponent({
this.getLibraryList() this.getLibraryList()
}else{ }else{
let rgba = { let rgba = {
r:this.current.color.r+"", r:this.current.color?.r+"",
g:this.current.color.g+"", g:this.current.color?.g+"",
b:this.current.color.b+"", b:this.current.color?.b+"",
a:1 a:1
} }
let ind = 0 let ind = 0
this.store.state.UploadFilesModule.allBoardData?.colorBoards?.forEach((item,index) => { this.store.state.UploadFilesModule.allBoardData?.colorBoards?.forEach((item,index) => {
console.log(JSON.stringify(rgba) , JSON.stringify(item.rgbValue));
if(JSON.stringify(rgba) == JSON.stringify(item.rgbValue)){ if(JSON.stringify(rgba) == JSON.stringify(item.rgbValue)){
ind+=1 ind+=1
}else{ }else{

View File

@@ -54,7 +54,7 @@
<div v-if="!color?.gradient" class="color_content" :style="{'background-color':`rgba(${color.rgba?.r},${color.rgba?.g},${color.rgba?.b},${color.rgba?.a})`}"> <div v-if="!color?.gradient" class="color_content" :style="{'background-color':`rgba(${color.rgba?.r},${color.rgba?.g},${color.rgba?.b},${color.rgba?.a})`}">
</div> </div>
<div class="color_content" v-else :style="{height:'100%','background-image':color?.gradient?`linear-gradient(${color?.gradient.angle}deg,${setGradient(color?.gradient)}`:'none'}"></div> <div class="color_content" v-else :style="{height:'100%','background-image':color?.gradient?`linear-gradient(${color?.gradient.angle}deg,${setGradient(color?.gradient)}`:'none'}"></div>
<div v-if="!color?.gradient" class="color_content_body"> <div v-if="!color?.gradient" class="color_content_body" :style="{'text-align':color?.name?'left':'center'}">
<div class="color_des">{{color.tcx}}</div> <div class="color_des">{{color.tcx}}</div>
<div class="color_des">{{ color.name }}</div> <div class="color_des">{{ color.name }}</div>
</div> </div>

View File

@@ -80,7 +80,7 @@
:class="[key == 'disposeMoodboard'?'exportCanvasBox_item_dispose':'',imgItem?.upScaleChecked?'active':'']" :class="[key == 'disposeMoodboard'?'exportCanvasBox_item_dispose':'',imgItem?.upScaleChecked?'active':'']"
draggable draggable
@dragstart="onDragstart(key,imgItem)" @dragstart="onDragstart(key,imgItem)"
@click.stop="isMoible?setDragstart(key,imgItem):''" @click.stop="setDragstart(key,imgItem)"
> >
<div class="exportCanvasBox_img"> <div class="exportCanvasBox_img">
<img :src="key == 'likeDesignCollectionList'?imgItem?.designOutfitUrl:imgItem?.imgUrl" alt="" /> <img :src="key == 'likeDesignCollectionList'?imgItem?.designOutfitUrl:imgItem?.imgUrl" alt="" />
@@ -754,9 +754,11 @@ export default defineComponent({
} }
if(key == 'upImgFiles')imgWidth[key] = setImageWidth(key,img); if(key == 'upImgFiles')imgWidth[key] = setImageWidth(key,img);
let url = imgUrl.split('?')[0] // let url = imgUrl.split('?')[0]
var match = url.match(/^(?:https?:\/\/[^\/]+)\/(.*)/); // var match = url.match(/^(?:https?:\/\/[^\/]+)\/(.*)/);
minioUrl = match[1] const { pathname } = new URL(imgUrl);
const result = pathname.slice(1);
minioUrl = result
// let id = // let id =
let proportion = img.height / img.width; //计算图形宽高比例 let proportion = img.height / img.width; //计算图形宽高比例
// let imgWidth = setImageWidth(key) // let imgWidth = setImageWidth(key)

View File

@@ -35,7 +35,7 @@
<div v-show="exportNav[2].change" class="img_block_item"> <div v-show="exportNav[2].change" class="img_block_item">
<div class="color_item" v-for="(color) in allBoardData.colorBoards" :key="color"> <div class="color_item" v-for="(color) in allBoardData.colorBoards" :key="color">
<div class="color_content" :style="{background:`rgb(${color?.rgbValue?.r},${color?.rgbValue?.g},${color?.rgbValue?.b})`}"></div> <div class="color_content" :style="{background:`rgb(${color?.rgbValue?.r},${color?.rgbValue?.g},${color?.rgbValue?.b})`}"></div>
<div class="color_content_body"> <div class="color_content_body" :style="{'text-align':color?.name?'left':'center'}">
<div class="color_des">{{color.tcx}}</div> <div class="color_des">{{color.tcx}}</div>
<div class="color_des">{{color.name}}</div> <div class="color_des">{{color.name}}</div>
</div> </div>

View File

@@ -37,7 +37,7 @@
<div class="color_item" v-for="(color) in allBoardData?.colorBoards" :key="color"> <div class="color_item" v-for="(color) in allBoardData?.colorBoards" :key="color">
<div class="color_content" v-if="!color?.gradient" :style="{background:`rgb(${color?.rgbValue?.r},${color?.rgbValue?.g},${color?.rgbValue?.b},${color?.rgbValue?.a})`}"></div> <div class="color_content" v-if="!color?.gradient" :style="{background:`rgb(${color?.rgbValue?.r},${color?.rgbValue?.g},${color?.rgbValue?.b},${color?.rgbValue?.a})`}"></div>
<div class="color_content" v-else :style="{height:'11rem','background-image':color?.gradient?`linear-gradient(${color?.gradient.angle}deg,${setGradient(color?.gradient)}`:'none'}"></div> <div class="color_content" v-else :style="{height:'11rem','background-image':color?.gradient?`linear-gradient(${color?.gradient.angle}deg,${setGradient(color?.gradient)}`:'none'}"></div>
<div class="color_content_body" v-if="!color?.gradient"> <div class="color_content_body" v-if="!color?.gradient" :style="{'text-align':color?.name?'left':'center'}">
<div class="color_des">{{color.tcx}}</div> <div class="color_des">{{color.tcx}}</div>
<div class="color_des">{{color.name}}</div> <div class="color_des">{{color.name}}</div>
</div> </div>

View File

@@ -1,10 +1,8 @@
<template> <template>
<div ref="scaleImageModal">
<a-modal <a-modal
class="scaleImage_modal generalModel" class="scaleImage_modal generalModel"
v-model:visible="scaleImage" v-model:visible="scaleImage"
:footer="null" :footer="null"
:get-container="() => $refs.scaleImageModal"
width="78%" width="78%"
:maskClosable="false" :maskClosable="false"
:centered="true" :centered="true"
@@ -139,7 +137,6 @@
<UpgradePlan ref="UpgradePlan"></UpgradePlan> <UpgradePlan ref="UpgradePlan"></UpgradePlan>
</a-modal> </a-modal>
</div>
</template> </template>
<script lang="ts"> <script lang="ts">
@@ -293,8 +290,10 @@ export default defineComponent({
let isEnd = false let isEnd = false
if(rv[0].status == 'Success'){ if(rv[0].status == 'Success'){
rv[0].imgUrl = rv[0].url rv[0].imgUrl = rv[0].url
rv[0].resultType = scaleImageList.value[scaleImageIndex.value]?.resultType
scaleImageList.value[scaleImageIndex.value] = rv[0] scaleImageList.value[scaleImageIndex.value] = rv[0]
isEnd = true isEnd = true
clearInterval(remPrductimgTime)
}else if(rv[0].status == 'Fail'){ }else if(rv[0].status == 'Fail'){
isEnd = true isEnd = true
} }
@@ -511,12 +510,12 @@ export default defineComponent({
}, },
}); });
</script> </script>
<style scoped> <style>
.scaleImage_modal{ .scaleImage_modal{
overflow: visible !important; overflow: visible !important;
} }
</style> </style>
<style lang="less" scoped> <style lang="less">
.scaleImage_modal { .scaleImage_modal {
.ant-modal-body { .ant-modal-body {
display: flex; display: flex;

View File

@@ -49,11 +49,11 @@
<!-- <textarea @input="textareaChange()" ref="textarea" v-model="subPublishDate.portfolioDes"></textarea> --> <!-- <textarea @input="textareaChange()" ref="textarea" v-model="subPublishDate.portfolioDes"></textarea> -->
<textarea ref="textarea" v-model="subPublishDate.portfolioDes"></textarea> <textarea ref="textarea" v-model="subPublishDate.portfolioDes"></textarea>
</div> </div>
<div class="publidh_content_item_tagList"> <!-- <div class="publidh_content_item_tagList">
<div v-for="item,index in tagList" @click="pushTag(item,index)"> <div v-for="item,index in tagList" @click="pushTag(item,index)">
<a-tag color="purple" :title="item.title">{{ item.tagName }}</a-tag> <a-tag color="purple" :title="item.title">{{ item.tagName }}</a-tag>
</div> </div>
</div> </div> -->
<div class="publidh_right_detail publidh_content_item"> <div class="publidh_right_detail publidh_content_item">
<div class="publidh_content_item_title">{{$t('Publish.Permissions')}}</div> <div class="publidh_content_item_title">{{$t('Publish.Permissions')}}</div>
<div> <div>

View File

@@ -295,9 +295,12 @@ export default defineComponent({
imgWidth[key] = setImageWidth(key,img); imgWidth[key] = setImageWidth(key,img);
} }
let url = imgUrl.split('?')[0] // let url = imgUrl.split('?')[0]
var match = url.match(/^(?:https?:\/\/[^\/]+)\/(.*)/); // var match = url.match(/^(?:https?:\/\/[^\/]+)\/(.*)/);
minioUrl = match[1] // minioUrl = match[1]
const { pathname } = new URL(imgUrl);
const result = pathname.slice(1);
minioUrl = result
// let id = // let id =
let proportion = img.height / img.width; //计算图形宽高比例 let proportion = img.height / img.width; //计算图形宽高比例
let scaleWH = imgWidth[key] / img.width; //计算放到画布上缩小倍率 let scaleWH = imgWidth[key] / img.width; //计算放到画布上缩小倍率

View File

@@ -705,6 +705,7 @@ export default {
HKDMonth:'HKD / 月', HKDMonth:'HKD / 月',
HKDYear:'HKD / 年', HKDYear:'HKD / 年',
automatically:'是否自动续费', automatically:'是否自动续费',
activity1:'限时优惠,仅限今日!',
}, },
cancelRenewal:{ cancelRenewal:{
cancelling:'您取消AiDA的原因是什么', cancelling:'您取消AiDA的原因是什么',

View File

@@ -705,6 +705,7 @@ export default {
HKDMonth:'HKD / Month', HKDMonth:'HKD / Month',
HKDYear:'HKD / Year', HKDYear:'HKD / Year',
automatically:'Whether to renew automatically', automatically:'Whether to renew automatically',
activity1:'Limited time offer, today only!',
}, },
cancelRenewal:{ cancelRenewal:{
cancelling:'What is your reason for cancelling AiDA?', cancelling:'What is your reason for cancelling AiDA?',

View File

@@ -96,6 +96,9 @@ class myCanvas {
this.canvas.on("object:modified", ()=>{ this.canvas.on("object:modified", ()=>{
this.updateCanvasState('') this.updateCanvasState('')
}); });
this.canvas.on("mouse:up",()=>{
if(this.canvas.freeDrawingBrush.isEraser)this.updateCanvasState()
});
this.canvasKeyDown = this.canvasKeyDown.bind(this); this.canvasKeyDown = this.canvasKeyDown.bind(this);
this.canvasKeyUp = this.canvasKeyUp.bind(this); this.canvasKeyUp = this.canvasKeyUp.bind(this);

View File

@@ -1295,6 +1295,14 @@ class MyCanvas {
imgUrl = data.designOutfitUrl; imgUrl = data.designOutfitUrl;
} }
let imgWidth = await this.setImageWidth(key,img); let imgWidth = await this.setImageWidth(key,img);
if(imgUrl?.split('?')){
// let url = imgUrl.split('?')[0]
// var match = url.match(/^(?:https?:\/\/[^\/]+)\/(.*)/);
// minioUrl = match[1]
const { pathname } = new URL(imgUrl);
const result = pathname.slice(1);
minioUrl = result
}
let proportion = img.height / img.width; //计算图形宽高比例 let proportion = img.height / img.width; //计算图形宽高比例
let scaleWH = imgWidth / img.width; //计算放到画布上缩小倍率 let scaleWH = imgWidth / img.width; //计算放到画布上缩小倍率
let scale = { let scale = {

View File

@@ -5,7 +5,7 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent, h, ref, computed, reactive, toRefs, inject,provide,nextTick,createVNode,onBeforeUnmount, toRef} from "vue"; import { defineComponent, h, ref, computed, reactive, toRefs, inject,provide,nextTick,createVNode,onBeforeUnmount, toRef, watch} from "vue";
// import { ExclamationCircleOutlined } from '@ant-design/icons-vue'; // import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import CollectionModal from "@/component/HomePage/collectionModal.vue"; import CollectionModal from "@/component/HomePage/collectionModal.vue";
import NewCollectionReview from "@/component/HomePage/NewCollectionReview.vue"; import NewCollectionReview from "@/component/HomePage/NewCollectionReview.vue";

View File

@@ -8,14 +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">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, February 4 at 9:30am (HKT) to Thursday, February 6. 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, we will be upgrading from Tuesday, February 4 at 9:30am (HKT) to Thursday, February 6. 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> -->
<br> <br>
<br> <br>
<br> <br>
<div class="upgrade-content-textab">由于系统服务器升级我们将于2月4日星期二上午9:30香港时间至2月6日星期四进行升级<br>在此期间AiDA系统暂时无法访问给您带来的不便我们深表歉意并感谢您的理解</div> <div class="upgrade-content-textab">由于系统服务器维护AiDA系统暂时无法访问对于由此造成的任何不便我们深表歉意并感谢您的理解</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">由于系统服务器升级我们将于2月4日星期二上午9:30香港时间至2月6日星期四进行升级<br>在此期间AiDA系统将暂时无法访问给您带来的不便我们深表歉意并感谢您的理解</div> -->
</div> </div>
</div> </div>
</template> </template>