|
@@ -1,6 +1,76 @@
|
|
|
<template>
|
|
|
- <div>
|
|
|
- 在线商城
|
|
|
+ <div class="mall bg-F5">
|
|
|
+ <div class="banner">在线商城banner</div>
|
|
|
+ <div class="container ">
|
|
|
+ <div class="category">
|
|
|
+ <div class="dalei">
|
|
|
+ <div class="flag ">
|
|
|
+ 分类
|
|
|
+ <div class="t"></div>
|
|
|
+ </div>
|
|
|
+ <div class="items ">
|
|
|
+ <div class="item fl curr">
|
|
|
+ 全部
|
|
|
+ </div>
|
|
|
+ <div class="item fl ">
|
|
|
+ 文件柜
|
|
|
+ </div>
|
|
|
+ <div class="item fl ">
|
|
|
+ 保险柜
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="xiaolei">
|
|
|
+ <div class="block fl" v-for="x in 5" :key="x">
|
|
|
+ <span>文件柜</span>
|
|
|
+ <div class="items fr">
|
|
|
+ <div class="item fl">
|
|
|
+ 五斗音箱柜
|
|
|
+ </div>
|
|
|
+ <div class="item fl">
|
|
|
+ 五斗音箱柜
|
|
|
+ </div>
|
|
|
+ <div class="item fl">
|
|
|
+ 五斗音箱柜
|
|
|
+ </div>
|
|
|
+ <div class="item fl">
|
|
|
+ 五斗音箱柜
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="filter">
|
|
|
+ <div class="sort fl">综合排序</div>
|
|
|
+ <div class="sort fl">新品</div>
|
|
|
+ <div class="sort fl">
|
|
|
+ <span>价格</span>
|
|
|
+ <input placeholder="最低价" /> - <input placeholder="最高价" />
|
|
|
+ </div>
|
|
|
+ <div class="search fr">
|
|
|
+ <input placeholder="商品名称/企业名称" />
|
|
|
+ <span>搜索</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="products">
|
|
|
+ <router-link to="/shop/1/2" class="product" v-for="x in 10" :key="x">
|
|
|
+ <div class="img">
|
|
|
+ <img src="@assets/shangpin.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="amount"><span>¥</span>1800</div>
|
|
|
+ <div class="name">文件柜20-J</div>
|
|
|
+ <div class="shop">洛阳花都家具有限公司</div>
|
|
|
+ </router-link>
|
|
|
+ </div>
|
|
|
+ <!-- 仅作为前期静态页面显示用 后期会集成到loadmore组件内 -->
|
|
|
+ <el-pagination
|
|
|
+ class="fr"
|
|
|
+ background
|
|
|
+ layout="prev, pager, next,total, jumper"
|
|
|
+ :total="100"
|
|
|
+ :page-size="10"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script lang="ts">
|
|
@@ -8,3 +78,212 @@ import { Component, Vue, Watch } from "vue-property-decorator";
|
|
|
@Component
|
|
|
export default class extends Vue {}
|
|
|
</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.mall {
|
|
|
+ .banner {
|
|
|
+ width: 100%;
|
|
|
+ height: 240px;
|
|
|
+ line-height: 240px;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 2rem;
|
|
|
+ font-weight: bold;
|
|
|
+ text-align: center;
|
|
|
+ background: rgb(220, 220, 220);
|
|
|
+ }
|
|
|
+ .container {
|
|
|
+ padding: 2rem 0;
|
|
|
+ overflow: hidden;
|
|
|
+ .category {
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 4px;
|
|
|
+ height: 218px;
|
|
|
+ overflow: hidden;
|
|
|
+ .dalei {
|
|
|
+ height: 58px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ width: 100%;
|
|
|
+ padding: 1rem;
|
|
|
+ overflow: hidden;
|
|
|
+ border-bottom: 1px rgb(229, 229, 229) solid;
|
|
|
+ display: table;
|
|
|
+ .flag {
|
|
|
+ display: table-cell;
|
|
|
+ width: 50px;
|
|
|
+ vertical-align: middle;
|
|
|
+ color: rgb(153, 153, 153);
|
|
|
+ // padding-right: 1rem;
|
|
|
+ // border-right: 1px solid rgb(153, 153, 153);
|
|
|
+ position: relative;
|
|
|
+ .t {
|
|
|
+ width: 1px;
|
|
|
+ height: 15px;
|
|
|
+ background: #999;
|
|
|
+
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ right: 0;
|
|
|
+ transform: translateY(-50%);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .items {
|
|
|
+ display: table-cell;
|
|
|
+ vertical-align: middle;
|
|
|
+ .item {
|
|
|
+ padding: 0.2rem 1.5rem;
|
|
|
+ margin-left: 3rem;
|
|
|
+ &.curr {
|
|
|
+ background: rgb(253, 85, 34);
|
|
|
+ border-radius: 20px;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .xiaolei {
|
|
|
+ height: 160px;
|
|
|
+ overflow: hidden;
|
|
|
+ .block {
|
|
|
+ width: 337px;
|
|
|
+ height: 80px;
|
|
|
+ // margin: 30px 60px 0 20px;
|
|
|
+ margin-left: 20px;
|
|
|
+ margin-right: 24px;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ padding-top: 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ .items {
|
|
|
+ width: 260px;
|
|
|
+
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ .item {
|
|
|
+ margin-right: 1rem;
|
|
|
+ margin-bottom: 1rem;
|
|
|
+ font-size: 1.2rem;
|
|
|
+ color: rgb(102, 102, 102);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .filter {
|
|
|
+ height: 60px;
|
|
|
+ line-height: 60px;
|
|
|
+ background: #fff;
|
|
|
+ margin-top: 20px;
|
|
|
+ padding: 0 20px;
|
|
|
+ border-radius: 4px;
|
|
|
+ input {
|
|
|
+ border-radius: 4px;
|
|
|
+ height: 36px;
|
|
|
+ padding-left: 1rem;
|
|
|
+ font-size: 1.4rem;
|
|
|
+ border: 1px solid #eaeaea;
|
|
|
+ }
|
|
|
+ .sort {
|
|
|
+ margin-right: 40px;
|
|
|
+ span {
|
|
|
+ position: relative;
|
|
|
+ margin-right: 20px;
|
|
|
+ &::before {
|
|
|
+ content: "";
|
|
|
+ position: absolute;
|
|
|
+
|
|
|
+ border-top-color: transparent;
|
|
|
+ border-left-color: transparent;
|
|
|
+ border-bottom-color: #acacac;
|
|
|
+ border-right-color: transparent;
|
|
|
+ border-width: 5px;
|
|
|
+ border-style: solid;
|
|
|
+ top: 0;
|
|
|
+ right: -10px;
|
|
|
+ }
|
|
|
+ &::after {
|
|
|
+ content: "";
|
|
|
+ position: absolute;
|
|
|
+
|
|
|
+ border-top-color: #acacac;
|
|
|
+ border-left-color: transparent;
|
|
|
+ border-bottom-color: transparent;
|
|
|
+ border-right-color: transparent;
|
|
|
+ border-width: 5px;
|
|
|
+ border-style: solid;
|
|
|
+ bottom: 0;
|
|
|
+ right: -10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ input {
|
|
|
+ width: 100px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .search {
|
|
|
+ input {
|
|
|
+ width: 387px;
|
|
|
+ margin-right: 20px;
|
|
|
+ }
|
|
|
+ span {
|
|
|
+ padding: 6px 22px;
|
|
|
+ background: #fd5522;
|
|
|
+ color: #fff;
|
|
|
+ cursor: pointer;
|
|
|
+ border-radius: 4px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .products {
|
|
|
+ margin-top: 20px;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ .product {
|
|
|
+ background: #fff;
|
|
|
+ border-radius: 4px;
|
|
|
+ width: 216px;
|
|
|
+ height: 340px;
|
|
|
+ float: left;
|
|
|
+ margin-right: 20px;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ padding: 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ cursor: pointer;
|
|
|
+ &:nth-child(5n + 5) {
|
|
|
+ margin-right: 0;
|
|
|
+ }
|
|
|
+ .img {
|
|
|
+ width: 176px;
|
|
|
+ height: 200px;
|
|
|
+ line-height: 200px;
|
|
|
+ border: 1px #e5e5e5 solid;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ position: relative;
|
|
|
+ img {
|
|
|
+ width: 80%;
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ left: 50%;
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .amount {
|
|
|
+ color: #fd5522;
|
|
|
+ font-size: 18px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ span {
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .name {
|
|
|
+ font-size: 14px;
|
|
|
+ color: rgb(51, 51, 51);
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
+ .shop {
|
|
|
+ font-size: 12px;
|
|
|
+ color: rgb(102, 102, 102);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|