### feat: 优化优惠折扣输入组件 (master)

- 将`Input`组件替换为`InputNumber`组件,以确保输入的优惠折扣
  在0.1到9.9之间,并支持一位小数。
- 在`full-discount-add.vue`和`full-discount-detail.vue`文件中,
  更新了`FormItem`组件的`优惠折扣`输入逻辑。
- 在`coupon-publish.vue`文件中,更新了描述文本以强调输入
  范围和格式。
- 在`coupon.vue`文件中,修复了优惠券类型判断逻辑,增加了
  "DISCOUNT"类型和未知类型的处理。
This commit is contained in:
Chopper711 2025-02-21 17:34:58 +08:00
parent 376a3223dc
commit b4a706820e
5 changed files with 24 additions and 16 deletions

View File

@ -42,10 +42,11 @@
:max="9.9"
:min="0.1"
:step="0.1"
precision="1"
v-model="form.couponDiscount"
style="width: 260px">
</InputNumber>
<span class="describe">请输入0-10之间数字可以输入一位小数</span>
<span class="describe">请输入0-10的数字,可有一位小数</span>
</FormItem>
<FormItem label="面额" prop="price" v-if="form.couponType == 'PRICE'">
<Input

View File

@ -81,14 +81,14 @@
label="优惠折扣"
prop="fullRate"
>
<Input
type="text"
v-model="form.fullRate"
<InputNumber
placeholder="优惠折扣"
disabled
clearable
style="width: 260px"
/>
:max="9.9"
:min="0.1"
:step="0.1"
precision="1"
v-model="form.fullRate"
style="width: 260px"/>
<span class="describe">优惠折扣为0-10之间数字可有一位小数</span>
</FormItem>
<FormItem label="额外赠送">

View File

@ -38,10 +38,10 @@
:max="9.9"
:min="0.1"
:step="0.1"
precision="1"
v-model="form.couponDiscount"
style="width: 260px">
</InputNumber>
<span class="describe">请输入0-10之间数字可以输入一位小数</span>
style="width: 260px"/>
<span class="describe">请输入0-10的数字,可有一位小数</span>
</FormItem>
<FormItem label="面额" prop="price" v-if="form.couponType == 'PRICE'">
<Input
@ -256,7 +256,6 @@ export default {
formRule: {
promotionName: [{ required: true, message: "活动名称不能为空" }],
couponName: [{ required: true, message: "优惠券名称不能为空" }],
couponLimitNum: [{ required: true, message: "领取限制不能为空" }],
price: [{ required: true, message: "请输入面额" }, { validator: checkPrice }],
consumeThreshold: [
{ required: true, message: "请输入消费门槛" },

View File

@ -154,10 +154,12 @@ export default {
key: "price",
width: 100,
render: (h, params) => {
if (params.row.price) {
if (params.row.couponType === "PRICE") {
return h("priceColorScheme", {props:{value:params.row.price,color:this.$mainColor}} );
} else {
} else if(params.row.couponType === "DISCOUNT") {
return h("div", (params.row.couponDiscount || 0) + "折");
}else{
return h("div", "未知");
}
},
},

View File

@ -38,8 +38,14 @@
clearable style="width: 280px" />
</FormItem>
<FormItem v-if="form.discountType == 'fullRateFlag'" label="优惠折扣" prop="fullRate">
<Input :disabled="form.promotionStatus != 'NEW'" type="text" v-model="form.fullRate" placeholder="优惠折扣"
clearable style="width: 280px" />
<InputNumber :disabled="form.promotionStatus != 'NEW'"
placeholder="优惠折扣"
:max="9.9"
:min="0.1"
:step="0.1"
precision="1"
v-model="form.fullRate"
style="width: 260px"/>
<span class="describe">优惠折扣为0-10之间数字可有一位小数</span>
</FormItem>
<FormItem label="额外赠送">