Advertisement
Guest User

Untitled

a guest
Aug 17th, 2019
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.47 KB | None | 0 0
  1. <template>
  2. <div class="content">
  3. <div class="">
  4. <div class="page-header-title">
  5. <h4 class="page-title">{{form.name}}</h4>
  6. </div>
  7. </div>
  8.  
  9. <div class="page-content-wrapper ">
  10. <div class="container-fluid">
  11. <div class="row">
  12. <div class="col-sm-12">
  13. <form
  14. ref="form"
  15. class="form1"
  16. id="form1"
  17. autocomplete="off"
  18. data-parsley-validate>
  19. <div class="card">
  20. <div class="card-body">
  21. <div class="form-group row">
  22. <label class="col-md-2 control-label">Name</label>
  23. <div class="col-md-10">
  24. <input
  25. type="text"
  26. class="form-control"
  27. name="name"
  28. v-model="form.name"
  29. data-parsley-required="true"
  30. data-parsley-error-message="Please enter the name"
  31. placeholder="name">
  32. </div>
  33. </div>
  34. <div class="form-group row">
  35. <label class="col-md-2 control-label">New User Default Role</label>
  36. <div class="col-md-10">
  37. <select2
  38. :items="roleLists"
  39. :option="{ 'placeholder': 'Please select the user role', 'allowClear': true }"
  40. v-model="form.setting.defaultRole"
  41. :required="true"
  42. required-message="Please selelct the user role"
  43. :multiple="false">
  44. </select2>
  45. </div>
  46. </div>
  47.  
  48. <div class="form-group row">
  49. <label class="col-md-2 control-label"></label>
  50. <div class="col-md-10">
  51. <div class="d-flex justify-content-between">
  52. <div>
  53. <button
  54. type="button"
  55. class="btn btn-primary waves-effect waves-light"
  56. @click="submit">
  57. Save
  58. </button>
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. </form>
  66. </div>
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. </template>
  72.  
  73. <script>
  74. export default {
  75. name: 'general-setting',
  76. data: () => ({
  77. form: {
  78. id: null,
  79. name: '',
  80. type: 'general',
  81. setting: {},
  82. },
  83. roleLists: [],
  84. }),
  85. components: {
  86. select2: () => import('../common/select2.vue')
  87. },
  88. mounted () {
  89. this.getSetting();
  90. this.getUserRoleList();
  91. this.initFormValidate();
  92. },
  93. methods: {
  94. initFormValidate () {
  95. this.$form = $(this.$el.querySelector('#form1'));
  96. },
  97. getSetting () {
  98. axios.get(`/api/setting/general`)
  99. .then(response => {
  100. if (response.status === 200 && response.data) {
  101. this.form = response.data.fields;
  102. this.form.setting = this.form.general ? this.form.general[0] : {};
  103. this.form.id = response.data.id;
  104. }
  105. }).catch((e) => {
  106. console.error(e);
  107. });
  108. },
  109. submit: function () {
  110. if (!this.$form.parsley().validate()) {
  111. return false;
  112. }
  113.  
  114. let url = '/api/setting/update/';
  115.  
  116. axios.post(url, this.form)
  117. .then((response) => {
  118. if (response.status === 200 && response.data) {
  119. let message = 'Edit success';
  120. swal (message, '', 'success');
  121. this.form = response.data.fields;
  122. this.form.id = response.data.id;
  123. }
  124. });
  125. },
  126. getUserRoleList () {
  127. axios.get('/api/role/list')
  128. .then(response => {
  129. if (response.status === 200 && response.data) {
  130. this.roleLists = response.data.map((item) => {
  131. return {
  132. id: item._id,
  133. name: item.name
  134. };
  135. });
  136. }
  137. }).catch(e => {
  138. console.error(e);
  139. });
  140. }
  141. }
  142. }
  143. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement