459 lines
7.8 KiB
Vue
459 lines
7.8 KiB
Vue
<template>
|
|
<view class="content">
|
|
|
|
|
|
<view class="content-con">
|
|
<view class="content-left">
|
|
<view class="content-left-img">
|
|
<image src="@/static/images/logo.png" mode=""></image>
|
|
</view>
|
|
<view class="content-left-one" v-for="(item, index) in list" :key="index" @click="getlist(index)">
|
|
<view class="left-one" :class="{ 'lefcolor': num === index }">
|
|
{{item.name}}
|
|
</view>
|
|
</view>
|
|
<view class="content-left-bottom">
|
|
<view class="left-bottom-left">
|
|
<view class="left-bottom">
|
|
<image :src="oaUserInfo.avatar" mode=""></image>
|
|
</view>
|
|
<view class="left-bottom1">
|
|
{{oaUserInfo.nickname}}
|
|
</view>
|
|
</view>
|
|
<view class="left-bottom-right">
|
|
<view class="bottom-right1">
|
|
<view class="bottom-right_a">
|
|
|
|
</view>
|
|
<view class="bottom-right_b">
|
|
|
|
{{oaUserInfo.nickname ?'在线':'离线'}}
|
|
|
|
</view>
|
|
</view>
|
|
<view class="bottom-right2" @click="logout">
|
|
切换账号
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
|
|
<view class="content-right">
|
|
<index :type='type' v-if="num==0" />
|
|
<index :type='type' v-if="num==0" />
|
|
<index :type='type' v-if="num==0" />
|
|
</view>
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
getdatatotal,
|
|
getDocumentListApi,
|
|
projecttasklist,
|
|
todosubjec,
|
|
tasksubjec
|
|
} from '@/api/oa.js'
|
|
import {
|
|
HTTP_REQUEST_URL
|
|
} from '@/config/app.js'
|
|
|
|
import index from '@/components/index/detaila.vue'
|
|
|
|
|
|
export default {
|
|
components: {
|
|
index,
|
|
|
|
|
|
},
|
|
data() {
|
|
return {
|
|
title: 'Hello',
|
|
statusBarHeight: 0,
|
|
list: [{
|
|
name: '待取货',
|
|
id: 0
|
|
},
|
|
{
|
|
name: '待配送',
|
|
id: 1
|
|
},
|
|
{
|
|
name: '已送达',
|
|
id: 2
|
|
},
|
|
|
|
],
|
|
num: 0,
|
|
type: ''
|
|
}
|
|
},
|
|
computed: {
|
|
oaUserInfo() {
|
|
return this.$store.state.app.userInfo
|
|
},
|
|
|
|
},
|
|
|
|
onLoad(option) {
|
|
this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight;
|
|
this.type = option.id
|
|
|
|
},
|
|
onPullDownRefresh() {
|
|
|
|
uni.stopPullDownRefresh()
|
|
},
|
|
methods: {
|
|
login() {
|
|
uni.reLaunch({
|
|
url: '/pages/oaLogin/oaLogin'
|
|
})
|
|
},
|
|
logout() {
|
|
uni.redirectTo({
|
|
url: '/pages/oaLogin/oaLogin'
|
|
})
|
|
},
|
|
getlist(index) {
|
|
this.num = index
|
|
|
|
if (index == 1) {
|
|
uni.navigateTo({
|
|
url: '/pages/psong/index'
|
|
})
|
|
}
|
|
|
|
if (this.num == 2) {
|
|
uni.navigateTo({
|
|
url: '/pages/sda/index'
|
|
})
|
|
}
|
|
},
|
|
//获取公告
|
|
async getDtnote() {
|
|
let res = await getDocumentListApi({
|
|
page: 1,
|
|
limit: 2
|
|
})
|
|
|
|
this.list5 = res.data.data
|
|
},
|
|
async getDtlist() {
|
|
let res = await todosubjec()
|
|
|
|
this.list6 = res.data
|
|
// this.list5 = res.data.data
|
|
},
|
|
async getDtlist1() {
|
|
let res = await tasksubjec()
|
|
this.list2 = res.data
|
|
},
|
|
spclickItem(item) {
|
|
console.log(item)
|
|
uni.navigateTo({
|
|
url: '/pages/leave_request/index?type=' + item.id
|
|
})
|
|
},
|
|
//获取任务
|
|
async getDocumentList2() {
|
|
|
|
let res = await projecttasklist({
|
|
page: 1,
|
|
limit: 3,
|
|
|
|
})
|
|
|
|
this.list4 = res.data.data
|
|
|
|
},
|
|
|
|
//待办
|
|
daiban() {
|
|
uni.navigateTo({
|
|
url: '/pages/waitlist/index'
|
|
})
|
|
},
|
|
|
|
//任务
|
|
geng() {
|
|
uni.switchTab({
|
|
url: '/pages/oaTask/oaTask'
|
|
})
|
|
},
|
|
//获取部门
|
|
async getList() {
|
|
const res = await getdatatotal()
|
|
this.list = res.data
|
|
},
|
|
//列表
|
|
listbiao(item, i) {
|
|
switch (item.type) {
|
|
case "note":
|
|
uni.navigateTo({
|
|
url: '/pages/users/user_document/index'
|
|
})
|
|
break;
|
|
case "approve":
|
|
uni.switchTab({
|
|
url: '/pages/examine/index'
|
|
})
|
|
|
|
break;
|
|
case "expense":
|
|
uni.navigateTo({
|
|
url: '/pages/reimbursement/index'
|
|
})
|
|
break;
|
|
case "invoice":
|
|
uni.navigateTo({
|
|
url: '/pages/invoice/index'
|
|
})
|
|
break;
|
|
case "customer":
|
|
uni.navigateTo({
|
|
url: '/pages/personneltransfer/index'
|
|
})
|
|
break;
|
|
|
|
case "project":
|
|
|
|
uni.navigateTo({
|
|
url: '/pages/project/index'
|
|
})
|
|
break;
|
|
case "task":
|
|
uni.switchTab({
|
|
url: '/pages/oaTask/oaTask'
|
|
})
|
|
break;
|
|
case "article":
|
|
uni.navigateTo({
|
|
url: '/pages/users/article/index'
|
|
})
|
|
break;
|
|
}
|
|
|
|
},
|
|
//公告
|
|
gongao() {
|
|
uni.navigateTo({
|
|
url: '/pages/users/user_document/index'
|
|
})
|
|
},
|
|
//待办
|
|
gongao1() {
|
|
this.isshow1 = !this.isshow1
|
|
},
|
|
|
|
//应用中心
|
|
appcenter(item, i) {
|
|
switch (i) {
|
|
case 0:
|
|
uni.navigateTo({
|
|
url: '/pages/leaveapplication/index?type=1'
|
|
})
|
|
break;
|
|
case 1:
|
|
uni.navigateTo({
|
|
url: '/pages/leaveapplication/index?type=2'
|
|
})
|
|
break;
|
|
case 2:
|
|
uni.navigateTo({
|
|
url: '/pages/leaveapplication/index?type=3'
|
|
})
|
|
break;
|
|
case 3:
|
|
uni.navigateTo({
|
|
url: '/pages/leaveapplication/index?type=15'
|
|
})
|
|
break;
|
|
case 4:
|
|
uni.navigateTo({
|
|
url: '/pages/leaveapplication/index?type=7'
|
|
})
|
|
break;
|
|
|
|
case 5:
|
|
uni.navigateTo({
|
|
url: '/pages/invoice/add'
|
|
})
|
|
break;
|
|
case 6:
|
|
uni.navigateTo({
|
|
url: '/pages/reimbursementapplication/index'
|
|
})
|
|
break;
|
|
case 7:
|
|
uni.navigateTo({
|
|
url: '/pages/appcenter/index'
|
|
})
|
|
break;
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
page {
|
|
|
|
// background: #Fff;
|
|
// width: 1024px;
|
|
// border: 1px solid red;
|
|
}
|
|
|
|
.content {
|
|
position: relative;
|
|
|
|
.content-con {
|
|
display: flex;
|
|
}
|
|
|
|
.content-left {
|
|
width: 136rpx;
|
|
|
|
|
|
margin-left: 10rpx;
|
|
margin-right: 10rpx;
|
|
|
|
.content-left-img {
|
|
width: 50rpx;
|
|
height: 45rpx;
|
|
margin: 0 auto;
|
|
margin-bottom: 37rpx;
|
|
margin-top: 40rpx;
|
|
|
|
image {
|
|
width: 50rpx;
|
|
height: 45rpx;
|
|
}
|
|
}
|
|
|
|
|
|
.content-left-one {
|
|
text-align: center;
|
|
margin-bottom: 30rpx;
|
|
}
|
|
|
|
.left-one {
|
|
width: 136rpx;
|
|
font-size: 13rpx;
|
|
font-family: PingFang SC-Medium, PingFang SC;
|
|
font-weight: 500;
|
|
color: #333333;
|
|
height: 29px;
|
|
line-height: 29px;
|
|
margin: 0 auto;
|
|
|
|
|
|
}
|
|
|
|
.lefcolor {
|
|
background: #DDE9FE;
|
|
font-size: 13rpx;
|
|
font-family: PingFang SC-Medium, PingFang SC;
|
|
font-weight: 500;
|
|
color: #0022C7;
|
|
}
|
|
|
|
.content-left-bottom {
|
|
position: absolute;
|
|
width: 136rpx;
|
|
bottom: 0rpx;
|
|
height: 62rpx;
|
|
|
|
|
|
background-color: #F5F8FE;
|
|
|
|
.left-bottom-left {
|
|
display: flex;
|
|
|
|
.left-bottom1 {
|
|
font-size: 12rpx;
|
|
font-family: PingFang SC-Semibold, PingFang SC;
|
|
font-weight: 600;
|
|
color: #0022C7;
|
|
margin-top: 10rpx;
|
|
}
|
|
|
|
.left-bottom {
|
|
width: 26rpx;
|
|
height: 26rpx;
|
|
border-radius: 50%;
|
|
margin-right: 10rpx;
|
|
margin-left: 30rpx;
|
|
|
|
image {
|
|
width: 26rpx;
|
|
height: 26rpx;
|
|
border-radius: 50%;
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
.left-bottom-right {
|
|
display: flex;
|
|
justify-content: space-around;
|
|
line-height: 25rpx;
|
|
margin-top: 10rpx;
|
|
|
|
.bottom-right1 {
|
|
display: flex;
|
|
|
|
|
|
.bottom-right_a {
|
|
width: 10rpx;
|
|
height: 10rpx;
|
|
border-radius: 50%;
|
|
background-color: #46BE61;
|
|
margin-top: 8rpx;
|
|
margin-right: 10rpx;
|
|
}
|
|
|
|
.bottom-right_b {
|
|
font-size: 10rpx;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 400;
|
|
color: #333333;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
.bottom-right2 {
|
|
font-size: 10rpx;
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
font-weight: 400;
|
|
color: #333333;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
.content-right {
|
|
background: linear-gradient(180deg, #D8E6FE 0%, rgba(228, 236, 251, 0.39) 16%, rgba(244, 246, 252, 0.61) 100%);
|
|
border-radius: 15px 0px 0px 0px;
|
|
padding-top: 22rpx;
|
|
padding-left: 15rpx;
|
|
padding-right: 15rpx;
|
|
width: 600rpx;
|
|
}
|
|
|
|
}
|
|
</style> |