This commit is contained in:
2025-05-27 20:03:47 +08:00
parent 3c812c37e7
commit 03ecb95a9b
8 changed files with 107 additions and 28 deletions

View File

@@ -9,13 +9,25 @@ import {reactive, ref} from "vue";
import XFilterItem from "../../components/XFilterItem.vue";
import XRadioGroup from "../../components/XRadioGroup.vue";
import XRadio from "../../components/XRadio.vue";
import useTableQuery from "../../hooks/useTableQuery.js";
import Api from "../../api/index.js";
const isVague = ref(false);
const showFilter = ref(false);
const isSearch = ref(false);
const po = reactive({});
const vo = reactive({});
const sumPo = reactive({
type: 0,
});
const {loading, pagination, initFetchData} = useTableQuery({
api: Api.system.myTeamList,
parameter: po,
callback: (data) => {
Object.assign(vo, data);
}
});
</script>
<template>
@@ -101,28 +113,28 @@ const sumPo = reactive({
</view>
<view class="p-[20rpx] !flex flex-col gap-[20rpx]">
<view v-for="item in 20" class="rounded-[8rpx] bg-[#fff] p-[24rpx] flex-grow">
<view v-for="v in vo.rows" class="rounded-[8rpx] bg-[#fff] p-[24rpx] flex-grow">
<view :class="['!flex gap-[18rpx]', isVague?'vague':'']">
<image class="!size-[88rpx] rounded-[16rpx]" :src="Avatar" mode="aspectFill"></image>
<image class="!size-[88rpx] rounded-[16rpx]" :src="v.avatar" mode="aspectFill"></image>
<view class="flex-grow h-full !flex flex-col justify-between gap-[14rpx]">
<view class="!flex justify-between items-center">
<view class="test-28r">一只哈里路</view>
<view class="text-[#86909C] test-24r">2024-01-26 加入</view>
<view class="test-28r">{{ v.nickname }}</view>
<view class="text-[#86909C] test-24r">{{ v.createtime }} 加入</view>
</view>
<view class="!flex flex-wrap">
<view class="py-[3rpx] px-[8rpx] test-20r bg-[#F2F3F5]">id53379</view>
<view class="py-[3rpx] px-[8rpx] test-20r bg-[#F2F3F5]">id{{ v.uid }}</view>
</view>
</view>
</view>
<view class="!flex gap-[22rpx] !mt-[20rpx]">
<view class="!flex items-center py-[10rpx] px-[20rpx] bg-[#E8F3FF] flex-grow test-24r">
<view>收益</view>
<view class="text-[var(--primary-color)]">245.14</view>
<view class="text-[var(--primary-color)]">{{ Number(v.income).toFixed(2) }}</view>
</view>
<view
:class="['!flex items-center py-[10rpx] px-[20rpx] bg-[#E8F3FF] flex-grow test-24r', isVague?'vague':'']">
<view>收益</view>
<view class="text-[var(--primary-color)]">245.14</view>
<view>奖励</view>
<view class="text-[var(--primary-color)]">{{ Number(v.reward).toFixed(2) }}</view>
</view>
</view>
</view>

View File

@@ -5,15 +5,19 @@ import BD3 from "../../static/icons/bd3.png";
import BD4 from "../../static/icons/bd4.png";
import BDH from "../../static/icons/bdh.png";
import WBDICON from "../../static/icons/缺省图.png";
import YBDICON from "../../static/icons/已绑定.png";
import XNav from "../../components/XNav.vue";
import BindMsgModal from "../../components/BindMsgModal.vue";
import {useUserStore} from "../../pinia/UserStore/index.js";
const UserStore = useUserStore();
</script>
<template>
<!--消息推送-->
<x-nav></x-nav>
<view class="!flex flex-col items-center !mt-[128rpx]">
<view v-if="!UserStore.userInfo.openid" class="!flex flex-col items-center !mt-[128rpx]">
<image class="!size-[260rpx]" mode="aspectFill" :src="WBDICON"></image>
<view class="!mt-[-70rpx] relative z-10">暂未绑定</view>
<view class="text-[#86909C] test-28r">当前消息推送无法使用将影响您收益!</view>
@@ -24,6 +28,17 @@ import BindMsgModal from "../../components/BindMsgModal.vue";
</bind-msg-modal>
</view>
<view v-else class="!flex flex-col items-center !mt-[128rpx]">
<image class="!size-[260rpx]" mode="aspectFill" :src="YBDICON"></image>
<view class="!mt-[-70rpx] relative z-10">已绑定</view>
<view class="text-[#86909C] test-28r">{{ UserStore.userInfo.mobile }}可正常接收消息</view>
<bind-msg-modal>
<view class="!mt-[80rpx] rounded-[4rpx] bg-[var(--primary-color)] text-[#fff] py-[10rpx] px-[32rpx]">重新绑定
</view>
</bind-msg-modal>
</view>
<view class="btm h-[50vh] !flex flex-col items-center px-[40rpx] !mx-[20rpx]">
<image class="!w-[300rpx] !mt-[40rpx] !mb-[40rpx]" mode="widthFix" :src="BDH"></image>
<view class="!flex items-center bg-[#fff] p-[28rpx] w-full rounded-[16rpx] gap-[28rpx]">

View File

@@ -1,13 +1,29 @@
<script setup>
import Avatar from '../../../static/images/Avatar.png'
import {onMounted, reactive} from "vue";
import Api from "../../../api/index.js";
const detail = reactive({});
onMounted(() => {
Api.system.getMyTop().then(({data}) => {
Object.assign(detail, data);
});
});
const callPhone = () => {
uni.makePhoneCall({
phoneNumber: detail.mobile,
});
}
</script>
<template>
<view class="p-[20rpx] bg-[#F2F3F5] rounded-[16rpx] !mt-[40rpx] !flex items-center">
<image class="!size-[64rpx]" mode="aspectFill" :src="Avatar"></image>
<view class="test-24r !ml-[24rpx]">Adam</view>
<view class="p-[20rpx] bg-[#F2F3F5] rounded-[16rpx] !mt-[40rpx] !flex items-center" v-if="detail.id">
<image class="!size-[64rpx]" mode="aspectFill" :src="detail.avatar"></image>
<view class="test-24r !ml-[24rpx]">{{ detail.nickname }}</view>
<view
@click="callPhone"
class="px-[20rpx] py-[7rpx] test-22r text-[#fff] rounded-full bg-[var(--primary-color)] !flex items-center justify-center !ml-auto">
联系TA
</view>

View File

@@ -1,5 +1,5 @@
<script setup>
import {defineAsyncComponent, onMounted, ref} from 'vue';
import {defineAsyncComponent, onMounted, ref, reactive} from 'vue';
import ICON1 from '../../static/icons/icon_提现记录.png';
import ICON2 from '../../static/icons/icon_变动记录.png';
import ICON3 from '../../static/icons/icon_我的钱包.png';
@@ -13,6 +13,7 @@ import XNav from "../../components/XNav.vue";
import CreditScore from "../../components/CreditScore.vue";
import {toPage} from "../../utils/uils.js";
import {useUserStore} from "../../pinia/UserStore/index.js";
import AddCustomerServiceModal from "../../components/AddCustomerServiceModal.vue";
// #ifdef APP-PLUS
// #endif
@@ -43,6 +44,9 @@ const tabs = [
]
const UserStore = useUserStore();
const state = reactive({
showAddCustomer: false,
});
onMounted(() => {
UserStore.getUserInfo();
@@ -150,7 +154,7 @@ onMounted(() => {
<image class="!size-[84rpx]" mode="aspectFill" :src="ICON5"></image>
<view class="test-24r">账号管理</view>
</view>
<view class="!flex items-center flex-col justify-center gap-[12rpx]">
<view class="!flex items-center flex-col justify-center gap-[12rpx]" @click="state.showAddCustomer=true">
<image class="!size-[84rpx]" mode="aspectFill" :src="ICON6"></image>
<view class="test-24r">联系客服</view>
</view>
@@ -161,6 +165,8 @@ onMounted(() => {
</view>
</view>
</view>
<add-customer-service-modal v-model:show="state.showAddCustomer"></add-customer-service-modal>
</template>
<style lang="scss" scoped>