11
This commit is contained in:
@@ -2,9 +2,10 @@
|
||||
import { onMounted, onUnmounted, reactive, toRefs } from "vue";
|
||||
import HeaderTitle from '@/components/HeaderTitle.vue'
|
||||
import FooterNavigation from '@/components/FooterNavigation.vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useRouter, useRoute } from 'vue-router'
|
||||
import GenerateLoading from '@/views/asistant/components/GenerateLoading.vue'
|
||||
import { useGenerateStore } from '@/stores'
|
||||
import { generateTryOnEffect, setTryOnEffectFavorite, cancelTryOnEffectFavorite } from '@/api/workshop'
|
||||
const router = useRouter()
|
||||
//const props = defineProps({
|
||||
//})
|
||||
@@ -17,6 +18,8 @@ let data = reactive({
|
||||
isLoading: false,
|
||||
})
|
||||
|
||||
const generateStore = useGenerateStore()
|
||||
|
||||
// const setSelectedModelId = (item)=>{
|
||||
// data.selectedModelId = item.id;
|
||||
// }
|
||||
@@ -30,13 +33,48 @@ const changeModel = ()=>{
|
||||
router.push('selectModel')
|
||||
}
|
||||
|
||||
const startGenerate = ()=>{
|
||||
data.isLoading = true;
|
||||
let value = {
|
||||
customerId:1 || generateStore.customerId,
|
||||
visitRecordId:1 || generateStore.visitRecordId,
|
||||
styleId:1 || generateStore.style.id,
|
||||
customerPhotoId:null,
|
||||
modelPhotoId:null,
|
||||
prompt:null,
|
||||
originalTryOnId:null,
|
||||
isRegenerated:0,
|
||||
}
|
||||
generateTryOnEffect(value).then((res:any)=>{
|
||||
data.isLoading = false;
|
||||
generateStore.tryOnId.id = res.id
|
||||
generateStore.tryOnId.isLike = false
|
||||
generateStore.useStyleGenerate()//生成后需要对选择衣服页面设置不可选中样式
|
||||
generateStore.setIsGenerate(false)
|
||||
}).catch(()=>{
|
||||
data.isLoading = false;
|
||||
router.back()
|
||||
})
|
||||
}
|
||||
|
||||
const setLike = ()=>{
|
||||
let tryOnId = generateStore.tryOnId.id
|
||||
if(generateStore.tryOnId.isLike){
|
||||
cancelTryOnEffectFavorite(tryOnId).then(()=>{
|
||||
generateStore.tryOnId.isLike = false
|
||||
})
|
||||
}else{
|
||||
setTryOnEffectFavorite(tryOnId).then(()=>{
|
||||
generateStore.tryOnId.isLike = true
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
emit('view-type', 1)
|
||||
data.isLoading = true;
|
||||
setTimeout(()=>{
|
||||
useGenerateStore().useStyleGenerate()
|
||||
data.isLoading = false;
|
||||
}, 2000)
|
||||
if (generateStore.isGenerate) {
|
||||
startGenerate()
|
||||
}
|
||||
})
|
||||
onUnmounted(()=>{
|
||||
})
|
||||
@@ -62,15 +100,15 @@ const { isLoading } = toRefs(data);
|
||||
<div class="model">
|
||||
<img src="@/assets/images/workshop/posture/posture_1.png" />
|
||||
<div class="operation">
|
||||
<div><SvgIcon name="love_0" size="35" /></div>
|
||||
<div><SvgIcon name="reload" size="35" /></div>
|
||||
<div><SvgIcon name="download" size="35" /></div>
|
||||
<div><SvgIcon :name="`love_${generateStore.tryOnId.isLike ? '1' : '0'}`" size="35" @click="setLike" /></div>
|
||||
<div><SvgIcon name="reload" size="35" @click="startGenerate"/></div>
|
||||
<!-- <div><SvgIcon name="download" size="35" /></div> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="again">
|
||||
<div @click="changeModel">Change Model</div>
|
||||
<div @click="onContinue">Continue</div>
|
||||
<!-- <div @click="changeModel">Change Model</div> -->
|
||||
<div @click="onContinue" style="margin-left: auto;">Continue</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -40,7 +40,7 @@ let data = reactive({
|
||||
},
|
||||
|
||||
],
|
||||
selectModel:computed(()=>generateStore.userData.model),
|
||||
selectModel:computed(()=>generateStore.model),
|
||||
})
|
||||
|
||||
const setSelectedModelId = (item)=>{
|
||||
|
||||
@@ -8,6 +8,7 @@ import editProfile2 from '@/assets/images/workshop/selectStyle/selectStyle2.png'
|
||||
import editProfile3 from '@/assets/images/workshop/selectStyle/selectStyle3.png'
|
||||
import editProfile4 from '@/assets/images/workshop/selectStyle/selectStyle4.png'
|
||||
import { useGenerateStore } from '@/stores'
|
||||
import { showNotify } from 'vant';
|
||||
const router = useRouter()
|
||||
|
||||
//const props = defineProps({
|
||||
@@ -36,7 +37,7 @@ let data = reactive({
|
||||
imgUrl:editProfile4,
|
||||
},
|
||||
],
|
||||
select:computed(()=>generateStore.userData.style)
|
||||
select:computed(()=>generateStore.style)
|
||||
})
|
||||
|
||||
const selectItem = (item)=>{
|
||||
@@ -52,11 +53,19 @@ const updateStyle = ({item,index})=>{
|
||||
}
|
||||
|
||||
const toProduct = ()=>{
|
||||
console.log(generateStore.style)
|
||||
if(generateStore.style.id == -1 && !generateStore.style.oldId){
|
||||
showNotify({ message: 'Please select a style.', type:'warning' });
|
||||
return
|
||||
}
|
||||
if(generateStore.style.id){
|
||||
generateStore.setIsGenerate(true)
|
||||
}
|
||||
router.push({ path: 'product' })
|
||||
}
|
||||
onMounted(()=>{
|
||||
emit('view-type', 1)
|
||||
console.log(useGenerateStore())
|
||||
|
||||
})
|
||||
onUnmounted(()=>{
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user