From fd3acb28d3907caec733cbf270e687859902727c Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期一, 11 七月 2022 18:21:09 +0800
Subject: [PATCH] user order count
---
src/views/index/index.vue | 304 ++++++++++++++++++++++++--------------------------
1 files changed, 146 insertions(+), 158 deletions(-)
diff --git a/src/views/index/index.vue b/src/views/index/index.vue
index 179814f..2157312 100644
--- a/src/views/index/index.vue
+++ b/src/views/index/index.vue
@@ -3,12 +3,21 @@
<!-- 琛ㄥご -->
<IndexHeader></IndexHeader>
<!-- 杞挱鍥� -->
- <Banner ref="Banner"></Banner>
+ <Banner ref="Banner" :bannerList="bannerList"></Banner>
+
+ <div class="bannerLink" @click="jump"></div>
<!-- 杞挱鍥炬帶鍒跺櫒 -->
<ul class="bannerControl">
- <li v-for="i in 4" :key="i" @click="toggleBanner(i)">
- <button class="inner" :class="{ active: activeBanner == i }"></button>
+ <li
+ v-for="(item, index) in bannerList"
+ :key="index"
+ @click="toggleBanner(index)"
+ >
+ <button
+ class="inner"
+ :class="{ active: activeBanner == index }"
+ ></button>
</li>
</ul>
@@ -17,7 +26,7 @@
<!-- 鎺ㄨ崘鍗$墖 -->
<commendCard :commendCardData="commendCardData"></commendCard>
<!-- 鐢ㄦ埛card -->
- <userCard></userCard>
+ <userCard :userCardArr="userCardArr"></userCard>
</div>
</div>
@@ -27,8 +36,8 @@
<div class="tabs">
<div
class="tabItem"
- :class="{ active: activeCommend === 0 }"
- @click="activeCommend = 0"
+ :class="{ active: activeCommend === 3 }"
+ @click="selecTab(3)"
>
<img src="/images/index/绠楁硶.png" alt="" />
<div class="label">绠楁硶</div>
@@ -36,8 +45,8 @@
<div
class="tabItem"
- :class="{ active: activeCommend === 1 }"
- @click="activeCommend = 1"
+ :class="{ active: activeCommend === 4 }"
+ @click="selecTab(4)"
>
<img src="/images/index/搴旂敤.png" alt="" />
<div class="label">搴旂敤</div>
@@ -46,7 +55,10 @@
</div>
<!-- tab鍐呭 -->
<div class="commendTabsContent">
- <commendContent :commendData="commendData"></commendContent>
+ <commendContent
+ :commendData="commendData"
+ @refresh="getRecommend"
+ ></commendContent>
</div>
<!-- 鐑棬浜у搧 -->
@@ -56,15 +68,27 @@
class="productItem"
v-for="(item, index) in productData"
:key="index"
- :class="{ short: item.type == 1 || item.type == 2 }"
+ :class="{ short: item.typeId == 4 || item.typeId == 1 }"
>
<productLeft :data="item"></productLeft>
- <rightRrid v-if="item.type == 0" :data="item"></rightRrid>
- <rightColumn v-if="item.type == 1" :data="item"></rightColumn>
- <rightForm v-if="item.type == 2" :data="item"></rightForm>
- <rightTabs v-if="item.type == 3" :data="item"></rightTabs>
+ <rightRrid v-if="item.typeId == 3" :data="item"></rightRrid>
+ <rightColumn v-if="item.typeId == 4" :data="item"></rightColumn>
+ <rightForm v-if="item.typeId == 1" :data="item"></rightForm>
+ <rightTabs v-if="item.typeId == 2" :data="item"></rightTabs>
+ </div>
+
+ <div
+ class="productItem"
+ v-for="(item, index) in productData1"
+ :key="index + '1'"
+ :class="{ short: item.typeId == 4 || item.typeId == 1 }"
+ >
+ <productLeft :data="item"></productLeft>
+ <rightForm v-if="item.typeId == 1" :data="item"></rightForm>
+ <rightTabs v-if="item.typeId == 2" :data="item"></rightTabs>
</div>
</div>
+
<Connect></Connect>
<!-- 椤靛熬 -->
@@ -86,6 +110,13 @@
import Connect from "@/components/Connect";
import Footer from "@/components/Footer";
+import {
+ getIndexPics,
+ getIndexModelRecommend,
+ getModelList,
+} from "@/api/product";
+import { getUserOrderInfo } from "@/api/order";
+
export default {
name: "Index",
components: {
@@ -102,7 +133,12 @@
Connect,
Footer,
},
-
+ created() {
+ this.getBanner();
+ this.getRecommend();
+ this.getModule();
+ this.getUserBuyInfo();
+ },
data() {
return {
commendCardData: [
@@ -125,141 +161,18 @@
router: "/trialCenter",
},
], //鎺ㄨ崘鍗$墖鏁版嵁
- activeBanner: 1, //閫変腑鐨刡anner
- activeCommend: 0, //閫変腑鐨勬帹鑽恡abs
- commendData: [
- {
- img: "/images/index/15鎴村彛缃�.png",
- title: "鎴村彛缃�",
- des: "瀵圭伀杞﹂┚椹惰埍鐨勭洃鎺ц棰戣繘琛屾娴嬶紝褰撻┚椹朵汉鍛樺嚭鐜拌洞浼忕幇璞℃椂锛屽皢缁撴灉璁板綍涓嬫潵",
- priceNew: "540.00",
- priceOld: "900.00",
- },
- {
- img: "/images/index/1浠板崸妫�娴�.png",
- title: "浠板崸妫�娴�",
- des: "瀵圭伀杞﹂┚椹惰埍鐨勭洃鎺ц棰戣繘琛屾娴嬶紝褰撻┚椹朵汉鍛樺嚭鐜拌洞浼忕幇璞℃椂锛屽皢缁撴灉璁板綍涓嬫潵",
- priceNew: "540.00",
- priceOld: "900.00",
- },
- {
- img: "/images/index/11婊炵暀.png",
- title: "婊炵暀",
- des: "瀵圭伀杞﹂┚椹惰埍鐨勭洃鎺ц棰戣繘琛屾娴嬶紝褰撻┚椹朵汉鍛樺嚭鐜拌洞浼忕幇璞℃椂锛屽皢缁撴灉璁板綍涓嬫潵",
- priceNew: "540.00",
- priceOld: "900.00",
- },
- {
- img: "/images/index/34璺屽��.png",
- title: "璺屽��",
- des: "瀵圭伀杞﹂┚椹惰埍鐨勭洃鎺ц棰戣繘琛屾娴嬶紝褰撻┚椹朵汉鍛樺嚭鐜拌洞浼忕幇璞℃椂锛屽皢缁撴灉璁板綍涓嬫潵",
- priceNew: "540.00",
- priceOld: "900.00",
- },
- ], //鎺ㄨ崘tab鐨勬暟鎹�
- productData: [
- {
- router: "/product",
- type: 0,
- img: "/images/index/AI鐖嗘.png",
- title: "AI鐖嗘",
- des: "绮惧績鎸戦�夌殑鐑棬绠楁硶鍙婂簲鐢紝鎬绘湁涓�娆鹃�傚悎浣�",
- product: [
- {
- icon: "/images/index/20鐫″矖.png",
- title: "鐫″矖",
- des: "瀵圭伀杞﹂┚椹惰埍鐨勭洃鎺ц棰戣繘琛屾娴嬶紝褰撻┚椹朵汉鍛樺嚭鐜拌洞浼忕幇璞℃椂锛屽皢缁撴灉璁板綍涓嬫潵",
- priceNew: "540.00",
- priceOld: "900.00",
- },
- {
- icon: "/images/index/13婊炵暀.png",
- title: "婊炵暀",
- des: "瀵圭伀杞﹂┚椹惰埍鐨勭洃鎺ц棰戣繘琛屾娴嬶紝褰撻┚椹朵汉鍛樺嚭鐜拌洞浼忕幇璞℃椂锛屽皢缁撴灉璁板綍涓嬫潵",
- priceNew: "540.00",
- priceOld: "900.00",
- },
- {
- icon: "/images/index/1浠板崸妫�娴�.png",
- title: "浠板崸妫�娴�",
- des: "瀵圭伀杞﹂┚椹惰埍鐨勭洃鎺ц棰戣繘琛屾娴嬶紝褰撻┚椹朵汉鍛樺嚭鐜拌洞浼忕幇璞℃椂锛屽皢缁撴灉璁板綍涓嬫潵",
- priceNew: "540.00",
- priceOld: "900.00",
- },
- {
- icon: "/images/index/34璺屽��.png",
- title: "璺屽��",
- des: "瀵圭伀杞﹂┚椹惰埍鐨勭洃鎺ц棰戣繘琛屾娴嬶紝褰撻┚椹朵汉鍛樺嚭鐜拌洞浼忕幇璞℃椂锛屽皢缁撴灉璁板綍涓嬫潵",
- priceNew: "540.00",
- priceOld: "900.00",
- },
- {
- icon: "/images/index/15鎴村彛缃�.png",
- title: "鎴村彛缃�",
- des: "瀵圭伀杞﹂┚椹惰埍鐨勭洃鎺ц棰戣繘琛屾娴嬶紝褰撻┚椹朵汉鍛樺嚭鐜拌洞浼忕幇璞℃椂锛屽皢缁撴灉璁板綍涓嬫潵",
- priceNew: "540.00",
- priceOld: "900.00",
- },
- {
- icon: "/images/index/28鐜╂墜鏈�.png",
- title: "鐜╂墜鏈�",
- des: "瀵圭伀杞﹂┚椹惰埍鐨勭洃鎺ц棰戣繘琛屾娴嬶紝褰撻┚椹朵汉鍛樺嚭鐜拌洞浼忕幇璞℃椂锛屽皢缁撴灉璁板綍涓嬫潵",
- priceNew: "540.00",
- priceOld: "900.00",
- },
- ],
- },
-
+ activeBanner: 0, //閫変腑鐨刡anner
+ activeCommend: 3, //閫変腑鐨勬帹鑽恡abs
+ commendData: [], //鎺ㄨ崘tab鐨勬暟鎹�
+ productData: [],
+ userCardArr: [],
+ productData1: [
{
router: "/",
- type: 1,
- img: "/images/index/绠$悊涓績.png",
- title: "绠$悊涓績",
- des: "鎬т环姣旇秴楂樼殑绠$悊涓績锛屽垰闇�浜у搧涓�閿喘榻愶紝涓嶄粎鐪侀挶杩樼渷蹇�",
- product: [
- {
- icon: "/images/index/姣斿搴撶鐞�.png",
- title: "姣斿搴撶鐞�",
- des: "瀵规墍鏈夎仈缃戠殑璁惧杩涜鍏ㄦ柟浣嶇鐞�",
- menu: [
- "鏀寔璁惧鐨勫熀鏈俊鎭�佺‖浠朵俊鎭�佽祫婧愭儏鍐点�佸畨瑁呯殑绠楁硶/搴旂敤绛夊姛鑳界洃绠�",
- "鏀寔瀵硅澶囪繘琛岄噸鍚�佺郴缁熸竻鐞嗙瓑鎿嶄綔",
- ],
- priceNew: "540.00",
- priceOld: "900.00",
- },
- {
- icon: "/images/index/鏁版嵁鎺ㄩ��.png",
- title: "鏁版嵁鎺ㄩ��",
- des: "瀵规墍鏈夎仈缃戠殑璁惧杩涜鍏ㄦ柟浣嶇鐞�",
- menu: [
- "鏀寔璁惧鐨勫熀鏈俊鎭�佺‖浠朵俊鎭�佽祫婧愭儏鍐点�佸畨瑁呯殑绠楁硶/搴旂敤绛夊姛鑳界洃绠�",
- "鏀寔瀵硅澶囪繘琛岄噸鍚�佺郴缁熸竻鐞嗙瓑鎿嶄綔",
- "鏀寔瀵硅澶囪繘琛岄噸鍚�佺郴缁熸竻鐞嗙瓑鎿嶄綔",
- ],
- priceNew: "540.00",
- priceOld: "900.00",
- },
- {
- icon: "/images/index/缁熻鏌ヨ.png",
- title: "缁熻鏌ヨ",
- des: "瀵规墍鏈夎仈缃戠殑璁惧杩涜鍏ㄦ柟浣嶇鐞�",
- menu: [
- "鏀寔璁惧鐨勫熀鏈俊鎭�佺‖浠朵俊鎭�佽祫婧愭儏鍐点�佸畨瑁呯殑绠楁硶/搴旂敤绛夊姛鑳界洃绠�",
- "鏀寔瀵硅澶囪繘琛岄噸鍚�佺郴缁熸竻鐞嗙瓑鎿嶄綔",
- ],
- priceNew: "540.00",
- priceOld: "900.00",
- },
- ],
- },
-
- {
- router: "/",
- type: 2,
- img: "/images/index/浜戞湇鍔�.png",
- title: "浜戞湇鍔�",
- des: "涓�閿喘涔帮紝寮�鍚疉I搴旂敤涔嬫梾",
+ typeId: 1,
+ pic: "/images/index/浜戞湇鍔�.png",
+ name: "浜戞湇鍔�",
+ desc: "涓�閿喘涔帮紝寮�鍚疉I搴旂敤涔嬫梾",
product: {
title: "AI-0",
menu: [
@@ -296,15 +209,17 @@
{
router: "/",
- type: 3,
- img: "/images/index/杈圭紭璁$畻璁惧.png",
- title: "杈圭紭璁$畻璁惧",
- des: "涓�绉嶉儴缃插湪杩戝満渚х殑楂樺彲鐢ㄧ殑杞‖涓�浣撲骇鍝侊紝鎻愬崌搴旂敤绋嬪簭鐨勫揩閫熷搷搴旇兘鍔涖�佽妭鐪佸甫瀹芥祦閲忔垚鏈�",
+ typeId: 2,
+ pic: "/images/index/杈圭紭璁$畻璁惧.png",
+ name: "杈圭紭璁$畻璁惧",
+ desc:
+ "涓�绉嶉儴缃插湪杩戝満渚х殑楂樺彲鐢ㄧ殑杞‖涓�浣撲骇鍝侊紝鎻愬崌搴旂敤绋嬪簭鐨勫揩閫熷搷搴旇兘鍔涖�佽妭鐪佸甫瀹芥祦閲忔垚鏈�",
product: [
{
name: "杈圭紭璁$畻璁惧1",
title: "LE-V-S003 楂樻�ц兘杈圭紭璁$畻涓绘満",
- des: "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
+ des:
+ "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
content: [
{
key: "鐗圭偣",
@@ -328,7 +243,8 @@
{
name: "杈圭紭璁$畻璁惧2",
title: "LE-V-S003 楂樻�ц兘杈圭紭璁$畻涓绘満",
- des: "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
+ des:
+ "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
content: [
{
key: "鐗圭偣",
@@ -352,7 +268,8 @@
{
name: "杈圭紭璁$畻璁惧3",
title: "LE-V-S003 楂樻�ц兘杈圭紭璁$畻涓绘満",
- des: "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
+ des:
+ "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
content: [
{
key: "鐗圭偣",
@@ -376,7 +293,8 @@
{
name: "杈圭紭璁$畻璁惧4",
title: "LE-V-S003 楂樻�ц兘杈圭紭璁$畻涓绘満",
- des: "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
+ des:
+ "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
content: [
{
key: "鐗圭偣",
@@ -400,7 +318,8 @@
{
name: "杈圭紭璁$畻璁惧5",
title: "LE-V-S003 楂樻�ц兘杈圭紭璁$畻涓绘満",
- des: "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
+ des:
+ "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
content: [
{
key: "鐗圭偣",
@@ -424,7 +343,8 @@
{
name: "杈圭紭璁$畻璁惧6",
title: "LE-V-S003 楂樻�ц兘杈圭紭璁$畻涓绘満",
- des: "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
+ des:
+ "涓撲负楂樻�ц兘瑙嗛搴旂敤鎵撻�狅紝寮烘倣鐨勫弻蹇楀己澶勭悊鍣紝杞绘澗搴斿楂樼畻鍔涘簲鐢ㄥ満鏅殑闇�姹傘��",
content: [
{
key: "鐗圭偣",
@@ -450,14 +370,74 @@
], // 鐑棬浜у搧鏁版嵁
timer: null, //鍚戜笂鍥炴粴鍔ㄧ敾
ConnectTimer: null, // 鎺у埗寮瑰眰鐨勫畾鏃跺櫒
+ bannerList: [],
};
},
methods: {
+ getUserBuyInfo() {
+ getUserOrderInfo({}).then((res) => {
+ this.userCardArr = [
+ {
+ num: res.data.needPay,
+ label: "寰呬粯娆�",
+ },
+ {
+ num: res.data.needRenewal,
+ label: "寰呯画璐�",
+ },
+ {
+ num: "_",
+ label: "娑堟伅涓績",
+ },
+ ];
+ });
+ },
// 鍒囨崲banner
toggleBanner(i) {
this.activeBanner = i;
this.$refs["Banner"].toggleBanner(i);
},
+ //鑾峰彇杞挱鍥�
+ async getBanner() {
+ const res = await getIndexPics();
+ if (res.success) {
+ this.bannerList = res.data.lists;
+ }
+ },
+ //杞挱鍥捐烦杞繛鎺�
+ jump() {
+ window.open(this.bannerList[this.activeBanner - 1].url);
+ },
+ //鑾峰彇鎺ㄨ崘鍒楄〃
+ async getRecommend() {
+ const res = await getIndexModelRecommend({ typeId: this.activeCommend });
+ this.commendData = res.data.productList;
+ },
+ // 鑾峰彇浜у搧鍒楄〃
+ async getModule() {
+ const res = await getModelList();
+ if (res && res.success) {
+ this.productData = res.data.modelList;
+ }
+ },
+ //閫夋嫨鎺ㄨ崘tab
+ selecTab(id) {
+ this.activeCommend = id;
+ this.getRecommend();
+ },
+ },
+ beforeRouteLeave(to, from, next) {
+ let userInfo = sessionStorage.getItem("userInfo");
+ if (
+ !userInfo &&
+ to.path !== "/login" &&
+ to.path !== "/register" &&
+ to.path !== "/connectUs"
+ ) {
+ next({ path: "/login" });
+ } else {
+ next();
+ }
},
};
</script>
@@ -505,6 +485,14 @@
}
}
+ .bannerLink {
+ top: 60px;
+ position: absolute;
+ width: 100%;
+ height: 410px;
+ cursor: pointer;
+ }
+
.overCard {
position: absolute;
top: 394px;
--
Gitblit v1.8.0