detail更新

This commit is contained in:
X1627315083
2025-02-25 15:32:55 +08:00
parent 3b230ae222
commit 6cfcd4ce16
28 changed files with 1701 additions and 1056 deletions

View File

@@ -42,11 +42,12 @@
</div>
</div>
<div class="item detailLeft" :class="{isEditPattern:isEditPattern.value}">
<detailLeft v-if="selectDetail && selectDetail.id && currentDetailType"></detailLeft>
<detailLeft v-if="currentDetailType"></detailLeft>
<!-- <detailLeft v-if="selectDetail && selectDetail.id && currentDetailType"></detailLeft> -->
</div>
<div class="item model">
<model ref="model" @detailEdit="detailEdit"></model>
<model ref="model" @canvasReload="canvasReload" @detailEdit="detailEdit" @addSketch="()=>isEditPattern.value=false"></model>
<div class="btn">
<div class="gallery_btn" @click="submit">Submit</div>
<div class="gallery_btn" @click="previwe">Preview</div>
@@ -55,11 +56,11 @@
<div class="item detailRight">
<div class="submit">
</div>
<div class="contentRight" v-if="selectDetail && selectDetail.id && currentDetailType && !isEditPattern.value">
<div class="contentRight" v-if="currentDetailType && !isEditPattern.value">
<detailRight></detailRight>
</div>
<div class="contentRight" v-if="selectDetail && selectDetail.id && currentDetailType && isEditPattern.value">
<canvasBox></canvasBox>
<canvasBox ref="canvasBox" :key="childKey"></canvasBox>
</div>
<!-- 画布 -->
<!-- <div class="content" v-else-if="selectDetail && selectDetail.id">
@@ -101,7 +102,8 @@ export default defineComponent({
const store = useStore();
const detailDom = reactive({
model:null
model:null,
canvasBox,
})
const userDetail = computed(()=>{
return store.state.UserHabit.userDetail
@@ -115,6 +117,7 @@ export default defineComponent({
isEditPattern:{
value:false,
},// 是否编辑图案
childKey:0,
})
provide('isEditPattern',detailData.isEditPattern)
const closeModal = ()=>{
@@ -179,6 +182,7 @@ export default defineComponent({
let clothesList:any = []
for(let i = 0;i<list.length;i++){
let {scale,offset,priority,maskUrl,maskMinioUrl} = (detailDom.model as any).getSubmitData(list[i])
await (detailDom.canvasBox as any).privewDetail()
let gradient = null
let newData = list[i]?.newDetail?.[detailData.currentDetailType]
let isCurrent = list[i].id == detailData?.selectDetail?.id
@@ -189,14 +193,16 @@ export default defineComponent({
id:(newData && detailData.currentDetailType == 'sketch' && isCurrent)?newData.id:list[i].id,
// maskMinioUrl:'',
// maskUrl:'',
maskUrl:list[i].maskUrl?list[i].maskUrl:null,
offset,
partialDesign:list[i].partialDesign,
path:(newData && detailData.currentDetailType == 'sketch' && isCurrent)?newData.minIOPath:list[i].minIOPath,
printObject:list[i].printObject,
printObject:list[i].printObject?list[i].printObject:{prints:[]},
priority,
scale,
type:(newData && detailData.currentDetailType == 'sketch' && isCurrent)?newData.level2Type:list[i].type,
sketchString:'',
trims:list[i].trims,
trims:list[i].trims?list[i].trims:{prints:null},
}
if((list[i].color?.gradient || list[i].newDetail?.color?.gradient)){
gradient = list[i].newDetail?.color?.gradient || list[i].color.gradient
@@ -209,6 +215,7 @@ export default defineComponent({
}
const getSubmitData = async (str:string)=>{
let workspace = store.state.Workspace.workspace
if(!detailData.selectDetail.path && !detailData.selectDetail.newDetail?.sketch?.minIOPath)return
let clothes:any = await setClothes([detailData.selectDetail])
let data = {
designItemId:detailData.designDetail.designItemId,
@@ -269,13 +276,13 @@ export default defineComponent({
store.dispatch('DesignDetailCopy/setSubmit',data)
}
const detailEdit = (str:any)=>{
console.log(str);
if(str == 'edit'){
detailData.isEditPattern.value = !detailData.isEditPattern.value
console.log(detailData.isEditPattern);
}
}
const canvasReload = ()=>{
detailData.childKey += 1
}
onBeforeUnmount(()=>{
store.commit('DesignDetailCopy/clearDesignDetail')
})
@@ -288,6 +295,7 @@ export default defineComponent({
previwe,
submit,
detailEdit,
canvasReload,
}
},
provide() {
@@ -348,9 +356,9 @@ export default defineComponent({
transform: translate(-50%,-50%);
z-index: 2;
:deep(.ant-modal-wrap){
position: absolute;
top: 0;
left: 0;
// position: absolute;
// top: 0;
// left: 0;
}
.content{
display: flex;