diff --git a/.env.dev b/.env.dev index 7d633ff1..926a368f 100644 --- a/.env.dev +++ b/.env.dev @@ -6,7 +6,7 @@ NODE_ENV = 'development' VUE_APP_BASE_URL = 'https://develop.api.aida.com.hk' # VUE_APP_BASE_URL = 'https://www.api.aida.com.hk' # 佩佩 -# VUE_APP_BASE_URL = 'http://192.168.1.7:5567' +# VUE_APP_BASE_URL = 'http://192.168.1.4:5567' # 海波 # VUE_APP_BASE_URL = 'http://192.168.1.9:5567' diff --git a/src/assets/json/events.json b/src/assets/json/events.json index ddc65519..d5f97050 100644 --- a/src/assets/json/events.json +++ b/src/assets/json/events.json @@ -15,13 +15,13 @@ { "paragraph":[ { - "text":"🎨AiDA x RCA Workshop!" + "text":"🎨AiDA Workshop!" } ] },{ "paragraph":[ { - "text":"The process is simple: use AiDA to post your design work on the 'Gallery ', and the one with the most likes(at least 20 likes) will be invited to the AiDA x RCA workshop offline event in Hong Kong on November 14th, to exchange ideas with the Royal College of Art (RCA), Jae Lim, co-founder of the renowned fashion brand BESFXXK, and outstanding designers!" + "text":"The process is simple: use AiDA to post your design work on the 'Gallery', and the one with the most likes(at least 20 likes) will be invited to the AiDA Workshop offline event in Hong Kong on November 14th, to exchange ideas with the Royal College of Art (RCA), Jae Lim, co-founder of the renowned fashion brand BESFXXK, and outstanding designers! " } ] },{ @@ -33,11 +33,9 @@ },{ "paragraph":[ { - "text":"1. Title of the work post: AiDA x RCA Workshop" + "text":"1. Add the tag in the work description #AiDAworkshop_2024" },{ - "text":"2. Add the tag in the work description: #RCAworkshop_2024" - },{ - "text":"3. One winner only" + "text":"2. One winner only" } ] },{ @@ -64,12 +62,6 @@ "text":"⌛️Deadline: October 31, 2024" } ] - },{ - "paragraph":[ - { - "text":"#AiDA #CodeCreate #ai #fashiondesign #fashion #AiDLab #RCA" - } - ] } ] } diff --git a/src/assets/json/events_cn.json b/src/assets/json/events_cn.json index 0dd51355..de68ff11 100644 --- a/src/assets/json/events_cn.json +++ b/src/assets/json/events_cn.json @@ -3,25 +3,25 @@ { "id": 1, "title":"什么?只要发布设计作品就有机会来香港与大佬面对面交流?!", - "imgUrl": "/image/events/workshop-En.jpg" + "imgUrl": "/image/events/workshop-Cn.jpg" } ], "eventsItem":[ { "id":1, "title":"什么?只要发布设计作品就有机会来香港与大佬面对面交流?!", - "imgUrl": "/image/events/workshop-En.jpg", + "imgUrl": "/image/events/workshop-Cn.jpg", "textList":[ { "paragraph":[ { - "text":"🎨这是一趟艺术巅峰之旅!AiDA x RCA Workshop!" + "text":"🎨这是一趟艺术巅峰之旅!AiDA Workshop!" } ] },{ "paragraph":[ { - "text":"参与过程很简单,利用AiDA 在 “Gallery广场 ”发布设计作品,最终获赞最高者(至少20个赞)将被邀请至11月14日 举办的AiDA x RCA workshop香港线下活动,与英国皇家艺术学院(RCA)、韩国知名时尚品牌BESFXXK创始人JAE以及优秀设计师一同交流!(名额仅限1名)" + "text":"参与过程很简单,利用AiDA 在 “Gallery广场 ”发布设计作品,最终获赞最高者(至少20个赞)将被邀请至11月14日 举办的AiDA Workshop香港线下活动,与英国皇家艺术学院(RCA)、韩国知名时尚品牌BESFXXK创始人JAE以及优秀设计师一同交流!(名额仅限1名)" } ] },{ @@ -33,11 +33,9 @@ },{ "paragraph":[ { - "text":"1. 作品发布标题: AiDA x RCA Workshop" + "text":"1. 作品描述添加tag: #AiDAworkshop_2024" },{ - "text":"2. 作品描述添加tag: #RCAworkshop_2024" - },{ - "text":"3.一个冠军名额" + "text":"2. 一个冠军名额" } ] },{ @@ -64,12 +62,6 @@ "text":"⌛️截止时间:2024.10.31" } ] - },{ - "paragraph":[ - { - "text":"#AiDA #CodeCreate #ai #服装设计 #服装设计灵感 #英国皇家艺术学院 #设计师" - } - ] } ] } diff --git a/src/component/HomePage/generalMenu.vue b/src/component/HomePage/generalMenu.vue index f2ada88d..a3df5dc3 100644 --- a/src/component/HomePage/generalMenu.vue +++ b/src/component/HomePage/generalMenu.vue @@ -222,9 +222,11 @@ import { message, Upload, Modal } from "ant-design-vue"; padding: 0 calc(1rem*1.2); &.active{ // opacity: .4; + pointer-events: none; color: #a4a4a4 !important; background: #ebebeb !important; cursor: not-allowed; + } :deep(.icon-shanchu){ cursor: pointer; diff --git a/src/component/WorksPage/publish.vue b/src/component/WorksPage/publish.vue index 9f0fd111..9ad7aa33 100644 --- a/src/component/WorksPage/publish.vue +++ b/src/component/WorksPage/publish.vue @@ -9,7 +9,6 @@ :closable="false" :mask="publishMask" :keyboard="false" - :destroyOnClose="true" >
@@ -33,70 +32,32 @@
{{$t('Publish.CollectionTitle')}}
- +
-
-
{{$t('Publish.topic')}}
-
-
- - - {{ item.tag }} - - - - {{ item.tag }} - -
-
-
-
- {{ item.tag }} -
-
-
{{$t('Publish.Description')}}
+
+
+
+ {{ item.tagName }} +
+
{{$t('Publish.Permissions')}}
- - -
{{$t('Publish.PermissionsItem1')}}
-
-
{{$t('Publish.Close')}}
-
{{beenPublished == 0?$t('Publish.Publish'):$t('Publish.UpdatePublish')}}
+
{{!subPublishDate?.id?$t('Publish.Publish'):$t('Publish.UpdatePublish')}}
@@ -125,12 +86,10 @@ export default defineComponent({ const store = useStore(); let publish: any = ref(false);//弹窗 let publishMask:any = ref(false)//弹窗遮罩 - let setBeenPublished:any = inject('setBeenPublished') let publishData:any = reactive({ publishName:'', loadingShow:false, publishMarginTop:0, - beenPublished:inject('beenPublished'),//history回来时候表示是否已经发布0为没发布 publishList:[], publishIndex:0,//当前图片索引 isShowMark:false, @@ -139,15 +98,18 @@ export default defineComponent({ url:'', }, subPublishDate:{ + id:'', + portfolioDes:'' }, selectPermissions:{ isAllowComment:true, isDisplayArea:true, isSecondaryCreation:true, - } + }, }) - let tagList = ref([{tag:'RCAworkshop_2024'}]) - let selectTagList:any = ref([]) + let portfolio:any = inject('portfolio') + let setPortfolio:any = inject('setPortfolio') + let tagList = ref([{id:1,tagName:'#RCAworkshop_2024',title:'The process is simple: use AiDA to post your design work on the "Gallery ", and the one with the most likes(at least 20 likes) will be invited to the AiDA Workshop offline event in Hong Kong on November 14th, to exchange ideas with the Royal College of Art (RCA), Jae Lim, co-founder of the renowned fashion brand BESFXXK, and outstanding designers! '}]) // let textarea: any = ref(null) // let setCopy = ()=>{ // textarea.value.select() @@ -166,13 +128,14 @@ export default defineComponent({ accountId : JSON.parse(userInfo).userId, createDate:'', idDeleted:'', - id:'', - portfolioDes:'', - portfolioName:'', + id:portfolio.value.id?portfolio.value.id:'', + portfolioDes:portfolio.value.portfolioDes?portfolio.value.portfolioDes:'', + portfolioName:portfolio.value.portfolioName?portfolio.value.portfolioName:'', portfolioType:'History', status:'', updateDate:'', collectionId:'', + tagsDTO:portfolio.value.tagsDTO?portfolio.value.tagsDTO:[], // isAllowLikes:true, } } @@ -181,6 +144,39 @@ export default defineComponent({ publishData.selectDate.url = item.url } + let extractHashtags = (text:any)=>{ + // const regex = /#\S+\s{2}/g; + const regex = /#\S+\s/g; + // 使用match方法提取匹配的字符串 + const matches = text.match(regex); + // 处理提取结果,去掉空格并返回 + return matches ? matches.map((match:any) => match.replace(/\s+/g, '')) : []; // 去掉所有空格 + } + let textareaChange = ()=>{ + let tagListArr = extractHashtags(publishData.subPublishDate.portfolioDes) + let tagsDTO:any = [] + for (let i = 0; i < tagListArr.length; i++) { + const index = tagList.value.findIndex((obj:any) => obj.tagName === tagListArr[i]); + const tagsDTOIndex = publishData.subPublishDate.tagsDTO.findIndex((obj:any) => obj.tagName === tagListArr[i]); + let obj + if(tagsDTOIndex>-1){ + obj = { + tagName:publishData.subPublishDate.tagsDTO[tagsDTOIndex].tagName, + id:publishData.subPublishDate.tagsDTO[tagsDTOIndex].id + } + }else if(index > -1){ + obj = { + tagName:tagList.value[index].tagName, + id:tagList.value[index].id + } + }else { + obj = {tagName:tagListArr[i]} + } + tagsDTO.push(obj) + } + // publishData.subPublishDate.tagsDTO = tagsDTO + return tagsDTO + } let setPermissionsItem = ()=>{ // publishData.selectPermissions.isAllowLikes && if(publishData.selectPermissions.isAllowComment && publishData.selectPermissions.isDisplayArea && publishData.selectPermissions.isSecondaryCreation){ @@ -199,7 +195,6 @@ export default defineComponent({ publish.value = false publishData.isShowMark = false publishData.subPublishDate = {} - selectTagList.value = [] } let cancelDsign = ()=>{ Modal.confirm({ @@ -242,43 +237,47 @@ export default defineComponent({ let file = base64ToFile(publishData.selectDate.url,'collection') param.append('file',file) publishData.subPublishDate.openSource = publishData.selectPermissions.isSecondaryCreation?1:0 + let tagDTO = textareaChange() + publishData.subPublishDate.tagsDTO = tagDTO param.append('data',JSON.stringify(publishData.subPublishDate)) let config:any = {headers:{'Content-Type':'multipart/form-data','Accept':'*/*' }} // let data = publishData.subPublishDate publishData.isShowMark = true Https.axiosPost(Https.httpUrls.publish, param,config) .then((rv) => { - cleardata() publishData.isShowMark = false - emit('setPublish') + let obj = { + id:rv, + portfolioName:publishData.subPublishDate.portfolioName, + portfolioDes:publishData.subPublishDate.portfolioDes, + tagsDTO:publishData.subPublishDate.tagsDTO, + } + cleardata() + setPortfolio(obj) message.success(t('Publish.jsContent4')) - setBeenPublished() }) .catch((rv) => { publishData.isShowMark = false }); } - let handleClose = (tag:any,index:number)=>{ - let selectTag = selectTagList.value.splice(index,1)[0] - tagList.value.push(selectTag) - } let pushTag = (tag:any,index:number)=>{ - let selectTag = tagList.value.splice(index,1)[0] - selectTagList.value.push(selectTag) - if(tag.tag == 'RCAworkshop_2024'){ - publishData.subPublishDate.portfolioName = 'AiDA x RCA workshop' - } + // let selectTag = tagList.value.splice(index,1)[0] + // if(tag.tag == 'RCAworkshop_2024'){ + // publishData.subPublishDate.portfolioDes = '#AiDA x RCA workshop ' + // } + if(!publishData.subPublishDate.portfolioDes) publishData.subPublishDate.portfolioDes = '' + publishData.subPublishDate.portfolioDes = publishData.subPublishDate.portfolioDes+tag.tagName + ' ' } return { publish, publishMask, ...toRefs(publishData), + tagList, // textarea, // setCopy, - tagList, - selectTagList, init, + textareaChange, setPermissionsItem, setPermissions, // download, @@ -287,7 +286,6 @@ export default defineComponent({ setCover, cancelDsign, setPublish, - handleClose, pushTag, }; }, @@ -338,6 +336,20 @@ export default defineComponent({ justify-content: space-between; flex: 1; height: calc(100% - 10rem); + .publidh_content_item_tagList,.publidh_content_item_tag{ + // height: 4rem; + border-radius: 1rem; + display: flex; + align-items: center; + flex-wrap: wrap; + } + .publidh_content_item_tagList{ + margin-top: 1rem; + .ant-tag{ + cursor: pointer; + margin-bottom: 8px; + } + } .publidh_left,.publidh_right{ display: flex; flex-direction: column; @@ -375,6 +387,7 @@ export default defineComponent({ } } + .publidh_content_item_intro{ font-size: 1.4rem; } diff --git a/src/lang/cn.ts b/src/lang/cn.ts index 64cdb8f8..0a9b621b 100644 --- a/src/lang/cn.ts +++ b/src/lang/cn.ts @@ -525,6 +525,7 @@ export default { all:'全部', FavoriteWorks:'点赞的作品', MyWorks:'我的作品', + RCAworkshop_2024:'AiDA工作坊 2024', }, Publish:{ Publish:'发布', diff --git a/src/lang/en.ts b/src/lang/en.ts index 47cb64ea..cd29904b 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -525,6 +525,7 @@ export default { all:'All', FavoriteWorks:'Like Works', MyWorks:'My Works', + RCAworkshop_2024:'AiDA Workshop 2024', }, Publish:{ Publish:'Publish', diff --git a/src/router/index.ts b/src/router/index.ts index d90a7495..b4c19c50 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -337,6 +337,7 @@ router.beforeEach((to:any, from, next) => { let herfData = window.location.search.substring(1) if(herfData.split('=')[0] == 'noLogin' && to.name != 'homePage'){ setMurmur(herfData.split('=')[1]) + // console.log(`-------------------成功${herfData.split('=')[1]}-------------------`) return } diff --git a/src/views/HomeMain.vue b/src/views/HomeMain.vue index fd00c75c..a0eb077e 100644 --- a/src/views/HomeMain.vue +++ b/src/views/HomeMain.vue @@ -197,6 +197,7 @@ export default defineComponent({ payOrder, TaskPage, navRouter, + navRouter, }, setup(){ const store = useStore(); @@ -611,6 +612,8 @@ export default defineComponent({ this.store.commit('clearAllData') // window.location.reload() window.location.href = '/home'; + // window.location.reload() + window.location.href = '/home'; } } }) diff --git a/src/views/HomeView/HomeView.vue b/src/views/HomeView/HomeView.vue index 14274608..41fc506c 100644 --- a/src/views/HomeView/HomeView.vue +++ b/src/views/HomeView/HomeView.vue @@ -277,12 +277,10 @@ export default defineComponent({ let userGroupId: any = computed(() => { return store.state.HomeStoreModule.userGroupId; }); //模特id //当likeDesignCollectionList长度为0时清空,startdesign时清空 - let beenPublished = ref(0) - let setBeenPublished = ()=>{ - beenPublished.value = 1 + let setPortfolio = (data:any)=>{ + portfolio.value = data } - provide('beenPublished',beenPublished) - provide('setBeenPublished',setBeenPublished) + provide('setPortfolio',setPortfolio) let designCollectionId: any = computed(() => { return store.state.HomeStoreModule.designCollectionId; }); @@ -341,12 +339,14 @@ export default defineComponent({ let isMannequinShow = ref(false) let chooseIsDesign:any = computed(()=>{ return store.state.UploadFilesModule.chooseIsDesign}) + let portfolio:any = ref({}) + provide('portfolio',portfolio) return { store, likeDesignCollectionList, designCollectionList, userGroupId, - beenPublished, + setPortfolio, designCollectionId, designId, contentImgMax, @@ -361,6 +361,7 @@ export default defineComponent({ allBoardData, isMannequinShow, chooseIsDesign, + portfolio, }; }, data() { @@ -536,9 +537,10 @@ export default defineComponent({ // }, affiche(text:any){ nextTick(()=>{ - let affiche:any = this.$refs.affiche + let affiche:any = this.$refs.affiche affiche.init(text) }) + // affiche.afficheMask = true }, dragstart (e:any, index:any) { @@ -920,7 +922,7 @@ export default defineComponent({ Https.httpUrls.historyChoose + `?userGroupId=${userGroupId}`; Https.axiosGet(url) .then((rv: any) => { - this.beenPublished = rv.beenPublished + this.setPortfolio(rv.portfolioDTO) this.store.commit("setUserGroupId", rv.userGroupId); this.dealHistoryChooseData(rv, type); this.isShowMark = false; @@ -947,7 +949,7 @@ export default defineComponent({ this.isShowMark = true; Https.axiosPost(Https.httpUrls.setPorfolioChoose, data).then( (rv: any) => { - this.beenPublished = rv.beenPublished + this.setPortfolio(rv.portfolioDTO) this.store.commit("setUserGroupId", rv.userGroupId); this.dealHistoryChooseData(rv, type); this.isShowMark = false; diff --git a/src/views/HomeView/Works.vue b/src/views/HomeView/Works.vue index 9a20ee67..5bb0c42e 100644 --- a/src/views/HomeView/Works.vue +++ b/src/views/HomeView/Works.vue @@ -7,8 +7,8 @@ - - + + @@ -90,8 +90,8 @@ export default defineComponent({ value: 'myWorks' }, { - name: 'RCA Workshop', - value: 'myWorks' + name: useI18n().t('works.RCAworkshop_2024'), + value: 'RCAworkshop_2024' }, ], worksList: [ @@ -101,6 +101,7 @@ export default defineComponent({ "getMyPortfolio": 0, page:1, size:10, + tagId:'', }, isShowMark:false, isNoData:false,//如果数据为空就不加载 @@ -137,12 +138,16 @@ export default defineComponent({ filter.worksSelect = val.value filter.getListDate.getLikePortfolio = 0 filter.getListDate.getMyPortfolio = 0 + filter.getListDate.tagId = '' if(val.value == 'all'){ }else if(val.value == 'favoriteWorks'){ filter.getListDate.getLikePortfolio = 1 }else if(val.value == 'myWorks'){ filter.getListDate.getMyPortfolio = 1 + }else if(val.value == 'RCAworkshop_2024'){ + filter.getListDate.tagId = 1 } + filter.getListDate.page = 0 fall.value.clearData() filter.isShowMark = false diff --git a/src/views/HomeView/library.vue b/src/views/HomeView/library.vue index 6aeb6b91..1f78c499 100644 --- a/src/views/HomeView/library.vue +++ b/src/views/HomeView/library.vue @@ -775,7 +775,7 @@ export default defineComponent({ if(this.selectCode != 'DesignElements'){ this.getClass() } - if(this.selectCode == 'Sketchboard')this.getSex() + if(this.selectCode == 'Sketchboard' || this.selectCode == 'Models')this.getSex() this.getLibraryList('')