list.html 8.3 KB

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