From 0bb6a90c9a2105244a4e41173a8be4fd6e384e59 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sun, 30 Mar 2025 19:52:09 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=E9=92=B1=E5=8C=85=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wallet/wallet-rule-join.ts | 55 ++++++ src/components/Select/SelectWalletType.vue | 3 + src/views/mch/components/mch-rule-desc.vue | 34 ++++ .../mch/mch-manage/mch-rule-config-form.vue | 11 +- src/views/mch/mch-manage/mch-rule-config.vue | 9 +- src/views/mch/rule-price-config/form.vue | 6 +- .../wallet/components/wallet-rule-desc.vue | 30 ++++ .../components/wallet-rule-form-dialog.vue | 123 ++++++++++++++ .../components/wallet-rule-table-dialog.vue | 156 ++++++++++++++++++ src/views/wallet/wallet-type/index.vue | 24 ++- 10 files changed, 425 insertions(+), 26 deletions(-) create mode 100644 src/api/wallet/wallet-rule-join.ts create mode 100644 src/views/mch/components/mch-rule-desc.vue create mode 100644 src/views/wallet/components/wallet-rule-desc.vue create mode 100644 src/views/wallet/wallet-type/components/wallet-rule-form-dialog.vue create mode 100644 src/views/wallet/wallet-type/components/wallet-rule-table-dialog.vue diff --git a/src/api/wallet/wallet-rule-join.ts b/src/api/wallet/wallet-rule-join.ts new file mode 100644 index 0000000..0be6acf --- /dev/null +++ b/src/api/wallet/wallet-rule-join.ts @@ -0,0 +1,55 @@ +import request from "/@/utils/request" + +export function pageJoin(query?: Object) { + return request({ + url: "/wallet/wallet-rule-join/page-join", + method: "get", + params: query, + }) +} + +export function fetchList(query?: Object) { + return request({ + url: "/wallet/wallet-rule-join/page", + method: "get", + params: query, + }) +} + +export function addObj(obj?: Object) { + return request({ + url: "/wallet/wallet-rule-join", + method: "post", + data: obj, + }) +} + +export function getObj(id?: string) { + return request({ + url: "/wallet/wallet-rule-join/" + id, + method: "get", + }) +} + +export function getJoinDetail(id?: string) { + return request({ + url: "/wallet/wallet-rule-join/join-detail/" + id, + method: "get", + }) +} + +export function delObjs(ids?: Object) { + return request({ + url: "/wallet/wallet-rule-join", + method: "delete", + data: ids, + }) +} + +export function putObj(obj?: Object) { + return request({ + url: "/wallet/wallet-rule-join", + method: "put", + data: obj, + }) +} diff --git a/src/components/Select/SelectWalletType.vue b/src/components/Select/SelectWalletType.vue index d4cf70f..7aefdba 100644 --- a/src/components/Select/SelectWalletType.vue +++ b/src/components/Select/SelectWalletType.vue @@ -7,6 +7,7 @@ remote-show-suffix filterable remote + :disabled="props.disabled" :remote-method="remoteSearch" :loading="state.loading" @visible-change="(e: boolean) => e && getOptions()" @@ -34,9 +35,11 @@ const selectId = defineModel() const props = withDefaults( defineProps<{ placeholder?: string + disabled?: boolean }>(), { placeholder: "请选择", + disabled: false, }, ) diff --git a/src/views/mch/components/mch-rule-desc.vue b/src/views/mch/components/mch-rule-desc.vue new file mode 100644 index 0000000..a03320e --- /dev/null +++ b/src/views/mch/components/mch-rule-desc.vue @@ -0,0 +1,34 @@ + + + diff --git a/src/views/mch/mch-manage/mch-rule-config-form.vue b/src/views/mch/mch-manage/mch-rule-config-form.vue index 0fc2896..867b4aa 100644 --- a/src/views/mch/mch-manage/mch-rule-config-form.vue +++ b/src/views/mch/mch-manage/mch-rule-config-form.vue @@ -19,13 +19,7 @@ - {{ form.sourceMchName ? form.sourceMchName : "???" }} - 到 - {{ form.targetMchName ? form.targetMchName : "???" }} - 消费,超过 - {{ form.basePrice ? displayPrice(form.basePrice) : "???" }} - 额外支付 - {{ form.multiple ? form.multiple : "???" }}% + @@ -42,7 +36,8 @@ diff --git a/src/views/wallet/wallet-type/components/wallet-rule-form-dialog.vue b/src/views/wallet/wallet-type/components/wallet-rule-form-dialog.vue new file mode 100644 index 0000000..afbd00e --- /dev/null +++ b/src/views/wallet/wallet-type/components/wallet-rule-form-dialog.vue @@ -0,0 +1,123 @@ + + + diff --git a/src/views/wallet/wallet-type/components/wallet-rule-table-dialog.vue b/src/views/wallet/wallet-type/components/wallet-rule-table-dialog.vue new file mode 100644 index 0000000..aa343c9 --- /dev/null +++ b/src/views/wallet/wallet-type/components/wallet-rule-table-dialog.vue @@ -0,0 +1,156 @@ + + + diff --git a/src/views/wallet/wallet-type/index.vue b/src/views/wallet/wallet-type/index.vue index e6e4807..0a998fe 100644 --- a/src/views/wallet/wallet-type/index.vue +++ b/src/views/wallet/wallet-type/index.vue @@ -49,14 +49,21 @@ - - @@ -76,10 +84,12 @@ import { useDict } from "/@/hooks/dict" // 引入组件 const FormDialog = defineAsyncComponent(() => import("./form.vue")) +const WalletRuleTableDialog = defineAsyncComponent(() => import("./components/wallet-rule-table-dialog.vue")) // 定义查询字典 const { wallet_type } = useDict("wallet_type") // 定义变量内容 const formDialogRef = ref() +const WalletRuleTableDialogRef = ref() // 搜索变量 const queryRef = ref() const showSearch = ref(true) From 1a7ee59be73f37b1050c9faf21c2b103b450a81c Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sun, 30 Mar 2025 20:23:16 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat:=E9=92=B1=E5=8C=85=E8=BD=AC=E8=B4=A6?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/wallet/wallet-rule-transaction.ts | 48 ++++++ .../mch/mch-manage/mch-rule-config-form.vue | 2 +- .../wallet/wallet-rule-transaction/form.vue | 145 ++++++++++++++++++ .../wallet/wallet-rule-transaction/index.vue | 145 ++++++++++++++++++ src/views/wallet/wallet-tk/index.vue | 29 +--- .../components/wallet-rule-form-dialog.vue | 2 +- 6 files changed, 341 insertions(+), 30 deletions(-) create mode 100644 src/api/wallet/wallet-rule-transaction.ts create mode 100644 src/views/wallet/wallet-rule-transaction/form.vue create mode 100644 src/views/wallet/wallet-rule-transaction/index.vue diff --git a/src/api/wallet/wallet-rule-transaction.ts b/src/api/wallet/wallet-rule-transaction.ts new file mode 100644 index 0000000..c31b012 --- /dev/null +++ b/src/api/wallet/wallet-rule-transaction.ts @@ -0,0 +1,48 @@ +import request from "/@/utils/request" + +export function fetchList(query?: Object) { + return request({ + url: "/wallet/wallet-rule-transaction/page", + method: "get", + params: query, + }) +} + +export function pageJoin(query?: Object) { + return request({ + url: "/wallet/wallet-rule-transaction/page-join", + method: "get", + params: query, + }) +} + +export function addObj(obj?: Object) { + return request({ + url: "/wallet/wallet-rule-transaction", + method: "post", + data: obj, + }) +} + +export function getObj(id?: string) { + return request({ + url: "/wallet/wallet-rule-transaction/" + id, + method: "get", + }) +} + +export function delObjs(ids?: Object) { + return request({ + url: "/wallet/wallet-rule-transaction", + method: "delete", + data: ids, + }) +} + +export function putObj(obj?: Object) { + return request({ + url: "/wallet/wallet-rule-transaction", + method: "put", + data: obj, + }) +} diff --git a/src/views/mch/mch-manage/mch-rule-config-form.vue b/src/views/mch/mch-manage/mch-rule-config-form.vue index 867b4aa..46b80ad 100644 --- a/src/views/mch/mch-manage/mch-rule-config-form.vue +++ b/src/views/mch/mch-manage/mch-rule-config-form.vue @@ -1,5 +1,5 @@ @@ -125,7 +116,6 @@ import { useMessage, useMessageBox } from "/@/hooks/message" import { useDict } from "/@/hooks/dict" import * as hardAfterSaleApi from "/@/api/hard/hard-after-sale" import { displayPrice } from "/@/utils/formatMoney" -import { deptTree } from "/@/api/admin/dept" // 引入组件 const FormDialog = defineAsyncComponent(() => import("./form.vue")) @@ -139,7 +129,7 @@ const showSearch = ref(true) // 多选变量 const selectObjs = ref([]) as any const multiple = ref(true) -const draggableDepTreeRef = ref() // 树组件ref引用 +const draggableDepTreeRef = ref() const { push } = useRouter() @@ -202,23 +192,6 @@ const selectionChangHandle = (objs: { id: string }[]) => { multiple.value = !objs.length } -// 删除操作 -const handleDelete = async (ids: string[]) => { - try { - await useMessageBox().confirm("此操作将永久删除") - } catch { - return - } - - try { - await delObjs(ids) - getDataList() - useMessage().success("删除成功") - } catch (err: any) { - useMessage().error(err.msg) - } -} - // 树节点选择时 const handleGetSelectNode = (curClickedNode: any, checkedTreeNodes: any, isDeepTree: any) => { state.queryForm.deptId = curClickedNode.id diff --git a/src/views/wallet/wallet-type/components/wallet-rule-form-dialog.vue b/src/views/wallet/wallet-type/components/wallet-rule-form-dialog.vue index afbd00e..f2617f3 100644 --- a/src/views/wallet/wallet-type/components/wallet-rule-form-dialog.vue +++ b/src/views/wallet/wallet-type/components/wallet-rule-form-dialog.vue @@ -69,7 +69,7 @@ const dataRules = ref({ // 打开弹窗 const openDialog = (id: string, sourceWalletTypeId: string) => { visible.value = true - form.id = "" + Object.assign(form, defaultForm) form.sourceWalletTypeId = sourceWalletTypeId // 重置表单数据 nextTick(() => {