import FormDialog from '@/components/FormDialog' import consumerApi from '@/api/consumer' const formItem = (row) => { return [ { key: 'realname', label: '客户名称', placeholder: '请输入客户名称', disabled: row.orderCount > 0 }, { type: 'tip', message: '该客户存在订单未完成,不可修改客户名称', hidden: row.orderCount === 0 }, { key: 'username', label: '登录账号', placeholder: '请输入登录账号' }, { key: 'remark', label: '备注', placeholder: '请输入备注', type: 'textarea' } ] } let schema = [] const rules = { realname: [ { required: true, message: '请输入客户名称', trigger: 'blur' }, { min: 0, max: 25, message: '长度不超过25个字符', trigger: 'blur' } ], username: [ { required: true, message: '请输入登录账号', trigger: 'blur' }, { min: 0, max: 25, message: '长度不超过25个字符', trigger: 'blur' } ], remark: [ { min: 0, max: 255, message: '长度不超过255个字符', trigger: 'blur' } ] } export default { async show(data, onSubmitted) { schema = formItem(data).filter(item => item.hidden !== true) console.log('schema', schema) FormDialog({ title: '编辑客户', schema, rules, data, submitSuccessMessage: '编辑成功', async onSubmit(data) { try { return await consumerApi.edit(data.userid, data) } catch (error) { return error?.response?.data } finally { onSubmitted() } } }) } }