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.

contactUsSource.vue 4.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <template>
  2. <main id="main" style="margin-top: 200px; padding-bottom: 50px;">
  3. <div class="container">
  4. <div class="form">
  5. <div class="row">
  6. <div class="col">
  7. <div class="section-header">
  8. <h2>Contact Us Source</h2>
  9. </div>
  10. </div>
  11. </div>
  12. <div v-if="checkAccess" class="row mb-3">
  13. <div class="col-md-12">
  14. <form id="mainForm">
  15. <div class="form-group row">
  16. <div class="col-md-4">
  17. <float-label fixed label="Description">
  18. <input
  19. class="form-control uniInput"
  20. type="text"
  21. name="description"
  22. id="description"
  23. v-model="contactUsSource.description"
  24. v-bind:class="{
  25. 'is-valid': contactUsSource.description,
  26. 'is-invalid':
  27. !requiredField(contactUsSource.description) &&
  28. descriptionLoad,
  29. }"
  30. v-on:keyup="descriptionLoad = true"
  31. v-on:blur="descriptionLoad = true"
  32. />
  33. <div class="invalid-feedback">Description is Required!</div>
  34. </float-label>
  35. </div>
  36. </div>
  37. </form>
  38. </div>
  39. <div v-if="boolValidationError" class="row">
  40. <div class="col">
  41. <alert :text="errorMessage" :type="errorOccurred" />
  42. </div>
  43. </div>
  44. <div class="col-md-12">
  45. <button
  46. type="button"
  47. @click="SubmitData()"
  48. class="btn-white-border"
  49. >
  50. Save
  51. </button>
  52. <button type="button" @click="Close()" class="btn-white-border">
  53. Close
  54. </button>
  55. </div>
  56. </div>
  57. <div v-else class="row">
  58. <div class="col">
  59. <alert
  60. :text="'You don\'t have permission to view this page'"
  61. :type="'ERROR'"
  62. />
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. </main>
  68. </template>
  69. <script>
  70. /* eslint-disable */
  71. import { mapState, mapActions } from 'vuex'
  72. import Log from '../../assets/Log'
  73. import alert from '../shared/alert'
  74. export default {
  75. name: 'ContactUsSource',
  76. data() {
  77. return {
  78. errorOccurred: '',
  79. errorMessage: '',
  80. boolMessage: false,
  81. boolValidationError: false,
  82. descriptionLoad: false,
  83. }
  84. },
  85. components: {
  86. alert,
  87. },
  88. mounted() {
  89. this.clearContactUsSource()
  90. if (this.$route.params.id > 0) {
  91. console.log(this.$route.params.id)
  92. this.getContactUsSource(this.$route.params.id)
  93. console.log(this.contactUsSource.description)
  94. }
  95. },
  96. computed: {
  97. ...mapState('contactUsSources', ['contactUsSource']),
  98. checkAccess() {
  99. if (Log.getUser().role === 'Super Admin') {
  100. return true
  101. } else {
  102. return false
  103. }
  104. },
  105. },
  106. methods: {
  107. ...mapActions('contactUsSources', [
  108. 'getContactUsSource',
  109. 'saveContactUsSource',
  110. 'updateContactUsSource',
  111. 'clearContactUsSource',
  112. ]),
  113. SubmitData() {
  114. if (this.validatePage()) {
  115. console.log('SubmitData')
  116. if (this.contactUsSource.id > 0) {
  117. this.updateContactUsSource(this.contactUsSource)
  118. } else {
  119. this.saveContactUsSource(this.contactUsSource)
  120. }
  121. this.$router.push('/contactUsSource/list')
  122. }
  123. },
  124. Close() {
  125. this.$router.push('/contactUsSource/list')
  126. },
  127. requiredField: function (tfield) {
  128. if (tfield) {
  129. return true
  130. } else {
  131. return false
  132. }
  133. },
  134. validatePage: function () {
  135. console.log('validatePage')
  136. if (this.contactUsSource.description) {
  137. console.log('passed')
  138. this.errorOccurred = ''
  139. this.errorMessage = ''
  140. this.boolValidationError = false
  141. return true
  142. } else {
  143. console.log('failed')
  144. this.descriptionLoad = true
  145. this.surnameLoad = true
  146. this.boolValidationError = true
  147. this.errorOccurred = 'ERROR'
  148. this.errorMessage = 'Please check form and correct all input fields!'
  149. return false
  150. }
  151. },
  152. },
  153. }
  154. </script>