This commit is contained in:
weiwei committed 2025-03-27 16:28:24 +08:00
commit 034eff45f6
8 files changed
+59 -34

No files matched your search

+5 -2
View File
@@ -6,12 +6,15 @@
<el-form-item style="width: 300px" label="用户" prop="userIds">
<select-user v-model="state.queryForm.userIds" />
</el-form-item>
<el-form-item style="width: 300px" label="商户类型" prop="hardTypeCode">
<dict-select v-model="state.queryForm.hardTypeCode" dict-code="merchant_type" />
<el-form-item style="width: 300px" label="商户类型" prop="merchantType">
<dict-select v-model="state.queryForm.merchantType" dict-code="merchant_type" />
</el-form-item>
<el-form-item style="width: 300px" label="商户" prop="mchIds">
<select-mch v-model="state.queryForm.mchIds" />
</el-form-item>
<el-form-item style="width: 300px" label="设备类型" prop="hardTypeCode">
<dict-select v-model="state.queryForm.hardTypeCode" dict-code="hard_type" />
</el-form-item>
<el-form-item style="width: 300px" label="用户部门" prop="deptId">
<select-dept v-model="state.queryForm.deptId" />
</el-form-item>
+1 -1
View File
@@ -150,7 +150,7 @@ const dataRules = ref({
swiperPic: [{ required: true, message: "请上传商户轮播图", trigger: "blur" }],
rangeDate: [{ required: true, message: "请选择营业时间", trigger: "blur" }],
deptId: [{ required: true, message: "请选择部门", trigger: "blur" }],
// merchantType: [{ required: true, message: "请选择商户类型", trigger: "blur" }],
merchantType: [{ required: true, message: "请选择商户类型", trigger: "blur" }],
// jobTime: [{ required: true, message: "请选择营业时间", trigger: "blur" }],
})
+28 -10
View File
@@ -1,14 +1,22 @@
<template>
<el-dialog title="商户配置" width="40%" v-model="visible" :close-on-click-modal="false" draggable>
<el-form ref="dataFormRef" :model="form" :rules="dataRules" label-width="120px" v-loading="loading">
<el-row :gutter="24">
<el-col :span="18" class="mb20">
<el-form-item label="默认钱包类型" prop="defaultWalletTypeId">
<select-wallet-type v-model="form.defaultWalletTypeId" placeholder="请选择默认钱包类型" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-dialog width="60%" v-model="visible" :close-on-click-modal="false" draggable>
<div>
<el-tabs v-model="form.activeTab" class="demo-tabs">
<div v-for="v in data.tabList" :key="v.id">
<el-tab-pane :label="v.label" :name="v.id" />
</div>
</el-tabs>
<el-form ref="dataFormRef" v-if="form.activeTab == 10" :model="form" :rules="dataRules" label-width="120px" v-loading="loading">
<el-row :gutter="24">
<el-col :span="18" class="mb20">
<el-form-item label="默认钱包类型" prop="defaultWalletTypeId">
<select-wallet-type v-model="form.defaultWalletTypeId" placeholder="请选择默认钱包类型" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<mch-rule-config-dialog v-if="form.activeTab == 20" />
</div>
<template #footer>
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="onSubmit" :disabled="loading">确认</el-button>
@@ -20,14 +28,24 @@
import { useMessage } from "/@/hooks/message"
import { getObj, putObj } from "/@/api/wallet/mch-manage"
const MchRuleConfigDialog = defineAsyncComponent(() => import("./mch-rule-config.vue"))
const emit = defineEmits(["refresh"])
const dataFormRef = ref()
const visible = ref(false)
const loading = ref(false)
const data = {
tabList: [
{ id: 10, label: "钱包配置" },
{ id: 20, label: "钱包规则" },
],
}
// 提交表单数据
const form = reactive({
activeTab: data.tabList[0].id,
id: "",
merchantType: "",
defaultWalletTypeId: "",
+10 -6
View File
@@ -15,8 +15,8 @@
</el-col>
<el-col :span="24" class="mb20">
<el-form-item label="额外的倍数" prop="multiple">
<el-input-number v-model="form.multiple" placeholder="额外的倍数" />
<el-form-item label="额外的百分比" prop="multiple">
<el-input-number v-model="form.multiple" placeholder="额外的百分比" />
</el-form-item>
</el-col>
</el-row>
@@ -34,7 +34,7 @@
import { useDict } from "/@/hooks/dict"
import { useMessage } from "/@/hooks/message"
import { getObj, addObj, putObj } from "/@/api/wallet/wallet-rule-price-config"
import { rule } from "/@/utils/validate"
import { storePrice, displayPrice } from "/@/utils/formatMoney"
const emit = defineEmits(["refresh"])
// 定义变量内容
@@ -49,7 +49,7 @@ const form = reactive({
id: "",
rulePriceType: "",
basePrice: 20,
multiple: 0.5,
multiple: 50,
})
// 定义校验规则
@@ -83,7 +83,11 @@ const onSubmit = async () => {
try {
loading.value = true
form.id ? await putObj(form) : await addObj(form)
const _pa = {
...form,
basePrice: storePrice(form.basePrice),
}
form.id ? await putObj(_pa) : await addObj(_pa)
useMessage().success(form.id ? "修改成功" : "添加成功")
visible.value = false
emit("refresh")
@@ -100,7 +104,7 @@ const getwalletRulePriceConfigData = (id: string) => {
loading.value = true
getObj(id)
.then((res: any) => {
Object.assign(form, res.data)
Object.assign(form, res.data, { basePrice: displayPrice(res.data.basePrice, "", 0) })
})
.finally(() => {
loading.value = false
+11 -2
View File
@@ -49,8 +49,16 @@
<dict-tag :options="wallet_rule_price_type" :value="row.rulePriceType" />
</template>
</el-table-column>
<el-table-column prop="basePrice" label="基础金额" show-overflow-tooltip />
<el-table-column prop="multiple" label="金额的倍数必须大于1" show-overflow-tooltip />
<el-table-column prop="basePrice" label="基础金额" show-overflow-tooltip>
<template #default="{ row }">
<span class="color-success">{{ displayPrice(row.basePrice) }}</span>
</template>
</el-table-column>
<el-table-column prop="multiple" label="额外的百分比" show-overflow-tooltip>
<template #default="{ row }">
<span class="color-primary">{{ row.multiple }}%</span>
</template>
</el-table-column>
<el-table-column label="操作" width="150">
<template #default="scope">
<el-button
@@ -79,6 +87,7 @@
import { BasicTableProps, useTable } from "/@/hooks/table"
import { fetchList, delObjs } from "/@/api/wallet/wallet-rule-price-config"
import { useMessage, useMessageBox } from "/@/hooks/message"
import { displayPrice } from "/@/utils/formatMoney"
import { useDict } from "/@/hooks/dict"
// 引入组件
+1 -1
View File
@@ -114,7 +114,7 @@
<script setup lang="ts" name="systemWalletRecharge">
import { BasicTableProps, useTable } from "/@/hooks/table"
import { pageCz } from "/@/api/wallet/wallet-transaction"
import { pageCz, delObjs } from "/@/api/wallet/wallet-transaction"
import { useMessage, useMessageBox } from "/@/hooks/message"
import { useDict } from "/@/hooks/dict"
import { displayPrice } from "/@/utils/formatMoney"
@@ -3,14 +3,7 @@
<div class="layout-padding-auto layout-padding-view">
<div class="flex justify-center flex-col">
<div>
<el-form
ref="dataFormRef"
label-width="120px"
:model="form"
:rules="dataRules"
formDialogRef
v-loading="loading"
>
<el-form ref="dataFormRef" label-width="120px" :model="form" :rules="dataRules" formDialogRef v-loading="loading">
<el-row :gutter="24">
<el-col :span="24" class="mb20">
<el-form-item label="每一餐的上限" prop="payAmountEnable">
@@ -113,7 +106,7 @@ const onSubmit = async () => {
const getwalletRechargePackageData = (id: string) => {
// 获取数据
loading.value = true
getObj(id)
getObj()
.then((res: any) => {
Object.assign(form, res.data, { payAmountMealLimit: displayPrice(res.data.payAmountMealLimit, "", 0) })
})
+1 -3
View File
@@ -1,7 +1,7 @@
<template>
<div class="layout-padding">
<div class="layout-padding-auto layout-padding-view">
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
<el-tabs v-model="activeName" class="demo-tabs">
<div v-for="v in data.tabList" :key="v.id">
<el-tab-pane :label="v.label" :name="v.id">
<div></div>
@@ -40,6 +40,4 @@ const data = {
}
const activeName = ref(data.tabList[0].id)
const handleClick = (e: any) => {}
</script>