From 93c730422276dbba169f57a8db890568666204cd Mon Sep 17 00:00:00 2001
From: yujialong <479214531@qq.com>
Date: Wed, 17 May 2023 18:20:22 +0800
Subject: [PATCH] fix
---
src/pages/product/list/index.vue | 129 +++++++++++++++++--------------
1 file changed, 73 insertions(+), 56 deletions(-)
diff --git a/src/pages/product/list/index.vue b/src/pages/product/list/index.vue
index 926d74e..cd3492b 100644
--- a/src/pages/product/list/index.vue
+++ b/src/pages/product/list/index.vue
@@ -42,46 +42,11 @@
- 学科专业
-
- - 学科类别
-
-
-
-
-
- - 专业类
-
-
-
-
-
- - 专业
-
-
-
-
+
- 产品标签
@@ -97,12 +62,12 @@
- 产品类型
-
- 全部
+ - 全部
- {{ item.typeName }}
+ :class="{active: form.productType === item.typeId}"
+ @click="filterChange(item.typeId, 'productType')">{{ item.typeName }}
@@ -196,8 +161,9 @@ import { Loading } from "element-ui";
import Setting from "@/setting";
export default {
data () {
+ const that = this
return {
- carouselHeight: '336px',
+ carouselHeight: '350px',
banners: [],
timer: null,
curTab: '',
@@ -220,17 +186,64 @@ export default {
},
],
form: {
- categoryId: '',
isShelves: 0,
hotTag: 1,
- professionalCategoryId: '',
- professionalId: '',
- productClassification: '',
+ // categoryId: '',
+ // professionalCategoryId: '',
+ // professionalId: '',
+ productType: '',
productName: '',
purchaseStatus: '',
sort: 0,
tagId: ''
},
+ category: [],
+ // 学科动态加载
+ props: {
+ // multiple: true,
+ checkStrictly: true,
+ lazy: true,
+ lazyLoad (node, resolve) {
+ const { level, value } = node
+ // 学科类别
+ if (!level) {
+ that.$get(that.api.courseDiscipline).then(({ list }) => {
+ list.map(e => {
+ e.value = e.disciplineId
+ e.label = e.disciplineName
+ e.children = []
+ })
+ resolve(list)
+ }).catch(err => { })
+ } else if (level === 1) {
+ // 专业类
+ that.$get(that.api.courseProfessionalClass, {
+ disciplineId: value
+ }).then(({ list }) => {
+ list.map(e => {
+ e.value = e.professionalClassId
+ e.label = e.professionalClassName
+ e.children = []
+ })
+ resolve(list)
+ }).catch(err => { })
+ } else if (level === 2) {
+ // 专业
+ that.$get(that.api.courseProfessional, {
+ professionalClassId: value
+ }).then(({ list }) => {
+ list.map(e => {
+ e.value = e.professionalId
+ e.label = e.professionalName
+ e.leaf = true
+ })
+ resolve(list)
+ }).catch(err => { })
+ } else {
+ resolve([])
+ }
+ }
+ },
labels: [],
subjectList: [], //专业学科
professionalClassList: [], //专业类
@@ -291,8 +304,7 @@ export default {
}
},
mounted () {
- console.log(11, parseInt(window.innerWidth / 5.7))
- this.carouselHeight = parseInt(window.innerWidth / 5.7) + 'px'
+ this.carouselHeight = parseInt(window.innerWidth / 5.48) + 'px'
this.getBanner()
this.getSubject()
this.getLabel()
@@ -312,14 +324,19 @@ export default {
},
// 获取列表
getData () {
+ const { category } = this
+ console.log(33, this.category)
this.loadIns = Loading.service()
this.$post(this.api.listOfGoods, {
...this.form,
+ categoryId: category[0] || '',
+ professionalCategoryId: category[1] || '',
+ professionalId: category[2] || '',
pageNum: this.page,
pageSize: this.pageSize,
}).then(({ page }) => {
const list = page.records
- list.forEach(e => {
+ list && list.forEach(e => {
// 简介去掉标签图片
const el = document.createElement('div')
el.innerHTML = e.productIntroduction
@@ -327,7 +344,7 @@ export default {
const cid = e.classificationId
e.isCourse = (cid === 1 || cid === 2) && !e.isAssociatedProduct
})
- this.list = list
+ this.list = list ? list : []
this.total = page.total
this.loadIns.close()
}).catch(res => {
@@ -492,7 +509,7 @@ export default {
transform: translateX(-50%);
}
&.active:after {
- background-color: #007eff;
+ background-color: #9278ff;
}
}
}
@@ -541,7 +558,7 @@ export default {
cursor: pointer;
&.active {
font-weight: 600;
- color: #007eff;
+ color: #9278ff;
}
}
}
@@ -642,7 +659,7 @@ export default {
}
.tag {
margin-right: 8px;
- color: #007eff;
+ color: #9278ff;
background-color: #f9f9f9;
border: 0;
}