push Develop

This commit is contained in:
X1627315083
2024-06-17 09:39:01 +08:00
parent c93483e36f
commit 363b880276
55 changed files with 5880 additions and 1359 deletions

View File

@@ -269,6 +269,7 @@ export default defineComponent({
let userGroupId: any = computed(() => {
return store.state.HomeStoreModule.userGroupId;
}); //模特id //当likeDesignCollectionList长度为0时清空startdesign时清空
let beenPublished = null
let designCollectionId: any = computed(() => {
return store.state.HomeStoreModule.designCollectionId;
});
@@ -330,6 +331,7 @@ export default defineComponent({
likeDesignCollectionList,
designCollectionList,
userGroupId,
beenPublished,
designCollectionId,
designId,
contentImgMax,
@@ -808,6 +810,7 @@ export default defineComponent({
let data: any = {
id: v.resData.id,
designType: v.resData.designType,
level2Type: v.category,
isPin: v.pin ? 1 : 0,
};
return data;
@@ -912,11 +915,13 @@ export default defineComponent({
//获取选择的组
getHistoryChoose(userGroupId: any, type: any) {
this.isShowMark = true;
let url =
Https.httpUrls.historyChoose + `?userGroupId=${userGroupId}`;
Https.axiosGet(url)
.then((rv: any) => {
this.beenPublished = rv.beenPublished
this.store.commit("setUserGroupId", rv.userGroupId);
this.dealHistoryChooseData(rv, type);
this.isShowMark = false;
@@ -954,6 +959,8 @@ export default defineComponent({
},
//处理选择组的数据
dealHistoryChooseData(data: any, type: any) {
console.log(data);
let collectionData = {
disposeMoodboard: data.collection.moodTemplateId?[{
id:data.collection.moodTemplateId,
@@ -980,6 +987,8 @@ export default defineComponent({
),
};
console.log(collectionData);
// console.log(data);
this.store.commit("setAllBoardDataChoose", collectionData);
// this.store.commit('clearShowSketchboard')
@@ -1027,9 +1036,11 @@ export default defineComponent({
if (v.level1Type === "Sketchboard") {
newData.pin = v.isPin;
newData.category = v.level2Type;
newData.level2Type = v.level2Type;
}
if (v.level1Type === "Printboard") {
newData.pin = v.isPin;
newData.level2Type = v.level2Type;
}
return newData;
});
@@ -1078,7 +1089,7 @@ export default defineComponent({
let productImg:any = this.$refs.productImg
productImg.productImgMask = true
productImg.init()
productImg.init(this.userGroupId,this.beenPublished)
},
//打开图片详情

View File

@@ -4,16 +4,16 @@
<div>Works</div>
</div> -->
<div class="modal_title_text modal_search">
<div v-for="item in worksType" :key="item" v-show="isScroll?true:(item.value != 'myWorks')" class="modal_title_text_assistant" @click="setWorksSelect(item)" :class="{active:item.value == worksSelect}">
<div v-for="item in worksType" :key="item" v-show="isScroll?true:(item.value != 'myWorks' && item.value !='favoriteWorks')" class="modal_title_text_assistant" @click="setWorksSelect(item)" :class="{active:item.value == worksSelect}">
{{ item.name }}
</div>
<div class="modal_search_menu">
<!-- <div class="modal_search_menu">
<generalMenu :dataList="menuList" @setprintModel="setprintModel" :item="selectMenu"></generalMenu>
</div>
</div> -->
</div>
<div class="page_content" >
<Falls ref="fall" @loadend="isShowMark = false" :isScroll="isScroll" @getImgScale="getImgScale"></Falls>
<div class="page_loading_box">
<Falls ref="fall" @loadend="isShowMark = false" @setPortfolioLike="setPortfolioLike" :isScroll="isScroll" @getImgScale="getImgScale"></Falls>
<div class="page_loading_box" v-show="!isNoData">
<span class="page_loading" v-show="!isShowMark"></span>
<span v-show="isShowMark">
<a-spin size="large" />
@@ -64,13 +64,17 @@ export default defineComponent({
name: '全部',
value: 'all'
},
// {
// name: 'generate',
// value: 'generate'
// },
// {
// name: 'freehand sketching',
// value: 'freehandSketching'
// },
{
name: 'generate',
value: 'generate'
},
{
name: 'freehand sketching',
value: 'freehandSketching'
name: 'Favorite Works',
value: 'favoriteWorks'
},
{
name: 'My Works',
@@ -194,6 +198,8 @@ export default defineComponent({
}
],
getListDate:{
"getLikePortfolio": 0,
"getMyPortfolio": 0,
page:1,
size:10,
},
@@ -229,6 +235,19 @@ export default defineComponent({
let fall:any = ref()
let setWorksSelect = (val:any) => {
filter.worksSelect = val.value
if(val.value == 'all'){
filter.getListDate.getLikePortfolio = 0
filter.getListDate.getMyPortfolio = 0
}else if(val.value == 'favoriteWorks'){
filter.getListDate.getLikePortfolio = 1
filter.getListDate.getMyPortfolio = 0
}else if(val.value == 'myWorks'){
filter.getListDate.getMyPortfolio = 1
filter.getListDate.getLikePortfolio = 0
}
filter.getListDate.page = 0
fall.value.clearData()
getPorfolio()
}
let likeFile = (item:any,type:string) => {
}
@@ -237,24 +256,41 @@ export default defineComponent({
newScaleImage.value.init(item)
}
let getPorfolio = ()=>{
// let data = filter.getListDate
// Https.axiosPost(Https.httpUrls.getPorfolio, data)
// .then((rv) => {
// console.log(rv);
// filter.worksList = rv.content
// })
// .catch((rv) => {});
let data = filter.getListDate
console.log(123123);
if(filter.isShowMark && !filter.isNoData)return
filter.isShowMark = true
setTimeout(() => {
filter.isShowMark = false
fall.value.push(filter.worksList);
}, 1000);
Https.axiosPost(Https.httpUrls.getPorfolio, data)
.then((rv) => {
if (rv.content.length > 0) {
filter.isShowMark = false
fall.value.push(rv.content);
} else {
filter.isNoData = true
}
// filter.worksList = rv.content
})
.catch((rv) => {});
// setTimeout(() => {
// filter.isShowMark = false
// fall.value.push(filter.worksList)
// }, 1000);
}
let {t} = useI18n()
let setprintModel= (data:any)=>{
selectMenu.value = data
}
let setPortfolioLike = (value:any) =>{
// let data = {id:value.id}
// Https.axiosGet(Https.httpUrls.portfolioLike, {params:data})
// .then((rv) => {
// })
// .catch((rv) => {
// });
}
onMounted (()=>{
getPorfolio()
let worksPage:any = document.querySelector('.works_page')
@@ -264,6 +300,7 @@ export default defineComponent({
// 如果不是相交,则直接返回
// console.log(entries[0]);
if (!entries[0].intersectionRatio) return;
filter.getListDate.page += 1
getPorfolio()
},
// { root:worksPage }
@@ -280,6 +317,7 @@ export default defineComponent({
getImgScale,
t,
setprintModel,
setPortfolioLike,
}
},
data() {
@@ -365,10 +403,11 @@ export default defineComponent({
background: #f7f8fa;
.page_loading_box{
text-align: center;
height: 50px;
.page_loading{
display: block;
width: 20px;
height: 20px;
width: 50px;
height: 50px;
}
}
}

View File

@@ -69,8 +69,8 @@
<div class="operate_item" @click="turnToDetail(record)">{{ $t('HistoryPage.Detail') }}</div>
<div class="operate_item" @click="renameCollection(record,index)">{{ $t('LibraryPage.Rename') }}</div>
<div class="operate_item" @click="retrieveHome(record)">{{ $t('HistoryPage.Retrieve') }}</div>
<div class="operate_item" @click="setPublish(record)">Publish</div>
<div class="operate_item" @click="updatePublish(record)">Update Publish</div>
<!-- <div class="operate_item" @click="setPublish(record)">Publish</div> -->
<!-- <div class="operate_item" @click="updatePublish(record)">Update Publish</div> -->
<div class="operate_item" @click="deleteGroup(record, index)">{{ $t('HistoryPage.Delete') }}</div>
</div>
</template>

View File

@@ -33,7 +33,7 @@
<div class="header_operate_item pointer" :class="{operate_select:uploadGenerate == 'Upload'}" @click="uploadGenerateOpen('Upload')">
<div>{{ $t('LibraryPage.Organize') }}</div>
</div>
<div v-show="selectCode != 'Models'" class='header_operate_item pointer' :class="{operate_select:uploadGenerate == 'Generate'}" @click="uploadGenerateOpen('Generate')">{{ $t('LibraryPage.Generate') }}</div>
<div v-show="selectCode != 'Models' && selectCode != 'DesignElements'" class='header_operate_item pointer' :class="{operate_select:uploadGenerate == 'Generate'}" @click="uploadGenerateOpen('Generate')">{{ $t('LibraryPage.Generate') }}</div>
</div>
<div class="librart_headr_right">
@@ -70,7 +70,7 @@
<a-select
ref="select"
v-show="designTypeList[selectCode]?.[0]?.value && selectCode == 'Sketchboard' && uploadGenerate != 'Generate'"
v-model:value="designType.value"
v-model:value="designType"
:options="designTypeList[selectCode]"
@change="handleChange"
:fieldNames="{ label: 'name', value: 'value' }"
@@ -88,7 +88,11 @@
<div class="libray_right_content">
<div class="right_content_body" v-show="uploadGenerate =='Upload'">
<div class="content_body_header">
<div class="content_body_header" v-show="selectCode == 'DesignElements'">
<div style="font-size:1.5rem;">All default materials are generated by AiDA ourselves</div>
</div>
<!-- <div class="content_body_header"> -->
<div class="content_body_header" v-show="selectCode != 'DesignElements'">
<div class="content_body_header_left">
<div class="content_body_header_right">
<div :class="['header_operate_item' , 'fontSize','active']">
@@ -151,7 +155,7 @@
<div class="content_img_item" v-for="(img,index) in imgList" :key="img.id" @click="selectImgItem(img)" :draggable="true">
<div :class="['content_img_item_block', selectImgList.indexOf(img.id) > -1 ? 'select_item_img' :'']">
<img v-lazy="img.url" :key="img.url" :class="['content_img', ['Moodboard','Printboard'].indexOf(selectCode) > -1 ? 'board_content_img' :'']"/>
<div class="img_item_hover">
<div class="img_item_hover" v-show="selectCode != 'DesignElements'">
<div class="img_operate_content">
<div class="img_operate_block" :title="t('LibraryPage.Point')" @click.stop="editPlacementClick(img)" v-show="selectCode === 'Models'">
<span class="icon iconfont icon-dianwei operate_icon"></span>
@@ -187,7 +191,7 @@
<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>
<div v-show="selectCode == 'Printboard'" class="printModel">
<div v-show="selectCode == 'Printboard' && scene?.value == 'Pattern'" 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>
@@ -198,7 +202,7 @@
<div class="input_border">
<div class="input_box" :class="{active:inputShow}">
<div class="input_box_btnBox">
<div class="upload_item">
<div class="upload_item" v-show="selectCode !== 'Moodboard' && (scene?.value == 'Pattern' || scene?.value == 'Slogan')">
<div
class="upload_file_item"
v-for="(file, index) in selectGenerateList"
@@ -221,6 +225,8 @@
</div>
</div>
</div>
<input class="search_seed" v-show="selectCode == 'Printboard' && scene?.value == 'Logo'" @input="ifSeedValue" v-model="searchPictureSeed" type="Number" placeholder='Seed' min="0">
<input
class="search_input "
@input="ifMaximumLength"
@@ -248,7 +254,7 @@
>
</a-upload>
</i>
<i v-show="scene?.value == 'Slogan'" @click.stop="setSlogan" class="fi fi-rr-poll-h"></i>
<i v-show="selectCode == 'Printboard' && 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>
@@ -324,6 +330,8 @@
<ModelPlacement ref="ModelPlacement" @submitModelPlacement="getLibraryList"></ModelPlacement>
<ModelPlacementMobile ref="ModelPlacementMobile" @submitModelPlacement="getLibraryList"></ModelPlacementMobile>
<setLabel ref="setLabel"></setLabel>
<createSlogan ref="createSlogan" @setSloganData="setSloganData"></createSlogan>
<!-- 蒙层 start-->
<div class="mark_loading" v-show="isShowMark">
<a-spin size="large" />
@@ -356,6 +364,7 @@ import sketchCategory from "@/component/HomePage/sketchCategory.vue";
import { useI18n } from "vue-i18n";
import { ElCascader } from 'element-plus'
import { remove } from "jszip";
import createSlogan from "@/component/HomePage/createSlogan.vue";
export default defineComponent({
components: {
// HeaderComponent,
@@ -367,6 +376,7 @@ export default defineComponent({
ElCascader,
scaleImage,
sketchCategory,
createSlogan,
},
setup() {
const store = useStore();
@@ -377,7 +387,7 @@ export default defineComponent({
// {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:'Elements',icon:'icon-fuwushichang',showChildren:false,children:[]},
{title:'Design Elements',code:'DesignElements',icon:'fi fi-rs-people',showChildren:false,children:[]},
{title:'Design Elements',code:'DesignElements',icon:'fi fi-ss-puzzle-piece',showChildren:false,children:[]},
{title:useI18n().t('LibraryPage.Mannequins'),code:'Models',icon:'fi fi-rs-people',showChildren:false,children:[]},
]
@@ -385,6 +395,7 @@ export default defineComponent({
let selectImgList:any = ref([])
let selectCode:any = ref('Moodboard')
let searchPictureName = ref('')
let searchPictureSeed:any = ref(0);
let designType:any = ref({
name:'',
value:''
@@ -500,6 +511,7 @@ export default defineComponent({
selectImgList,
selectCode,
searchPictureName,
searchPictureSeed,
sexList,
sex,
designTypeList,
@@ -612,7 +624,7 @@ export default defineComponent({
// params = 'MalePosition'
// }
this.store.commit('setPosition',this.sex.value)
this.designType = this.designTypeList.Sketchboard[0]
this.designType = this.designTypeList.Sketchboard[0].value
// await Https.axiosGet(Https.httpUrls.workspaceenumValues,{params:{enumName:params}}).then((rv: any) => {
// if (rv) {
@@ -632,8 +644,10 @@ export default defineComponent({
},
likeFile(item:any,str:string){
let designType = ''
console.log(this.designType);
if(this.selectCode == 'Sketchboard' || this.selectCode == 'DesignElements' || this.selectCode == 'Printboard'){
designType = this.designType.value
designType = this.designType
}
if(str == 'like'){
let data = {
@@ -676,15 +690,12 @@ export default defineComponent({
this.isTextarea = false
this.value.labelValue = []
if(this.designTypeList[this.selectCode].length >= 1){
this.designType = this.designTypeList[this.selectCode][0]
this.designType = this.designTypeList[this.selectCode][0].value
}else{
this.designType = {
name:'',
value:'',
}
this.designType = ''
}
if(this.selectCode == 'DesignElements')this.uploadGenerate = 'Upload'
if(this.selectCode == 'Models')this.uploadGenerate = 'Upload'
if(this.selectCode == 'Printboard')this.uploadGenerate = 'Upload'
if(this.selectCode != 'DesignElements'){
this.getClass()
}
@@ -699,10 +710,14 @@ export default defineComponent({
async sexChange(){
await this.getPosition()
if(this.uploadGenerate == 'Generate')return
this.currentPage = 1
this.getLibraryList('')
},
handleChange(){
this.scene = this.designTypeList[this.selectCode].filter((item:any)=>item.value == this.designType)[0]
this.selectGenerateList = []
if(this.uploadGenerate == 'Generate')return
this.currentPage = 1
this.getLibraryList('')
},
@@ -746,6 +761,7 @@ export default defineComponent({
//选择图片
selectImgItem(imgData:any){
if(imgData.level2Type == "DesignElements")return
if(this.selectImgList.indexOf(imgData.id) === -1){
this.selectImgList.push(imgData.id)
}else{
@@ -772,6 +788,11 @@ export default defineComponent({
},
uploadGenerateOpen(str:any){
// if(str == 'Generate'){
// if(this.selectCode == 'Printboard'){
// this.scene = this.designTypeList[this.selectCode][0]
// }
// }
if(this.uploadGenerate == 'Generate'){
if(str != 'Generate'){
this.getLibraryList('')
@@ -902,7 +923,7 @@ export default defineComponent({
if (!isJpgOrPng) {
message.info(this.t('LibraryPage.jsContent3'));
}
const isLt2M = file.size / 1024 / 1024 < 2;
const isLt2M = file.size / 1024 / 1024 < 5;
if (!isLt2M) {
message.info(this.t('LibraryPage.jsContent4'));
}
@@ -926,7 +947,7 @@ export default defineComponent({
// }
let designType = ''
if(this.selectCode == 'Sketchboard' || this.selectCode == 'DesignElements' || this.selectCode == 'Printboard'){
designType = this.designType.value
designType = this.designType
}
let new_data = {
file:event.file,
@@ -997,7 +1018,7 @@ export default defineComponent({
})
let designType = ''
if(this.selectCode == 'Sketchboard' || this.selectCode == 'DesignElements' || this.selectCode == 'Printboard'){
designType = this.designType.value
designType = this.designType
}
let data = {
classificationIdList:labelArr,
@@ -1057,6 +1078,11 @@ export default defineComponent({
}
this.captionGeneration += str + value
},
ifSeedValue(e:any){
if(this.searchPictureSeed == ''){
this.searchPictureSeed = 0
}
},
ifMaximumLength(){
clearTimeout(this.inputTime)
this.inputTime = setTimeout(()=>{
@@ -1068,6 +1094,13 @@ export default defineComponent({
}
},500)
},
setSlogan(){
let createSlogan:any = this.$refs.createSlogan
createSlogan.init()
},
setSloganData(data:any){
this.selectGenerateList = data
},
inputFocus(){
if(this.isInputFocus) return
this.isInputFocus = true
@@ -1147,11 +1180,12 @@ export default defineComponent({
},
getgenerate(){
let selectCodeStr = JSON.parse(JSON.stringify(this.selectCode))
clearInterval(this.remGenerateTime[selectCodeStr])
this.remGenerate[selectCodeStr] = false
if(this.isGenerate[selectCodeStr]){
return
}
clearInterval(this.remGenerateTime[selectCodeStr])
this.remGenerate[selectCodeStr] = false
let level2Type = ''
let collectionElementId = ''
let base64 = ''
@@ -1162,6 +1196,8 @@ export default defineComponent({
base64 = this.selectGenerateList[0].imgUrl
}
}
console.log(this.scene);
if(this.selectCode == "Sketchboard"){
console.log(this.selectGenerateList);
}else if(this.selectCode == "Printboard"){
@@ -1177,13 +1213,17 @@ export default defineComponent({
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,
seed:this.searchPictureSeed,
timeZone:Intl.DateTimeFormat().resolvedOptions().timeZone,
version:1,//为1就是Print
gender:selectCodeStr == 'Sketchboard'?this.sex.value:'',
base64:base64,
sloganBase64:base64,
}
this.isGenerate[selectCodeStr] = true
this.isTextarea = false
this.remGenerateTime[selectCodeStr] = setTimeout(()=>{
this.remGenerate[selectCodeStr] = true
},10000)
Https.axiosPost(Https.httpUrls.generatePrepare, data).then(
(rv) => {
if(data.isTestUser){
@@ -1210,29 +1250,29 @@ export default defineComponent({
).catch(res=>{
// this.isShowMark = false
this.isGenerate[selectCodeStr] = false
clearInterval(this.remGenerateTime[selectCodeStr])
this.remGenerate[selectCodeStr] = false
});
},
setGenerate(str:any,dataList:any){
this.remGenerateTime[str] = setTimeout(()=>{
this.remGenerate[str] = true
},10000)
let data = dataList
let dataNum = dataList.length
let state = true
this.generateTime[str] = setInterval(()=>{
// let data = this.generateList[str].filter((item:any)=>item.status != 'Success').map((obj:any) => obj.taskId);
if(!state)return
state = false
Https.axiosPost(Https.httpUrls.generateResult, data).then(
(rv) => {
state = true
if(this.isGenerate[str]){//防止取消后有正在执行的获取状态
this.generateProceedList = rv.filter((item:any)=>item.status != 'Success' && item.status != 'Fail' && item.status != 'Invalid')
rv.forEach((element:any) => {
if(element.status === 'Success'){
element.imgUrl = element.url
this.designTypeList[this.selectCode].forEach((itemCategory:any) => {
if(itemCategory.value == element.category){
element.categoryValue = itemCategory?.label
element.category = itemCategory?.value
}
});
element.categoryValue = this.scene?.name
element.category = this.scene?.value
this.generateList[str].unshift(element)
data = data.filter((item:any) => item !== element.taskId);
}