annal_body.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. <!DOCTYPE html>
  2. <html class="">
  3. <!--STATUS OK-->
  4. <head>
  5. <meta name="referrer" content="always" />
  6. <meta charset='utf-8' />
  7. <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
  8. <meta http-equiv="x-dns-prefetch-control" content="on">
  9. <meta name="description" content="">
  10. <meta name="format-detection" content="telephone=no" />
  11. <link rel="stylesheet" type="text/css" href="css/vant-ui.css" />
  12. <link rel="stylesheet" type="text/css" href="css/iconfont.css">
  13. <link rel="stylesheet" type="text/css" href="css/main.css" />
  14. <script src="js/vue.js"></script>
  15. <script src="js/vant-ui.js"></script>
  16. <script src="js/main.js"></script>
  17. <title></title>
  18. <style>
  19. .card-list {
  20. display: flex;
  21. justify-content: center;
  22. }
  23. .card {
  24. width: 7rem;
  25. display: flex;
  26. background-color: #fff;
  27. margin: .2rem 0;
  28. padding: .2rem;
  29. border-radius: .2rem;
  30. justify-content: space-between;
  31. }
  32. .card-left {
  33. display: flex;
  34. }
  35. .card-img {
  36. width: 1.8rem;
  37. height: 1.8rem;
  38. background-color: #000;
  39. }
  40. .card-text {
  41. display: flex;
  42. flex-direction: column;
  43. justify-content: space-between;
  44. margin-left: .1rem;
  45. width: 5rem
  46. }
  47. .card-title {
  48. font-size: .28rem;
  49. font-weight: 800;
  50. width: 3.5rem;
  51. }
  52. .card-date {
  53. font-size: .25rem;
  54. }
  55. .num {
  56. font-size: .3rem;
  57. text-align: right;
  58. font-weight: 800;
  59. }
  60. .inte {
  61. font-size: .25rem;
  62. color: #0097E0;
  63. }
  64. .mescroll{
  65. position: relative;
  66. height: 100%;/*如设置bottom:50px,则需height:auto才能生效*/
  67. }
  68. </style>
  69. </head>
  70. <body>
  71. <div id="app" style="background-color:#EDEDED">
  72. <div id="mescroll" class="mescroll-touch-y mescroll">
  73. <div v-show="lists.length > 0">
  74. <div class="card-list" v-for="(item,index) in lists" :key="index">
  75. <div class="card">
  76. <div class="card-left">
  77. <div>
  78. <img v-if="item.productImage==null" src="img/nothing.png" style="width:1.5rem;height:1.5rem">
  79. <img v-else :src="item.productImage" style="width:1.5rem;height:1.5rem">
  80. </div>
  81. <div class="card-text">
  82. <div style="display:flex;justify-content:space-between;">
  83. <div class="card-title">
  84. {{item.productMaktx}}
  85. </div>
  86. <div class="card-num">
  87. <div class="num">
  88. x{{item.productQty}}
  89. </div>
  90. </div>
  91. </div>
  92. <div>
  93. <div class="card-date">
  94. 下单时间:{{item.createTime|formatDate}}
  95. </div>
  96. <div style="display:flex;justify-content:space-between;">
  97. <div style="font-size:.25rem">
  98. <div>
  99. 发货时间:<span v-if="item.shipTime">{{item.shipTime|formatDate}}</span><span v-else>待发货</span>
  100. </div>
  101. </div>
  102. <div class="inte">
  103. -{{item.productAmount}}积分
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. </div>
  110. </div>
  111. </div>
  112. <div v-show="lists.length == 0">
  113. <img src="./image/noData.png" style="margin:2rem auto" />
  114. </div>
  115. </div>
  116. </div>
  117. </body>
  118. </html>
  119. <link rel="stylesheet" href="./mescroll/mescroll.min.css">
  120. <script type="text/javascript" src="./mescroll/mescroll.min.js"></script>
  121. <script type="text/javascript" src="../script/api.js"></script>
  122. <script type="text/javascript" src="../script/httpRequest.js"></script>
  123. <script type="text/javascript" src="../script/vue_plugins.js"></script>
  124. <script type="text/javascript">
  125. apiready = function() {
  126. new Vue({
  127. el: '#app',
  128. data: {
  129. lists: [],
  130. storeId: '',
  131. size: 10,
  132. current: 1,
  133. totalPages: 1,
  134. frist: 1,
  135. mescroll: '',
  136. hasOther: false,
  137. },
  138. filters: {
  139. formatDate: function(time) {
  140. return time.substring(0,10)
  141. }
  142. },
  143. methods: {
  144. init: function() {
  145. this.storeId = $api.getStorage('userid');
  146. this.getOrderannal()
  147. },
  148. configs: function() {
  149. var _this = this;
  150. this.frist = 2;
  151. this.configDownAndPull("mescroll", function(mescroll) {
  152. _this.current = 1;
  153. _this.mescroll = mescroll;
  154. _this.getOrderannal(mescroll);
  155. }, function(mescroll) {
  156. if (_this.current < _this.totalPages) {
  157. _this.current = _this.current + 1;
  158. _this.getOrderannal(mescroll, 1);
  159. } else {
  160. mescroll.endSuccess(_this.size, false);
  161. }
  162. })
  163. },
  164. addMore: function() {
  165. var _this = this;
  166. if (_this.current < _this.totalPages) {
  167. _this.current = _this.current + 1;
  168. _this.getOrderannal(_this.mescroll, 1);
  169. } else {
  170. _this.hasOther = true;
  171. }
  172. },
  173. //获取列表
  174. getOrderannal: function(mescroll) {
  175. var params = {
  176. "shopId": this.storeId,
  177. "size": this.size,
  178. "current": this.current,
  179. "url": 'json',
  180. "type": 'body'
  181. },
  182. _this = this;
  183. this.$post('getOrderannal', params, function(ret) {
  184. if (ret.code == 0 || ret.code == '0') {
  185. _this.totalPages = ret.page.pages;
  186. _this.lists = _this.current == 1 ? ret.page.records : _this.lists.concat(ret.page.records);
  187. if (mescroll) {
  188. mescroll.endSuccess(_this.size, true);
  189. }
  190. if (_this.frist == 1) {
  191. _this.$nextTick(function() {
  192. _this.configs();
  193. })
  194. }
  195. }
  196. });
  197. }
  198. },
  199. mounted: function() {
  200. this.init();
  201. },
  202. })
  203. }
  204. </script>