Переглянути джерело

新增会员添加余额变动记录

licc 1 місяць тому
батько
коміт
34d7c237e1

+ 4 - 0
src/api/membership.ts

@@ -23,3 +23,7 @@ export function saveMember(params?: any) {
 export function saveMemberBenefits(params?: any) {
     return request.post({ url: '/membership/saveMemberBenefits', params }, { urlPrefix: '/elab-marketing-content' })
 }
+
+export function queryBalanceRecordPage(params?: any) {
+    return request.post({ url: '/membership/queryBalanceRecordPage', params }, { urlPrefix: '/elab-marketing-content' })
+}

+ 61 - 0
src/views/membership/user/chargeConsumeRecord.vue

@@ -0,0 +1,61 @@
+<template>
+  <div class="order-console">
+    <el-drawer
+        v-model="showOrderConsole"
+        title="充值/消费记录"
+        direction="rtl"
+        size="80%"
+        :before-close="beforeClose"
+    >
+      <el-table class="mt-4" size="large" :data="pager.lists">
+        <el-table-column type="index" width="55"/>
+        <el-table-column label="类型" prop="typeDesc" min-width="120"/>
+        <el-table-column label="场景" prop="bizScene" min-width="80" show-tooltip-when-overflow/>
+        <el-table-column label="发生金额(元)" prop="amount" min-width="120" show-tooltip-when-overflow>
+          <template #default="scope">
+            <span v-if="scope.row.type > 0" style="font-weight: bolder;color:#67C23A">+{{ scope.row.amount }}</span>
+            <span v-else style="font-weight: bolder;color:#F56C6C">-{{ scope.row.amount }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="发生时间" prop="eventTime" min-width="120"/>
+      </el-table>
+      <div class="flex justify-end mt-4">
+        <pagination v-model="pager" @change="getLists"/>
+      </div>
+    </el-drawer>
+  </div>
+</template>
+
+<script setup lang="ts">
+import { ElScrollbar } from 'element-plus'
+import feedback from '@/utils/feedback'
+import {useElabPaging} from "@/hooks/useElabPaging";
+import {queryBalanceRecordPage} from "@/api/membership";
+// const route = useRoute()
+const queryParams = reactive({
+  mobile: ''
+})
+const { pager, getLists, resetPage, resetParams } = useElabPaging({
+  fetchFun: queryBalanceRecordPage,
+  params: queryParams
+})
+const showOrderConsole = ref(false)
+const open = (item: any) => {
+  showOrderConsole.value = true
+  queryParams.userId = item.userId
+  getLists()
+}
+const beforeClose = () => {
+  showOrderConsole.value = false
+}
+
+onMounted(() => {
+  // initData()
+})
+defineExpose({
+  open
+})
+
+</script>
+<style lang="scss" scoped>
+</style>

+ 14 - 5
src/views/membership/user/user.vue

@@ -26,22 +26,27 @@
         <el-table-column label="会员编号" prop="membershipNo" min-width="100"/>
         <el-table-column label="账户余额(元)" prop="accountAmount" min-width="100"/>
         <el-table-column label="入会时间" prop="time" min-width="120"/>
-<!--        <el-table-column label="操作" min-width="180" fixed="right">-->
-<!--          <template #default="{ row }">-->
-<!--            -->
-<!--          </template>-->
-<!--        </el-table-column>-->
+        <el-table-column label="操作" min-width="180" fixed="right">
+          <template #default="{ row }">
+            <el-button type="primary" link @click="showChargeConsumeRecord(row)">余额变动记录</el-button>
+          </template>
+        </el-table-column>
       </el-table>
       <div class="flex justify-end mt-4">
         <pagination v-model="pager" @change="getLists"/>
       </div>
     </el-card>
   </div>
+  <ChargeConsumeRecord @init="init()" ref="chargeConsumeRecordRef"></ChargeConsumeRecord>
 </template>
 <script lang="ts" setup>
 import { useElabPaging } from '@/hooks/useElabPaging'
 import feedback from '@/utils/feedback'
 import {queryMemberUser} from "@/api/membership";
+import ChargeConsumeRecord from './chargeConsumeRecord.vue'
+
+const router = useRouter()
+const chargeConsumeRecordRef = ref<InstanceType<typeof ChargeConsumeRecord>>()
 
 const queryParams = reactive({
   mobile: ''
@@ -100,5 +105,9 @@ const changeStatus = async (id: number, status: any) => {
     getLists()
   }
 }
+
+const showChargeConsumeRecord = async (row: any) => {
+  chargeConsumeRecordRef.value?.open(row)
+}
 getLists()
 </script>

+ 2 - 0
src/views/orders/list.vue

@@ -7,6 +7,7 @@
                         <el-option label="全部" value />
                         <el-option label="吧台点单" value="0" />
                         <el-option label="扫码点单" value="1" />
+                        <el-option label="商城订单" value="2" />
                     </el-select>
                 </el-form-item>
                 <el-form-item label="订单状态" class="w-[280px]">
@@ -16,6 +17,7 @@
                         <!--                        <el-option label="待结帐" value="1" />-->
                         <el-option label="已下单" value="2" />
                         <el-option label="已退款" value="4" />
+                        <el-option label="已核销" value="8" />
                     </el-select>
                 </el-form-item>
                 <!--                <el-form-item label="创建时间" class="w-[280px]">-->