import FormDialog from '@/components/FormDialog' import goodsApi from '@/api/goods' const schema = [ { key: 'name', label: '合同名称', placeholder: '请输入合同名称' }, { key: 'info', label: '规格型号', placeholder: '请输入规格型号' }, { key: 'price', label: '产品单价(元)', placeholder: '请输入产品单价(元)' } ] const rules = { name: [ { required: true, message: '请输入合同名称', trigger: 'blur' } ], price: [ { required: true, message: '请输入产品单价(元)', trigger: 'blur' }, { pattern: /^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$/, message: '请输入合法的金额数字,最多两位小数', trigger: 'blur' }, { validator: (rule, value, callback) => { const price = value ? Number(value).toFixed(2) : 0.00 console.log('price', price) if (price === 0.00 || price === '0.00') { callback(new Error('产品单价不能为0')) } else { callback() } }, trigger: 'blur' } ], info: [ { min: 0, max: 256, trigger: 'blur', message: '长度不超过256个字符' } ] } export default { async show(data, onSubmitted) { FormDialog({ title: '编辑商品', schema, rules, data, submitSuccessMessage: '编辑成功', async onSubmit(data) { const formData = { ...data, price: Number(data.price).toFixed(2) } console.log('编辑商品', formData) try { return await goodsApi.edit(formData) } catch (error) { return error?.response?.data } finally { onSubmitted() } } }) } }