diff --git a/src/assets/style/style.css b/src/assets/style/style.css index e5a77f2b..a4c1f537 100644 --- a/src/assets/style/style.css +++ b/src/assets/style/style.css @@ -1227,6 +1227,10 @@ i { opacity: 0.5; transform: scale(0.9); } +textarea:focus { + outline: none; + /* 清除默认焦点样式 */ +} .collection_modal_body .input_border, .design_detail_modal_component .input_border, .library_page .input_border { @@ -1288,6 +1292,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 b47b6ac7..de8d2d29 100644 --- a/src/assets/style/style.less +++ b/src/assets/style/style.less @@ -1326,6 +1326,9 @@ i{ transform: scale(.9); } +textarea:focus{ + outline: none; /* 清除默认焦点样式 */ +} //设计input和上传按钮样式 .collection_modal_body,.design_detail_modal_component,.library_page{ .input_border{ @@ -1376,6 +1379,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/Detail/habit.vue b/src/component/Detail/habit.vue index 91b5dc7a..12115505 100644 --- a/src/component/Detail/habit.vue +++ b/src/component/Detail/habit.vue @@ -90,13 +90,18 @@
-
{{ $t('Habit.System') }}
-
{{ $t('Habit.Designer') }}
+
+ + {{ $t('Habit.System') }}(100%) +
+
+ + {{ $t('Habit.Designer') }}(100%) +
@@ -615,7 +620,8 @@ export default defineComponent({ this.workspaceItem.systemDesignerPercentage = num }, formatter(value: number) { - return `${value}%`; + let num = Math.abs((value-50)*2) + return `${num}%`; }, //根据id设置当前参数 @@ -915,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/ExportModel.vue b/src/component/HomePage/ExportModel.vue index df2418e0..736ef77f 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 @@
@@ -806,6 +807,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 = { @@ -1357,7 +1370,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){ @@ -1634,6 +1667,7 @@ export default defineComponent({ setCloseNav,//给图片导航或者工具收起来或者展开 multiselect,//获取整体高度 onDragstart,//拖拽函数 + setDragstart,//的移动端拖拽改为按下 historyState,//执行撤回或者反撤回 operation,//设置当前鼠标状态绘画或者矩形或者移动 operationMode,//设置矩形是边框还是填充 @@ -1894,6 +1928,10 @@ export default defineComponent({ max-height: 100%; } } + .active{ + opacity: .5; + transform: scale(.9); + } } } .exportCanvasBox_left_tool{ diff --git a/src/component/HomePage/Generate.vue b/src/component/HomePage/Generate.vue index e04ba32f..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 }; }, @@ -504,7 +514,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') ); @@ -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 c020f96f..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] @@ -686,7 +694,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 +711,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..1dba4c1c 100644 --- a/src/views/HomeView/library.vue +++ b/src/views/HomeView/library.vue @@ -213,6 +213,15 @@ @keydown.enter="getgenerate" :readonly="checkbox[0].type && selectCode != 'Moodboard'" :placeholder="$t('LibraryPage.inputContent2')" v-model="captionGeneration"> + +
{{ $t('LibraryPage.Generate') }} @@ -490,6 +499,7 @@ export default defineComponent({ value:'id', label:'classificationName', } + let isTextarea = ref(false) return { menuList, selectImgList, @@ -531,6 +541,7 @@ export default defineComponent({ getLibraryListInputTime, props, options, + isTextarea, } }, data(this_) { @@ -660,6 +671,7 @@ export default defineComponent({ // this.sex = 'Female', // this.designType = 'Outwear', this.selectImgList = [] + this.isTextarea = false this.value.labelValue = [] this.getLibraryList('') this.getClass() @@ -1033,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(()=>{ @@ -1152,7 +1168,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 +1186,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') ); @@ -1192,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){ @@ -1528,6 +1545,7 @@ export default defineComponent({ color: #C2C2C2; } } + .search_cascader{ // width: 53%; width: 38rem; @@ -1681,8 +1699,15 @@ 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 +1715,32 @@ 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; + position: absolute; + left: 0; + width: 30rem; + border-radius: 4px; + height: 20rem; + top: .5rem; + border: 1px solid #dcdfe6; + &.forbidden{ + cursor: no-drop; + } + } .started_btn{ }