| | |
| | | <view class="list"> |
| | | <scroll-view class="list-left" scroll-y="true"> |
| | | <view class="list-left-row" |
| | | v-for="(item,index) in typeList" |
| | | :class="index==selectIndex?'active':''" |
| | | @click="changeType(item.id, index)"> |
| | | <text>{{item.name}}</text> |
| | | v-for="item in typeList" |
| | | :class="item.id==typeId?'active':''" |
| | | @click="changeType(item.id)"> |
| | | <text>{{item.articleTypeName}}</text> |
| | | </view> |
| | | </scroll-view> |
| | | <scroll-view class="list-right" scroll-y="true"> |
| | | <navigator :url="'../productDetail/index?id='+item.id" hover-class="none" v-for="item in list"> |
| | | <navigator :url="'./knowledgeDetail?id='+item.id" hover-class="none" v-for="item in list"> |
| | | <view class="list-right-row"> |
| | | <image class="product-img" :src="item.img?item.img:'../../../static/images/no-img.png'"></image> |
| | | <image class="product-img" :src="item.image?item.image:'../../static/images/no-img.png'"></image> |
| | | <view class="flex-1"> |
| | | <text>{{item.name}}</text> |
| | | <view class="flex justify-between mt-15"> |
| | | <text class="price">¥{{item.price}}</text> |
| | | <text class="font-13">{{item.title}}</text> |
| | | <view class="desc"> |
| | | <text>{{item.articleTypeName}}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </navigator> |
| | | <no-record :isShow="!list.length"></no-record> |
| | | </scroll-view> |
| | | </view> |
| | | </view> |
| | |
| | | export default { |
| | | data(){ |
| | | return{ |
| | | typeList: [{ |
| | | name: '312', |
| | | id: 2 |
| | | }], |
| | | list: [{ |
| | | name: '312', |
| | | id: 2 |
| | | }], |
| | | selectIndex: 0 |
| | | typeList: [], |
| | | list: [], |
| | | typeId: '' |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | // this.loadTypeList() |
| | | this.loadTypeList() |
| | | }, |
| | | methods:{ |
| | | loadTypeList(){ |
| | | this.$httpUtils.request('/api/know/findKnowledgeType').then((res) => { |
| | | if(res.status == 200){ |
| | | this.typeList = res.rows; |
| | | let result = res.rows; |
| | | this.typeList = result; |
| | | if(result.length){ |
| | | this.typeId = result[0].id; |
| | | this.loadList() |
| | | } |
| | | } |
| | | }) |
| | | }, |
| | | loadList(){ |
| | | this.$httpUtils.request('/api/know/findArticleList', { |
| | | pageNum: 1, |
| | | pageSize: 100, |
| | | typeId: this.typeId |
| | | }, 'POST').then((res) => { |
| | | if(res.status == 200){ |
| | | this.list = res.rows; |
| | | } |
| | | }) |
| | | }, |
| | | changeType(id){ |
| | | this.typeId = id; |
| | | this.loadList() |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | .list-left{ |
| | | width: 170rpx; |
| | | flex: 0 0 170rpx; |
| | | background: #F6F6F8; |
| | | border-radius: 4px; |
| | | } |
| | |
| | | } |
| | | .list-right-row{ |
| | | display: flex; |
| | | align-items: center; |
| | | padding: 10px; |
| | | margin: 0 10px 10px; |
| | | border: 1px solid #EDEAF4; |
| | | box-shadow:0 6px 6px rgba(237,234,244,0.5); |
| | | border-radius: 4px; |
| | | font-size: 13px; |
| | | font-size: 12px; |
| | | } |
| | | .list-right-row .product-img{ |
| | | width: 66px; |
| | | height: 66px; |
| | | margin-right: 5px; |
| | | width: 62px; |
| | | height: 62px; |
| | | margin-right: 10px; |
| | | } |
| | | .desc{ |
| | | margin-top: 8px; |
| | | color: #a5abaf; |
| | | word-break: break-all; |
| | | text-overflow: -o-ellipsis-lastline; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 2; |
| | | line-clamp: 2; |
| | | -webkit-box-orient: vertical; |
| | | } |
| | | </style> |