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

This commit is contained in:
李志鹏
2025-10-14 09:54:54 +08:00
7 changed files with 46 additions and 17 deletions

View File

@@ -25,13 +25,15 @@
<div class="molepositon imgDesignImg" :class="{active:imgDesignImg}">
<div class="designOpenrtion_imgMask" style="width: 100%;height: 100%;">
<div class="detail_modal_item_front">
<img :src="designDetail.designItemUrl" alt="" style="object-fit: cover;">
<img
:style="{width:observerWH.width+'px',height:observerWH.height+'px'}"
:src="designDetail.designItemUrl" alt="" style="object-fit: cover;">
</div>
</div>
</div>
</template>
<script lang="ts">
import { defineComponent,computed,inject,watch,nextTick,createVNode,toRefs, reactive} from 'vue'
import { defineComponent,computed,inject,watch,nextTick,createVNode,toRefs, reactive, onUnmounted} from 'vue'
// import setDesignItem from '@/component/Detail/setDesignItem2.vue'
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import { Https } from "@/tool/https";
@@ -60,6 +62,11 @@ export default defineComponent({
isEditPattern:inject('isEditPattern') as any,
singleOveral:inject('singleOveral') as any,
detailBody:null as any,
observer:null as any,
observerWH:{
width:0,
height:0,
},
})
const selectItem = reactive({
selectDetail:computed(()=>store.state.DesignDetail.selectDetail),
@@ -82,6 +89,21 @@ export default defineComponent({
let dom = document.querySelector('.molepositon .perview_img') as any
if(!detailData.frontBack?.body?.path || !dom)return
img.onload = () => {
//监听模特图片宽度设置整体图片宽度
if (detailData.observer) {
detailData.observer.disconnect()
}
detailData.observerWH.width = dom.width
detailData.observerWH.height = dom.height
detailData.observer = new ResizeObserver((entries) => {
if(entries[0].contentRect.width == 0)return
detailData.observerWH.width = Math.floor(entries[0].contentRect.width)
detailData.observerWH.height = Math.floor(entries[0].contentRect.height)
console.log(detailData.observerWH)
})
detailData.observer.observe(dom)
if(detailData.designDetail.clothes.length == 0){
store.commit('DesignDetail/addDesignColthes')
emit('addSketch')
@@ -401,6 +423,11 @@ export default defineComponent({
};
img.src = url;
}
onUnmounted(()=>{
if (detailData.observer) {
detailData.observer.disconnect()
}
})
return{
...toRefs(detailData),
...toRefs(selectItem),
@@ -416,6 +443,7 @@ export default defineComponent({
updataPosition,
}
},
directives:{
detailBody:{
mounted (el,data:any) {

View File

@@ -907,7 +907,7 @@ export default defineComponent({
this.isGenerate = false
clearInterval(this.remGenerateTime)
this.remGenerate = false
this.fileList = this.fileList.filter((item: any) => item.status !== '')
if (res.errCode === 2) {
let this_ = this
Modal.confirm({
@@ -994,6 +994,7 @@ export default defineComponent({
}
})
.catch(res => {
this.fileList = this.fileList.filter((item: any) => item.status !== '')
clearInterval(this.generateTime)
clearInterval(this.remGenerateTime)
this.isGenerate = false

View File

@@ -141,7 +141,6 @@ export default defineComponent({
publish:null as any,
}) as any
const init = async (value:any,list:any,t:any,locale:any)=>{
store.commit('toolsClear')
data.t = t
data.locale = locale.value
data.designTools = true
@@ -188,6 +187,7 @@ export default defineComponent({
str:'add',
index:-1,
}
store.commit('toolsClear')
if(data.openType == 'toProduct'){
store.commit("setToProductImage", likeData);
}else if(data.openType == 'relight'){

View File

@@ -62,11 +62,13 @@ export default defineComponent({
newPorject:null as any,
chatDom:null as any,
})
watch(() => data.selectObject.styleId,()=>{
if((data.selectObject?.id == route.query?.history) && route.query?.history){
getHistory(route.query.history)
}
})
//切换风格更新模特 更新设置交互变更
// watch(() => data.selectObject.styleId,(newVal,oldVal)=>{
// if(newVal == oldVal || !oldVal)return
// if((data.selectObject?.id == route.query?.history) && route.query?.history){
// getHistory(route.query.history)
// }
// })
watch(() => route.query,
(query:any, oldQuery:any) => {
@@ -121,14 +123,11 @@ export default defineComponent({
store.commit("clearAllBoardData",item);
})
}
const getHistory = (id:any)=>{
let value = {
id,
}
if(!id)return
data.isShowMark = false
if(!id)return data.isShowMark = false
Https.axiosPost(Https.httpUrls.selectHistoryProject,value).then((rv: any) => {
setProjectData(rv)
}).catch((res)=>{
@@ -177,7 +176,6 @@ export default defineComponent({
data.selectObject.positionList = position
storeData.positionList = position
store.commit('setProbject',storeData)
// setChatData()
if(route.name == 'tools'){
getCollection('tools',null)
@@ -224,6 +222,7 @@ export default defineComponent({
}
data.isShowMark = true
Https.axiosPost(Https.httpUrls.getModuleContent,value).then(async (rv)=>{
store.commit('clearAllCollection')
if(rv.uploadElement){//toproduct、relight、poseTransfer
let uploadElementData = {
str:'add',

View File

@@ -19,7 +19,7 @@
<img :src="item.imgUrl || item.url" alt="">
<a-checkbox v-model:checked="item.isChecked"></a-checkbox>
</div> -->
<div class="item" :class="[item?.isChecked?'active':'']" v-for="item,index in fileList[productimgMenu.value]" @click="setGenerate(item)">
<div class="item" :class="[item?.isChecked?'active':'']" v-for="item,index in fileList[productimgMenu.value]" @click="setGenerate(item)" :key="item.id">
<div class="" v-if="item.status == 'uploading'" style="display: flex;align-items: center;">
<a-spin size="large" />
</div>

View File

@@ -4,12 +4,11 @@
<div class="item" v-show="showMark" :style="likeStyle">
<a-spin size="large" class="content_img_flex"></a-spin>
</div>
<div v-for="item in list" :key="item.id" class="item"
<div v-for="item in list" :key="item" class="item"
:style="likeStyle"
@mousedown.stop="designMousedown(getMousePosition($event,false),item.id,'disLike')"
@touchstart.passive="designMousedown(getMousePosition($event,true),item.id,'disLike')"
>
<img v-if="item.url"
:class="[isVideo?'video':'']"
@mouseenter.stop="gifPlay($event,item)"