diff --git a/src/store/index.ts b/src/store/index.ts index 2f977725..923c6f0b 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -7,6 +7,7 @@ import UserHabit from './userHabit/userHabit' import Workspace from './workspace/workspace' import Guide from './guide/guide' import adminPage from './adminPage/adminPage' +import seller from './seller/index' export interface RootState{ } @@ -41,5 +42,6 @@ export default createStore({ Workspace, Guide, adminPage, + seller, } }) diff --git a/src/store/seller/index.d.ts b/src/store/seller/index.d.ts new file mode 100644 index 00000000..3febdb11 --- /dev/null +++ b/src/store/seller/index.d.ts @@ -0,0 +1,6 @@ +export const ApplyStatus = { + Null: null,// 未申请过 + Pending: 0,// 已提交, 待审核 + Approved: 1,// 审核通过 + Rejected: 2,// 审核拒绝 +} \ No newline at end of file diff --git a/src/store/seller/index.ts b/src/store/seller/index.ts new file mode 100644 index 00000000..2c72e7ec --- /dev/null +++ b/src/store/seller/index.ts @@ -0,0 +1,40 @@ +import { Module } from 'vuex' +import { RootState } from '../index' +import i18n from "@/lang/index"; +import { Https } from '@/tool/https' +import { ApplyStatus } from "./index.d" + +import store from '../index' +interface Seller { + isSeller: boolean, + applyStatus: number, +} + +const seller: Module = { + namespaced: true, + state: { + isSeller: false, + applyStatus: null, + }, + mutations: { + set_isSeller(state: Seller, value: boolean) { + state.isSeller = value + }, + set_applyStatus(state: Seller, value: number) { + state.applyStatus = value + if (value == ApplyStatus.Approved) { + state.isSeller = true + } + }, + }, + + actions: { + get_isSeller({ commit }) { + Https.axiosGet(Https.httpUrls.checkSellerDesigner).then(rv => { + commit('set_isSeller', !!rv) + }) + }, + } +} + +export default seller \ No newline at end of file diff --git a/src/tool/https.js b/src/tool/https.js index 3cfbfa8e..517776d9 100644 --- a/src/tool/https.js +++ b/src/tool/https.js @@ -475,6 +475,10 @@ export const Https = { // 卖家端接口 checkSellerDesigner: '/seller/designer/check', // 检查卖家是否为设计师 + getSellerApplyStatus: '/seller/designer/apply/status', // 获取卖家申请状态 + submitSellerApply: '/seller/designer/apply', // 提交卖家申请 + getSellerOrderSummary: '/seller/order/summary', // 获取卖家订单数据总览 + getSellerOrderList: '/seller/order/page', // 获取卖家订单列表 }, diff --git a/src/views/HomeMain.vue b/src/views/HomeMain.vue index 99511844..d5f9a7a7 100644 --- a/src/views/HomeMain.vue +++ b/src/views/HomeMain.vue @@ -373,11 +373,11 @@ {{ $t('Header.ViewOrders') }} -
+
{{ $t('Header.BecomeSeller') }}
-
+
{{ $t('Header.SellerDashboard') }} @@ -1073,9 +1073,13 @@ export default defineComponent({ } } + const isSeller = computed(() => { + return store.state.seller.isSeller + }) return { store, userDetail, + isSeller, t, ...toRefs(homeMainData), ...toRefs(historyData), @@ -1150,6 +1154,7 @@ export default defineComponent({ reject() }) }) + this.store.dispatch('seller/get_isSeller')//获取是否是卖家 let isMurmur = getCookie('isMurmur') //获取是否是试用用户 this.isMurmur = JSON.parse(isMurmur) if (this.userDetail.userId && this.userDetail.userId > -1) { @@ -1215,7 +1220,6 @@ export default defineComponent({ let payOrder = this.$refs.payOrder payOrder.init(orderId) } - this.getCheckSellerDesigner() }, methods: { setTask(data) { @@ -1379,21 +1383,6 @@ export default defineComponent({ this.store.commit('set_dataLoading', false) }) }, - //获取是否为卖家 - getCheckSellerDesigner() { - const config = { - params: { - userId: this.userDetail.userId - } - } - Https.axiosGet(Https.httpUrls.checkSellerDesigner, config).then(rv => { - if (rv) { - console.log(rv) - return rv - } - return null - }) - }, setLocale(v) { // 同步更新 localStorage 中的 loginLanguage if (v) { diff --git a/src/views/SellerDashboard/BecomeSeller/index.vue b/src/views/SellerDashboard/BecomeSeller/index.vue index 3b738b49..d651beb0 100644 --- a/src/views/SellerDashboard/BecomeSeller/index.vue +++ b/src/views/SellerDashboard/BecomeSeller/index.vue @@ -5,8 +5,8 @@ tip="Join the Stylish Parade and start selling your design work" />
- - + +
@@ -16,7 +16,20 @@ import sellerHeader from "../seller-header.vue" import sellerReview from "./sellerReview.vue" import sellerApply from "./sellerApply.vue" - const isSubmit = ref(false) + import { Https } from "@/tool/https" + import { useStore } from "vuex" + import { ApplyStatus } from "@/store/seller/index.d" + const store = useStore() + const applyStatus = computed(() => store.state.seller.applyStatus) + const onSubmit = () => store.commit("seller/set_applyStatus", ApplyStatus.Pending) + const getSellerApplyStatus = () => { + store.commit("set_loading", true) + Https.axiosGet(Https.httpUrls.getSellerApplyStatus).then((res) => { + store.commit("set_loading", false) + store.commit("seller/set_applyStatus", res) + }) + } + getSellerApplyStatus()