receive-address-list.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  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: 'config_receive-address-list',
  43. components: {Pagination},
  44. mounted() {
  45. this.loading = false
  46. this.getData()
  47. },
  48. data() {
  49. return {
  50. tableData: [],
  51. loading: true,
  52. multipleSelection: [],
  53. currentPage: 1,
  54. totalPages: 1,
  55. totalCount: 1,
  56. pageSize: 20,
  57. tool: tool,
  58. filterData: null,
  59. filterStatus: 'ALL',
  60. periodNum: null,
  61. periodNums: null,
  62. allType:{ORDER:'订货店补',TRANS:'转账店补',PROD:'产品补贴',TOOL:'工具流补贴'}
  63. }
  64. },
  65. methods: {
  66. handleCurrentChange(page) {
  67. this.getData(page, this.pageSize)
  68. },
  69. handleSizeChange(pageSize) {
  70. this.getData(this.currentPage, pageSize)
  71. },
  72. getData(page, pageSize) {
  73. let vueObj = this
  74. network.getPageData(this, 'config/receive-address-list', page, pageSize, null, function (response) {
  75. vueObj.tableData = response.list
  76. })
  77. },
  78. handleAdd() {
  79. this.$router.push({path: `/config/receive-address-add`})
  80. },
  81. handleUpdate (row) {
  82. this.$router.push({path: `/config/receive-address-edit/${row.ID}`})
  83. },
  84. handleDelete (row) {
  85. this.$confirm(`Are you sure you want to delete the selected data?`, 'Hint', {//`确定要删除所选数据吗?`, '提示'
  86. confirmButtonText: 'Confirm',//确定
  87. cancelButtonText: 'cancel',//取消
  88. type: 'warning'
  89. }).then(() => {
  90. let selectedIds = [row.ID]
  91. return network.postData(`config/receive-address-delete`, {selected: selectedIds})
  92. }).then(response => {
  93. this.$message({
  94. message: response,
  95. type: 'success'
  96. })
  97. this.getData(this.currentPage, this.pageSize)
  98. }).catch(response => {
  99. this.$message({
  100. message: response,
  101. type: 'error'
  102. })
  103. })
  104. },
  105. }
  106. }
  107. </script>
  108. <style scoped>
  109. .leo-filter {
  110. padding: 0 0 15px 0;
  111. }
  112. .leo-filter .filter-hidden {
  113. display: none;
  114. }
  115. .filter-item {
  116. margin-right: 10px;
  117. }
  118. @media (min-width: 768px) {
  119. .leo-filter {
  120. }
  121. .leo-filter .filter-item {
  122. display: inline-block;
  123. max-width: 200px;
  124. }
  125. .leo-filter .filter-item.filter-date-month-picker {
  126. display: inline-block;
  127. max-width: 220px;
  128. }
  129. .leo-filter .filter-item.filter-date-range-picker {
  130. display: inline-block;
  131. max-width: 380px;
  132. }
  133. .leo-filter .filter-item.filter-filter-btn {
  134. height: 38px;
  135. width: 80px;
  136. }
  137. .leo-filter .filter-hidden {
  138. display: none;
  139. }
  140. }
  141. .table-box .el-form-item__label {
  142. width: 100px;
  143. color: #99a9bf;
  144. }
  145. .table-box .el-form-item {
  146. width: 30%;
  147. margin-right: 0;
  148. margin-bottom: 0;
  149. }
  150. </style>