list.php 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. <div id="app" v-cloak>
  2. <el-card shadow="never" style="border:0;" body-style="background-color: #f3f3f3;padding: 10px 0 0;">
  3. <div slot="header">
  4. <div>
  5. <span>对账列表</span>
  6. </div>
  7. </div>
  8. <div class="table-body">
  9. <el-form :inline="true" :model="searchData" class="demo-form-inline">
  10. <el-form-item label="系统支付订单号">
  11. <el-input v-model="searchData.no" placeholder="系统支付订单号"></el-input>
  12. </el-form-item>
  13. <el-form-item label="时间筛选">
  14. <el-date-picker
  15. v-model="searchData.data"
  16. type="datetimerange"
  17. range-separator="至"
  18. start-placeholder="开始日期"
  19. end-placeholder="结束日期"
  20. format="yyyy-MM-dd"
  21. value-format="yyyy-MM-dd"
  22. >
  23. </el-date-picker>
  24. </el-form-item>
  25. <el-button type="primary" @click="onSubmit">查询</el-button>
  26. <el-button @click="resetForm">重置</el-button>
  27. </el-form-item>
  28. </el-form>
  29. <!-- 订单信息 -->
  30. <template>
  31. <el-table ref="multipleTable" :data="order_list" @selection-change="handleSelectionChange">
  32. <!-- 空数据 -->
  33. <!-- <template slot="empty">
  34. <el-empty description="暂无订单"></el-empty>
  35. </template> -->
  36. <el-table-column type="selection">
  37. </el-table-column>
  38. <el-table-column prop="sys_order_no" align="center" label="系统支付订单号">
  39. </el-table-column>
  40. <el-table-column prop="order_amount" align="center" label="订单金额">
  41. </el-table-column>
  42. <el-table-column prop="alt_order_amount" align="center" label="结算金额">
  43. </el-table-column>
  44. <!-- <el-table-column prop="refund_amount" align="center" label="退款金额">
  45. </el-table-column> -->
  46. <!-- <el-table-column prop="refund_num" align="center" label="退款次数">
  47. </el-table-column> -->
  48. <el-table-column prop="alt_status" align="center" label="状态">
  49. </el-table-column>
  50. <el-table-column prop="created_at" label="创建时间" align="center">
  51. <template slot-scope="scope">
  52. {{ scope.row.created_at|dateTimeFormat('Y-m-d H:i:s') }}
  53. </template>
  54. </el-table-column>
  55. </el-table>
  56. </template>
  57. <!-- 分页 -->
  58. <el-row type="flex" class="page" justify="end">
  59. <el-pagination @current-change="pagination" background layout="prev, pager, next" :page-count="pageCount" v-if="order_list"></el-pagination>
  60. </el-row>
  61. </div>
  62. </el-card>
  63. </div>
  64. <script>
  65. const app = new Vue({
  66. el: '#app',
  67. data() {
  68. return {
  69. searchData: {
  70. no: '',
  71. data: ''
  72. },
  73. order_list: [],
  74. status: {},
  75. tradeType: {},
  76. pageCount: 0,
  77. page: 1,
  78. currentPage: null,
  79. listLoading: false,
  80. btnLoading: false,
  81. checked: false,
  82. type: '',
  83. sort: '',
  84. };
  85. },
  86. methods: {
  87. handleSelectionChange(val) {
  88. this.select_order = val
  89. },
  90. // 全选
  91. allSelect() {
  92. if (this.checked) {
  93. this.goods_list.forEach(function(item, index) {
  94. if (!item.storage) {
  95. item.is_select = true
  96. }
  97. })
  98. } else {
  99. this.goods_list.forEach(function(item, index) {
  100. item.is_select = false
  101. })
  102. }
  103. },
  104. //搜索
  105. onSubmit() {
  106. this.page = 1
  107. this.getOrderList()
  108. },
  109. pagination(currentPage) {
  110. this.page = currentPage
  111. this.getOrderList()
  112. },
  113. getOrderList() {
  114. this.listLoading = true;
  115. var param = {
  116. r: 'huiju-bill/bill/list',
  117. page: this.page,
  118. }
  119. Object.assign(param, param, this.searchData)
  120. request({
  121. params: param,
  122. }).then(e => {
  123. if (e.data.code === 0) {
  124. this.order_list = e.data.data.list
  125. this.pageCount = e.data.data.page_count
  126. this.currentPage = e.data.data.pagination.current_page
  127. } else {
  128. this.$message.error(e.data.msg)
  129. }
  130. this.listLoading = false
  131. }).catch(e => {
  132. this.listLoading = false
  133. })
  134. },
  135. //重置
  136. resetForm() {
  137. this.searchData = {
  138. no: '',
  139. data: '',
  140. }
  141. },
  142. },
  143. mounted: function() {
  144. this.page = getQuery('page') ? getQuery('page') : 1
  145. this.getOrderList()
  146. }
  147. });
  148. </script>
  149. <style>
  150. .table-body {
  151. padding: 20px;
  152. background-color: #fff;
  153. }
  154. .input-item {
  155. display: inline-block;
  156. width: 150px;
  157. margin: 0 0 20px;
  158. margin-right: 10px;
  159. }
  160. .input-item .el-input__inner {
  161. border-right: 1px solid #dcdfe6;
  162. }
  163. .input-item .el-input__inner:hover {
  164. border: 1px solid #dcdfe6;
  165. border-right: 0;
  166. outline: 0;
  167. }
  168. .input-item .el-input__inner:focus {
  169. border: 1px solid #dcdfe6;
  170. border-right: 0;
  171. outline: 0;
  172. }
  173. .input-item .el-input-group__append {
  174. background-color: #fff;
  175. border-left: 0;
  176. width: 10%;
  177. padding: 0;
  178. }
  179. .input-item .el-input-group__append .el-button {
  180. padding: 0;
  181. }
  182. .input-item .el-input-group__append .el-button {
  183. margin: 0;
  184. }
  185. .select {
  186. float: left;
  187. width: 100px;
  188. margin-right: 10px;
  189. }
  190. .el-table th>.cell {
  191. color: #333;
  192. font-weight: bold;
  193. font-size: 14px;
  194. }
  195. .el-table__footer-wrapper,
  196. .el-table__header-wrapper {
  197. border-bottom: 1.4px solid #D6D6D6;
  198. }
  199. .search-sort {
  200. display: inline-block;
  201. margin: 0px 10px;
  202. cursor: pointer;
  203. color: rgb(51, 51, 51);
  204. }
  205. .caret-wrapper {
  206. display: inline-flex;
  207. flex-direction: column;
  208. align-items: center;
  209. height: 25px;
  210. width: 11px;
  211. vertical-align: middle;
  212. cursor: pointer;
  213. overflow: initial;
  214. position: relative;
  215. }
  216. .caret-top {
  217. border: 5px solid transparent;
  218. margin: 1px 0;
  219. border-bottom-color: rgb(51, 51, 51);
  220. }
  221. .caret-bottom {
  222. border: 5px solid transparent;
  223. margin: 1px 0;
  224. border-top-color: rgb(51, 51, 51);
  225. }
  226. .active {
  227. border-top-color: rgb(41, 186, 156);
  228. }
  229. .ellipsis {
  230. font-size: .14rem;
  231. color: #333;
  232. overflow: hidden;
  233. text-overflow: ellipsis;
  234. }
  235. .goods-wrapper {
  236. border: 2px solid #CCCCCC;
  237. display: inline-block
  238. }
  239. .goods-select {
  240. border: 2px solid #bb730c;
  241. }
  242. .goods-price {
  243. text-align: center;
  244. }
  245. .goods-price .number {
  246. color: red;
  247. font-weight: 600;
  248. font-size: .18rem;
  249. }
  250. .goods-price .title {
  251. padding: 5px 0;
  252. color: #999;
  253. ;
  254. font-size: .1rem;
  255. font-weight: 600;
  256. }
  257. .bottom-price .title {
  258. padding: 5px 0;
  259. color: #8b8888;
  260. ;
  261. font-size: .1rem;
  262. }
  263. .bottom-price .number {
  264. color: #ff5100;
  265. font-size: .1rem;
  266. }
  267. .goods-action {
  268. margin-top: 0.8rem;
  269. }
  270. .goods-action .title {
  271. color: #0634aa;
  272. }
  273. .bottom-active {
  274. border-bottom-color: rgb(186, 41, 92);
  275. }
  276. .top-active {
  277. border-top-color: rgb(186, 41, 92);
  278. }
  279. .price {
  280. white-space: nowrap;
  281. }
  282. .goods-image {
  283. display: flex;
  284. justify-content: center;
  285. }
  286. .page {
  287. padding: 10px 0;
  288. }
  289. </style>