product
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
<i :class="[menu.icon]"></i>
|
||||
<div>{{menu.title}}</div>
|
||||
</div>
|
||||
<div v-show="menu.children.length" :class="['icon','iconfont', 'icon-xiala', menu.showChildren?'icon_rotate':'']"></div>
|
||||
<!-- <div v-show="menu.children.length" :class="['icon','iconfont', 'icon-xiala', menu.showChildren?'icon_rotate':'']"></div> -->
|
||||
</div>
|
||||
<div v-show="menu.showChildren && menu.children.length">
|
||||
<div :class="['menu_item','child_menu_item', selectCode==child.code ? 'select_menu_item' :'']" v-for="child in menu.children" :key="child.title" @click="selectMenuItem(child,index)">
|
||||
@@ -37,10 +37,11 @@
|
||||
</div>
|
||||
|
||||
<div class="librart_headr_right">
|
||||
<div class="select_block" v-show="selectCode == 'Sketchboard' || selectCode == 'Models'">
|
||||
<div class="select_block" v-show="selectCode == 'Sketchboard' || selectCode == 'Models'|| selectCode == 'DesignElements'|| selectCode == 'Printboard'" >
|
||||
<a-select
|
||||
ref="select"
|
||||
v-model:value="sex.value"
|
||||
v-show="selectCode != 'DesignElements' && selectCode != 'Printboard'"
|
||||
v-model:value="sex"
|
||||
:options="sexList"
|
||||
@change="sexChange"
|
||||
>
|
||||
@@ -53,10 +54,26 @@
|
||||
</a-select>
|
||||
<a-select
|
||||
ref="select"
|
||||
v-show="selectCode == 'Sketchboard' && uploadGenerate != 'Generate'"
|
||||
v-model:value="designType.value"
|
||||
:options="disignTypeList"
|
||||
v-show="designTypeList[selectCode]?.[0]?.value && selectCode != 'Sketchboard'"
|
||||
v-model:value="designType"
|
||||
:options="designTypeList[selectCode]"
|
||||
@change="handleChange"
|
||||
:fieldNames="{ label: 'name', value: 'value' }"
|
||||
>
|
||||
<template #suffixIcon
|
||||
><span
|
||||
class="icon iconfont icon-xiala"
|
||||
style="color: #343579"
|
||||
></span
|
||||
></template>
|
||||
</a-select>
|
||||
<a-select
|
||||
ref="select"
|
||||
v-show="designTypeList[selectCode]?.[0]?.value && selectCode == 'Sketchboard' && uploadGenerate != 'Generate'"
|
||||
v-model:value="designType.value"
|
||||
:options="designTypeList[selectCode]"
|
||||
@change="handleChange"
|
||||
:fieldNames="{ label: 'name', value: 'value' }"
|
||||
>
|
||||
<template #suffixIcon
|
||||
><span
|
||||
@@ -169,57 +186,78 @@
|
||||
</div>
|
||||
<div class="right_content_body" v-show="uploadGenerate !='Upload'">
|
||||
<div class="content_body_header content_body_header_generate">
|
||||
<div class="content_body_header_right" >
|
||||
<div class="content_body_header_right" v-show="selectCode != 'Moodboard'">
|
||||
<div class="checkboxItem" v-show="selectCode != 'Sketchboard'">
|
||||
<label>
|
||||
<input
|
||||
type="checkbox"
|
||||
v-model="checkbox[0].type"
|
||||
@click="setKeyword(0)"
|
||||
/>
|
||||
<span>{{ $t('LibraryPage.ImageOnly') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkboxItem">
|
||||
<label>
|
||||
<input
|
||||
type="checkbox"
|
||||
v-model="checkbox[1].type"
|
||||
@click="setKeyword(1)"
|
||||
/>
|
||||
<span>{{ $t('LibraryPage.TextOnly') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="checkboxItem">
|
||||
<label>
|
||||
<input
|
||||
type="checkbox"
|
||||
v-model="checkbox[2].type"
|
||||
@click="setKeyword(2)"
|
||||
/>
|
||||
<span>{{ $t('LibraryPage.TextImage') }}</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content_body_header_right"></div>
|
||||
<div v-show="selectCode == 'Printboard'" class="printModel">
|
||||
<div @click.stop="PrintModel">{{ printModel.name }}</div>
|
||||
<ul v-show="printModel.optype">
|
||||
<li class="printModel_item" @click="setprintModel(1)">{{ $t('LibraryPage.Model1') }}</li>
|
||||
<li class="printModel_item" @click="setprintModel(2)">{{ $t('LibraryPage.Model2') }}</li>
|
||||
<li class="printModel_item" @click="setprintModel(3)">{{ $t('LibraryPage.Model3') }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="input_border">
|
||||
<div class="input_box" :class="{active:inputShow}">
|
||||
<input
|
||||
class="search_input "
|
||||
@input="ifMaximumLength"
|
||||
:maxlength='inputShow?0:9999'
|
||||
:class="{active:checkbox[0].type && selectCode != 'Moodboard'}"
|
||||
@keydown.enter="getgenerate" :readonly="checkbox[0].type && selectCode != 'Moodboard'"
|
||||
:placeholder="$t('LibraryPage.inputContent2')"
|
||||
v-model="captionGeneration">
|
||||
<i class="icon iconfont icon-xiala" :class="{active:isTextarea, forbidden:checkbox[0].type&& selectCode != 'Moodboard'}" @click.stop="setTextareaShow"></i>
|
||||
<div class="input_box_btnBox">
|
||||
<div class="upload_item">
|
||||
<div
|
||||
class="upload_file_item"
|
||||
v-for="(file, index) in selectGenerateList"
|
||||
:key="file"
|
||||
>
|
||||
<div
|
||||
class="upload_file_item_content"
|
||||
v-show="file?.status === 'uploading'"
|
||||
>
|
||||
<a-spin :indicator="indicator" tip="Uploading..." />
|
||||
</div>
|
||||
<div
|
||||
class="upload_file_item_content"
|
||||
v-show="file?.status === 'done' || file?.base64"
|
||||
>
|
||||
<img :src="file?.imgUrl" class="upload_img" />
|
||||
<div class="delete_like_file_block" :class="[driver__.driver?'hideEvents':'']">
|
||||
<span class="icon iconfont icon-shanchu operate_icon" @click.stop="deleteFile(index)"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<input
|
||||
class="search_input "
|
||||
@input="ifMaximumLength"
|
||||
:maxlength='inputShow?0:9999'
|
||||
@keydown.enter="getgenerate"
|
||||
@click="inputFocus()"
|
||||
:placeholder="$t('LibraryPage.inputContent2')"
|
||||
v-model="captionGeneration">
|
||||
<i class="fi fi-br-upload" v-show="!isTextarea && upload.level1Type !== 'Moodboard' && scene?.value != 'Slogan' && scene?.value != 'Logo'">
|
||||
<a-upload
|
||||
class="search_upImg"
|
||||
:capture="null"
|
||||
:action="uploadUrl + '/api/element/upload'"
|
||||
list-type="picture-card"
|
||||
:before-upload="beforeUpload"
|
||||
:data="{
|
||||
...upload
|
||||
}"
|
||||
:headers="{Authorization:token}"
|
||||
v-model:file-list="selectGenerateList"
|
||||
multiple
|
||||
:maxCount="1"
|
||||
accept=".jpg,.png,.jpeg,.bmp"
|
||||
@change="generateFileUploadChange"
|
||||
>
|
||||
</a-upload>
|
||||
</i>
|
||||
<i v-show="scene?.value == 'Slogan'" @click.stop="setSlogan" class="fi fi-rr-poll-h"></i>
|
||||
<i v-show="!isTextarea" class="fi fi-br-expand" @click.stop="setTextareaShow"></i>
|
||||
<i v-show="isTextarea" class="fi fi-bs-compress" @click.stop="setTextareaShow"></i>
|
||||
</div>
|
||||
<textarea
|
||||
v-show="isTextarea "
|
||||
class="search_textarea "
|
||||
@input="ifMaximumLength"
|
||||
:maxlength='inputShow?0:9999'
|
||||
@keydown.enter="getgenerate" :readonly="checkbox[0].type && selectCode != 'Moodboard'"
|
||||
@keydown.enter="getgenerate"
|
||||
v-model="captionGeneration"
|
||||
></textarea>
|
||||
<div v-show="!isGenerate[selectCode]" class="generage_btn started_btn" @click.stop="getgenerate">
|
||||
@@ -232,67 +270,16 @@
|
||||
<div v-show="remGenerate[selectCode]" @click="removeGenerate" class="generage_btn started_btn">
|
||||
{{$t('Generate.Close')}}
|
||||
</div>
|
||||
<span ref="inputShowText"></span>
|
||||
<span class="inputShowText" ref="inputShowText"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div v-show="selectCode == 'Printboard'" class="printModel">
|
||||
<div @click.stop="PrintModel">{{ printModel.name }}</div>
|
||||
<ul v-show="printModel.optype">
|
||||
<li class="printModel_item" @click="setprintModel(1)">{{ $t('LibraryPage.Model1') }}</li>
|
||||
<li class="printModel_item" @click="setprintModel(2)">{{ $t('LibraryPage.Model2') }}</li>
|
||||
<li class="printModel_item" @click="setprintModel(3)">{{ $t('LibraryPage.Model3') }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div v-show="selectCode != 'Moodboard'" class="upload_item">
|
||||
<div
|
||||
class="upload_file_item"
|
||||
v-for="(file, index) in selectGenerateList"
|
||||
:key="file"
|
||||
:class="[file?.checked?'active':'']"
|
||||
>
|
||||
<div
|
||||
class="upload_file_item_content"
|
||||
v-show="file?.status === 'uploading'"
|
||||
>
|
||||
<a-spin :indicator="indicator" tip="Uploading..." />
|
||||
</div>
|
||||
<div class="upload_file_item_content" @click.stop="setSketchboardItem(file)" v-show="file?.status === 'done'">
|
||||
<img :src="file?.imgUrl" class="upload_img" />
|
||||
|
||||
<div class="delete_file_block rightTop" @click.stop="deleteFile(index)" >
|
||||
<span class="icon iconfont icon-shanchu"></span>
|
||||
<div class="search_keyword" v-show="isInputFocus" @click.stop="">
|
||||
<div class="search_keyword_center">
|
||||
<div class="search_keyword_center_left">
|
||||
<div v-for="item in workspace?.keyWord?.[selectCode]" @click.stop="cliSetKeyword(item.name)" class="search_keyword_center_item"> {{item.name}} </div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="upload_component upload_file_item"
|
||||
v-show="selectGenerateList.length <= 2"
|
||||
>
|
||||
<a-upload
|
||||
:capture="null"
|
||||
:action="uploadUrl + '/api/element/upload'"
|
||||
list-type="picture-card"
|
||||
:before-upload="beforeUpload"
|
||||
:disabled="checkbox[1].type"
|
||||
:data="{
|
||||
...upload
|
||||
}"
|
||||
:headers="{Authorization:token}"
|
||||
v-model:file-list="selectGenerateList"
|
||||
multiple
|
||||
:maxCount="3"
|
||||
accept=".jpg,.png,.jpeg,.bmp"
|
||||
@change="generateFileUploadChange"
|
||||
>
|
||||
<div class="upload_tip_block">
|
||||
<i class="fi fi-br-upload"></i>
|
||||
<!-- <img class="upload_img_icon" src="@/assets/images/homePage/add_file.png"> -->
|
||||
</div>
|
||||
</a-upload>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="content_body_table scroll_style">
|
||||
@@ -318,7 +305,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<sketchCategory v-show="selectCode == 'Sketchboard'" :disignTypeList="disignTypeList" :generateList="generateList['Sketchboard']" :item="img"></sketchCategory>
|
||||
<sketchCategory v-show="selectCode == 'Sketchboard'" :disignTypeList="designTypeList[selectCode]" :generateList="generateList['Sketchboard']" :item="img"></sketchCategory>
|
||||
</div>
|
||||
<div class="content_img_name"></div>
|
||||
</div>
|
||||
@@ -351,7 +338,7 @@
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { LoadingOutlined } from "@ant-design/icons-vue";
|
||||
import { defineComponent,h ,ref,createVNode,nextTick,provide,computed} from 'vue'
|
||||
import { defineComponent,h ,ref,createVNode,nextTick,reactive,provide,computed} from 'vue'
|
||||
// import HeaderComponent from "@/component/HomePage/Header.vue";
|
||||
import ModelPlacement from '@/component/LibraryPage/ModelPlacement.vue';
|
||||
import setLabel from '@/component/LibraryPage/setLabel.vue';
|
||||
@@ -382,14 +369,15 @@ export default defineComponent({
|
||||
sketchCategory,
|
||||
},
|
||||
setup() {
|
||||
|
||||
const store = useStore();
|
||||
let menuList = computed(()=>{
|
||||
return [
|
||||
{title:useI18n().t('LibraryPage.Moodboard'),code:'Moodboard',icon:'fi fi-rr-grid',showChildren:false,children:[]},
|
||||
{title:useI18n().t('LibraryPage.Prints'),code:'Printboard',icon:'fi fi-rs-objects-column',showChildren:false,children:[]},
|
||||
// {title:'Sketches',code:'SketchboardFirst',icon:'fi icon iconfont icon-a-waitao_changkuanwaitao11x',showChildren:false,children:[{title:'Apparel',code:'Sketchboard'}]},
|
||||
{title:useI18n().t('LibraryPage.Sketches'),code:'Sketchboard',icon:'fi icon iconfont icon-a-waitao_changkuanwaitao11x',showChildren:false,children:[]},
|
||||
// {title:'Market Sketch',code:'MarketingSketch',icon:'icon-fuwushichang',showChildren:false,children:[]},
|
||||
// {title:'Market Sketch',code:'Elements',icon:'icon-fuwushichang',showChildren:false,children:[]},
|
||||
{title:'Design Elements',code:'DesignElements',icon:'fi fi-rs-people',showChildren:false,children:[]},
|
||||
{title:useI18n().t('LibraryPage.Mannequins'),code:'Models',icon:'fi fi-rs-people',showChildren:false,children:[]},
|
||||
|
||||
]
|
||||
@@ -397,15 +385,32 @@ export default defineComponent({
|
||||
let selectImgList:any = ref([])
|
||||
let selectCode:any = ref('Moodboard')
|
||||
let searchPictureName = ref('')
|
||||
let newSearchPictureName = ref('')
|
||||
let designType:any = ref('Outwear')
|
||||
let sex:any = ref('Meal')
|
||||
let sexList:any = [
|
||||
|
||||
]
|
||||
let disignTypeList:any = [
|
||||
|
||||
]
|
||||
let designType:any = ref({
|
||||
name:'',
|
||||
value:''
|
||||
})
|
||||
let sex:any = ref({
|
||||
label:'',
|
||||
value:''
|
||||
})
|
||||
const sexList:any = ref([])
|
||||
const printType = computed(() => {
|
||||
return store.state.UserHabit.printType;
|
||||
});
|
||||
const designElementsType = computed(() => {
|
||||
return store.state.UserHabit.designElementsType;
|
||||
});
|
||||
const positionType = computed(() => {
|
||||
return store.state.UserHabit.Position;
|
||||
});
|
||||
|
||||
let designTypeList:any = ref({
|
||||
Sketchboard:positionType,
|
||||
Moodboard:[],
|
||||
Printboard:printType,
|
||||
Models:[],
|
||||
DesignElements:designElementsType,
|
||||
})
|
||||
let imgList = ref([])
|
||||
let currentPage:any = ref(1)
|
||||
let pageSize:any = ref(18)
|
||||
@@ -413,32 +418,17 @@ export default defineComponent({
|
||||
let uploadUrl:any = ref('')
|
||||
let currentUploadFileNum:any = ref(0) //当次上传文件数量
|
||||
let isShowMark:any = ref(false) //蒙层
|
||||
let store = useStore();
|
||||
let uploadGenerate:any = ref('Upload')
|
||||
let checkbox = ref([
|
||||
{
|
||||
name: "image",
|
||||
type: true,
|
||||
},
|
||||
{
|
||||
name: "text",
|
||||
type: false,
|
||||
},
|
||||
{
|
||||
name: "text-image",
|
||||
type: false,
|
||||
},
|
||||
]);
|
||||
let inputShow = ref(false)
|
||||
let generateCheckbox:any = ref()
|
||||
let captionGeneration:any = ref()
|
||||
let captionGeneration:any = ref('')
|
||||
let inputTime = ref()
|
||||
let generateList:any = ref({
|
||||
Sketchboard:[],
|
||||
Moodboard:[],
|
||||
Printboard:[],
|
||||
Models:[]
|
||||
|
||||
Models:[],
|
||||
DesignElements:[],
|
||||
})
|
||||
let selectGenerateList:any = ref([])
|
||||
let printModel = ref({
|
||||
@@ -449,7 +439,6 @@ export default defineComponent({
|
||||
let {t} = useI18n()
|
||||
let type:any = {
|
||||
selectCode:selectCode,
|
||||
designType:designType
|
||||
}
|
||||
provide('type',type)
|
||||
let value = ref({
|
||||
@@ -466,27 +455,32 @@ export default defineComponent({
|
||||
Sketchboard:'',
|
||||
Moodboard:'',
|
||||
Printboard:'',
|
||||
Models:''
|
||||
Models:'',
|
||||
DesignElements:'',
|
||||
})
|
||||
let generateProceedList = ref([])
|
||||
let isGenerate:any = ref({
|
||||
Sketchboard:false,
|
||||
Moodboard:false,
|
||||
Printboard:false,
|
||||
Models:false
|
||||
Models:false,
|
||||
DesignElements:false,
|
||||
})
|
||||
let remGenerate:any = ref({
|
||||
Sketchboard:false,
|
||||
Moodboard:false,
|
||||
Printboard:false,
|
||||
Models:false
|
||||
Models:false,
|
||||
DesignElements:false,
|
||||
})
|
||||
let remGenerateTime:any = ref({
|
||||
Sketchboard:'',
|
||||
Moodboard:'',
|
||||
Printboard:'',
|
||||
Models:''
|
||||
Models:'',
|
||||
DesignElements:'',
|
||||
})
|
||||
let scene:any = ref({})
|
||||
let dragIdx:any=ref(0)
|
||||
let getLibraryListInputTime:any = ref()
|
||||
const options:any = ref([
|
||||
@@ -500,15 +494,15 @@ export default defineComponent({
|
||||
label:'classificationName',
|
||||
}
|
||||
let isTextarea = ref(false)
|
||||
let workspace:any = ref({})
|
||||
return {
|
||||
menuList,
|
||||
selectImgList,
|
||||
selectCode,
|
||||
searchPictureName,
|
||||
newSearchPictureName,
|
||||
sexList,
|
||||
sex,
|
||||
disignTypeList,
|
||||
designTypeList,
|
||||
designType,
|
||||
imgList,
|
||||
currentPage,
|
||||
@@ -519,7 +513,6 @@ export default defineComponent({
|
||||
isShowMark,
|
||||
store,
|
||||
uploadGenerate,
|
||||
checkbox,
|
||||
inputShow,
|
||||
generateCheckbox,
|
||||
captionGeneration,
|
||||
@@ -537,11 +530,13 @@ export default defineComponent({
|
||||
isGenerate,
|
||||
remGenerate,
|
||||
remGenerateTime,
|
||||
scene,
|
||||
dragIdx,
|
||||
getLibraryListInputTime,
|
||||
props,
|
||||
options,
|
||||
isTextarea,
|
||||
workspace,
|
||||
}
|
||||
},
|
||||
data(this_) {
|
||||
@@ -560,6 +555,7 @@ export default defineComponent({
|
||||
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
|
||||
},
|
||||
token: "",
|
||||
isInputFocus:false,
|
||||
};
|
||||
},
|
||||
watch:{
|
||||
@@ -585,6 +581,9 @@ export default defineComponent({
|
||||
this.getClass()
|
||||
this.getSex()
|
||||
this.token = getCookie("token") || "";
|
||||
this.workspace = computed(()=>{
|
||||
return this.store?.state?.Workspace?.workspace
|
||||
})
|
||||
},
|
||||
methods:{
|
||||
|
||||
@@ -606,31 +605,36 @@ export default defineComponent({
|
||||
})
|
||||
},
|
||||
async getPosition(){
|
||||
let params
|
||||
if(this.sex.value == 'Female'){
|
||||
params = 'FemalePosition'
|
||||
}else{
|
||||
params = 'MalePosition'
|
||||
}
|
||||
await Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:params}}).then((rv: any) => {
|
||||
if (rv) {
|
||||
let arr:any = []
|
||||
rv.forEach((item:any) => {
|
||||
arr.push({
|
||||
value:item.name,
|
||||
label:item.value,
|
||||
name:item.value
|
||||
})
|
||||
});
|
||||
this.designType = arr[0]
|
||||
this.disignTypeList = arr
|
||||
// this.workspaceItem.position = this.totalTypeList[0].label
|
||||
}
|
||||
})
|
||||
// let params
|
||||
// if(this.sex.value == 'Female'){
|
||||
// params = 'FemalePosition'
|
||||
// }else{
|
||||
// params = 'MalePosition'
|
||||
// }
|
||||
this.store.commit('setPosition',this.sex.value)
|
||||
this.designType = this.designTypeList.Sketchboard[0]
|
||||
|
||||
// await Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:params}}).then((rv: any) => {
|
||||
// if (rv) {
|
||||
// let arr:any = []
|
||||
// rv.forEach((item:any) => {
|
||||
// arr.push({
|
||||
// value:item.name,
|
||||
// label:item.value,
|
||||
// name:item.value
|
||||
// })
|
||||
// });
|
||||
// this.designType = arr[0]
|
||||
// this.designTypeList['Sketchboard'] = arr
|
||||
// // this.workspaceItem.position = this.totalTypeList[0].label
|
||||
// }
|
||||
// })
|
||||
},
|
||||
likeFile(item:any,str:string){
|
||||
let designType = this.selectCode == 'Sketchboard' || this.selectCode == 'MarketingSketch' ? item.category : ''
|
||||
|
||||
let designType = ''
|
||||
if(this.selectCode == 'Sketchboard' || this.selectCode == 'DesignElements' || this.selectCode == 'Printboard'){
|
||||
designType = this.designType.value
|
||||
}
|
||||
if(str == 'like'){
|
||||
let data = {
|
||||
generateDetailId:item.id,
|
||||
@@ -668,42 +672,29 @@ export default defineComponent({
|
||||
this.total = 0,
|
||||
this.searchPictureName = ''
|
||||
this.imgList = [],
|
||||
// this.sex = 'Female',
|
||||
// this.designType = 'Outwear',
|
||||
this.selectImgList = []
|
||||
this.isTextarea = false
|
||||
this.value.labelValue = []
|
||||
this.getLibraryList('')
|
||||
this.getClass()
|
||||
if(this.designTypeList[this.selectCode].length >= 1){
|
||||
this.designType = this.designTypeList[this.selectCode][0]
|
||||
}else{
|
||||
this.designType = {
|
||||
name:'',
|
||||
value:'',
|
||||
}
|
||||
}
|
||||
if(this.selectCode == 'Models')this.uploadGenerate = 'Upload'
|
||||
|
||||
if(this.selectCode == 'Printboard')this.uploadGenerate = 'Upload'
|
||||
if(this.selectCode != 'DesignElements'){
|
||||
this.getClass()
|
||||
}
|
||||
this.getLibraryList('')
|
||||
this.captionGeneration = ''
|
||||
this.selectGenerateList = []
|
||||
// this.generateList = {
|
||||
// 'Sketchboard':[],
|
||||
// 'Moodboard':[],
|
||||
// 'Printboard':[]
|
||||
// }
|
||||
this.inputShow = false
|
||||
}
|
||||
this.upload.level1Type = menu.code
|
||||
}
|
||||
if(this.selectCode == 'Sketchboard'){
|
||||
this.checkbox=[
|
||||
{
|
||||
name: "image",
|
||||
type: false,
|
||||
},
|
||||
{
|
||||
name: "text",
|
||||
type: true,
|
||||
},
|
||||
{
|
||||
name: "text-image",
|
||||
type: false,
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
async sexChange(){
|
||||
@@ -933,7 +924,10 @@ export default defineComponent({
|
||||
// message.info(this.t('isTest.image'));
|
||||
// return
|
||||
// }
|
||||
let designType = this.selectCode == 'Sketchboard' || this.selectCode == 'MarketingSketch' ? this.designType.value : ''
|
||||
let designType = ''
|
||||
if(this.selectCode == 'Sketchboard' || this.selectCode == 'DesignElements' || this.selectCode == 'Printboard'){
|
||||
designType = this.designType.value
|
||||
}
|
||||
let new_data = {
|
||||
file:event.file,
|
||||
level1Type:this.selectCode,
|
||||
@@ -1001,7 +995,10 @@ export default defineComponent({
|
||||
this.value.labelValue.forEach((item:any)=>{
|
||||
labelArr.push(item[item.length-1])
|
||||
})
|
||||
let designType = this.selectCode == 'Sketchboard' || this.selectCode == 'MarketingSketch' ? this.designType.value : ''
|
||||
let designType = ''
|
||||
if(this.selectCode == 'Sketchboard' || this.selectCode == 'DesignElements' || this.selectCode == 'Printboard'){
|
||||
designType = this.designType.value
|
||||
}
|
||||
let data = {
|
||||
classificationIdList:labelArr,
|
||||
level1Type:this.selectCode,
|
||||
@@ -1020,13 +1017,12 @@ export default defineComponent({
|
||||
this.isShowMark = true
|
||||
Https.axiosPost(Https.httpUrls.queryLibraryPage,data).then(
|
||||
(rv: any) => {
|
||||
if(rv.content.length == 0 && this.currentPage != 1){
|
||||
if(rv.content?.length == 0 && this.currentPage != 1){
|
||||
this.currentPage = 1
|
||||
this.getLibraryList('')
|
||||
}else{
|
||||
this.imgList = rv.content
|
||||
this.total = rv.total
|
||||
this.newSearchPictureName = this.searchPictureName
|
||||
this.isShowMark = false
|
||||
}
|
||||
}
|
||||
@@ -1050,25 +1046,17 @@ export default defineComponent({
|
||||
placementClick(data:any){
|
||||
let placementModal:any = isMoible() ? this.$refs.ModelPlacementMobile : this.$refs.ModelPlacement
|
||||
placementModal.showPlacementModal(data,this.sex)
|
||||
},
|
||||
//generate
|
||||
setKeyword(num: any) {
|
||||
this.checkbox.forEach((v: any) => {
|
||||
v.type = false;
|
||||
});
|
||||
nextTick().then(()=>{
|
||||
this.checkbox[num].type = true
|
||||
if(this.checkbox[1].type){
|
||||
this.selectGenerateList.forEach((v:any)=>{
|
||||
v.checked = false
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
setTextareaShow(){
|
||||
if(this.checkbox[0].type && this.selectCode != 'Moodboard') return
|
||||
this.isTextarea = !this.isTextarea
|
||||
},
|
||||
cliSetKeyword(value:any){
|
||||
let str = ''
|
||||
if(this.captionGeneration[this.captionGeneration.length-1] != ',' && this.captionGeneration.length != 0){
|
||||
str = ','
|
||||
}
|
||||
this.captionGeneration += str + value
|
||||
},
|
||||
ifMaximumLength(){
|
||||
clearTimeout(this.inputTime)
|
||||
this.inputTime = setTimeout(()=>{
|
||||
@@ -1080,16 +1068,41 @@ export default defineComponent({
|
||||
}
|
||||
},500)
|
||||
},
|
||||
inputFocus(){
|
||||
if(this.isInputFocus) return
|
||||
this.isInputFocus = true
|
||||
let setDomCli = ()=>{
|
||||
this.isInputFocus = false
|
||||
document.removeEventListener('click',setDomCli)
|
||||
}
|
||||
setTimeout(()=>{
|
||||
document.addEventListener('click',setDomCli)
|
||||
},200)
|
||||
},
|
||||
generateFileUploadChange(data:any){
|
||||
let file = data.file;
|
||||
let bor = true
|
||||
if (file.status === "done") {
|
||||
let res:any = JSON.parse(file.xhr.response);
|
||||
if(res.errCode == 0){
|
||||
let category:any={
|
||||
value:'',
|
||||
name:'',
|
||||
}
|
||||
file.id = res.data.id;
|
||||
file.imgUrl = res.data.url;
|
||||
file.resData = res.data;
|
||||
file.type_ = "upload";
|
||||
if(this.designTypeList[this.selectCode] && this.selectCode == 'Sketchboard'){
|
||||
this.designTypeList[this.selectCode].forEach((item:any) => {
|
||||
if(item.name == res.data.level2Type){
|
||||
category.value = item?.value
|
||||
category.name = item?.name
|
||||
}
|
||||
});
|
||||
}
|
||||
file.categoryValue = category?.value;
|
||||
file.category = category?.name;
|
||||
}else{
|
||||
bor = false
|
||||
}
|
||||
@@ -1115,21 +1128,6 @@ export default defineComponent({
|
||||
this.selectGenerateList.splice(index, 1);
|
||||
|
||||
},
|
||||
setSketchboardItem(item:any){
|
||||
if(this.checkbox[1].type){
|
||||
return
|
||||
}
|
||||
if(item.checked){
|
||||
item.checked = false
|
||||
}else{
|
||||
this.selectGenerateList.forEach((v:any)=>{
|
||||
if(v.checked){
|
||||
v.checked = false
|
||||
}
|
||||
})
|
||||
item.checked = true
|
||||
}
|
||||
},
|
||||
PrintModel(){
|
||||
if(!this.printModel.optype){
|
||||
document.addEventListener('click',this.removePrintModel)
|
||||
@@ -1154,79 +1152,36 @@ export default defineComponent({
|
||||
if(this.isGenerate[selectCodeStr]){
|
||||
return
|
||||
}
|
||||
let arr = ["Painting Style","Illustration Style","Real Style"]
|
||||
let generateType = this.checkbox.filter((v:any)=>v.type)[0].name
|
||||
if(selectCodeStr == 'Moodboard'){
|
||||
generateType = this.checkbox[1].name
|
||||
let level2Type = ''
|
||||
let collectionElementId = ''
|
||||
let base64 = ''
|
||||
if(this.selectGenerateList?.[0]){
|
||||
level2Type = this.selectGenerateList[0].categoryValue?this.selectGenerateList[0].categoryValue:''
|
||||
collectionElementId = this.selectGenerateList[0].id
|
||||
if(this.selectGenerateList[0].base64){
|
||||
base64 = this.selectGenerateList[0].imgUrl
|
||||
}
|
||||
}
|
||||
let generageImg = this.selectGenerateList.filter((v:any)=>v.checked)[0]
|
||||
if(this.selectCode == "Sketchboard"){
|
||||
console.log(this.selectGenerateList);
|
||||
}else if(this.selectCode == "Printboard"){
|
||||
level2Type = this.scene?.value
|
||||
}
|
||||
let arr = ["Painting Style","Illustration Style","Real Style"]
|
||||
let data = {
|
||||
generateType:generateType,
|
||||
generateType:'text',
|
||||
designType:'collection',
|
||||
collectionElementId:generageImg?.id,
|
||||
collectionElementId:collectionElementId,
|
||||
level1Type:selectCodeStr,
|
||||
level2Type:selectCodeStr == 'Sketchboard'?this.designType.value:'',
|
||||
level2Type:level2Type,
|
||||
userId:(this?.userInfo as any).userId,
|
||||
isTestUser:this.driver__.driver?false:this.isTest,
|
||||
text:selectCodeStr == 'Printboard'?`${arr[this.printModel.num-1]},${this.captionGeneration}`:this.captionGeneration,
|
||||
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
|
||||
version:1,//为1就是Print
|
||||
gender:selectCodeStr == 'Sketchboard'?this.sex.value:'',
|
||||
base64:base64,
|
||||
}
|
||||
if(generateType == 'image'){
|
||||
if(generageImg?.id){
|
||||
data.text = arr[this.printModel.num-1]
|
||||
}else{
|
||||
message.info(
|
||||
this.t('LibraryPage.jsContent9')
|
||||
);
|
||||
return
|
||||
}
|
||||
}else if(generateType == 'text'){
|
||||
data.collectionElementId = ''
|
||||
data.level2Type = ''
|
||||
// this.beforeUpload(false)
|
||||
if(this.captionGeneration){
|
||||
let arr = this.captionGeneration.split(/\s+/).length
|
||||
if(arr > 250){
|
||||
message.info(
|
||||
this.t('LibraryPage.jsContent6')
|
||||
);
|
||||
return
|
||||
|
||||
}
|
||||
}else{
|
||||
message.info(
|
||||
this.t('LibraryPage.jsContent7')
|
||||
);
|
||||
return
|
||||
}
|
||||
|
||||
}else if(generateType == 'text-image'){
|
||||
if(generageImg?.id){
|
||||
if(this.captionGeneration){
|
||||
let arr = this.captionGeneration.split(/\s+/).length
|
||||
if(arr > 250){
|
||||
message.info(
|
||||
this.t('LibraryPage.jsContent6')
|
||||
);
|
||||
return
|
||||
|
||||
}
|
||||
}else{
|
||||
message.info(
|
||||
this.t('LibraryPage.jsContent7')
|
||||
);
|
||||
return
|
||||
}
|
||||
}else{
|
||||
message.info(
|
||||
this.t('LibraryPage.jsContent9')
|
||||
);
|
||||
return
|
||||
}
|
||||
}
|
||||
// this.isShowMark = true
|
||||
this.isGenerate[selectCodeStr] = true
|
||||
this.isTextarea = false
|
||||
Https.axiosPost(Https.httpUrls.generatePrepare, data).then(
|
||||
@@ -1249,12 +1204,6 @@ export default defineComponent({
|
||||
return
|
||||
}
|
||||
}
|
||||
// rv.uniqueId.forEach((item:any) => {
|
||||
// let arr:any = {}
|
||||
// arr.taskId = item
|
||||
// arr.status = 'execution'
|
||||
// this.generateList[selectCodeStr].unshift(arr)
|
||||
// });
|
||||
this.setGenerate(selectCodeStr,rv.uniqueId)
|
||||
|
||||
}
|
||||
@@ -1278,7 +1227,7 @@ export default defineComponent({
|
||||
rv.forEach((element:any) => {
|
||||
if(element.status === 'Success'){
|
||||
element.imgUrl = element.url
|
||||
this.disignTypeList.forEach((itemCategory:any) => {
|
||||
this.designTypeList[this.selectCode].forEach((itemCategory:any) => {
|
||||
if(itemCategory.value == element.category){
|
||||
element.categoryValue = itemCategory?.label
|
||||
element.category = itemCategory?.value
|
||||
@@ -1376,7 +1325,6 @@ export default defineComponent({
|
||||
|
||||
},
|
||||
getClass(){
|
||||
let designType = this.selectCode == 'Sketchboard' || this.selectCode == 'MarketingSketch' ? this.designType.value : ''
|
||||
let data = {
|
||||
"classificationIdList": [],
|
||||
"classificationName": "",
|
||||
@@ -1449,7 +1397,8 @@ export default defineComponent({
|
||||
display: flex;
|
||||
padding-top: 2rem;
|
||||
.library_body_left{
|
||||
width: 27.5rem;
|
||||
// width: 27.5rem;
|
||||
width: 36.5rem;
|
||||
height: 100%;
|
||||
background: rgba(255,255,255,0.4);
|
||||
margin-right: 5rem;
|
||||
@@ -1715,132 +1664,58 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
.input_border{
|
||||
padding-bottom: 0;
|
||||
background: rgba(0, 0, 0, 0);
|
||||
padding: 0;
|
||||
.input_box{
|
||||
background:initial;
|
||||
position: relative;
|
||||
padding: 1.5rem 0;
|
||||
padding: 0;
|
||||
// &:hover{
|
||||
// .search_textarea{
|
||||
// display: block
|
||||
// }
|
||||
// }
|
||||
|
||||
input{
|
||||
width: 30rem;
|
||||
width: 50rem;
|
||||
.input_box_btnBox{
|
||||
background: #fff;
|
||||
align-items: center;
|
||||
.search_input{
|
||||
height: 3rem;
|
||||
&.active{
|
||||
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{
|
||||
}
|
||||
|
||||
.generage_btn{
|
||||
margin: 0 3rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.printModel{
|
||||
font-size: 1.4rem;
|
||||
font-weight: 500;
|
||||
>div{
|
||||
width: 13rem;
|
||||
// display: flex;
|
||||
display: block;
|
||||
border-radius: 1rem;
|
||||
margin: 0;
|
||||
border: 2px solid;
|
||||
font-size: 1.4rem;
|
||||
font-weight: 500;
|
||||
margin-right: 2rem;
|
||||
>div{
|
||||
width: 13rem;
|
||||
// display: flex;
|
||||
display: block;
|
||||
border-radius: 1rem;
|
||||
margin: 0;
|
||||
border: 2px solid;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 0 1rem;
|
||||
text-align: center;
|
||||
}
|
||||
ul{
|
||||
position: absolute;
|
||||
width: 13rem;
|
||||
text-align: center;
|
||||
margin-top: .3rem;
|
||||
border-radius: 1rem;
|
||||
overflow: hidden;
|
||||
z-index: 3;
|
||||
li{
|
||||
background: #c5c4c8;
|
||||
line-height: 2;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 0 1rem;
|
||||
text-align: center;
|
||||
}
|
||||
ul{
|
||||
position: absolute;
|
||||
width: 13rem;
|
||||
text-align: center;
|
||||
margin-top: .3rem;
|
||||
border-radius: 1rem;
|
||||
overflow: hidden;
|
||||
z-index: 3;
|
||||
li{
|
||||
background: #c5c4c8;
|
||||
line-height: 2;
|
||||
cursor: pointer;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: 0 1rem;
|
||||
&.printModel_item:hover{
|
||||
background: #949396;
|
||||
}
|
||||
&.printModel_item:hover{
|
||||
background: #949396;
|
||||
}
|
||||
}
|
||||
}
|
||||
.upload_item{
|
||||
margin-left: 4rem;
|
||||
.upload_file_item{
|
||||
width: 8rem;
|
||||
height: 8rem;
|
||||
margin: 0;
|
||||
margin-right: 2rem;
|
||||
.delete_file_block{
|
||||
width: 3rem;
|
||||
height: 3rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
opacity: 0;
|
||||
span{
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.upload_component{
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
}
|
||||
.upload_item:hover{
|
||||
.upload_file_item{
|
||||
.delete_file_block{
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user