You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

agencyUserManagementPage.vue 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <template>
  2. <!-- eslint-disable max-len -->
  3. <main id="main">
  4. <div class="container">
  5. <div class="row">
  6. <div class="col-md-12 col-lg-8">
  7. <div class="section-header">
  8. <h2>Agency Management</h2>
  9. </div>
  10. </div>
  11. </div>
  12. <div class="row">
  13. <div class="col-md-1 offset-1">
  14. <button
  15. @click="routerGoTo('/status/userManagementPage')"
  16. type="button"
  17. class="btn-white-border"
  18. >
  19. USERS
  20. </button>
  21. </div>
  22. <div class="col-md-1 offset-1">
  23. <button
  24. @click="routerGoTo('/status/agentUserManagementPage')"
  25. type="button"
  26. class="btn-white-border"
  27. >
  28. AGENTS
  29. </button>
  30. </div>
  31. <div class="col-md-1 offset-1">
  32. <button type="button" class="btn-solid-blue">AGENCIES</button>
  33. </div>
  34. <div class="col-md-3 offset-3">
  35. <button
  36. type="button"
  37. class="btn-white-border"
  38. data-toggle="modal"
  39. :data-target="'#myModalAgency'"
  40. >
  41. NEW AGENCY
  42. </button>
  43. <div :id="'myModalAgency'" class="modal fade" role="dialog">
  44. <div class="modal-dialog modal-lg">
  45. <div class="modal-content">
  46. <div class="modal-header">
  47. <button type="button" class="close" data-dismiss="modal">&times;</button>
  48. </div>
  49. <Agency name="Agency" :isAddAgent="false" :item="item" />
  50. </div>
  51. </div>
  52. </div>
  53. </div>
  54. </div>
  55. <div class="container">
  56. <ListView
  57. :items="agencies"
  58. :showNew="false"
  59. :editable="false"
  60. :deleteable="false"
  61. :showCustomAction="true"
  62. :showColumnChooser="false"
  63. :displayColumns="columns"
  64. :displayHeaders="headers"
  65. @onEdit="Edit"
  66. @onDelete="Delete"
  67. />
  68. </div>
  69. </div>
  70. </main>
  71. </template>
  72. <script>
  73. /* eslint-disable */
  74. import { mapState, mapActions } from "vuex";
  75. import axios from "axios";
  76. import Agency from "../../user/registerAgencySection.vue";
  77. // import alert from '../../shared/alert.vue';
  78. import ListView from "../../shared/listView.vue";
  79. export default {
  80. name: "agencyManagementPage",
  81. components: {
  82. ListView,
  83. Agency
  84. // alert,
  85. },
  86. props: {
  87. delete: Boolean
  88. },
  89. data() {
  90. return {
  91. columns: ["id", "agencyName", "eaabeffcNumber", "companyRegNumber"],
  92. headers: ["", "", "", ""],
  93. item: {}
  94. };
  95. },
  96. methods: {
  97. ...mapActions("register", ["getAgencies", "deleteAgency"]),
  98. addNewAgency({ commit }) {
  99. axios
  100. .post("/api/agency")
  101. .then(result => commit("saveAgency", result.data))
  102. .catch(console.error);
  103. },
  104. routerGoTo(goTo) {
  105. this.$router.push(goTo);
  106. },
  107. Edit(item) {
  108. this.$router.push({ name: "UpdateAgencyProfile", params: { agency: item } });
  109. },
  110. Delete(item) {
  111. console.log(item.id);
  112. this.deleteAgency(item.id);
  113. }
  114. },
  115. mounted() {
  116. this.getAgencies();
  117. },
  118. computed: {
  119. ...mapState("register", ["agencies", "removeAgency"])
  120. }
  121. };
  122. </script>
  123. <style></style>