sms.vue 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <template>
  2. <div>
  3. <UiForm
  4. :model="Parameters"
  5. :entity="parameters"
  6. action-position="bottom"
  7. >
  8. <v-row>
  9. <v-col cols="12">
  10. <UiInputText
  11. v-model="parameters.smsSenderName"
  12. field="smsSenderName"
  13. />
  14. </v-col>
  15. <v-col cols="12">
  16. <UiInputText
  17. v-model="parameters.usernameSMS"
  18. field="usernameSMS"
  19. label="Nom d'utilisateur SMS"
  20. />
  21. </v-col>
  22. <v-col cols="12">
  23. <UiInputText
  24. v-model="parameters.passwordSMS"
  25. field="passwordSMS"
  26. class="password"
  27. />
  28. </v-col>
  29. </v-row>
  30. </UiForm>
  31. </div>
  32. </template>
  33. <script setup lang="ts">
  34. import Parameters from '~/models/Organization/Parameters'
  35. import { useEntityFetch } from '~/composables/data/useEntityFetch'
  36. import { useOrganizationProfileStore } from '~/stores/organizationProfile'
  37. import { AsyncData } from '#app'
  38. const { fetch } = useEntityFetch()
  39. const organizationProfile = useOrganizationProfileStore()
  40. if (organizationProfile.parametersId === null) {
  41. throw new Error('Missing organization parameters id')
  42. }
  43. const { data: parameters, pending } = fetch(
  44. Parameters,
  45. organizationProfile.parametersId
  46. ) as AsyncData<Parameters, Parameters | true>
  47. </script>
  48. <style scoped lang="scss">
  49. /**
  50. Simule une apparence de saisie de type mot de passe
  51. Sans ça, les navigateurs proposent la saisie semi auto et la mémorisation du mot de passe
  52. */
  53. @font-face {
  54. font-family: 'password';
  55. font-style: normal;
  56. font-weight: 400;
  57. font-display: block;
  58. src: url(https://jsbin-user-assets.s3.amazonaws.com/rafaelcastrocouto/password.ttf);
  59. }
  60. :deep(.password input) {
  61. font-family: 'password';
  62. }
  63. </style>