init
This commit is contained in:
278
pages/mine/index.vue
Normal file
278
pages/mine/index.vue
Normal file
@@ -0,0 +1,278 @@
|
||||
<template>
|
||||
<view class="page-content">
|
||||
<view class="user-inner" v-if="uid > 0">
|
||||
<view>
|
||||
<nut-avatar size="large">用户</nut-avatar>
|
||||
</view>
|
||||
<!--<image :src="user_info.image"></image>-->
|
||||
<view class="user-info-style">
|
||||
<text class="nickname">{{ userInfo.nickName }}</text>
|
||||
<text class="user-id">UID:{{ userInfo.user_id }}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="user-inner" v-else>
|
||||
<view @click="goToLoginPage()">
|
||||
<nut-avatar size="large">
|
||||
<nut-icon name="my" />
|
||||
</nut-avatar>
|
||||
</view>
|
||||
<view @click="goToLoginPage()">
|
||||
<text>点击登录</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<nut-cell-group title="店铺管理">
|
||||
<nut-grid>
|
||||
<nut-grid-item text="商城配置" @click="navigateTo('/pages/config/store')">
|
||||
<nut-icon name="people"></nut-icon>
|
||||
</nut-grid-item>
|
||||
<nut-grid-item text="价格调整" @click="navigateTo('/pages/config/price')">
|
||||
<nut-icon name="refresh"></nut-icon>
|
||||
</nut-grid-item>
|
||||
<nut-grid-item text="商品管理" @click="navigateTo('/pages/config/goodsList')">
|
||||
<nut-icon name="shop"></nut-icon>
|
||||
</nut-grid-item>
|
||||
<nut-grid-item text="店铺订单" @click="navigateTo('/pages/config/shopOrder/index?tab=0')">
|
||||
<nut-icon name="order"></nut-icon>
|
||||
</nut-grid-item>
|
||||
<!-- <nut-grid-item text="仓库订单" @click="navigateTo('/pages/order/list/index?tab=3')">
|
||||
<nut-icon name="order"></nut-icon> -->
|
||||
<!-- </nut-grid-item> -->
|
||||
</nut-grid>
|
||||
</nut-cell-group>
|
||||
|
||||
|
||||
<nut-cell-group title="我的订单" v-if="showMyOrder && !audit">
|
||||
<nut-grid>
|
||||
<nut-grid-item text="全部"
|
||||
@click="navigateTo('/pages/order/index?tab=0')">{{ countInfo.all }}</nut-grid-item>
|
||||
<nut-grid-item text="待付款"
|
||||
@click="navigateTo('/pages/order/index?tab=1')">{{ countInfo.payment }}</nut-grid-item>
|
||||
<nut-grid-item text="待发货"
|
||||
@click="navigateTo('/pages/order/index?tab=2')">{{ countInfo.delivery }}</nut-grid-item>
|
||||
<nut-grid-item text="待收货"
|
||||
@click="navigateTo('/pages/order/index?tab=3')">{{ countInfo.received }}</nut-grid-item>
|
||||
</nut-grid>
|
||||
</nut-cell-group>
|
||||
|
||||
|
||||
<!-- <nut-cell-group title="控制台">
|
||||
<nut-cell title="商城配置" @click="navigateTo('')"></nut-cell>
|
||||
<nut-cell title="价格调整" @click="navigateTo('/pages/config/index')"></nut-cell>
|
||||
<nut-cell title="店内机器管理" @click="navigateTo('/pages/config/index')"></nut-cell>
|
||||
<nut-cell title="订单管理" @click="navigateTo('/pages/config/index')"></nut-cell> -->
|
||||
|
||||
<!-- <nut-cell v-if="user_info.super_user_from.includes('parts')" title="配件管理"
|
||||
@click="navigateTo('/pages/control/parts/index')"></nut-cell> -->
|
||||
<!-- </nut-cell-group> -->
|
||||
|
||||
<!-- <nut-cell-group title="控制台" v-if="user_info.is_super_user">
|
||||
<nut-cell v-if="user_info.super_user_from.includes('store')" title="手机管理"
|
||||
@click="navigateTo('/pages/control/goods/index')"></nut-cell> -->
|
||||
<!-- <nut-cell v-if="user_info.super_user_from.includes('parts')" title="配件管理"
|
||||
@click="navigateTo('/pages/control/parts/index')"></nut-cell> -->
|
||||
<!-- </nut-cell-group> -->
|
||||
|
||||
<nut-cell-group title="联系我们">
|
||||
<nut-cell :title="phone" @click="makePhoneCall(phone)"></nut-cell>
|
||||
</nut-cell-group>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</template>
|
||||
<script setup>
|
||||
// 导入Vue的响应式函数
|
||||
import {
|
||||
reactive,
|
||||
ref
|
||||
} from 'vue';
|
||||
import {
|
||||
onLoad,
|
||||
onShow,
|
||||
} from '@dcloudio/uni-app';
|
||||
// import TabBar from '@/components/TabBar/TabBar.vue';
|
||||
// 默认选中第一个tab
|
||||
// const currentTab = ref(3);
|
||||
|
||||
|
||||
|
||||
|
||||
// 导入获取用户信息的API函数
|
||||
import {
|
||||
fetchUserInfo
|
||||
} from '@/api/user';
|
||||
// 导入页面跳转工具函数
|
||||
import {
|
||||
goToLoginPage,
|
||||
navigateTo
|
||||
} from '@/utils/helper';
|
||||
// 导入uni-app生命周期钩子
|
||||
|
||||
// 导入获取订单总数的API函数
|
||||
import {
|
||||
fetchOrderTotalCount
|
||||
} from '@/api/order';
|
||||
|
||||
import {
|
||||
fetchGetConfig
|
||||
} from '@/api/config';
|
||||
|
||||
const audit = ref(true);
|
||||
|
||||
const showMyOrder = ref(false);
|
||||
|
||||
const phone = ref('');
|
||||
|
||||
// 用户ID
|
||||
const uid = ref(0);
|
||||
/**
|
||||
* 用户信息响应式对象
|
||||
*/
|
||||
const userInfo = reactive({});
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 订单统计信息响应式对象
|
||||
*/
|
||||
const countInfo = reactive({
|
||||
all: 0,
|
||||
payment: 0,
|
||||
delivery: 0,
|
||||
received: 0
|
||||
});
|
||||
|
||||
|
||||
|
||||
onLoad(options => {
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
const makePhoneCall = (phoneNumber) => {
|
||||
console.log(123);
|
||||
uni.makePhoneCall({
|
||||
phoneNumber: phoneNumber,
|
||||
success: () => {
|
||||
console.log('拨打电话成功');
|
||||
},
|
||||
fail: (err) => {
|
||||
console.error('拨打电话失败:', err);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// 获取配置
|
||||
const getConfig = () => {
|
||||
fetchGetConfig().then(res => {
|
||||
console.log('getConfig=====>', res)
|
||||
audit.value = res.appConfig.is_audit == 1
|
||||
phone.value = res.appConfig.shop_phone
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 页面显示生命周期钩子
|
||||
* 每次页面显示时都会执行
|
||||
*/
|
||||
onShow(() => {
|
||||
|
||||
console.log('init');
|
||||
|
||||
let userId = uni.getStorageSync('uid');
|
||||
console.log("userId", userId);
|
||||
uid.value = userId
|
||||
|
||||
// 获取配置
|
||||
getConfig()
|
||||
|
||||
|
||||
// 如果用户登陆
|
||||
if (uid.value > 0) {
|
||||
|
||||
// 获取用户信息
|
||||
fetchUserInfo().then(res => {
|
||||
// if (res.is_bind_phone) {
|
||||
// navigateTo('/pages/login/phoneAuthorization');
|
||||
// return
|
||||
// }
|
||||
// 将API返回的数据合并到userInfo响应式对象中
|
||||
Object.assign(userInfo, res);
|
||||
// 显示订单
|
||||
showMyOrder.value = true
|
||||
// 获取订单总数统计
|
||||
fetchOrderTotalCount().then(res => {
|
||||
// 将API返回的数据合并到count_info响应式对象中
|
||||
Object.assign(countInfo, res);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.page-content {
|
||||
min-height: 100vh;
|
||||
background-color: #f2f3f5;
|
||||
}
|
||||
|
||||
.user-inner {
|
||||
background: linear-gradient(30deg, rgba(198, 77, 255, 0.99), rgba(102, 204, 255, 0.99));
|
||||
height: 150px;
|
||||
width: calc(100% - 20px);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0px 10px;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.user-info-style {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.nickname {
|
||||
font-size: 20px;
|
||||
/* 大字体 */
|
||||
font-weight: bold;
|
||||
/* 加粗 */
|
||||
color: #333;
|
||||
/* 深色文字 */
|
||||
margin-bottom: 5px;
|
||||
/* 与UID的间距 */
|
||||
}
|
||||
|
||||
.user-id {
|
||||
font-size: 14px;
|
||||
/* 小字体 */
|
||||
color: #fff;
|
||||
/* 浅色文字 */
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
/* align-items: center; */
|
||||
// justify-content: center;
|
||||
background-color: #f2f3f5;
|
||||
padding: 0px 10px;
|
||||
// height: calc(100vh - 150px);
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user