Advertisement
ihsanz2

tesss

Apr 30th, 2019
377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.50 KB | None | 0 0
  1. <template>
  2. <div>
  3. <h1>Product List</h1>
  4. <vue-bootstrap4-table
  5. :rows="rows"
  6. :columns="columns"
  7. :config="config"
  8. @on-change-query="onChangeQuery"
  9. :totalRows="total_rows"
  10. ></vue-bootstrap4-table>
  11. </div>
  12. </template>
  13.  
  14. <script>
  15. import axios from "axios";
  16. import VueBootstrap4Table from "vue-bootstrap4-table";
  17. export default {
  18. components: {
  19. VueBootstrap4Table
  20. },
  21. data() {
  22. return {
  23. rows: [],
  24. columns: [
  25. {
  26. label: "No",
  27. name: "id",
  28. column_classes: "my-column-class1"
  29. },
  30. {
  31. label: "Shop Name",
  32. name: "shop_name",
  33. column_classes: "my-column-name",
  34. filter: {
  35. type: "simple",
  36. placeholder: "Enter first name"
  37. },
  38. sort: true
  39. },
  40. {
  41. label: "Action",
  42. name: "action",
  43. sort: true,
  44. filter: {
  45. type: "simple",
  46. placeholder: "Enter Email"
  47. }
  48. },
  49. {
  50. label: "Create On",
  51. name: "date",
  52. sort: true
  53. },
  54. {
  55. label: "Moderation Status",
  56. name: "moderation_status",
  57. sort: true,
  58. filter: {
  59. type: "simple",
  60. placeholder: "Enter Email"
  61. }
  62. },
  63. {
  64. label: "Status",
  65. name: "status",
  66. sort: true,
  67. filter: {
  68. type: "simple",
  69. placeholder: "Filter Status"
  70. }
  71. },
  72. {
  73. label: "Feature Product",
  74. name: "feature",
  75. sort: true,
  76. filter: {
  77. type: "simple",
  78. placeholder: "Enter Feature"
  79. }
  80. },
  81. {
  82. label: "Add To Event",
  83. name: "add_event",
  84. sort: true,
  85. filter: {
  86. type: "simple",
  87. placeholder: "Enter event"
  88. }
  89. },
  90. {
  91. label: "Product Name",
  92. name: "product_name",
  93. sort: true,
  94. filter: {
  95. type: "simple",
  96. placeholder: "Product Name",
  97. debounceRate: 1000
  98. }
  99. },
  100. {
  101. label: "Image",
  102. name: "image",
  103. sort: true,
  104. filter: {
  105. type: "simple",
  106. placeholder: "Enter Email"
  107. }
  108. },
  109. {
  110. label: "Quantity",
  111. name: "quantity",
  112. sort: true,
  113. filter: {
  114. type: "simple",
  115. placeholder: "Enter Email"
  116. }
  117. },
  118. {
  119. label: "Price",
  120. name: "price",
  121. sort: true,
  122. filter: {
  123. type: "simple",
  124. placeholder: "Enter price"
  125. }
  126. },
  127. {
  128. label: "Price Modified",
  129. name: "proce_modified",
  130. sort: true,
  131. filter: {
  132. type: "simple",
  133. placeholder: "Enter Email"
  134. }
  135. },
  136.  
  137. {
  138. label: "Last Price",
  139. name: "last_price",
  140. sort: true,
  141. filter: {
  142. type: "simple",
  143. placeholder: "Enter Email"
  144. }
  145. },
  146. {
  147. label: "Discount",
  148. name: "discount",
  149. sort: true,
  150. filter: {
  151. type: "simple",
  152. placeholder: "Enter Email"
  153. }
  154. },
  155. {
  156. label: "Add By",
  157. name: "add_by",
  158. sort: true,
  159. filter: {
  160. type: "simple",
  161. placeholder: "Enter Email"
  162. }
  163. },
  164. {
  165. label: "Category",
  166. name: "category",
  167. sort: true,
  168. filter: {
  169. type: "simple",
  170. placeholder: "Enter Email"
  171. }
  172. },
  173. {
  174. label: "Color",
  175. name: "color",
  176. sort: true,
  177. filter: {
  178. type: "simple",
  179. placeholder: "Enter Email"
  180. }
  181. },
  182. {
  183. label: "Brand",
  184. name: "brand",
  185. sort: true,
  186. filter: {
  187. type: "simple",
  188. placeholder: "Enter Email"
  189. }
  190. },
  191. {
  192. label: "Garansi",
  193. name: "garansi",
  194. sort: true,
  195. filter: {
  196. type: "simple",
  197. placeholder: "Enter Email"
  198. }
  199. }
  200. ],
  201.  
  202. config: {
  203.  
  204. server_mode: true,
  205. card_title: "User List"
  206.  
  207. },
  208. queryParams: {
  209. sort: [],
  210. filters: [],
  211. product_name: "",
  212. global_search: "",
  213. per_page: 10,
  214. page: 1
  215. },
  216. total_rows: 0
  217. };
  218. },
  219. methods: {
  220. onChangeQuery(queryParams) {
  221. onChangeQuery(queryParams) {
  222. this.queryParams = queryParams;
  223. this.fetchData();
  224. },
  225. },
  226.  
  227. fetchData() {
  228. let self = this;
  229. axios
  230. .get("http://localhost:8081/administrator/product/list", {
  231. params: {
  232. queryParams: this.queryParams,
  233. page: this.queryParams.page
  234. }
  235. })
  236. .then(function(response) {
  237. // console.log(response.data);
  238. self.rows = response.data.data;
  239. self.total_rows = response.data.total_rows;
  240. })
  241. .catch(function(error) {
  242. console.log(error);
  243. });
  244. }
  245. },
  246. mounted() {
  247. this.fetchData();
  248. }
  249. };
  250. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement