ba-receive-address-list.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <template>
  2. <div v-loading="loading">
  3. <div class="white-box">
  4. <el-table class="table-box" ref="multipleTable" :data="tableData" stripe style="width: 100%;">
  5. <el-table-column label="Consignee" prop="CONSIGNEE" width="150"></el-table-column><!-- 收货人 -->
  6. <el-table-column label="Phone Number" prop="MOBILE" width="150"></el-table-column><!-- 手机号码 -->
  7. <el-table-column label="Address" prop="ADDRESS" ></el-table-column><!-- 详细地址 -->
  8. <el-table-column label="City" prop="CITY_NAME" width="150"></el-table-column>
  9. <el-table-column label="Local Government Area" prop="LGA_NAME" width="180"></el-table-column>
  10. <el-table-column label="State" prop="PROVINCE_NAME" width="150"></el-table-column>
  11. <el-table-column label="Default" width="100">
  12. <template slot-scope="scope">
  13. {{scope.row.IS_DEFAULT === '1' ? 'YES' : 'NO'}}<!-- 是:否 -->
  14. </template>
  15. </el-table-column>
  16. <el-table-column fixed="right" label="Action" width="180"><!-- 操作 -->
  17. <template slot-scope="scope">
  18. <el-dropdown size="small" trigger="click">
  19. <el-button type="primary" size="small" @click.stop="">
  20. Action<i class="el-icon-arrow-down el-icon--right"></i>
  21. </el-button>
  22. <el-dropdown-menu slot="dropdown">
  23. <el-dropdown-item command="edit" @click.native="handleUpdate(scope.row)">Edit</el-dropdown-item><!-- 编辑 -->
  24. <el-dropdown-item command="edit" @click.native="handleDelete(scope.row)">Delete</el-dropdown-item><!-- 删除 -->
  25. </el-dropdown-menu>
  26. </el-dropdown>
  27. </template>
  28. </el-table-column>
  29. </el-table>
  30. <div class="white-box-footer">
  31. <el-button type="primary" size="small" @click="handleAdd">Add Shipping Address</el-button><!-- 添加收货地址 -->
  32. <pagination :total="totalCount" :page_size="pageSize" @size-change="handleSizeChange" @current-change="handleCurrentChange"></pagination>
  33. </div>
  34. </div>
  35. </div>
  36. </template>
  37. <script>
  38. import network from '@/utils/network'
  39. import tool from '@/utils/tool'
  40. import Pagination from '@/components/Pagination'
  41. export default {
  42. name: 'ba-receive-address-list',
  43. components: {
  44. Pagination
  45. },
  46. mounted() {
  47. this.loading = false;
  48. this.getData();
  49. },
  50. data() {
  51. return {
  52. tableData: [],
  53. loading: true,
  54. multipleSelection: [],
  55. currentPage: 1,
  56. totalPages: 1,
  57. totalCount: 1,
  58. pageSize: 20,
  59. tool: tool,
  60. filterData: null,
  61. filterStatus: 'ALL',
  62. periodNum: null,
  63. periodNums: null,
  64. allType:{
  65. ORDER: '订货店补',
  66. TRANS: '转账店补',
  67. PROD: '产品补贴',
  68. TOOL: '工具流补贴'
  69. },
  70. }
  71. },
  72. methods: {
  73. handleCurrentChange(page) {
  74. this.getData(page, this.pageSize)
  75. },
  76. handleSizeChange(pageSize) {
  77. this.getData(this.currentPage, pageSize)
  78. },
  79. getData(page, pageSize) {
  80. let vueObj = this
  81. network.getPageData(this, 'config/ba-receive-address-list', page, pageSize, {}, function (response) {
  82. vueObj.tableData = response.list
  83. })
  84. },
  85. handleAdd() {
  86. this.$router.push({path: `/config/ba-receive-address-add`})
  87. },
  88. handleUpdate (row) {
  89. this.$router.push({path: `/config/ba-receive-address-edit/${row.ID}`})
  90. },
  91. handleDelete (row) {
  92. this.$confirm(`Are you sure you want to delete the selected data?`, 'Hint', {//`确定要删除所选数据吗?`, '提示'
  93. confirmButtonText: 'Confirm',//确定
  94. cancelButtonText: 'Cancel',//取消
  95. type: 'warning'
  96. }).then(() => {
  97. let selectedIds = [row.ID]
  98. return network.postData(`config/ba-receive-address-delete`, {selected: selectedIds})
  99. }).then(response => {
  100. this.$message({
  101. message: response,
  102. type: 'success'
  103. })
  104. this.getData(this.currentPage, this.pageSize)
  105. }).catch(response => {
  106. this.$message({
  107. message: response,
  108. type: 'error'
  109. })
  110. })
  111. },
  112. }
  113. }
  114. </script>
  115. <style scoped>
  116. .leo-filter {
  117. padding: 0 0 15px 0;
  118. }
  119. .leo-filter .filter-hidden {
  120. display: none;
  121. }
  122. .filter-item {
  123. margin-right: 10px;
  124. }
  125. @media (min-width: 768px) {
  126. .leo-filter {
  127. }
  128. .leo-filter .filter-item {
  129. display: inline-block;
  130. max-width: 200px;
  131. }
  132. .leo-filter .filter-item.filter-date-month-picker {
  133. display: inline-block;
  134. max-width: 220px;
  135. }
  136. .leo-filter .filter-item.filter-date-range-picker {
  137. display: inline-block;
  138. max-width: 380px;
  139. }
  140. .leo-filter .filter-item.filter-filter-btn {
  141. height: 38px;
  142. width: 80px;
  143. }
  144. .leo-filter .filter-hidden {
  145. display: none;
  146. }
  147. }
  148. .table-box .el-form-item__label {
  149. width: 100px;
  150. color: #99a9bf;
  151. }
  152. .table-box .el-form-item {
  153. width: 30%;
  154. margin-right: 0;
  155. margin-bottom: 0;
  156. }
  157. </style>