Merge branch 'dev_vite' of ssh://18.167.251.121:10002/aidlab/aida_front into dev_vite
This commit is contained in:
@@ -32,8 +32,8 @@
|
|||||||
is-input
|
is-input
|
||||||
:tipFormatter="(v) => `${v}px`"
|
:tipFormatter="(v) => `${v}px`"
|
||||||
:value="gapX"
|
:value="gapX"
|
||||||
@input="(e) => emit('inputFill_Gap', e, gapY)"
|
@input="(e) => emit('inputFillGap', e, gapY)"
|
||||||
@change="(e) => emit('changeFill_Gap', e, gapY)"
|
@change="(e) => emit('changeFillGap', e, gapY)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="repeat-setting-item">
|
<div class="repeat-setting-item">
|
||||||
@@ -45,8 +45,8 @@
|
|||||||
is-input
|
is-input
|
||||||
:tipFormatter="(v) => `${v}px`"
|
:tipFormatter="(v) => `${v}px`"
|
||||||
:value="gapY"
|
:value="gapY"
|
||||||
@input="(e) => emit('inputFill_Gap', gapX, e)"
|
@input="(e) => emit('inputFillGap', gapX, e)"
|
||||||
@change="(e) => emit('changeFill_Gap', gapX, e)"
|
@change="(e) => emit('changeFillGap', gapX, e)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="repeat-setting-item">
|
<div class="repeat-setting-item">
|
||||||
@@ -109,8 +109,8 @@
|
|||||||
"changeFillOffset",
|
"changeFillOffset",
|
||||||
"inputFillScale",
|
"inputFillScale",
|
||||||
"changeFillScale",
|
"changeFillScale",
|
||||||
"inputFill_Gap",
|
"inputFillGap",
|
||||||
"changeFill_Gap",
|
"changeFillGap",
|
||||||
]);
|
]);
|
||||||
const inputFillScale = (e) => {
|
const inputFillScale = (e) => {
|
||||||
const scale = e / 100;
|
const scale = e / 100;
|
||||||
|
|||||||
@@ -155,11 +155,11 @@
|
|||||||
@changeFillScale="
|
@changeFillScale="
|
||||||
(e) => changeFillScale(e, v)
|
(e) => changeFillScale(e, v)
|
||||||
"
|
"
|
||||||
@inputFill_Gap="
|
@inputFillGap="
|
||||||
(x, y) => inputFill_Gap(x, y, v)
|
(x, y) => inputFillGap(x, y, v)
|
||||||
"
|
"
|
||||||
@changeFill_Gap="
|
@changeFillGap="
|
||||||
(x, y) => changeFill_Gap(x, y, v)
|
(x, y) => changeFillGap(x, y, v)
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
@@ -484,7 +484,7 @@
|
|||||||
props.commandManager.execute(cmd);
|
props.commandManager.execute(cmd);
|
||||||
};
|
};
|
||||||
// 改变填充间隙
|
// 改变填充间隙
|
||||||
const inputFill_Gap = (gapX, gapY, obj) => {
|
const inputFillGap = (gapX, gapY, obj) => {
|
||||||
const cmd = new FillRepeatGapChangeCommand({
|
const cmd = new FillRepeatGapChangeCommand({
|
||||||
canvas: props.canvas,
|
canvas: props.canvas,
|
||||||
layers: layers,
|
layers: layers,
|
||||||
@@ -497,7 +497,7 @@
|
|||||||
});
|
});
|
||||||
cmd.execute();
|
cmd.execute();
|
||||||
};
|
};
|
||||||
const changeFill_Gap = (gapX, gapY, obj) => {
|
const changeFillGap = (gapX, gapY, obj) => {
|
||||||
if (obj.oldFill_) {
|
if (obj.oldFill_) {
|
||||||
obj.fill_ = { ...obj.oldFill_ };
|
obj.fill_ = { ...obj.oldFill_ };
|
||||||
delete obj.oldFill_;
|
delete obj.oldFill_;
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ const props = defineProps({
|
|||||||
default: false, // 是否隐藏画布-隐藏关闭部分功能
|
default: false, // 是否隐藏画布-隐藏关闭部分功能
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
console.log("config",props.config)
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
// 引用和状态
|
// 引用和状态
|
||||||
const canvasRef = ref(null);
|
const canvasRef = ref(null);
|
||||||
|
|||||||
@@ -449,7 +449,28 @@ export class CanvasManager {
|
|||||||
// // 重新渲染画布使变更生效
|
// // 重新渲染画布使变更生效
|
||||||
// this.canvas.renderAll();
|
// this.canvas.renderAll();
|
||||||
}
|
}
|
||||||
|
// 重置画布大小参照固定图层
|
||||||
|
async resetCanvasSizeByFixedLayer(){
|
||||||
|
// 重置画布大小为固定图层的大小
|
||||||
|
const fixedLayerObj = this.getFixedLayerObject();
|
||||||
|
const backgroundObject = this.getBackgroundLayerObject();
|
||||||
|
if (!fixedLayerObj || !backgroundObject) return
|
||||||
|
const fwidth = fixedLayerObj.width * fixedLayerObj.scaleX
|
||||||
|
const fheight = fixedLayerObj.height * fixedLayerObj.scaleY
|
||||||
|
const bwidth = backgroundObject.width * backgroundObject.scaleX
|
||||||
|
const bheight = backgroundObject.height * backgroundObject.scaleY
|
||||||
|
if(Math.abs(fwidth/bwidth - fheight/bheight) < 0.1) return;
|
||||||
|
this.canvasWidth.value = fwidth
|
||||||
|
this.canvasHeight.value = fheight
|
||||||
|
backgroundObject.set({
|
||||||
|
width: this.canvasWidth.value,
|
||||||
|
height: this.canvasHeight.value,
|
||||||
|
})
|
||||||
|
this.canvas?.clipPath?.set?.({
|
||||||
|
width: this.canvasWidth.value,
|
||||||
|
height: this.canvasHeight.value,
|
||||||
|
})
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 重置视图变换,使元素回到原始位置
|
* 重置视图变换,使元素回到原始位置
|
||||||
* @private
|
* @private
|
||||||
@@ -1369,6 +1390,7 @@ export class CanvasManager {
|
|||||||
// 重置画布数据
|
// 重置画布数据
|
||||||
await this.setCanvasSize(this.canvas.width, this.canvas.height);
|
await this.setCanvasSize(this.canvas.width, this.canvas.height);
|
||||||
await this.centerBackgroundLayer(this.canvas.width, this.canvas.height);
|
await this.centerBackgroundLayer(this.canvas.width, this.canvas.height);
|
||||||
|
await this.resetCanvasSizeByFixedLayer();
|
||||||
// 重新构建对象关系
|
// 重新构建对象关系
|
||||||
// restoreObjectLayerAssociations(this.layers.value, this.canvas.getObjects());
|
// restoreObjectLayerAssociations(this.layers.value, this.canvas.getObjects());
|
||||||
// 验证图层关联关系 - 稳定后可以注释
|
// 验证图层关联关系 - 稳定后可以注释
|
||||||
|
|||||||
@@ -101,7 +101,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="contentRight canvas" v-if="selectDetail && selectDetail.id && currentDetailType" :class="{'active': isEditPattern.value}">
|
<div class="contentRight canvas" v-if="selectDetail && selectDetail.id && currentDetailType" :class="{'active': isEditPattern.value}">
|
||||||
<canvasBox ref="canvasBox" :key="canvasKey" :sketchSize="sketchSize" @setSloganData="setSloganData" :isEditPattern="isEditPattern.value" :updateOtherLayers="updateOtherLayers"></canvasBox>
|
<canvasBox ref="canvasBox" v-model:loadingShow="loadingShow" :key="canvasKey" :sketchSize="sketchSize" @setSloganData="setSloganData" :isEditPattern="isEditPattern.value" :updateOtherLayers="updateOtherLayers"></canvasBox>
|
||||||
</div>
|
</div>
|
||||||
<!-- 画布 -->
|
<!-- 画布 -->
|
||||||
<!-- <div class="content" v-else-if="selectDetail && selectDetail.id">
|
<!-- <div class="content" v-else-if="selectDetail && selectDetail.id">
|
||||||
@@ -161,7 +161,7 @@ export default defineComponent({
|
|||||||
isEditPattern:{
|
isEditPattern:{
|
||||||
value:'' as any,
|
value:'' as any,
|
||||||
},// 是否编辑图案
|
},// 是否编辑图案
|
||||||
canvasKey:0,
|
canvasKey:computed(()=>store.state.DesignDetail.canvasKey),
|
||||||
singleOveral:{
|
singleOveral:{
|
||||||
value:'overall'
|
value:'overall'
|
||||||
},
|
},
|
||||||
@@ -191,7 +191,7 @@ export default defineComponent({
|
|||||||
detailData.imgDomIndex = detailData.frontBack.front.findIndex((item:any)=>item.id == newValue.id)
|
detailData.imgDomIndex = detailData.frontBack.front.findIndex((item:any)=>item.id == newValue.id)
|
||||||
if(newValue?.path)await getSketchSize()
|
if(newValue?.path)await getSketchSize()
|
||||||
if(newValue?.id && oldValue?.id && (newValue.id != oldValue.id)){
|
if(newValue?.id && oldValue?.id && (newValue.id != oldValue.id)){
|
||||||
detailData.canvasKey += 1
|
store.commit('DesignDetail/changeCanvasKey')
|
||||||
}
|
}
|
||||||
// privewDetail(oldValue)
|
// privewDetail(oldValue)
|
||||||
},{immediate: true})
|
},{immediate: true})
|
||||||
@@ -261,7 +261,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
detailData.loadingShow = false
|
// detailData.loadingShow = false
|
||||||
resolve(rv)
|
resolve(rv)
|
||||||
}
|
}
|
||||||
).catch(rv=>{
|
).catch(rv=>{
|
||||||
@@ -336,9 +336,11 @@ export default defineComponent({
|
|||||||
detailData.selectDetail.sketchString = rv
|
detailData.selectDetail.sketchString = rv
|
||||||
})
|
})
|
||||||
if(detailDom.detailRight?.privewDetail)await (detailDom.detailRight as any).privewDetail()
|
if(detailDom.detailRight?.privewDetail)await (detailDom.detailRight as any).privewDetail()
|
||||||
let otherData = await updateOtherLayers('single')
|
if(detailDom.canvasBox && (detailData.currentDetailType != 'sketch' || detailData.isEditPattern.value == 'canvasEditor')){
|
||||||
await detailDom.canvasBox.updateOtherLayers(otherData)
|
let otherData = await updateOtherLayers('single')
|
||||||
await detailDom.canvasBox.privewDetail()
|
await detailDom.canvasBox.updateOtherLayers(otherData)
|
||||||
|
await detailDom.canvasBox.privewDetail()
|
||||||
|
}
|
||||||
for(let i = 0;i<list.length;i++){
|
for(let i = 0;i<list.length;i++){
|
||||||
detailData.selectDetail
|
detailData.selectDetail
|
||||||
let {scale,offset,priority,transpose,rotate,maskUrl,maskMinioUrl} = await (detailDom.model as any).getSubmitData(list[i])
|
let {scale,offset,priority,transpose,rotate,maskUrl,maskMinioUrl} = await (detailDom.model as any).getSubmitData(list[i])
|
||||||
@@ -358,7 +360,6 @@ export default defineComponent({
|
|||||||
(list[i].color?.rgba?.r?
|
(list[i].color?.rgba?.r?
|
||||||
`${list[i].color.rgba.r} ${list[i].color.rgba.g} ${list[i].color.rgba.b}`:
|
`${list[i].color.rgba.r} ${list[i].color.rgba.g} ${list[i].color.rgba.b}`:
|
||||||
'')
|
'')
|
||||||
console.log(color,'==============================')
|
|
||||||
if(detailData.currentDetailType == 'sketch' && newData){
|
if(detailData.currentDetailType == 'sketch' && newData){
|
||||||
color = detailData.designDetail.clothes?.[0]?.color?.rgba?.r?`${detailData.designDetail.clothes?.[0].color.rgba.r} ${detailData.designDetail.clothes[0].color.rgba.g} ${detailData.designDetail.clothes[0].color.rgba.b}`:''
|
color = detailData.designDetail.clothes?.[0]?.color?.rgba?.r?`${detailData.designDetail.clothes?.[0].color.rgba.r} ${detailData.designDetail.clothes[0].color.rgba.g} ${detailData.designDetail.clothes[0].color.rgba.b}`:''
|
||||||
detailData.selectDetail.maskUrl = ''
|
detailData.selectDetail.maskUrl = ''
|
||||||
@@ -417,45 +418,65 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
const getSubmitData = async (str:string)=>{
|
const getSubmitData = async (str:string)=>{
|
||||||
// return
|
// return
|
||||||
let workspace = store.state.Workspace.probjects
|
await new Promise<void>(async (resolve, reject) => {
|
||||||
if(!detailData?.selectDetail?.path && !detailData?.selectDetail?.newDetail?.sketch?.minIOPath)return
|
let workspace = store.state.Workspace.probjects
|
||||||
let clothes:any
|
if(!detailData?.selectDetail?.path && !detailData?.selectDetail?.newDetail?.sketch?.minIOPath)return
|
||||||
if(detailData.currentDetailType == 'models'){
|
let clothes:any
|
||||||
clothes = await setClothes(detailData.designDetail.clothes,str)
|
if(detailData.currentDetailType == 'models'){
|
||||||
}else{
|
clothes = await setClothes(detailData.designDetail.clothes,str)
|
||||||
clothes = await setClothes([detailData.selectDetail],str)
|
}else{
|
||||||
}
|
clothes = await setClothes([detailData.selectDetail],str)
|
||||||
let data = {
|
|
||||||
designItemId:detailData.designDetail.designItemId,
|
|
||||||
designSingleItemDTOList:clothes,
|
|
||||||
isPreview:str == 'sub'?false:true,
|
|
||||||
// ifSubmit:designItemDetail.isPreview,
|
|
||||||
gender:workspace?.sex,
|
|
||||||
sketchString:'',
|
|
||||||
modelId:(detailData.currentDetailType == 'models' && detailData.designDetail.newModel)?detailData.designDetail.newModel.id:detailData.designDetail.oldModel?detailData.designDetail.oldModel.id:'',
|
|
||||||
modelType:(detailData.currentDetailType == 'models' && detailData.designDetail.newModel)?detailData.designDetail.newModel.type:detailData.designDetail.oldModel?detailData.designDetail.oldModel.type:'',
|
|
||||||
designType:detailData.selectDetail.id?'merge':'default',
|
|
||||||
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
|
|
||||||
processId:userDetail.value.userId,
|
|
||||||
probjectId:store.state.Workspace.probjects.id,
|
|
||||||
}
|
|
||||||
detailData.loadingShow = true
|
|
||||||
Https.axiosPost(Https.httpUrls.designSingle, data).then((rv)=>{
|
|
||||||
let value = {
|
|
||||||
currentType : JSON.parse(JSON.stringify(detailData.currentDetailType)),
|
|
||||||
rv:rv,
|
|
||||||
fun:setRevocation
|
|
||||||
}
|
}
|
||||||
if(detailData?.designDetail?.newModel)detailData.designDetail.oldModel = JSON.parse(JSON.stringify(detailData.designDetail.newModel))
|
let isDefault = detailData.selectDetail.sketchString || (!detailData.selectDetail.id || (detailData.selectDetail?.newDetail?.sketch && detailData.currentDetailType == 'sketch'))
|
||||||
// delete detailData.designDetail.newModel
|
let data = {
|
||||||
detailData.selectDetail.sketchString = null
|
designItemId:detailData.designDetail.designItemId,
|
||||||
store.commit('DesignDetail/setPraeview',value)
|
designSingleItemDTOList:clothes,
|
||||||
detailData.loadingShow = false
|
isPreview:str == 'sub'?false:true,
|
||||||
canvasReload()
|
// ifSubmit:designItemDetail.isPreview,
|
||||||
// setRevocation()
|
gender:workspace?.sex,
|
||||||
}).catch(res=>{
|
sketchString:'',
|
||||||
detailData.loadingShow = false
|
modelId:(detailData.currentDetailType == 'models' && detailData.designDetail.newModel)?detailData.designDetail.newModel.id:detailData.designDetail.oldModel?detailData.designDetail.oldModel.id:'',
|
||||||
});
|
modelType:(detailData.currentDetailType == 'models' && detailData.designDetail.newModel)?detailData.designDetail.newModel.type:detailData.designDetail.oldModel?detailData.designDetail.oldModel.type:'',
|
||||||
|
designType:isDefault?'default':'merge',
|
||||||
|
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
|
||||||
|
processId:userDetail.value.userId,
|
||||||
|
probjectId:store.state.Workspace.probjects.id,
|
||||||
|
}
|
||||||
|
await Https.axiosPost(Https.httpUrls.designSingle, data).then(async (rv)=>{
|
||||||
|
let value = {
|
||||||
|
currentType : JSON.parse(JSON.stringify(detailData.currentDetailType)),
|
||||||
|
rv:rv,
|
||||||
|
fun:setRevocation
|
||||||
|
}
|
||||||
|
if(detailData?.designDetail?.newModel)detailData.designDetail.oldModel = JSON.parse(JSON.stringify(detailData.designDetail.newModel))
|
||||||
|
|
||||||
|
// delete detailData.designDetail.newModel
|
||||||
|
let el:any = document.querySelector('.molepositon .perview_img')
|
||||||
|
let scale = 0
|
||||||
|
await new Promise<void>(async (resolve, reject) => {
|
||||||
|
const img = new Image();
|
||||||
|
img.src = detailData.frontBack.body.path;
|
||||||
|
img.onload = () => {
|
||||||
|
scale = el.parentNode.offsetWidth / img.width;
|
||||||
|
resolve(true)
|
||||||
|
};
|
||||||
|
})
|
||||||
|
value.scale = scale
|
||||||
|
store.commit('DesignDetail/setPraeview',value)
|
||||||
|
store.commit('DesignDetail/changeCanvasKey')
|
||||||
|
// console.log(detailData.selectDetail)
|
||||||
|
// if(detailData.selectDetail.sketchString || (detailData.selectDetail?.newDetail?.sketch && detailData.currentDetailType == 'sketch')){
|
||||||
|
// detailData.canvasKey += 1
|
||||||
|
// }
|
||||||
|
detailData.selectDetail.sketchString = null
|
||||||
|
resolve(true)
|
||||||
|
canvasReload()
|
||||||
|
// setRevocation()
|
||||||
|
}).catch(res=>{
|
||||||
|
resolve(true)
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
const submit = async ()=>{
|
const submit = async ()=>{
|
||||||
let workspace = store.state.Workspace.probjects
|
let workspace = store.state.Workspace.probjects
|
||||||
@@ -505,9 +526,16 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
const previwe = async ()=>{
|
const previwe = async ()=>{
|
||||||
|
detailData.loadingShow = true
|
||||||
if((detailData.currentDetailType == 'sketch' && !detailData.isEditPattern.value) || detailData.isEditPattern.value == 'editSketch'){
|
if((detailData.currentDetailType == 'sketch' && !detailData.isEditPattern.value) || detailData.isEditPattern.value == 'editSketch'){
|
||||||
let data = getSubmitData('preview')
|
await getSubmitData('preview')
|
||||||
store.dispatch('DesignDetail/setSubmit',data)
|
await getSketchSize()
|
||||||
|
detailDom.canvasBox.changeSketchUpdateFrontBack = async ()=>{
|
||||||
|
await detailDom.canvasBox.privewDetail()
|
||||||
|
detailDom?.model?.updateRect()
|
||||||
|
await upDateFrontBackSketch()
|
||||||
|
detailData.loadingShow = false
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
//走画布合成图片并且直接分割
|
//走画布合成图片并且直接分割
|
||||||
if(detailData.isEditPattern.value !== 'canvasEditor'){
|
if(detailData.isEditPattern.value !== 'canvasEditor'){
|
||||||
@@ -516,6 +544,13 @@ export default defineComponent({
|
|||||||
await detailDom.canvasBox.updateOtherLayers(otherData)
|
await detailDom.canvasBox.updateOtherLayers(otherData)
|
||||||
}
|
}
|
||||||
await detailDom.canvasBox.privewDetail()
|
await detailDom.canvasBox.privewDetail()
|
||||||
|
await upDateFrontBackSketch()
|
||||||
|
saveCanvasJSONToSession()
|
||||||
|
detailData.loadingShow = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const upDateFrontBackSketch = async ()=>{//更新模特身上的分割图
|
||||||
|
await new Promise<void>(async(resolve, reject) => {
|
||||||
let img = new Image()
|
let img = new Image()
|
||||||
img.onload = ()=>{
|
img.onload = ()=>{
|
||||||
let partialDesign = detailData.selectDetail.partialDesign.partialDesignBase64 || detailData.selectDetail.partialDesign.partialDesignPath
|
let partialDesign = detailData.selectDetail.partialDesign.partialDesignBase64 || detailData.selectDetail.partialDesign.partialDesignPath
|
||||||
@@ -534,11 +569,11 @@ export default defineComponent({
|
|||||||
front.imageUrl = rv.targetFrontUrl
|
front.imageUrl = rv.targetFrontUrl
|
||||||
back.imageUrl = rv.targetBackUrl
|
back.imageUrl = rv.targetBackUrl
|
||||||
store.commit('DesignDetail/canvasPreviewUpdata',{type:detailData.isEditPattern.value?'all':detailData.currentDetailType,callBack:setRevocation})
|
store.commit('DesignDetail/canvasPreviewUpdata',{type:detailData.isEditPattern.value?'all':detailData.currentDetailType,callBack:setRevocation})
|
||||||
|
resolve()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
img.src = detailData.selectDetail.path
|
img.src = detailData.selectDetail.path
|
||||||
saveCanvasJSONToSession()
|
})
|
||||||
}
|
|
||||||
}
|
}
|
||||||
const saveCanvasJSONToSession = ()=>{
|
const saveCanvasJSONToSession = ()=>{
|
||||||
let canvasJSON = detailDom.canvasBox.getCanvasJSON()
|
let canvasJSON = detailDom.canvasBox.getCanvasJSON()
|
||||||
@@ -631,7 +666,6 @@ export default defineComponent({
|
|||||||
otherData.trims = detailData.selectDetail.newDetail?.element?.length>0?{prints:detailData.selectDetail.newDetail?.element}:detailData.selectDetail.trims || null
|
otherData.trims = detailData.selectDetail.newDetail?.element?.length>0?{prints:detailData.selectDetail.newDetail?.element}:detailData.selectDetail.trims || null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log(JSON.parse(JSON.stringify(otherData)),'=======',JSON.parse(JSON.stringify(detailData.selectDetail)))
|
|
||||||
return otherData
|
return otherData
|
||||||
}
|
}
|
||||||
const uploadElement = async ()=>{//取出画布数据更新到detail
|
const uploadElement = async ()=>{//取出画布数据更新到detail
|
||||||
@@ -674,7 +708,6 @@ export default defineComponent({
|
|||||||
if(canvasColor.gradient){
|
if(canvasColor.gradient){
|
||||||
value.data.gradient = canvasColor.gradient
|
value.data.gradient = canvasColor.gradient
|
||||||
}
|
}
|
||||||
console.log(value,'=======')
|
|
||||||
store.commit('DesignDetail/setNewDetail',value)
|
store.commit('DesignDetail/setNewDetail',value)
|
||||||
if(allInfo.color.color.gradient)detailData.selectDetail.color.gradient = allInfo.color.color.gradient
|
if(allInfo.color.color.gradient)detailData.selectDetail.color.gradient = allInfo.color.color.gradient
|
||||||
if(detailData.currentDetailType == 'color'){
|
if(detailData.currentDetailType == 'color'){
|
||||||
@@ -687,7 +720,6 @@ export default defineComponent({
|
|||||||
if(detailData.isEditPattern.value){
|
if(detailData.isEditPattern.value){
|
||||||
await detailDom.canvasBox.saveCanvas()
|
await detailDom.canvasBox.saveCanvas()
|
||||||
}
|
}
|
||||||
detailData.canvasKey += 1
|
|
||||||
}
|
}
|
||||||
const sketchSysToLibrary = ()=>{//系统sketch添加到library更新library
|
const sketchSysToLibrary = ()=>{//系统sketch添加到library更新library
|
||||||
coverRevocation()
|
coverRevocation()
|
||||||
@@ -711,7 +743,7 @@ export default defineComponent({
|
|||||||
onBeforeUnmount(()=>{
|
onBeforeUnmount(()=>{
|
||||||
sessionStorage.removeItem('oppositeRevocation')
|
sessionStorage.removeItem('oppositeRevocation')
|
||||||
sessionStorage.removeItem('revocation')
|
sessionStorage.removeItem('revocation')
|
||||||
store.commit('DesignDetail/clearDesignDetail')
|
store.commit('DesignDetail/clearDetailData')
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ export default defineComponent({
|
|||||||
default:()=>{}
|
default:()=>{}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
emits:['update:loadingShow'],
|
||||||
setup(props,{emit}) {
|
setup(props,{emit}) {
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
const {t} = useI18n();
|
const {t} = useI18n();
|
||||||
@@ -123,6 +124,7 @@ export default defineComponent({
|
|||||||
printObject: store.state.DesignDetail.selectDetail.printObject,
|
printObject: store.state.DesignDetail.selectDetail.printObject,
|
||||||
trims: store.state.DesignDetail.selectDetail.trims,
|
trims: store.state.DesignDetail.selectDetail.trims,
|
||||||
})),
|
})),
|
||||||
|
changeSketchUpdateFrontBack:null as any,//切换sketch后是否需要合成图片进行风格
|
||||||
})
|
})
|
||||||
watch(()=>detailData.selectDetail,(newValue,oldValue)=>{
|
watch(()=>detailData.selectDetail,(newValue,oldValue)=>{
|
||||||
detailData.imgDomIndex = detailData.frontBack.front.findIndex((item:any)=>item.id == newValue.id)
|
detailData.imgDomIndex = detailData.frontBack.front.findIndex((item:any)=>item.id == newValue.id)
|
||||||
@@ -177,22 +179,16 @@ export default defineComponent({
|
|||||||
const privewDetail = async (oldSelectDetail = detailData.selectDetail)=>{
|
const privewDetail = async (oldSelectDetail = detailData.selectDetail)=>{
|
||||||
// if(!detailDom.editCanvas)return
|
// if(!detailDom.editCanvas)return
|
||||||
return new Promise(async (res,reject)=>{
|
return new Promise(async (res,reject)=>{
|
||||||
|
console.log(detailDom.editCanvas)
|
||||||
await detailDom.editCanvas.exportImage({
|
await detailDom.editCanvas.exportImage({
|
||||||
isContainFixed:true,
|
isContainFixed:true,
|
||||||
width:props.sketchSize.width,
|
width:props.sketchSize.width,
|
||||||
height:props.sketchSize.height,
|
height:props.sketchSize.height,
|
||||||
}).then((rv)=>{
|
}).then((rv)=>{
|
||||||
console.log(rv,'================')
|
console.log(rv,'================',props.sketchSize)
|
||||||
if(oldSelectDetail?.partialDesign)oldSelectDetail.partialDesign.partialDesignBase64 = rv
|
if(oldSelectDetail?.partialDesign)oldSelectDetail.partialDesign.partialDesignBase64 = rv
|
||||||
})
|
})
|
||||||
//包含平铺图层 single+overall模式的图
|
|
||||||
// await detailDom.editCanvas.exportImage({isContainFixed:true,isPrintTrimsNoRepeat:true,isPrintTrimsRepeat:true,isContainNormalLayer:false}).then((rv)=>{
|
|
||||||
// oldSelectDetail.undividedLayerWithSinglePrint = rv
|
|
||||||
// })
|
|
||||||
//不包含平铺图层overall模式的图
|
|
||||||
// await detailDom.editCanvas.exportImage({isContainFixed:true,isPrintTrimsNoRepeat:false,isPrintTrimsRepeat:true,isContainNormalLayer:false}).then((rv)=>{
|
|
||||||
// oldSelectDetail.undividedLayer = rv
|
|
||||||
// })
|
|
||||||
await setUndivideLayer()
|
await setUndivideLayer()
|
||||||
res('')
|
res('')
|
||||||
})
|
})
|
||||||
@@ -344,7 +340,13 @@ export default defineComponent({
|
|||||||
const canvasLoadJsonSuccess = async ()=>{
|
const canvasLoadJsonSuccess = async ()=>{
|
||||||
let otherData = await props.updateOtherLayers()
|
let otherData = await props.updateOtherLayers()
|
||||||
await updateOtherLayers(otherData)
|
await updateOtherLayers(otherData)
|
||||||
|
|
||||||
|
if(detailData.changeSketchUpdateFrontBack){
|
||||||
|
await detailData.changeSketchUpdateFrontBack()
|
||||||
|
detailData.changeSketchUpdateFrontBack = null
|
||||||
|
}
|
||||||
setUndivideLayer()
|
setUndivideLayer()
|
||||||
|
emit('update:loadingShow',false)
|
||||||
}
|
}
|
||||||
const setUndivideLayer = async ()=>{
|
const setUndivideLayer = async ()=>{
|
||||||
await new Promise<void>(async (resolve, reject) => {
|
await new Promise<void>(async (resolve, reject) => {
|
||||||
@@ -421,7 +423,6 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setCanvas(detailData.selectDetail.path).then(()=>{
|
setCanvas(detailData.selectDetail.path).then(()=>{
|
||||||
detailData.canvasLoad = true
|
detailData.canvasLoad = true
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -53,6 +53,7 @@
|
|||||||
</a-slider> -->
|
</a-slider> -->
|
||||||
<a-popover
|
<a-popover
|
||||||
trigger="click"
|
trigger="click"
|
||||||
|
placement="topRight"
|
||||||
destroyTooltipOnHide
|
destroyTooltipOnHide
|
||||||
:title="t('Canvas.repeatSetting')"
|
:title="t('Canvas.repeatSetting')"
|
||||||
>
|
>
|
||||||
@@ -63,8 +64,8 @@
|
|||||||
@inputFillOffset="inputFillOffset"
|
@inputFillOffset="inputFillOffset"
|
||||||
@inputFillScale="inputFillScale"
|
@inputFillScale="inputFillScale"
|
||||||
:sketchPath="selectDetail.path"
|
:sketchPath="selectDetail.path"
|
||||||
@inputFill_Gap="
|
@inputFillGap="
|
||||||
(x, y) => inputFill_Gap(x, y)"
|
(x, y) => inputFillGap(x, y)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<div class="btn">
|
<div class="btn">
|
||||||
@@ -110,7 +111,7 @@
|
|||||||
</ul> -->
|
</ul> -->
|
||||||
</div>
|
</div>
|
||||||
<div class="designOpenrtion_pingpu" v-else>
|
<div class="designOpenrtion_pingpu" v-else>
|
||||||
<pingpu :width="sketchSize.width" :height="sketchSize.height" ref="pingpuRef" @change-canvas="updateCanvas"></pingpu>
|
<pingpu :key="selectDetail?.id" :width="sketchSize.width" :height="sketchSize.height" ref="pingpuRef" @change-canvas="updateCanvas"></pingpu>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -207,7 +208,6 @@ export default defineComponent({
|
|||||||
elList:[] as any,
|
elList:[] as any,
|
||||||
selectIndex:0,
|
selectIndex:0,
|
||||||
})
|
})
|
||||||
watch
|
|
||||||
const setOveralSingle = async ()=>{
|
const setOveralSingle = async ()=>{
|
||||||
|
|
||||||
await setItemPosition()
|
await setItemPosition()
|
||||||
@@ -263,7 +263,7 @@ export default defineComponent({
|
|||||||
setItemPosition()
|
setItemPosition()
|
||||||
store.commit('DesignDetail/setCurrentPrintElement',null)
|
store.commit('DesignDetail/setCurrentPrintElement',null)
|
||||||
}
|
}
|
||||||
const previewDetailPrintData = ()=>{
|
const previewDetailPrintData = (id:any = editPrintElementData.selectDetail?.id)=>{
|
||||||
let data:any = []
|
let data:any = []
|
||||||
let index = 1
|
let index = 1
|
||||||
let setData = (item:any,index:number)=>{
|
let setData = (item:any,index:number)=>{
|
||||||
@@ -310,7 +310,8 @@ export default defineComponent({
|
|||||||
})
|
})
|
||||||
let value = {
|
let value = {
|
||||||
data,
|
data,
|
||||||
str:props.type
|
str:props.type,
|
||||||
|
id:id,
|
||||||
}
|
}
|
||||||
store.commit('DesignDetail/setNewDetail',value)
|
store.commit('DesignDetail/setNewDetail',value)
|
||||||
}
|
}
|
||||||
@@ -453,9 +454,10 @@ export default defineComponent({
|
|||||||
addPrintELement(newVal)
|
addPrintELement(newVal)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
watch(()=>((editPrintElementData.selectDetail?.id)),(newVal)=>{
|
watch(()=>((editPrintElementData.selectDetail?.id)),(newVal,oldVal)=>{
|
||||||
if(!newVal)return
|
if(!newVal)return
|
||||||
editPrintElementData.isSketchLoad = false,
|
if(oldVal)previewDetailPrintData(oldVal)
|
||||||
|
editPrintElementData.isSketchLoad = false
|
||||||
editPrintElementData.printStyleList[props.type] = {
|
editPrintElementData.printStyleList[props.type] = {
|
||||||
single:[],
|
single:[],
|
||||||
overall:[],
|
overall:[],
|
||||||
@@ -920,7 +922,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
const inputFillScale = (scale:any)=>{
|
const inputFillScale = (scale:any)=>{
|
||||||
let arr = editPrintElementData.printStyleList[props.type].overall
|
let arr = editPrintElementData.printStyleList[props.type].overall
|
||||||
console.log(arr,scale,editPrintElementData.imgDomIndex)
|
|
||||||
arr[editPrintElementData.imgDomIndex].scale = [scale,scale]
|
arr[editPrintElementData.imgDomIndex].scale = [scale,scale]
|
||||||
editPrintElementDom.pingpuRef.updataList([
|
editPrintElementDom.pingpuRef.updataList([
|
||||||
{
|
{
|
||||||
@@ -931,7 +932,7 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
const inputFill_Gap = (x:any,y:any)=>{
|
const inputFillGap = (x:any,y:any)=>{
|
||||||
let arr = editPrintElementData.printStyleList[props.type].overall
|
let arr = editPrintElementData.printStyleList[props.type].overall
|
||||||
arr[editPrintElementData.imgDomIndex].object.gapX = x
|
arr[editPrintElementData.imgDomIndex].object.gapX = x
|
||||||
arr[editPrintElementData.imgDomIndex].object.gapY = y
|
arr[editPrintElementData.imgDomIndex].object.gapY = y
|
||||||
@@ -991,7 +992,7 @@ export default defineComponent({
|
|||||||
inputFillAngle,
|
inputFillAngle,
|
||||||
inputFillOffset,
|
inputFillOffset,
|
||||||
inputFillScale,
|
inputFillScale,
|
||||||
inputFill_Gap,
|
inputFillGap,
|
||||||
overallSetIndex,
|
overallSetIndex,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -32,8 +32,8 @@
|
|||||||
is-input
|
is-input
|
||||||
:tipFormatter="(v) => `${v}px`"
|
:tipFormatter="(v) => `${v}px`"
|
||||||
:value="gapX"
|
:value="gapX"
|
||||||
@input="(e) => emit('inputFill_Gap', e, gapY)"
|
@input="(e) => emit('inputFillGap', e, gapY)"
|
||||||
@change="(e) => emit('changeFill_Gap', e, gapY)"
|
@change="(e) => emit('changeFillGap', e, gapY)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<p></p>
|
<p></p>
|
||||||
@@ -46,8 +46,8 @@
|
|||||||
is-input
|
is-input
|
||||||
:tipFormatter="(v) => `${v}px`"
|
:tipFormatter="(v) => `${v}px`"
|
||||||
:value="gapY"
|
:value="gapY"
|
||||||
@input="(e) => emit('inputFill_Gap', gapX, e)"
|
@input="(e) => emit('inputFillGap', gapX, e)"
|
||||||
@change="(e) => emit('changeFill_Gap', gapX, e)"
|
@change="(e) => emit('changeFillGap', gapX, e)"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<p></p>
|
<p></p>
|
||||||
@@ -115,8 +115,8 @@
|
|||||||
"changeFillOffset",
|
"changeFillOffset",
|
||||||
"inputFillScale",
|
"inputFillScale",
|
||||||
"changeFillScale",
|
"changeFillScale",
|
||||||
"inputFill_Gap",
|
"inputFillGap",
|
||||||
"changeFill_Gap",
|
"changeFillGap",
|
||||||
]);
|
]);
|
||||||
const inputFillScale = (e) => {
|
const inputFillScale = (e) => {
|
||||||
const scale = e / 100;
|
const scale = e / 100;
|
||||||
|
|||||||
@@ -128,7 +128,10 @@ export default defineComponent({
|
|||||||
getDetailListDom.position?.updataPosition?.()
|
getDetailListDom.position?.updataPosition?.()
|
||||||
getDetailListDom.modelNav?.setItemPosition?.()
|
getDetailListDom.modelNav?.setItemPosition?.()
|
||||||
getDetailListDom.position?.updateRect?.()
|
getDetailListDom.position?.updateRect?.()
|
||||||
},500)
|
},200)
|
||||||
|
}
|
||||||
|
const updateRect = ()=>{
|
||||||
|
getDetailListDom.position?.updateRect?.()
|
||||||
}
|
}
|
||||||
const setBack = ()=>{
|
const setBack = ()=>{
|
||||||
showDesignImgDetail(getDetailListData.isEditPattern.value)
|
showDesignImgDetail(getDetailListData.isEditPattern.value)
|
||||||
@@ -156,6 +159,7 @@ export default defineComponent({
|
|||||||
oppositeRevocation,
|
oppositeRevocation,
|
||||||
mousedownDesignImg,
|
mousedownDesignImg,
|
||||||
setBack,
|
setBack,
|
||||||
|
updateRect,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -155,8 +155,8 @@ export default defineComponent({
|
|||||||
};
|
};
|
||||||
const updateRect = ()=>{
|
const updateRect = ()=>{
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
moveableInstance.value.updateRect()
|
if(moveableInstance.value)moveableInstance.value.updateRect()
|
||||||
}, 500);
|
}, 200);
|
||||||
}
|
}
|
||||||
const initMoveableForSelected = () => {
|
const initMoveableForSelected = () => {
|
||||||
// 销毁旧的实例
|
// 销毁旧的实例
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ interface DesignDetail{
|
|||||||
//值都有 sketch,color,print,element
|
//值都有 sketch,color,print,element
|
||||||
currentDetailType:any,
|
currentDetailType:any,
|
||||||
currentPrintElement:any,
|
currentPrintElement:any,
|
||||||
|
canvasKey:any,
|
||||||
}
|
}
|
||||||
|
|
||||||
const DesignDetail : Module<DesignDetail,RootState> = {
|
const DesignDetail : Module<DesignDetail,RootState> = {
|
||||||
@@ -28,6 +29,7 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
|||||||
printZIndex:-1,
|
printZIndex:-1,
|
||||||
currentDetailType:'',
|
currentDetailType:'',
|
||||||
currentPrintElement:null,
|
currentPrintElement:null,
|
||||||
|
canvasKey:0,
|
||||||
},
|
},
|
||||||
mutations:{
|
mutations:{
|
||||||
clearDetailData(state){
|
clearDetailData(state){
|
||||||
@@ -42,6 +44,7 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
|||||||
state.printZIndex = -1
|
state.printZIndex = -1
|
||||||
state.currentDetailType = ''
|
state.currentDetailType = ''
|
||||||
state.currentPrintElement = null
|
state.currentPrintElement = null
|
||||||
|
state.canvasKey = 0
|
||||||
},
|
},
|
||||||
setDesignDetail(state,data){
|
setDesignDetail(state,data){
|
||||||
if(data.others.length > 0 && data.others[0].type == "Body"){
|
if(data.others.length > 0 && data.others[0].type == "Body"){
|
||||||
@@ -63,7 +66,6 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
v?.printObject?.prints?.forEach((item:any) => {
|
v?.printObject?.prints?.forEach((item:any) => {
|
||||||
console.log(item.object)
|
|
||||||
if(isJSONString(item.object)){
|
if(isJSONString(item.object)){
|
||||||
item.object = JSON.parse(item.object)
|
item.object = JSON.parse(item.object)
|
||||||
}
|
}
|
||||||
@@ -115,18 +117,6 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
clearDesignDetail(state){
|
|
||||||
state.designDetail = null
|
|
||||||
state.designPreviewData = {}
|
|
||||||
state.frontBack = {
|
|
||||||
front:[],
|
|
||||||
back:[],
|
|
||||||
body:{},
|
|
||||||
}
|
|
||||||
state.selectDetail = null
|
|
||||||
state.currentDetailType = ''
|
|
||||||
state.printZIndex = -1
|
|
||||||
},
|
|
||||||
addDesign(state,data){
|
addDesign(state,data){
|
||||||
|
|
||||||
},
|
},
|
||||||
@@ -135,28 +125,32 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
|||||||
// if(item.id == state.selectDetail.id){
|
// if(item.id == state.selectDetail.id){
|
||||||
// }
|
// }
|
||||||
// });
|
// });
|
||||||
|
let select = state.selectDetail
|
||||||
|
if(value.id){
|
||||||
|
select = state.designDetail.clothes.find((item:any) => item.id == value.id)
|
||||||
|
}
|
||||||
let {data} = value
|
let {data} = value
|
||||||
let str = value.str || state.currentDetailType
|
let str = value.str || state.currentDetailType
|
||||||
if(!state.selectDetail)return
|
if(!select)return
|
||||||
if(!state.selectDetail.newDetail){
|
if(!select.newDetail){
|
||||||
state.selectDetail.newDetail = {}
|
select.newDetail = {}
|
||||||
}
|
}
|
||||||
if(str == 'sketch'){
|
if(str == 'sketch'){
|
||||||
state.selectDetail.newDetail[str] = data
|
select.newDetail[str] = data
|
||||||
}else if(str == 'color'){
|
}else if(str == 'color'){
|
||||||
state.selectDetail.newDetail[str] = data
|
select.newDetail[str] = data
|
||||||
}else if(str == 'print'){
|
}else if(str == 'print'){
|
||||||
state.selectDetail.newDetail[str] = data
|
select.newDetail[str] = data
|
||||||
}else if(str == 'element'){
|
}else if(str == 'element'){
|
||||||
state.selectDetail.newDetail[str] = data
|
select.newDetail[str] = data
|
||||||
}else if(str == 'models'){
|
}else if(str == 'models'){
|
||||||
// if(!state.designDetail.newModel)state.designDetail.newModel={}
|
// if(!state.designDetail.newModel)state.designDetail.newModel={}
|
||||||
state.designDetail.newModel = JSON.parse(JSON.stringify(data))
|
state.designDetail.newModel = JSON.parse(JSON.stringify(data))
|
||||||
}else{
|
}else{
|
||||||
if(!state.selectDetail.newDetail[str])state.selectDetail.newDetail[str] = []
|
if(!select.newDetail[str])select.newDetail[str] = []
|
||||||
const foundObjects = state.selectDetail.newDetail[str].filter((item:any) => item.id === data.id);
|
const foundObjects = select.newDetail[str].filter((item:any) => item.id === data.id);
|
||||||
if(foundObjects.length == 0){
|
if(foundObjects.length == 0){
|
||||||
state.selectDetail.newDetail[str].push(data)
|
select.newDetail[str].push(data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -226,21 +220,22 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
|||||||
});
|
});
|
||||||
state.selectDetail = data
|
state.selectDetail = data
|
||||||
},
|
},
|
||||||
|
changeCanvasKey(state){
|
||||||
|
state.canvasKey+=1
|
||||||
|
},
|
||||||
canvasPreviewUpdata(state,{type,callBack}){
|
canvasPreviewUpdata(state,{type,callBack}){
|
||||||
console.log(state.selectDetail,type)
|
|
||||||
// state.selectDetail.newDetail?.print?.forEach((item:any) => {
|
// state.selectDetail.newDetail?.print?.forEach((item:any) => {
|
||||||
// state.selectDetail.printObject.prints = []
|
// state.selectDetail.printObject.prints = []
|
||||||
// state.selectDetail.printObject.push({
|
// state.selectDetail.printObject.push({
|
||||||
// })
|
// })
|
||||||
// });
|
// });
|
||||||
if(type == 'print' || type == 'all')state.selectDetail.printObject.prints = state.selectDetail.newDetail?.print
|
if((type == 'print' || type == 'all') && state.selectDetail.newDetail?.print)state.selectDetail.printObject.prints = state.selectDetail.newDetail?.print
|
||||||
if(type == 'color' || type == 'all')state.selectDetail.color = {
|
if((type == 'color' || type == 'all') && state.selectDetail.newDetail?.color?.rgba)state.selectDetail.color = {
|
||||||
...state.selectDetail.newDetail?.color,
|
...state.selectDetail.newDetail?.color,
|
||||||
...state.selectDetail.newDetail?.color?.rgba,
|
...state.selectDetail.newDetail?.color?.rgba,
|
||||||
...state.selectDetail.newDetail?.color?.hsv,
|
...state.selectDetail.newDetail?.color?.hsv,
|
||||||
}
|
}
|
||||||
console.log(state.selectDetail,type,state.selectDetail.newDetail)
|
if((type == 'element' || type == 'all') && state.selectDetail.newDetail?.element)state.selectDetail.trims.prints = state.selectDetail.newDetail?.element
|
||||||
if(type == 'element' || type == 'all')state.selectDetail.trims.prints = state.selectDetail.newDetail?.element
|
|
||||||
if(type == 'all'){
|
if(type == 'all'){
|
||||||
state.selectDetail.newDetail = {}
|
state.selectDetail.newDetail = {}
|
||||||
}else{
|
}else{
|
||||||
@@ -248,7 +243,7 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
|||||||
}
|
}
|
||||||
callBack()
|
callBack()
|
||||||
},
|
},
|
||||||
async setPraeview(state,value){//preview
|
setPraeview(state,value){//preview
|
||||||
let data = value?.rv || value
|
let data = value?.rv || value
|
||||||
let currentType = value?.currentType
|
let currentType = value?.currentType
|
||||||
if(state.designDetail.oldModel?.url)state.frontBack.body.path = state.designDetail.oldModel.url
|
if(state.designDetail.oldModel?.url)state.frontBack.body.path = state.designDetail.oldModel.url
|
||||||
@@ -267,50 +262,41 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
|||||||
}else{
|
}else{
|
||||||
id_ = item.id
|
id_ = item.id
|
||||||
}
|
}
|
||||||
let el:any = document.querySelector('.molepositon .perview_img')
|
if(state.frontBack?.body?.path){
|
||||||
await new Promise((resolve, reject) => {
|
let scale:any = value.scale
|
||||||
if(!state.frontBack?.body?.path){
|
if(state.selectDetail?.newDetail?.sketch?.id && !state.selectDetail.id){
|
||||||
resolve('')
|
state.frontBack.front.push({id:state.selectDetail.newDetail?.sketch?.id})
|
||||||
|
state.frontBack.back.push({id:state.selectDetail.newDetail?.sketch?.id})
|
||||||
}
|
}
|
||||||
const img = new Image();
|
state.frontBack.front.forEach((v:any,index:any)=>{
|
||||||
img.src = state.frontBack.body.path;
|
if(v.id == id_){
|
||||||
img.onload = () => {
|
for (let i = item.layersObject.length-1; i >= 0; i--) {
|
||||||
let scale:any = el.parentNode.offsetWidth / img.width;
|
item.layersObject[i].style = {
|
||||||
if(state.selectDetail?.newDetail?.sketch?.id && !state.selectDetail.id){
|
top:item.layersObject[i].position?.[0] * scale + 'px',
|
||||||
state.frontBack.front.push({id:state.selectDetail.newDetail?.sketch?.id})
|
left:item.layersObject[i].position?.[1] * scale + 'px',
|
||||||
state.frontBack.back.push({id:state.selectDetail.newDetail?.sketch?.id})
|
width:item.layersObject[i].imageSize?.[0] * scale + 'px',
|
||||||
}
|
height:item.layersObject[i].imageSize?.[1] * scale + 'px',
|
||||||
state.frontBack.front.forEach((v:any,index:any)=>{
|
zIndex:v?.style?.zIndex?v.style.zIndex:v.priority?v.priority:state.frontBack.front.length,
|
||||||
if(v.id == id_){
|
transform:`rotate(${item.layersObject?.[i]?.rotate || 0}deg) scaleX(${item.layersObject[i].transpose?.[0] || 1}) scaleY(${item.layersObject[i].transpose?.[1] || 1})`,
|
||||||
for (let i = item.layersObject.length-1; i >= 0; i--) {
|
}
|
||||||
item.layersObject[i].style = {
|
item.layersObject[i].centers={
|
||||||
top:item.layersObject[i].position?.[0] * scale + 'px',
|
left:0,
|
||||||
left:item.layersObject[i].position?.[1] * scale + 'px',
|
top:0,
|
||||||
width:item.layersObject[i].imageSize?.[0] * scale + 'px',
|
}
|
||||||
height:item.layersObject[i].imageSize?.[1] * scale + 'px',
|
item.layersObject[i].designOpenrtionBtn = false
|
||||||
zIndex:v?.style?.zIndex?v.style.zIndex:v.priority?v.priority:state.frontBack.front.length,
|
if(item.layersObject[i].imageCategory.indexOf("back") == -1){
|
||||||
transform:`rotate(${item.layersObject?.[i]?.rotate || 0}deg) scaleX(${item.layersObject[i].transpose?.[0] || 1}) scaleY(${item.layersObject[i].transpose?.[1] || 1})`,
|
state.frontBack.front[index] = item.layersObject[i]
|
||||||
}
|
// state.frontBack.front[index].style.zIndex = v.priority
|
||||||
item.layersObject[i].centers={
|
state.frontBack.front[index].id = item.id
|
||||||
left:0,
|
}else{
|
||||||
top:0,
|
state.frontBack.back[index] = item.layersObject[i]
|
||||||
}
|
// state.frontBack.back[index].style.zIndex = v.priority
|
||||||
item.layersObject[i].designOpenrtionBtn = false
|
state.frontBack.back[index].id = item.id
|
||||||
if(item.layersObject[i].imageCategory.indexOf("back") == -1){
|
|
||||||
state.frontBack.front[index] = item.layersObject[i]
|
|
||||||
// state.frontBack.front[index].style.zIndex = v.priority
|
|
||||||
state.frontBack.front[index].id = item.id
|
|
||||||
}else{
|
|
||||||
state.frontBack.back[index] = item.layersObject[i]
|
|
||||||
// state.frontBack.back[index].style.zIndex = v.priority
|
|
||||||
state.frontBack.back[index].id = item.id
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
resolve('')
|
})
|
||||||
};
|
}
|
||||||
})
|
|
||||||
let uploadDetail = (detailItem)=>{
|
let uploadDetail = (detailItem)=>{
|
||||||
detailItem.change = item.change
|
detailItem.change = item.change
|
||||||
if(detailItem?.newDetail?.color && currentType != 'color'){
|
if(detailItem?.newDetail?.color && currentType != 'color'){
|
||||||
@@ -321,6 +307,7 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
|||||||
detailItem.partialDesign = item.partialDesign
|
detailItem.partialDesign = item.partialDesign
|
||||||
}
|
}
|
||||||
detailItem.designType = item.designType
|
detailItem.designType = item.designType
|
||||||
|
detailItem.canvasId = item.canvasId
|
||||||
detailItem.layersObject = item.layersObject
|
detailItem.layersObject = item.layersObject
|
||||||
detailItem.path = item.path
|
detailItem.path = item.path
|
||||||
detailItem.minIOPath = item.minIOPath
|
detailItem.minIOPath = item.minIOPath
|
||||||
@@ -357,44 +344,9 @@ const DesignDetail : Module<DesignDetail,RootState> = {
|
|||||||
}else{
|
}else{
|
||||||
uploadDetail(state.selectDetail)
|
uploadDetail(state.selectDetail)
|
||||||
}
|
}
|
||||||
|
|
||||||
if(state.currentDetailType != 'models'){
|
|
||||||
// state.selectDetail.change = item.change
|
|
||||||
// if(state.selectDetail?.newDetail?.color && currentType != 'color'){
|
|
||||||
// state.selectDetail.color = state.selectDetail?.newDetail?.color
|
|
||||||
// state.selectDetail.newDetail.color = null
|
|
||||||
// }
|
|
||||||
// if(item.partialDesign){
|
|
||||||
// state.selectDetail.partialDesign = item.partialDesign
|
|
||||||
// }
|
|
||||||
// state.selectDetail.designType = item.designType
|
|
||||||
// state.selectDetail.layersObject = item.layersObject
|
|
||||||
// state.selectDetail.path = item.path
|
|
||||||
// state.selectDetail.minIOPath = item.minIOPath
|
|
||||||
// state.selectDetail.scale = [1,1]
|
|
||||||
// state.selectDetail.offset = [0,0]
|
|
||||||
// state.selectDetail.printObject = item.printObject
|
|
||||||
// state.selectDetail.trims = item.trims
|
|
||||||
// state.selectDetail.type = item.type
|
|
||||||
// state.selectDetail.maskMinioUrl = item.layersObject?.[0]?.maskMinioUrl
|
|
||||||
// state.selectDetail.maskUrl = item.layersObject?.[0]?.maskUrl
|
|
||||||
// state.selectDetail.color = {
|
|
||||||
// ...item.color,
|
|
||||||
// rgba:{
|
|
||||||
// r:item.color?.r,
|
|
||||||
// g:item.color?.g,
|
|
||||||
// b:item.color?.b,
|
|
||||||
// },
|
|
||||||
// gradient:item.gradient,
|
|
||||||
// }
|
|
||||||
// if(state.selectDetail.newDetail?.sketch?.id && !state.selectDetail.id){
|
|
||||||
// state.designDetail.clothes.push(state.selectDetail)
|
|
||||||
// }
|
|
||||||
// state.selectDetail.id = item.id
|
|
||||||
// if(currentType)if(state.selectDetail.newDetail?.[currentType] && currentType != 'color')delete state.selectDetail.newDetail[currentType]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if(value.fun)value.fun()
|
if(value.fun)value.fun()
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// setDesignItemOthers(state,data){
|
// setDesignItemOthers(state,data){
|
||||||
|
|||||||
@@ -312,7 +312,7 @@
|
|||||||
import type { Rule } from 'ant-design-vue/es/form'
|
import type { Rule } from 'ant-design-vue/es/form'
|
||||||
import { message } from 'ant-design-vue'
|
import { message } from 'ant-design-vue'
|
||||||
import type { UploadChangeParam } from 'ant-design-vue'
|
import type { UploadChangeParam } from 'ant-design-vue'
|
||||||
import VerifycationCodeInput from './components/verificationCodeInput.vue'
|
import VerifycationCodeInput from './components/VerificationCodeInput.vue'
|
||||||
import { Https } from '@/tool/https'
|
import { Https } from '@/tool/https'
|
||||||
import UploadStatus from './components/UploadStatus.vue'
|
import UploadStatus from './components/UploadStatus.vue'
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user