Compare commits
No commits in common. "6ec8c46c55d098552933e944631d5af6fbf2953c" and "49f908b1741acbb5db4c8c699c64fbda00c14eed" have entirely different histories.
6ec8c46c55
...
49f908b174
@ -7,17 +7,3 @@ export async function senCode(data) {
|
|||||||
body: data,
|
body: data,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export async function userLogin(data) {
|
|
||||||
const http = getHttp()
|
|
||||||
return await http('/api/v1/m/user/login', {
|
|
||||||
method: 'POST',
|
|
||||||
body: data,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
export async function userUpdate(data) {
|
|
||||||
const http = getHttp()
|
|
||||||
return await http('/api/v1/m/user/update', {
|
|
||||||
method: 'POST',
|
|
||||||
body: data,
|
|
||||||
})
|
|
||||||
}
|
|
@ -1,16 +0,0 @@
|
|||||||
import { getHttp } from '~/api/http.js'
|
|
||||||
|
|
||||||
export async function artworkList(data) {
|
|
||||||
const http = getHttp()
|
|
||||||
return await http('/api/v1/m/auction/default/artwork/list', {
|
|
||||||
method: 'POST',
|
|
||||||
body: data,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
export async function defaultDetail(data) {
|
|
||||||
const http = getHttp()
|
|
||||||
return await http('/api/v1/m/auction/default/detail', {
|
|
||||||
method: 'POST',
|
|
||||||
body: data,
|
|
||||||
})
|
|
||||||
}
|
|
@ -2,7 +2,6 @@
|
|||||||
import { useRuntimeConfig } from '#app'
|
import { useRuntimeConfig } from '#app'
|
||||||
import { ofetch } from 'ofetch'
|
import { ofetch } from 'ofetch'
|
||||||
import {message} from '@/components/x-message/useMessage.js'
|
import {message} from '@/components/x-message/useMessage.js'
|
||||||
import {authStore} from "@/stores/auth/index.js";
|
|
||||||
let httpStatusErrorHandler
|
let httpStatusErrorHandler
|
||||||
|
|
||||||
let http
|
let http
|
||||||
@ -13,22 +12,25 @@ export function setupHttp() {
|
|||||||
|
|
||||||
const config = useRuntimeConfig()
|
const config = useRuntimeConfig()
|
||||||
const baseURL = config.public.NUXT_PUBLIC_API_BASE
|
const baseURL = config.public.NUXT_PUBLIC_API_BASE
|
||||||
const {token}= authStore()
|
|
||||||
http = ofetch.create({
|
http = ofetch.create({
|
||||||
baseURL,
|
baseURL,
|
||||||
headers: { 'Content-Type': 'application/json' },
|
headers: { 'Content-Type': 'application/json' },
|
||||||
async onRequest({ options }) {
|
async onRequest({ options }) {
|
||||||
|
const token = localStorage.getItem('token')
|
||||||
|
|
||||||
options.headers = {
|
options.headers = {
|
||||||
...options.headers,
|
...options.headers,
|
||||||
Authorization:token.value
|
...(token && { Authorization: token }),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async onResponse({ response }) {
|
async onResponse({ response }) {
|
||||||
if (response._data.status===1){
|
if (response._data.status===1){
|
||||||
message.error(response._data.msg)
|
message.warning(response._data.msg)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async onResponseError({ response }) {
|
async onResponseError({ response }) {
|
||||||
|
console.log('error错误')
|
||||||
const { message } = response._data
|
const { message } = response._data
|
||||||
if (Array.isArray(message)) {
|
if (Array.isArray(message)) {
|
||||||
message.forEach((item) => {
|
message.forEach((item) => {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { useAppHeaderRouteNames as routeWhiteList } from '~/config'
|
import { useAppHeaderRouteNames as routeWhiteList } from '~/config'
|
||||||
import { homeStore } from "@/stores/goods/index.js";
|
import { homeStore } from "@/stores/home/index.js";
|
||||||
const { fullLive } = homeStore()
|
const { fullLive } = homeStore()
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
@ -40,7 +40,7 @@ const showLeftArrow = computed(() => route.name && routeWhiteList.includes(route
|
|||||||
placeholder clickable fixed
|
placeholder clickable fixed
|
||||||
@click-left="onBack"
|
@click-left="onBack"
|
||||||
>
|
>
|
||||||
<template #title v-if="route.meta.i18n==='menu.goods'">
|
<template #title v-if="route.meta.i18n==='menu.home'">
|
||||||
|
|
||||||
<div class="flex flex-col items-center justify-center">
|
<div class="flex flex-col items-center justify-center">
|
||||||
<div class="text-#000000 text-17px mb-5px font-600">{{ title }}</div>
|
<div class="text-#000000 text-17px mb-5px font-600">{{ title }}</div>
|
||||||
|
@ -7,7 +7,7 @@ By default, `default.vue` will be used unless an alternative is specified in the
|
|||||||
```vue
|
```vue
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
definePageMeta({
|
definePageMeta({
|
||||||
layout: 'goods',
|
layout: 'home',
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
```
|
```
|
||||||
|
@ -8,6 +8,6 @@
|
|||||||
</main>
|
</main>
|
||||||
</template>
|
</template>
|
||||||
<script setup >
|
<script setup >
|
||||||
import { homeStore } from "@/stores/goods/index.js";
|
import { homeStore } from "@/stores/home/index.js";
|
||||||
const { fullLive } = homeStore()
|
const { fullLive } = homeStore()
|
||||||
</script>
|
</script>
|
@ -1,15 +0,0 @@
|
|||||||
<script setup>
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div class="px-16px pt-14px">
|
|
||||||
<div class="text-#575757 text-14px">
|
|
||||||
这里是后台富文本配置的说明,啊即可打开三等奖撒度老师的湿答答是快乐的阿四大皆空
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
|
|
||||||
</style>
|
|
@ -16,7 +16,7 @@
|
|||||||
<div
|
<div
|
||||||
class="absolute left-[8px] top-[8px] h-[17px] w-[45px] flex items-center justify-center bg-[#2b53ac] text-[12px] text-[#fff]"
|
class="absolute left-[8px] top-[8px] h-[17px] w-[45px] flex items-center justify-center bg-[#2b53ac] text-[12px] text-[#fff]"
|
||||||
>
|
>
|
||||||
LOT{{ item.index+1 }}
|
LOT{{ index + 1 }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pt-[8px]">
|
<div class="pt-[8px]">
|
||||||
@ -39,11 +39,7 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
items: Array,
|
items: Array
|
||||||
colIndex: {
|
|
||||||
type: Number,
|
|
||||||
default: 0
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const emit = defineEmits(['openShow']);
|
const emit = defineEmits(['openShow']);
|
||||||
|
@ -27,7 +27,7 @@ const openShow = () => {
|
|||||||
<div
|
<div
|
||||||
class="absolute left-[8px] top-[8px] h-[17px] w-[45px] flex items-center justify-center bg-[#2b53ac] text-[12px] text-[#fff]"
|
class="absolute left-[8px] top-[8px] h-[17px] w-[45px] flex items-center justify-center bg-[#2b53ac] text-[12px] text-[#fff]"
|
||||||
>
|
>
|
||||||
LOT{{ item.index + 1 }}
|
LOT{{ index + 1 }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pt-[8px]">
|
<div class="pt-[8px]">
|
||||||
|
@ -2,10 +2,12 @@
|
|||||||
import {useRect} from '@vant/use';
|
import {useRect} from '@vant/use';
|
||||||
import LiveRoom from '@/pages/LiveRoom/index.client.vue';
|
import LiveRoom from '@/pages/LiveRoom/index.client.vue';
|
||||||
import itemDetail from '@/components/itemDetail/index.vue';
|
import itemDetail from '@/components/itemDetail/index.vue';
|
||||||
import {homeStore} from "@/stores/goods/index.js";
|
import {homeStore} from "@/stores/home/index.js";
|
||||||
import Column from './components/Column/index.vue'
|
import Column from './components/Column/index.vue'
|
||||||
|
|
||||||
const {fullLive} = homeStore();
|
const {fullLive} = homeStore();
|
||||||
|
|
||||||
|
|
||||||
definePageMeta({
|
definePageMeta({
|
||||||
layout: 'default',
|
layout: 'default',
|
||||||
i18n: 'menu.home',
|
i18n: 'menu.home',
|
||||||
@ -19,17 +21,17 @@ const show = ref(false);
|
|||||||
const showHeight = ref('');
|
const showHeight = ref('');
|
||||||
const list = ref([{
|
const list = ref([{
|
||||||
image: 'https://e-cdn.fontree.cn/fonchain-main/prod/file/default/setting/637d95b4-2ae9-4a74-bd60-a3a9d2ca2ca0.png',
|
image: 'https://e-cdn.fontree.cn/fonchain-main/prod/file/default/setting/637d95b4-2ae9-4a74-bd60-a3a9d2ca2ca0.png',
|
||||||
title: '张天赐 | 日出而作,日落而息1',
|
title: '张天赐 | 日出而作,日落而息',
|
||||||
startingPrice: 'RMB 1,000',
|
startingPrice: 'RMB 1,000',
|
||||||
transactionPrice: 'RMB 10,000',
|
transactionPrice: 'RMB 10,000',
|
||||||
}, {
|
}, {
|
||||||
image: 'https://e-cdn.fontree.cn/fonchain-main/prod/file/default/setting/f7b65e23-ce21-41b4-8e58-9e6dc6950727.png',
|
image: 'https://e-cdn.fontree.cn/fonchain-main/prod/file/default/setting/f7b65e23-ce21-41b4-8e58-9e6dc6950727.png',
|
||||||
title: '张天赐 | 日出而作,日落而息2',
|
title: '张天赐 | 日出而作,日落而息',
|
||||||
startingPrice: 'RMB 1,000',
|
startingPrice: 'RMB 1,000',
|
||||||
transactionPrice: '',
|
transactionPrice: '',
|
||||||
}, {
|
}, {
|
||||||
image: 'https://e-cdn.fontree.cn/fonchain-main/prod/file/default/setting/41eceb23-d168-4049-ae8e-48c5328b192f.png',
|
image: 'https://e-cdn.fontree.cn/fonchain-main/prod/file/default/setting/41eceb23-d168-4049-ae8e-48c5328b192f.png',
|
||||||
title: '张天赐 | 日出而作,日落而息3',
|
title: '张天赐 | 日出而作,日落而息',
|
||||||
startingPrice: 'RMB 1,000',
|
startingPrice: 'RMB 1,000',
|
||||||
transactionPrice: '',
|
transactionPrice: '',
|
||||||
}, {
|
}, {
|
||||||
@ -73,8 +75,7 @@ const onRefresh = () => {
|
|||||||
const columns = computed(() => {
|
const columns = computed(() => {
|
||||||
const result = [[], []];
|
const result = [[], []];
|
||||||
list.value.forEach((item, index) => {
|
list.value.forEach((item, index) => {
|
||||||
// 为每个项目添加一个 index 属性
|
result[index % 2].push(item);
|
||||||
result[index % 2].push({ ...item, index });
|
|
||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
});
|
});
|
||||||
@ -107,7 +108,7 @@ const changeLive = () => {
|
|||||||
<van-pull-refresh>
|
<van-pull-refresh>
|
||||||
<van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="loadData">
|
<van-list v-model:loading="loading" :finished="finished" finished-text="没有更多了" @load="loadData">
|
||||||
<div class="w-full flex gap-[16px]">
|
<div class="w-full flex gap-[16px]">
|
||||||
<Column v-for="(column, colIndex) in columns" :key="colIndex" :colIndex="colIndex" :items="column" @openShow="openShow"/>
|
<Column v-for="(column, colIndex) in columns" :key="colIndex" :items="column" @openShow="openShow"/>
|
||||||
</div>
|
</div>
|
||||||
</van-list>
|
</van-list>
|
||||||
</van-pull-refresh>
|
</van-pull-refresh>
|
||||||
|
@ -2,9 +2,8 @@
|
|||||||
import { useRouter, useRoute } from 'vue-router';
|
import { useRouter, useRoute } from 'vue-router';
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import countryCode from '../countryRegion/data/index.js'
|
import countryCode from '../countryRegion/data/index.js'
|
||||||
import {senCode, userLogin} from "@/api/auth/index.js";
|
import {senCode} from "@/api/auth/index.js";
|
||||||
import {authStore} from "~/stores/auth/index.js";
|
|
||||||
const {userInfo,token}= authStore()
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const { locale } = useI18n()
|
const { locale } = useI18n()
|
||||||
@ -31,8 +30,8 @@ const startCountdown=()=> {
|
|||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
const countdown = ref(0);
|
const countdown = ref(0);
|
||||||
const phoneNum = ref('17630920520')
|
const phoneNum = ref('')
|
||||||
const code = ref('655119')
|
const code = ref('')
|
||||||
const pane = ref(0)
|
const pane = ref(0)
|
||||||
const showKeyboard = ref(false);
|
const showKeyboard = ref(false);
|
||||||
// 根据语言获取默认国家
|
// 根据语言获取默认国家
|
||||||
@ -79,43 +78,28 @@ watch(locale, () => {
|
|||||||
})
|
})
|
||||||
const vanSwipeRef=ref(null)
|
const vanSwipeRef=ref(null)
|
||||||
const getCode =async () => {
|
const getCode =async () => {
|
||||||
// loadingRef.value.loading1=true
|
loadingRef.value.loading1=true
|
||||||
// const res=await senCode({
|
const res=await senCode({
|
||||||
// telNum:phoneNum.value,
|
telNum:phoneNum.value,
|
||||||
// zone:selectedZone.value
|
zone:selectedZone.value
|
||||||
// })
|
})
|
||||||
// loadingRef.value.loading1=false
|
loadingRef.value.loading1=false
|
||||||
// if (res.status===0){
|
if (res.status===0){
|
||||||
// pane.value = 1
|
|
||||||
// vanSwipeRef.value?.swipeTo(pane.value)
|
|
||||||
// showKeyboard.value=true
|
|
||||||
// startCountdown();
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
pane.value = 1
|
pane.value = 1
|
||||||
vanSwipeRef.value?.swipeTo(pane.value)
|
vanSwipeRef.value?.swipeTo(pane.value)
|
||||||
showKeyboard.value=true
|
showKeyboard.value=true
|
||||||
startCountdown();
|
startCountdown();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
const goBack = () => {
|
const goBack = () => {
|
||||||
code.value = ''
|
code.value = ''
|
||||||
pane.value = 0
|
pane.value = 0
|
||||||
vanSwipeRef.value?.swipeTo(pane.value)
|
vanSwipeRef.value?.swipeTo(pane.value)
|
||||||
}
|
}
|
||||||
const goLogin =async () => {
|
const goLogin = () => {
|
||||||
const res=await userLogin({
|
|
||||||
telNum:phoneNum.value,
|
|
||||||
zone:selectedZone.value,
|
|
||||||
code:code.value
|
|
||||||
})
|
|
||||||
if (res.status===0){
|
|
||||||
userInfo.value=res.data.accountInfo
|
|
||||||
token.value=res.data.token
|
|
||||||
if (!res.data.isReal){
|
|
||||||
router.push('/realAuth');
|
router.push('/realAuth');
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -1,65 +0,0 @@
|
|||||||
<script setup>
|
|
||||||
import {authStore} from "@/stores/auth/index.js";
|
|
||||||
|
|
||||||
const props = defineProps({
|
|
||||||
type: {
|
|
||||||
type: Number,
|
|
||||||
default: 0
|
|
||||||
}
|
|
||||||
})
|
|
||||||
const {userInfo}= authStore()
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<template>
|
|
||||||
<div class="text-#1A1A1A text-16px">
|
|
||||||
<template v-if="type===0">
|
|
||||||
<div class="flex mb-20px" >
|
|
||||||
<div class="mr-10px">姓名:</div>
|
|
||||||
<div>{{userInfo.realName}}</div>
|
|
||||||
</div>
|
|
||||||
<div class="flex mb-20px">
|
|
||||||
<div class="mr-10px">性别:</div>
|
|
||||||
<div>{{userInfo.sex}}</div>
|
|
||||||
</div>
|
|
||||||
<div class="flex mb-20px">
|
|
||||||
<div class="mr-10px">出生日期:</div>
|
|
||||||
<div>{{userInfo.birthDate}}</div>
|
|
||||||
</div>
|
|
||||||
<div class="flex">
|
|
||||||
<div class="mr-10px">身份证号:</div>
|
|
||||||
<div>{{userInfo.idNum}}</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
<template v-if="type===1">
|
|
||||||
<div class="flex mb-20px" >
|
|
||||||
<div class="mr-10px">姓名:</div>
|
|
||||||
<div>{{userInfo.realName}}</div>
|
|
||||||
</div>
|
|
||||||
<div class="flex mb-20px">
|
|
||||||
<div class="mr-10px">性别:</div>
|
|
||||||
<div>{{userInfo.sex}}</div>
|
|
||||||
</div>
|
|
||||||
<div class="flex mb-20px">
|
|
||||||
<div class="mr-10px">出生日期:</div>
|
|
||||||
<div>{{userInfo.birthDate}}</div>
|
|
||||||
</div>
|
|
||||||
<div class="flex">
|
|
||||||
<div class="mr-10px">家庭住址:</div>
|
|
||||||
<div>{{userInfo.idNum}}</div>
|
|
||||||
</div>
|
|
||||||
<div class="flex">
|
|
||||||
<div class="mr-10px">所属银行:</div>
|
|
||||||
<div>{{userInfo.idNum}}</div>
|
|
||||||
</div>
|
|
||||||
<div class="flex">
|
|
||||||
<div class="mr-10px">银行卡号码:</div>
|
|
||||||
<div>{{userInfo.idNum}}</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,78 +1,34 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { useRouter, useRoute } from 'vue-router';
|
import { useRouter, useRoute } from 'vue-router';
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n'
|
||||||
import {userUpdate} from "~/api/auth/index.js";
|
|
||||||
import {message} from '@/components/x-message/useMessage.js'
|
|
||||||
import detail from './components/detail.vue'
|
|
||||||
import {authStore} from "~/stores/auth/index.js";
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const showPicker = ref(false);
|
const showPicker = ref(false);
|
||||||
const {userInfo}= authStore()
|
const pickerValue = ref([]);
|
||||||
|
const gender = ref('男')
|
||||||
|
const birthday = ref('')
|
||||||
const birthdayDate = ref([])
|
const birthdayDate = ref([])
|
||||||
const showBirthdayPicker = ref(false)
|
const showBirthdayPicker = ref(false)
|
||||||
const minDate = new Date(1950, 0, 1)
|
const minDate = new Date(1950, 0, 1)
|
||||||
const maxDate = new Date(2025, 12, 31)
|
const maxDate = new Date(2025, 12, 31)
|
||||||
const active=ref(0)
|
|
||||||
const { t } = useI18n()
|
const { t } = useI18n()
|
||||||
const form=ref({
|
|
||||||
idNum: "",
|
const columns = computed(() => [
|
||||||
realName: "",
|
{ text: t('realAuth.male'), value: t('realAuth.male') },
|
||||||
sex:'',
|
{ text: t('realAuth.female'), value: t('realAuth.female') },
|
||||||
birthDate:'',
|
]);
|
||||||
userExtend: {
|
|
||||||
address: "",
|
|
||||||
bankName: "",
|
|
||||||
bankNo: ""
|
|
||||||
}
|
|
||||||
})
|
|
||||||
const form1=ref({
|
|
||||||
idNum:'',
|
|
||||||
realName:''
|
|
||||||
})
|
|
||||||
const columns=ref([
|
|
||||||
{ text: t('realAuth.male'), value: 1 },
|
|
||||||
{ text: t('realAuth.female'), value: 2 },
|
|
||||||
])
|
|
||||||
const onConfirm = ({ selectedValues, selectedOptions }) => {
|
const onConfirm = ({ selectedValues, selectedOptions }) => {
|
||||||
form.value.sex=selectedValues?.[0]
|
pickerValue.value = selectedValues
|
||||||
|
gender.value = selectedOptions[0].text
|
||||||
showPicker.value = false
|
showPicker.value = false
|
||||||
}
|
}
|
||||||
const onBirthdayConfirm = (value) => {
|
const onBirthdayConfirm = (value) => {
|
||||||
form.value.birthDate=value.selectedValues.join('-')
|
birthdayDate.value = value.selectedValues
|
||||||
|
birthday.value = value.selectedValues.join('-')
|
||||||
showBirthdayPicker.value = false
|
showBirthdayPicker.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
function isFormComplete(obj) {
|
|
||||||
for (const key in obj) {
|
|
||||||
if (typeof obj[key] === 'object' && obj[key] !== null) {
|
|
||||||
if (!isFormComplete(obj[key])) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} else if (obj[key] === "") {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
const statusCode=ref(0)
|
|
||||||
const confirm=async ()=>{
|
|
||||||
const thatForm=active.value===0?form1.value:form.value
|
|
||||||
if (isFormComplete(thatForm)){
|
|
||||||
const res=await userUpdate(thatForm)
|
|
||||||
if (res.status===0){
|
|
||||||
userInfo.value=res.data
|
|
||||||
message.success('提交成功')
|
|
||||||
statusCode.value=1
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
message.error('请填写身份证相关信息')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const goHome=()=>{
|
|
||||||
router.push('/')
|
|
||||||
}
|
|
||||||
definePageMeta({
|
definePageMeta({
|
||||||
title: '实名认证',
|
title: '实名认证',
|
||||||
i18n: 'realAuth.title',
|
i18n: 'realAuth.title',
|
||||||
@ -80,21 +36,27 @@ definePageMeta({
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="px-[31px] bg-[url('@/static/images/asdfsdd.png')] bg-cover w-100vw flex-grow-1 pt-[46px] relative flex flex-col">
|
<div class="px-[31px] bg-#fff w-100vw h-100vh pt-[46px]">
|
||||||
<van-tabs v-if="statusCode===0" v-model:active="active" animated swipeable>
|
<van-tabs animated swipeable>
|
||||||
<van-tab :title="$t('realAuth.cnTab')" class="pt-[80px]">
|
<van-tab :title="$t('realAuth.cnTab')" class="pt-[80px]">
|
||||||
<template v-if="statusCode===0">
|
|
||||||
<div class="text-[#BDBDBD] text-[16px] mb-[34px]">{{ $t('realAuth.cnTabDesc') }}</div>
|
<div class="text-[#BDBDBD] text-[16px] mb-[34px]">{{ $t('realAuth.cnTabDesc') }}</div>
|
||||||
<div class="mb-[100px]">
|
<div class="mb-[100px]">
|
||||||
<div class="border-b-[1.7px] mt-[8px]">
|
<div class="border-b-[1.7px] mt-[8px]">
|
||||||
<van-field v-model="form1.idNum" :label="$t('realAuth.idCard')" clearable
|
<van-field :label="$t('realAuth.idCard')" clearable
|
||||||
:placeholder="$t('realAuth.idCardPlaceholder')"></van-field>
|
:placeholder="$t('realAuth.idCardPlaceholder')"></van-field>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b-[1.7px] mt-[8px]">
|
<div class="border-b-[1.7px] mt-[8px]">
|
||||||
<van-field v-model="form1.realName" :label="$t('realAuth.name')" clearable :placeholder="$t('realAuth.namePlaceholder')"></van-field>
|
<van-field :label="$t('realAuth.name')" clearable :placeholder="$t('realAuth.namePlaceholder')"></van-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
<div class="flex justify-between">
|
||||||
|
<van-button style="width: 151px;height: 48px" color="#E9F1F8">
|
||||||
|
<div class="text-#2B53AC text-16px">{{ $t('realAuth.cancel') }}</div>
|
||||||
|
</van-button>
|
||||||
|
<van-button style="width: 151px;height: 48px" color="#2B53AC">
|
||||||
|
<div class="text-#FFFFFF text-16px">{{ $t('realAuth.confirm') }}</div>
|
||||||
|
</van-button>
|
||||||
|
</div>
|
||||||
</van-tab>
|
</van-tab>
|
||||||
<van-tab :title="$t('realAuth.otherTab')" class="pt-[80px]">
|
<van-tab :title="$t('realAuth.otherTab')" class="pt-[80px]">
|
||||||
<div class="text-[#BDBDBD] text-[16px] mb-[34px]">{{ $t('realAuth.otherTabDesc') }}</div>
|
<div class="text-[#BDBDBD] text-[16px] mb-[34px]">{{ $t('realAuth.otherTabDesc') }}</div>
|
||||||
@ -103,49 +65,39 @@ definePageMeta({
|
|||||||
<van-field :label="$t('realAuth.name')" clearable :placeholder="$t('realAuth.namePlaceholder')"></van-field>
|
<van-field :label="$t('realAuth.name')" clearable :placeholder="$t('realAuth.namePlaceholder')"></van-field>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b-[1.7px] mt-[8px]">
|
<div class="border-b-[1.7px] mt-[8px]">
|
||||||
<van-field :modelValue="columns.find(x=>x.value===form.sex)?.text" is-link readonly name="picker" :label="$t('realAuth.gender')"
|
<van-field v-model="gender" is-link readonly name="picker" :label="$t('realAuth.gender')"
|
||||||
@click="showPicker = true" />
|
@click="showPicker = true" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b-[1.7px] mt-[8px]">
|
<div class="border-b-[1.7px] mt-[8px]">
|
||||||
<van-field v-model="form.birthDate" is-link readonly name="birthdayPicker" :label="$t('realAuth.birthday')"
|
<van-field v-model="birthday" is-link readonly name="birthdayPicker" :label="$t('realAuth.birthday')"
|
||||||
:placeholder="$t('realAuth.birthdayPlaceholder')" @click="showBirthdayPicker = true" />
|
:placeholder="$t('realAuth.birthdayPlaceholder')" @click="showBirthdayPicker = true" />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b-[1.7px] mt-[8px]">
|
<div class="border-b-[1.7px] mt-[8px]">
|
||||||
<van-field v-model="form.userExtend.address" :label="$t('realAuth.adress')" clearable
|
<van-field :label="$t('realAuth.adress')" clearable
|
||||||
:placeholder="$t('realAuth.adressPlaceholder')"></van-field>
|
:placeholder="$t('realAuth.adressPlaceholder')"></van-field>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b-[1.7px] mt-[8px]">
|
<div class="border-b-[1.7px] mt-[8px]">
|
||||||
<van-field v-model="form.userExtend.bankName" :label="$t('realAuth.bank')" clearable :placeholder="$t('realAuth.bankPlaceholder')"></van-field>
|
<van-field :label="$t('realAuth.bank')" clearable :placeholder="$t('realAuth.bankPlaceholder')"></van-field>
|
||||||
</div>
|
</div>
|
||||||
<div class="border-b-[1.7px] mt-[8px]">
|
<div class="border-b-[1.7px] mt-[8px]">
|
||||||
<van-field v-model="form.userExtend.bankNo" :label="$t('realAuth.bankCard')" clearable
|
<van-field :label="$t('realAuth.bankCard')" clearable
|
||||||
:placeholder="$t('realAuth.bankCardPlaceholder')"></van-field>
|
:placeholder="$t('realAuth.bankCardPlaceholder')"></van-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="flex justify-between mt-[100px]">
|
||||||
</van-tab>
|
|
||||||
</van-tabs>
|
|
||||||
<van-tabs v-else-if="statusCode===1" v-model:active="active" animated swipeable>
|
|
||||||
<van-tab :title="$t('realAuth.cnTab')" class="pt-[80px]">
|
|
||||||
<detail :type="active"></detail>
|
|
||||||
</van-tab>
|
|
||||||
<van-tab :title="$t('realAuth.otherTab')" class="pt-[80px]">
|
|
||||||
<detail :type="active"></detail>
|
|
||||||
</van-tab>
|
|
||||||
</van-tabs>
|
|
||||||
<div class="flex justify-between" v-if="statusCode===0">
|
|
||||||
<van-button style="width: 151px;height: 48px" color="#E9F1F8">
|
<van-button style="width: 151px;height: 48px" color="#E9F1F8">
|
||||||
<div class="text-#2B53AC text-16px">{{ $t('realAuth.cancel') }}</div>
|
<div class="text-#2B53AC text-16px">{{ $t('realAuth.cancel') }}</div>
|
||||||
</van-button>
|
</van-button>
|
||||||
<van-button @click="confirm" style="width: 151px;height: 48px" color="#2B53AC">
|
<van-button style="width: 151px;height: 48px" color="#2B53AC">
|
||||||
<div class="text-#FFFFFF text-16px">{{ $t('realAuth.confirm') }}</div>
|
<div class="text-#FFFFFF text-16px">{{ $t('realAuth.confirm') }}</div>
|
||||||
</van-button>
|
</van-button>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="mt-auto pb-94px">
|
|
||||||
<van-button color="#E9F1F8" @click="goHome" style="color: #2B53AC;font-weight: 600" block>去首页</van-button>
|
|
||||||
</div>
|
</div>
|
||||||
|
</van-tab>
|
||||||
|
</van-tabs>
|
||||||
<van-popup v-model:show="showPicker" destroy-on-close position="bottom">
|
<van-popup v-model:show="showPicker" destroy-on-close position="bottom">
|
||||||
<van-picker :columns="columns" @confirm="onConfirm" @cancel="showPicker = false" />
|
<van-picker :columns="columns" :model-value="pickerValue" @confirm="onConfirm" @cancel="showPicker = false" />
|
||||||
</van-popup>
|
</van-popup>
|
||||||
<van-popup v-model:show="showBirthdayPicker" destroy-on-close position="bottom">
|
<van-popup v-model:show="showBirthdayPicker" destroy-on-close position="bottom">
|
||||||
<van-date-picker v-model="birthdayDate" :min-date="minDate" :max-date="maxDate"
|
<van-date-picker v-model="birthdayDate" :min-date="minDate" :max-date="maxDate"
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
import { createGlobalState } from '@vueuse/core'
|
import { createGlobalState } from '@vueuse/core'
|
||||||
export const homeStore = createGlobalState(() => {
|
export const homeStore = createGlobalState(() => {
|
||||||
const actionDetails=ref({})
|
|
||||||
const fullLive=ref(false)
|
const fullLive=ref(false)
|
||||||
const itemList = ref([{
|
const list = ref([{
|
||||||
image: 'https://e-cdn.fontree.cn/fonchain-main/prod/file/default/setting/637d95b4-2ae9-4a74-bd60-a3a9d2ca2ca0.png',
|
image: 'https://e-cdn.fontree.cn/fonchain-main/prod/file/default/setting/637d95b4-2ae9-4a74-bd60-a3a9d2ca2ca0.png',
|
||||||
title: '张天赐 | 日出而作,日落而息',
|
title: '张天赐 | 日出而作,日落而息',
|
||||||
startingPrice: 'RMB 1,000',
|
startingPrice: 'RMB 1,000',
|
||||||
@ -43,10 +42,8 @@ export const homeStore = createGlobalState(() => {
|
|||||||
startingPrice: 'RMB 1,000',
|
startingPrice: 'RMB 1,000',
|
||||||
transactionPrice: 'RMB 10,000',
|
transactionPrice: 'RMB 10,000',
|
||||||
}])
|
}])
|
||||||
|
|
||||||
return{
|
return{
|
||||||
actionDetails,
|
list,
|
||||||
itemList,
|
|
||||||
fullLive
|
fullLive
|
||||||
}
|
}
|
||||||
})
|
})
|
Loading…
Reference in New Issue
Block a user