From 851a9280f0b44e3f8cfe285353a169cf9c4ff75f Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Mon, 20 May 2024 10:23:20 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E7=9A=84=E6=8B=96=E6=8B=BD=E4=BA=A4?= =?UTF-8?q?=E4=BA=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/component/Detail/habit.vue | 3 +- src/component/HomePage/ExportModel.vue | 44 ++++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/src/component/Detail/habit.vue b/src/component/Detail/habit.vue index 91b5dc7a..5ff71584 100644 --- a/src/component/Detail/habit.vue +++ b/src/component/Detail/habit.vue @@ -90,7 +90,6 @@ @@ -615,6 +614,8 @@ export default defineComponent({ this.workspaceItem.systemDesignerPercentage = num }, formatter(value: number) { + // let num = Math.abs((value-50)*2) + return `${value}%`; }, diff --git a/src/component/HomePage/ExportModel.vue b/src/component/HomePage/ExportModel.vue index 6f3392b4..24db1548 100644 --- a/src/component/HomePage/ExportModel.vue +++ b/src/component/HomePage/ExportModel.vue @@ -54,7 +54,7 @@
Color
Sketch
Selected Design
-
+
{{colorItem.tcx}}
@@ -63,10 +63,11 @@
@@ -808,6 +809,18 @@ export default defineComponent({ currentType.value.type = type currentType.value.data = imgItem } + let present = {} + let setDragstart = (type,imgItem)=>{ + currentType.value.type = type + present.checked = false + present = {} + if(imgItem.checked){ + }else{ + imgItem.checked = true + present = imgItem + } + currentType.value.data = imgItem + } let canvasOnDrop = ()=>{ canvas.on('drop', (opt)=> { let offset = { @@ -1359,7 +1372,27 @@ export default defineComponent({ } //设置再画布上按下 let setCanvasDown = (event)=>{ - + //设置移动端按下添加元素 + if(isMoible && present.checked){ + present.checked = false + present = {} + let pointerVpt = canvas.restorePointerVpt(event.pointer) + switch (currentType.value.type) { + case 'colorBoards': + let rect = setGroup(currentType.value.data) + setCanvasColor(pointerVpt.y, pointerVpt.x,rect) + break + case 'moodboardFiles': + createImage(pointerVpt.y, pointerVpt.x,currentType.value.type) + break + default : + createImage(pointerVpt.y, pointerVpt.x,currentType.value.type) + break + } + // 创建完元素,把当前操作的元素类型设置回 null + currentType.value.type = null + currentType.value.data = null + } downPoint = event.absolutePointer let arr = ['rect','line','circle','triangle','ellipse','fold'] if(arr.indexOf(operation.value) > -1){ @@ -1636,6 +1669,7 @@ export default defineComponent({ setCloseNav,//给图片导航或者工具收起来或者展开 multiselect,//获取整体高度 onDragstart,//拖拽函数 + setDragstart,//的移动端拖拽改为按下 historyState,//执行撤回或者反撤回 operation,//设置当前鼠标状态绘画或者矩形或者移动 operationMode,//设置矩形是边框还是填充 @@ -1896,6 +1930,10 @@ export default defineComponent({ max-height: 100%; } } + .active{ + opacity: .5; + transform: scale(.9); + } } } .exportCanvasBox_left_tool{ From b1a44db11830181b66554ff797f5e43ee808fb82 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Mon, 20 May 2024 10:45:30 +0800 Subject: [PATCH 2/3] fix --- src/component/Detail/habit.vue | 22 +++++++++++++++----- src/component/HomePage/Generate.vue | 2 +- src/component/HomePage/PrintboardUpload.vue | 4 ++-- src/component/HomePage/SketchboardUpload.vue | 4 ++-- src/views/HomeView/library.vue | 21 +++++++++++++++++-- 5 files changed, 41 insertions(+), 12 deletions(-) diff --git a/src/component/Detail/habit.vue b/src/component/Detail/habit.vue index 5ff71584..12115505 100644 --- a/src/component/Detail/habit.vue +++ b/src/component/Detail/habit.vue @@ -94,8 +94,14 @@ >
-
{{ $t('Habit.System') }}
-
{{ $t('Habit.Designer') }}
+
+ + {{ $t('Habit.System') }}(100%) +
+
+ + {{ $t('Habit.Designer') }}(100%) +
@@ -614,9 +620,8 @@ export default defineComponent({ this.workspaceItem.systemDesignerPercentage = num }, formatter(value: number) { - // let num = Math.abs((value-50)*2) - - return `${value}%`; + let num = Math.abs((value-50)*2) + return `${num}%`; }, //根据id设置当前参数 @@ -916,7 +921,14 @@ export default defineComponent({ .habit_System_Designer_text_max { display: flex; justify-content: space-between; + text-align: center; + .habit_System_Designer_text { + >span{ + font-size: 1.2rem; + font-weight: 600; + color: #2d2e76; + } } } } diff --git a/src/component/HomePage/Generate.vue b/src/component/HomePage/Generate.vue index e04ba32f..3f02ac48 100644 --- a/src/component/HomePage/Generate.vue +++ b/src/component/HomePage/Generate.vue @@ -504,7 +504,7 @@ export default defineComponent({ // } if(this.searchPictureName){ let arr = this.searchPictureName.split(/\s+/).length - if(arr > 75){ + if(arr > 250){ message.info( this.t('Generate.jsContent4') ); diff --git a/src/component/HomePage/PrintboardUpload.vue b/src/component/HomePage/PrintboardUpload.vue index c020f96f..864e8715 100644 --- a/src/component/HomePage/PrintboardUpload.vue +++ b/src/component/HomePage/PrintboardUpload.vue @@ -723,7 +723,7 @@ export default defineComponent({ // this.beforeUpload(false) if(this.captionGeneration){ let arr = this.captionGeneration.split(/\s+/).length - if(arr > 75){ + if(arr > 250){ message.info( this.t('PrintboardUpload.jsContent5') ); @@ -740,7 +740,7 @@ export default defineComponent({ if(this.useGenerate.imgId){ if(this.captionGeneration){ let arr = this.captionGeneration.split(/\s+/).length - if(arr > 75){ + if(arr > 250){ message.info( this.t('PrintboardUpload.jsContent5') ); diff --git a/src/component/HomePage/SketchboardUpload.vue b/src/component/HomePage/SketchboardUpload.vue index 0ff285a8..69095350 100644 --- a/src/component/HomePage/SketchboardUpload.vue +++ b/src/component/HomePage/SketchboardUpload.vue @@ -686,7 +686,7 @@ export default defineComponent({ // this.beforeUpload(false) if(this.captionGeneration){ let arr = this.captionGeneration.split(/\s+/).length - if(arr > 75){ + if(arr > 250){ message.info( this.t('PrintboardUpload.jsContent5') ); @@ -703,7 +703,7 @@ export default defineComponent({ if(this.useGenerate.imgId){ if(this.captionGeneration){ let arr = this.captionGeneration.split(/\s+/).length - if(arr > 75){ + if(arr > 250){ message.info( this.t('PrintboardUpload.jsContent5') ); diff --git a/src/views/HomeView/library.vue b/src/views/HomeView/library.vue index 8fbd2097..a779dcec 100644 --- a/src/views/HomeView/library.vue +++ b/src/views/HomeView/library.vue @@ -213,6 +213,7 @@ @keydown.enter="getgenerate" :readonly="checkbox[0].type && selectCode != 'Moodboard'" :placeholder="$t('LibraryPage.inputContent2')" v-model="captionGeneration"> +
{{ $t('LibraryPage.Generate') }} @@ -1152,7 +1153,7 @@ export default defineComponent({ // this.beforeUpload(false) if(this.captionGeneration){ let arr = this.captionGeneration.split(/\s+/).length - if(arr > 75){ + if(arr > 250){ message.info( this.t('LibraryPage.jsContent6') ); @@ -1170,7 +1171,7 @@ export default defineComponent({ if(generageImg?.id){ if(this.captionGeneration){ let arr = this.captionGeneration.split(/\s+/).length - if(arr > 75){ + if(arr > 250){ message.info( this.t('LibraryPage.jsContent6') ); @@ -1528,6 +1529,7 @@ export default defineComponent({ color: #C2C2C2; } } + .search_cascader{ // width: 53%; width: 38rem; @@ -1681,8 +1683,14 @@ export default defineComponent({ padding: 0; .input_box{ background:initial; + position: relative; padding: 1.5rem 0; padding: 0; + &:hover{ + .search_textarea{ + display: block + } + } input{ width: 30rem; height: 3rem; @@ -1690,6 +1698,15 @@ export default defineComponent({ cursor: no-drop; } } + .search_textarea{ + height: auto; + display: none; + position: absolute; + left: 0; + width: 30rem; + top: 0rem; + border: 1px solid #f6f5fa; + } .started_btn{ } From 1a7fc6d89638820ae68701813cc0d60b98f3e865 Mon Sep 17 00:00:00 2001 From: X1627315083 <1627315083@qq.com> Date: Mon, 20 May 2024 13:07:42 +0800 Subject: [PATCH 3/3] fix --- src/assets/style/style.css | 36 ++++++++++++++ src/assets/style/style.less | 29 ++++++++++- src/component/HomePage/Generate.vue | 13 +++++ src/component/HomePage/PrintboardUpload.vue | 10 +++- src/component/HomePage/SketchboardUpload.vue | 10 +++- src/views/HomeView/library.vue | 52 ++++++++++++++++---- 6 files changed, 138 insertions(+), 12 deletions(-) diff --git a/src/assets/style/style.css b/src/assets/style/style.css index bab09fce..a113c3b7 100644 --- a/src/assets/style/style.css +++ b/src/assets/style/style.css @@ -1223,6 +1223,10 @@ i { width: 100%; height: 100%; } +textarea:focus { + outline: none; + /* 清除默认焦点样式 */ +} .collection_modal_body .input_border, .design_detail_modal_component .input_border, .library_page .input_border { @@ -1284,6 +1288,38 @@ i { .library_page .input_border input.forbidden { cursor: no-drop; } +.collection_modal_body .input_border .icon-xiala, +.design_detail_modal_component .input_border .icon-xiala, +.library_page .input_border .icon-xiala { + margin-left: 1rem; + display: inline-block; + cursor: pointer; + transition: all 0.3s; +} +.collection_modal_body .input_border .icon-xiala.active, +.design_detail_modal_component .input_border .icon-xiala.active, +.library_page .input_border .icon-xiala.active { + transform: rotate(180deg); +} +.collection_modal_body .input_border .icon-xiala.forbidden, +.design_detail_modal_component .input_border .icon-xiala.forbidden, +.library_page .input_border .icon-xiala.forbidden { + cursor: no-drop; +} +.collection_modal_body .input_border .search_textarea, +.design_detail_modal_component .input_border .search_textarea, +.library_page .input_border .search_textarea { + z-index: 3; + height: auto; + position: absolute; + left: 0; + font-size: calc(1.6rem*1.2); + width: 70%; + border-radius: 4px; + height: 20rem; + top: 0.2rem; + border: 1px solid #dcdfe6; +} .collection_modal_body .input_border span, .design_detail_modal_component .input_border span, .library_page .input_border span { diff --git a/src/assets/style/style.less b/src/assets/style/style.less index 48efec0e..9b7b75c1 100644 --- a/src/assets/style/style.less +++ b/src/assets/style/style.less @@ -1320,7 +1320,9 @@ i{ height: 100%; } } - +textarea:focus{ + outline: none; /* 清除默认焦点样式 */ +} //设计input和上传按钮样式 .collection_modal_body,.design_detail_modal_component,.library_page{ .input_border{ @@ -1371,6 +1373,31 @@ i{ cursor: no-drop; } } + .icon-xiala{ + margin-left:1rem; + display: inline-block; + cursor: pointer; + transition: all .3s; + &.active{ + transform: rotate(180deg); + } + &.forbidden{ + cursor: no-drop; + } + } + .search_textarea{ + z-index:3; + height: auto; + position: absolute; + left: 0; + font-size: calc(1.6rem*1.2); + // width: 30rem; + width: 70%; + border-radius: 4px; + height: 20rem; + top: .2rem; + border: 1px solid #dcdfe6; + } span{ position: absolute; // bottom: calc(0rem*1.2); diff --git a/src/component/HomePage/Generate.vue b/src/component/HomePage/Generate.vue index 3f02ac48..f196083f 100644 --- a/src/component/HomePage/Generate.vue +++ b/src/component/HomePage/Generate.vue @@ -53,6 +53,15 @@ v-model="searchPictureName" @keydown.enter="getgenerate()" /> + +
{{ $t('Generate.Generate') }} @@ -302,6 +311,7 @@ export default defineComponent({ type2: prop.msg, }, workspaceCom:{}, + isTextarea:false }; }, @@ -638,6 +648,9 @@ export default defineComponent({ }); } }, + setTextareaShow(){ + this.isTextarea = !this.isTextarea + }, ifMaximumLength(){ clearTimeout(this.inputTime) let inputBox = document.getElementsByClassName('generate')[0].getElementsByClassName('input_box')[0] diff --git a/src/component/HomePage/PrintboardUpload.vue b/src/component/HomePage/PrintboardUpload.vue index 864e8715..06dc3334 100644 --- a/src/component/HomePage/PrintboardUpload.vue +++ b/src/component/HomePage/PrintboardUpload.vue @@ -106,6 +106,9 @@
+ +
{{ $t('LibraryPage.Generate') }} @@ -294,7 +297,8 @@ export default defineComponent({ token: "", uploadUrl: "", captionGeneration:'', - workspaceCom:{} + workspaceCom:{}, + isTextarea:false, }; }, computed: { @@ -509,6 +513,10 @@ export default defineComponent({ } return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE; }, + setTextareaShow(){ + if(this.generateCheckbox) return + this.isTextarea = !this.isTextarea + }, ifMaximumLength(){ clearTimeout(this.inputTime) let inputBox = document.getElementsByClassName('sketchboard_upload_modal')[0].getElementsByClassName('input_box')[0] diff --git a/src/views/HomeView/library.vue b/src/views/HomeView/library.vue index a779dcec..1dba4c1c 100644 --- a/src/views/HomeView/library.vue +++ b/src/views/HomeView/library.vue @@ -213,7 +213,15 @@ @keydown.enter="getgenerate" :readonly="checkbox[0].type && selectCode != 'Moodboard'" :placeholder="$t('LibraryPage.inputContent2')" v-model="captionGeneration"> - + +
{{ $t('LibraryPage.Generate') }} @@ -491,6 +499,7 @@ export default defineComponent({ value:'id', label:'classificationName', } + let isTextarea = ref(false) return { menuList, selectImgList, @@ -532,6 +541,7 @@ export default defineComponent({ getLibraryListInputTime, props, options, + isTextarea, } }, data(this_) { @@ -661,6 +671,7 @@ export default defineComponent({ // this.sex = 'Female', // this.designType = 'Outwear', this.selectImgList = [] + this.isTextarea = false this.value.labelValue = [] this.getLibraryList('') this.getClass() @@ -1034,6 +1045,10 @@ export default defineComponent({ } }) }, + setTextareaShow(){ + if(this.checkbox[0].type && this.selectCode != 'Moodboard') return + this.isTextarea = !this.isTextarea + }, ifMaximumLength(){ clearTimeout(this.inputTime) this.inputTime = setTimeout(()=>{ @@ -1193,6 +1208,7 @@ export default defineComponent({ } // this.isShowMark = true this.isGenerate[selectCodeStr] = true + this.isTextarea = false Https.axiosPost(Https.httpUrls.generatePrepare, data).then( (rv) => { if(data.isTestUser){ @@ -1686,11 +1702,12 @@ export default defineComponent({ position: relative; padding: 1.5rem 0; padding: 0; - &:hover{ - .search_textarea{ - display: block - } - } + // &:hover{ + // .search_textarea{ + // display: block + // } + // } + input{ width: 30rem; height: 3rem; @@ -1698,14 +1715,31 @@ export default defineComponent({ cursor: no-drop; } } + .icon-xiala{ + display: inline-block; + + cursor: pointer; + transition: all .3s; + &.active{ + transform: rotate(180deg); + } + &.forbidden{ + cursor: no-drop; + } + } .search_textarea{ + z-index:3; height: auto; - display: none; position: absolute; left: 0; width: 30rem; - top: 0rem; - border: 1px solid #f6f5fa; + border-radius: 4px; + height: 20rem; + top: .5rem; + border: 1px solid #dcdfe6; + &.forbidden{ + cursor: no-drop; + } } .started_btn{ }