|
|
@@ -4,24 +4,30 @@
|
|
|
<div class="add adf">
|
|
|
<el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增活动</el-button>
|
|
|
</div>
|
|
|
- <el-table :data="dataList" border cell-class-name="vertical-top-cell" v-loading="loading" empty-text="暂无广告" max-height="578px" style="margin-top: 18px;">
|
|
|
+ <el-table :data="dataList" border cell-class-name="vertical-top-cell" v-loading="loading" empty-text="暂无广告" max-height="738px" style="margin-top: 18px;">
|
|
|
<el-table-column label="序号" width="50">
|
|
|
<template #default="scope">
|
|
|
{{ scope.$index + 1 }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="活动名称" prop="eventName"></el-table-column>
|
|
|
+ <el-table-column label="活动名称" prop="eventName" width="140"></el-table-column>
|
|
|
<el-table-column label="问卷类型" prop="queType">
|
|
|
<template #default="{ row }">{{ queTypeDict[row.queType]||'' }}</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="优惠类型" prop="discountMode">
|
|
|
<template #default="{ row }">{{ discountModeDict[row.discountMode]||'' }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="优惠价格" prop="title">
|
|
|
- <template #default="{ row }">{{ row.discountValue||0 }}{{ row.discountMode==1?'%':'元' }}</template>
|
|
|
+ <el-table-column label="优惠力度" prop="" width="140">
|
|
|
+ <template #default="{ row }">{{ row.discountMode==1?('原价的'+(row.discountValue||0)+'%'):('原价减去'+(row.discountValue||0)+'元') }}</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="活动开始时间" prop="beginAt"></el-table-column>
|
|
|
- <el-table-column label="活动结束时间" prop="endAt"></el-table-column>
|
|
|
+ <el-table-column label="优惠后价格" prop="">
|
|
|
+ <template #default="{ row }">{{ row.discountMode==1?(row.price*row.discountValue/100):((row.price-row.discountValue).toFixed(2)) }}元</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="商品原价" prop="price">
|
|
|
+ <template #default="{ row }">{{ row.price||0 }}元</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="活动开始时间" prop="beginAt" width="140"></el-table-column>
|
|
|
+ <el-table-column label="活动结束时间" prop="endAt" width="140"></el-table-column>
|
|
|
<el-table-column label="对应用户标签" prop="userBrief">
|
|
|
<template #default="{ row }">{{ user_brief.find(u=>u.value==row.userBrief)?.label||'' }}</template>
|
|
|
</el-table-column>
|
|
|
@@ -32,7 +38,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="活动说明" prop="remark" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column label="创建时间" prop="createDate" width="160"></el-table-column>
|
|
|
- <el-table-column label="操作" width="200">
|
|
|
+ <el-table-column label="操作" width="120">
|
|
|
<template #default="scope">
|
|
|
<el-button link type="text" size="mini" @click="handleEdit(scope.row)">编辑</el-button>
|
|
|
<el-button link type="text" size="mini" @click="handleDelete(scope.row)">删除</el-button>
|
|
|
@@ -57,15 +63,18 @@
|
|
|
<el-input v-model="goodActivityForm.eventName" placeholder="请输入活动名称"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="问卷类型" prop="queType">
|
|
|
- <el-select v-model="goodActivityForm.queType" placeholder="请选择问卷类型" style="width:100%">
|
|
|
- <el-option label="初级" :value="5"></el-option>
|
|
|
+ <el-select v-model="goodActivityForm.queType" placeholder="请选择问卷类型" style="width:100%" @change="queTypeChange">
|
|
|
+ <!-- <el-option label="初级" :value="5"></el-option>
|
|
|
<el-option label="中级" :value="4"></el-option>
|
|
|
- <el-option label="高级" :value="3"></el-option>
|
|
|
+ <el-option label="高级" :value="3"></el-option> -->
|
|
|
<el-option label="基础版" :value="1"></el-option>
|
|
|
<el-option label="专业版" :value="2"></el-option>
|
|
|
<el-option label="专家版" :value="0"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="商品原价" prop="" v-if="goodActivityForm.queType===0||goodActivityForm.queType===1||goodActivityForm.queType===2">
|
|
|
+ <el-input v-model="goodPrice" disabled></el-input>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="优惠类型" prop="discountMode">
|
|
|
<el-select v-model="goodActivityForm.discountMode" placeholder="请选择优惠类型" style="width:100%">
|
|
|
<el-option label="折扣" :value="1"></el-option>
|
|
|
@@ -124,6 +133,7 @@
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
const { user_brief } = proxy.useDict("user_brief");
|
|
|
import {
|
|
|
+ getPriceByType,
|
|
|
getGoodActivityList,
|
|
|
addGoodActivity,
|
|
|
updateGoodActivity,
|
|
|
@@ -148,6 +158,7 @@
|
|
|
'1': '折扣',
|
|
|
'0': '抵扣'
|
|
|
})
|
|
|
+ const goodPrice = ref(0)
|
|
|
const dataList = ref([])
|
|
|
const total = ref(0)
|
|
|
const loading = ref(false)
|
|
|
@@ -194,6 +205,13 @@
|
|
|
]
|
|
|
})
|
|
|
|
|
|
+ const queTypeChange = (e)=>{
|
|
|
+ if(e>2) return
|
|
|
+ getPriceByType(e).then(res=>{
|
|
|
+ goodPrice.value = (res.data?.price||0)+'元';
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
const getList = async () => {
|
|
|
let query = {...queryParams.value};
|
|
|
loading.value = true;
|
|
|
@@ -248,6 +266,15 @@
|
|
|
const submitForm = () => {
|
|
|
proxy.$refs.goodActivityRef.validate((valid) => {
|
|
|
if (valid) {
|
|
|
+ if(goodPrice.value&&goodActivityForm.value.discountMode===0){
|
|
|
+ if(goodActivityForm.value.discountValue>goodPrice.value) return proxy.$message.error('优惠值不能大于原价');
|
|
|
+ }
|
|
|
+ if(goodActivityForm.value.discountMode===1){
|
|
|
+ if(goodActivityForm.value.discountValue>100) return proxy.$message.error('折扣不能大于100%');
|
|
|
+ if(goodActivityForm.value.discountValue<0) return proxy.$message.error('折扣不能小于0%');
|
|
|
+ }
|
|
|
+ if(Date.parse(goodActivityForm.value.beginAt)>Date.parse(goodActivityForm.value.endAt)) return proxy.$message.error('开始时间不能大于结束时间')
|
|
|
+
|
|
|
buttonLoading.value = true;
|
|
|
if(goodActivityForm.value.id){
|
|
|
updateGoodActivity(goodActivityForm.value).then((res)=>{
|