From f7a3d41075e00498f7033475108c0bcd86cda733 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 01 七月 2025 14:03:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0.1' into 2.0.1
---
wx/pages/mine/mine.vue | 313 +++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 307 insertions(+), 6 deletions(-)
diff --git a/wx/pages/mine/mine.vue b/wx/pages/mine/mine.vue
index 8c3b35f..d7b8844 100644
--- a/wx/pages/mine/mine.vue
+++ b/wx/pages/mine/mine.vue
@@ -1,19 +1,320 @@
<template>
- <view>
-
+ <view class="content">
+ <view class="content_head" :style="{backgroundImage: 'url(' + backgroundImg + ')'}">
+ <view class="content_head_img">
+ <u-icon name="account-fill" color="#999999" size="38"></u-icon>
+ </view>
+ <view class="content_head_info">
+ <text>{{userInfo.realname}}</text>
+ <view class="content_head_company" @click="show = true">
+ <text>{{userInfo.company.name}}</text>
+ <u-icon name="arrow-down-fill" color="#ffffff" size="16"></u-icon>
+ </view>
+ </view>
+ </view>
+ <view class="content_box">
+ <view class="content_box_list">
+ <view class="content_box_list_item">
+ <text>{{numObj.dataFirst || 0}}</text>
+ <text>淇濋殰涓繚鍗�</text>
+ </view>
+ <view class="content_box_list_item">
+ <text>{{numObj.dataSecond || 0}}</text>
+ <text>鍦ㄤ繚浜烘暟</text>
+ </view>
+ <view class="content_box_list_item">
+ <text>{{numObj.dataThird || 0}}</text>
+ <text>鐞嗚禂涓�</text>
+ </view>
+ </view>
+ <view class="content_box_fun">
+ <view class="content_box_fun_label">鎴戠殑鏈嶅姟</view>
+ <view class="fun_list">
+ <view class="fun_list_item" @click="jump(8)">
+ <image src="/static/icon/wode_ic_yuangong@2x.png" mode="widthFix"></image>
+ <text>鍛樺伐绠$悊</text>
+ </view>
+ </view>
+ </view>
+ </view>
+ <view class="content_loginout">
+ <u-button type="primary" shape="circle" color="#437CB3" :plain="true" text="閫�鍑虹櫥褰�"
+ @click="loginOut"></u-button>
+ </view>
+ <!-- 鍒囨崲浼佷笟 -->
+ <u-picker :show="show" keyName="companyName" @confirm="confirmCompany" @cancel="cancel"
+ :columns="[userInfo.companyPermissionList || []]"></u-picker>
+ <MyTabbar :currentPage="currentPage" />
</view>
</template>
<script>
+ import MyTabbar from '@/components/my-tabbar/my-tabbar.vue'
+ import {
+ mapState
+ } from 'vuex'
export default {
+ components: { MyTabbar },
+ computed: {
+ ...mapState(['userInfo', 'cookies'])
+ },
data() {
return {
-
- };
+ numObj: null,
+ currentPage: '/pages/mine/mine',
+ show: false,
+ companyList: [],
+ backgroundImg: require('@/static/background/home_bg@2x.png'),
+ backgroundImg1: require('@/static/background/home_ic_toubao@2x.png'),
+ backgroundImg2: require('@/static/background/home_ic_baodan@2x.png'),
+ backgroundImg3: require('@/static/background/home_ic_baoan@2x.png'),
+ backgroundImg4: require('@/static/background/home_ic_jiajianbao@2x.png'),
+ backgroundImg5: require('@/static/background/home_ic_jiajianbaojilu@2x.png'),
+ backgroundImg6: require('@/static/background/home_ic_huanchang@2x.png'),
+ backgroundImg7: require('@/static/background/home_ic_huanchangjilu@2x.png'),
+ backgroundImg8: require('@/static/background/home_ic_yuangong@2x.png'),
+ }
+ },
+ onShow() {
+ this.getNum()
+ },
+ methods: {
+ test() {
+ // 閫夋嫨鍥剧墖
+ wx.chooseImage({
+ count: 1,
+ success: async function(res) {
+ console.log(new wx.serviceMarket.CDN({ type: 'filePath', filePath: res.tempFilePaths[0] }))
+ try {
+ const invokeRes = await wx.serviceMarket.invokeService({
+ service: 'wx79ac3de8be320b71',
+ api: 'OcrAllInOne',
+ data: {
+ // 鐢� CDN 鏂规硶鏍囪瑕佷笂浼犲苟杞崲鎴� HTTP URL 鐨勬枃浠�
+ img_url: new wx.serviceMarket.CDN({
+ type: 'filePath',
+ filePath: res.tempFilePaths[0],
+ }),
+ data_type: 3,
+ ocr_type: 1
+ },
+ })
+ console.log('invokeService success', invokeRes)
+ wx.showModal({ title: 'success', content: JSON.stringify(invokeRes) })
+ } catch (err) {
+ console.log(JSON.stringify(err))
+ wx.showModal({ title: 'fail', content: err })
+ }
+ },
+ fail: function(res) {},
+ complete: function(res) {},
+ })
+ },
+ cancel() {
+ this.show = false
+ },
+ confirmCompany(e) {
+ if (e.value[0].companyId === this.userInfo.companyId) {
+ uni.showToast({
+ title: '涓嶈兘鍒囨崲褰撳墠浼佷笟',
+ icon: 'none'
+ })
+ return
+ }
+ this.$u.api.switchCompany({
+ companyId: e.value[0].companyId
+ })
+ .then(async res => {
+ let user = await this.$u.api.getUserInfo()
+ if (user.code === 200) {
+ this.$store.commit('setUserInfo', user.data)
+ this.show = false
+ }
+ })
+ },
+ getNum() {
+ this.$u.api.getCompanyMiniData()
+ .then(res => {
+ if (res.code === 200) {
+ console.log(res)
+ this.numObj = res.data
+ }
+ })
+ },
+ loginOut() {
+ this.$u.api.logout()
+ .then(res => {
+ if (res.code === 200) {
+ this.$store.commit('empty')
+ uni.navigateTo({
+ url: '/pages/login/login'
+ })
+ }
+ })
+ },
+ jump(type) {
+ if (!this.cookies || !this.userInfo) {
+ uni.navigateTo({
+ url: '/pages/login/login'
+ })
+ }
+ switch (type) {
+ case 8:
+ uni.navigateTo({
+ url: '/pages/employee_management/employee_management'
+ })
+ break
+ }
+ }
}
}
</script>
-<style lang="scss">
-
+<style>
+ page {
+ background-color: #F7F7F7;
+ }
</style>
+
+<style lang="scss" scoped>
+ .content {
+ width: 100%;
+
+ .content_loginout {
+ width: 200rpx;
+ left: 50%;
+ transform: translate(-50%, 0);
+ position: fixed;
+ bottom: calc(env(safe-area-inset-bottom) + 110upx + 80rpx);
+ }
+
+ .content_head {
+ width: 100%;
+ height: 292rpx;
+ padding: 40rpx;
+ box-sizing: border-box;
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+ display: flex;
+ position: relative;
+
+ .content_head_img {
+ flex-shrink: 0;
+ background-color: #ffffff;
+ width: 104rpx;
+ height: 104rpx;
+ border-radius: 50%;
+ margin-right: 20rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border: 4rpx solid #FFFFFF;
+ }
+
+ .content_head_info {
+ flex: 1;
+ height: 104rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-around;
+ .content_head_company {
+ width: 100%;
+ display: flex;
+ align-items: center;
+
+ text {
+ font-weight: 400;
+ font-size: 26rpx;
+ color: #FFFFFF;
+ margin-right: 15rpx;
+ }
+ }
+
+ text {
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #FFFFFF;
+ }
+ }
+
+ }
+
+ .content_box {
+ width: 100%;
+ padding: 0 30rpx;
+ box-sizing: border-box;
+ position: relative;
+ top: -100rpx;
+ left: 0;
+
+ .content_box_fun {
+ width: 100%;
+ margin-top: 34rpx;
+ background: #FFFFFF;
+ padding: 30rpx;
+ box-sizing: border-box;
+ border-radius: 16rpx;
+ .content_box_fun_label {
+ font-weight: 500;
+ font-size: 32rpx;
+ color: #222222;
+ margin-bottom: 30rpx;
+ }
+ .fun_list {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ .fun_list_item {
+ width: 25%;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ image {
+ width: 60rpx;
+ height: 60rpx;
+ }
+ text {
+ font-weight: 400;
+ font-size: 26rpx;
+ color: #333333;
+ margin-top: 16rpx;
+ }
+ }
+ }
+ }
+
+ .content_box_list {
+ width: 100%;
+ height: 172rpx;
+ padding: 30rpx 40rpx;
+ box-sizing: border-box;
+ background: #FFFFFF;
+ border-radius: 16rpx;
+ display: flex;
+ align-items: center;
+
+ .content_box_list_item {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ text {
+ &:nth-child(1) {
+ font-weight: 600;
+ font-size: 48rpx;
+ color: #279BAA;
+ }
+ &:nth-child(2) {
+ font-weight: 400;
+ font-size: 26rpx;
+ color: #222222;
+ magrin-top: 10rpx;
+ }
+ }
+ }
+ }
+ }
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3