Skip to content

Commit 0b10b13

Browse files
committed
update checkbox field mechanism
1 parent cbb4c0c commit 0b10b13

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

src/utils/crud/components/Field.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@
239239
v-model="value"
240240
:label="field.text"
241241
:disabled="field.disabled"
242-
@change="valueChanged()"
242+
@change="checkboxUpdated()"
243243
></v-checkbox>
244244
</span>
245245
</template>
@@ -422,6 +422,10 @@ export default {
422422
getEditorContent (content) {
423423
this.value = content
424424
},
425+
checkboxUpdated () {
426+
this.value = this.value ? 1 : 0
427+
this.valueChanged()
428+
},
425429
valueChanged () {
426430
this.$emit('valueChanged', this.value, this.field.column)
427431
},

src/utils/crud/components/ItemDetails.vue

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,18 @@ export default {
122122
rField.show = show
123123
rField.value = this.details.item[field.column]
124124
if (typeof rField.value !== 'undefined') {
125+
const fieldValue = this.details.item[field.column]
125126
if (field.type === 'select') {
126127
const defaultVal = field.list.default || 1
127-
rField.value = field.stringId ? this.details.item[field.column] : parseInt(this.details.item[field.column]) || defaultVal
128+
rField.value = field.stringId ? fieldValue : parseInt(fieldValue) || defaultVal
128129
} else if (field.type === 'date') {
129-
rField.value = (this.details.item[field.column] || '').substring(0, 10)
130+
rField.value = (fieldValue || '').substring(0, 10)
130131
} else if (field.type === 'checkbox') {
131-
rField.value = parseInt(this.details.item[field.column]) === 1
132+
if ([1, '1', true, 'true'].includes(fieldValue)) {
133+
rField.value = 1
134+
} else if ([0, '0', false, 'false'].includes(fieldValue)) {
135+
rField.value = 0
136+
}
132137
}
133138
if (field.apiObject) {
134139
if (field.apiObject.useFunctionsInDetails) {
@@ -142,7 +147,7 @@ export default {
142147
}
143148
}
144149
} else if (field.type === 'checkbox') {
145-
rField.value = false
150+
rField.value = 0
146151
}
147152
return rField
148153
})

0 commit comments

Comments
 (0)