InsertWorkflowData.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <template>
  2. <template v-if="variables">
  3. <ui-checkbox
  4. :model-value="data.assignVariable"
  5. block
  6. class="mt-4 block-variable"
  7. @change="updateData({ assignVariable: $event })"
  8. >
  9. {{ t('workflow.variables.assign') }}
  10. </ui-checkbox>
  11. <ui-input
  12. v-if="data.assignVariable"
  13. :model-value="data.variableName"
  14. :placeholder="t('workflow.variables.name')"
  15. :title="t('workflow.variables.name')"
  16. class="mt-2 w-full"
  17. @change="updateData({ variableName: $event })"
  18. />
  19. </template>
  20. <template v-if="table && workflow.columns?.value">
  21. <ui-checkbox
  22. :model-value="data.saveData"
  23. block
  24. class="mt-4"
  25. @change="updateData({ saveData: $event })"
  26. >
  27. {{ t('workflow.blocks.base.table.checkbox') }}
  28. </ui-checkbox>
  29. <ui-select
  30. v-if="data.saveData"
  31. :model-value="data.dataColumn"
  32. :placeholder="t('workflow.blocks.base.table.select')"
  33. class="w-full mt-2"
  34. @change="updateData({ dataColumn: $event })"
  35. >
  36. <option
  37. v-for="column in [...columns, ...workflow.columns.value]"
  38. :key="column.id"
  39. :value="column.id"
  40. >
  41. {{ column.name }}
  42. </option>
  43. </ui-select>
  44. </template>
  45. <template v-if="extraRow">
  46. <ui-checkbox
  47. :model-value="data.addExtraRow"
  48. class="mt-4"
  49. block
  50. @change="updateData({ addExtraRow: $event })"
  51. >
  52. {{ t('workflow.blocks.base.table.extraRow.checkbox') }}
  53. </ui-checkbox>
  54. <template v-if="data.addExtraRow">
  55. <ui-input
  56. :model-value="data.extraRowValue"
  57. :title="t('workflow.blocks.base.table.extraRow.title')"
  58. :placeholder="t('workflow.blocks.base.table.extraRow.placeholder')"
  59. class="w-full mt-2 mb-2"
  60. @change="updateData({ extraRowValue: $event })"
  61. />
  62. <ui-select
  63. :model-value="data.extraRowDataColumn"
  64. placeholder="Select column"
  65. class="mt-1 w-full"
  66. @change="updateData({ extraRowDataColumn: $event })"
  67. >
  68. <option
  69. v-for="column in [...columns, ...workflow.columns.value]"
  70. :key="column.id"
  71. :value="column.id"
  72. >
  73. {{ column.name }}
  74. </option>
  75. </ui-select>
  76. </template>
  77. </template>
  78. </template>
  79. <script setup>
  80. import { inject } from 'vue';
  81. import { useI18n } from 'vue-i18n';
  82. defineProps({
  83. data: {
  84. type: Object,
  85. default: () => ({}),
  86. },
  87. table: {
  88. type: Boolean,
  89. default: true,
  90. },
  91. extraRow: Boolean,
  92. variables: Boolean,
  93. columns: {
  94. type: Array,
  95. default: () => [],
  96. },
  97. });
  98. const emit = defineEmits(['update']);
  99. const { t } = useI18n();
  100. const workflow = inject('workflow', {});
  101. function updateData(data) {
  102. emit('update', data);
  103. }
  104. </script>