重构框架

This commit is contained in:
2024-08-14 06:39:28 +08:00
parent 24e63cf551
commit 10533eb67d
166 changed files with 11388 additions and 856 deletions
+3 -1
View File
@@ -157,11 +157,13 @@ export default {
name: 'star',
title: '元芳'
}
]
],
openid: null
};
},
onLoad() {
this.reload();
this.openid = uni.getStorageSync('openid');
},
methods: {
async reload() {
+36 -33
View File
@@ -14,17 +14,17 @@
<view class="merchant-avatar">
<uv-avatar :src="item.merchantAvatar" size="24"></uv-avatar>
</view>
<text class="merchant-name">{{ item.merchantName }}</text>
<text class="merchant-name">{{ item.siteName }}</text>
</view>
<block v-if="item.orderStatus == 2">
<block v-if="item.orderStatus === 3">
<text class="btn-status web-text-secondary">已取消</text>
</block>
<block v-else-if="item.orderStatus == 1">
<block v-else-if="item.orderStatus === 1">
<text class="btn-status web-text-success">已完成</text>
</block>
<block v-else>
<text v-if="item.payStatus == 1" class="btn-status web-text-success">已支付</text>
<view v-if="item.payStatus == 0" class="btn-status web-text-danger">
<text v-if="item.payStatus === 1" class="btn-status web-text-success">已支付</text>
<view v-if="item.payStatus === 0" class="btn-status web-text-danger">
<uv-count-down :time="item.timestamp" format="mm:ss"></uv-count-down>
<text class="no-pay" style="margin-left: 10rpx;">未支付</text>
</view>
@@ -34,10 +34,10 @@
<view class="order-body web-cell web-cell-align-top">
<view class="web-cell-content">
<uv-cell-group :customStyle="{backgroundColor: '#ffffff'}" :border="false">
<block v-for="(sub,subIndex) in item.orderInfo" :key="subIndex">
<uv-cell :title="`${sub.fieldName}`" :label="`${sub.comments}`"
<block v-for="(sub,subIndex) in item.thinkOrderInfos" :key="subIndex">
<uv-cell :title="`${item.siteName} - ${sub.fieldName}`" :label="`${sub.dateTime}`"
:cellStyle="{padding: '0', paddingBottom: '5px'}" :border="false"
@click="openUrl(`/package/order/detail?id=${item.orderId}`)"/>
@click="openUrl(`/package/order/detail?id=${item.id}`)"/>
</block>
</uv-cell-group>
<view class="total-price">
@@ -49,9 +49,9 @@
</view>
</view>
<view slot="actions" class="card-actions">
<view class="card-actions-item" v-if="item.payStatus == 0 && item.orderStatus == 0">
<view class="card-actions-item" v-if="item.payStatus === 2 && item.orderStatus === 2">
<button class="mini-btn" size="mini" @click="closeOrder(item)"
style="margin-right: 20rpx;">取消订单
style="margin-right: 20rpx;">{{ item.payStatus }}取消订单{{item.orderStatus}}
</button>
<button class="mini-btn" type="primary" size="mini"
@click="toPay(item.orderId)">去支付
@@ -89,7 +89,7 @@
<!-- <uv-gap height="16"></uv-gap>-->
<!-- </uni-card>-->
<!-- </block>-->
<uv-empty :show="orderList.length === 0 && loadMore !== 'no-more'" mode="order" class="none"
<uv-empty :show="orderList.length === 0" mode="order" class="none"
icon="https://cdn.uviewui.com/uview/empty/car.png"></uv-empty>
<uni-load-more v-if="orderList.length > 0" :status="loadMore"></uni-load-more>
<!-- 登录组件 -->
@@ -100,10 +100,10 @@
</template>
<script>
import * as OrderApi from '@/api/shop/order'
import * as OrderApi from '@/api/think/thinkOrder'
import {
pageWechatDeposit
} from '@/api/shop/wechatDeposit'
pageThinkWechatDeposit
} from '@/api/think/thinkWechatDeposit'
import {
getWeek,
getKey
@@ -117,9 +117,8 @@ export default {
isLogin: false,
userId: 0,
where: {
page: 1,
type: 1, // 0商城订单 1场地预定
sceneType: 'showOrderInfo' // 查询订单附加场地信息
page: 1
// sceneType: 'showOrderInfo' // 查询订单附加场地信息
},
canReset: false,
loadMore: 'more',
@@ -146,15 +145,17 @@ export default {
hideTools: true
}
},
onLoad(option) {
async onLoad(option) {
this.userId = await uni.getStorageSync('user_id')
// 加载数据
this.reload()
await this.reload()
// if(option.isRefresh){
// this.isRefresh = true
// }
},
onShow(e) {
this.reload()
async onShow(e) {
this.userId = await uni.getStorageSync('user_id')
await this.reload()
},
// 触底函数
onReachBottom() {
@@ -171,16 +172,15 @@ export default {
async reload() {
const app = this
const { where } = this
app.userId = await uni.getStorageSync('user_id')
if (app.userId === 0 || app.userId === undefined) {
const uid = uni.getStorageSync('uid')
if (!uid) {
app.orderList = [];
app.loadMore = 'no-more'
return;
}
where.userId = app.userId;
where.uid = uid;
app.loadMore = 'loading'
OrderApi.pageOrder(where).then(res => {
OrderApi.pageThinkOrder(where).then(res => {
const list = res.list.map(d => {
return d;
});
@@ -203,14 +203,16 @@ export default {
app.isRefresh = false
})
},
onClickItem(e) {
async onClickItem(e) {
const app = this
this.uid = await uni.getStorageSync('uid')
const {
where,
userId
uid
} = this
if (userId === 0) {
if (app.uid === 0 || !app.uid) {
console.log(app.uid,'>>>>>>>2',app.uid)
app.orderList = [];
app.loadMore = 'no-more'
return;
@@ -227,12 +229,13 @@ export default {
}
// 未支付
if (index === 1) {
where.payStatus = 0;
where.payStatus = 2;
where.orderStatus = undefined;
}
// 已支付
if (index === 2) {
where.payStatus = 1;
where.orderStatus = undefined;
}
// 已完成
if (index === 3) {
@@ -241,11 +244,11 @@ export default {
}
// 押金
if (index === 4) {
pageWechatDeposit({
pageThinkWechatDeposit({
uid: uni.getStorageSync('user_id')
}).then(res => {
app.orderList = res.list;
if (res.count == 0) {
if (res.count === 0) {
app.loadMore = 'no-more'
}
uni.hideLoading()
@@ -293,7 +296,7 @@ export default {
},
// 弹出登录提示框
async openLogin() {
this.userId = uni.getStorageSync('user_id');
const userId = uni.getStorageSync('user_id');
if (!this.userId) {
this.$refs.login.open('bottom')
return false;
+101 -80
View File
@@ -3,7 +3,7 @@
<!-- 顶部距离 -->
<view class="header" :style="'margin-top: ' + statusBarHeight + 'px'"></view>
<!-- 用户信息 -->
<ws-user-card :data="userInfo" :users="users" :is-login="isLogin" @openLogin="openLogin" @done="reload"/>
<ws-user-card :data="userInfo" :users="users" :isLogin="isLogin" @openLogin="openLogin" @done="reload"/>
<block v-if="hideTools">
<uni-card :border="false" :padding="'18px 8px'">
<uv-skeleton rows="2" :loading="hideTools" :title="false"></uv-skeleton>
@@ -20,50 +20,50 @@
<!-- 我的订单 -->
<!-- <ws-user-order :order="order" :is-login="isLogin" @done="openLogin"></ws-user-order> -->
<!-- 其他功能 -->
<!-- <uni-card :border="false" :padding="0">-->
<!-- &lt;!&ndash; 场馆管理可见&ndash;&gt;-->
<!-- <block v-if="hasMerchantRole || hasMerchantClerkRole">-->
<!-- <view class="server" style="min-height: 200px">-->
<!-- <uni-list :border="false">-->
<!-- <block v-for="(item, index) in mpMenus" :key="index">-->
<!-- <block v-if="index === '1981'" v-for="(v,i) in item">-->
<!-- <uni-list-item :thumb="v.avatar" link @click="navTo(v)">-->
<!-- <template v-slot:body>-->
<!-- <view class="slot-box">-->
<!-- <text class="slot-text" :style="{ color: v.color ? v.color : '#333333' }">{{-->
<!-- v.title-->
<!-- }}-->
<!-- </text>-->
<!-- </view>-->
<!-- </template>-->
<!-- </uni-list-item>-->
<!-- </block>-->
<!-- </block>-->
<!-- </uni-list>-->
<!-- </view>-->
<!-- </block>-->
<!-- <block v-else>-->
<!-- &lt;!&ndash; 普通会员菜单 &ndash;&gt;-->
<!-- <view class="server" style="min-height: 200px">-->
<!-- <uni-list :border="false">-->
<!-- <block v-for="(item, index) in mpMenus" :key="index">-->
<!-- <block v-if="index === '1981'" v-for="(v,i) in item">-->
<!-- <uni-list-item :thumb="v.avatar" link @click="navTo(v)">-->
<!-- <template v-slot:body>-->
<!-- <view class="slot-box">-->
<!-- <text class="slot-text" :style="{ color: v.color ? v.color : '#333333' }">{{-->
<!-- v.title-->
<!-- }}-->
<!-- </text>-->
<!-- </view>-->
<!-- </template>-->
<!-- </uni-list-item>-->
<!-- </block>-->
<!-- </block>-->
<!-- </uni-list>-->
<!-- </view>-->
<!-- </block>-->
<!-- </uni-card>-->
<!-- <uni-card :border="false" :padding="0">-->
<!-- &lt;!&ndash; 场馆管理可见&ndash;&gt;-->
<!-- <block v-if="hasMerchantRole || hasMerchantClerkRole">-->
<!-- <view class="server" style="min-height: 200px">-->
<!-- <uni-list :border="false">-->
<!-- <block v-for="(item, index) in mpMenus" :key="index">-->
<!-- <block v-if="index === '1981'" v-for="(v,i) in item">-->
<!-- <uni-list-item :thumb="v.avatar" link @click="navTo(v)">-->
<!-- <template v-slot:body>-->
<!-- <view class="slot-box">-->
<!-- <text class="slot-text" :style="{ color: v.color ? v.color : '#333333' }">{{-->
<!-- v.title-->
<!-- }}-->
<!-- </text>-->
<!-- </view>-->
<!-- </template>-->
<!-- </uni-list-item>-->
<!-- </block>-->
<!-- </block>-->
<!-- </uni-list>-->
<!-- </view>-->
<!-- </block>-->
<!-- <block v-else>-->
<!-- &lt;!&ndash; 普通会员菜单 &ndash;&gt;-->
<!-- <view class="server" style="min-height: 200px">-->
<!-- <uni-list :border="false">-->
<!-- <block v-for="(item, index) in mpMenus" :key="index">-->
<!-- <block v-if="index === '1981'" v-for="(v,i) in item">-->
<!-- <uni-list-item :thumb="v.avatar" link @click="navTo(v)">-->
<!-- <template v-slot:body>-->
<!-- <view class="slot-box">-->
<!-- <text class="slot-text" :style="{ color: v.color ? v.color : '#333333' }">{{-->
<!-- v.title-->
<!-- }}-->
<!-- </text>-->
<!-- </view>-->
<!-- </template>-->
<!-- </uni-list-item>-->
<!-- </block>-->
<!-- </block>-->
<!-- </uni-list>-->
<!-- </view>-->
<!-- </block>-->
<!-- </uni-card>-->
<block v-for="(item, index) in mpMenus" :key="index">
<block v-if="index === '1981'">
@@ -71,8 +71,9 @@
<uv-skeleton rows="1" rowsHeight="30" rowsWidth="100%" :loading="mpMenus.length === 0" :title="false">
<div class="flex space-around py-6 flex-wrap">
<block v-for="(item,index) in item" :key="index">
<div class="service-item flex flex-col justify-center items-center web-cell-content web-text-center px-20"
@click="navTo(item)">
<div
class="service-item flex flex-col justify-center items-center web-cell-content web-text-center px-20"
@click="navTo(item)">
<image :src="item.avatar" style="width: 30px; height: 30px;" mode="widthFix"></image>
<text style="white-space: nowrap">{{ item.title }}</text>
</div>
@@ -87,8 +88,9 @@
<uv-skeleton rows="1" rowsHeight="30" rowsWidth="100%" :loading="mpMenus.length === 0" :title="false">
<div class="flex space-around py-6 flex-wrap">
<block v-for="(item,index) in item" :key="index">
<div class="service-item flex flex-col justify-center items-center web-cell-content web-text-center px-20"
@click="navTo(item)">
<div
class="service-item flex flex-col justify-center items-center web-cell-content web-text-center px-20"
@click="navTo(item)">
<image :src="item.avatar" style="width: 30px; height: 30px;" mode="widthFix"></image>
<text style="white-space: nowrap">{{ item.title }}</text>
</div>
@@ -98,9 +100,7 @@
</uv-skeleton>
</uni-card>
</block>
</block>
<!-- <ws-personal :form="users" ref="personal" @done="reload" />-->
<!-- 登录组件 -->
<ws-login ref="login" :logo="logo" @done="reload"/>
@@ -112,13 +112,12 @@
<script>
import {useUserStore} from '@/store/modules/user';
import * as UserApi from '@/api/booking/users';
import * as MpMenuApi from '@/api/cms/mp-menu';
import * as UserCardApi from '@/api/booking/userCard';
import {updateUsers} from '@/api/shop/users';
import {getThinkUsers,updateThinkUsers} from '@/api/think/thinkUsers';
import {openUrl} from '@/utils/common';
import {useMpStore} from "@/store/modules/mp";
import {getWxOpenId} from '@/api/passport/login';
import {getWxOpenId, loginByOpenId} from '@/api/passport/login';
import Layout from "@/components/layout.vue";
import {useTenantStore} from '@/store/modules/tenant';
@@ -181,42 +180,64 @@ export default {
app.fields[key] = d.value;
});
}
if (uni.getStorageSync('phone')) {
app.isLogin = true;
}
// 获取旧系统用户信息
if(uni.getStorageSync('uid')){
await getThinkUsers(uni.getStorageSync('uid')).then(data => {
app.users = data;
console.log(app.users,'>>>>')
})
}
// 当前登录用户信息
const userInfo = await userStore.fetchUserInfo();
if (Object.keys(userInfo).length > 0) {
app.isLogin = true;
app.userInfo = userInfo;
app.userInfo.avatarUrl = uni.getStorageSync('avatarUrl')
uni.setStorageSync('user_id', app.userInfo.userId);
// 更新第三方系统的用户ID
if(!userInfo.uid && uni.getStorageSync('uid')){
await authUser({uid: uni.getStorageSync('uid')}).then(res => {
console.log('更新第三方系统的用户ID')
})
}
// 判断用户角色
app.hasMerchantRole = userInfo.roles.find((d) => d.roleCode === 'merchant');
app.hasMerchantClerkRole = userInfo.roles.find((d) => d.roleCode === 'merchantClerk');
app.hasSuperAdminRole = userInfo.roles.find((d) => d.roleCode === 'superAdmin');
// 获取用户副表信息
await UserApi.getByPhone({
openId: userInfo.openid
}).then((data) => {
if (data) {
app.users = data;
uni.setStorageSync('uid', data.id);
data.points = data.integral
data.balance = data.money
data.isAdmin = 2 === data.isAdmin
data.idCardNo = data.idCard
data.nickname = data.username
data.avatar = data.avatarUrl
data.createTime = uni.$uv.date(data.createTime,'yyyy-mm-dd hh:MM:ss')
authUser(data)
// app.userInfo = Object.assign({}, app.userInfo, data);
// if (!data.openId) {
// data.openId = app.userInfo.openid
// updateUsers(data);
// }
}
});
// app.users = {
// uid: uni.getStorageSync('uid'),
// phone: uni.getStorageSync('phone'),
// username: uni.getStorageSync('username'),
// avatarUrl: uni.getStorageSync('avatarUrl'),
// openid: uni.getStorageSync('openid')
// }
// await UserApi.getByPhone({
// openId: userInfo.openid
// }).then((data) => {
// if (data) {
// app.users = data;
// uni.setStorageSync('uid', data.id);
// data.points = data.integral
// data.balance = data.money
// data.isAdmin = 2 === data.isAdmin
// data.idCardNo = data.idCard
// data.nickname = data.username
// data.avatar = data.avatarUrl
// data.createTime = uni.$uv.date(data.createTime,'yyyy-mm-dd hh:MM:ss')
// authUser(data)
//
// // app.userInfo = Object.assign({}, app.userInfo, data);
// // if (!data.openId) {
// // data.openId = app.userInfo.openid
// // updateUsers(data);
// // }
// }
// });
if (!uni.getStorageSync('openid')) {
// 更新openid
@@ -305,7 +326,7 @@ page {
}
</style>
<style lang="scss">
.service-item{
.service-item {
width: 130rpx !important;
margin-bottom: 30rpx;
}