部分bug修复和对话中的图片过期处理

This commit is contained in:
X1627315083
2025-06-20 11:36:44 +08:00
parent c054dca2e8
commit 318fcc634f
21 changed files with 477 additions and 133 deletions

View File

@@ -67,7 +67,7 @@
<div class="gallery_btn" v-show="!imgOrThree" @click="setImgOrThree(true)">3D view</div>
<div class="gallery_btn" v-show="imgOrThree" @click="setImgOrThree(false)">Img view</div>
</div>
<div class="flatPatterm" v-show="selectModel.id != -1">
<div class="flatPatterm" v-if="userDetail.systemUser == 6 || userDetail.systemUser == 5" v-show="selectModel.id != -1">
<div class="heard">Flat pattern</div>
<div class="modelBox">
<div class="img">
@@ -112,6 +112,7 @@ export default defineComponent({
// printCatecoryList:computed(()=>{
// return store.state.UserHabit.printType
// }),
userDetail:computed(()=>store.state.UserHabit.userDetail),//选择的项目
selectObject:computed(()=>store.state.Workspace.probjects),//选择的项目
patternMaking3D:computed(()=>store.state.HomeStoreModule.patternMaking3D),//选择的项目
modelList:[] as any,
@@ -137,7 +138,7 @@ export default defineComponent({
data.isNoData = false
data.isShowMark = false
}
const createProbject:any = inject('createProbject') as any
const createProbject:any = inject('createProbject',()=>{}) as any
const setSelectModel = async (item:any)=>{
if(!data.selectObject.id)await createProbject()
data.isShowMark = true

View File

@@ -28,7 +28,7 @@
</div>
</div>
</div>
<div class="upload_item item">
<div class="upload_item item" v-show="!isDesignPage">
<div class="upload_file_item">
<a-upload
:action="getUploadUrl() + '/api/history/toProductImageElementUpload'"
@@ -134,7 +134,10 @@ export default defineComponent({
// selectList,
},
props:{
isDesignPage:{
type:Boolean,
default:false,
},
},
emits:[],
setup(props,{emit}) {
@@ -150,7 +153,8 @@ export default defineComponent({
selectImg:{},
token:getCookie('token'),
upload:{
projectId:computed(()=>store.state.Workspace.probjects.id)
projectId:computed(()=>store.state.Workspace.probjects.id),
CollectionType:'PoseTransfer',
},
waitList:[],
likeList:computed(()=>store.state.HomeStoreModule.poseTransfer.likedList),
@@ -164,6 +168,8 @@ export default defineComponent({
})
watch(()=>store.state.HomeStoreModule.uploadElement.length,(newVal,oldVal)=>{
data.fileList = store.state.HomeStoreModule.uploadElement
data.fileList[0].isChecked = true
data.selectImg = data.fileList[0]
})
watch(()=>store.state.HomeStoreModule.poseTransfer.list.length,(newVal,oldVal)=>{
let list = store.state.HomeStoreModule.poseTransfer.list
@@ -192,7 +198,7 @@ export default defineComponent({
},
})
const setIsShowMark:any = inject('setIsShowMark')
const createProbject:any = inject('createProbject')
const createProbject:any = inject('createProbject',()=>{})
const dataDom = reactive({
generalDragLeft:null as any,
generalDragRight:null as any,
@@ -209,7 +215,11 @@ export default defineComponent({
item.isChecked = true
if(item.url || item.imgUrl)data.selectImg.minioUrl = getMinioUrl(item.url || item.imgUrl)
}
const openSetData = ()=>{
const openSetData = (designList:any)=>{
if(props.isDesignPage){
data.fileList = designList
return
}
// dataDom.generalDrag.openSetData()
data.currentList = store.state.UploadFilesModule.modularData.toProduct
data.currentList = data.currentList?data.currentList:[]
@@ -341,6 +351,7 @@ export default defineComponent({
});
}
}
let isSelectObject = false
let beforeUpload = async (file: any)=>{
const isJpgOrPng =
file.type === "image/jpeg" ||
@@ -354,7 +365,8 @@ export default defineComponent({
if (!isLt2M) {
message.info(useI18n().t('MoodboardUpload.jsContent4'));
}
if(!data.upload.projectId){
if(!data.upload.projectId && !isSelectObject){
isSelectObject = true
await createProbject()
}
return (isJpgOrPng && isLt2M && data.upload.projectId) || Upload.LIST_IGNORE;
@@ -422,12 +434,14 @@ export default defineComponent({
likeOrDislike:'like',
transformedId:item.id,
projectId:store.state.Workspace.probjects.id,
collectionSortParentId:props.isDesignPage?item.parentId:'',
}
}else{
value = {
likeOrDislike:'dislike',
transformedId:item.id,
projectId:store.state.Workspace.probjects.id,
collectionSortParentId:props.isDesignPage?item.parentId:'',
}
}
Https.axiosPost(Https.httpUrls.poselikeOrDisike, {},{params:value}).then(
@@ -455,9 +469,9 @@ export default defineComponent({
});
}
const selectPose = (item:any)=>{
data.poseList.forEach((listItem:any)=>listItem.isChecked = false)
item.isChecked = true
data.selectPose = item?.id || 1
data.poseList.forEach((listItem:any)=>listItem.isChecked = false)
}
onMounted(()=>{
// showViewVideo({url:'https://www.minio.aida.com.hk:12025/api/v1/download-shared-object/aHR0cHM6Ly93d3cubWluaW8uYWlkYS5jb20uaGs6MTIwMjQvYWlkYS11c2Vycy84OS9wb3NlX3RyYW5zZm9ybV92aWRlby8xMjMtODkubXA0P1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9N0tOVDdNWlNLWkRXM1RVOEJZVlklMkYyMDI1MDQwOCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTA0MDhUMDUxOTM1WiZYLUFtei1FeHBpcmVzPTQzMTk5JlgtQW16LVNlY3VyaXR5LVRva2VuPWV5SmhiR2NpT2lKSVV6VXhNaUlzSW5SNWNDSTZJa3BYVkNKOS5leUpoWTJObGMzTkxaWGtpT2lJM1MwNVVOMDFhVTB0YVJGY3pWRlU0UWxsV1dTSXNJbVY0Y0NJNk1UYzBOREV4T0RneE9Td2ljR0Z5Wlc1MElqb2lZV1J0YVc0aWZRLmY0Z3RoTU1BeC1GUnM3eGhWNFdjTUFCUW5lU19BVkIxUDlYbnJQbEFNWUFsVnJwY3RpYXgtU2cyY2FkZHZ0a0VCOU1NbWxGeUlIbU90aGhUWDlqN2lnJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZ2ZXJzaW9uSWQ9bnVsbCZYLUFtei1TaWduYXR1cmU9Yjg5YmQ4ZDg5M2I4ZjBjYmYxZDI3NDFjZmY0NGRiZGNmYWM2NmU0ZGM2OGIwYzQzZDA2OGI4YjYzZjE5YjhhOA'})

View File

@@ -23,7 +23,7 @@
<div class="" v-if="item.status == 'uploading'" style="display: flex;align-items: center;">
<a-spin size="large" />
</div>
<img v-show="item.status != 'uploading'" :src="item.imgUrl || item.url" alt="">
<img v-show="item.status != 'uploading'" :src="item.designOutfitUrl || item.imgUrl || item.url" alt="">
<div v-show="item.status != 'uploading'" class="btnBox">
<div :class="{active:item.isChecked}">
<i class="fi fi-br-check"></i>
@@ -34,7 +34,7 @@
</div>
<!-- <a-checkbox v-model:checked="item.isChecked"></a-checkbox> -->
</div>
<div class="upload_item item">
<div class="upload_item item" v-show="!isDesignPage">
<div class="upload_file_item">
<a-upload
:action="uploadUrl + '/api/history/toProductImageElementUpload'"
@@ -147,7 +147,7 @@
</span>
</div>
<div class="content">
<generalDrag ref="generalDragLeft" :type="productimgMenu.value" @setBtn="selectSetBtn" :isDelete="false" :isLike="true" :list="likeList[productimgMenu.value]"></generalDrag>
<generalDrag ref="generalDragLeft" :type="productimgMenu.value" :isCopy="!isDesignPage" @setBtn="selectSetBtn" :isDelete="false" :isLike="true" :list="likeList[productimgMenu.value]"></generalDrag>
</div>
<!-- </div> -->
@@ -167,7 +167,7 @@
</span>
</div>
<div class="content">
<generalDrag ref="generalDragRight" :type="productimgMenu.value" @setBtn="generateSetBtn" :list="generateList" :showMark="isShowMark"></generalDrag>
<generalDrag ref="generalDragRight" :type="productimgMenu.value" :isCopy="!isDesignPage" @setBtn="generateSetBtn" :list="generateList" :showMark="isShowMark"></generalDrag>
</div>
</div>
</div>
@@ -210,7 +210,24 @@ export default defineComponent({
scaleImage,
generalMenu,UpgradePlan,generalDrag
},
props: ['setTask','productimgMenu'],
props:{
setTask:{
type:Object,
default:()=>{
return {}
}
},
productimgMenu:{
type:Object,
default:()=>{
return {}
}
},
isDesignPage:{
type:Boolean,
default:false,
},
},
setup(props,{emit}) {
const store = useStore();
let userDetail:any= computed(()=>{
@@ -224,7 +241,7 @@ export default defineComponent({
return store.state.Guide.guide
})
const route = useRoute()
const createProbject:any = inject('createProbject')
const createProbject:any = inject('createProbject',()=>{})
let productImgData:any = reactive({
isShowMark:false,
fileList:{},
@@ -283,6 +300,7 @@ export default defineComponent({
},
);
watch(()=>store.state.HomeStoreModule.uploadElement.length,(newVal,oldVal)=>{
if(props.isDesignPage)return
productImgData.fileList[props.productimgMenu.value] = store.state.HomeStoreModule.uploadElement
})
const productImgDom = reactive({
@@ -315,7 +333,6 @@ export default defineComponent({
}
])
let RelightDirection:any = ref(RelightDirectionList.value[0].value)
let selectList:any = ref({})
// let likeDesignCollectionList: any = computed(() => {
// return store.state.HomeStoreModule.likeDesignCollectionList;
// });
@@ -323,14 +340,17 @@ export default defineComponent({
return store.state.UploadFilesModule.modularData;
});
let userlikeGroupId = 0
const openSetData = ()=>{
const openSetData = (designList:any)=>{
// cleardata()
if(props.productimgMenu.value == 'ToProductImage'){
selectList.value['ToProductImage'] = JSON.parse(JSON.stringify(selectDesignList.value.design.likeData))
}else if(props.productimgMenu.value == 'Relight'){
selectList.value['Relight'] = JSON.parse(JSON.stringify(selectDesignList.value.toProduct))
// if(props.productimgMenu.value == 'ToProductImage'){
// selectList.value['ToProductImage'] = JSON.parse(JSON.stringify(selectDesignList.value.design.likeData))
// }else if(props.productimgMenu.value == 'Relight'){
// selectList.value['Relight'] = JSON.parse(JSON.stringify(selectDesignList.value.toProduct))
// }
if(props.isDesignPage){
productImgData.fileList[props.productimgMenu.value] = designList
return
}
userlikeGroupId = selectDesignList.value.userlikeGroupId
// getLikeProductImage(selectDesignList.value.userlikeGroupId)
productImgDom.generalDragLeft.setItemPosition()
@@ -378,7 +398,6 @@ export default defineComponent({
}
let cleardata = ()=>{
productImgData.generateList = []
selectList.value = {}
// props.productimgMenu = productimgMenuList.value[0]
}
@@ -404,6 +423,7 @@ export default defineComponent({
bor = false
}
}
let isSelectObject = false
let beforeUpload = async (file: any)=>{
const isJpgOrPng =
file.type === "image/jpeg" ||
@@ -417,10 +437,12 @@ export default defineComponent({
if (!isLt2M) {
message.info(useI18n().t('MoodboardUpload.jsContent4'));
}
if(!productImgData.selectObject.id){
if(!productImgData.selectObject.id && !isSelectObject){
isSelectObject = true
productImgData.selectObject.id = await createProbject()
upload.value = {
projectId:productImgData.selectObject.id
projectId:productImgData.selectObject.id,
CollectionType:props.productimgMenu.value,
}
}
return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE;
@@ -446,7 +468,9 @@ export default defineComponent({
let likeFile = (item:any,str:any,index:any) =>{
let url
let data = {
toProductImageResultId:[item.id]
toProductImageResultId:[item.id],
projectId: store.state.Workspace.probjects.id,
collectionSortParentId:props.isDesignPage?item.parentId:'',
}
if(str == 'like'){
url = Https.httpUrls.productImageLike
@@ -504,26 +528,17 @@ export default defineComponent({
if(productImgData.fileList[props.productimgMenu.value]){
productImgData.fileList[props.productimgMenu.value].forEach((item:any)=>{
if(item.isChecked){
obj.elementId = item.id
obj.elementType = item.type || 'ProductElement'
selectArr.push(JSON.parse(JSON.stringify(obj)))
}
})
}
if(selectList.value[props.productimgMenu.value]){
selectList.value[props.productimgMenu.value].forEach((item:any)=>{
if(item.isChecked){
obj.elementId = item.designOutfitId
obj.elementType = 'DesignOutfit'
if(props.productimgMenu.value == 'Relight'){
if(item.resultType == 'Design'){
obj.elementId = item.designOutfitId
obj.elementType = 'DesignOutfit'
}else{
obj.elementId = item.id
obj.elementType = 'ToProductImage'
obj.elementType = item.type || 'ProductElement'
}
selectArr.push(JSON.parse(JSON.stringify(obj)))
}
})
}
if(selectArr.length == 0) {
message.info(t('ProductImg.jsContent2'))
return
@@ -612,11 +627,12 @@ export default defineComponent({
let index = productImgData.generateList.findIndex((obj:any) => obj.taskId === element.taskId);
productImgData.generateList[index] = element
// productImgData.generateList[props.productimgMenu.value].unshift(element)
data = data.filter((item:any) => item !== element.taskId);
}else if(element.status == 'Fail'){
let index = productImgData.generateList.findIndex((obj:any) => obj.taskId === element.taskId);
productImgData.generateList.splice(index,1)
data = data.filter((item:any) => item !== element.taskId);
}
data = data.filter((item:any) => item !== element.taskId);
});
generateProceedList = data
if((data.length == 0)|| (rv.filter((item:any)=>item.status == 'Invalid').length ==data.length)){
@@ -796,7 +812,6 @@ export default defineComponent({
RelightDirectionList,
RelightDirection,
selectList,
setproduct,
fileUploadChange,
beforeUpload,