feat: handle default value in grid
This commit is contained in:
parent
336083a00f
commit
dcb2787498
@ -417,8 +417,15 @@ const toggleSelectRow = (row) => {
|
|||||||
const addRow = () => {
|
const addRow = () => {
|
||||||
const newRow = {}
|
const newRow = {}
|
||||||
fields.value?.forEach((field) => {
|
fields.value?.forEach((field) => {
|
||||||
if (field.fieldtype === 'Check') newRow[field.fieldname] = false
|
if (field.fieldtype === 'Check') {
|
||||||
else newRow[field.fieldname] = ''
|
newRow[field.fieldname] = false
|
||||||
|
} else {
|
||||||
|
newRow[field.fieldname] = ''
|
||||||
|
}
|
||||||
|
|
||||||
|
if (field.default) {
|
||||||
|
newRow[field.fieldname] = getDefaultValue(field.default, field.fieldtype)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
newRow.name = getRandom(10)
|
newRow.name = getRandom(10)
|
||||||
showRowList.value.push(false)
|
showRowList.value.push(false)
|
||||||
@ -443,6 +450,37 @@ function fieldChange(value, field, row) {
|
|||||||
row[field.fieldname] = value
|
row[field.fieldname] = value
|
||||||
triggerOnChange(field.fieldname, row)
|
triggerOnChange(field.fieldname, row)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getDefaultValue(defaultValue, fieldtype) {
|
||||||
|
if (['Float', 'Currency', 'Percent'].includes(fieldtype)) {
|
||||||
|
return flt(defaultValue)
|
||||||
|
} else if (fieldtype === 'Check') {
|
||||||
|
if (['1', 'true', 'True'].includes(defaultValue)) {
|
||||||
|
return true
|
||||||
|
} else if (['0', 'false', 'False'].includes(defaultValue)) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
} else if (fieldtype === 'Int') {
|
||||||
|
return parseInt(defaultValue)
|
||||||
|
} else if (defaultValue === 'Today' && fieldtype === 'Date') {
|
||||||
|
return getFormat(new Date(), '', true)
|
||||||
|
} else if (
|
||||||
|
['Now', 'now'].includes(defaultValue) &&
|
||||||
|
fieldtype === 'Datetime'
|
||||||
|
) {
|
||||||
|
return getFormat(new Date(), '', true, true)
|
||||||
|
} else if (['Now', 'now'].includes(defaultValue) && fieldtype === 'Time') {
|
||||||
|
return getFormat(new Date(), '', false, true)
|
||||||
|
} else if (fieldtype === 'Date') {
|
||||||
|
return getFormat(defaultValue, '', true)
|
||||||
|
} else if (fieldtype === 'Datetime') {
|
||||||
|
return getFormat(defaultValue, '', true, true)
|
||||||
|
} else if (fieldtype === 'Time') {
|
||||||
|
return getFormat(defaultValue, '', false, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
return defaultValue
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user