list.html 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <!DOCTYPE html>
  2. <html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="https://www.thymeleaf.org ">
  4. <head>
  5. <title>采美365网-商品列表</title>
  6. <template th:replace="components/headLink"></template>
  7. <link th:href="@{/css/product/list.css(v=${version})}" rel="stylesheet" type="text/css">
  8. </head>
  9. <body>
  10. <!-- 引用头部 -->
  11. <template th:replace="components/header"></template>
  12. <!-- 商品列表 -->
  13. <div id="productList">
  14. <template v-if="isPC && listData && listData.length>0">
  15. <!-- 面包屑 -->
  16. <div v-if="searchFlag" class="crumbs">
  17. <span>搜索结果</span>
  18. <span>&gt;</span> <a href="javascript:void(0);" @click="toPagination(1)" v-text="params.keyword"></a>
  19. </div>
  20. <div v-else class="crumbs">
  21. <a href="/">首页</a>
  22. <template v-if="params.bid && params.bid>0">
  23. <template v-if="params.sid && params.sid>0">
  24. <span>&gt;</span> <a :href="'/product/list.html?category='+params.bid+'-0-0'" v-text="bigType"></a>
  25. <template v-if="params.tid && params.tid>0">
  26. <span>&gt;</span> <a :href="'/product/list.html?category='+params.bid+'-'+params.sid+'-0'" v-text="smallType"></a>
  27. <span>&gt;</span> <span v-text="tinyType"></span>
  28. </template>
  29. <template v-else>
  30. <span>&gt;</span> <span v-text="smallType"></span>
  31. </template>
  32. </template>
  33. <template v-else>
  34. <span>&gt;</span> <span v-text="bigType"></span>
  35. </template>
  36. </template>
  37. </div>
  38. <!--分类-->
  39. <div v-if="(!searchFlag)" id="listClassify" class="classifyBox">
  40. <div class="clsTab">
  41. <template v-for="(big,i) in classify">
  42. <a :class="{'on': params.bid==big.bigTypeID}" v-if="big.validFlag==1" href="javascript:void(0);" v-text="big.name"></a>
  43. </template>
  44. </div>
  45. <div class="clsCon">
  46. <div class="tabItem" v-for="big in classify" :bid="big.bigTypeID" style="display: none;">
  47. <div class="line" :class="{'on': params.sid==small.smallTypeID}" v-for="small in big.smalltypeList" v-if="small.validFlag==1">
  48. <div class="lft" :class="{'on': params.sid==small.smallTypeID}">
  49. <a :href="'/product/list.html?category='+big.bigTypeID+'-'+small.smallTypeID+'-0'" v-text="small.name"></a>
  50. </div>
  51. <div class="rgt">
  52. <template v-for="tiny in small.tinytypeList">
  53. <a v-if="tiny.validFlag==1" :class="{'on': params.tid==tiny.tinyTypeID}" :href="'/product/list.html?category='+big.bigTypeID+'-'+small.smallTypeID+'-'+tiny.tinyTypeID" v-text="tiny.name"></a>
  54. </template>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. </div>
  60. </template>
  61. <!--loading-->
  62. <div v-if="listLoading" class="loading">
  63. <img src="/img/base/loading.gif">
  64. </div>
  65. <!--数据为空-->
  66. <div v-else-if="!listLoading && (!listData || listData.length==0)" class="empty">
  67. <img src="/img/common/empty.png">
  68. <div class="msg">
  69. <p>暂未找到你搜索的商品,去<a href="/">商城</a>,逛逛吧~</p>
  70. </div>
  71. </div>
  72. <template v-else>
  73. <!--排序-->
  74. <div class="sortBox">
  75. <ul class="mfc">
  76. <li :class="{'on':params.sortField == ''}" @click="toSortList('',1)">综合</li>
  77. <template>
  78. <li v-if="params.sortField == 'sales' && params.sortType == 1" class="down"
  79. @click="toSortList('sales',0)"><span>销量</span></li>
  80. <li v-else-if="params.sortField == 'sales' && params.sortType == 0" class="up"
  81. @click="toSortList('sales',1)"><span>销量</span></li>
  82. <li v-else @click="toSortList('sales',0)"><span>销量</span></li>
  83. </template>
  84. <template>
  85. <li v-if="params.sortField == 'favorite' && params.sortType == 1" class="down"
  86. @click="toSortList('favorite',0)"><span>人气</span></li>
  87. <li v-else-if="params.sortField == 'favorite' && params.sortType == 0" class="up"
  88. @click="toSortList('favorite',1)"><span>人气</span></li>
  89. <li v-else @click="toSortList('favorite',0)"><span>人气</span></li>
  90. </template>
  91. <template>
  92. <li v-if="params.sortField == 'price' && params.sortType == 1" class="down"
  93. @click="toSortList('price',0)"><span>价格</span></li>
  94. <li v-else-if="params.sortField == 'price' && params.sortType == 0" class="up"
  95. @click="toSortList('price',1)"><span>价格</span></li>
  96. <li v-else @click="toSortList('price',0)"><span>价格</span></li>
  97. </template>
  98. </ul>
  99. </div>
  100. <!--商品列表-->
  101. <ul class="productList clear mfw">
  102. <li class="productItem mfc" v-for="p in listData">
  103. <div class="item">
  104. <a class="image" :href="'/product/detail.html?id='+p.pid" target="_blank">
  105. <img :src="p.image" :alt="p.name">
  106. <span v-if="p.acttype==1||p.acttype==2" :class="p.acttype==1?'icon mIcon hot':'icon mIcon new'"></span>
  107. </a>
  108. <a class="name" :href="'/product/detail.html?id='+p.pid" target="_blank">
  109. <span v-html="p.name"></span>
  110. </a>
  111. <div class="price mfhc">
  112. <template v-if="userId && userId>0">
  113. <em v-if="p.priceflag==1">未公开价格</em>
  114. <template v-else>
  115. <em v-if="p.priceLoading">正在获取价格...</em>
  116. <template v-else-if="p.priceflag==2 && p.userIdentity!=2">
  117. <em>价格仅会员可见</em>
  118. <div class="btnBox">
  119. <a href="javascript:void(0)" class="btn">升级成为会员</a>
  120. </div>
  121. </template>
  122. <em v-else class="p" v-text="'¥'+parseFloat(p.price).toFixed(2)"></em>
  123. </template>
  124. </template>
  125. <template v-else>
  126. <em>价格:<i class="icon mIcon" v-for="i in 5">
  127. <i v-if="i==1||p.pricegrade>=i" class="icon mIcon on"></i>
  128. </i></em>
  129. <div class="btnBox"><a href="javascript:void(0)" class="btn add toLogin">加入购物车</a></div>
  130. </template>
  131. </div>
  132. </div>
  133. </li>
  134. </ul>
  135. </template>
  136. <!--分页-->
  137. <div v-if="(!isPC) && noMore" class="noMore">---- 没有更多了 ----</div>
  138. <div v-if="isPC && pageTotal>1" class="pageWrap clear">
  139. <a v-if="params.num>1" class="prev" @click="toPagination(params.num*1-1)" href="javascript:void(0);"></a>
  140. <template v-for="n in showPageBtn">
  141. <a v-if="n" :class="{'on':(n==params.num)}" @click="toPagination(n)" href="javascript:void(0);" v-text="n"></a>
  142. <span v-else>···</span>
  143. </template>
  144. <a v-if="params.num<pageTotal" class="next" @click="toPagination(params.num*1+1)" href="javascript:void(0);"></a>
  145. <span>共<b v-text="pageTotal>1?pageTotal:1"></b>页</span>
  146. <span>跳至</span>
  147. <input v-model="pageInput" @blur="checkNum()"/>
  148. <span>页</span>&nbsp;
  149. <a class="btn" href="javascript:void(0);" @click="toPagination(pageInput)">点击跳转</a>
  150. </div>
  151. </div>
  152. <!-- 引入底部 -->
  153. <template th:replace="components/footer"></template>
  154. <template th:replace="components/footLink"></template>
  155. <script charset="utf-8" type="text/javascript" th:src="@{/js/product/list.js(v=${version})}"></script>
  156. </body>
  157. </html>