diff --git a/yudao-admin-vue3/src/api/mall/promotion/pointorder/index.ts b/yudao-admin-vue3/src/api/mall/promotion/pointorder/index.ts new file mode 100644 index 0000000..2e34857 --- /dev/null +++ b/yudao-admin-vue3/src/api/mall/promotion/pointorder/index.ts @@ -0,0 +1,49 @@ +import request from '@/config/axios' + +// 兑换记录 VO +export interface PointOrderVO { + id: number // id + orderNumber: string // 订单号 + userId: number // 用户id + productId: number // 商品id + integral: number // 兑换积分 + orderStatus: number // 订单状态 + orderTime: Date // 下单时间 + userName: string + productName: string + imageUrl: string + +} + +// 兑换记录 API +export const PointOrderApi = { + // 查询兑换记录分页 + getPointOrderPage: async (params: any) => { + return await request.get({ url: `/promotion/point-order/page`, params }) + }, + + // 查询兑换记录详情 + getPointOrder: async (id: number) => { + return await request.get({ url: `/promotion/point-order/get?id=` + id }) + }, + + // 新增兑换记录 + createPointOrder: async (data: PointOrderVO) => { + return await request.post({ url: `/promotion/point-order/create`, data }) + }, + + // 修改兑换记录 + updatePointOrder: async (data: PointOrderVO) => { + return await request.put({ url: `/promotion/point-order/update`, data }) + }, + + // 删除兑换记录 + deletePointOrder: async (id: number) => { + return await request.delete({ url: `/promotion/point-order/delete?id=` + id }) + }, + + // 导出兑换记录 Excel + exportPointOrder: async (params) => { + return await request.download({ url: `/promotion/point-order/export-excel`, params }) + }, +} \ No newline at end of file diff --git a/yudao-admin-vue3/src/views/mall/promotion/kefu/components/KeFuConversationList.vue b/yudao-admin-vue3/src/views/mall/promotion/kefu/components/KeFuConversationList.vue index 60188f3..6e01123 100644 --- a/yudao-admin-vue3/src/views/mall/promotion/kefu/components/KeFuConversationList.vue +++ b/yudao-admin-vue3/src/views/mall/promotion/kefu/components/KeFuConversationList.vue @@ -22,8 +22,8 @@
{{ item.userNickname }} - - {{ formatPast(item.lastMessageTime, 'YYYY-mm-dd') }} + + {{ formatPast(item.lastMessageTime, 'YYYY-MM-DD') }}
@@ -31,8 +31,9 @@ v-dompurify-html=" getConversationDisplayText(item.lastMessageContentType, item.lastMessageContent) " - class="last-message flex items-center color-[#989EA6]" - >
+ class="last-message flex items-center color-[var(--left-menu-text-color)]" + > + @@ -182,7 +183,7 @@ watch(showRightMenu, (val) => { &-conversation { height: 60px; padding: 10px; - background-color: #fff; + //background-color: #fff; transition: border-left 0.05s ease-in-out; /* 设置过渡效果 */ .username { @@ -196,6 +197,7 @@ watch(showRightMenu, (val) => { } .last-message { + font-size: 13px; width: 200px; overflow: hidden; // 隐藏超出的文本 white-space: nowrap; // 禁止换行 @@ -205,17 +207,17 @@ watch(showRightMenu, (val) => { .active { border-left: 5px #3271ff solid; - background-color: #eff0f1; + background-color: var(--login-bg-color); } .pinned { - background-color: #eff0f1; + background-color: var(--left-menu-bg-active-color); } .right-menu-ul { position: absolute; - background-color: #fff; - padding: 10px; + background-color: var(--app-content-bg-color); + padding: 5px; margin: 0; list-style-type: none; /* 移除默认的项目符号 */ border-radius: 12px; @@ -228,7 +230,7 @@ watch(showRightMenu, (val) => { border-radius: 12px; transition: background-color 0.3s; /* 平滑过渡 */ &:hover { - background-color: #e0e0e0; /* 悬停时的背景颜色 */ + background-color: var(--left-menu-bg-active-color); /* 悬停时的背景颜色 */ } } } diff --git a/yudao-admin-vue3/src/views/mall/promotion/kefu/components/KeFuMessageList.vue b/yudao-admin-vue3/src/views/mall/promotion/kefu/components/KeFuMessageList.vue index d3632e6..483fdc2 100644 --- a/yudao-admin-vue3/src/views/mall/promotion/kefu/components/KeFuMessageList.vue +++ b/yudao-admin-vue3/src/views/mall/promotion/kefu/components/KeFuMessageList.vue @@ -71,6 +71,7 @@ @@ -369,9 +370,10 @@ const showTime = computed(() => (item: KeFuMessageRespVO, index: number) => { position: absolute; bottom: 35px; right: 35px; - background-color: #fff; + background-color: var(--app-content-bg-color); padding: 10px; border-radius: 30px; + font-size: 12px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* 阴影效果 */ } @@ -392,7 +394,7 @@ const showTime = computed(() => (item: KeFuMessageRespVO, index: number) => { border-left: 5px solid transparent; border-bottom: 5px solid transparent; border-top: 5px solid transparent; - border-right: 5px solid #ffffff; + border-right: 5px solid var(--app-content-bg-color); } } } @@ -411,7 +413,7 @@ const showTime = computed(() => (item: KeFuMessageRespVO, index: number) => { right: -19px; top: calc(50% - 10px); position: absolute; - border-left: 5px solid #ffffff; + border-left: 5px solid var(--app-content-bg-color); border-bottom: 5px solid transparent; border-top: 5px solid transparent; border-right: 5px solid transparent; @@ -421,9 +423,9 @@ const showTime = computed(() => (item: KeFuMessageRespVO, index: number) => { // 消息气泡 .kefu-message { - color: #333; + color: #a9a9a9; border-radius: 5px; - box-shadow: 3px 5px 15px rgba(0, 0, 0, 0.2); + box-shadow: 3px 3px 5px rgba(220, 220, 220, 0.1); padding: 5px 10px; width: auto; max-width: 50%; @@ -431,7 +433,7 @@ const showTime = computed(() => (item: KeFuMessageRespVO, index: number) => { display: inline-block !important; position: relative; word-break: break-all; - background-color: #ffffff; + background-color: var(--app-content-bg-color); transition: all 0.2s; &:hover { @@ -445,7 +447,7 @@ const showTime = computed(() => (item: KeFuMessageRespVO, index: number) => { border-radius: 12rpx; padding: 8rpx 16rpx; margin-bottom: 16rpx; - background-color: #e8e8e8; + //background-color: #e8e8e8; color: #999; font-size: 24rpx; } @@ -453,7 +455,7 @@ const showTime = computed(() => (item: KeFuMessageRespVO, index: number) => { .chat-tools { width: 100%; - border: #e4e0e0 solid 1px; + border: var(--el-border-color) solid 1px; border-radius: 10px; height: 44px; } diff --git a/yudao-admin-vue3/src/views/mall/promotion/kefu/components/history/MemberBrowsingHistory.vue b/yudao-admin-vue3/src/views/mall/promotion/kefu/components/history/MemberBrowsingHistory.vue index 972760e..52c1095 100644 --- a/yudao-admin-vue3/src/views/mall/promotion/kefu/components/history/MemberBrowsingHistory.vue +++ b/yudao-admin-vue3/src/views/mall/promotion/kefu/components/history/MemberBrowsingHistory.vue @@ -7,7 +7,7 @@
- + @@ -25,7 +25,7 @@ import OrderBrowsingHistory from './OrderBrowsingHistory.vue' import { KeFuConversationRespVO } from '@/api/mall/promotion/kefu/conversation' import { isEmpty } from '@/utils/is' import { debounce } from 'lodash-es' -import { ElScrollbar as ElScrollbarType } from 'element-plus/es/components/scrollbar' +import { ElScrollbar as ElScrollbarType } from 'element-plus/es/components/scrollbar/index' defineOptions({ name: 'MemberBrowsingHistory' }) diff --git a/yudao-admin-vue3/src/views/mall/promotion/kefu/components/history/ProductBrowsingHistory.vue b/yudao-admin-vue3/src/views/mall/promotion/kefu/components/history/ProductBrowsingHistory.vue index c9bff18..8bc4aea 100644 --- a/yudao-admin-vue3/src/views/mall/promotion/kefu/components/history/ProductBrowsingHistory.vue +++ b/yudao-admin-vue3/src/views/mall/promotion/kefu/components/history/ProductBrowsingHistory.vue @@ -1,6 +1,7 @@