feat: 获取顾客列表&新建顾客
This commit is contained in:
@@ -66,8 +66,10 @@ import { ref, computed } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useGenerateStore, useUserInfoStore } from '@/stores'
|
||||
import { showToast } from 'vant'
|
||||
import { customerCheckin } from '@/api/workshop'
|
||||
import { customerCheckin, createCustomer, type CreateCustomerParams } from '@/api/workshop'
|
||||
import Profile from '../Workshop/profile.vue'
|
||||
import MyEvent from '@/utils/myEvent'
|
||||
|
||||
|
||||
const profileRef = ref<typeof Profile>(null)
|
||||
const handleOpenProfile = () => {
|
||||
@@ -94,21 +96,43 @@ const customerData = ref({
|
||||
})
|
||||
|
||||
const handleConfirm = async () => {
|
||||
if (customerData.value.vipId === '') {
|
||||
showToast({
|
||||
message: 'please input name and email',
|
||||
position: 'top'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (pageMode.value === 'form') {
|
||||
await customerCheckin({ nickname: customerData.value.nickname }).then((res) => {
|
||||
if (customerData.value.nickname === '') {
|
||||
showToast({
|
||||
message: 'please input the nickname'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
customerCheckin({ nickname: customerData.value.nickname }).then((res) => {
|
||||
useUserInfoStore().resetGenerateParams()
|
||||
generateStore.setCustomerInfo(res)
|
||||
router.push('/workshop/home')
|
||||
})
|
||||
} else {
|
||||
// 创建接口
|
||||
if (customerData.value.vipId === '') {
|
||||
showToast({
|
||||
message: 'please input the VIP ID'
|
||||
})
|
||||
return
|
||||
}
|
||||
if (customerData.value.nickname === '') {
|
||||
showToast({
|
||||
message: 'please input the nickname'
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
createCustomer({
|
||||
nickname: customerData.value.nickname,
|
||||
vipId: customerData.value.vipId
|
||||
} as CreateCustomerParams).then((res) => {
|
||||
showToast({
|
||||
message: 'Customer created successfully'
|
||||
})
|
||||
handleBack()
|
||||
MyEvent.emit('update-customer-list')
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -118,15 +142,16 @@ const handleShowPopup = (flag: Boolean) => {
|
||||
}
|
||||
|
||||
const handleSelectCustomer = (value) => {
|
||||
console.log(value)
|
||||
// if (selected) {
|
||||
// customerData.value.nickname = selected.nickname
|
||||
// }
|
||||
if (value) {
|
||||
customerData.value.nickname = value.name
|
||||
}
|
||||
}
|
||||
|
||||
const handleBack = (e?: Event) => {
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
if (e) {
|
||||
e.stopPropagation()
|
||||
e.preventDefault()
|
||||
}
|
||||
if (pageMode.value !== 'entry') {
|
||||
pageMode.value = 'entry'
|
||||
customerData.value = {
|
||||
|
||||
Reference in New Issue
Block a user