upda
parent
1d62674b69
commit
345de09c0c
@ -0,0 +1,91 @@
|
|||||||
|
import {
|
||||||
|
request
|
||||||
|
} from "@/utils/request";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
|
||||||
|
SalesDiscounts: {
|
||||||
|
|
||||||
|
List(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/SalesDiscounts/List",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
GetItem(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/SalesDiscounts/GetItem",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
Create(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/SalesDiscounts/Create",
|
||||||
|
method: "POST",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
SalesFullDiscounts: {
|
||||||
|
|
||||||
|
List(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/SalesFullDiscounts/List",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
GetItem(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/SalesFullDiscounts/GetItem",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
Create(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/SalesFullDiscounts/Create",
|
||||||
|
method: "POST",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
SalesFullSetRedution: {
|
||||||
|
|
||||||
|
List(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/SalesFullSetRedution/List",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
GetItem(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/SalesFullSetRedution/GetItem",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
Create(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/SalesFullSetRedution/Create",
|
||||||
|
method: "POST",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
@ -0,0 +1,52 @@
|
|||||||
|
import {
|
||||||
|
request
|
||||||
|
} from "@/utils/request";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
List(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/recharge/List",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
save(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/recharge/save",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
recharge_list(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/recharge/recharge_list",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
rechargeSet: {
|
||||||
|
list(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/rechargeSet/list",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
save(data) {
|
||||||
|
return request({
|
||||||
|
url: "/admin/rechargeSet/save",
|
||||||
|
method: "GET",
|
||||||
|
data,
|
||||||
|
type: 'store'
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
@ -0,0 +1,187 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<kevyloading v-if="loading" type="bsm-loader" color="#618af8" transparent></kevyloading>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="px-2 my-2">
|
||||||
|
<div class="relative flex flex-col rounded-md bg-white p-4 shadow-sm">
|
||||||
|
|
||||||
|
<div class="mb-2 pointer-events-auto relative inline-flex bg-white font-medium ">
|
||||||
|
<div class="flex items-baseline text-xs px-2">
|
||||||
|
<span class="mr-2 warn-state warn-status-processing bg-emerald-400"></span>
|
||||||
|
基础功能
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<view class="grid grid-cols-3 gap-3">
|
||||||
|
|
||||||
|
<div @click="utils.toUrl('/store/cat/index')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
商品分类
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div @click="utils.toUrl('/store/goods/index')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
商品管理
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<view class="px-2 my-2">
|
||||||
|
<div class="relative flex flex-col rounded-md bg-white p-4 shadow-sm">
|
||||||
|
|
||||||
|
<div class="mb-2 pointer-events-auto relative inline-flex bg-white font-medium ">
|
||||||
|
<div class="flex items-baseline text-xs px-2">
|
||||||
|
<span class="mr-2 warn-state warn-status-processing bg-yellow-600"></span>
|
||||||
|
订单管理
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<view class="grid grid-cols-3 gap-3">
|
||||||
|
<div @click="utils.toUrl('/store/order/index')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
普通订单
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div @click="utils.toUrl('/store/afterSale/index')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
售后订单
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div @click="utils.toUrl('/store/inpersonPay/index')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
当面付订单
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="px-2 my-2">
|
||||||
|
<div class="relative flex flex-col rounded-md bg-white p-4 shadow-sm">
|
||||||
|
|
||||||
|
<div class="mb-2 pointer-events-auto relative inline-flex bg-white font-medium ">
|
||||||
|
<div class="flex items-baseline text-xs px-2">
|
||||||
|
<span class="mr-2 warn-state warn-status-processing bg-stone-800"></span>
|
||||||
|
折扣管理
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<view class="grid grid-cols-2 gap-3">
|
||||||
|
<div @click="utils.toUrl('/store/discount/discount/index')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
限时折扣
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div @click="utils.toUrl('/store/discount/full_discount/index')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
梯度折扣
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div @click="utils.toUrl('/store/discount/full_set_redution/index')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
满额立减
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <div class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
套餐优惠
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="px-2 my-2">
|
||||||
|
<div class="relative flex flex-col rounded-md bg-white p-4 shadow-sm">
|
||||||
|
|
||||||
|
<div class="mb-2 pointer-events-auto relative inline-flex bg-white font-medium ">
|
||||||
|
<div class="flex items-baseline text-xs px-2">
|
||||||
|
<span class="mr-2 warn-state warn-status-processing bg-violet-700"></span>
|
||||||
|
更多功能
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<view class="grid grid-cols-2 gap-3">
|
||||||
|
<div @click="utils.toUrl('/store/coupon/index')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
优惠券
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div @click="utils.toUrl('/store/check/list')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
核销记录
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div @click="utils.toUrl('/store/user/list')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
会员管理
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div @click="utils.toUrl('/store/user/memberList')"
|
||||||
|
class="item border-2 border-solid border-gray-100 rounded bg-slate-50 p-2 flex justify-between"
|
||||||
|
style="font-size: 0.75rem;">
|
||||||
|
会员等级
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="bg-transparent h-[80px]"></view>
|
||||||
|
|
||||||
|
<view class="fixed left-2 right-2 bottom-4 z-50">
|
||||||
|
<myTabbar tab="function"></myTabbar>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref } from 'vue';
|
||||||
|
import utils from '@/utils/utils.js';
|
||||||
|
import index from '@/api/store/index.js';
|
||||||
|
import myTabbar from "../components/myTabbar/index.vue";
|
||||||
|
import bar from "../components/bar/bar.vue";
|
||||||
|
import kevyloading from "@/components/kevy-loading/kevy-loading";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {Ref<boolean>}
|
||||||
|
* 控制页面加载状态的 Ref
|
||||||
|
*/
|
||||||
|
const loading = ref(false);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 从本地存储中获取用户信息
|
||||||
|
*/
|
||||||
|
const store_info = uni.getStorageSync("store_info");
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content {}
|
||||||
|
</style>
|
||||||
@ -0,0 +1,121 @@
|
|||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<kevyloading v-if="loading" type="bsm-loader" color="#618af8" transparent></kevyloading>
|
||||||
|
|
||||||
|
<wd-form ref="form" :model="formData" :rules="formRules">
|
||||||
|
|
||||||
|
<!-- 基础信息 -->
|
||||||
|
<wd-cell-group title="充值方案" border>
|
||||||
|
<wd-input label="充值名称" v-model="formData.name" />
|
||||||
|
<wd-cell-group title="支付金额" border>
|
||||||
|
<view class="p-4">
|
||||||
|
<wd-input-number v-model="formData.money" min="0" />
|
||||||
|
</view>
|
||||||
|
</wd-cell-group>
|
||||||
|
|
||||||
|
<wd-cell-group title="赠送金额" border>
|
||||||
|
<view class="p-4">
|
||||||
|
<wd-input-number v-model="formData.gift_money" min="0" />
|
||||||
|
</view>
|
||||||
|
</wd-cell-group>
|
||||||
|
</wd-cell-group>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 提交按钮 -->
|
||||||
|
<view class="mt-2 px-12 py-3 bg-slate-50">
|
||||||
|
<wd-button type="primary" size="large" @click="handleSubmit" block>
|
||||||
|
保存
|
||||||
|
</wd-button>
|
||||||
|
</view>
|
||||||
|
</wd-form>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import kevyloading from "@/components/kevy-loading/kevy-loading";
|
||||||
|
import utils from '@/utils/utils.js'
|
||||||
|
import rechargeApi from '@/api/store/recharge.js'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
kevyloading
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
utils,
|
||||||
|
// 表单数据
|
||||||
|
formData: {
|
||||||
|
"name": "", //
|
||||||
|
"money": "", //
|
||||||
|
"gift_money": "", //
|
||||||
|
},
|
||||||
|
// 表单验证规则
|
||||||
|
formRules: {
|
||||||
|
// 在这里添加其他字段的验证规则
|
||||||
|
},
|
||||||
|
// 地区选择器的数据
|
||||||
|
addrList: [
|
||||||
|
// 在这里添加省市区的数据
|
||||||
|
],
|
||||||
|
classifyList: [],
|
||||||
|
loading: false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
async onLoad(e) {
|
||||||
|
// this.getDistrict();
|
||||||
|
|
||||||
|
if (e.edit) {
|
||||||
|
this.formData = JSON.parse(e.edit)
|
||||||
|
}
|
||||||
|
|
||||||
|
// this.formData = JSON.parse(e.edit)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* 处理表单提交
|
||||||
|
*/
|
||||||
|
async handleSubmit() {
|
||||||
|
console.log(this.formData);
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 处理表单提交的逻辑
|
||||||
|
const res = await rechargeApi.save({
|
||||||
|
...this.formData,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (res.code == 0) {
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.showToast({
|
||||||
|
title: '保存成功!',
|
||||||
|
icon: 'success'
|
||||||
|
});
|
||||||
|
}, 100);
|
||||||
|
uni.navigateBack()
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.msg,
|
||||||
|
icon: 'none'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请检查表单!',
|
||||||
|
icon: 'none'
|
||||||
|
});
|
||||||
|
}, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/* 在这里添加样式,根据需要自定义表单样式 */
|
||||||
|
</style>
|
||||||
Loading…
Reference in New Issue