|
|
@@ -21,6 +21,7 @@
|
|
|
<el-option label="红包" :value="1" />
|
|
|
<el-option label="积分商品免单券" :value="2" />
|
|
|
<el-option label="大礼品" :value="3" />
|
|
|
+ <el-option label="门店核销券" :value="4" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
@@ -56,6 +57,7 @@
|
|
|
<el-tag v-if="scope.row.prizeType === 1" type="warning">红包</el-tag>
|
|
|
<el-tag v-else-if="scope.row.prizeType === 2" type="success">积分商品免单券</el-tag>
|
|
|
<el-tag v-else-if="scope.row.prizeType === 3" type="primary">大礼品</el-tag>
|
|
|
+ <el-tag v-else-if="scope.row.prizeType === 4" type="">门店核销券</el-tag>
|
|
|
<span v-else>-</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
@@ -175,6 +177,7 @@
|
|
|
<el-option :label="'红包'" :value="1" />
|
|
|
<el-option :label="'积分商品免单券'" :value="2" />
|
|
|
<el-option label="大礼品" :value="3" />
|
|
|
+ <el-option label="门店核销券" :value="4" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
@@ -220,6 +223,24 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
+ <el-form-item v-if="form.prizeType === 4" label="门店核销券" prop="freeCouponId"
|
|
|
+ :rules="{ required: true, message: '门店核销券不能为空', trigger: 'change' }">
|
|
|
+ <el-select
|
|
|
+ ref="customSelectVerifyCoupon"
|
|
|
+ v-model="form.freeCouponId"
|
|
|
+ placeholder="请选择门店核销券"
|
|
|
+ @click.native.stop="openVerifyCouponDrawer"
|
|
|
+ clearable
|
|
|
+ style="width: 100%;">
|
|
|
+ <el-option
|
|
|
+ v-for="item in verifyCouponList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<el-form-item label="备注" prop="remark">
|
|
|
<el-input v-model="form.remark" type="textarea" :rows="2" placeholder="请输入备注" size="small" />
|
|
|
</el-form-item>
|
|
|
@@ -308,6 +329,22 @@
|
|
|
<el-table-column label="领取时间" align="center" prop="receiveTime" min-width="160" />
|
|
|
</el-table>
|
|
|
</el-tab-pane>
|
|
|
+ <el-tab-pane label="门店核销券领取记录" name="4" v-if="prizeRecordType === '4'">
|
|
|
+ <el-table v-loading="prizeRecordLoading" :data="prizeRecordList" border style="width: 100%">
|
|
|
+ <el-table-column label="ID" align="center" prop="receiveId" min-width="80" />
|
|
|
+ <el-table-column label="用户昵称" align="center" prop="userNickName" min-width="120" show-overflow-tooltip />
|
|
|
+ <el-table-column label="企业名" align="center" prop="companyName" min-width="150" show-overflow-tooltip />
|
|
|
+ <el-table-column label="优惠券名称" align="center" prop="prizeName" min-width="150" show-overflow-tooltip />
|
|
|
+ <el-table-column label="领取状态" align="center" prop="receiveStatus" min-width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-tag v-if="scope.row.receiveStatus === 0" type="info">未领取</el-tag>
|
|
|
+ <el-tag v-else-if="scope.row.receiveStatus === 1" type="success">已领取</el-tag>
|
|
|
+ <el-tag v-else-if="scope.row.receiveStatus === 2" type="danger">领取失败</el-tag>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="领取时间" align="center" prop="receiveTime" min-width="160" />
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
</el-tabs>
|
|
|
<pagination
|
|
|
v-show="prizeRecordTotal>0"
|
|
|
@@ -327,6 +364,11 @@
|
|
|
<el-drawer :append-to-body="true" :with-header="false" size="75%" :visible.sync="couponDrawerOpen">
|
|
|
<coupon-component :coupon-type="7" @select-coupon="selectCoupon"></coupon-component>
|
|
|
</el-drawer>
|
|
|
+
|
|
|
+ <!-- 选择门店核销券 -->
|
|
|
+ <el-drawer :append-to-body="true" :with-header="false" size="75%" :visible.sync="verifyCouponDrawerOpen">
|
|
|
+ <coupon-component :coupon-type="8" @select-coupon="selectVerifyCoupon"></coupon-component>
|
|
|
+ </el-drawer>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
@@ -433,6 +475,8 @@ export default {
|
|
|
},
|
|
|
couponDrawerOpen: false,
|
|
|
couponList: [],
|
|
|
+ verifyCouponDrawerOpen: false,
|
|
|
+ verifyCouponList: [],
|
|
|
rewardDrawerOpen: false,
|
|
|
rewardList: [],
|
|
|
};
|
|
|
@@ -510,6 +554,7 @@ export default {
|
|
|
remark: null,
|
|
|
checkinDays: null,
|
|
|
grandGiftId: null,
|
|
|
+ freeCouponId: null,
|
|
|
};
|
|
|
},
|
|
|
// 校验打卡天数不能超过活动时长
|
|
|
@@ -577,6 +622,9 @@ export default {
|
|
|
this.$set(this.form, 'grandGiftId', prize.grandGiftId);
|
|
|
console.log(prize.grandGiftId);
|
|
|
this.initRewardList(prize.grandGiftId)
|
|
|
+ } else if (this.form.prizeType === 4) {
|
|
|
+ this.$set(this.form, 'freeCouponId', prize.freeCouponId)
|
|
|
+ this.initVerifyCouponList(prize.freeCouponId)
|
|
|
}
|
|
|
}
|
|
|
this.open = true;
|
|
|
@@ -697,6 +745,11 @@ export default {
|
|
|
prizeType: 3,
|
|
|
grandGiftId: this.form.grandGiftId
|
|
|
})
|
|
|
+ } else if (this.form.prizeType === 4) {
|
|
|
+ prizeList.push({
|
|
|
+ prizeType: 4,
|
|
|
+ freeCouponId: this.form.freeCouponId
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
const submitData = {
|
|
|
@@ -756,6 +809,30 @@ export default {
|
|
|
}
|
|
|
this.rewardDrawerOpen = false
|
|
|
},
|
|
|
+ openVerifyCouponDrawer() {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.customSelectVerifyCoupon?.blur?.()
|
|
|
+ });
|
|
|
+ this.verifyCouponDrawerOpen = true
|
|
|
+ },
|
|
|
+ selectVerifyCoupon(coupon) {
|
|
|
+ this.form.freeCouponId = coupon.id
|
|
|
+ if (!this.verifyCouponList.some(item => item.id === coupon.id)) {
|
|
|
+ this.verifyCouponList.push(coupon)
|
|
|
+ }
|
|
|
+ this.verifyCouponDrawerOpen = false
|
|
|
+ },
|
|
|
+ initVerifyCouponList(ids) {
|
|
|
+ if (!ids) return
|
|
|
+ getByIds({ids}).then(response => {
|
|
|
+ const {data} = response
|
|
|
+ data.forEach(d => {
|
|
|
+ if (!this.verifyCouponList.some(item => item.id === d.couponId)) {
|
|
|
+ this.verifyCouponList.push({"id": d.couponId, "name": d.title})
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
}
|
|
|
};
|
|
|
</script>
|