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.

propertyUserField.vue 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template>
  2. <div class="row">
  3. <div class="col-md-4 mb-2" v-for="(currentField, i) in fields" :key="i">
  4. <div class="input-group-prepend">
  5. <!-- <span class="input-group-text" style="color: #60CBEB">
  6. <b>{{ GetFirstLetter(currentField.name) }}</b>
  7. </span> -->
  8. <div v-if="!setFields[i] && currentField.type !== 'yesno'">
  9. <label class="uniSelectLabel">{{ currentField.name }}</label>
  10. </div>
  11. <input
  12. v-if="currentField.type === 'number'"
  13. class="form-control uniInput"
  14. type="number"
  15. name="currentField.name"
  16. id="currentField.id"
  17. v-model="setFields[i]"
  18. @change="UpdateSetFields(currentField, i)"
  19. />
  20. <input
  21. v-if="currentField.type === 'text'"
  22. class="form-control uniInput"
  23. type="text"
  24. name="currentField.name"
  25. id="currentField.id"
  26. v-model="setFields[i]"
  27. @change="UpdateSetFields(currentField, i)"
  28. />
  29. </div>
  30. </div>
  31. <div class="col-md-4 mb-2" v-for="(currentField, i) in fields" :key="'checkField' + i">
  32. <div class="input-group-prepend">
  33. <!-- <span class="input-group-text" style="color: #60CBEB">
  34. <b>{{ GetFirstLetter(currentField.name) }}</b>
  35. </span> -->
  36. <div v-if="currentField.type === 'yesno'">
  37. <label class="uniSelectLabel">{{ currentField.name }}</label>
  38. </div>
  39. <input
  40. v-if="currentField.type === 'yesno'"
  41. type="checkbox"
  42. id="currentField.id"
  43. style="margin-left:-5px; margin-top:10px"
  44. v-model="setFields[i]"
  45. @change="UpdateSetFields(currentField, i)"
  46. />
  47. </div>
  48. </div>
  49. </div>
  50. </template>
  51. <script>
  52. export default {
  53. name: "UserDefinedField",
  54. props: {
  55. fields: { type: Array, default: () => [] }
  56. },
  57. data() {
  58. return {
  59. setFields: []
  60. };
  61. },
  62. methods: {
  63. UpdateSetFields(field, index) {
  64. const item = {
  65. userDefinedFieldId: field.id,
  66. value: this.setFields[index]
  67. };
  68. this.$emit("UpdateUserDefinedFields", item);
  69. },
  70. GetFirstLetter(value) {
  71. if (value) {
  72. return value.slice(0, 1);
  73. }
  74. return "";
  75. }
  76. }
  77. };
  78. </script>