This commit is contained in:
X1627315083
2024-05-20 13:07:42 +08:00
parent b1a44db118
commit 1a7fc6d896
6 changed files with 138 additions and 12 deletions

View File

@@ -1223,6 +1223,10 @@ i {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
textarea:focus {
outline: none;
/* 清除默认焦点样式 */
}
.collection_modal_body .input_border, .collection_modal_body .input_border,
.design_detail_modal_component .input_border, .design_detail_modal_component .input_border,
.library_page .input_border { .library_page .input_border {
@@ -1284,6 +1288,38 @@ i {
.library_page .input_border input.forbidden { .library_page .input_border input.forbidden {
cursor: no-drop; 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, .collection_modal_body .input_border span,
.design_detail_modal_component .input_border span, .design_detail_modal_component .input_border span,
.library_page .input_border span { .library_page .input_border span {

View File

@@ -1320,7 +1320,9 @@ i{
height: 100%; height: 100%;
} }
} }
textarea:focus{
outline: none; /* 清除默认焦点样式 */
}
//设计input和上传按钮样式 //设计input和上传按钮样式
.collection_modal_body,.design_detail_modal_component,.library_page{ .collection_modal_body,.design_detail_modal_component,.library_page{
.input_border{ .input_border{
@@ -1371,6 +1373,31 @@ i{
cursor: no-drop; 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{ span{
position: absolute; position: absolute;
// bottom: calc(0rem*1.2); // bottom: calc(0rem*1.2);

View File

@@ -53,6 +53,15 @@
v-model="searchPictureName" v-model="searchPictureName"
@keydown.enter="getgenerate()" @keydown.enter="getgenerate()"
/> />
<i class="icon iconfont icon-xiala" :class="{active:isTextarea}" @click.stop="setTextareaShow"></i>
<textarea
v-show="isTextarea"
class="search_textarea "
@input="ifMaximumLength"
:maxlength='inputShow?0:9999'
@keydown.enter="getgenerate()"
v-model="searchPictureName"
></textarea>
<!-- <div class="generage_btn started_btn" @click.stop="getgenerate">{{ $t('Generate.Generate') }}</div> --> <!-- <div class="generage_btn started_btn" @click.stop="getgenerate">{{ $t('Generate.Generate') }}</div> -->
<div v-show="!isGenerate" class="generage_btn started_btn" @click.stop="getgenerate"> <div v-show="!isGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
{{ $t('Generate.Generate') }} {{ $t('Generate.Generate') }}
@@ -302,6 +311,7 @@ export default defineComponent({
type2: prop.msg, type2: prop.msg,
}, },
workspaceCom:{}, workspaceCom:{},
isTextarea:false
}; };
}, },
@@ -638,6 +648,9 @@ export default defineComponent({
}); });
} }
}, },
setTextareaShow(){
this.isTextarea = !this.isTextarea
},
ifMaximumLength(){ ifMaximumLength(){
clearTimeout(this.inputTime) clearTimeout(this.inputTime)
let inputBox = document.getElementsByClassName('generate')[0].getElementsByClassName('input_box')[0] let inputBox = document.getElementsByClassName('generate')[0].getElementsByClassName('input_box')[0]

View File

@@ -106,6 +106,9 @@
<div class="input_border"> <div class="input_border">
<div class="Guide_1_2_8 input_box" :class="[inputShow?'active':'',driver__.driver?'showEvents':'']"> <div class="Guide_1_2_8 input_box" :class="[inputShow?'active':'',driver__.driver?'showEvents':'']">
<input class="search_input" @input="ifMaximumLength" @keydown.enter="getgenerate" :maxlength='inputShow?0:9999' :class="{forbidden:generateCheckbox}" :readonly="generateCheckbox" :placeholder="$t('PrintboardUpload.inputContent1')" v-model="captionGeneration"> <input class="search_input" @input="ifMaximumLength" @keydown.enter="getgenerate" :maxlength='inputShow?0:9999' :class="{forbidden:generateCheckbox}" :readonly="generateCheckbox" :placeholder="$t('PrintboardUpload.inputContent1')" v-model="captionGeneration">
<i class="icon iconfont icon-xiala" :class="{active:isTextarea,forbidden:generateCheckbox}" @click.stop="setTextareaShow"></i>
<textarea class="search_textarea" v-show="isTextarea && !generateCheckbox" @input="ifMaximumLength" @keydown.enter="getgenerate" :maxlength='inputShow?0:9999' :class="{forbidden:generateCheckbox}" :readonly="generateCheckbox" v-model="captionGeneration">
</textarea>
<!-- <div class="generage_btn started_btn" @click.stop="getgenerate">{{ $t('PrintboardUpload.Generate') }}</div> --> <!-- <div class="generage_btn started_btn" @click.stop="getgenerate">{{ $t('PrintboardUpload.Generate') }}</div> -->
<!-- <div v-show="!isGenerate" class="generage_btn started_btn" @click.stop="getgenerate"> <!-- <div v-show="!isGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
{{ $t('PrintboardUpload.Generate') }} {{ $t('PrintboardUpload.Generate') }}
@@ -290,7 +293,8 @@ export default defineComponent({
printboardList:computed(()=>{ printboardList:computed(()=>{
return useStore().state.UploadFilesModule.printboard return useStore().state.UploadFilesModule.printboard
}), }),
source:axios.CancelToken.source() source:axios.CancelToken.source(),
isTextarea:false,
} }
}, },
@@ -661,6 +665,10 @@ export default defineComponent({
getgenerateCheckbox(value:any){ getgenerateCheckbox(value:any){
this.generateCheckbox = value this.generateCheckbox = value
}, },
setTextareaShow(){
if(this.generateCheckbox) return
this.isTextarea = !this.isTextarea
},
ifMaximumLength(){ ifMaximumLength(){
this.inputTime = setTimeout(()=>{ this.inputTime = setTimeout(()=>{
if(this.captionGeneration?.split(/\s+/).length > 75){ if(this.captionGeneration?.split(/\s+/).length > 75){

View File

@@ -140,6 +140,9 @@
<div class="input_border"> <div class="input_border">
<div class="Guide_1_9_2 input_box" :class="[inputShow?'active':'',driver__.driver?'showEvents':'']"> <div class="Guide_1_9_2 input_box" :class="[inputShow?'active':'',driver__.driver?'showEvents':'']">
<input class="search_input" @input="ifMaximumLength" @keydown.enter="getgenerate" :maxlength='inputShow?0:9999' :class="{forbidden:generateCheckbox}" :readonly="generateCheckbox" :placeholder="$t('PrintboardUpload.inputContent1')" v-model="captionGeneration"> <input class="search_input" @input="ifMaximumLength" @keydown.enter="getgenerate" :maxlength='inputShow?0:9999' :class="{forbidden:generateCheckbox}" :readonly="generateCheckbox" :placeholder="$t('PrintboardUpload.inputContent1')" v-model="captionGeneration">
<i class="icon iconfont icon-xiala" :class="{active:isTextarea,forbidden:generateCheckbox}" @click.stop="setTextareaShow"></i>
<textarea class="search_textarea" v-show="isTextarea && !generateCheckbox" @input="ifMaximumLength" @keydown.enter="getgenerate" :maxlength='inputShow?0:9999' :class="{forbidden:generateCheckbox}" :readonly="generateCheckbox" v-model="captionGeneration">
</textarea>
<!-- <div class="generage_btn started_btn" @click.stop="getgenerate">{{ $t('PrintboardUpload.Generate') }}</div> --> <!-- <div class="generage_btn started_btn" @click.stop="getgenerate">{{ $t('PrintboardUpload.Generate') }}</div> -->
<div v-show="!isGenerate" class="generage_btn started_btn" @click.stop="getgenerate"> <div v-show="!isGenerate" class="generage_btn started_btn" @click.stop="getgenerate">
{{ $t('LibraryPage.Generate') }} {{ $t('LibraryPage.Generate') }}
@@ -294,7 +297,8 @@ export default defineComponent({
token: "", token: "",
uploadUrl: "", uploadUrl: "",
captionGeneration:'', captionGeneration:'',
workspaceCom:{} workspaceCom:{},
isTextarea:false,
}; };
}, },
computed: { computed: {
@@ -509,6 +513,10 @@ export default defineComponent({
} }
return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE; return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE;
}, },
setTextareaShow(){
if(this.generateCheckbox) return
this.isTextarea = !this.isTextarea
},
ifMaximumLength(){ ifMaximumLength(){
clearTimeout(this.inputTime) clearTimeout(this.inputTime)
let inputBox = document.getElementsByClassName('sketchboard_upload_modal')[0].getElementsByClassName('input_box')[0] let inputBox = document.getElementsByClassName('sketchboard_upload_modal')[0].getElementsByClassName('input_box')[0]

View File

@@ -213,7 +213,15 @@
@keydown.enter="getgenerate" :readonly="checkbox[0].type && selectCode != 'Moodboard'" @keydown.enter="getgenerate" :readonly="checkbox[0].type && selectCode != 'Moodboard'"
:placeholder="$t('LibraryPage.inputContent2')" :placeholder="$t('LibraryPage.inputContent2')"
v-model="captionGeneration"> v-model="captionGeneration">
<!-- <textarea class="search_textarea " cols="30" rows="10"></textarea> --> <i class="icon iconfont icon-xiala" :class="{active:isTextarea, forbidden:checkbox[0].type&& selectCode != 'Moodboard'}" @click.stop="setTextareaShow"></i>
<textarea
v-show="isTextarea "
class="search_textarea "
@input="ifMaximumLength"
:maxlength='inputShow?0:9999'
@keydown.enter="getgenerate" :readonly="checkbox[0].type && selectCode != 'Moodboard'"
v-model="captionGeneration"
></textarea>
<div v-show="!isGenerate[selectCode]" class="generage_btn started_btn" @click.stop="getgenerate"> <div v-show="!isGenerate[selectCode]" class="generage_btn started_btn" @click.stop="getgenerate">
{{ $t('LibraryPage.Generate') }} {{ $t('LibraryPage.Generate') }}
<!-- <div v-show="isGenerate"><a-spin size="large" /></div> --> <!-- <div v-show="isGenerate"><a-spin size="large" /></div> -->
@@ -491,6 +499,7 @@ export default defineComponent({
value:'id', value:'id',
label:'classificationName', label:'classificationName',
} }
let isTextarea = ref(false)
return { return {
menuList, menuList,
selectImgList, selectImgList,
@@ -532,6 +541,7 @@ export default defineComponent({
getLibraryListInputTime, getLibraryListInputTime,
props, props,
options, options,
isTextarea,
} }
}, },
data(this_) { data(this_) {
@@ -661,6 +671,7 @@ export default defineComponent({
// this.sex = 'Female', // this.sex = 'Female',
// this.designType = 'Outwear', // this.designType = 'Outwear',
this.selectImgList = [] this.selectImgList = []
this.isTextarea = false
this.value.labelValue = [] this.value.labelValue = []
this.getLibraryList('') this.getLibraryList('')
this.getClass() this.getClass()
@@ -1034,6 +1045,10 @@ export default defineComponent({
} }
}) })
}, },
setTextareaShow(){
if(this.checkbox[0].type && this.selectCode != 'Moodboard') return
this.isTextarea = !this.isTextarea
},
ifMaximumLength(){ ifMaximumLength(){
clearTimeout(this.inputTime) clearTimeout(this.inputTime)
this.inputTime = setTimeout(()=>{ this.inputTime = setTimeout(()=>{
@@ -1193,6 +1208,7 @@ export default defineComponent({
} }
// this.isShowMark = true // this.isShowMark = true
this.isGenerate[selectCodeStr] = true this.isGenerate[selectCodeStr] = true
this.isTextarea = false
Https.axiosPost(Https.httpUrls.generatePrepare, data).then( Https.axiosPost(Https.httpUrls.generatePrepare, data).then(
(rv) => { (rv) => {
if(data.isTestUser){ if(data.isTestUser){
@@ -1686,11 +1702,12 @@ export default defineComponent({
position: relative; position: relative;
padding: 1.5rem 0; padding: 1.5rem 0;
padding: 0; padding: 0;
&:hover{ // &:hover{
.search_textarea{ // .search_textarea{
display: block // display: block
} // }
} // }
input{ input{
width: 30rem; width: 30rem;
height: 3rem; height: 3rem;
@@ -1698,14 +1715,31 @@ export default defineComponent({
cursor: no-drop; cursor: no-drop;
} }
} }
.icon-xiala{
display: inline-block;
cursor: pointer;
transition: all .3s;
&.active{
transform: rotate(180deg);
}
&.forbidden{
cursor: no-drop;
}
}
.search_textarea{ .search_textarea{
z-index:3;
height: auto; height: auto;
display: none;
position: absolute; position: absolute;
left: 0; left: 0;
width: 30rem; width: 30rem;
top: 0rem; border-radius: 4px;
border: 1px solid #f6f5fa; height: 20rem;
top: .5rem;
border: 1px solid #dcdfe6;
&.forbidden{
cursor: no-drop;
}
} }
.started_btn{ .started_btn{
} }