// 通过解析后的文本生成form表单页面 export default function f(list) { return ` ` } // 生成fields function fields(list) { return list.map(field).join('\n') } function field({name, label, type, size}) { if(type === 'tinyint'){ // 枚举类型 return `` } if(size > 100 && size < 500) { // 长单行文本框 return `` } if(size > 500) { // 多行文本框 return `` } // 默认为单行文本框 return `` } // 生成rules function rules(list) { const rules = list.filter(item=>item.required).map(item=>{ const {name, type, label} = item; const message = `请${type === "tinyint" ? "选择" : "输入"}${label}`; return `${name}: [{ required: true, message: '${message}', trigger: 'blur' },]` }).join(',\n'); return `rules: {${rules}}` } // 对枚举类型字段生成toString function toString(list) { const strings = list.filter(item=>item.type === 'tinyint').map(item=>{ return `"${item.name}"` }).join(','); return `toString: [${strings}]` }