You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

156 lines
3.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<template>
<view class="page">
<!-- <view class="status_bar" style="height: var(--status-bar-height); width: 100%;"></view> -->
<u-navbar
title="考勤打卡"
back-icon-color="#FFFFFF"
title-color="#FFFFFF"
leftText="返回"
:autoBack="true"
:placeholder="true"
/>
<view v-if="current == 1">
<comcall :lat="lat" :lng="lng" :Address="Address" />
</view>
<view v-if="current == 2">
<comsignin />
</view>
<view v-if="current == 3">
<comanalysis />
</view>
<!-- 底部导航栏 -->
<!-- <div class="bottom-navigation">
<view
class="navigation-bar"
@click="isActive(item.id)"
v-for="(item, index) in tabBottomBar"
:key="index"
>
<img
:src="current == item.id ? item.activeImg : item.inActiveImg"
class="icon"
/>
<view :class="current == item.id ? 'label_' : 'label'">{{
item.label
}}</view>
</view>
</div> -->
</view>
</template>
<script>
import comcall from "./components/comcall.vue";
import comanalysis from "./components/comanalysis.vue";
import comsignin from "./components/comsignin.vue";
export default {
components: {
comcall,
comanalysis,
comsignin,
},
data() {
return {
current: 1,
tabBottomBar: [
{
id: 1,
inActiveImg: "./static/images/umale/call.png",
activeImg: ".//static/images/umale/call_.png",
label: "打卡",
},
{
id: 2,
inActiveImg: "./static/images/umale/signin.png",
activeImg: "./static/images/umale/signin_.png",
label: "签到",
},
{
id: 3,
inActiveImg: "./static/images/umale/analysis.png",
activeImg: "./static/images/umale/analysis_.png",
label: "统计",
},
],
lat:null,
lng:null,
Address: {}
};
},
onLoad() {
this.getLocation()
},
onReady() {},
methods: {
isActive(val) {
console.log(val);
this.current = val;
},
getLocation(){
const that = this;
// #ifdef APP || H5
console.log("APP");
this.$modal.loading("正在获取位置信息,请耐心等待...");
uni.getLocation({
type: 'gcj02', //这里是不同的地图api支持的格式不一样腾讯的gcj02因为这里返回的是一个具体的经纬度所以我们需要逆地址解析进行匹配对应的位置
geocode :true,
success: function(res) {
that.$modal.closeLoading();
that.lat = res.latitude;
that.lng = res.longitude;
that.Address = res.address
},
fail: function (err) {
console.log("获取定位失败",err);
uni.showToast({
title: '获取地址失败,将导致部分功能不可用',
icon:'none'
});
}
});
// #endif
},
},
};
</script>
<style lang="scss" scoped>
.bottom-navigation {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
display: flex;
justify-content: space-around;
padding: 23rpx 0 61rpx 0;
background: #ffffff;
border: 1px solid #dce3ec;
box-shadow: 10rpx 0rpx 20rpx rgba(57, 118, 241, 0.06);
.navigation-bar {
display: flex;
flex-direction: column;
.icon {
width: 40rpx;
height: 40rpx;
margin-bottom: 10rpx;
}
.label {
font-size: 20rpx;
font-family: PingFang SC;
font-weight: 500;
color: #9da2ab;
}
/* 设置选中状态下的文本颜色 */
.label_ {
font-size: 20rpx;
font-family: PingFang SC;
font-weight: 500;
color: #367bef;
}
}
}
</style>