This commit is contained in:
X1627315083
2025-04-01 15:25:15 +08:00
parent 70ed89049a
commit b6e5f05f06
101 changed files with 11533 additions and 1015 deletions

View File

@@ -128,7 +128,11 @@ export default defineComponent({
value:false,
},// 是否编辑图案
childKey:0,
singleOveral:{
value:'overall'
}
})
provide('singleOveral',detailData.singleOveral)
provide('isEditPattern',detailData.isEditPattern)
const closeModal = ()=>{
sessionStorage.removeItem('oppositeRevocation')
@@ -165,6 +169,8 @@ export default defineComponent({
}
});
})
detailData.singleOveral.value = rv.singleOverall
console.log(detailData.singleOveral)
detailData.designDetailShow = true
store.commit('DesignDetailCopy/setDesignDetail',rv)
// this.deleteShow = false
@@ -269,7 +275,7 @@ export default defineComponent({
return clothesList
}
const getSubmitData = async (str:string)=>{
let workspace = store.state.Workspace.workspace
let workspace = store.state.Workspace.probjects
if(!detailData.selectDetail.path && !detailData.selectDetail.newDetail?.sketch?.minIOPath)return
let clothes:any = await setClothes([detailData.selectDetail])
let data = {
@@ -277,7 +283,7 @@ export default defineComponent({
designSingleItemDTOList:clothes,
isPreview:true,
// ifSubmit:designItemDetail.isPreview,
gender:workspace?.sex,
gender:workspace?.sex == 'Male'?1:0,
sketchString:'',
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
processId:userDetail.value.userId,
@@ -295,14 +301,14 @@ export default defineComponent({
});
}
const submit = async ()=>{
let workspace = store.state.Workspace.workspace
let workspace = store.state.Workspace.probjects
let clothes:any = await setClothes(detailData.designDetail.clothes)
let data = {
designItemId:detailData.designDetail.designItemId,
designSingleItemDTOList:clothes,
isPreview:false,
// ifSubmit:designItemDetail.isPreview,
gender:workspace?.sex,
gender:workspace?.sex == 'Male'?1:0,
sketchString:'',
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
processId:userDetail.value.userId,
@@ -408,6 +414,7 @@ export default defineComponent({
:deep(.detailText){
font-size: 1.8rem;
font-weight: 600;
}
.designDetailModal{
position: absolute;
@@ -419,6 +426,9 @@ export default defineComponent({
transform: translate(-50%,-50%);
z-index: 2;
:deep(.ant-modal-wrap){
.ant-modal-body{
padding: 0;
}
// position: absolute;
// top: 0;
// left: 0;

View File

@@ -2,10 +2,10 @@
<template>
<div class="uploadList">
<div class="uploadList_box">
<div class="content_img_item" v-for="(file) in currentList[currentDetailType]" :key="file.id">
<div class="content_img_item" v-for="(file) in currentList[type]" :key="file.id">
<div class="content_img_item_block" :class="{active:file?.checked}">
<img v-lazy="file.imgUrl" :key="file.imgUrl" :alt="file.name" @click.stop="selectImgItem(file)"/>
<sketchCategory :disignTypeList="catecoryList" :generateList="allBoardData.sketchboardFiles" :item="file" :isSpread="true"></sketchCategory>
<sketchCategory v-model:disignTypeList="catecoryList" :generateList="allBoardData.sketchboardFiles" :item="file" :isSpread="true"></sketchCategory>
</div>
</div>
</div>
@@ -29,7 +29,12 @@ export default defineComponent({
type:Object,
default:()=>[] as any,
required:true
}
},
type:{
type:String,
default:'' as any,
required:true
},
},
emits:['selectImgItem'],
setup(props,{emit}) {
@@ -38,9 +43,9 @@ export default defineComponent({
const detailData = reactive({
allBoardData:computed(()=>store.state.UploadFilesModule.allBoardData),
currentList:{
sketch:[],
print:[],
color:[],
sketch:computed(()=>store.state.UploadFilesModule.allBoardData.sketchboardFiles),
print:computed(()=>store.state.UploadFilesModule.allBoardData.printboardFiles),
color:computed(()=>store.state.UploadFilesModule.allBoardData.colorBoards),
},
currentDetailType:computed(()=>store.state.DesignDetailCopy.currentDetailType),
@@ -56,11 +61,11 @@ export default defineComponent({
}
onMounted(()=>{
detailData.currentList = {
sketch:detailData.allBoardData.sketchboardFiles,
print:detailData.allBoardData.printboardFiles,
color:detailData.allBoardData.colorBoards,
}
// detailData.currentList = {
// sketch:detailData.allBoardData.sketchboardFiles,
// print:detailData.allBoardData.printboardFiles,
// color:detailData.allBoardData.colorBoards,
// }
})
return{

View File

@@ -57,6 +57,10 @@ export default defineComponent({
default:'' as any,
required:true
},
randomId:{
type:Boolean,
default:true
},
level1Type:{
type:String,
default:'' as any,
@@ -100,9 +104,11 @@ export default defineComponent({
let id = file.id
if(type == 'sketch'){
id = Number(file.id + (randomNum + ''))
if(hasDuplicateId(id)){
selectImgItem(file)
return
if(props.randomId){
if(hasDuplicateId(id)){
selectImgItem(file)
return
}
}
}
let data = JSON.parse(JSON.stringify(file))
@@ -113,7 +119,7 @@ export default defineComponent({
const getLibraryList = ()=>{
detailData.isShowLoading = true
let level2Type = ''
let workspace = store.state.Workspace.workspace
let workspace = store.state.Workspace.probjects
// let type = store.state.DesignDetailCopy.currentDetailType
let data = {
level1Type:props.level1Type,

View File

@@ -26,13 +26,13 @@
</div>
<div class="print_content_list">
<div class="content_item" v-show="selectTitle == 'current'" v-if="type != 'element'">
<currentList ref="currentList" :level1Type="level1Type" @selectImgItem="selectImgItem" :catecoryList="catecoryList"></currentList>
<currentList ref="currentList" :level1Type="level1Type" :type="type" @selectImgItem="selectImgItem" :catecoryList="catecoryList"></currentList>
</div>
<div class="content_item" v-show="selectTitle == 'upload'">
<uploadList @selectImgItem="selectImgItem" :level1Type="level1Type" :catecoryList="catecoryList"></uploadList>
</div>
<div class="content_item" v-show="selectTitle == 'library'">
<libraryList @selectImgItem="selectImgItem" :level1Type="level1Type" :type="type" ref="libraryList" :catecoryList="catecoryList"></libraryList>
<libraryList @selectImgItem="selectImgItem" :randomId="randomId" :level1Type="level1Type" :type="type" ref="libraryList" :catecoryList="catecoryList"></libraryList>
</div>
</div>
</div>
@@ -58,6 +58,11 @@ export default defineComponent({
type:Array,
default:()=>[]
},
randomId:{
type:Boolean,
default:true,
required:false
},
type:{
type:String,
default:'' as any,

View File

@@ -75,7 +75,7 @@ export default defineComponent({
upload:{
isPin: 0,
level1Type: props.level1Type,
gender:store.state.Workspace.workspace.sex,
gender:store.state.Workspace.probjects.sex ,
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
},
token:getCookie("token"),

View File

@@ -35,7 +35,7 @@ export default defineComponent({
selectTitle:'current',
selectDetail:computed(()=>store.state.DesignDetailCopy.selectDetail),
sketchCatecoryList:computed(()=>{
return store.state.Workspace.workspacePosition
return store.state.Workspace.probjects.positionList
}),
currentDetailType:computed(()=>store.state.DesignDetailCopy.currentDetailType)
})

View File

@@ -4,7 +4,7 @@
<i v-if="item?.id != selectDetail?.id" class="fi fi-rr-trash" @click.stop="deleteDetailItem(item?.id)"></i>
<img :src="item.path" alt="">
</div>
<div v-if="currentDetailType == 'sketch' || currentDetailType == ''" :class="{active:!selectDetail?.id && currentDetailType == 'sketch'}" class="modelNav_item add" @click="addSketch">
<div v-show="singleOveral.value == 'overall'" v-if="currentDetailType == 'sketch' || currentDetailType == '' " :class="{active:!selectDetail?.id && currentDetailType == 'sketch'}" class="modelNav_item add" @click="addSketch">
+
</div>
</div>
@@ -32,7 +32,8 @@ export default defineComponent({
designDetail:computed(()=>store.state.DesignDetailCopy.designDetail),
currentDetailType:computed(()=>store.state.DesignDetailCopy.currentDetailType),
frontBack:{} as any,
isEditPattern:inject('isEditPattern') as any
isEditPattern:inject('isEditPattern') as any,
singleOveral:inject('singleOveral') as any
})
watch(()=>detailData.frontBack_,(newFollowVue)=>{
detailData.frontBack = newFollowVue

View File

@@ -1,14 +1,14 @@
<template>
<div class="molepositon" :class="{active:!imgDesignImg}">
<div class="designOpenrtion_imgMask" v-if="frontBack?.body" :style="frontBack?.body?.style">
<div class="designOpenrtion_print" v-for="item,index in frontBack.back" @mousedown.stop="itemMoveMousedown(index,getMousePosition($event,false))" @touchstart.passive="itemMoveMousedown(index,getMousePosition($event,true))" @click="setpitch(item,index)" :style="frontBack.front[index].style">
<div class="designOpenrtion_print" :class="{active:singleOveral.value == 'single'}" v-for="item,index in frontBack.back" @mousedown.stop="itemMoveMousedown(index,getMousePosition($event,false))" @touchstart.passive="itemMoveMousedown(index,getMousePosition($event,true))" @click="setpitch(item,index)" :style="frontBack.front[index].style">
<img :style="item.imageUrl?'':'display:none;'" :src="item.imageUrl" alt="">
</div>
<img class="perview_img" v-detailBody="frontBack?.body?.path" :style="'width:'+ frontBack?.body?.layersObject?.[0].imageSize?.[0] +';height:' + frontBack?.body?.layersObject?.[0].imageSize?.[0] +';'" v-lazy="frontBack?.body?.layersObject?.[0].imageUrl || ''">
<div class="detail_modal_item_front" v-for="item,index in frontBack.front" @mousedown.stop="itemMoveMousedown(index,getMousePosition($event,false))" @touchstart.passive="itemMoveMousedown(index,getMousePosition($event,true))" @click="setpitch(item,index)" :style="item.style">
<img v-show="singleOveral.value == 'overall'" class="perview_img" v-detailBody="frontBack?.body?.path" :style="'width:'+ frontBack?.body?.layersObject?.[0].imageSize?.[0] +';height:' + frontBack?.body?.layersObject?.[0].imageSize?.[0] +';'" v-lazy="frontBack?.body?.layersObject?.[0].imageUrl || ''">
<div class="detail_modal_item_front" :class="{active:singleOveral.value == 'single'}" v-for="item,index in frontBack.front" @mousedown.stop="itemMoveMousedown(index,getMousePosition($event,false))" @touchstart.passive="itemMoveMousedown(index,getMousePosition($event,true))" @click="setpitch(item,index)" :style="item.style">
<img :src="item.imageUrl" alt="">
</div>
<div class="designOpenrtion_btn">
<div class="designOpenrtion_btn" v-show="singleOveral.value != 'overall'">
<ul v-for="item,index in frontBack.front" :key="item" :class="{active:item.designOpenrtionBtn}" class="designOpenrtion_btn" :style="item.style" @mousedown.stop="itemMoveMousedown(index,getMousePosition($event,false))" @touchstart.passive="itemMoveMousedown(index,getMousePosition($event,true))">
<li class="designOpenrtion_btn_top" @mousedown.stop="itemSizeMousedown('top',getMousePosition($event,false))" @touchstart.passive="itemSizeMousedown('top',getMousePosition($event,true))"></li>
<li class="designOpenrtion_btn_bottom" @mousedown.stop="itemSizeMousedown('bottom',getMousePosition($event,false))" @touchstart.passive="itemSizeMousedown('bottom',getMousePosition($event,true))"></li>
@@ -18,7 +18,7 @@
</div>
</div>
<div class="designOpenrtion_imgMask" v-else>
<img src="" alt="">
<!-- <img src="" alt=""> -->
</div>
</div>
<div class="molepositon" :class="{active:imgDesignImg}">
@@ -55,8 +55,8 @@ export default defineComponent({
const detailData = reactive({
frontBack:computed(()=>store.state.DesignDetailCopy.frontBack),
designDetail:computed(()=>store.state.DesignDetailCopy.designDetail),
isEditPattern:inject('isEditPattern') as any
isEditPattern:inject('isEditPattern') as any,
singleOveral:inject('singleOveral') as any
})
const selectItem = reactive({
selectDetail:computed(()=>store.state.DesignDetailCopy.selectDetail),
@@ -418,6 +418,7 @@ export default defineComponent({
.detail_modal_item_front,.designOpenrtion_print{
z-index: 2;
height: 100%;
img{
width: 100%;
height: 100%;
@@ -425,6 +426,11 @@ export default defineComponent({
user-select:none;
-webkit-user-drag: none;
}
&.active{
> img{
object-fit: contain;
}
}
.modal_imgItem{
position: absolute;
overflow: hidden;