|
|
@@ -60,7 +60,7 @@
|
|
|
class="wd200">
|
|
|
</ext-date-picker>
|
|
|
</el-form-item>
|
|
|
-<!-- RechargeRights "Coupon"-->
|
|
|
+ <!-- RechargeRights "Coupon"-->
|
|
|
<el-form-item label="优惠方式" prop="discountType">
|
|
|
<ext-d-select
|
|
|
v-model="state.ruleForm.discountType"
|
|
|
@@ -70,34 +70,34 @@
|
|
|
class="wd200 ">
|
|
|
</ext-d-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="目标用户" prop="targetUsers" v-if="state.ruleForm.discountType==='RechargeRights'">
|
|
|
- <ext-d-select
|
|
|
- v-model="state.ruleForm.targetUsers"
|
|
|
- placeholder="目标用户"
|
|
|
- type="Activity.targetUsers"
|
|
|
- clearable
|
|
|
- class="wd200 ">
|
|
|
- </ext-d-select>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="优惠允许叠加" prop="allowStacke">
|
|
|
- <ext-d-select
|
|
|
- v-model="state.ruleForm.allowStacke"
|
|
|
- placeholder="优惠允许叠加"
|
|
|
- type="Activity.allowStacke"
|
|
|
- clearable
|
|
|
- class="wd200 ">
|
|
|
- </ext-d-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="数量限制" prop="quantity">
|
|
|
- <el-input
|
|
|
- type="number"
|
|
|
- v-model.trim="state.ruleForm.quantity"
|
|
|
- placeholder="数量限制"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
+<!-- <el-form-item label="目标用户" prop="targetUsers" v-if="state.ruleForm.discountType==='RechargeRights'">-->
|
|
|
+<!-- <ext-d-select-->
|
|
|
+<!-- v-model="state.ruleForm.targetUsers"-->
|
|
|
+<!-- placeholder="目标用户"-->
|
|
|
+<!-- type="Activity.targetUsers"-->
|
|
|
+<!-- clearable-->
|
|
|
+<!-- class="wd200 ">-->
|
|
|
+<!-- </ext-d-select>-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+
|
|
|
+ <!-- <el-form-item label="优惠允许叠加" prop="allowStacke">-->
|
|
|
+ <!-- <ext-d-select-->
|
|
|
+ <!-- v-model="state.ruleForm.allowStacke"-->
|
|
|
+ <!-- placeholder="优惠允许叠加"-->
|
|
|
+ <!-- type="Activity.allowStacke"-->
|
|
|
+ <!-- clearable-->
|
|
|
+ <!-- class="wd200 ">-->
|
|
|
+ <!-- </ext-d-select>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item label="数量限制" prop="quantity">-->
|
|
|
+ <!-- <el-input-->
|
|
|
+ <!-- type="number"-->
|
|
|
+ <!-- v-model.trim="state.ruleForm.quantity"-->
|
|
|
+ <!-- placeholder="数量限制"-->
|
|
|
+ <!-- clearable-->
|
|
|
+ <!-- class="wd200">-->
|
|
|
+ <!-- </el-input>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
<!-- <el-form-item label="活动状态" prop="status">
|
|
|
<ext-d-select
|
|
|
v-model="state.ruleForm.status"
|
|
|
@@ -121,7 +121,7 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<div class="sub-group-bottom"> 关联站点</div>
|
|
|
-<!-- <el-divider content-position="left">关联站点</el-divider>-->
|
|
|
+ <!-- <el-divider content-position="left">关联站点</el-divider>-->
|
|
|
<el-form-item label="适用站点" prop="applyStation">
|
|
|
<ext-d-select
|
|
|
@on-change="handleStationChange"
|
|
|
@@ -147,18 +147,20 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<div class="sub-group-bottom"> 关联权益</div>
|
|
|
-<!-- <el-divider content-position="left">关联权益</el-divider>-->
|
|
|
+ <!-- <el-divider content-position="left">关联权益</el-divider>-->
|
|
|
<el-button size="small" plain type="success" class="ml10" @click="handleAddRightsItem">
|
|
|
<SvgIcon name="ele-FolderAdd"/>
|
|
|
新增权益
|
|
|
</el-button>
|
|
|
|
|
|
-<!-- 服务费折扣权益 -->
|
|
|
+ <!-- 服务费折扣权益 -->
|
|
|
<template v-if="state.ruleForm.discountType==='RechargeRights'">
|
|
|
<el-card v-for="(rights,idx) in state.ruleForm.rechargeRightsList" :key="idx" class="mt10" shadow="hover">
|
|
|
<template #header>
|
|
|
<div class="card-header">
|
|
|
- <el-button class="button" plain type="danger" size="small" v-auth="'activity.modify'" @click="handleRemoveRightsItem(idx)">删除</el-button>
|
|
|
+ <el-button class="button" plain type="danger" size="small" v-auth="'activity.modify'"
|
|
|
+ @click="handleRemoveRightsItem(idx)">删除
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -190,28 +192,30 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="最小充值金额(元)" prop="amountMin">
|
|
|
- <ext-input-number class="wd200" v-model="rights.amountMin" :ratio="100" placeholder="最小充值金额"></ext-input-number>
|
|
|
-<!-- <el-input-number
|
|
|
- controls-position="right"
|
|
|
- v-model.trim="rights.amountMin"
|
|
|
- placeholder="最小充值金额"
|
|
|
- clearable
|
|
|
- :min="0"
|
|
|
- class="wd200">
|
|
|
- </el-input-number>-->
|
|
|
+ <ext-input-number class="wd200" v-model="rights.amountMin" :ratio="100"
|
|
|
+ placeholder="最小充值金额"></ext-input-number>
|
|
|
+ <!-- <el-input-number
|
|
|
+ controls-position="right"
|
|
|
+ v-model.trim="rights.amountMin"
|
|
|
+ placeholder="最小充值金额"
|
|
|
+ clearable
|
|
|
+ :min="0"
|
|
|
+ class="wd200">
|
|
|
+ </el-input-number>-->
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="最大充值金额(元)" prop="amountMin">
|
|
|
- <ext-input-number class="wd200" v-model="rights.amountMax" :ratio="100" placeholder="最大充值金额"></ext-input-number>
|
|
|
-<!-- <el-input-number
|
|
|
- controls-position="right"
|
|
|
- v-model.trim="rights.amountMax"
|
|
|
- placeholder="最大充值金额"
|
|
|
- clearable
|
|
|
- :min="0"
|
|
|
- class="wd200">
|
|
|
- </el-input-number>-->
|
|
|
+ <ext-input-number class="wd200" v-model="rights.amountMax" :ratio="100"
|
|
|
+ placeholder="最大充值金额"></ext-input-number>
|
|
|
+ <!-- <el-input-number
|
|
|
+ controls-position="right"
|
|
|
+ v-model.trim="rights.amountMax"
|
|
|
+ placeholder="最大充值金额"
|
|
|
+ clearable
|
|
|
+ :min="0"
|
|
|
+ class="wd200">
|
|
|
+ </el-input-number>-->
|
|
|
</el-form-item>
|
|
|
|
|
|
</el-col>
|
|
|
@@ -222,7 +226,7 @@
|
|
|
<el-input-number
|
|
|
:controls="false"
|
|
|
v-model.trim="rights.discount"
|
|
|
- placeholder="折扣:100代表无折扣,75代表75折"
|
|
|
+ placeholder="例:75代表75折"
|
|
|
clearable
|
|
|
class="wd200">
|
|
|
</el-input-number>
|
|
|
@@ -245,19 +249,21 @@
|
|
|
</el-card>
|
|
|
</template>
|
|
|
|
|
|
-<!-- 优惠券-->
|
|
|
+ <!-- 优惠券-->
|
|
|
<template v-else>
|
|
|
<el-card v-for="(coupon,idx) in state.ruleForm.couponList" :key="idx" class="mt10" shadow="hover">
|
|
|
<template #header>
|
|
|
<div class="card-header">
|
|
|
- <el-button class="button" plain type="danger" size="small" v-auth="'activity.modify'" @click="handleRemoveCouponItem(idx)">删除</el-button>
|
|
|
+ <el-button class="button" plain type="danger" size="small" v-auth="'activity.modify'"
|
|
|
+ @click="handleRemoveCouponItem(idx)">删除
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="名称" prop="coupon.name">
|
|
|
- <el-input
|
|
|
+ <el-input
|
|
|
v-model="coupon.name"
|
|
|
placeholder="名称"
|
|
|
clearable
|
|
|
@@ -267,18 +273,18 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
|
|
|
- <el-form-item label="权益描述" prop="rightsDesc" class="w100">
|
|
|
- <el-input
|
|
|
- maxlength="500"
|
|
|
- show-word-limit
|
|
|
- type="textarea"
|
|
|
- :rows="2"
|
|
|
- v-model.trim="coupon.couponDesc"
|
|
|
- placeholder="权益描述"
|
|
|
- clearable
|
|
|
- class="w100">
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
+ <el-form-item label="权益描述" prop="rightsDesc" class="w100">
|
|
|
+ <el-input
|
|
|
+ maxlength="500"
|
|
|
+ show-word-limit
|
|
|
+ type="textarea"
|
|
|
+ :rows="2"
|
|
|
+ v-model.trim="coupon.couponDesc"
|
|
|
+ placeholder="权益描述"
|
|
|
+ clearable
|
|
|
+ class="w100">
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
|
|
|
|
|
|
<el-row :gutter="20">
|
|
|
@@ -293,13 +299,13 @@
|
|
|
</ext-d-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="有效期(天)" prop="validity">
|
|
|
+ <el-form-item label="折扣" prop="discount">
|
|
|
<el-input-number
|
|
|
- :min="1"
|
|
|
:controls="false"
|
|
|
- v-model.trim="coupon.validity"
|
|
|
- placeholder="有效天数"
|
|
|
+ v-model.trim="coupon.discount"
|
|
|
+ placeholder="75代表75折或折扣金额(分)"
|
|
|
clearable
|
|
|
class="wd200">
|
|
|
</el-input-number>
|
|
|
@@ -309,25 +315,51 @@
|
|
|
|
|
|
|
|
|
<el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="最小服务费金额(元)" prop="minServiceMoney">
|
|
|
- <ext-input-number class="wd200 " v-model="coupon.minServiceMoney" :ratio="100" placeholder="最小服务费金额"></ext-input-number>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="折扣" prop="discount">
|
|
|
- <el-input-number
|
|
|
- :controls="false"
|
|
|
- v-model.trim="coupon.discount"
|
|
|
- placeholder="折扣:100代表无折扣,75代表75折;折扣金额(分)"
|
|
|
- clearable
|
|
|
- class="wd200">
|
|
|
- </el-input-number>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="服务费门槛(元)" prop="minServiceMoney">
|
|
|
+ <ext-input-number class="wd200 " v-model="coupon.minServiceMoney" :ratio="100"
|
|
|
+ placeholder="服务费门槛"></ext-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="数量(0为不限)" prop="quantity">
|
|
|
+ <el-input-number
|
|
|
+ :min=0
|
|
|
+ :controls="false"
|
|
|
+ v-model.trim="coupon.quantity"
|
|
|
+ placeholder="数量"
|
|
|
+ clearable
|
|
|
+ class="wd200">
|
|
|
+ </el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="领取方式" prop="receiveType">
|
|
|
+ <ext-d-select
|
|
|
+ v-model="coupon.receiveType"
|
|
|
+ placeholder="优惠券领取方式"
|
|
|
+ type="Coupon.receiveType"
|
|
|
+ clearable
|
|
|
+ class="wd200 ">
|
|
|
+ </ext-d-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="有效期(天)" prop="validity">
|
|
|
+ <el-input-number
|
|
|
+ :min="1"
|
|
|
+ :controls="false"
|
|
|
+ v-model.trim="coupon.validity"
|
|
|
+ placeholder="有效天数"
|
|
|
+ clearable
|
|
|
+ class="wd200">
|
|
|
+ </el-input-number>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
|
|
|
</el-card>
|
|
|
</template>
|
|
|
@@ -338,7 +370,9 @@
|
|
|
<template #footer>
|
|
|
<div class="dialog-footer">
|
|
|
<el-button @click="onCancel" size="default">取 消</el-button>
|
|
|
- <el-button v-if="state.action==='add'||state.action==='edit'" :loading="state.btnLoading" type="primary" @click="onSubmit" size="default">{{ state.dialog.submitTxt }}</el-button>
|
|
|
+ <el-button v-if="state.action==='add'||state.action==='edit'" :loading="state.btnLoading" type="primary"
|
|
|
+ @click="onSubmit" size="default">{{ state.dialog.submitTxt }}
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
@@ -380,8 +414,8 @@ const initState = () => ({
|
|
|
discountType: [u.validator.required],
|
|
|
targetUsers: [u.validator.required],
|
|
|
applyStation: [u.validator.required],
|
|
|
- allowStacke: [u.validator.required],
|
|
|
- quantity: [u.validator.required],
|
|
|
+ // allowStacke: [u.validator.required],
|
|
|
+ // quantity: [u.validator.required],
|
|
|
status: [u.validator.required],
|
|
|
},
|
|
|
})
|
|
|
@@ -417,7 +451,7 @@ const onSubmit = () => {
|
|
|
if (!u.isEmptyOrNull(rechargeRightsList)) {
|
|
|
for (let i = 0; i < rechargeRightsList.length; i++) {
|
|
|
const item: any = rechargeRightsList[i];
|
|
|
- if (item.amountMax <=0) {
|
|
|
+ if (item.amountMax <= 0) {
|
|
|
Msg.message(`权益最大充值金额不能小于0`, 'error')
|
|
|
return false;
|
|
|
}
|
|
|
@@ -428,10 +462,10 @@ const onSubmit = () => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-/* state.ruleForm.rechargeRightsList.forEach((rights: any) => {
|
|
|
- rights.amountMin = rights.amountMin * 100;
|
|
|
- rights.amountMax = rights.amountMax * 100;
|
|
|
- })*/
|
|
|
+ /* state.ruleForm.rechargeRightsList.forEach((rights: any) => {
|
|
|
+ rights.amountMin = rights.amountMin * 100;
|
|
|
+ rights.amountMax = rights.amountMax * 100;
|
|
|
+ })*/
|
|
|
}
|
|
|
|
|
|
formRef.value.validate((valid: boolean) => {
|
|
|
@@ -460,10 +494,10 @@ const handleFormChange = (formData: any) => {
|
|
|
const loadData = (id: number) => {
|
|
|
$get(`activity/${id}`).then((res: any) => {
|
|
|
if (res && res.rechargeRightsList) {
|
|
|
-/* res.rechargeRightsList.forEach((rights: any) => {
|
|
|
- rights.amountMin = rights.amountMin / 100;
|
|
|
- rights.amountMax = rights.amountMax / 100;
|
|
|
- })*/
|
|
|
+ /* res.rechargeRightsList.forEach((rights: any) => {
|
|
|
+ rights.amountMin = rights.amountMin / 100;
|
|
|
+ rights.amountMax = rights.amountMax / 100;
|
|
|
+ })*/
|
|
|
}
|
|
|
state.ruleForm = res;
|
|
|
state.ruleForm.rechargeRightsList = res.rechargeRightsList || []
|
|
|
@@ -479,19 +513,20 @@ const handleStationChange = (applyStation: number) => {
|
|
|
}
|
|
|
|
|
|
const handleAddRightsItem = () => {
|
|
|
- if(state.ruleForm.discountType==='RechargeRights'){
|
|
|
+ if (state.ruleForm.discountType === 'RechargeRights') {
|
|
|
state.ruleForm.rechargeRightsList.unshift({
|
|
|
rightsDesc: '',
|
|
|
amountMin: 0,
|
|
|
amountMax: 0,
|
|
|
validity: 1
|
|
|
})
|
|
|
- }else if(state.ruleForm.discountType==='Coupon'){
|
|
|
+ } else if (state.ruleForm.discountType === 'Coupon') {
|
|
|
state.ruleForm.couponList.unshift({
|
|
|
couponDesc: '',
|
|
|
couponType: 'Discount',
|
|
|
minServiceMoney: 0,
|
|
|
- validity: 1
|
|
|
+ validity: 1,
|
|
|
+ quantity: 0,
|
|
|
})
|
|
|
}
|
|
|
|