commit
b72477ae4f
@ -222,8 +222,13 @@
|
||||
<el-input-number
|
||||
v-model.number="form.publishRangeTime"
|
||||
class="w140"
|
||||
min="1"
|
||||
step="1"
|
||||
:min="1"
|
||||
:max="100"
|
||||
:step="1"
|
||||
:precision="0"
|
||||
@change="onPublishRangeTimeChange(form)"
|
||||
@blur="onPublishRangeTimeChange(form)"
|
||||
@keyup.enter.native="onPublishRangeTimeChange(form)"
|
||||
/>
|
||||
<el-select
|
||||
v-model="form.publishRangeTimeType"
|
||||
@ -799,6 +804,13 @@ export default {
|
||||
return callback(new Error('收件人、角色、组织至少选择一项'))
|
||||
}
|
||||
return callback()
|
||||
},
|
||||
onPublishRangeTimeChange(form) {
|
||||
if (!form.publishRangeTime) {
|
||||
this.$nextTick(() => {
|
||||
form.publishRangeTime = 1
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
<script>
|
||||
import { forEach, find, concat, cloneDeep } from 'lodash-es'
|
||||
import { forEach, find, concat, cloneDeep, floor } from 'lodash-es'
|
||||
import { PHONE_REGEX, EMAIL_REGEX } from '@/utils/validate'
|
||||
import { newFormRowData, saveFormRowData, userFillFormData } from '@/views/dataFilling/form/dataFilling'
|
||||
|
||||
@ -123,6 +123,17 @@ export default {
|
||||
closeDrawer() {
|
||||
this.$emit('update:showDrawer', false)
|
||||
},
|
||||
onNumberChange(item) {
|
||||
let value
|
||||
if (item.settings.mapping.type === 'number') {
|
||||
value = floor(item.value, 0)
|
||||
} else {
|
||||
value = floor(item.value, 8)
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
item.value = value
|
||||
})
|
||||
},
|
||||
doSave() {
|
||||
this.$refs['mForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
@ -235,6 +246,8 @@ export default {
|
||||
:readonly="readonly"
|
||||
:placeholder="item.settings.placeholder"
|
||||
size="small"
|
||||
:show-word-limit="item.value !== undefined && item.value.length > 250"
|
||||
maxlength="255"
|
||||
/>
|
||||
<el-input-number
|
||||
v-if="item.type === 'input' && item.settings.inputType === 'number'"
|
||||
@ -244,7 +257,13 @@ export default {
|
||||
:placeholder="item.settings.placeholder"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
:precision="item.settings.mapping.type === 'number' ? 0 : undefined"
|
||||
size="small"
|
||||
:min="-999999999999"
|
||||
:max="999999999999"
|
||||
@change="onNumberChange(item)"
|
||||
@blur="onNumberChange(item)"
|
||||
@keyup.enter.native="onNumberChange(item)"
|
||||
/>
|
||||
<el-input
|
||||
v-else-if="item.type === 'textarea'"
|
||||
|
||||
@ -656,7 +656,7 @@ export default {
|
||||
obj[key] = undefined
|
||||
}
|
||||
} else {
|
||||
obj[key] = value
|
||||
obj[key] = value === null ? undefined : value
|
||||
}
|
||||
})
|
||||
_data.push({
|
||||
|
||||
@ -312,6 +312,9 @@ export default {
|
||||
item.value = []
|
||||
} else {
|
||||
item.value = undefined
|
||||
if (item.settings.mapping.type === 'text') {
|
||||
item.settings.mapping.type = undefined
|
||||
}
|
||||
}
|
||||
},
|
||||
getRules(item) {
|
||||
@ -556,8 +559,8 @@ export default {
|
||||
>
|
||||
<el-input
|
||||
v-if="item.type === 'input' && item.settings.inputType !== 'number'"
|
||||
v-model="item.value"
|
||||
:key="item.id + item.settings.inputType"
|
||||
v-model="item.value"
|
||||
:type="item.settings.inputType"
|
||||
:required="item.settings.required"
|
||||
:placeholder="item.settings.placeholder"
|
||||
@ -565,8 +568,8 @@ export default {
|
||||
/>
|
||||
<el-input-number
|
||||
v-if="item.type === 'input' && item.settings.inputType === 'number'"
|
||||
v-model="item.value"
|
||||
:key="item.id + item.settings.inputType"
|
||||
v-model="item.value"
|
||||
:required="item.settings.required"
|
||||
:placeholder="item.settings.placeholder"
|
||||
style="width: 100%"
|
||||
@ -575,8 +578,8 @@ export default {
|
||||
/>
|
||||
<el-input
|
||||
v-else-if="item.type === 'textarea'"
|
||||
v-model="item.value"
|
||||
:key="item.id + 'textarea'"
|
||||
v-model="item.value"
|
||||
type="textarea"
|
||||
:required="item.settings.required"
|
||||
:placeholder="item.settings.placeholder"
|
||||
@ -584,8 +587,8 @@ export default {
|
||||
/>
|
||||
<el-select
|
||||
v-else-if="item.type === 'select'"
|
||||
v-model="item.value"
|
||||
:key="item.id + 'select'"
|
||||
v-model="item.value"
|
||||
:required="item.settings.required"
|
||||
:placeholder="item.settings.placeholder"
|
||||
style="width: 100%"
|
||||
@ -602,8 +605,8 @@ export default {
|
||||
</el-select>
|
||||
<el-radio-group
|
||||
v-else-if="item.type === 'radio'"
|
||||
v-model="item.value"
|
||||
:key="item.id + 'radio'"
|
||||
v-model="item.value"
|
||||
:required="item.settings.required"
|
||||
style="width: 100%"
|
||||
size="small"
|
||||
@ -617,8 +620,8 @@ export default {
|
||||
</el-radio-group>
|
||||
<el-checkbox-group
|
||||
v-else-if="item.type === 'checkbox'"
|
||||
v-model="item.value"
|
||||
:key="item.id + 'checkbox'"
|
||||
v-model="item.value"
|
||||
:required="item.settings.required"
|
||||
size="small"
|
||||
>
|
||||
@ -631,8 +634,8 @@ export default {
|
||||
</el-checkbox-group>
|
||||
<el-date-picker
|
||||
v-else-if="item.type === 'date' && !item.settings.enableTime"
|
||||
v-model="item.value"
|
||||
:key="item.id + 'date'"
|
||||
v-model="item.value"
|
||||
:required="item.settings.required"
|
||||
type="date"
|
||||
:placeholder="item.settings.placeholder"
|
||||
@ -641,8 +644,8 @@ export default {
|
||||
/>
|
||||
<el-date-picker
|
||||
v-else-if="item.type === 'date' && item.settings.enableTime"
|
||||
v-model="item.value"
|
||||
:key="item.id + 'dateEnableTime'"
|
||||
v-model="item.value"
|
||||
:required="item.settings.required"
|
||||
type="datetime"
|
||||
:placeholder="item.settings.placeholder"
|
||||
@ -651,9 +654,9 @@ export default {
|
||||
/>
|
||||
<el-date-picker
|
||||
v-else-if="item.type === 'dateRange' && !item.settings.enableTime"
|
||||
:key="item.id + 'dateRangeEnableTime'"
|
||||
v-model="item.value"
|
||||
:required="item.settings.required"
|
||||
:key="item.id + 'dateRangeEnableTime'"
|
||||
type="daterange"
|
||||
:range-separator="item.settings.rangeSeparator"
|
||||
:start-placeholder="item.settings.startPlaceholder"
|
||||
@ -663,9 +666,9 @@ export default {
|
||||
/>
|
||||
<el-date-picker
|
||||
v-else-if="item.type === 'dateRange' && item.settings.enableTime"
|
||||
:key="item.id + 'datetimerangeRangeEnableTime'"
|
||||
v-model="item.value"
|
||||
:required="item.settings.required"
|
||||
:key="item.id + 'datetimerangeRangeEnableTime'"
|
||||
type="datetimerange"
|
||||
:range-separator="item.settings.rangeSeparator"
|
||||
:start-placeholder="item.settings.startPlaceholder"
|
||||
|
||||
@ -171,12 +171,21 @@ export default {
|
||||
methods: {
|
||||
getTypeOptions(formOption) {
|
||||
const _options = []
|
||||
if (formOption.type !== 'date' && formOption.type !== 'dateRange' && formOption.settings.inputType !== 'number' && formOption.type !== 'textarea') {
|
||||
if (formOption.type !== 'date' &&
|
||||
formOption.type !== 'dateRange' &&
|
||||
formOption.settings.inputType !== 'number' &&
|
||||
formOption.type !== 'textarea' &&
|
||||
formOption.type !== 'checkbox' &&
|
||||
!(formOption.type === 'select' && formOption.settings.multiple)
|
||||
) {
|
||||
_options.push({ value: 'nvarchar', label: '字符串' })
|
||||
}
|
||||
if (formOption.type === 'textarea') {
|
||||
if (formOption.type === 'checkbox' ||
|
||||
formOption.type === 'select' && formOption.settings.multiple ||
|
||||
formOption.type === 'textarea') {
|
||||
_options.push({ value: 'text', label: '长文本' })
|
||||
}
|
||||
|
||||
if (formOption.type === 'input' && formOption.settings.inputType === 'number') {
|
||||
_options.push({ value: 'number', label: '整型数字' })
|
||||
_options.push({ value: 'decimal', label: '小数数字' })
|
||||
|
||||
@ -269,7 +269,7 @@ export default {
|
||||
obj[key] = undefined
|
||||
}
|
||||
} else {
|
||||
obj[key] = value
|
||||
obj[key] = value === null ? undefined : value
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user