index.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryRef" size="small" :inline="true" v-show="showSearch" label-width="68px">
  4. <el-form-item label="订单号" prop="orderNo">
  5. <el-input
  6. v-model="queryParams.orderNo"
  7. placeholder="请输入订单号"
  8. clearable
  9. style="width: 240px"
  10. @keyup.enter.native="handleQuery"
  11. />
  12. </el-form-item>
  13. <el-form-item label="物流单号" prop="logisticsNo">
  14. <el-input
  15. v-model="queryParams.logisticsNo"
  16. placeholder="请输入物流单号"
  17. clearable
  18. style="width: 240px"
  19. @keyup.enter.native="handleQuery"
  20. />
  21. </el-form-item>
  22. <el-form-item label="状态" prop="orderStatus">
  23. <DictSelect v-model="queryParams.orderStatus" :dictOptions="orderStatusOption" placeholder="请选择"/>
  24. </el-form-item>
  25. <el-form-item label="下单时间" prop="dateRange">
  26. <el-date-picker
  27. v-model="queryParams.dateRange"
  28. style="width: 240px"
  29. value-format="yyyy-MM-dd"
  30. type="daterange"
  31. range-separator="-"
  32. start-placeholder="开始日期"
  33. end-placeholder="结束日期"
  34. ></el-date-picker>
  35. </el-form-item>
  36. <el-form-item>
  37. <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  38. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  39. </el-form-item>
  40. </el-form>
  41. <el-row :gutter="10" class="mb8">
  42. <el-col :span="1.5">
  43. </el-col>
  44. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  45. </el-row>
  46. <tableCompontent ref="tableRef" height="" :loading="loading" :tableData="list" :columnData="columnData">
  47. <template v-slot:operation="row">
  48. <el-button size="mini" type="text" @click="handleView(row)">详情</el-button>
  49. </template>
  50. </tableCompontent>
  51. <pagination
  52. v-show="total>0"
  53. :total="total"
  54. :page.sync="queryParams.pageNum"
  55. :limit.sync="queryParams.pageSize"
  56. @pagination="getList"
  57. />
  58. </div>
  59. </template>
  60. <script>
  61. import { getOrderPointsList } from "@/api/points/order_api";
  62. import tableCompontent from "@/components/tableCompontent/index.vue";
  63. import listMixin from '@/utils/listMixin';
  64. export default {
  65. name: "pointsRules",
  66. mixins: [listMixin],
  67. components: {
  68. tableCompontent,
  69. },
  70. data() {
  71. return {
  72. // 用户表格数据
  73. list: null,
  74. orderStatusOption:[
  75. {label:'全部',value:'1'},
  76. {label:'待发货',value:'2'},
  77. {label:'已发货',value:'3'}
  78. ],
  79. columnData:[
  80. {
  81. prop: 'seq',
  82. label: '序号',
  83. getIndex: this.getIndex,
  84. width: 55,
  85. align:'center',
  86. fixed: 'left'
  87. },
  88. {
  89. prop: 'orderNo',
  90. label: '订单号',
  91. align:'center',
  92. },
  93. {
  94. prop: 'shopName',
  95. label: '商品',
  96. align:'center',
  97. },
  98. {
  99. prop: 'shopNum',
  100. label: '数量',
  101. align:'center',
  102. },
  103. {
  104. prop: 'shopPrice',
  105. label: '价格',
  106. align:'center',
  107. },
  108. {
  109. prop: 'nickName',
  110. label: '客户昵称',
  111. align:'center',
  112. },
  113. {
  114. prop: 'phone',
  115. label: '客户手机号',
  116. align:'center',
  117. },
  118. {
  119. prop: 'orderTime',
  120. label: '下单时间',
  121. align:'center',
  122. },
  123. {
  124. prop: 'deliveryTime',
  125. label: '发货时间',
  126. align:'center',
  127. },
  128. {
  129. prop: 'logisticsNo',
  130. label: '物流单号',
  131. align:'center',
  132. },
  133. {
  134. prop: 'orderStatus',
  135. label: '状态',
  136. align:'center',
  137. type:'find',
  138. option:[]
  139. },
  140. {
  141. prop: 'operation',
  142. label: '操作',
  143. align:'center',
  144. fixed: 'right',
  145. type:'custom',
  146. width: 120
  147. },
  148. ],
  149. };
  150. },
  151. created() {
  152. this.queryParams = {
  153. ...this.queryParams,
  154. orderNo:'',
  155. logisticsNo:'',
  156. orderStatus:'',
  157. dateRange:[],
  158. }
  159. this.isImmediateLoad = false;
  160. this.getListUrl = getOrderPointsList;
  161. // 或者设置自定义数据处理函数
  162. this.customProcessDataFun = (val) => {
  163. // 自定义处理查询参数
  164. this.queryParams = this.DateRange(this.queryParams,val.dateRange || [],['startTime','endTime'],'s')
  165. };
  166. },
  167. mounted(){
  168. this.columnData.find(item => item.prop === 'orderStatus').option = this.orderStatusOption;
  169. this.handleQuery();
  170. },
  171. methods: {
  172. /** 查看详情 */
  173. handleView(row) {
  174. },
  175. }
  176. };
  177. </script>