promoCode.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. <template>
  2. <view class="warp">
  3. <view class="font">
  4. <uni-list class="font">
  5. <uni-list-item title="购买优惠码" @click="buy()" />
  6. </uni-list>
  7. </view>
  8. <view class="box">
  9. <view class="font">优惠码列表</view>
  10. <view class="header">
  11. <view class="nickname">
  12. 筛选条件:
  13. </view>
  14. <!-- <view class="header"> -->
  15. <view class="nickname">
  16. 状态:
  17. </view>
  18. <view style="width: 20%; margin-bottom: 2px;padding-top: 2upx; ">
  19. <xfl-select :list="list" :clearable="false" :showItemNum="4" :focusShowList="true" :isCanInput="false"
  20. :style_Container="'height: 18px;font-size: 13px;'" :placeholder="''" :initValue="'全部'" :selectHideType="'hideAll'"
  21. @change="change">
  22. </xfl-select>
  23. </view>
  24. <!-- </view> -->
  25. </view>
  26. <t-table @change="change">
  27. <t-tr>
  28. <t-th>优惠码</t-th>
  29. <t-th>到期时间</t-th>
  30. <t-th>状态</t-th>
  31. <t-th>使用时间</t-th>
  32. <t-th>使用机器</t-th>
  33. </t-tr>
  34. <t-tr v-for="item in tableList" :key="item.id">
  35. <t-td>{{ item.code}}</t-td>
  36. <t-td>{{ item.lastUseDate}}</t-td>
  37. <t-td>{{ item.isUse=='0'?'未使用':item.isUse=='1'?'已使用':item.isUse=='2'?'已过期':''}}</t-td>
  38. <t-td>{{ item.useDate}}</t-td>
  39. <t-td>{{ item.useBy}}</t-td>
  40. </t-tr>
  41. </t-table>
  42. </view>
  43. </view>
  44. </template>
  45. <script>
  46. import tTable from '@/components/t-table/t-table.vue';
  47. import tTh from '@/components/t-table/t-th.vue';
  48. import tTr from '@/components/t-table/t-tr.vue';
  49. import tTd from '@/components/t-table/t-td.vue';
  50. import xflSelect from '@/components/xfl-select/xfl-select.vue';
  51. import uniList from '@/components/uni-list/uni-list.vue';
  52. import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
  53. export default {
  54. components: {
  55. uniList,
  56. uniListItem,
  57. tTable,
  58. tTh,
  59. tTr,
  60. tTd,
  61. xflSelect
  62. },
  63. data() {
  64. return {
  65. tableList: [],
  66. list: [ //要展示的数据
  67. '全部',
  68. '未使用',
  69. '使用',
  70. '已过期',
  71. ],
  72. };
  73. },
  74. onShow() {
  75. var token = uni.getStorageSync("token");
  76. if (token.length>1) {
  77. this.init();
  78. }else{
  79. uni.reLaunch({
  80. url: '../Login/Login',
  81. });
  82. }
  83. },
  84. methods: {
  85. buy() {
  86. uni.navigateTo({
  87. url: 'buyPromo',
  88. });
  89. },
  90. init() {
  91. var globalUser = uni.getStorageSync("globalUser");
  92. var id = globalUser.id;
  93. var token = uni.getStorageSync("token");
  94. uni.request({
  95. url: this.serverurl + '/TPromoCode/findList',
  96. data: {
  97. "adminId": id,
  98. },
  99. header:{
  100. 'token':token
  101. },
  102. method: "POST",
  103. success: (res) => {
  104. this.tableList = res.data.data;
  105. }
  106. })
  107. },
  108. change({
  109. newVal,
  110. oldVal,
  111. index,
  112. orignItem
  113. }) {
  114. this.tableList=null;
  115. if(index==0){
  116. var isUse = null;
  117. }
  118. if(index==1){
  119. var isUse = 0;
  120. }
  121. if(index==2){
  122. var isUse = 1;
  123. }
  124. if(index==3){
  125. var isUse = 2;
  126. }
  127. var globalUser = uni.getStorageSync("globalUser");
  128. var id = globalUser.id;
  129. var token = uni.getStorageSync("token");
  130. uni.request({
  131. url: this.serverurl + '/TPromoCode/findList',
  132. data: {
  133. "adminId": id,
  134. "isUse":isUse
  135. },
  136. method: "POST",
  137. header:{
  138. 'token':token
  139. },
  140. success: (res) => {
  141. this.tableList = res.data.data;
  142. // if(res.statusCode==401){
  143. // uni.reLaunch({
  144. // url: '../Login/Login',
  145. // });
  146. // return;
  147. // }
  148. }
  149. })
  150. }
  151. }
  152. };
  153. </script>
  154. <style>
  155. .header {
  156. display: flex;
  157. flex-direction: row;
  158. justify-content: flex-start;
  159. padding-left: 10upx;
  160. }
  161. .nickname {
  162. padding-left: 10upx;
  163. height: 32upx;
  164. color: #363D44;
  165. font-size: 32upx;
  166. font-family: "PingFang-SC-Bold";
  167. }
  168. .font{
  169. color: #363D44;
  170. font-size: 36upx;
  171. font-family: "PingFang-SC-Bold";
  172. }
  173. </style>