fix: bug#10880

This commit is contained in:
xieyonghong 2023-03-27 20:41:39 +08:00
parent 042d07f61f
commit 300a09a7a1
2 changed files with 20 additions and 9 deletions

View File

@ -75,6 +75,18 @@ const formModel = reactive({
functionData: props.functionParameters functionData: props.functionParameters
}) })
const handlePropertiesOptions = (propertiesItem: any) => {
const _type = propertiesItem?.valueType.type
if (_type === 'boolean') {
return [
{ label: propertiesItem.valueType.falseText || '是', value: propertiesItem.valueType.falseValue || false },
{ label: propertiesItem.valueType.trueText || '否', value: propertiesItem.valueType.trueValue || true },
]
}
return propertiesItem.valueType?.elements
}
/** /**
* 获取当前选择功能属性 * 获取当前选择功能属性
*/ */
@ -90,7 +102,7 @@ const functionData = computed(() => {
name: datum.name, name: datum.name,
type: datum.valueType ? datum.valueType.type : '-', type: datum.valueType ? datum.valueType.type : '-',
format: datum.valueType ? datum.valueType.format : undefined, format: datum.valueType ? datum.valueType.format : undefined,
options: datum.valueType ? datum.valueType.elements : undefined, options: handlePropertiesOptions(datum),
value: undefined, value: undefined,
}); });
} }
@ -101,10 +113,13 @@ const functionData = computed(() => {
const rules = [{ const rules = [{
validator(_: string, value: any) { validator(_: string, value: any) {
console.log(value)
debugger
if (!value?.length && functionData.value.length) { if (!value?.length && functionData.value.length) {
return Promise.reject('请输入功能值') return Promise.reject('请输入功能值')
} else { } else {
let hasValue = value.find((item: { name: string, value: any}) => !item.value) let hasValue = value.find((item: { name: string, value: any}) => item.value === undefined)
console.log('hasValue', hasValue)
if (hasValue) { if (hasValue) {
const functionItem = functionData.value.find((item: any) => item.id === hasValue.name) const functionItem = functionData.value.find((item: any) => item.id === hasValue.name)
return Promise.reject(functionItem?.name ? `请输入${functionItem?.name}` : '请输入功能值') return Promise.reject(functionItem?.name ? `请输入${functionItem?.name}` : '请输入功能值')

View File

@ -88,23 +88,19 @@ const handleOptions = (record: any) => {
case 'enum': case 'enum':
return (record?.options?.elements || []).map((item: any) => ({ label: item.text, value: item.value })) return (record?.options?.elements || []).map((item: any) => ({ label: item.text, value: item.value }))
case 'boolean': case 'boolean':
return [ return record?.options
{ label: '是', value: true },
{ label: '否', value: false },
]
default: default:
return undefined return undefined
} }
} }
const valueChange = debounce(() => { const valueChange = () => {
const _value = dataSource.value.map(item => ({ const _value = dataSource.value.map(item => ({
name: item.id, value: item.value name: item.id, value: item.value
})) }))
console.log(_value)
emit('change', _value) emit('change', _value)
emit('update:value', _value) emit('update:value', _value)
}, 500) }
watch(() => props.data, () => { watch(() => props.data, () => {
dataSource.value = props.data.map((item: any) => { dataSource.value = props.data.map((item: any) => {