Merge branch 'dev_vite' of http://18.167.251.121:10003/aidlab/aida_front into dev_vite

This commit is contained in:
zhangyh
2025-11-11 14:20:07 +08:00
12 changed files with 151 additions and 81 deletions

View File

@@ -682,7 +682,7 @@ export default defineComponent({
this.colorList[index].gradient = ele.gradient this.colorList[index].gradient = ele.gradient
this.colorList[index].name = ele.name this.colorList[index].name = ele.name
}); });
this.selectIndex = colorList.length - 1 this.selectIndex = !colorList.length? 0 : colorList.length - 1
if(this.colorList[colorList.length - 1]?.gradient && this.colorList[colorList.length - 1]?.gradient?.selectIndex>-1 && this.colorList[colorList.length - 1]?.gradient?.gradientShow){ if(this.colorList[colorList.length - 1]?.gradient && this.colorList[colorList.length - 1]?.gradient?.selectIndex>-1 && this.colorList[colorList.length - 1]?.gradient?.gradientShow){
this.selectColor = {rgba:this.colorList[colorList.length - 1].gradient.gradientList[colorList.length - 1].rgba,hex:hex} //顔色选择器默认颜色 this.selectColor = {rgba:this.colorList[colorList.length - 1].gradient.gradientList[colorList.length - 1].rgba,hex:hex} //顔色选择器默认颜色
}else{ }else{

View File

@@ -358,7 +358,7 @@ import selectMenu from '@/component/modules/selectMenu.vue'
import { forEach } from "jszip"; import { forEach } from "jszip";
export default defineComponent({ export default defineComponent({
name: "homePage", name: "designPage",
components: { components: {
collectionModal, collectionModal,
// HeaderComponent, // HeaderComponent,
@@ -629,8 +629,6 @@ export default defineComponent({
collItemSize.collValue = Math.floor(parentWidth / collItemSize.widthValue.value) collItemSize.collValue = Math.floor(parentWidth / collItemSize.widthValue.value)
collItemSize.padding = Math.floor(parentWidth - (collItemSize.collValue * collItemSize.widthValue.value)) collItemSize.padding = Math.floor(parentWidth - (collItemSize.collValue * collItemSize.widthValue.value))
let value = collItemSize.collValue let value = collItemSize.collValue
console.log(parentWidth,collItemSize,value)
collItemSize.itemStyle.width = (parentWidth - collItemSize.padding - (value * 10)) / value collItemSize.itemStyle.width = (parentWidth - collItemSize.padding - (value * 10)) / value
collItemSize.itemStyle.height = collItemSize.itemStyle.width * 1.54 collItemSize.itemStyle.height = collItemSize.itemStyle.width * 1.54
@@ -1504,14 +1502,6 @@ export default defineComponent({
} }
}, },
methods: { methods: {
// addTeam (team:any) {
// this.likeDesignCollectionList.push(team)
// },
openSetData(){
nextTick(()=>{
this.setItemPosition()
})
},
setItemPosition(){ setItemPosition(){
this.setSystemDesigner(0) this.setSystemDesigner(0)
this.setDesignItemStyle() this.setDesignItemStyle()

View File

@@ -4,18 +4,25 @@
<a-spin size="large" /> <a-spin size="large" />
</div> </div>
<div class="show"> <div class="show">
<div v-show="openType === 'history'" class="function"> <!-- <div v-show="openType === 'history'" class="function">
<design :key="componentKey" ref="design"></design> <design :key="componentKey" ref="design"></design>
</div> </div> -->
<router-view v-if=" <router-view v-if="
(openType && openType != 'history' && !routeQuery.id) || (openType && openType != 'history' && !routeQuery.id) ||
$route.path != '/home'" $route.path != '/home'"
@setTask="setTask" @setTask="setTask"
v-slot="{ Component, route }"
> >
<keep-alive :include="cachedRoutes">
<component
:is="Component"
:key="route.name"
/>
</keep-alive>
</router-view> </router-view>
<div v-else-if="routeQuery.id" class="function"> <!-- <div v-else-if="routeQuery.id" class="function">
<design :key="componentKey" ref="design"></design> <design :key="componentKey" ref="design"></design>
</div> </div> -->
<div v-else-if="!routeQuery.history" class="function"> <div v-else-if="!routeQuery.history" class="function">
<newPorject ref="newPorject" @newProject=newProject></newPorject> <newPorject ref="newPorject" @newProject=newProject></newPorject>
</div> </div>
@@ -33,14 +40,13 @@ import { Https } from "@/tool/https";
import { useStore } from "vuex"; import { useStore } from "vuex";
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import { useRouter,useRoute } from 'vue-router' import { useRouter,useRoute } from 'vue-router'
import design from "./design/index.vue"
import newPorject from "./newProject/index.vue" import newPorject from "./newProject/index.vue"
import router from '@/router'; import router from '@/router';
import {getMinioUrl, getUniversalZoomLevel} from '@/tool/util' import {getMinioUrl, getUniversalZoomLevel} from '@/tool/util'
import chat from "./chat/index.vue" import chat from "./chat/index.vue"
export default defineComponent({ export default defineComponent({
components:{ components:{
design,newPorject,chat newPorject,chat
}, },
emits:['setTask','setNewProject'], emits:['setTask','setNewProject'],
setup(props,{emit}) { setup(props,{emit}) {
@@ -54,6 +60,7 @@ export default defineComponent({
selectObject:computed(()=>store.state.Workspace.probjects) as any,//选择的项目 selectObject:computed(()=>store.state.Workspace.probjects) as any,//选择的项目
chatData:null as any, chatData:null as any,
dataLoad:true as any, dataLoad:true as any,
cachedRoutes:computed(()=>store.state.Workspace.cachedRoutes),//
}) })
let settingGetHistory:any = inject('settingGetHistory') let settingGetHistory:any = inject('settingGetHistory')
const setIsShowMark = (boolean:boolean)=>{ const setIsShowMark = (boolean:boolean)=>{
@@ -72,15 +79,33 @@ export default defineComponent({
// getHistory(route.query.history) // getHistory(route.query.history)
// } // }
// }) // })
watch(
() => route,
(newRoute) => {
const routeName = newRoute.name as string
const shouldCache = newRoute.meta?.cache === true
if (shouldCache && routeName && !data.cachedRoutes.includes(routeName)) {
if(routeName == 'toolsPage' && !route.query?.id)return
data.cachedRoutes.push(routeName)// 保证缓存只有一个项目
} else if ((!route.query?.id && shouldCache) || (!shouldCache && routeName && data.cachedRoutes.includes(routeName))) {
// } else if (!shouldCache && routeName && data.cachedRoutes.includes(routeName)) {
for (let i = data.cachedRoutes.length - 1; i >= 0; i--) {
if (data.cachedRoutes[i] !== routeName) {
data.cachedRoutes.splice(i, 1);
}
}
}
},
{ immediate: true, deep: true }
)
watch(() => route.query, watch(() => route.query,
(query:any, oldQuery:any) => { (query:any, oldQuery:any) => {
data.routeQuery = query data.routeQuery = query
if(query.history)data.componentKey = query.history if(query.history)data.componentKey = query.history
const key = Object.keys(query)?.[0] let key = Object.keys(query)?.[0]
console.log(key) if(route.params?.id)key = 'history'
if(key){ if(key){
data.openType = Object.keys(query)[0] data.openType = key
}else{ }else{
data.openType = '' data.openType = ''
data.dataLoad = false data.dataLoad = false
@@ -90,26 +115,26 @@ export default defineComponent({
// 检查是否需要重新初始化 // 检查是否需要重新初始化
const currentPath = route.fullPath const currentPath = route.fullPath
const storedPath = store.state.Workspace.projectPath const storedPath = store.state.Workspace.projectPath
const isSameProject = currentPath === storedPath && data.openType === 'history' const isSameProject = currentPath === storedPath
if(data.openType == 'history'){ if((data.openType == 'history' && route.params?.id) || (data.openType == 'tools' && query.id)){
store.commit('setProjectPath',route.fullPath) store.commit('setProjectPath',route.fullPath)
} }
// 如果是同一个项目且openType为history跳过重新初始化 // 如果是同一个项目且openType为history跳过重新初始化
console.log(isSameProject,data.openType) // if(oldQuery?.id && !query?.id)return createData()
if(isSameProject || (!query.history && !query.id)){ const tempUrl = new URL(storedPath, window.location.origin);
const params2 = {
tools: tempUrl.searchParams.get('tools'),
id: tempUrl.searchParams.get('id')
};
if(isSameProject || (!route.params?.id && !query.id) || params2.id){
data.dataLoad = false data.dataLoad = false
console.log(dataDom.design)
// dataDom.design?.init() // dataDom.design?.init()
if(query.history){
dataDom.design.openSetData()
}
return return
} }
nextTick(()=>{ nextTick(()=>{
if(query.history || query.id){ if(route.params?.id || query?.id){
//切换新项目需要清除首次design提示 //切换新项目需要清除首次design提示
sessionStorage.removeItem('firstDesign'); sessionStorage.removeItem('firstDesign');
@@ -125,7 +150,7 @@ export default defineComponent({
store.commit("createProbject"); store.commit("createProbject");
store.commit("clearAllData"); store.commit("clearAllData");
} }
getHistory(query.id || query.history) getHistory(query.id || route.params?.id)
}else{ }else{
data.dataLoad = false data.dataLoad = false
createData() createData()
@@ -201,7 +226,7 @@ export default defineComponent({
storeData.positionList = position storeData.positionList = position
store.commit('setProbject',storeData) store.commit('setProbject',storeData)
// setChatData() // setChatData()
if(route.name == 'tools'){ if(route.name == 'toolsPage'){
getCollection('tools',null) getCollection('tools',null)
}else{ }else{
getCollection('design',null) getCollection('design',null)
@@ -548,7 +573,8 @@ export default defineComponent({
}else{ }else{
chatModel = false chatModel = false
} }
router.push(`home?history=${value.id}&chatMode=${chatModel}`) router.push(`/home/history/${value?.id}`)
// router.push(`home?history=${value.id}&chatMode=${chatModel}`)
settingGetHistory() settingGetHistory()
data.chatData = value data.chatData = value

View File

@@ -171,8 +171,20 @@ export default defineComponent({
CollectionType:'PoseTransfer', CollectionType:'PoseTransfer',
}, },
waitList:[], waitList:[],
likeList:computed(()=>store.state.HomeStoreModule.poseTransfer.likedList), likeList:computed(()=>{
noLikeList:computed(()=>store.state.HomeStoreModule.poseTransfer.list), if(!route.query?.id && route.query.tools == 'poseTransfer'){
return []
}else{
return store.state.HomeStoreModule.poseTransfer.likedList
}
}),
noLikeList:computed(()=>{
if(!route.query?.id && route.query.tools == 'poseTransfer'){
return []
}else{
return store.state.HomeStoreModule.poseTransfer.list
}
}),
isGenerate:false,//判断是否正在进行generate isGenerate:false,//判断是否正在进行generate
remGenerate:false, remGenerate:false,
removeGenerate:false, removeGenerate:false,

View File

@@ -383,7 +383,11 @@ export default defineComponent({
isDesignPage: { isDesignPage: {
type: Boolean, type: Boolean,
default: false default: false
} },
isState:{
type:Boolean,
default:false,
},
}, },
emit: ['unLike'], emit: ['unLike'],
setup(props, { emit }) { setup(props, { emit }) {
@@ -402,7 +406,30 @@ export default defineComponent({
const createProbject: any = inject('createProbject', () => {}) const createProbject: any = inject('createProbject', () => {})
let productImgData: any = reactive({ let productImgData: any = reactive({
isShowMark: false, isShowMark: false,
fileList: {}, fileList:{
ToProductImage:computed(()=>{
if(!route.query?.id && route.query.tools == 'toProduct'){
return []
}else{
if(props.isDesignPage)return []
if(store.state.HomeStoreModule.uploadElement?.[0]){
store.state.HomeStoreModule.uploadElement[0].isChecked = true
}
return store.state.HomeStoreModule.uploadElement
}
}),
Relight:computed(()=>{
if(!route.query?.id && route.query.tools == 'relight'){
return []
}else{
if(props.isDesignPage)return []
if(store.state.HomeStoreModule.uploadElement?.[0]){
store.state.HomeStoreModule.uploadElement[0].isChecked = true
}
return store.state.HomeStoreModule.uploadElement
}
}),
},
searchName: { searchName: {
ToProductImage: '', ToProductImage: '',
Relight: '' Relight: ''
@@ -411,17 +438,37 @@ export default defineComponent({
isProductimg: false, //开始生成 isProductimg: false, //开始生成
selectProductimgList: [], selectProductimgList: [],
generateList: { generateList: {
ToProductImage: computed( ToProductImage:computed(()=>{
() => store.state.HomeStoreModule.toProductImageList.list if(!route.query?.id && route.query.tools == 'toProduct'){
), return []
Relight: computed(() => store.state.HomeStoreModule.relightList.list) }else{
return store.state.HomeStoreModule.toProductImageList.list
}
}),
Relight:computed(()=>{
if(!route.query?.id && route.query.tools == 'relight'){
return []
}else{
return store.state.HomeStoreModule.relightList.list
}
}),
}, },
selectObject: computed(() => store.state.Workspace.probjects), //选择的项目 selectObject: computed(() => store.state.Workspace.probjects), //选择的项目
likeList: { likeList: {
ToProductImage: computed( ToProductImage:computed(()=>{
() => store.state.HomeStoreModule.toProductImageList.likedList if(!route.query?.id && route.query.tools == 'toProduct'){
), return []
Relight: computed(() => store.state.HomeStoreModule.relightList.likedList) }else{
return store.state.HomeStoreModule.toProductImageList.likedList
}
}),
Relight:computed(()=>{
if(!route.query?.id && route.query.tools == 'relight'){
return []
}else{
return store.state.HomeStoreModule.relightList.likedList
}
}),
} as any, } as any,
similarity: 30, similarity: 30,
brightenValue: 1, brightenValue: 1,
@@ -454,18 +501,6 @@ export default defineComponent({
value: 'advanced' value: 'advanced'
} }
}) })
watch(
() => store.state.HomeStoreModule.uploadElement.length,
(newVal, oldVal) => {
if (props.isDesignPage) return
productImgData.fileList[props.productimgMenu.value] =
store.state.HomeStoreModule.uploadElement
if (productImgData.fileList[props.productimgMenu.value][0]) {
productImgData.fileList[props.productimgMenu.value][0].isChecked = true
}
}
)
const productImgDom = reactive({ const productImgDom = reactive({
generalDragLeft: null as any, generalDragLeft: null as any,
generalDragRight: null as any generalDragRight: null as any
@@ -567,7 +602,6 @@ export default defineComponent({
} }
let fileUploadChange = (data: any) => { let fileUploadChange = (data: any) => {
console.log(data)
let file = data.file let file = data.file
let bor = true let bor = true
if (file.status === 'done') { if (file.status === 'done') {
@@ -614,9 +648,6 @@ export default defineComponent({
CollectionType: props.productimgMenu.value CollectionType: props.productimgMenu.value
} }
} }
console.log(
!!((isJpgOrPng && isLt2M && productImgData.selectObject.id) || Upload.LIST_IGNORE)
)
return !!( return !!(
(isJpgOrPng && isLt2M && productImgData.selectObject.id) || (isJpgOrPng && isLt2M && productImgData.selectObject.id) ||
Upload.LIST_IGNORE Upload.LIST_IGNORE
@@ -660,7 +691,6 @@ export default defineComponent({
.then(rv => { .then(rv => {
if (str == 'like') { if (str == 'like') {
// if(rv?.sort)item.sort = rv.sort // if(rv?.sort)item.sort = rv.sort
console.log(rv)
if (rv?.sort) item.oldSort = rv.sort if (rv?.sort) item.oldSort = rv.sort
if (rv?.id) item.userLikeSortId = rv.id if (rv?.id) item.userLikeSortId = rv.id
item.newLike = true item.newLike = true
@@ -669,7 +699,6 @@ export default defineComponent({
str: 'add', str: 'add',
index: -1 index: -1
} }
console.log(value)
if (props.productimgMenu.value == 'ToProductImage') { if (props.productimgMenu.value == 'ToProductImage') {
store.commit('setToProductImage', value) store.commit('setToProductImage', value)
} else { } else {
@@ -711,7 +740,6 @@ export default defineComponent({
} }
if (productImgData.fileList[props.productimgMenu.value]) { if (productImgData.fileList[props.productimgMenu.value]) {
productImgData.fileList[props.productimgMenu.value].forEach((item: any) => { productImgData.fileList[props.productimgMenu.value].forEach((item: any) => {
console.log(item)
if (item.isChecked) { if (item.isChecked) {
if (item.resultType == 'Design') { if (item.resultType == 'Design') {
obj.elementId = item.designOutfitId obj.elementId = item.designOutfitId
@@ -827,10 +855,6 @@ export default defineComponent({
let index = productImgData.generateList[ let index = productImgData.generateList[
props.productimgMenu.value props.productimgMenu.value
].findIndex((obj: any) => obj.taskId === element.taskId) ].findIndex((obj: any) => obj.taskId === element.taskId)
console.log(
productImgData.generateList[props.productimgMenu.value][index]
)
console.log(element)
for (const key in element) { for (const key in element) {
if (element[key]) { if (element[key]) {
productImgData.generateList[props.productimgMenu.value][index][ productImgData.generateList[props.productimgMenu.value][index][
@@ -895,7 +919,6 @@ export default defineComponent({
timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone, timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
type: props.productimgMenu.value type: props.productimgMenu.value
} }
console.log(productImgData.generateList[props.productimgMenu.value].value)
Https.axiosGet(Https.httpUrls.generateStopWaiting, { params: data }) Https.axiosGet(Https.httpUrls.generateStopWaiting, { params: data })
.then(rv => { .then(rv => {
generateProceedList = [] generateProceedList = []
@@ -1062,7 +1085,6 @@ export default defineComponent({
productImgData.isProductimg = true productImgData.isProductimg = true
productImgData.remProductimg = true productImgData.remProductimg = true
productImgData.isShowMark = false productImgData.isShowMark = false
console.log(taskIdList)
setPrductimg(arr) setPrductimg(arr)
} }
}, },

View File

@@ -92,9 +92,10 @@ export default defineComponent({
(query:any, oldQuery:any) => { (query:any, oldQuery:any) => {
if(oldQuery && query?.tools == oldQuery?.tools)return if(oldQuery && query?.tools == oldQuery?.tools)return
const key = Object.keys(query)?.[0] const key = Object.keys(query)?.[0]
if(route.name == 'tools' && key){ if(route.name == 'toolsPage' && key){
data.openType = query[key] data.openType = query[key]
nextTick(()=>{ nextTick(()=>{
if(route.fullPath === store.state.Workspace.projectPath)return
open(query[key]) open(query[key])
}) })
} }

View File

@@ -67,8 +67,8 @@ const routes: Array<RouteRecordRaw> = [
children: [ children: [
{ {
path: "tools", path: "tools",
name: "tools", name: "toolsPage",
meta: { enter: "all" }, meta: { enter: "all",cache:true },
component: () => import("@/views/HomeView/Tools.vue"), component: () => import("@/views/HomeView/Tools.vue"),
}, },
// { // {
@@ -88,6 +88,18 @@ const routes: Array<RouteRecordRaw> = [
name: "history", name: "history",
meta: { enter: "all" }, meta: { enter: "all" },
component: () => import("@/views/HomeView/history.vue"), component: () => import("@/views/HomeView/history.vue"),
},
// {
// path: "history/:type/:id",
// name: "toolsPage",
// meta: { enter: "all",cache:true },
// component: () => import("@/views/HomeView/Tools.vue"),
// },
{
path: "history/:id",
name: "designPage",
meta: { enter: "all",cache:true },
component: () => import("@/component/home/design/index.vue"),
}, },
{ {
path: "works", path: "works",

View File

@@ -127,6 +127,7 @@ const HomeStoreModule : Module<DesignDetail,RootState> = {
} }
}, },
toolsClear(state){ toolsClear(state){
console.log('toolsClear')
state.relightList.likedList = [] state.relightList.likedList = []
state.uploadElement = [] state.uploadElement = []
state.toProductImageList.likedList = [] state.toProductImageList.likedList = []
@@ -225,6 +226,7 @@ const HomeStoreModule : Module<DesignDetail,RootState> = {
state.designId = '' state.designId = ''
}, },
clearAllCollection(state){ clearAllCollection(state){
console.log('clearAll')
state.designCollectionList=[] state.designCollectionList=[]
state.likeDesignCollectionList = [] state.likeDesignCollectionList = []
state.designCollectionId = '' state.designCollectionId = ''

View File

@@ -45,7 +45,8 @@ const Workspace: Module<DesignDetail, RootState> = {
model: [] //模特 model: [] //模特
}, },
projectList: [], //项目列表参数 projectList: [], //项目列表参数
projectPath:'' projectPath:'',
cachedRoutes: [],
}, },
mutations: { mutations: {
setWorkspace(state, files) { setWorkspace(state, files) {

View File

@@ -59,8 +59,8 @@
class="current-projct" class="current-projct"
@click="handleNavigateToCurrentProject" @click="handleNavigateToCurrentProject"
:class="{ :class="{
disabled: disabledCurrentProject, disabled: cachedRoutes.length == 0,
filled: !disabledCurrentProject, filled: cachedRoutes.length > 0,
active: currentProjectActive active: currentProjectActive
}" }"
> >
@@ -522,7 +522,8 @@ export default defineComponent({
}, },
bathGenerationList: ['poseTransfer', 'SERIES_DESIGN', 'toProduct', 'relight'], bathGenerationList: ['poseTransfer', 'SERIES_DESIGN', 'toProduct', 'relight'],
showHistory: false, showHistory: false,
isNewProject: false isNewProject: false,
cachedRoutes:computed(()=>store.state.Workspace.cachedRoutes),//
}) })
let userDetail = computed(() => { let userDetail = computed(() => {
return store.state.UserHabit.userDetail return store.state.UserHabit.userDetail
@@ -1029,6 +1030,7 @@ export default defineComponent({
if (currentProjectActive.value) return if (currentProjectActive.value) return
if (currentProjectPath.value) { if (currentProjectPath.value) {
router.push(currentProjectPath.value) router.push(currentProjectPath.value)
// router.back()
} }
} }

View File

@@ -11,6 +11,7 @@ import { useStore } from "vuex";
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import tools from '@/component/toolsPage/index.vue' import tools from '@/component/toolsPage/index.vue'
export default defineComponent({ export default defineComponent({
name: "toolsPage",
components:{ components:{
tools, tools,
}, },

View File

@@ -163,7 +163,7 @@ export default defineComponent({
if (record.text == 1) { if (record.text == 1) {
str = useI18n().t('newScaleImage.Original') str = useI18n().t('newScaleImage.Original')
} else { } else {
str = `@${record.record.originalAccountName}/${record.record.originalPortfolioName}` str = `@${record.record.userLikeGroupVO.originalAccountName}/${record.record.userLikeGroupVO.originalPortfolioName}`
} }
// let time = formatTime(record.text / 1000, 'YYYY-MM-DD hh:mm:ss') // let time = formatTime(record.text / 1000, 'YYYY-MM-DD hh:mm:ss')
return str return str
@@ -464,7 +464,8 @@ export default defineComponent({
// router.push(`/home/tools?tools=toProduct&id=${childItem.id}`) // router.push(`/home/tools?tools=toProduct&id=${childItem.id}`)
if (record.process == 'SERIES_DESIGN' || record.process == 'SINGLE_DESIGN') { if (record.process == 'SERIES_DESIGN' || record.process == 'SINGLE_DESIGN') {
this.$router.push(`/home?history=${record?.id}`) this.$router.push(`/home/history/${record?.id}`)
// this.$router.push(`/home?history=${record?.id}`)
} else { } else {
let processList = { let processList = {
toProduct: 'TO_PRODUCT_IMAGE', toProduct: 'TO_PRODUCT_IMAGE',