detail调整

This commit is contained in:
X1627315083
2024-07-08 09:42:21 +08:00
parent 3fd6343e53
commit b6cb8e9bf0
22 changed files with 276 additions and 157 deletions

View File

@@ -7,6 +7,6 @@ VUE_APP_BASE_URL = 'https://develop.api.aida.com.hk'
# VUE_APP_BASE_URL = 'http://192.168.1.9:17088'
# VUE_APP_BASE_URL = 'http://192.168.1.9:5567'
# 佩佩
# VUE_APP_BASE_URL = 'http://192.168.1.7:5567'
VUE_APP_BASE_URL = 'http://192.168.1.7:5567'
# 海波
VUE_APP_BASE_URL = 'http://192.168.1.9:5567'
# VUE_APP_BASE_URL = 'http://192.168.1.9:5567'

View File

@@ -127,9 +127,6 @@
<i class="fi fi-rr-edit" @click.stop="openCurrent(4)"></i>
</div>
<div class="Guide_1_20 clothes_item_icon" :class="[driver__.driver?'showEvents':'']">
<!-- <div class="centent_div" v-if="current?.printObject?.prints?.[0]?.path" @click="openCurrent(2)">
<img :src="current?.printObject?.prints[0]?.path" alt="">
</div> -->
<div class="centent_div centent_print" v-if="exhibitionList.elements && exhibitionList.elements.length > 1" @click="openCurrent(4)">
<img v-for="item in exhibitionList.elements" :key="item.id" :src="item.path" alt="">
</div>
@@ -744,7 +741,6 @@ export default defineComponent({
offset:item.layersObject?.[1]?.offset == null?[0,0]:item.layersObject[1].offset,
scale:item.layersObject?.[1]?.scale?item.layersObject[1].scale:[1,1],
printObject:{
ifSingle:item.printObject.ifSingle == null ? false : item.printObject.ifSingle,
// path:item.printObject.path?item.printObject.path :'',
prints:item?.printObject?.prints[0]?.minIOPath?item?.printObject?.prints:[]
},
@@ -1022,7 +1018,6 @@ export default defineComponent({
"prints":null,
},
"printObject": {
"ifSingle": null,
"prints": [
]
},
@@ -1094,7 +1089,6 @@ export default defineComponent({
scale:this.current.layersObject?.[1]?.scale?this.current.layersObject[1].scale:[1,1],
sketchString:'',
printObject:{
ifSingle:this.current?.printObject?.ifSingle == null ? false : this.current?.printObject?.ifSingle,
// prints:this.current?.printObject[0]?.path == null ? [] : [{
// location:[0,0],
// angle:0,

View File

@@ -605,7 +605,7 @@ export default defineComponent({
this.clothesList = []
this.getLibraryList()
}
this.store.state.UploadFilesModule.allBoardData.colorBoards.forEach((item,index) => {
this.store.state.UploadFilesModule.allBoardData?.colorBoards?.forEach((item,index) => {
this.colorList[index+1] = {
gradient:item.gradient,
rgba:item.rgbValue,
@@ -732,7 +732,6 @@ export default defineComponent({
},
selectImgItem(imgData){
let DesignDetailEnd = this.$refs.DesignDetailEnd
console.log(imgData);
imgData.categoryValue = imgData.categoryValue?imgData.categoryValue:imgData.level2TypeEnum.name
imgData.category = imgData.category?imgData.category:imgData.level2TypeEnum.value
if(this.selectCode == 'Sketchboard'){

View File

@@ -24,13 +24,12 @@
<!-- <div class="modal_img_item" v-for="item,index in current.printObject.prints" :key="item" > -->
<img v-lazy="item.path" alt="">
<sketchCategory :disignTypeList="designTypeList" :generateList="exhibitionList.print" :item="item" :isSpread="true" :isSetSketchCategory="true"></sketchCategory>
<div
<!-- <div
class="delete_file_block"
v-if="current.printObject.ifSingle"
@click="deleteSelectptints(item,index)"
>
<span class="icon iconfont icon-shanchu"></span>
</div>
</div> -->
</div>
<div class="modal_img_item" v-for="item,index in printsList" :key="item" >
<img v-lazy="item.path" alt="">
@@ -388,7 +387,6 @@ export default defineComponent({
data.designSingleItemDTOList[index].path =this.sketchImg.minIOPath? this.sketchImg.minIOPath: this.current.minIOPath
data.designSingleItemDTOList[index].type =this.sketchImg.type? this.sketchImg.type: this.current.type
}else if(this.type_ == 2){
data.designSingleItemDTOList[index].printObject.ifSingle = false
data.designSingleItemDTOList[index].printObject.prints = []
}else if(this.type_ == 3){
if(this.colorList[this.selectIndex]?.rgba?.r == undefined){

View File

@@ -96,10 +96,7 @@
<img crossOrigin="anonymous" :src="item?.path" :style="{transform:`rotateZ(${printStyleList[stateOverallSingle][index]?.transform?.rotateZ}deg)`}" class="designOpenrtion_imgItme" draggable="false">
</div>
</div>
<!-- <img v-if="overallSingle" :src="current?.layersObject?.[1]?.maskUrl" alt="" class="designOpenrtion_sketch"> -->
<!-- {{printStyleList[stateOverallSingle][0]}} -->
<img :src="current?.path" alt="" class="designOpenrtion_sketch">
<img v-show="overallSingle" :src="current?.layersObject?.[1]?.maskUrl" alt="" class="designOpenrtion_sketch_mask">
<img v-lazy="operationCurrent.undividedLayer || operationCurrent.path" alt="" class="designOpenrtion_sketch">
<div class="designOpenrtion_btn">
<ul v-if="overallSingle" v-for="item,index in printStyleList[stateOverallSingle]" :key="item" :class="{active:item?.designOpenrtionBtn?item?.designOpenrtionBtn:false}" class="designOpenrtion_Mousingle" :style="item.style" @mousedown.stop="itemMoveMousedown(index,$event)">
<li class="designOpenrtion_btn_top" @mousedown.stop="itemSizeMousedown('top',$event)"></li>
@@ -199,6 +196,9 @@ export default defineComponent({
let sketch = ref({
width:'',
height:''
})
let operationCurrent = ref({
})
let loadingShow = ref(false)
let currentFullBodyView = ref('')
@@ -224,6 +224,7 @@ export default defineComponent({
imgDomIndex,
print,
sketch,
operationCurrent,
loadingShow,
setRevocation,
t,
@@ -295,11 +296,14 @@ export default defineComponent({
if(designItemDetail.others.length == 0){
this.body = true
}
//设置前片后片
this.operationCurrent = Object.assign({},this.current)
this.designOpenrtion = true
this.clearModal()
this.overallSingle = this.current.printObject.ifSingle?true:false
this.ifListOver()
if(this.current.printObject.prints)this.exhibitionOpenrtionList[this.stateOverallSingle] = JSON.parse(JSON.stringify(this.current.printObject.prints))
let printList = JSON.parse(JSON.stringify(this.current.printObject.prints))
this.setprintList(printList)
if(this.$parent.exhibitionList.print)this.designOpenrtionList = JSON.parse(JSON.stringify(this.$parent.exhibitionList.print))
if(this.$parent.elementsList)this.designList = JSON.parse(JSON.stringify(this.$parent.printsList))
if(this.overallSingle == false && this.designOpenrtionList.length > 0){
@@ -307,7 +311,6 @@ export default defineComponent({
}else if(this.overallSingle == false && this.designOpenrtionList.length == 0){
this.setpitch(this.designList[0],0)
}
// this.overallSingle = this.current.ifSingle?false:this.current.ifSingle
let skecth = new Image
skecth.src = this.current.path
skecth.onload=()=>{
@@ -315,14 +318,29 @@ export default defineComponent({
this.sketch.height = skecth.height/10+'rem'
skecth.remove()
}
if(this.exhibitionOpenrtionList[this.stateOverallSingle].length > 0){
this.exhibitionOpenrtionList[this.stateOverallSingle].forEach((item,index)=>{
this.setTemplate(item,index)
if(this.exhibitionOpenrtionList.overall.length > 0){
let str = 'overall'
this.exhibitionOpenrtionList[str].forEach((item,index)=>{
this.setTemplate(item,index,str)
})
}
if(this.exhibitionOpenrtionList.single.length > 0){
let str = 'single'
this.exhibitionOpenrtionList[str].forEach((item,index)=>{
this.setTemplate(item,index,str)
})
}else{
}
},
setprintList(arr){
arr.forEach(item=>{
if(item.ifSingle){
this.exhibitionOpenrtionList.single.push(item)
}else{
this.exhibitionOpenrtionList.overall.push(item)
}
})
},
ifListOver(){
if(!this.overallSingle){
// this.designOpenrtionList = this.designOpenrtionList.filter((item)=>item.level2Type == "Pattern")
@@ -367,6 +385,7 @@ export default defineComponent({
})
if(!this.overallSingle){
if(item.checked){
this.imgDomIndex = 0
this.deletePrint()
item.checked = false
return
@@ -389,7 +408,8 @@ export default defineComponent({
path:item.path,
priority:1,
scale:.3,
location:[0,0]
location:[0,0],
ifSingle:false,
}
this.systemDesignerPercentage = item.scale?item.scale*100:30
}else{
@@ -403,9 +423,10 @@ export default defineComponent({
path:item.path,
priority:1,
scale:1,
location:[0,0]
location:[0,0],
ifSingle:true,
})
this.refetchTemplate(currentIndex,false)
this.refetchTemplate(currentIndex,true)
}
},
//设置移动
@@ -555,34 +576,41 @@ export default defineComponent({
},
//随机重置图片顺序
refetchTemplate(index,boor) {
// let scale = (Math.trunc(Math.random()*15)+1)*.1
let rotateZ1 = Math.trunc(Math.random()*360)+1
let rotateZ2 = Math.trunc(Math.random()*360)+1
let sketch = document.getElementsByClassName("designOpenrtion_modal")[0]?.getElementsByClassName('designOpenrtion_sketch')[0]
let width
let scale
if(sketch.width<sketch.height){
width = Math.trunc(Math.random()*(sketch?.width-sketch?.width/2))+sketch?.width/4
if(boor){
width = Math.trunc((sketch?.width-sketch?.width/2))+sketch?.width/4
}
scale = width / this.print.width.replace(/px/g,'')
}else{
width = Math.trunc(Math.random()*(sketch?.height-sketch?.height/2))+sketch?.height/4
if(boor){
width = Math.trunc((sketch?.height-sketch?.height/2))+sketch?.height/4
}
scale = width / this.print.height.replace(/px/g,'')
}
// let x = sketch.width-Number(this.print.width.replace(/px/g,''))
// let y = sketch.height-Number(this.print.height.replace(/px/g,''))
let x = sketch?.width - this.print.width.replace(/px/g,'')*scale
if(!this.overallSingle){
x = sketch?.width - this.print.width.replace(/px/g,'')*scale/2
}
let y = sketch?.height-this.print.height.replace(/px/g,'')*scale
let left = sketch.offsetWidth/2-this.print.width.replace(/px/g,'')*scale/2
let top = sketch.offsetHeight/2-this.print.height.replace(/px/g,'')*scale/2
if(this.stateOverallSingle == 'overall'){
left = sketch.offsetWidth/2-5
top = sketch.offsetHeight/2-5
}
this.printStyleList[this.stateOverallSingle][index]={
centers:{
left:0,
top:0,
},
style:{
left:(boor?sketch.offsetWidth/2:Math.trunc(Math.random()*x)+1)+"px",
top:(boor?sketch.offsetHeight/2:Math.trunc(Math.random()*y)+1)+"px",
left:(boor?left:Math.trunc(Math.random()*x)+1)+"px",
top:(boor?top:Math.trunc(Math.random()*y)+1)+"px",
right:"auto",
bottom:"auto",
width:this.print.width.replace(/px/g,'')*scale+'px',
@@ -598,7 +626,7 @@ export default defineComponent({
}
},
//设置图片
async setTemplate(item,index) {
async setTemplate(item,index,str) {
await this.setPrintWH(item.path)
this.designOpenrtionList
let sketch = document.getElementsByClassName("designOpenrtion_modal")[0]?.getElementsByClassName('designOpenrtion_sketch')[0]
@@ -614,7 +642,8 @@ export default defineComponent({
if(sketch.offsetHeight < item.location[1]/sketchNum){
top = sketch.offsetHeight +'px'
}
this.printStyleList[this.stateOverallSingle][index]={
this.systemDesignerPercentage = item.scale?item.scale*100:30
this.printStyleList[str][index]={
centers:{
left:0,
top:0,
@@ -635,25 +664,34 @@ export default defineComponent({
designOpenrtionBtn:false
}
},
computeZindex(){
let arr = JSON.parse(JSON.stringify(this.printStyleList[this.stateOverallSingle]))
arr.sort((a, b) => {
var a_num = a["style"].zIndex;
var b_num = b["style"].zIndex;
computeZindex(resolve,prints){
prints.sort((a, b) => {
var a_num = a.priority;
var b_num = b.priority;
return a_num - b_num;
});
let num = 1
arr.forEach((v)=>{
v.style.zIndex = num++
prints.forEach((v)=>{
v.priority = num++
})
return this.computeSize(arr)//计算单件衣服初始大小到目前大小的缩放比
resolve(prints)
},
computeSize(arr){
computeSize(){
return new Promise(async (resolve, reject) => {
let arr = JSON.parse(JSON.stringify(this.printStyleList[this.stateOverallSingle]))
// let num = this.sketch/
let sketch = document.getElementsByClassName("designOpenrtion_sketch")[0]
let sketchNum = this.sketch.width.replace(/rem/g,'')*10/sketch.offsetWidth
let prints = []
prints = this.operationCurrent.printObject.prints.filter(item=>!!!item.ifSingle)
if(this.stateOverallSingle == 'overall'){
prints = this.operationCurrent.printObject.prints.filter(item=>!!item.ifSingle)
}else{
prints = this.operationCurrent.printObject.prints.filter(item=>!!!item.ifSingle)
}
let scale
let location
for (let index = 0; index < arr.length; index++) {
@@ -676,10 +714,11 @@ export default defineComponent({
level2Type:this.exhibitionOpenrtionList[this.stateOverallSingle][index].level2Type,
path:this.exhibitionOpenrtionList[this.stateOverallSingle][index].path,
minIOPath:this.exhibitionOpenrtionList[this.stateOverallSingle][index].minIOPath,
ifSingle:!!this.exhibitionOpenrtionList[this.stateOverallSingle][index].ifSingle,
}
prints.push(obj)
}
resolve(prints)
this.computeZindex(resolve,prints)
})
},
async setPreview(){
@@ -699,7 +738,7 @@ export default defineComponent({
// timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
// }
let data = JSON.parse(JSON.stringify(this.store.state.DesignDetailModule.designPreviewData))
await this.computeZindex().then((rv)=>{
await this.computeSize().then((rv)=>{
this.setOkData = rv
})
data.designSingleItemDTOList[index].printObject={
@@ -710,6 +749,8 @@ export default defineComponent({
this.loadingShow = true
Https.axiosPost(Https.httpUrls.designSingle, data).then(
(rv) => {
this.operationCurrent = Object.assign({},rv.clothes[index])
// designItemDetail.clothes[index].printObject.path = rv.clothes[0].printObject.path
this.currentFullBodyView = rv.currentFullBodyView
this.designItemDetailTS.rv = rv
@@ -1003,7 +1044,8 @@ export default defineComponent({
max-width: calc(60rem*1.2);
}
.designOpenrtion_sketch_mask{
z-index: 3;
z-index: 2;
// z-index: 3;
position: absolute;
inset: 0;
width: 100%;
@@ -1058,10 +1100,12 @@ export default defineComponent({
border: none;
width: calc(1.4rem*1.2);
height: calc(1.4rem*1.2);
z-index: 2;
i{
display: flex;
color: #14bcff;
justify-content: center;
cursor: pointer;
}
.animtion1{
animation: anim 4s 2s linear infinite;

View File

@@ -98,9 +98,7 @@
<img crossOrigin="anonymous" :src="item?.path" :style="{transform:`rotateZ(${printStyleList[index]?.transform?.rotateZ}deg)`}" class="designOpenrtionMobile_imgItme" draggable="false">
</div>
</div>
<!-- <img v-if="overallSingle" :src="current?.layersObject?.[1]?.maskUrl" alt="" class="designOpenrtionMobile_sketch"> -->
<img :src="current?.path" alt="" class="designOpenrtionMobile_sketch">
<img v-show="overallSingle" :src="current?.layersObject?.[1]?.maskUrl" alt="" class="designOpenrtionMobile_sketch_mask">
<img v-lazy="operationCurrent.undividedLayer || operationCurrent.path" alt="" class="designOpenrtion_sketch">
<div class="designOpenrtionMobile_btn">
<ul v-if="overallSingle" v-for="item,index in printStyleList[stateOverallSingle]" :key="item" :class="{active:item?.designOpenrtionBtn?item?.designOpenrtionBtn:false}" class="designOpenrtionMobile_Mousingle" :style="item.style" @touchstart.stop="itemMoveMousedown(index,$event)">
<li class="designOpenrtionMobile_btn_top" @touchstart.stop="itemSizeMousedown('top',$event)"></li>
@@ -199,6 +197,9 @@ export default defineComponent({
let sketch = ref({
width:'',
height:''
})
let operationCurrent = ref({
})
let loadingShow = ref(false)
let currentFullBodyView = ref('')
@@ -223,6 +224,7 @@ export default defineComponent({
imgDomIndex,
print,
sketch,
operationCurrent,
loadingShow,
setRevocation,
t,
@@ -295,11 +297,14 @@ export default defineComponent({
if(designItemDetail.others.length == 0){
this.body = true
}
//设置前片后片
this.operationCurrent = Object.assign({},this.current)
this.designOpenrtion = true
this.clearModal()
this.overallSingle = this.current.printObject.ifSingle?true:false
this.ifListOver()
if(this.current.printObject.prints)this.exhibitionOpenrtionList[this.stateOverallSingle] = JSON.parse(JSON.stringify(this.current.printObject.prints))
let printList = JSON.parse(JSON.stringify(this.current.printObject.prints))
this.setprintList(printList)
if(this.$parent.exhibitionList.print)this.designOpenrtionList = JSON.parse(JSON.stringify(this.$parent.exhibitionList.print))
if(this.$parent.elementsList)this.designList = JSON.parse(JSON.stringify(this.$parent.printsList))
if(this.overallSingle == false && this.designOpenrtionList.length > 0){
@@ -314,12 +319,27 @@ export default defineComponent({
this.sketch.height = skecth.height/10+'rem'
skecth.remove()
}
if(this.exhibitionOpenrtionList[this.stateOverallSingle].length > 0){
this.exhibitionOpenrtionList[this.stateOverallSingle].forEach((item,index)=>{
this.setTemplate(item,index)
if(this.exhibitionOpenrtionList.overall.length > 0){
let str = 'overall'
this.exhibitionOpenrtionList[str].forEach((item,index)=>{
this.setTemplate(item,index,str)
})
}else{
}
if(this.exhibitionOpenrtionList.single.length > 0){
let str = 'single'
this.exhibitionOpenrtionList[str].forEach((item,index)=>{
this.setTemplate(item,index,str)
})
}
},
setprintList(arr){
arr.forEach(item=>{
if(item.ifSingle){
this.exhibitionOpenrtionList.single.push(item)
}else{
this.exhibitionOpenrtionList.overall.push(item)
}
})
},
ifListOver(){
if(!this.overallSingle){
@@ -366,6 +386,7 @@ export default defineComponent({
})
if(!this.overallSingle){
if(item.checked){
this.imgDomIndex = 0
this.deletePrint()
item.checked = false
return
@@ -388,7 +409,8 @@ export default defineComponent({
path:item.path,
priority:1,
scale:.3,
location:[0,0]
location:[0,0],
ifSingle:false,
}
this.systemDesignerPercentage = item.scale?item.scale*100:30
}else{
@@ -402,7 +424,8 @@ export default defineComponent({
path:item.path,
priority:1,
scale:1,
location:[0,0]
location:[0,0],
ifSingle:true,
})
this.refetchTemplate(currentIndex,false)
}
@@ -563,26 +586,36 @@ export default defineComponent({
let scale
if(sketch.width<sketch.height){
width = Math.trunc(Math.random()*(sketch?.width-sketch?.width/2))+sketch?.width/4
if(boor){
width = Math.trunc((sketch?.width-sketch?.width/2))+sketch?.width/4
}
scale = width / this.print.width.replace(/px/g,'')
}else{
width = Math.trunc(Math.random()*(sketch?.height-sketch?.height/2))+sketch?.height/4
if(boor){
width = Math.trunc((sketch?.height-sketch?.height/2))+sketch?.height/4
}
scale = width / this.print.height.replace(/px/g,'')
}
// let x = sketch.width-Number(this.print.width.replace(/px/g,''))
// let y = sketch.height-Number(this.print.height.replace(/px/g,''))
let x = sketch?.width - this.print.width.replace(/px/g,'')*scale
if(!this.overallSingle){
x = sketch?.width - this.print.width.replace(/px/g,'')*scale/2
}
let y = sketch?.height-this.print.height.replace(/px/g,'')*scale
let left = sketch.offsetWidth/2-this.print.width.replace(/px/g,'')*scale/2
let top = sketch.offsetHeight/2-this.print.height.replace(/px/g,'')*scale/2
if(this.stateOverallSingle == 'overall'){
left = sketch.offsetWidth/2-5
top = sketch.offsetHeight/2-5
}
this.printStyleList[this.stateOverallSingle][index]={
centers:{
left:0,
top:0,
},
style:{
left:(boor?sketch.offsetWidth/2:Math.trunc(Math.random()*x)+1)+"px",
top:(boor?sketch.offsetHeight/2:Math.trunc(Math.random()*y)+1)+"px",
left:(boor?left:Math.trunc(Math.random()*x)+1)+"px",
top:(boor?top:Math.trunc(Math.random()*y)+1)+"px",
right:"auto",
bottom:"auto",
width:this.print.width.replace(/px/g,'')*scale+'px',
@@ -598,7 +631,7 @@ export default defineComponent({
}
},
//设置图片
async setTemplate(item,index) {
async setTemplate(item,index,str) {
await this.setPrintWH(item.path)
this.designOpenrtionList
let sketch = document.getElementsByClassName("designOpenrtionMobile_modal")[0]?.getElementsByClassName('designOpenrtionMobile_sketch')[0]
@@ -614,7 +647,8 @@ export default defineComponent({
if(sketch.offsetHeight < item.location[1]/sketchNum){
top = sketch.offsetHeight +'px'
}
this.printStyleList[this.stateOverallSingle][index]={
this.systemDesignerPercentage = item.scale?item.scale*100:30
this.printStyleList[str][index]={
centers:{
left:0,
top:0,
@@ -635,26 +669,34 @@ export default defineComponent({
designOpenrtionBtn:false
}
},
computeZindex(){
let arr = JSON.parse(JSON.stringify(this.printStyleList[this.stateOverallSingle]))
arr.sort((a, b) => {
var a_num = a["style"].zIndex;
var b_num = b["style"].zIndex;
computeZindex(resolve,prints){
prints.sort((a, b) => {
var a_num = a.priority;
var b_num = b.priority;
return a_num - b_num;
});
let num = 1
arr.forEach((v)=>{
v.style.zIndex = num++
prints.forEach((v)=>{
v.priority = num++
})
return this.computeSize(arr)//计算单件衣服初始大小到目前大小的缩放比
resolve(prints)
},
computeSize(arr){
// let num = this.sketch/
return new Promise(async (resolve, reject) => {
let arr = JSON.parse(JSON.stringify(this.printStyleList[this.stateOverallSingle]))
let sketch = document.getElementsByClassName("designOpenrtionMobile_sketch")[0]
let sketchNum = this.sketch.width.replace(/rem/g,'')*10/sketch.offsetWidth
let scale
let prints = []
prints = this.operationCurrent.printObject.prints.filter(item=>!!!item.ifSingle)
if(this.stateOverallSingle == 'overall'){
prints = this.operationCurrent.printObject.prints.filter(item=>!!item.ifSingle)
}else{
prints = this.operationCurrent.printObject.prints.filter(item=>!!!item.ifSingle)
}
let scale
let location
for (let index = 0; index < arr.length; index++) {
if(!this.overallSingle){
@@ -676,10 +718,11 @@ export default defineComponent({
level2Type:this.exhibitionOpenrtionList[this.stateOverallSingle][index].level2Type,
path:this.exhibitionOpenrtionList[this.stateOverallSingle][index].path,
minIOPath:this.exhibitionOpenrtionList[this.stateOverallSingle][index].minIOPath,
ifSingle:!!this.exhibitionOpenrtionList[this.stateOverallSingle][index].ifSingle,
}
prints.push(obj)
}
resolve(prints)
this.computeZindex(resolve,prints)
})
},
async setPreview(){
@@ -699,7 +742,7 @@ export default defineComponent({
// timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
// }
let data = this.store.state.DesignDetailModule.designPreviewData
await this.computeZindex().then((rv)=>{
await this.computeSize().then((rv)=>{
this.setOkData = rv
})
data.designSingleItemDTOList[index].printObject={
@@ -710,6 +753,7 @@ export default defineComponent({
this.loadingShow = true
Https.axiosPost(Https.httpUrls.designSingle, data).then(
(rv) => {
this.operationCurrent = Object.assign({},rv.clothes[index])
// designItemDetail.clothes[index].printObject.path = rv.clothes[0].printObject.path
this.currentFullBodyView = rv.currentFullBodyView
this.designItemDetailTS.rv = rv

View File

@@ -207,7 +207,6 @@ export default defineComponent({
var pointer = canvas.getPointer(event.e);
if(canvas.isDrawingMode){
canvas.setCursor('none');
console.log(12,canvas.contains(brushIndicator));
if(!canvas.contains(brushIndicator)){
canvas.add(brushIndicator)
brushIndicator.set({// left:0,

View File

@@ -293,7 +293,7 @@
</a-modal>
</template>
<script>
import {defineComponent, computed, h, ref, nextTick, createVNode, reactive, onMounted,
import {defineComponent, computed, h, ref, nextTick, inject, reactive, onMounted,
} from "vue";
import { Https } from "@/tool/https";
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
@@ -357,16 +357,12 @@ export default defineComponent({
let sketchGrouping = 3; //sketch分组
let likeDesign = 4; //整体图分组
let disposeMoodboardShow = true;
let canvasState = ref()//存放canvas操作
let reverseCanvasState = ref([])//存放canvas操作
let normalCanvasState = ref([])//存放canvas操作
let isLoadCanvas = false//撤回或者反撤回false为撤回
let userlikeGroupId = 0
let beenPublished = 0
let init = (productData) => {
beenPublished = productData.beenPublished
userlikeGroupId = productData.userlikeGroupId
canvasWH.value.height = 100
normalCanvasState.value = []
@@ -745,11 +741,11 @@ export default defineComponent({
};
if (key == "likeDesignCollectionList") {
data.imgUrl = item.designOutfitUrl;
data.name = "result" + index + "." + data.imgUrl.split(".").pop().split("?").shift();;
data.name = "result" + index + "." + data.imgUrl.split(".").pop().split("?").shift();
}
if (key == "FinalizeImage") {
data.imgUrl = item.designOutfitUrl;
data.name = "porduct" + index + "." + data.imgUrl.split(".").pop().split("?").shift();;
data.imgUrl = item.url;
data.name = "Finalize" + index + "." + data.imgUrl.split(".").pop().split("?").shift();
}
img.push(data);
index++;
@@ -1843,7 +1839,6 @@ export default defineComponent({
let data = {
"imgUrl":imageDataURL,
userlikeGroupId:userlikeGroupId,
beenPublished
}
publishModal.init(data)
}
@@ -2133,7 +2128,7 @@ export default defineComponent({
position: sticky;
background: #f9fafb;
z-index: 2;
bottom: 0;
bottom: -1px;
.exportCanvasBox_left_btn{
display: flex;
justify-content: space-between;

View File

@@ -150,18 +150,23 @@
</div>
<div class="productImg_right_item_imgBox" v-else>
<img :src="item.url" alt="">
<div class="productImg_right_item_like" @click.stop="likeFile(item,'like',index)">
<i class="fi fi-rr-heart"></i>
<div class="productImg_right_item_iconRight">
<div class="productImg_right_item_like" @click.stop="likeFile(item,'like',index)">
<i class="fi fi-rr-heart"></i>
</div>
</div>
<div class="productImg_right_item_scale iconLeft" @click.stop="setScaleImage(generateList,index,true)">
<i class="fi fi-bs-expand-arrows-alt"></i>
</div>
<div class="productImg_right_item_menu iconLeft" @click.stop="setMenuShow(item)">
<i class="fi fi-rr-circle-ellipsis"></i>
<ul v-show="item.menuShow">
<li v-for="menuItem,index in productimgMenuList" v-show="index != 0" @click.stop="setMenu(menuItem,item)" :key="menuItem.value">{{ menuItem.label }}</li>
</ul>
<div class="productImg_right_item_iconLeft">
<div class="productImg_right_item_scale" @click.stop="setScaleImage(generateList,index,true)">
<i class="fi fi-bs-expand-arrows-alt"></i>
</div>
<div v-show="item.resultType != 'Relight'" class="productImg_right_item_menu" @click.stop="setMenuShow(item)">
<i class="fi fi-rr-circle-ellipsis"></i>
<ul v-show="item.menuShow">
<li v-for="menuItem,index in productimgMenuList" v-show="index != 0" @click.stop="setMenu(menuItem,item)" :key="menuItem.value">{{ menuItem.label }}</li>
</ul>
</div>
</div>
</div>
</div>
<div class="mark_loading" v-show="isShowMark">
@@ -175,17 +180,21 @@
<div class="productImg_right_item_box generalScroll" v-mousewheel>
<div class="productImg_right_item" v-for="item,index in likeList" :key="item">
<img :src="item.url" alt="">
<div class="productImg_right_item_like" @click.stop="likeFile(item,'noLike',index)">
<i class="fi fi-sr-heart"></i>
<div class="productImg_right_item_iconRight">
<div class="productImg_right_item_like" @click.stop="likeFile(item,'noLike',index)">
<i class="fi fi-sr-heart"></i>
</div>
</div>
<div class="productImg_right_item_scale iconLeft" @click.stop="setScaleImage(likeList,index,false)">
<i class="fi fi-bs-expand-arrows-alt"></i>
</div>
<div class="productImg_right_item_menu iconLeft" :title="$t('ProductImg.moreTitle')" @click.stop="setMenuShow(item)">
<i class="fi fi-rr-circle-ellipsis"></i>
<ul v-show="item.menuShow">
<li v-for="menuItem,index in productimgMenuList" v-show="index != 0" @click.stop="setMenu(menuItem,item)" :key="menuItem.value">{{ menuItem.label }}</li>
</ul>
<div class="productImg_right_item_iconLeft">
<div class="productImg_right_item_scale" @click.stop="setScaleImage(likeList,index,false)">
<i class="fi fi-bs-expand-arrows-alt"></i>
</div>
<div v-show="item.resultType != 'Relight'" class="productImg_right_item_menu" :title="$t('ProductImg.moreTitle')" @click.stop="setMenuShow(item)">
<i class="fi fi-rr-circle-ellipsis"></i>
<ul v-show="item.menuShow">
<li v-for="menuItem,index in productimgMenuList" v-show="index != 0" @click.stop="setMenu(menuItem,item)" :key="menuItem.value">{{ menuItem.label }}</li>
</ul>
</div>
</div>
</div>
</div>
@@ -236,7 +245,6 @@ export default defineComponent({
let productImgMask:any = ref(false)//弹窗遮罩
let productImgData:any = reactive({
isShowMark:false,
beenPublished:0,
fileList:{},
searchName:'',
isTextarea:false,//是否展开
@@ -279,9 +287,8 @@ export default defineComponent({
return store.state.HomeStoreModule.likeDesignCollectionList;
});
let userlikeGroupId = 0
let init = (userGroupId:any,beenPublished:any)=>{
let init = (userGroupId:any)=>{
productImg.value = true
productImgData.beenPublished = beenPublished
selectList.value['ToProductImage'] = JSON.parse(JSON.stringify(likeDesignCollectionList.value))
upload.value = {
userlikeGroupId:userGroupId
@@ -404,7 +411,6 @@ export default defineComponent({
key:'FinalizeImage',
imgList:imgList,
userlikeGroupId,
beenPublished:productImgData.beenPublished
}
let exportModel:any = ExportModel.value
@@ -554,8 +560,10 @@ export default defineComponent({
Https.axiosGet(Https.httpUrls.generateStopWaiting, {params:data}).then(
(rv) => {
generateProceedList = []
productImgData.generateList = productImgData.generateList.filter((item:any)=>item.status == 'Success')
}
).catch(res=>{
productImgData.generateList = productImgData.generateList.filter((item:any)=>item.status == 'Success')
});
}
}
@@ -564,8 +572,8 @@ export default defineComponent({
arr.forEach((item:any)=>{
item.imgUrl = item.url
})
// scaleImage.value.isProductimg = isLike
scaleImage.value.isProductimg = false
scaleImage.value.isProductimg = isLike
// scaleImage.value.isProductimg = false
scaleImage.value.init(arr,index)
scaleImage.value.isLike = false
scaleImage.value.isComparison = true
@@ -897,12 +905,26 @@ export default defineComponent({
img{
height: 100%;
}
.productImg_right_item_like,.productImg_right_item_scale,.productImg_right_item_menu{
display: none;
.productImg_right_item_iconRight,.productImg_right_item_iconLeft{
position: absolute;
top: 2rem;
display: flex;
flex-direction: column;
>div{
margin-bottom: 1rem;
}
>div:last-child{
margin-bottom: 0;
}
}
.productImg_right_item_iconRight{
right: 2rem;
}
.productImg_right_item_iconLeft{
left: 2rem;
}
.productImg_right_item_like,.productImg_right_item_scale,.productImg_right_item_menu{
display: none;
cursor: pointer;
width: 3rem;
height: 3rem;
@@ -936,13 +958,6 @@ export default defineComponent({
}
}
}
.iconLeft{
left: 2rem;
right: auto;
}
.productImg_right_item_scale{
top: 6rem;
}
}
.productImg_right_item:hover{
.productImg_right_item_like,.productImg_right_item_scale,.productImg_right_item_menu{

View File

@@ -87,7 +87,7 @@
</div>
</div>
</div>
<div class="scaleImage_content_imgBox">
<div class="scaleImage_content_imgBox" :class="{active:isComparison}">
<img v-if="isComparison" :src="scaleImageList[scaleImageIndex]?.sourceUrl">
<img :src="scaleImageList[scaleImageIndex]?.imgUrl">
<div class="img_operate_block" v-if="isLike">
@@ -183,6 +183,7 @@ export default defineComponent({
}
let imageStrength = productimg.productimgSimilarity == 100? 95 :productimg.productimgSimilarity
let data:any ={
direction:productimg.productimgRelightDirection,
prompt:productimg.productimgSearchName,
toProductImageVOList:[obj],
userLikeGroupId:productimg.productimgUpload.userlikeGroupId,
@@ -398,6 +399,13 @@ export default defineComponent({
width: auto;
height: 100%;
}
&.active{
display: flex;
img{
width: 50%;
object-fit: contain;
}
}
.img_operate_block{
width: 3.6rem;
height: 3.6rem;

View File

@@ -297,6 +297,7 @@ export default defineComponent({
img{
width: 100%;
object-fit: cover;
height: 100%;
transition: all .3s;
}
.falls_item_user_Original{

View File

@@ -55,7 +55,7 @@
<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 class="scaleImage_chunk_title_intro">{{$t('newScaleImage.from')}}<span>@{{ scaleImageData.originalUserName }}/{{ scaleImageData.originalUserName }}</span></div>
<div v-else @click="originalGetDetail()" class="scaleImage_chunk_title_intro">{{$t('newScaleImage.from')}}<span> @{{ scaleImageData.originalUserName }}/{{ scaleImageData.portfolioName }}</span></div>
<!-- <div class="scaleImage_chunk_title_intro">个性签名</div>
<div class="scaleImage_chunk_btn">关注</div> -->
</div>
@@ -100,7 +100,7 @@
<img v-for="item in scaleImageData?.designPythonOutfitList" v-lazy="item.designUrl">
</div>
</div>
<div v-if="systemUser.value == 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>
<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>
</div>
<div v-else class="newScaleImage_right_content_generate">
<div class="scaleImage_chunk_item content_left_generate_item">
@@ -243,6 +243,10 @@
</div>
</div>
<div class="mark_loading" v-show="loadingShow">
<a-spin size="large" />
</div>
</div>
</a-modal>
</template>
@@ -340,6 +344,9 @@ export default defineComponent({
// parent.likeFile(item,str)
// },
let getDeatilData = {}
let originalGetDetail = ()=>{
getDetail({id:imgData.scaleImageData.originalPortfolioId},'')
}
let getDetail = (value:any,str:string)=>{
imgData.loadingShow = true
let data = value
@@ -566,6 +573,7 @@ export default defineComponent({
cancelDsign,
download,
setScaleImageIndex,
originalGetDetail,
LikeFile,
setChoose,
setCommentReply,
@@ -737,6 +745,9 @@ export default defineComponent({
}
}
}
.mark_loading{
position: absolute;
}
.detail_right_user{
display: flex;
width: 100%;

View File

@@ -85,7 +85,7 @@
</template>
<script lang="ts">
import { defineComponent,watch,createVNode, h, ref ,toRefs,computed,reactive,triggerRef, nextTick} from "vue";
import { defineComponent,watch,createVNode, inject, ref ,toRefs,computed,reactive,triggerRef, nextTick} from "vue";
// import { getCookie } from "@/tool/cookie";
import { Https } from "@/tool/https";
import { getCookie,setCookie } from "@/tool/cookie";
@@ -100,11 +100,12 @@ export default defineComponent({
let {t} = useI18n()
let publish: any = ref(false);//弹窗
let publishMask:any = ref(false)//弹窗遮罩
let setBeenPublished:any = inject('setBeenPublished')
let publishData:any = reactive({
publishName:'',
loadingShow:false,
publishMarginTop:0,
beenPublished:0,//history回来时候表示是否已经发布0为没发布
beenPublished:inject('beenPublished'),//history回来时候表示是否已经发布0为没发布
publishList:[],
publishIndex:0,//当前图片索引
isShowMark:false,
@@ -126,7 +127,6 @@ export default defineComponent({
// document.execCommand("copy");
// }
let init = (data:any)=>{
publishData.beenPublished = data.beenPublished
let userInfo:any = getCookie("userInfo")
// console.log(data);
publish.value = true
@@ -224,6 +224,8 @@ export default defineComponent({
publishData.isShowMark = false
emit('setPublish')
message.success(t('Publish.jsContent4'))
setBeenPublished()
})
.catch((rv) => {
publishData.isShowMark = false

View File

@@ -196,6 +196,7 @@ export default {
Moodboard:'情绪板',
Prints:'印花',
Sketches:'服装',
DesignElements:'设计元素',
Mannequins:'模特',
model:'模型',
jsContent1:'你确定要删除选中图片吗?',

View File

@@ -197,6 +197,7 @@ export default {
Moodboard:'Moodboard',
Prints:'Prints',
Sketches:'Sketches',
DesignElements:'Design Elements',
Mannequins:'Mannequins',
model:'model',
jsContent1:'Are you sure to delete this picture?',
@@ -498,7 +499,7 @@ export default {
jsContent1:'Please enter a tag name',
},
works:{
all:'全部',
all:'All',
FavoriteWorks:'Favorite Works',
MyWorks:'My Works',
},

View File

@@ -26,10 +26,10 @@ import store from '@/store';
// httpIp = ''
// }
let httpIp = process.env.NODE_ENV == 'development' ? "" : "";
// let httpIp = process.env.NODE_ENV == 'development' ? "https://192.168.0.102:10086" : "";
// console.log(httpIp,process.env.VUE_APP_BASE_URL);
// let httpIp = process.env.NODE_ENV == 'development' ? "https://192.168.1.8:10086" : "";
// console.log(httpIp,process.env.VUE_APP_BASE_URL,process.env.NODE_ENV);
// axios.defaults.baseURL = httpIp; //配置接口地址
axios.defaults.baseURL = httpIp; //配置接口地址
// console.log(axios.defaults.baseURL);
axios.defaults.baseURL = process.env.VUE_APP_BASE_URL; //配置接口地址

View File

@@ -274,7 +274,12 @@ export default defineComponent({
let userGroupId: any = computed(() => {
return store.state.HomeStoreModule.userGroupId;
}); //模特id //当likeDesignCollectionList长度为0时清空startdesign时清空
let beenPublished = null
let beenPublished = ref(0)
let setBeenPublished = ()=>{
beenPublished.value = 1
}
provide('beenPublished',beenPublished)
provide('setBeenPublished',setBeenPublished)
let designCollectionId: any = computed(() => {
return store.state.HomeStoreModule.designCollectionId;
});
@@ -475,6 +480,20 @@ export default defineComponent({
} else {
// this.store.commit("clearAllData");
}
// let dataa:any = {
// designItemId: 63094,
// designItemUrl: null,
// designOutfitId: 62798,
// designOutfitUrl:''
// }
// let designDetail: any = this.$refs.designDetail;
// let data = {
// design: dataa,
// index: 0,
// collectionList: [],
// type: 'dislike',
// };
// designDetail.showDesignDetailModal(data);
},
directives:{
mousewheel:{
@@ -954,6 +973,7 @@ export default defineComponent({
Https.axiosPost(Https.httpUrls.setPorfolioChoose, data).then(
(rv: any) => {
this.beenPublished = rv.beenPublished
this.store.commit("setUserGroupId", rv.userGroupId);
this.dealHistoryChooseData(rv, type);
this.isShowMark = false;
}
@@ -1090,7 +1110,7 @@ export default defineComponent({
let productImg:any = this.$refs.productImg
productImg.productImgMask = true
productImg.init(this.userGroupId,this.beenPublished)
productImg.init(this.userGroupId)
},
//打开图片详情

View File

@@ -4,9 +4,10 @@
<div>Works</div>
</div> -->
<div class="modal_title_text modal_search">
<div v-for="item in worksType" :key="item" v-show="isScroll?true:(item.value != 'myWorks' && item.value !='favoriteWorks')" class="modal_title_text_assistant" @click="setWorksSelect(item)" :class="{active:item.value == worksSelect}">
<div v-show="isScroll" v-for="item in worksType" :key="item" class="modal_title_text_assistant" @click="setWorksSelect(item)" :class="{active:item.value == worksSelect}">
{{ item.name }}
</div>
<div v-show="!isScroll" class="modal_title_text_assistant active">All</div>
<!-- <div class="modal_search_menu">
<generalMenu :dataList="menuList" @setprintModel="setprintModel" :item="selectMenu"></generalMenu>
</div> -->
@@ -295,7 +296,7 @@ export default defineComponent({
}
.page_content {
position: relative;
min-height: 100%;
min-height: 80%;
height: auto;
background: #f7f8fa;
.page_loading_box{

View File

@@ -69,8 +69,6 @@
<div class="operate_item" @click="turnToDetail(record)">{{ $t('HistoryPage.Detail') }}</div>
<div class="operate_item" @click="renameCollection(record,index)">{{ $t('LibraryPage.Rename') }}</div>
<div class="operate_item" @click="retrieveHome(record)">{{ $t('HistoryPage.Retrieve') }}</div>
<!-- <div class="operate_item" @click="setPublish(record)">Publish</div> -->
<!-- <div class="operate_item" @click="updatePublish(record)">Update Publish</div> -->
<div class="operate_item" @click="deleteGroup(record, index)">{{ $t('HistoryPage.Delete') }}</div>
</div>
</template>
@@ -80,7 +78,6 @@
</div>
</div>
<HistoryDetail ref="historyDetail" :groupDetails="groupDetails" :collectionName="collectionName"></HistoryDetail>
<publish ref="publish"></publish>
<setLabel ref="setLabel"></setLabel>
<!-- <RobotAssist></RobotAssist> -->
<searchLabel ref="searchLabel"></searchLabel>
@@ -102,7 +99,6 @@ import { ElCascader } from 'element-plus'
import { useI18n } from 'vue-i18n';
import setLabel from '@/component/LibraryPage/setLabel.vue';
import searchLabel from '@/component/LibraryPage/searchLabel.vue';
import publish from "@/component/WorksPage/publish.vue";
export default defineComponent({
components: {
@@ -112,7 +108,6 @@ export default defineComponent({
setLabel,
ElCascader,
searchLabel,
publish
},
setup() {
let rangePickerValue:any = ref([])
@@ -130,7 +125,6 @@ export default defineComponent({
align:'center', ellipsis: true, width: 150,
dataIndex: 'original', key: 'original',
customRender:(record:any)=>{
console.log(record);
let str = ''
if(record.text == 1){
str = useI18n().t('newScaleImage.Original')
@@ -341,15 +335,6 @@ export default defineComponent({
retrieveHome(record:any){
this.$router.push({name:'homePage',params: {id:record.id,type:'History'}})
},
setPublish(record:any){
let publish:any = this.$refs.publish
publish.publishMask = true
publish.init(record)
},
updatePublish(record:any){
},
removeLabel(){
let setLabel:any = this.$refs.setLabel
let cascader:any = this.$refs.cascader

View File

@@ -397,7 +397,7 @@ export default defineComponent({
// {title:'Sketches',code:'SketchboardFirst',icon:'fi icon iconfont icon-a-waitao_changkuanwaitao11x',showChildren:false,children:[{title:'Apparel',code:'Sketchboard'}]},
{title:useI18n().t('LibraryPage.Sketches'),code:'Sketchboard',icon:'fi icon iconfont icon-a-waitao_changkuanwaitao11x',showChildren:false,children:[]},
// {title:'Market Sketch',code:'Elements',icon:'icon-fuwushichang',showChildren:false,children:[]},
{title:'Design Elements',code:'DesignElements',icon:'fi fi-ss-puzzle-piece',showChildren:false,children:[]},
{title:useI18n().t('LibraryPage.DesignElements'),code:'DesignElements',icon:'fi fi-ss-puzzle-piece',showChildren:false,children:[]},
{title:useI18n().t('LibraryPage.Mannequins'),code:'Models',icon:'fi fi-rs-people',showChildren:false,children:[]},
]

View File

@@ -126,7 +126,7 @@
class="login_submit_button marign_top40" :state="emailStap"
@click="submitPerLogin()"
>
Sign In
Sign in
</div>
<div class="login_text" >

View File

@@ -19,11 +19,12 @@ module.exports = defineConfig({
// changeOrigin: true, //是否允许跨越
// }
'/api':{
target:'https://develop.api.aida.com.hk',
target:'https://192.168.1.9:5567',
// target:'https://develop.api.aida.com.hk',
changeOrigin:true,
},
'/robot':{
target:'http://18.167.251.121:17088',
'/xupei':{
target:'http://192.168.1.7:5567',
changeOrigin:true,
pathRewrite:{
'^/robot': 'api', // api替换成api