From 15a4220fbc6fdf0d6b09534ec8bebb8714cf2c13 Mon Sep 17 00:00:00 2001
From: X1627315083 <1627315083@qq.com>
Date: Mon, 29 Dec 2025 14:42:50 +0800
Subject: [PATCH 1/7] =?UTF-8?q?=E9=80=89=E6=8B=A9=E9=A3=8E=E6=A0=BC?=
=?UTF-8?q?=E5=8F=98=E4=B8=BA=E7=94=9F=E6=88=90=E5=9B=9B=E4=B8=AA=EF=BC=8C?=
=?UTF-8?q?=E8=B0=83=E6=95=B4=E6=B8=90=E5=8F=98=E6=8C=89=E9=92=AE=E6=A0=B7?=
=?UTF-8?q?=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/gradientButton.vue | 10 +-
src/components/selectStyle/selectItem.vue | 59 ++++-----
src/router/index.ts | 2 +-
src/stores/modules/generate.ts | 20 ++-
src/views/Workshop/homeNav.vue | 14 --
src/views/Workshop/index.vue | 5 +-
src/views/Workshop/profile.vue | 2 +-
.../index.vue} | 91 +++++++++----
src/views/Workshop/selectStyle/styleList.vue | 120 ++++++++++++++++++
.../asistant/components/GenerateLoading.vue | 13 +-
10 files changed, 247 insertions(+), 89 deletions(-)
rename src/views/Workshop/{selectStyle.vue => selectStyle/index.vue} (75%)
create mode 100644 src/views/Workshop/selectStyle/styleList.vue
diff --git a/src/components/gradientButton.vue b/src/components/gradientButton.vue
index 3acfb3a..a2968d9 100644
--- a/src/components/gradientButton.vue
+++ b/src/components/gradientButton.vue
@@ -48,11 +48,11 @@ const {} = toRefs(data);
left: 50%;
border-radius: var(--gradientButtonBorderRadius);
transform: translate(-50%, -50%);
- background: linear-gradient(125deg,
- #f1f1f1 0%,
- #000 40%,
- #000 65%,
- #fff 100%);
+ background: linear-gradient(156deg,
+ #d3d3d3 0%,
+ #8a8682 40%,
+ #8a8682 65%,
+ #ebebeb 100%);
}
}
\ No newline at end of file
diff --git a/src/components/selectStyle/selectItem.vue b/src/components/selectStyle/selectItem.vue
index c9baa4b..c3c2c73 100644
--- a/src/components/selectStyle/selectItem.vue
+++ b/src/components/selectStyle/selectItem.vue
@@ -82,22 +82,11 @@ const {} = toRefs(data);
-
-
+
-
-
+ -->
@@ -109,7 +98,7 @@ const {} = toRefs(data);
flex-wrap: wrap;
justify-content: space-between;
> .item{
- width: calc(50% - 3.1rem / 2);
+ width: calc(50% - 3.5rem / 2);
position: relative;
// margin-bottom: 3.3rem;
display: flex;
@@ -126,7 +115,7 @@ const {} = toRefs(data);
align-items: center;
flex-wrap: wrap;
height: 45rem;
- margin: 2.4rem 0;
+ margin: 2.3rem 0;
background-color: #fff;
justify-content: center;
border: .6px solid #acacac;
@@ -170,26 +159,26 @@ const {} = toRefs(data);
// max-height: 50%;
}
}
- > .btn{
- display: flex;
- align-items: center;
- justify-content: flex-end;
- > div{
- color: #000;
- margin-right: 1.2rem;
- border-radius: 50%;
- width: 5.2rem;
- height: 5.2rem;
- padding: 1rem;
- background-color: #fff;
- &:last-child{
- margin-right: 0rem;
- }
- &:hover{
- color: #000;
- }
- }
- }
+ // > .btn{
+ // display: flex;
+ // align-items: center;
+ // justify-content: flex-end;
+ // > div{
+ // color: #000;
+ // margin-right: 1.2rem;
+ // border-radius: 50%;
+ // width: 5.2rem;
+ // height: 5.2rem;
+ // padding: 1rem;
+ // background-color: #fff;
+ // &:last-child{
+ // margin-right: 0rem;
+ // }
+ // &:hover{
+ // color: #000;
+ // }
+ // }
+ // }
}
}
\ No newline at end of file
diff --git a/src/router/index.ts b/src/router/index.ts
index 307d257..4eed819 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -121,7 +121,7 @@ const router = createRouter({
{
path: '/workshop/selectStyle',
name: 'selectStyle',
- component: () => import('../views/Workshop/selectStyle.vue'),
+ component: () => import('../views/Workshop/selectStyle/index.vue'),
meta: { verify: () => VerifyIDs(2) }
},
{
diff --git a/src/stores/modules/generate.ts b/src/stores/modules/generate.ts
index 4be5501..f985ef3 100644
--- a/src/stores/modules/generate.ts
+++ b/src/stores/modules/generate.ts
@@ -15,7 +15,12 @@ export const useGenerateStore = defineStore({
isLike: false, //是否喜欢
status: ''
},
- styleList: [{}, {}, {}, {}],
+ styleList: [
+ {id:'',taskId:'',status:'',path:''},
+ {id:'',taskId:'',status:'',path:''},
+ {id:'',taskId:'',status:'',path:''},
+ {id:'',taskId:'',status:'',path:''},
+ ],
model: {
id: ''
},
@@ -98,6 +103,12 @@ export const useGenerateStore = defineStore({
taskId:'',
status: ''
}
+ this.styleList = [
+ {id:'',taskId:'',status:'',path:''},
+ {id:'',taskId:'',status:'',path:''},
+ {id:'',taskId:'',status:'',path:''},
+ {id:'',taskId:'',status:'',path:''},
+ ]
},
//模特相关
selectModel(data: any) {
@@ -107,7 +118,12 @@ export const useGenerateStore = defineStore({
this.isGenerate = isGenerate
},
clearProductData() {
- this.styleList = [{}, {}, {}, {}]
+ this.styleList = [
+ {id:'',taskId:'',status:'',path:''},
+ {id:'',taskId:'',status:'',path:''},
+ {id:'',taskId:'',status:'',path:''},
+ {id:'',taskId:'',status:'',path:''},
+ ]
this.style = {
id: '',
path: '',
diff --git a/src/views/Workshop/homeNav.vue b/src/views/Workshop/homeNav.vue
index e78924b..815cc8f 100644
--- a/src/views/Workshop/homeNav.vue
+++ b/src/views/Workshop/homeNav.vue
@@ -22,20 +22,6 @@ const navDisabledList = ref([])
// const data = reactive({
// })
-const clickSwitchVIPID = ()=>{
- showConfirmDialog({
- title: 'Switch VIP ID?',
- message: 'You have unsaved changes. Your progress will be lost.',
- confirmButtonText: 'Yes',
- cancelButtonText: 'Cancel',
- })
- .then(() => {
- MyEvent.emit('clear-generate-state')
- MyEvent.emit('clearAllCache')
- router.push({ name: 'customer', query: { demo: 1 } })
- })
- .catch(() => {})
-}
const openFlow = (item: any)=>{
item.click && item.click()
const query = route.query
diff --git a/src/views/Workshop/index.vue b/src/views/Workshop/index.vue
index 55d95c6..dadf8be 100644
--- a/src/views/Workshop/index.vue
+++ b/src/views/Workshop/index.vue
@@ -21,8 +21,11 @@
+
+
+
-
+
\ No newline at end of file
diff --git a/src/views/asistant/components/GenerateLoading.vue b/src/views/asistant/components/GenerateLoading.vue
index 721480e..0714ea7 100644
--- a/src/views/asistant/components/GenerateLoading.vue
+++ b/src/views/asistant/components/GenerateLoading.vue
@@ -113,7 +113,7 @@ onMounted(() => {
.loading-image {
width: 36.4rem;
height: 36.4rem;
- animation: rotate 1s linear infinite;
+ animation: rotate 1.5s ease-in-out infinite;
}
.loading-shadow {
@@ -146,11 +146,14 @@ onMounted(() => {
}
@keyframes rotate {
- from {
- transform: rotate(0deg);
+ 0% {
+ transform: translateY(0px);
}
- to {
- transform: rotate(360deg);
+ 50% {
+ transform: translateY(-100px);
+ }
+ 100% {
+ transform: translateY(0px);
}
}
From 891fb3f4b05048c3264a762bca8f2db47546b546 Mon Sep 17 00:00:00 2001
From: X1627315083 <1627315083@qq.com>
Date: Mon, 29 Dec 2025 14:43:28 +0800
Subject: [PATCH 2/7] fix
---
src/views/Workshop/selectStyle/index.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/Workshop/selectStyle/index.vue b/src/views/Workshop/selectStyle/index.vue
index 9fe5f30..8c6150c 100644
--- a/src/views/Workshop/selectStyle/index.vue
+++ b/src/views/Workshop/selectStyle/index.vue
@@ -121,7 +121,7 @@ const getRequestOutfitList = (generateList)=>{
}
})
- // if(['SUCCEEDED'].includes(data.select.status))isLoading.value = false
+ if(['SUCCEEDED'].includes(data.select.status))isLoading.value = false
const taskIdList = data.styleList
.filter(item => item?.taskId && item?.status !== 'SUCCEEDED')
.map(item => item.taskId);
From 8cb77593f897fbc20b798d929e362b6c53308d0c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com>
Date: Mon, 29 Dec 2025 14:48:54 +0800
Subject: [PATCH 3/7] =?UTF-8?q?=E6=9B=B4=E6=94=B9viewtype=E6=96=B9?=
=?UTF-8?q?=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/RouteCache.vue | 20 ++++++++-----------
src/views/Workshop/creation/creation-list.vue | 4 ----
src/views/Workshop/creation/index.vue | 8 --------
src/views/Workshop/end.vue | 5 +----
src/views/Workshop/home.vue | 6 ------
src/views/Workshop/homeNav.vue | 4 ----
src/views/Workshop/index.vue | 2 +-
src/views/Workshop/library.vue | 4 ----
src/views/Workshop/product.vue | 2 --
src/views/Workshop/profile.vue | 2 +-
src/views/Workshop/recommended.vue | 5 +----
src/views/Workshop/selectModel.vue | 8 ++------
src/views/Workshop/selectStyle.vue | 4 ----
src/views/Workshop/uploadFace1.vue | 4 ----
src/views/Workshop/uploadFace2.vue | 4 ----
15 files changed, 14 insertions(+), 68 deletions(-)
diff --git a/src/components/RouteCache.vue b/src/components/RouteCache.vue
index 2e0feb1..dce33f4 100644
--- a/src/components/RouteCache.vue
+++ b/src/components/RouteCache.vue
@@ -1,6 +1,6 @@
-
+
@@ -14,6 +14,13 @@ import { useRoute } from 'vue-router'
import { useRouter } from 'vue-router'
import MyEvent from '@/utils/myEvent'
+const props = defineProps({
+ viewType: {
+ type: String,
+ default: ''
+ }
+})
+
const route = useRoute()
// 缓存的组件名称列表
@@ -59,17 +66,6 @@ onMounted(() => {
MyEvent.add('clearAllCache', clearCache)
})
-//根据viewType设置布局风格样式
-const viewType = ref(0)
-const changeViewType = (v: number) => {
- viewType.value = v
-}
-const router = useRouter()
-watch(
- () => router.currentRoute.value,
- () => (viewType.value = 0)
-)
-
// 暴露方法供外部使用
defineExpose({
clearCache,
diff --git a/src/views/Workshop/creation/creation-list.vue b/src/views/Workshop/creation/creation-list.vue
index 2a336ad..2671bf0 100644
--- a/src/views/Workshop/creation/creation-list.vue
+++ b/src/views/Workshop/creation/creation-list.vue
@@ -12,7 +12,6 @@
import { useRouter } from 'vue-router'
import MyEvent from '@/utils/myEvent'
const router = useRouter()
- const emit = defineEmits(['view-type'])
const query = computed(() => router.currentRoute.value.query)
const visitRecordId = computed(() => query.value.visitRecordId) // 访问记录ID
import { useGenerateStore, useHGenerateStore } from '@/stores'
@@ -22,9 +21,6 @@
// 是否单选模式
isChooseOne: { type: Boolean, default: false }
})
- onMounted(() => {
- emit('view-type', 1)
- })
const list = reactive([])
const size = ref(10)
const page = computed(() => Math.ceil(list.length / size.value) + 1)
diff --git a/src/views/Workshop/creation/index.vue b/src/views/Workshop/creation/index.vue
index 37ead49..556bf8a 100644
--- a/src/views/Workshop/creation/index.vue
+++ b/src/views/Workshop/creation/index.vue
@@ -7,16 +7,8 @@
const router = useRouter()
const route = useRoute()
const styleUrl = computed(() => router.currentRoute.value.query.styleUrl)
- const emit = defineEmits(['view-type'])
- watch(
- () => router.currentRoute.value,
- () => emit('view-type', 1)
- )
const isChooseOne = computed(() => route.query.flowType === FlowType.HISTORY)
- onMounted(() => {
- emit('view-type', 1)
- })
diff --git a/src/views/Workshop/end.vue b/src/views/Workshop/end.vue
index 3eda4de..07306ad 100644
--- a/src/views/Workshop/end.vue
+++ b/src/views/Workshop/end.vue
@@ -2,10 +2,7 @@
import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router'
const router = useRouter()
- const emit = defineEmits(['view-type'])
- onMounted(() => {
- emit('view-type', 1)
- })
+
const onExit = () => {
console.log('exit')
}
diff --git a/src/views/Workshop/home.vue b/src/views/Workshop/home.vue
index 29dc2b2..3cc8528 100644
--- a/src/views/Workshop/home.vue
+++ b/src/views/Workshop/home.vue
@@ -7,9 +7,6 @@ import { FlowType } from '@/types/enum'
//const props = defineProps({
//})
-const emit = defineEmits([
- 'viewType'
-])
// const data = reactive({
// })
@@ -22,9 +19,6 @@ const historicalReview = ()=>{
router.push(`/workshop/creation?flowType=${FlowType.HISTORY}`)
}
-onMounted(()=>{
- emit('viewType', 1)
-})
onUnmounted(()=>{
})
defineExpose({})
diff --git a/src/views/Workshop/homeNav.vue b/src/views/Workshop/homeNav.vue
index e78924b..e3472a8 100644
--- a/src/views/Workshop/homeNav.vue
+++ b/src/views/Workshop/homeNav.vue
@@ -12,9 +12,6 @@ const hGenerateStore = useHGenerateStore()
//const props = defineProps({
//})
-const emit = defineEmits([
- 'view-type'
-])
const navList = ref([])
const navDisabledList = ref([])
@@ -50,7 +47,6 @@ const openFlow = (item: any)=>{
}
onMounted(()=>{
- emit('view-type', 1)
let nav = [
{
path: 'selectStyle',
diff --git a/src/views/Workshop/index.vue b/src/views/Workshop/index.vue
index 55d95c6..741e417 100644
--- a/src/views/Workshop/index.vue
+++ b/src/views/Workshop/index.vue
@@ -19,7 +19,7 @@
-
+
diff --git a/src/views/Workshop/library.vue b/src/views/Workshop/library.vue
index 17527e9..2a6fefa 100644
--- a/src/views/Workshop/library.vue
+++ b/src/views/Workshop/library.vue
@@ -4,14 +4,10 @@
import router from '@/router'
import { FormatDate } from '@/utils/tools'
import { getCustomerPhotos, deleteCustomerPhoto } from '@/api/workshop'
- const emit = defineEmits(['view-type'])
import { showConfirmDialog } from 'vant'
import { useGenerateStore } from '@/stores'
const generateStore = useGenerateStore()
- onMounted(() => {
- emit('view-type', 1)
- })
const loading = ref(false)
const finish = ref(false)
const list = reactive([])
diff --git a/src/views/Workshop/product.vue b/src/views/Workshop/product.vue
index 0e08c59..626da17 100644
--- a/src/views/Workshop/product.vue
+++ b/src/views/Workshop/product.vue
@@ -10,7 +10,6 @@ import gradientButton from '@/components/gradientButton.vue'
const router = useRouter()
//const props = defineProps({
//})
-const emit = defineEmits(['view-type'])
let data = reactive({
modelList:
[
@@ -120,7 +119,6 @@ const handleSubmit = ()=>{
}
onMounted(() => {
- emit('view-type', 1)
if (!generateStore.originalTryOn.id) {
startGenerate()
}
diff --git a/src/views/Workshop/profile.vue b/src/views/Workshop/profile.vue
index e86383c..0609ab5 100644
--- a/src/views/Workshop/profile.vue
+++ b/src/views/Workshop/profile.vue
@@ -15,7 +15,7 @@
const userInfoStore = useUserInfoStore()
const overallStore = useOverallStore()
- const emit = defineEmits(['view-type', 'selected-customer'])
+ const emit = defineEmits(['selected-customer'])
const show = ref(false)
const isEdit = ref(false)
const form = reactive({
diff --git a/src/views/Workshop/recommended.vue b/src/views/Workshop/recommended.vue
index 028777d..e4668a8 100644
--- a/src/views/Workshop/recommended.vue
+++ b/src/views/Workshop/recommended.vue
@@ -3,10 +3,7 @@
import { useRouter } from 'vue-router'
import { useGenerateStore } from '@/stores'
const generateStore = useGenerateStore()
- const emit = defineEmits(['view-type'])
- onMounted(() => {
- emit('view-type', 1)
- })
+
const router = useRouter()
const clickNext = () => {
generateStore.updatePhotoInfo({})
diff --git a/src/views/Workshop/selectModel.vue b/src/views/Workshop/selectModel.vue
index 32f72c7..22585d5 100644
--- a/src/views/Workshop/selectModel.vue
+++ b/src/views/Workshop/selectModel.vue
@@ -6,9 +6,7 @@ import { useGenerateStore } from '@/stores'
const router = useRouter()
//const props = defineProps({
//})
-const emit = defineEmits([
- 'view-type'
-])
+
const generateStore = useGenerateStore()
let data = reactive({
modelList:
@@ -45,9 +43,7 @@ let data = reactive({
const setSelectedModelId = (item)=>{
generateStore.selectModel(item)
}
-onMounted(()=>{
- emit('view-type', 1)
-})
+
const toProduct = ()=>{
router.push({ path: 'product' })
}
diff --git a/src/views/Workshop/selectStyle.vue b/src/views/Workshop/selectStyle.vue
index d9ae79c..45e0c67 100644
--- a/src/views/Workshop/selectStyle.vue
+++ b/src/views/Workshop/selectStyle.vue
@@ -14,9 +14,6 @@ const router = useRouter()
const route = useRoute()
//const props = defineProps({
//})
-const emit = defineEmits([
- 'view-type'
-])
const generateStore = useGenerateStore()
const userInfoStore = useUserInfoStore()
const hGenerateStore = useHGenerateStore()
@@ -121,7 +118,6 @@ const getRequestOutfitList = (generateList)=>{
onMounted(()=>{
// generateStore.clearProductData()
- emit('view-type', 1)
// if(!data.styleList[0]?.id)getRequestOutfitList(0)
if(getGenerateTime)clearTimeout(getGenerateTime)
if(data.select.status == 'SUCCEEDED'){
diff --git a/src/views/Workshop/uploadFace1.vue b/src/views/Workshop/uploadFace1.vue
index 4d56310..66e35b1 100644
--- a/src/views/Workshop/uploadFace1.vue
+++ b/src/views/Workshop/uploadFace1.vue
@@ -4,10 +4,6 @@
import { useGenerateStore } from '@/stores'
import { IsHistoryFlow } from '@/types/enum'
const generateStore = useGenerateStore()
- const emit = defineEmits(['view-type'])
- onMounted(() => {
- emit('view-type', 1)
- })
const router = useRouter()
const route = useRoute()
const query = computed(() => route.query)
diff --git a/src/views/Workshop/uploadFace2.vue b/src/views/Workshop/uploadFace2.vue
index ec90eae..c6dca60 100644
--- a/src/views/Workshop/uploadFace2.vue
+++ b/src/views/Workshop/uploadFace2.vue
@@ -7,10 +7,6 @@
const generateStore = useGenerateStore()
const hGenerateStore = useHGenerateStore()
- const emit = defineEmits(['view-type'])
- onMounted(() => {
- emit('view-type', 1)
- })
const router = useRouter()
const route = useRoute()
const query = computed(() => route.query)
From fab733c7c7bb05ba7cbd907e149704c3f854045c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com>
Date: Mon, 29 Dec 2025 14:52:24 +0800
Subject: [PATCH 4/7] fix
---
src/views/Workshop/index.vue | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/views/Workshop/index.vue b/src/views/Workshop/index.vue
index 1f99d79..741e417 100644
--- a/src/views/Workshop/index.vue
+++ b/src/views/Workshop/index.vue
@@ -21,11 +21,8 @@
-
-
-
-
+