From 76315492adeac28a85986b8426a96806092d2245 Mon Sep 17 00:00:00 2001 From: X1627315083 Date: Thu, 12 Oct 2023 17:09:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E4=BB=A3=E6=B5=8B=E8=AF=95=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/Detail/DesignDetail.vue | 49 ++++++- src/component/Detail/DesignDetailAlter.vue | 51 +++++++- src/component/Detail/DesignDetailEnd.vue | 2 +- src/component/Detail/DesignPrintOperation.vue | 28 ++-- src/component/Detail/habit.vue | 73 +++++++++-- src/component/Detail/setDesignItem.vue | 123 +++--------------- .../HomePage/ExportNewCoolection.vue | 20 ++- src/component/HomePage/Material.vue | 78 +++++------ .../HomePage/NewCollectionReview.vue | 5 + src/tool/https.js | 10 +- src/tool/util.js | 3 + src/views/HomeView.vue | 12 +- src/views/LibraryPage.vue | 9 +- vue.config.js | 2 +- 14 files changed, 267 insertions(+), 198 deletions(-) diff --git a/src/component/Detail/DesignDetail.vue b/src/component/Detail/DesignDetail.vue index 395e03cb..ba490c94 100644 --- a/src/component/Detail/DesignDetail.vue +++ b/src/component/Detail/DesignDetail.vue @@ -29,6 +29,11 @@
+
+
+ +
+
@@ -390,6 +395,7 @@ export default defineComponent({ setSubmitItem(str:any){ let designItemDetail = JSON.parse(JSON.stringify(this.store.state.DesignDetailModule.designItemDetail)) let clothes:any = [] + designItemDetail.clothes.forEach((item:any) => { let clothesItem = { color: `${item.color.r} ${item.color.g} ${item.color.b}`, @@ -420,6 +426,7 @@ export default defineComponent({ }else{ data.isPreview = false } + this.store.commit('setDesignPreviewData',data) return data }, setSubmit(str:any){ @@ -528,13 +535,22 @@ export default defineComponent({ mouseupDesignImg(){ this.imgDesignImg = true }, - + clothesOpen(index:any){ + this.clothesDetail('',index) + }, + clothesOpenActive(index:any){ + this.designItemDetail.clothes.forEach((item:any)=>{ + item.clothesOpen = false + }) + this.designItemDetail.clothes[index].clothesOpen = true + }, //元素替换 clothesDetail(clothes:any, index:number){ let designItemDetail = JSON.parse(JSON.stringify(this.store.state.DesignDetailModule.designItemDetail)) this.currentIndex = index this.designOrder = true this.current = designItemDetail.clothes[this.currentIndex] + this.clothesOpenActive(index) let data:any = this.setSubmitItem('preview') data.designSingleItemDTOList[this.currentIndex] = { color:`${this.current.color.r} ${this.current.color.g} ${this.current.color.b}`, @@ -677,7 +693,36 @@ export default defineComponent({ .detail_modal_body{ position: relative; // max-width: 245px; - width: 100%; + // width: 100%; + height: 100%; + .detail_modal_body_nav{ + display: flex; + position: absolute; + top: 0; + left: 50%; + z-index: 999; + transform: translateX(-50%); + >div{ + width: 4rem; + height: 4rem; + cursor: pointer; + text-align: center; + img{ + // width: 100%; + height: 100%; + } + &.active{ + border: 2px solid rgba(0,0,0,0.4); + img{ + transform: scale(.8); + opacity: .8; + } + } + } + >div:nth-child(1){ + margin-right: 1rem; + } + } .detail_modal_item_front:last-child{ z-index: 1 !important; } diff --git a/src/component/Detail/DesignDetailAlter.vue b/src/component/Detail/DesignDetailAlter.vue index b0be52f8..d9a00724 100644 --- a/src/component/Detail/DesignDetailAlter.vue +++ b/src/component/Detail/DesignDetailAlter.vue @@ -107,7 +107,7 @@ class="select_category" @click.stop="showFileCategory(file)" > - {{ getSketchLabel(file.level2Type) }} + {{ file.level2Type }}
clothesList.length" class="material_content_list_loding" v-observe> + +
@@ -297,6 +300,9 @@ export default defineComponent({ label: "Skirt", }, ] + let total = ref(0) + let pageSize = ref(10) + let currentPage = ref(1) let isShowLoading = ref(false) let clothesList = ref([]) @@ -318,6 +324,9 @@ export default defineComponent({ openClick, searchPictureName, disignTypeList, + total, + pageSize, + currentPage, isShowLoading, clothesList, uploadList, @@ -374,7 +383,30 @@ export default defineComponent({ workspaceCom:{} } }, - + directives:{ + observe:{ + mounted (el,binding) { + // console.log(binding.instance); + const ob = new IntersectionObserver(callback,{ + root:null, + threshold:[.5] + }) + ob.observe(el) + // this.currentPage = 1 + // this.pageSize = 12 + let this_ = binding.instance + function callback(entries, observer) { + entries.forEach((entry) => { + if (entry.isIntersecting) { + console.log(11); + this_.getLibraryList() + } else { + } + }); + } + }, + }, + }, computed:{ getSketchLabel(value) { return (value) => { @@ -630,19 +662,23 @@ export default defineComponent({ }, //请求我的印花&&模型 getLibraryList(){ + let workspace = this.store.state.Workspace.workspace let data = { level1Type:this.selectCode, // level2Type:this.designType, - page:1, + modelSex:workspace?.sex, + page:this.currentPage, pictureName:this.searchPictureName, - size:10, + size:this.pageSize+this.clothesList.length, } this.isShowLoading = true Https.axiosPost(Https.httpUrls.queryLibraryPage,data).then( (rv) => { + this.clothesList = rv.content this.isShowLoading = false + this.total = rv.total } ).catch((res)=>{ this.isShowLoading = false @@ -990,6 +1026,13 @@ export default defineComponent({ &.scroll_style::-webkit-scrollbar{display: none;} } + .material_content_list_loding{ + text-align: center; + width: 100%; + img{ + height: 10rem; + } + } .content_img_item{ display: inline-block; vertical-align: top; diff --git a/src/component/Detail/DesignDetailEnd.vue b/src/component/Detail/DesignDetailEnd.vue index 924fc12e..fb266f34 100644 --- a/src/component/Detail/DesignDetailEnd.vue +++ b/src/component/Detail/DesignDetailEnd.vue @@ -165,7 +165,7 @@ export default defineComponent({ return `${value*3}%`; }, setPrint(){ - if(this.current.printObject.prints[0].path){ + if(this.current?.printObject?.prints?.[0]?.path){ let DesignPrintOperation = this.$refs.DesignPrintOperation DesignPrintOperation.init() }else{ diff --git a/src/component/Detail/DesignPrintOperation.vue b/src/component/Detail/DesignPrintOperation.vue index c6a97310..77f38596 100644 --- a/src/component/Detail/DesignPrintOperation.vue +++ b/src/component/Detail/DesignPrintOperation.vue @@ -246,19 +246,18 @@ export default defineComponent({ this.printStyleList[0].style.width = print.width+'px' this.printStyleList[0].style.height = print.height+'px' this.printStyleList[0].designOpenrtionBtn = false - if(this.overallSingle){ - nextTick().then(()=>{ - if(this.designOpenrtionList[0].scale){ - this.designOpenrtionList.forEach((item,index)=>{ - this.setTemplate(item,index) - this.printAmount = this.printStyleList.length + nextTick().then(()=>{ + if(this.designOpenrtionList[0].scale){ + this.designOpenrtionList.forEach((item,index)=>{ + this.setTemplate(item,index) + this.printAmount = this.printStyleList.length - }) - }else{ - this.refetchTemplate(0) - } - }) - } + }) + }else{ + this.refetchTemplate(0) + } + }) + } }, @@ -548,7 +547,8 @@ export default defineComponent({ arr.forEach((v,index)=>{ if(!this.overallSingle){ scale = this.systemDesignerPercentage*3/100 - location = [arr[index].style.left.replace(/px/g,'')*sketchNum+this.print.width.replace(/px/g,'')/2-7,arr[index].style.top.replace(/px/g,'')*sketchNum+this.print.height.replace(/px/g,'')/2-7] + // location = [arr[index].style.left.replace(/px/g,'')*sketchNum+this.print.width.replace(/px/g,'')/2-7,arr[index].style.top.replace(/px/g,'')*sketchNum+this.print.height.replace(/px/g,'')/2-7] + location = [arr[index].style.left.replace(/px/g,'')*sketchNum,arr[index].style.top.replace(/px/g,'')*sketchNum] }else{ scale = (arr[index].style.width.replace(/px/g,'')*sketchNum/this.print.width.replace(/px/g,'')) location = [arr[index].style.left.replace(/px/g,'')*sketchNum,arr[index].style.top.replace(/px/g,'')*sketchNum] @@ -557,7 +557,7 @@ export default defineComponent({ angle : !this.overallSingle ? 0:arr[index].transform.rotateZ, location : location, priority:arr[index].style.zIndex, - scale: !this.overallSingle? 1:scale, + scale: scale, path:this.designOpenrtionList[index].path, minIOPath:this.designOpenrtionList[index].minIOPath, } diff --git a/src/component/Detail/habit.vue b/src/component/Detail/habit.vue index 8f90088a..9601d5dd 100644 --- a/src/component/Detail/habit.vue +++ b/src/component/Detail/habit.vue @@ -159,7 +159,8 @@ import { defineComponent, createVNode, ref,Ref} from "vue"; import { UserOutlined, DownOutlined } from "@ant-design/icons-vue"; import { Https } from "@/tool/https"; import type { MenuProps } from "ant-design-vue"; -import { message,Upload} from 'ant-design-vue'; +import { Modal,message,Upload} from 'ant-design-vue'; +import { ExclamationCircleOutlined } from '@ant-design/icons-vue'; export default defineComponent({ components: { DownOutlined, @@ -220,7 +221,8 @@ export default defineComponent({ this.workspaceItem.position = 'Overall' } let data = this.workspaceItem - this.putWorkspace(data) + delete data.isLastIndex + this.putWorkspace(data,'') this.store.commit("setWorkspace", this.workspaceItem); } } @@ -237,11 +239,12 @@ export default defineComponent({ this.workspaceItem.id_ = v.id } if(v.id == oldVal){ - this.getDetail(newVal) delete v.isLastIndex - this.putWorkspace(v) + this.putWorkspace(v,newVal) + // this.getDetail(newVal) } }) + this.getMannequins() } }, workspaceItem:{ @@ -393,14 +396,27 @@ export default defineComponent({ getMannequins(){//获取模特 Https.axiosGet(Https.httpUrls.getMannequins,{params:{sex:this.workspaceItem.sex}}).then((rv: any) => { if (rv) { + // rv.forEach((item:any)=>{ + // item.type == + // }) + if(rv[0].type == 'System'){ + let a = rv[0] + rv[0] = rv[1] + rv[1] = a + } this.mannequins = rv } }) }, - putWorkspace(data:any){//修改workspace + putWorkspace(data:any,index:any){//修改workspace + console.log(index); + Https.axiosPost(Https.httpUrls.workspacesaveOrUpdate,data).then((rv: any) => { if (rv) { + if(index){ + this.getDetail(index) + } this.getworkspace() } }) @@ -417,8 +433,30 @@ export default defineComponent({ if(this.workspaceItem.overallSingle){ this.workspaceItem.position = this.singleTypeList[0].label }else{ + this.workspaceItem.position = 'Overall' } }, + + cancelDsign(index:any){ + let _this = this + Modal.confirm({ + title: 'Whether to delete the workspace?', + icon: createVNode(ExclamationCircleOutlined), + okText: 'Yes', + cancelText: 'No', + mask:false, + wrapClassName:'habit', + zIndex:999999999, + // centered:true, + onOk() { + let data = [{ + id:_this.workspace.workspaceList[index].id, + }] + let id = _this.workspace.workspaceList[index].id + _this.deleteWorkspace(data) + } + }); + }, //修改名字 putName(index:number,v:string){ this.workspace.workspaceList.forEach((v:any )=> { @@ -428,12 +466,12 @@ export default defineComponent({ this.workspaceItemName = this.workspace.workspaceList[index].workSpaceName this.workspace.workspaceList[index].putName = true }else if (v == 'delete'){ - let data = [{ - id:this.workspace.workspaceList[index].id, - }] - let id = this.workspace.workspaceList[index].id - this.deleteWorkspace(data) - + this.cancelDsign(index) + // let data = [{ + // id:this.workspace.workspaceList[index].id, + // }] + // let id = this.workspace.workspaceList[index].id + // this.deleteWorkspace(data) }else{ if(this.workspaceItemName == ''){ message.warning('Please enter a workbench name'); @@ -442,7 +480,7 @@ export default defineComponent({ let data = { workSpaceName:this.workspaceItemName, } - this.putWorkspace(data) + this.putWorkspace(data,'') this.openType.addWorkspace = false }else{ let data:any @@ -452,7 +490,7 @@ export default defineComponent({ } }) data.workSpaceName = this.workspaceItemName - this.putWorkspace(data) + this.putWorkspace(data,'') this.workspace.workspaceList[index].workSpaceName = this.workspaceItemName this.workspace.workspaceList[index].putName = false } @@ -499,6 +537,15 @@ export default defineComponent({ // this.workspaceItem.mannequinId = item.id // this.workspaceItem.mannequinType = str // this.workspaceItem.mannequinUrl = item.presignedUrl + if(this.workspaceItem.sex == 'Female'){ + this.workspaceItem.femalePresignedUrl = item.presignedUrl + this.workspaceItem.mannequinFemaleType = str + this.workspaceItem.mannequinFemaleId = item.id + }else if(this.workspaceItem.sex == 'Male'){ + this.workspaceItem.malePresignedUrl = item.presignedUrl + this.workspaceItem.mannequinMaleType = str + this.workspaceItem.mannequinMaleId = item.id + } this.workspaceItem.mannequinUrl = item.presignedUrl this.workspaceItem.mannequinType = str this.workspaceItem.mannequinId = item.id diff --git a/src/component/Detail/setDesignItem.vue b/src/component/Detail/setDesignItem.vue index de9b9956..1866682c 100644 --- a/src/component/Detail/setDesignItem.vue +++ b/src/component/Detail/setDesignItem.vue @@ -1,5 +1,5 @@