feat: api创建

This commit is contained in:
zhangyh
2025-10-24 17:37:15 +08:00
parent 21384516ce
commit 5fe30c82c8
14 changed files with 197 additions and 86 deletions

View File

@@ -26,11 +26,11 @@
<div class="glass-form">
<div class="form-field">
<label class="field-label">Customer Name</label>
<input type="text" placeholder="Name" class="form-input" />
<input v-model="customeData.name" type="text" placeholder="Name" class="form-input" />
</div>
<div class="form-field email">
<label class="field-label">Customer Email</label>
<input type="email" placeholder="Email" class="form-input" />
<input v-model="customeData.email" type="email" placeholder="Email" class="form-input" />
</div>
<button class="confirm-btn" @click="handleConfirm">Confirm</button>
</div>
@@ -42,6 +42,9 @@
<script setup lang="ts">
import { ref } from 'vue'
import { useRouter } from 'vue-router'
import { useUserInfoStore } from '@/stores'
import { showToast } from 'vant'
const userInfoStore = useUserInfoStore()
const router = useRouter()
type PageMode = 'form' | 'entry'
@@ -51,8 +54,20 @@ const handleChangeMode = (mode: PageMode) => {
pageMode.value = mode
}
const handleConfirm = () => {
console.log('handleConfirm')
const customeData = ref({
name: '',
email: ''
})
const handleConfirm = async () => {
if (customeData.value.name === '' || customeData.value.email === '') {
showToast('please input name and email')
return
}
// await 查找顾客ID
// userInfoStore.setCustomerId('')
router.push('/stylist/index')
}
</script>

View File

@@ -14,7 +14,7 @@
<van-icon name="arrow-left" color="#fff" size="40" />
</div>
<van-swipe touchable ref="swiperRef">
<van-swipe touchable ref="swiperRef" @change="handleChangeCurrent">
<van-swipe-item v-for="item in stylists" :key="item.id">
<div class="swiper-container" @click="handleClickStylist(item)">
<img :src="item.image" />
@@ -64,9 +64,10 @@
import { ref, watch } from 'vue'
import { useRouter } from 'vue-router'
import Video from './components/Video.vue'
import { useUserInfoStore } from '@/stores'
const router = useRouter()
const userInfoStore = useUserInfoStore()
// stylist数据
const stylists = ref<any[]>([
{
@@ -94,11 +95,17 @@ const stylists = ref<any[]>([
image: '/src/assets/images/male.png'
}
])
const currentChoosed=ref('')
const swiperRef = ref<any>(null)
const showVideo = ref<boolean>(false)
const videoRef = ref<any>(null)
const handleChangeCurrent=(index:number)=>{
currentChoosed.value = stylists.value[index].id
}
const handleChangeSwiper = (type: 'next' | 'prev') => {
if (type === 'next') {
swiperRef.value.next()
@@ -113,7 +120,10 @@ const handleClickStylist = (item: any) => {
}
const handleContinue = () => {
// 跳转到下一个页面
const generateParams = userInfoStore.getGenerateParams()
generateParams.stylistId = currentChoosed.value
userInfoStore.setGenerateParams(generateParams)
router.push('/stylist/sex')
}

View File

@@ -18,7 +18,9 @@
<script setup lang="ts">
import { ref } from 'vue'
import { useRouter } from 'vue-router'
import {useUserInfoStore} from '@/stores'
const router = useRouter()
const userInfoStore = useUserInfoStore()
const options = ref<any[]>([
{ label: 'Female', value: '1' },
@@ -26,7 +28,9 @@ const options = ref<any[]>([
])
const handleSelect = (value: string) => {
console.log(value)
const generateParams = userInfoStore.getGenerateParams()
generateParams.sex = value
userInfoStore.setGenerateParams(generateParams)
router.push('/stylist/dressfor')
}
</script>