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(onSubmitted) { FormDialog({ title: '新增商品', schema, rules, submitSuccessMessage: '添加成功', async onSubmit(data) { console.log('新增商品', data) const formData = { ...data, price: Number(data.price).toFixed(2) } let response = null try { response = await goodsApi.add(formData) return response } catch (error) { return error?.response?.data } finally { onSubmitted(response?.data) } } }) } }