| | |
| | | { |
| | | required: true, |
| | | validator: (_rule, value) => { |
| | | const isType3 = formModel.value.type === 3 |
| | | if (value === '' || value === null || value === undefined) |
| | | return new Error('请输入优惠金额') |
| | | return new Error(isType3 ? '请输入优惠后金额' : '请输入优惠金额') |
| | | const amount = Number(value) |
| | | if (!Number.isFinite(amount)) |
| | | return new Error('请输入有效的优惠金额') |
| | | if (amount <= 0) |
| | | return new Error(isType3 ? '请输入有效的金额' : '请输入有效的优惠金额') |
| | | if (amount < 0) |
| | | return new Error('金额不能小于0') |
| | | if (amount === 0 && !isType3) |
| | | return new Error('优惠金额必须大于0') |
| | | |
| | | // if (!formModel.value.type) |
| | |
| | | </template> |
| | | <span v-else class="detail-text">{{ formModel.amount }}</span> |
| | | </n-form-item> |
| | | <n-form-item v-if="formModel.type === 3" label="优惠后金额" path="amount" :required="!isReadonly" style="width: 400px;"> |
| | | <template v-if="!isReadonly"> |
| | | <n-input |
| | | :value="formModel.amount" |
| | | placeholder="请输入优惠后金额" |
| | | clearable |
| | | style="width: 100%" |
| | | :input-props="{ inputmode: 'decimal' }" |
| | | @update:value="handleUpdateAmount" |
| | | /> |
| | | </template> |
| | | <span v-else class="detail-text">{{ formModel.amount }}</span> |
| | | </n-form-item> |
| | | </div> |
| | | <div class="form-row"> |
| | | <n-form-item v-if="formModel.type === 1" label="优惠上限:" path="amount" :required="!isReadonly"> |