|
|
@@ -37,6 +37,21 @@ const isShow = computed(() => {
|
|
|
}
|
|
|
return props.item.show
|
|
|
})
|
|
|
+const isNum = computed(() => {
|
|
|
+ if (item.value.type == "number") {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ if (item.value.rules && item.value.rules.length > 0) {
|
|
|
+ return (
|
|
|
+ item.value.rules.includes(RULE_KEYS.NUMBER) ||
|
|
|
+ item.value.rules.includes(RULE_KEYS.REQUIRED_NUMBER) ||
|
|
|
+ item.value.rules.includes(RULE_KEYS.N_MAX) ||
|
|
|
+ item.value.rules.includes(RULE_KEYS.N_MIN) ||
|
|
|
+ item.value.rules.includes(RULE_KEYS.N_MIN_MAX)
|
|
|
+ )
|
|
|
+ }
|
|
|
+ return false
|
|
|
+})
|
|
|
const data: WritableComputedRef<any> = computed({
|
|
|
get(): any {
|
|
|
return props.data
|
|
|
@@ -93,6 +108,7 @@ function isDisable(item: any) {
|
|
|
}
|
|
|
return item.disabled
|
|
|
}
|
|
|
+
|
|
|
function init() {
|
|
|
//
|
|
|
}
|
|
|
@@ -126,6 +142,20 @@ onMounted(() => {
|
|
|
</div>
|
|
|
<template v-else-if="checkComponent('I') || checkComponent('ElInput')">
|
|
|
<el-input
|
|
|
+ v-if="isNum"
|
|
|
+ v-model.number="data[item.field]"
|
|
|
+ :id="itemId"
|
|
|
+ :required="item.required"
|
|
|
+ :type="item.type || 'text'"
|
|
|
+ :class="item.class"
|
|
|
+ :style="item.style"
|
|
|
+ :placeholder="item.placeholder ?? item.label"
|
|
|
+ :size="item.size"
|
|
|
+ v-bind="item.props"
|
|
|
+ v-on="item.listeners"
|
|
|
+ ></el-input>
|
|
|
+ <el-input
|
|
|
+ v-else
|
|
|
v-model="data[item.field]"
|
|
|
:id="itemId"
|
|
|
:required="item.required"
|