|
1 | 1 | <template> |
2 | | - <v-container fluid pt-5> |
| 2 | + <v-container fluid pt-12> |
3 | 3 | <vuetify-resource |
4 | 4 | :beforeCreateCallback="beforeOpenCreate" |
5 | 5 | :beforeUpdateCallback="beforeOpenUpdate" |
|
15 | 15 | v-model="selected" |
16 | 16 | > |
17 | 17 | <div slot="createContent"> |
18 | | - <component :errors="errors" :is="createFormComponent" ref="createForm" v-model="createForm"/> |
| 18 | + <component :errors="errors" |
| 19 | + :is="createFormComponent" |
| 20 | + :is-update-form="false" |
| 21 | + ref="createForm" |
| 22 | + v-model="createForm"/> |
19 | 23 | </div> |
20 | 24 | <div slot="updateContent"> |
21 | | - <component :errors="errors" :is="updateFormComponent" ref="updateForm" v-model="updateForm"/> |
| 25 | + <component :errors="errors" |
| 26 | + :is="updateFormComponent" |
| 27 | + :is-update-form="true" |
| 28 | + ref="updateForm" |
| 29 | + v-model="updateForm"/> |
22 | 30 | </div> |
23 | 31 | </vuetify-resource> |
24 | 32 | </v-container> |
25 | 33 | </template> |
26 | 34 | <script> |
27 | | - import FormDataValues from '../mixins/formDataValues'; |
| 35 | + import FormDataValues from './../mixins/formDataValues'; |
| 36 | + import cloneDeep from 'lodash.clonedeep'; |
28 | 37 |
|
29 | 38 | export default { |
30 | 39 | components: {}, |
|
88 | 97 | }, |
89 | 98 | getCreateFormValues() { |
90 | 99 | let form_data = new FormData(); |
91 | | - this.appendFormData(form_data, this.createForm.values); |
| 100 | + this.appendFormData(form_data, this.mapCreateFormValues(cloneDeep(this.createForm.values))); |
92 | 101 |
|
93 | 102 | return form_data; |
| 103 | +
|
| 104 | + }, |
| 105 | + mapCreateFormValues(values) { |
| 106 | + return this.mapCreateAndUpdateFormValues(values); |
94 | 107 | }, |
95 | 108 | createEvent() { |
96 | 109 | this.errors = {}; |
|
105 | 118 | }, |
106 | 119 | }) |
107 | 120 | .then((response) => { |
| 121 | + this.createForm.values = {}; |
108 | 122 | if (typeof this.afterCreate === 'function') { |
109 | 123 | this.afterCreate(response.data.data).then(() => { |
110 | 124 | resolve(); |
|
127 | 141 | }, |
128 | 142 | getUpdateFormValues() { |
129 | 143 | let form_data = new FormData(); |
130 | | - this.appendFormData(form_data, this.updateForm.values); |
| 144 | + this.appendFormData(form_data, this.mapUpdateFormValues(cloneDeep(this.updateForm.values))); |
131 | 145 |
|
132 | 146 | return form_data; |
133 | 147 | }, |
| 148 | + mapUpdateFormValues(values) { |
| 149 | + return this.mapCreateAndUpdateFormValues(values); |
| 150 | + }, |
| 151 | + mapCreateAndUpdateFormValues(values) { |
| 152 | + return values; |
| 153 | + }, |
134 | 154 | updateEvent(selected) { |
135 | 155 | this.errors = {}; |
136 | 156 | this.$refs.updateForm.validate(); |
|
168 | 188 | this.updateForm.values = selected[0]; |
169 | 189 | }, |
170 | 190 | beforeOpenCreate() { |
| 191 | +
|
171 | 192 | }, |
172 | 193 | deleteEvent(ids) { |
173 | 194 | return new Promise((resolve) => { |
|
0 commit comments