From 6cfcd4ce166d7cc98892c4806e0996b1657083fa Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Tue, 25 Feb 2025 15:32:55 +0800 Subject: [PATCH] =?UTF-8?q?detail=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/js/fabric.brushes.js | 5 +- src/assets/style/style.css | 4 +- src/assets/style/style.less | 4 +- src/component/Canvas/argument.vue | 1 + src/component/Canvas/index.vue | 2 +- src/component/Detail/addDetails.vue | 8 +- src/component/Detail/editFrontBack.vue | 404 +++------ src/component/DetailCopy/canvas/argument.vue | 298 ++++-- .../DetailCopy/canvas/canvasContent.vue | 125 +-- src/component/DetailCopy/canvas/index.vue | 162 +++- src/component/DetailCopy/canvas/tool.vue | 55 +- src/component/DetailCopy/designDetail.vue | 34 +- .../DetailCopy/detailLeft/colorBox/index.vue | 14 +- src/component/DetailCopy/detailLeft/index.vue | 20 +- .../detailLeft/module/currentList.vue | 5 +- .../detailLeft/module/libraryList.vue | 18 +- .../detailLeft/module/selectList.vue | 158 ++++ .../detailLeft/module/uploadList.vue | 4 +- src/component/DetailCopy/detailLeft/print.vue | 95 +- .../DetailCopy/detailLeft/sketch.vue | 85 +- .../detailRight/editPrintElement.vue | 125 +++ .../DetailCopy/detailRight/index.vue | 9 +- src/component/DetailCopy/model/index.vue | 24 +- src/component/DetailCopy/model/modelNav.vue | 36 +- .../DetailCopy/model/modelPosition.vue | 41 +- src/store/Detail/designDetailCopy.ts | 163 ++-- src/tool/canvasGeneralCopy.js | 856 +++++++++++------- src/views/HomeMain.vue | 2 +- 28 files changed, 1701 insertions(+), 1056 deletions(-) create mode 100644 src/component/DetailCopy/detailLeft/module/selectList.vue create mode 100644 src/component/DetailCopy/detailRight/editPrintElement.vue diff --git a/public/js/fabric.brushes.js b/public/js/fabric.brushes.js index c5e63310..470a78fb 100644 --- a/public/js/fabric.brushes.js +++ b/public/js/fabric.brushes.js @@ -176,7 +176,10 @@ fabric.BaseBrush.prototype.convertToImg = function() { left:((xy.x)/pixelRatio-pointerX)/this.canvas.getZoom(), top:((xy.y)/pixelRatio-pointerY)/this.canvas.getZoom(), 'scaleX':1/pixelRatio/this.canvas.getZoom(), - 'scaleY':1/pixelRatio/this.canvas.getZoom() + 'scaleY':1/pixelRatio/this.canvas.getZoom(), + custom:{ + type:'pencil' + } }).setCoords(); this.canvas.add(img).clearContext(this.canvas.contextTop); this.canvas.clearContext(this.canvas.contextTop); diff --git a/src/assets/style/style.css b/src/assets/style/style.css index 1ca0a1a6..f78ac47f 100644 --- a/src/assets/style/style.css +++ b/src/assets/style/style.css @@ -887,10 +887,10 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte .generalModel.fullScreen { max-width: 100%; } -.generalModel.fullScreen .ant-modal-content { +.generalModel.fullScreen > .ant-modal-content { border-radius: 0rem; } -.generalModel.fullScreen .ant-modal-body { +.generalModel.fullScreen > .ant-modal-body { padding: 2.5rem 3rem; } .generalModel .ant-modal-content { diff --git a/src/assets/style/style.less b/src/assets/style/style.less index 00c2ac19..bfee6c65 100644 --- a/src/assets/style/style.less +++ b/src/assets/style/style.less @@ -960,10 +960,10 @@ tr > .ant-picker-cell-in-view.ant-picker-cell-range-hover-start:last-child::afte height: calc(65rem*1.2); &.fullScreen{ max-width: 100%; - .ant-modal-content{ + > .ant-modal-content{ border-radius: 0rem; } - .ant-modal-body{ + > .ant-modal-body{ padding: 2.5rem 3rem; } } diff --git a/src/component/Canvas/argument.vue b/src/component/Canvas/argument.vue index d66f0359..9fc2c802 100644 --- a/src/component/Canvas/argument.vue +++ b/src/component/Canvas/argument.vue @@ -167,6 +167,7 @@ } input{ height: 100%; + width: 12rem; } &.wH input{ width: 5rem; diff --git a/src/component/Canvas/index.vue b/src/component/Canvas/index.vue index 2bf302fd..687a501e 100644 --- a/src/component/Canvas/index.vue +++ b/src/component/Canvas/index.vue @@ -52,7 +52,7 @@ export default defineComponent({ let liquefactionData = ref() let groupDashed = ref(null)//用来判断是否需要对group添加img let canvasType = 'export' - let canvasObj = reactive(canvasGeneral) + let canvasObj = reactive(new canvasGeneral()) provide('canvasType',canvasType) provide('canvasObj',canvasObj) provide('isShowMark',isShowMark) diff --git a/src/component/Detail/addDetails.vue b/src/component/Detail/addDetails.vue index 54225dec..b98e80fd 100644 --- a/src/component/Detail/addDetails.vue +++ b/src/component/Detail/addDetails.vue @@ -1,5 +1,5 @@ @@ -54,26 +21,24 @@ import { Https } from "@/tool/https"; import { useStore } from "vuex"; import { useI18n } from 'vue-i18n' // import sketchCategory from "@/component/HomePage/sketchCategory.vue"; -import libraryList from './module/libraryList.vue' -import uploadList from './module/uploadList.vue' -import currentList from './module/currentList.vue' +import selectList from './module/selectList.vue' export default defineComponent({ components:{ - currentList, - libraryList, - uploadList, + selectList, }, setup(props,{emit}) { const store = useStore(); const detailData = reactive({ selectTitle:'current', selectDetail:computed(()=>store.state.DesignDetailCopy.selectDetail), - sketchCatecoryList:computed(()=>{ + printCatecoryList:computed(()=>{ return store.state.UserHabit.printType }), - printList:[] + printList:[], + currentDetailType:computed(()=>store.state.DesignDetailCopy.currentDetailType) }) - watch(()=>detailData.selectDetail?.printObject?.prints,(newVal,oldVal)=>{ + watch(()=>detailData?.selectDetail?.printObject?.prints,(newVal,oldVal)=>{ + if(!newVal)return detailData.printList = newVal.reduce((acc:any, curr:any) => { if (!acc.some((item:any) => item.id === curr.id)) { acc.push(curr); @@ -100,8 +65,8 @@ export default defineComponent({ detailData.selectTitle = 'library' getDetailListDom.libraryList.init() } - const selectImgItem = ()=>{ - + const selectImgItem = (data:any)=>{ + store.commit('DesignDetailCopy/setNewDetail',data) } return{ @@ -171,45 +136,5 @@ export default defineComponent({ } } } - > .switch_type_list{ - display: flex; - margin-bottom: 2.5rem; - > .switch_type_item:last-child{ - margin-right: 0; - } - > .switch_type_item{ - position: relative; - cursor: pointer; - margin-right: 6.5rem; - } - > .switch_type_item::before { - position: absolute; - content: ""; - display: block; - background: #000; - height: calc(.4rem*1.2); - left: 50%; - transform: translateX(-50%); - bottom: -.5rem; - width: 0px; - transition: 0.3s all; - } - > .select_swtich { - color: #000; - font-weight: 600; - transform: scale(1.15); - } - > .select_swtich::before { - width: 100%; - } - } - > .print_content_list{ - flex: 1; - overflow: hidden; - > .content_item{ - height: 100%; - margin-top: 1rem; - } - } } \ No newline at end of file diff --git a/src/component/DetailCopy/detailLeft/sketch.vue b/src/component/DetailCopy/detailLeft/sketch.vue index 5593a87e..67e4f64d 100644 --- a/src/component/DetailCopy/detailLeft/sketch.vue +++ b/src/component/DetailCopy/detailLeft/sketch.vue @@ -1,45 +1,18 @@ + \ No newline at end of file diff --git a/src/component/DetailCopy/detailRight/index.vue b/src/component/DetailCopy/detailRight/index.vue index 18c9b771..8b4fbf69 100644 --- a/src/component/DetailCopy/detailRight/index.vue +++ b/src/component/DetailCopy/detailRight/index.vue @@ -5,8 +5,9 @@ --> - - + + + @@ -16,10 +17,11 @@ import { defineComponent,computed,ref,provide,nextTick,createVNode,toRefs, react import { useStore } from "vuex"; import sketchType from './sketchType.vue' import printType from './printType.vue' +import editPrintElement from './editPrintElement.vue' import elementType from './elementType.vue' export default defineComponent({ components:{ - sketchType,printType,elementType + sketchType,printType,elementType,editPrintElement }, setup(props,{emit}) { const store = useStore(); @@ -89,7 +91,6 @@ export default defineComponent({ > .select_swtich { color: #000; font-weight: 600; - transform: scale(1.15); } > .select_swtich::before { width: 100%; diff --git a/src/component/DetailCopy/model/index.vue b/src/component/DetailCopy/model/index.vue index 3fbbebd9..b2296044 100644 --- a/src/component/DetailCopy/model/index.vue +++ b/src/component/DetailCopy/model/index.vue @@ -1,14 +1,17 @@