add: 修复
This commit is contained in:
@@ -1,23 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="gyq_container">
|
<div class="gyq_container">
|
||||||
<div class="gyq_content">
|
<div class="gyq_content">
|
||||||
<HeaderCard
|
<HeaderCard name="智慧充值" intro="允许客户充值并使用余额支付" icon="zhcz" showSwitch v-model:isOpen="form.isEnable"></HeaderCard>
|
||||||
name="智慧充值"
|
|
||||||
intro="允许客户充值并使用余额支付"
|
|
||||||
icon="zhcz"
|
|
||||||
showSwitch
|
|
||||||
v-model:isOpen="form.isEnable"
|
|
||||||
></HeaderCard>
|
|
||||||
<div style="padding-top: 14px">
|
<div style="padding-top: 14px">
|
||||||
<el-tabs v-model="tabsValue">
|
<el-tabs v-model="tabsValue">
|
||||||
<el-tab-pane label="基础设置" :name="1">
|
<el-tab-pane label="基础设置" :name="1">
|
||||||
<el-form
|
<el-form ref="formRef" :model="form" :rules="rules" label-width="120" label-position="right">
|
||||||
ref="formRef"
|
|
||||||
:model="form"
|
|
||||||
:rules="rules"
|
|
||||||
label-width="120"
|
|
||||||
label-position="right"
|
|
||||||
>
|
|
||||||
<el-form-item label="充值面额" required>
|
<el-form-item label="充值面额" required>
|
||||||
<el-button type="primary" @click="AddDialogRef.open()">
|
<el-button type="primary" @click="AddDialogRef.open()">
|
||||||
添加面额
|
添加面额
|
||||||
@@ -26,18 +14,9 @@
|
|||||||
<el-form-item prop="rechargeDetailList">
|
<el-form-item prop="rechargeDetailList">
|
||||||
<el-table :data="form.rechargeDetailList" border stripe>
|
<el-table :data="form.rechargeDetailList" border stripe>
|
||||||
<el-table-column label="ID" prop="id"></el-table-column>
|
<el-table-column label="ID" prop="id"></el-table-column>
|
||||||
<el-table-column
|
<el-table-column label="充值金额(元)" prop="amount"></el-table-column>
|
||||||
label="充值金额(元)"
|
<el-table-column label="赠送金额" prop="rewardAmount"></el-table-column>
|
||||||
prop="amount"
|
<el-table-column label="赠送积分" prop="rewardPoints"></el-table-column>
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
label="赠送金额"
|
|
||||||
prop="rewardAmount"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
label="赠送积分"
|
|
||||||
prop="rewardPoints"
|
|
||||||
></el-table-column>
|
|
||||||
<el-table-column label="赠送优惠券" prop="couponInfoList">
|
<el-table-column label="赠送优惠券" prop="couponInfoList">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
@@ -53,60 +32,34 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作" width="120">
|
<el-table-column label="操作" width="120">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button
|
<el-button type="primary" link @click="AddDialogRef.open(scope.row, scope.$index)">
|
||||||
type="primary"
|
|
||||||
link
|
|
||||||
@click="AddDialogRef.open(scope.row, scope.$index)"
|
|
||||||
>
|
|
||||||
编辑
|
编辑
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button
|
<el-button type="danger" link @click="
|
||||||
type="danger"
|
form.rechargeDetailList.splice(scope.$index, 1)
|
||||||
link
|
">
|
||||||
@click="
|
|
||||||
form.rechargeDetailList.splice(scope.$index, 1)
|
|
||||||
"
|
|
||||||
>
|
|
||||||
删除
|
删除
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item label="选择门店" prop="useType" v-if="shopInfo.isHeadShop">
|
||||||
label="选择门店"
|
|
||||||
prop="useType"
|
|
||||||
v-if="shopInfo.isHeadShop"
|
|
||||||
>
|
|
||||||
<el-radio-group v-model="form.useType">
|
<el-radio-group v-model="form.useType">
|
||||||
<el-radio label="全部门店" value="all"></el-radio>
|
<el-radio label="全部门店" value="all"></el-radio>
|
||||||
<el-radio label="指定门店可用" value="part"></el-radio>
|
<el-radio label="指定门店可用" value="part"></el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="选择门店" v-if="form.useType == 'part'">
|
<el-form-item label="选择门店" v-if="form.useType == 'part'">
|
||||||
<el-select
|
<el-select v-model="form.shopIdList" multiple clearable placeholder="请选择门店" style="width: 300px">
|
||||||
v-model="form.shopIdList"
|
<el-option :label="item.shopName" :value="item.id" v-for="item in branchList"
|
||||||
multiple
|
:key="item.id"></el-option>
|
||||||
clearable
|
|
||||||
placeholder="请选择门店"
|
|
||||||
style="width: 300px"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
:label="item.shopName"
|
|
||||||
:value="item.id"
|
|
||||||
v-for="item in branchList"
|
|
||||||
:key="item.id"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="自定义金额">
|
<el-form-item label="自定义金额">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="center">
|
<div class="center">
|
||||||
<el-switch
|
<el-switch v-model="form.isCustom" :active-value="1" :inactive-value="0" />
|
||||||
v-model="form.isCustom"
|
|
||||||
:active-value="1"
|
|
||||||
:inactive-value="0"
|
|
||||||
/>
|
|
||||||
<span class="tips">自定义金额不参与赠送优惠</span>
|
<span class="tips">自定义金额不参与赠送优惠</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -114,11 +67,7 @@
|
|||||||
<el-form-item label="充值并下单">
|
<el-form-item label="充值并下单">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="center">
|
<div class="center">
|
||||||
<el-switch
|
<el-switch v-model="form.isOrder" :active-value="1" :inactive-value="0" />
|
||||||
v-model="form.isOrder"
|
|
||||||
:active-value="1"
|
|
||||||
:inactive-value="0"
|
|
||||||
/>
|
|
||||||
<span class="tips">开启后,订单支付页面显示充值选项</span>
|
<span class="tips">开启后,订单支付页面显示充值选项</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -126,13 +75,8 @@
|
|||||||
<el-form-item label="充值说明" prop="remark">
|
<el-form-item label="充值说明" prop="remark">
|
||||||
<div class="column">
|
<div class="column">
|
||||||
<div class="item">
|
<div class="item">
|
||||||
<el-input
|
<el-input type="textarea" :rows="4" :maxlength="250" v-model="form.remark"
|
||||||
type="textarea"
|
placeholder="填写内容"></el-input>
|
||||||
:rows="4"
|
|
||||||
:maxlength="250"
|
|
||||||
v-model="form.remark"
|
|
||||||
placeholder="填写内容"
|
|
||||||
></el-input>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="item textarea-num">
|
<div class="item textarea-num">
|
||||||
{{ form.remark.length }}/250字内,单文本
|
{{ form.remark.length }}/250字内,单文本
|
||||||
@@ -170,46 +114,46 @@ const AddDialogRef = ref(null);
|
|||||||
const tabsValue = ref(1);
|
const tabsValue = ref(1);
|
||||||
const formRef = ref(null);
|
const formRef = ref(null);
|
||||||
const form = ref({
|
const form = ref({
|
||||||
isEnable: 1,
|
isEnable: 1,
|
||||||
id: "",
|
id: "",
|
||||||
shopIdList: "",
|
shopIdList: "",
|
||||||
useType: "all",
|
useType: "all",
|
||||||
isCustom: 0,
|
isCustom: 0,
|
||||||
isOrder: 0,
|
isOrder: 0,
|
||||||
remark: "",
|
remark: "",
|
||||||
rechargeDetailList: [],
|
rechargeDetailList: [],
|
||||||
});
|
});
|
||||||
const rules = ref({
|
const rules = ref({
|
||||||
rechargeDetailList: [
|
rechargeDetailList: [
|
||||||
{
|
{
|
||||||
validator: (rule, value, callback) => {
|
validator: (rule, value, callback) => {
|
||||||
if (form.value.rechargeDetailList.length == 0) {
|
if (form.value.rechargeDetailList.length == 0) {
|
||||||
callback(new Error("请添加面额"));
|
callback(new Error("请添加面额"));
|
||||||
} else {
|
} else {
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
trigger: "change",
|
trigger: "change",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
remark: [{ required: true, message: "请输入充值说明", trigger: "blur" }],
|
remark: [{ required: true, message: "请输入充值说明", trigger: "blur" }],
|
||||||
});
|
});
|
||||||
|
|
||||||
function submitHandle() {
|
function submitHandle() {
|
||||||
formRef.value.validate(async (valid) => {
|
formRef.value.validate(async (valid) => {
|
||||||
try {
|
try {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
await shopRecharge(form.value);
|
await shopRecharge(form.value);
|
||||||
ElNotification({
|
ElNotification({
|
||||||
title: "注意",
|
title: "注意",
|
||||||
message: "保存成功",
|
message: "保存成功",
|
||||||
type: "success",
|
type: "success",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 点前登录店铺信息
|
// 点前登录店铺信息
|
||||||
@@ -218,124 +162,122 @@ const shopInfo = ref("");
|
|||||||
// 获取分店列表
|
// 获取分店列表
|
||||||
const branchList = ref([]);
|
const branchList = ref([]);
|
||||||
async function getBranchPageAjax() {
|
async function getBranchPageAjax() {
|
||||||
try {
|
try {
|
||||||
const res = await getBranchPage();
|
const res = await getBranchPage();
|
||||||
branchList.value = res.records;
|
branchList.value = res.records;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function addSuccess(data) {
|
function addSuccess(data) {
|
||||||
console.log("addSuccess===", data);
|
console.log("addSuccess===", data);
|
||||||
if (data.index == null) {
|
if (data.index == null) {
|
||||||
form.value.rechargeDetailList.push(data.data);
|
form.value.rechargeDetailList.push(data.data);
|
||||||
} else {
|
} else {
|
||||||
form.value.rechargeDetailList[data.index] = data.data;
|
form.value.rechargeDetailList[data.index] = data.data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取优惠券列表
|
// 获取优惠券列表
|
||||||
const couponList = ref([]);
|
const couponList = ref([]);
|
||||||
async function couponPageAjax() {
|
async function couponPageAjax() {
|
||||||
try {
|
try {
|
||||||
const res = await couponPage({
|
const res = await couponPage({
|
||||||
page: 1,
|
page: 1,
|
||||||
size: 500,
|
size: 500,
|
||||||
});
|
});
|
||||||
couponList.value = res.records;
|
couponList.value = res.records;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 用id寻找优惠券名称
|
// 用id寻找优惠券名称
|
||||||
function couponListFilter(id) {
|
function couponListFilter(id) {
|
||||||
if (id) {
|
if (id) {
|
||||||
let obj = couponList.value.find((item) => item.id == id);
|
let obj = couponList.value.find((item) => item.id == id);
|
||||||
return obj.title;
|
return obj.title;
|
||||||
} else {
|
} else {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 从本地获取商户信息
|
// 从本地获取商户信息
|
||||||
function getLocalShopInfo() {
|
function getLocalShopInfo() {
|
||||||
shopInfo.value = JSON.parse(localStorage.getItem("userInfo"));
|
shopInfo.value = JSON.parse(localStorage.getItem("userInfo"));
|
||||||
}
|
}
|
||||||
|
|
||||||
function back() {
|
function back() {
|
||||||
router.back();
|
router.back();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 配置信息获取
|
// 配置信息获取
|
||||||
async function shopRechargeGetAjax() {
|
async function shopRechargeGetAjax() {
|
||||||
try {
|
try {
|
||||||
const res = await shopRechargeGet();
|
const res = await shopRechargeGet();
|
||||||
res.rechargeDetailList.map((item) => {
|
res.rechargeDetailList.map((item) => {
|
||||||
item.couponInfoList.map((val) => {
|
item.couponInfoList.map((val) => {
|
||||||
val.id = val.coupon ? val.coupon.id : null;
|
val.id = val.coupon ? val.coupon.id : null;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
form.value = res;
|
form.value = res;
|
||||||
|
|
||||||
console.log(form.value);
|
console.log(form.value);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await couponPageAjax();
|
await couponPageAjax();
|
||||||
getLocalShopInfo();
|
getLocalShopInfo();
|
||||||
getBranchPageAjax();
|
getBranchPageAjax();
|
||||||
shopRechargeGetAjax();
|
shopRechargeGetAjax();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
<<<<<<< HEAD
|
|
||||||
.gyq_container {
|
.gyq_container {
|
||||||
padding: 14px;
|
padding: 14px;
|
||||||
|
|
||||||
.gyq_content {
|
.gyq_content {
|
||||||
padding: 14px;
|
padding: 14px;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
}
|
}
|
||||||
=======
|
|
||||||
.container {
|
|
||||||
padding: 14px;
|
|
||||||
.content {
|
|
||||||
padding: 14px;
|
|
||||||
background-color: #fff;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
>>>>>>> b5635f70ae9ce11a8b36341d218349454a0f5e88
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.column {
|
.column {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 8px;
|
gap: 8px;
|
||||||
.item {
|
|
||||||
flex: 1;
|
.item {
|
||||||
}
|
flex: 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.center {
|
.center {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 10px;
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tips {
|
.tips {
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
.footer {
|
.footer {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.textarea-num {
|
.textarea-num {
|
||||||
color: #999;
|
color: #999;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
Reference in New Issue
Block a user