order.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. <template>
  2. <view class="aui-flexView">
  3. <view class="aui-scrollView">
  4. <view class="aui-tab">
  5. <ul class="tab-nav">
  6. <block v-for="(menuTab,index) in menuTabs" :key="index">
  7. <li v-bind:id="'tabNum'+index" @click="swichMenu(index)" :class="[currentTab==index ? 'tab-nav-item tab-active' : 'tab-nav-item']">
  8. {{menuTab.name}}
  9. </li>
  10. </block>
  11. </ul>
  12. <view class="viewHeight"></view>
  13. <view class="tab-panel">
  14. <view :class="[currentTab==0 ? 'tab-panel-item tab-active' : 'tab-panel-item']">
  15. <block v-for="(menuList2,index3) in menuLists" :key="index3">
  16. <view class="viewHeight"></view>
  17. <view class="tab-item">
  18. <view class="aui-well-item aui-well-item-clear">
  19. <view class="aui-well-info">
  20. <view class="aui-well-item-hd">
  21. <image :src="staticPhoto + menuList2.seller_face" alt=""></image>
  22. </view>
  23. <view class="aui-well-item-bd">
  24. <view style="font-size: 16px;font-weight: 400">{{menuList2.seller_username}}</view>
  25. </view>
  26. </view>
  27. <view class="aui-well-title">
  28. <text class="aui-well-item-fr">{{menuList2.status_msg}}</text>
  29. </view>
  30. </view>
  31. <view class="aui-mail-product">
  32. <view class="aui-mail-product-item">
  33. <view class="aui-mail-product-item-hd">
  34. <image :src="menuList2.small_pic" alt=""></image>
  35. </view>
  36. <view class="aui-mail-product-item-bd">
  37. <view class="aui-mail-product-item-text">{{menuList2.goods_name}}</view>
  38. </view>
  39. </view>
  40. </view>
  41. <view class="aui-mail-payment">
  42. <view>
  43. {{menuList2.is_buyer == 1 ? '买入单:' : '卖出单:'}}实付款: ¥{{menuList2.amount}}
  44. </view>
  45. </view>
  46. <view class="aui-mail-button">
  47. <!--<text :class="[menuList2.but_ddshouhuo==0 ? 'hd' : menuList2.but_ddshouhuo==2 ? '' :'aui-df-color']">等待收货</text>-->
  48. <!--<text :class="[menuList2.but_wuliu==0 ? 'hd' : menuList2.but_wuliu==2 ? '' :'aui-df-color']">查看物流</text>-->
  49. <text @tap="goPath(menuList2)" class="aui-df-color">{{menuList2.is_buyer == 1 || menuList2.logistics_status != 1? '查看详情' : '去发货'}}</text>
  50. <!--<text :class="[menuList2.but_pingjia==0 ? 'hd' : menuList2.but_pingjia==2 ? '' :'aui-df-color']">评价晒单</text>-->
  51. <!--<text :class="[menuList2.but_fapiao==0 ? 'hd' : menuList2.but_fapiao==2 ? '' :'aui-df-color']">查看发票</text>-->
  52. <!--<text :class="[menuList2.but_zhifu==0 ? 'hd' : menuList2.but_zhifu==2 ? '' :'aui-df-color']">去支付</text>-->
  53. </view>
  54. </view>
  55. <view class="viewHeight"></view>
  56. </block>
  57. </view>
  58. <view :class="[currentTab==1 ? 'tab-panel-item tab-active' : 'tab-panel-item']">
  59. <block v-for="(menuList2,index3) in menuLists" :key="index3">
  60. <view class="viewHeight"></view>
  61. <view class="tab-item">
  62. <view class="aui-well-item aui-well-item-clear">
  63. <view class="aui-well-info">
  64. <view class="aui-well-item-hd">
  65. <image :src="staticPhoto + menuList2.seller_face" alt=""></image>
  66. </view>
  67. <view class="aui-well-item-bd">
  68. <view style="font-size: 16px;font-weight: 400">{{menuList2.seller_username}}</view>
  69. </view>
  70. </view>
  71. <view class="aui-well-title">
  72. <text class="aui-well-item-fr">{{menuList2.status_msg}}</text>
  73. </view>
  74. </view>
  75. <view class="aui-mail-product">
  76. <view class="aui-mail-product-item">
  77. <view class="aui-mail-product-item-hd">
  78. <image :src="menuList2.small_pic" alt=""></image>
  79. </view>
  80. <view class="aui-mail-product-item-bd">
  81. <view class="aui-mail-product-item-text">{{menuList2.goods_name}}</view>
  82. </view>
  83. </view>
  84. </view>
  85. <view class="aui-mail-payment">
  86. <view>
  87. {{menuList2.is_buyer == 1 ? '买入单:' : '卖出单:'}}实付款: ¥{{menuList2.amount}}
  88. </view>
  89. </view>
  90. <view class="aui-mail-button">
  91. <!--<text :class="[menuList2.but_ddshouhuo==0 ? 'hd' : menuList2.but_ddshouhuo==2 ? '' :'aui-df-color']">等待收货</text>-->
  92. <!--<text :class="[menuList2.but_wuliu==0 ? 'hd' : menuList2.but_wuliu==2 ? '' :'aui-df-color']">查看物流</text>-->
  93. <text @tap="goPath(menuList2)" class="aui-df-color">{{menuList2.is_buyer == 1 || menuList2.logistics_status != 1? '查看详情' : '去发货'}}</text>
  94. <!--<text :class="[menuList2.but_pingjia==0 ? 'hd' : menuList2.but_pingjia==2 ? '' :'aui-df-color']">评价晒单</text>-->
  95. <!--<text :class="[menuList2.but_fapiao==0 ? 'hd' : menuList2.but_fapiao==2 ? '' :'aui-df-color']">查看发票</text>-->
  96. <!--<text :class="[menuList2.but_zhifu==0 ? 'hd' : menuList2.but_zhifu==2 ? '' :'aui-df-color']">去支付</text>-->
  97. </view>
  98. </view>
  99. <view class="viewHeight"></view>
  100. </block>
  101. </view>
  102. <view :class="[currentTab==2 ? 'tab-panel-item tab-active' : 'tab-panel-item']">
  103. <block v-for="(menuList2,index3) in menuLists" :key="index3">
  104. <view class="viewHeight"></view>
  105. <view class="tab-item">
  106. <view class="aui-well-item aui-well-item-clear">
  107. <view class="aui-well-info">
  108. <view class="aui-well-item-hd">
  109. <image :src="staticPhoto + menuList2.seller_face" alt=""></image>
  110. </view>
  111. <view class="aui-well-item-bd">
  112. <view style="font-size: 16px;font-weight: 400">{{menuList2.seller_username}}</view>
  113. </view>
  114. </view>
  115. <view class="aui-well-title">
  116. <text class="aui-well-item-fr">{{menuList2.status_msg}}</text>
  117. </view>
  118. </view>
  119. <view class="aui-mail-product">
  120. <view class="aui-mail-product-item">
  121. <view class="aui-mail-product-item-hd">
  122. <image :src="menuList2.small_pic" alt=""></image>
  123. </view>
  124. <view class="aui-mail-product-item-bd">
  125. <view class="aui-mail-product-item-text">{{menuList2.goods_name}}</view>
  126. </view>
  127. </view>
  128. </view>
  129. <view class="aui-mail-payment">
  130. <view>
  131. {{menuList2.is_buyer == 1 ? '买入单:' : '卖出单:'}}实付款: ¥{{menuList2.amount}}
  132. </view>
  133. </view>
  134. <view class="aui-mail-button">
  135. <!--<text :class="[menuList2.but_ddshouhuo==0 ? 'hd' : menuList2.but_ddshouhuo==2 ? '' :'aui-df-color']">等待收货</text>-->
  136. <!--<text :class="[menuList2.but_wuliu==0 ? 'hd' : menuList2.but_wuliu==2 ? '' :'aui-df-color']">查看物流</text>-->
  137. <text @tap="goPath(menuList2)" class="aui-df-color">{{menuList2.is_buyer == 1 || menuList2.logistics_status != 1? '查看详情' : '去发货'}}</text>
  138. <!--<text :class="[menuList2.but_pingjia==0 ? 'hd' : menuList2.but_pingjia==2 ? '' :'aui-df-color']">评价晒单</text>-->
  139. <!--<text :class="[menuList2.but_fapiao==0 ? 'hd' : menuList2.but_fapiao==2 ? '' :'aui-df-color']">查看发票</text>-->
  140. <!--<text :class="[menuList2.but_zhifu==0 ? 'hd' : menuList2.but_zhifu==2 ? '' :'aui-df-color']">去支付</text>-->
  141. </view>
  142. </view>
  143. <view class="viewHeight"></view>
  144. </block>
  145. </view>
  146. </view>
  147. </view>
  148. </view>
  149. </view>
  150. </template>
  151. <script>
  152. import _get from '../../common/_get';
  153. import _hook from '../../common/_hook';
  154. import _data from '../../common/_data';
  155. import _page from '../../common/common';
  156. export default {
  157. data() {
  158. return {
  159. scrollLeft: 0,
  160. isClickChange: false,
  161. currentTab: 0,
  162. requestIndex:0,
  163. menuTabs: [
  164. {
  165. name: '全部',
  166. status:-1
  167. }, {
  168. name: '买入',
  169. status:1
  170. }, {
  171. name: '卖出',
  172. status:2
  173. }
  174. ],
  175. menuLists: []
  176. }
  177. },
  178. onLoad() {
  179. // for (var i = 0; i < this.menuLists.length; i++) {
  180. // this.getDateList(i);
  181. // }
  182. },
  183. onShow(){
  184. _hook.routeSonHook();
  185. this.getUserOrderList();
  186. },
  187. computed:{
  188. staticPhoto(){
  189. return _data.staticPhoto();
  190. }
  191. },
  192. methods: {
  193. goPath(data){
  194. uni.navigateTo({
  195. url:"detail?"+_page.pageParam(data)
  196. })
  197. },
  198. getUserOrderList(){
  199. let _this = this;
  200. _get.getUserOrderList({page:1,status:this.menuTabs[this.requestIndex].status},function (ret) {
  201. let is_page = ret.is_page;
  202. if(is_page)_this.menuLists = ret.data.data
  203. else _this.menuLists = ret.data;
  204. })
  205. },
  206. swichMenu: async function(current) { //点击其中一个选项
  207. if (this.currentTab == current) {
  208. return false;
  209. } else {
  210. this.currentTab = current;
  211. this.requestIndex = current
  212. this.getUserOrderList(this.requestIndex)
  213. this.setScrollLeft(current);
  214. }
  215. },
  216. swiperChange: async function(e) {
  217. let index = e.target.current;
  218. this.setScrollLeft(index);
  219. this.currentTab = index;
  220. },
  221. setScrollLeft: async function(tabIndex) {
  222. let leftWidthSum = 0;
  223. for (var i = 0; i <= tabIndex; i++) {
  224. let nowElement = await this.getWidth('tabNum' + i);
  225. leftWidthSum = leftWidthSum + nowElement.width;
  226. }
  227. let winWidth = uni.getSystemInfoSync().windowWidth;
  228. this.scrollLeft = leftWidthSum > winWidth ? (leftWidthSum - winWidth) : 0
  229. },
  230. getWidth: function(id) { //得到元素的宽高
  231. return new Promise((res, rej) => {
  232. uni.createSelectorQuery().select("#" + id).fields({
  233. size: true,
  234. scrollOffset: true
  235. }, (data) => {
  236. res(data);
  237. }).exec();
  238. })
  239. },
  240. getDateList: function(tabIndex) {
  241. // var entity = this.menuTabs[tabIndex].name;
  242. // this.menuLists[tabIndex].push(entity);
  243. },
  244. }
  245. }
  246. </script>
  247. <style>
  248. @import '/static/css/order/style.css';
  249. </style>