Merge branch 'main' of http://18.167.251.121:10003/aidlab/lanecarford_front
All checks were successful
git提交控制 AiDA WEB-Node.js main 分支构建部署 / build (20.19.0) (push) Has been skipped

This commit is contained in:
2025-12-23 15:52:35 +08:00

View File

@@ -25,6 +25,8 @@
emit('view-type', 1) emit('view-type', 1)
}) })
const list = reactive([]) const list = reactive([])
const size = ref(10)
const page = computed(() => Math.ceil(list.length / size.value) + 1)
const loading = ref(false) const loading = ref(false)
const finish = ref(false) const finish = ref(false)
const selectCount = computed(() => list.filter((v) => v.selected).length) const selectCount = computed(() => list.filter((v) => v.selected).length)
@@ -47,16 +49,21 @@
const clickNav = (v) => { const clickNav = (v) => {
if (v.value === navActive.value || loading.value) return if (v.value === navActive.value || loading.value) return
navActive.value = v.value navActive.value = v.value
onLoad() onBackChooseSave()
onLoad('reload')
} }
const onLoad = () => { const onLoad = (type?: 'reload') => {
loading.value = true if (type === 'reload') {
finish.value = false finish.value = false
list.splice(0, list.length) list.splice(0, list.length)
}
loading.value = true
const params = { const params = {
customerId: generateStore.customerId, customerId: generateStore.customerId,
type: navActive.value, type: navActive.value,
isLibrary: false isLibrary: false,
pageNum: page.value,
pageSize: size.value
} }
if (props.isChooseOne) { if (props.isChooseOne) {
params['visitRecordId'] = '' params['visitRecordId'] = ''
@@ -67,8 +74,8 @@
params['visitRecordId'] = generateStore.visitRecordId params['visitRecordId'] = generateStore.visitRecordId
} }
getGenerateHistoricals(params) getGenerateHistoricals(params)
.then((data) => { .then((data: any) => {
data?.forEach((v) => { data.records?.forEach((v) => {
const obj = { const obj = {
// tryOnId: v.tryOnId, // tryOnId: v.tryOnId,
tryOnUrl: v.tryOnUrl, tryOnUrl: v.tryOnUrl,
@@ -85,7 +92,7 @@
list.push(obj) list.push(obj)
}) })
loading.value = false loading.value = false
finish.value = true finish.value = !data.hasNext
}) })
.catch((err) => { .catch((err) => {
console.error(err) console.error(err)
@@ -228,11 +235,11 @@
hGenerateStore.originalTryOn.id = selectedItem.id hGenerateStore.originalTryOn.id = selectedItem.id
hGenerateStore.originalTryOn.tryOnUrl = selectedItem.tryOnUrl hGenerateStore.originalTryOn.tryOnUrl = selectedItem.tryOnUrl
hGenerateStore.originalTryOn.isLike = selectedItem.isFavorite hGenerateStore.originalTryOn.isLike = selectedItem.isFavorite
hGenerateStore.style.id = ''; hGenerateStore.style.id = ''
hGenerateStore.style.url = selectedItem.styleUrl hGenerateStore.style.url = selectedItem.styleUrl
} else { } else {
// style // style
hGenerateStore.style.id = selectedItem.id; hGenerateStore.style.id = selectedItem.id
hGenerateStore.style.url = selectedItem.url hGenerateStore.style.url = selectedItem.url
// selectedItem.isFavorite // selectedItem.isFavorite
} }
@@ -260,7 +267,14 @@
</div> </div>
<div class="list"> <div class="list">
<my-list v-model:loading="loading" v-model:finish="finish" @load="onLoad"> <my-list v-model:loading="loading" v-model:finish="finish" @load="onLoad">
<div class="item" v-for="(v, i) in list" :key="i" @click="onItem(v)" :type="navActive"> <div
class="item"
v-for="(v, i) in list"
:key="i"
@click="onItem(v)"
:type="navActive"
:class="{ active: (isChooseSave || isChooseOne) && v.selected }"
>
<img v-lazy="v.tryOnUrl || v.url" /> <img v-lazy="v.tryOnUrl || v.url" />
<!-- <div class="corner"> <!-- <div class="corner">
<div class="ai" v-if="v.isRegenerated">Gen-AI</div> <div class="ai" v-if="v.isRegenerated">Gen-AI</div>
@@ -358,12 +372,14 @@
.item { .item {
width: 47%; width: 47%;
height: 62.2rem; height: 62.2rem;
// overflow: hidden;
border-radius: var(--border-radius); border-radius: var(--border-radius);
background-color: #fff; background-color: #fff;
margin-bottom: 4rem; margin-bottom: 4rem;
border: 0.1rem solid #000; // overflow: hidden;
position: relative; position: relative;
&.active {
border: 0.3rem solid #d9d9d9;
}
&[type='Outfit'] { &[type='Outfit'] {
height: 50rem; height: 50rem;
> img { > img {
@@ -454,7 +470,7 @@
} }
} }
> .btns { > .btns {
margin: 9rem 0; margin: 5.4rem 0 6.4rem 0;
display: flex; display: flex;
justify-content: center; justify-content: center;