Merge remote-tracking branch 'origin/StableVersion' into dev_vite

This commit is contained in:
X1627315083
2025-10-07 11:14:07 +08:00
10 changed files with 44 additions and 36 deletions

9
components.d.ts vendored
View File

@@ -9,8 +9,10 @@ export {}
declare module 'vue' {
export interface GlobalComponents {
ABadge: typeof import('ant-design-vue/es')['Badge']
ABreadcrumb: typeof import('ant-design-vue/es')['Breadcrumb']
ACheckbox: typeof import('ant-design-vue/es')['Checkbox']
AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider']
ADatePicker: typeof import('ant-design-vue/es')['DatePicker']
ADrawer: typeof import('ant-design-vue/es')['Drawer']
ADropdown: typeof import('ant-design-vue/es')['Dropdown']
AImage: typeof import('ant-design-vue/es')['Image']
@@ -18,15 +20,22 @@ declare module 'vue' {
AMenu: typeof import('ant-design-vue/es')['Menu']
AMenuItem: typeof import('ant-design-vue/es')['MenuItem']
AModal: typeof import('ant-design-vue/es')['Modal']
APagination: typeof import('ant-design-vue/es')['Pagination']
APopover: typeof import('ant-design-vue/es')['Popover']
ARangePicker: typeof import('ant-design-vue/es')['RangePicker']
ASelect: typeof import('ant-design-vue/es')['Select']
ASelectOption: typeof import('ant-design-vue/es')['SelectOption']
ASlider: typeof import('ant-design-vue/es')['Slider']
ASpace: typeof import('ant-design-vue/es')['Space']
ASpin: typeof import('ant-design-vue/es')['Spin']
ASubMenu: typeof import('ant-design-vue/es')['SubMenu']
ASwitch: typeof import('ant-design-vue/es')['Switch']
ATable: typeof import('ant-design-vue/es')['Table']
ATabPane: typeof import('ant-design-vue/es')['TabPane']
ATabs: typeof import('ant-design-vue/es')['Tabs']
ATimeRangePicker: typeof import('ant-design-vue/es')['TimeRangePicker']
AUpload: typeof import('ant-design-vue/es')['Upload']
ElCascader: typeof import('element-plus/es')['ElCascader']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
}

BIN
dist.7z

Binary file not shown.

View File

@@ -298,9 +298,10 @@ export default defineComponent({
}
const setClothes = async (list:any)=>{
let clothesList:any = []
await nextTick()
for(let i = 0;i<list.length;i++){
detailData.selectDetail
let {scale,offset,priority,maskUrl,maskMinioUrl} = (detailDom.model as any).getSubmitData(list[i])
let {scale,offset,priority,maskUrl,maskMinioUrl} = await (detailDom.model as any).getSubmitData(list[i],detailData.isUndividedLayerWithSinglePrint)
if(detailDom.canvasBox?.privewDetail)await (detailDom.canvasBox as any).privewDetail()
if(detailDom.detailRight?.privewDetail)await (detailDom.detailRight as any).privewDetail()
let gradient = null

View File

@@ -129,6 +129,7 @@ export default defineComponent({
file.designType = res.data.designType
file.level2Type = type;
file.resData.level2Type = type;
file.minIOPath = file.resData.minIOPath
let fileList = detailData.uploadList.filter(
(v:any) => v.status === "done"

View File

@@ -65,8 +65,8 @@ export default defineComponent({
libraryList:null as any,
position:null as any,
})
const getSubmitData = (value:any)=>{
return getDetailListDom.position.getSubmitData(value)
const getSubmitData = (value:any,boolean)=>{
return getDetailListDom.position.getSubmitData(value,boolean)
}
const showDesignImgDetail = (str:any)=>{
new Promise((resolve, reject) => {

View File

@@ -319,9 +319,9 @@ export default defineComponent({
});
return arr
}
const getSubmitData = (value:any)=>{
const getSubmitData = (value:any,isNoComputed)=>{
let parentNode = document.getElementsByClassName('molepositon')[0].getElementsByClassName("designOpenrtion_imgMask")[0].getBoundingClientRect()
if(!detailData.frontBack?.body?.layersObject?.[0]?.imageSize){
if(!detailData.frontBack?.body?.layersObject?.[0]?.imageSize || isNoComputed){
return{
scale:value.layersObject[0].scale,
offset:value.layersObject[0].offset,
@@ -329,7 +329,6 @@ export default defineComponent({
}
}
let ratio = detailData.frontBack.body.layersObject[0].imageSize[0]/parentNode.width
// let arr:any = sort(detailData.frontBack.front)
let arr:any = sort(JSON.parse(JSON.stringify(detailData.frontBack.front)))
let num = 10

View File

@@ -37,10 +37,10 @@
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'Relight'" class="productImg_content_item_Direction generalModel_state_item" style="margin-bottom: 1rem;">
<a-select size="large" style="width: 100%;" v-model:value="speedData.value" :options="speedList" :field-names="{ label: 'relightLabel', value: 'value' }"></a-select>
</div> -->
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'ToProductImage' && speedData.value != 'flux'" class="productImg_content_item_title productImg_content_item_title_similarity">
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'ToProductImage' && !speedData.value" class="productImg_content_item_title productImg_content_item_title_similarity">
<span>{{$t('ProductImg.Similarity')}}</span>
</div>
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'ToProductImage' && speedData.value != 'flux'" class="productImg_content_item_similarity ">
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'ToProductImage' && !speedData.value" class="productImg_content_item_similarity ">
<a-slider class="system_silder"
v-model:value="productimgSimilarity"
:tooltipVisible="false"
@@ -51,16 +51,16 @@
</a-slider>
<input style="margin-left: 2rem;" type="number" readonly v-model="productimgSimilarity">
</div>
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'Relight' && speedData.value != 'flux'" class="productImg_content_item_title productImg_content_item_title_similarity">
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'Relight' && !(speedData.value == 'advanced' || speedData.value == 'flux')" class="productImg_content_item_title productImg_content_item_title_similarity">
<span>{{$t('ProductImg.RelightDirection')}}</span>
</div>
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'Relight' && speedData.value != 'flux'" class="productImg_content_item_Direction generalModel_state_item">
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'Relight' && !(speedData.value == 'advanced' || speedData.value == 'flux')" class="productImg_content_item_Direction generalModel_state_item">
<a-select size="large" style="width: 100%;" v-model:value="productimgRelightDirection" :options="productimgRelightDirectionList"></a-select>
</div>
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'Relight' && speedData.value != 'flux'" class="productImg_content_item_title productImg_content_item_title_similarity">
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'Relight' && !(speedData.value == 'advanced' || speedData.value == 'flux')" class="productImg_content_item_title productImg_content_item_title_similarity">
<span>{{$t('ProductImg.Highlight')}}</span>
</div>
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'Relight' && speedData.value != 'flux'" class="productImg_content_item_similarity">
<div v-show="scaleImageList[scaleImageIndex]?.resultType == 'Relight' && !(speedData.value == 'advanced' || speedData.value == 'flux')" class="productImg_content_item_similarity">
<a-slider class="system_silder"
v-model:value="productimgBrightenValue"
:tooltipVisible="false"
@@ -94,7 +94,7 @@
</div>
</div>
<div class="selectText" v-show="scaleImageList[scaleImageIndex]?.resultType == 'ToProductImage' && speedData.value == 'flux'">
<div class="selectText" v-show="scaleImageList[scaleImageIndex]?.resultType == 'ToProductImage' && (speedData.value == 'advanced' || speedData.value == 'flux')">
<div :title="$t('poseTransfer.hint')" @click="()=>{productimgSearchName = $t('poseTransfer.hint');ifMaximumLength()}">{{ $t('poseTransfer.hint') }}</div>
</div>
<div class="transferPose" v-show="scaleImageList[scaleImageIndex]?.resultType == 'PoseTransfer'">
@@ -263,7 +263,7 @@ setup(props:any,{emit}) {
title:'',
label:t('speedList.toproductFlus'),
relightLabel:t('speedList.relightEdit'),
value:'flux',
value:'advanced',
},{
title:'',
label:t('speedList.toproductBasic'),
@@ -277,7 +277,7 @@ setup(props:any,{emit}) {
title:'',
label:t('speedList.toproductFlus'),
relightLabel:t('speedList.relightEdit'),
value:'flux',
value:'advanced',
},
})
const openSpeed = ()=>{
@@ -338,7 +338,6 @@ setup(props:any,{emit}) {
projectId:productimg.selectObject.id,
productImage:getMinioUrl(productimg.scaleImageList[productimg.scaleImageIndex].sourceUrl),
modelName:speed.speedData.value,
parentId:productimg.selectGenerate.parentId || productimg.selectGenerate.userLikeSortId,
userLikeSortId:productimg.openType == 'add'?(productimg.selectGenerate.userLikeSortId || null):null,
isDefaultLike:true,//表示是否生成就like
@@ -352,7 +351,7 @@ setup(props:any,{emit}) {
direction:productimg.productimgRelightDirection,
prompt:productimg.productimgSearchName,
toProductImageVOList:[obj],
modelName:speed.speedData.value,
modelName:'flux',
brightenValue:productimg.productimgBrightenValue,
projectId:productimg.selectObject.id,
imageStrength:(100 - imageStrength)/100,
@@ -367,6 +366,7 @@ setup(props:any,{emit}) {
// },10000)
let url = Https.httpUrls.relight
if(productimg.scaleImageList[productimg.scaleImageIndex]?.resultType == 'ToProductImage'){
data.modelName = speed.speedData.value
url = Https.httpUrls.toProduct
}else if(productimg.scaleImageList[productimg.scaleImageIndex]?.resultType == 'PoseTransfer'){
url = Https.httpUrls.poseTransform
@@ -426,7 +426,8 @@ setup(props:any,{emit}) {
...rv[0],
prompt:productimg.productimgSearchName,
parentId:productimg.selectGenerate?.parentId || productimg.selectGenerate.userLikeGroupId,
modelName:speed.speedData.value,
// modelName:speed.speedData.value,
modelName:data.modelName,
poseId:productimg.selectPose,
userLikeSortId:productimg.selectGenerate.userLikeSortId || productimg.selectGenerate?.parentId,
sourceUrl:productimg.selectGenerate?.sourceUrl || productimg.selectGenerate?.productImage,

View File

@@ -450,7 +450,6 @@ export default defineComponent({
str:'add',
list:[file]
}
console.log(1111)
store.commit('setUploadElement',storeData)
}else{
bor = false

View File

@@ -46,7 +46,6 @@
:headers="{ Authorization: token }"
:before-upload="beforeUpload"
:multiple="!!upload.projectId"
v-model:file-list="fileList[productimgMenu.value]"
accept=".jpg,.png,.jpeg,.bmp"
@change="(file) => fileUploadChange(file)"
>
@@ -82,16 +81,16 @@
<!-- <div v-show="productimgMenu.value == 'Relight'" class="productImg_content_item_Direction generalModel_state_item">
<a-select size="large" style="width: 100%;" v-model:value="speedData.value" :options="speedList" :field-names="{ label: 'relightLabel', value: 'value' }"></a-select>
</div> -->
<div v-show="productimgMenu.value == 'Relight' && speedData.value != 'flux'" class="productImg_content_item_title productImg_content_item_title_similarity">
<div v-show="productimgMenu.value == 'Relight' && !(speedData.value == 'advanced' || speedData.value == 'flux')" class="productImg_content_item_title productImg_content_item_title_similarity">
<span>{{$t('ProductImg.RelightDirection')}}</span>
</div>
<div v-show="productimgMenu.value == 'Relight' && speedData.value != 'flux'" class="productImg_content_item_Direction generalModel_state_item">
<div v-show="productimgMenu.value == 'Relight' && !(speedData.value == 'advanced' || speedData.value == 'flux')" class="productImg_content_item_Direction generalModel_state_item">
<a-select size="large" style="width: 100%;" v-model:value="RelightDirection" :options="RelightDirectionList"></a-select>
</div>
<div v-show="productimgMenu.value == 'Relight' && speedData.value != 'flux'" class="productImg_content_item_title productImg_content_item_title_similarity">
<div v-show="productimgMenu.value == 'Relight' && !(speedData.value == 'advanced' || speedData.value == 'flux')" class="productImg_content_item_title productImg_content_item_title_similarity">
<span>{{$t('ProductImg.Highlight')}}</span>
</div>
<div v-show="productimgMenu.value == 'Relight' && speedData.value != 'flux'" class="productImg_content_item_similarity">
<div v-show="productimgMenu.value == 'Relight' && !(speedData.value == 'advanced' || speedData.value == 'flux')" class="productImg_content_item_similarity">
<a-slider class="system_silder"
v-model:value="brightenValue"
:tooltipVisible="false"
@@ -131,7 +130,7 @@
<i class="fi fi-bs-magic-wand" style="background-color: #000; font-size: 2.3rem; flex: 1;margin: 0;" @click="getPrductimg"></i>
<div v-show="productimgMenu.value != 'Relight'" class="icon iconfont icon-xiala" :class="{active:speedState}" @click.stop="openSpeed"></div>
<div class="content" v-show="speedState">
<div v-for="item in speedList" :key="item.value" :class="{active:productimgMenu.value == 'ToProductImage'?item.value == speedData.value}" @click="setSpeed(item)" :title="item.title">{{ item.label }}</div>
<div v-for="item in speedList" :key="item.value" :class="{active:item.value == speedData.value}" @click="setSpeed(item)" :title="item.title">{{ item.label }}</div>
</div>
</div>
<div v-show="isProductimg" class="generage_btn started_btn" @click="getPrductimg">
@@ -296,7 +295,7 @@ export default defineComponent({
title:'',
label:t('speedList.toproductFlus'),
relightLabel:t('speedList.relightEdit'),
value:'flux',
value:'advanced',
},{
title:'',
label:t('speedList.toproductBasic'),
@@ -307,9 +306,9 @@ export default defineComponent({
speedState:false,
speedData:{
title:'',
label:'FLUX',
relightLabel:'Edit',
value:'flux',
label:t('speedList.toproductFlus'),
relightLabel:t('speedList.relightEdit'),
value:'advanced',
},
})
@@ -426,6 +425,7 @@ export default defineComponent({
}
let fileUploadChange = (data: any)=> {
console.log(data)
let file = data.file;
let bor = true
if (file.status === "done") {
@@ -472,7 +472,8 @@ export default defineComponent({
CollectionType:props.productimgMenu.value,
}
}
return (isJpgOrPng && isLt2M) || Upload.LIST_IGNORE;
console.log(!!((isJpgOrPng && isLt2M && productImgData.selectObject.id) || Upload.LIST_IGNORE))
return !!((isJpgOrPng && isLt2M && productImgData.selectObject.id) || Upload.LIST_IGNORE);
}
let setGenerate = (item:any)=>{
item.isChecked = !item.isChecked
@@ -583,7 +584,7 @@ export default defineComponent({
toProductImageVOList:selectArr,
// userLikeGroupId:upload.value.userlikeGroupId,
projectId:productImgData.selectObject.id,
modelName:speed.speedData.value,
modelName:obj.elementType == 'Relight'?'flux':speed.speedData.value,
direction:RelightDirection.value,
brightenValue:productImgData.brightenValue,
imageStrength:(100 - imageStrength)/100,
@@ -659,7 +660,7 @@ export default defineComponent({
let index = productImgData.generateList[props.productimgMenu.value].findIndex((obj:any) => obj.taskId === element.taskId);
productImgData.generateList[props.productimgMenu.value][index] = {
...element,
modelName:speed.speedData.value,
modelName:props.productimgMenu.value == 'Relight'?'flux':speed.speedData.value,
}
// productImgData.generateList[props.productimgMenu.value].unshift(element)
data = data.filter((item:any) => item !== element.taskId);

View File

@@ -214,9 +214,6 @@ const DesignDetail : Module<DesignDetail,RootState> = {
for (let j = 0; j < data.clothes.length; j++) {
const item = data.clothes[j];
if(!item.id)continue
if(item.id == state.selectDetail.id || state.selectDetail.newDetail?.sketch?.id == item.id){
}
let id_:any
if(state.currentDetailType != 'models'){
if(data.clothes.length > 2){
@@ -240,7 +237,7 @@ const DesignDetail : Module<DesignDetail,RootState> = {
img.src = state.frontBack.body.path;
img.onload = () => {
let scale:any = el.parentNode.offsetWidth / img.width;
if(state.selectDetail.newDetail?.sketch?.id && !state.selectDetail.id){
if(state.selectDetail?.newDetail?.sketch?.id && !state.selectDetail.id){
state.frontBack.front.push({id:state.selectDetail.newDetail?.sketch?.id})
state.frontBack.back.push({id:state.selectDetail.newDetail?.sketch?.id})
}