更换logo配置,首页排版,增加无效代码

This commit is contained in:
qiaocl 2024-08-22 09:48:00 +08:00
parent c65aa8b93e
commit dc10289801
437 changed files with 22144 additions and 11296 deletions

44
App.vue
View File

@ -4,10 +4,16 @@
return {}
},
onLaunch: function() {
// #ifdef APP-PLUS
this.checkForUpdates()
uni.switchTab({
url: "/pages/index/index"
url: "/pages/home/home"
})
//#endif
// #ifdef MP-WEIXIN
this.handleUserList()
//#endif
console.log('App Launch')
},
onShow: function() {
@ -57,19 +63,26 @@
const dtask = uni.downloadFile({
url: downloadUrl,
success: (downloadRes) => {
if (downloadRes.statusCode ===200) {
plus.nativeUI.closeWaiting()
if (downloadRes.statusCode ===
200) {
plus.nativeUI
.closeWaiting()
plus.runtime.install(
downloadRes
.tempFilePath, {
force: false
},
function() {
console.log('install success...');
plus.runtime.restart();
console.log(
'install success...'
);
plus.runtime
.restart();
},
function(e) {
console.error('install fail...');
console.error(
'install fail...'
);
});
}
},
@ -81,8 +94,10 @@
}
});
dtask.onProgressUpdate((res) => {
showLoading.setTitle(" 正在下载" + res.progress + "% ");
console.log('下载进度' + res.progress +'%');
showLoading.setTitle(" 正在下载" + res
.progress + "% ");
console.log('下载进度' + res.progress +
'%');
});
} else {
uni.showModal({
@ -120,13 +135,6 @@
})
})
},
//
downloadNewVersion(downloadUrl, code) {
},
//
handleUserList() {
let that = this
@ -159,9 +167,9 @@
/*每个页面公共css */
/* #ifndef APP-NVUE */
@import "/uni.scss";
@import "/assets/common.scss";
@import "/assets/iconfont.css";
@import "/assets/iconfont-weapp-icon.css";
@import "/scss/common.scss";
@import "/scss/iconfont.css";
@import "/scss/iconfont-weapp-icon.css";
/* #endif*/
</style>

View File

@ -1,402 +0,0 @@
<template>
<view class="rpickerBox" v-if="show">
<view class="pickerMask" @click="maskClick">
<view class="r-dtpicker r-dtpicker-show" @click.stop>
<view class="rdtBtn">
<view @click="pickerCancel">取消</view>
<view>选择日期</view>
<view class="bluecolor" @click="pickerConfirm">确定</view>
</view>
<picker-view indicator-style="height: 40px;" class="mpvue-picker-view" :value="startValue"
@change="startChangeMul" :style="{'width':type==2?'calc(50% - 1px)':'100%'}">
<block>
<picker-view-column>
<view class="picker-item" v-for="(item,index) in startyearArr" :key="index">{{item}}</view>
</picker-view-column>
<picker-view-column v-if="fields!='year'">
<view class="picker-item" v-for="(item,index) in startmonthArr" :key="index">{{item}}
</view>
</picker-view-column>
<picker-view-column v-if="fields=='day'">
<view class="picker-item" v-for="(item,index) in startdayArr" :key="index">{{item}}</view>
</picker-view-column>
</block>
</picker-view>
<picker-view indicator-style="height: 40px;" class="mpvue-picker-view mpvue-picker-view2"
:value="endValue" @change="endChangeMul" v-if="type==2">
<block>
<picker-view-column>
<view class="picker-item" v-for="(item,index) in endyearArr" :key="index">{{item}}</view>
</picker-view-column>
<picker-view-column>
<view class="picker-item" v-for="(item,index) in endmonthArr" :key="index">{{item}}</view>
</picker-view-column>
<picker-view-column>
<view class="picker-item" v-for="(item,index) in enddayArr" :key="index">{{item}}</view>
</picker-view-column>
</block>
</picker-view>
</view>
</view>
</view>
</template>
<script>
import {
nextTick
} from "vue";
export default {
name: 'range-dtpicker',
props: {
fields: {
type: String,
default: 'day'
},
value: {
type: Array,
default () {
return [0, 0]
}
},
//
show: {
type: Boolean,
default: false
},
//
type: {
type: Number,
default: 1 //12
},
///
name: {
type: String,
default: ""
},
end: {
type: String,
default: ""
}
},
created() {
this.init()
},
data() {
return {
startValue: this.fields == 'year' ? [0] : this.fields == 'month' ? [0, 0] : [0, 0, 0], //
endValue: this.fields == 'year' ? [0] : this.fields == 'month' ? [0, 0] : [0, 0, 0], //
startDate: '', //
endDate: "", //
start: "1873-01-01", //
};
},
watch: {
value(value) {
this.value = value;
this.init()
},
},
computed: {
getStart() {
return this.end ? this.end : this.$tools.getDate('start')
},
startyearArr() {
let that = this
return that.yearArr(parseInt(that.start.slice(0, 4)), parseInt(that.getStart.slice(0, 4)))
},
endyearArr() {
let that = this
return that.type == 2 ? that.yearArr(parseInt(that.start.slice(0, 4)), parseInt(that.getStart.slice(0,
4))) : []
},
startmonthArr() {
let that = this
return that.monthArr(that.getStart.slice(0, 4) == that.startDate.slice(0, 4) ? that.getStart.slice(5, 7) :
12)
},
endmonthArr() {
let that = this
return that.type == 2 ? that.monthArr(that.getStart.slice(0, 4) == that.endDate.slice(0, 4) ? that.getStart
.slice(5, 7) : 12) : []
},
startdayArr() {
let that = this
let isstart = (that.getStart.slice(0, 4) == that.startDate.slice(0, 4) && that.startDate.slice(5, 7) ==
that.getStart.slice(5, 7)) ? true : false
return that.dayArr(that.value[0].slice(0, 4), that.startDate.slice(5, 7), isstart, that.getStart.slice(8,
10))
},
enddayArr() {
let that = this
let isend = (that.type == 2 && that.getStart.slice(0, 4) == that.endDate.slice(0, 4) && that.endDate.slice(
5, 7) ==
that.getStart.slice(5, 7)) ? true : false
return that.type == 2 ? that.dayArr(that.value[1].slice(0, 4), that.endDate.slice(5, 7), isend, that
.getStart.slice(8, 10)) : []
}
},
methods: {
//
init() {
var that = this,
endVal = "",
startVal = "";
that.startDate = that.value[0];
that.endDate = that.value[1];
startVal = this.getIndex(this.value[0], 'start');
endVal = that.type == 2 ? this.getIndex(this.value[1], 'end') : [];
// console.log("init", this.value[0], this.value[1], startVal, endVal)
if (startVal) setTimeout(function() {
that.startValue = startVal
that.endValue = endVal
}, 20)
},
//
startChangeMul(e) {
let that = this
const val = e.detail.value
let year = that.startyearArr[val[0]]
let month = that.startmonthArr[val[1]]
let day = that.startdayArr[val[2]]
that.startValue = e.detail.value
that.startDate = this.fields == 'year' ? year : this.fields == 'month' ? year + '/' + month : year + '/' +
month + '/' + day
// console.log("", e.detail.value, that.startDate)
},
//
endChangeMul(e) {
let that = this
const val = e.detail.value
let year = that.endyearArr[val[0]]
let month = that.endmonthArr[val[1]]
let day = that.enddayArr[val[2]]
that.endtValue = e.detail.value
that.endDate = this.fields == 'year' ? year : this.fields == 'month' ? year + '/' + month : year + '/' +
month + '/' + day
// console.log("", e.detail.value, that.endDate)
},
//
pickerConfirm() {
if (this.endDate < this.startDate) {
uni.showToast({
title: "结束时间不得小于开始时间",
icon: "none",
mask: true
})
return;
}
this.$emit("change", [this.startDate, this.endDate], this.name);
this.$emit("showchange", false);
},
//
pickerCancel() {
this.$emit("cancel");
this.$emit("showchange", false);
},
//
maskClick() {
this.$emit("showchange", false);
},
//
yearArr(start, end) {
var arr = []
for (var i = 0; i <= end - start; i++) {
arr.push(start + i)
}
return arr;
},
//
monthArr(num) {
var arr = [];
for (var i = 1; i <= num; i++) {
var v = i;
if (v < 10) v = "0" + v;
arr.push(v.toString())
}
return arr;
},
//
dayArr(year, month, isNew, day) {
var arr = [],
start = 1,
end = 30,
array = [],
flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)
if (isNew) {
end = day
} else if (month == "01" || month == "03" || month == "05" || month == "07" || month == "08" ||
month ==
"10" || month == "12") {
end = 31
} else if (month == "04" || month == "06" || month == "09" || month == "11") {
end = 30
} else {
if (flag) {
end = 29
} else {
end = 28
}
}
for (var i = start; i <= end; i++) {
array.push(i < 10 ? '0' + i : '' + i);
}
return array;
},
//
getIndex(value, type) {
// console.log("index", value)
var year = value.slice(0, 4),
month = value.slice(5, 7),
day = value.slice(8, 10),
y = 0,
m = 0,
d = 0;
let yearArr = type == 'start' ? this.startyearArr : this.endyearArr,
monthArr = type == 'start' ? this.startmonthArr : this.endmonthArr,
dayArr = type == 'start' ? this.startdayArr : this.enddayArr;
for (var i in yearArr) {
if (year == yearArr[i]) {
y = i;
break;
}
}
for (var i in monthArr) {
if (month == monthArr[i]) {
m = i;
break;
}
}
for (var i in dayArr) {
if (day == dayArr[i]) {
d = i;
break;
}
}
var value = [];
switch (this.fields) {
case 'year':
value = [Number(y)]
break;
case 'month':
value = [Number(y), Number(m)]
break;
default:
value = [Number(y), Number(m), Number(d)]
break;
}
return value;
},
}
}
</script>
<style>
.pickerMask {
position: fixed;
z-index: 999998;
top: 0;
right: 0;
left: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.4);
}
.r-dtpicker {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
transition: all 0.3s ease;
transform: translateY(100%);
z-index: 999998;
background: #eee;
}
.r-dtpicker-show {
transform: translateY(0);
}
.rdtBtn {
display: flex;
padding: 9px 15px;
background-color: #fff;
position: relative;
text-align: center;
font-size: 34rpx;
}
.rdtBtn:after {
content: ' ';
position: absolute;
left: 0;
bottom: 0;
right: 0;
height: 1px;
border-bottom: 1px solid #e5e5e5;
color: #e5e5e5;
transform-origin: 0 100%;
transform: scaleY(0.5);
}
.rdtBtn view {
display: block;
flex: 1;
color: #1aad19;
}
.rdtBtn view:first-child {
text-align: left;
color: #888;
}
.rdtBtn view:last-child {
text-align: right;
}
.picker-item {
text-align: center;
line-height: 40px;
font-size: 36rpx;
}
.mpvue-picker-view {
position: relative;
bottom: 0;
left: 0;
width: calc(50% - 1px);
height: 238px;
float: left;
background-color: rgba(255, 255, 255, 1);
}
.mpvue-picker-view2 {
left: 1px;
width: 50%;
right: 0;
}
.rangeBox {
background: #fff;
display: flex;
justify-content: center;
padding: 15px 0;
font-size: 36rpx;
align-items: center;
}
.rangeBox input {
width: 180upx;
margin: 0 10px;
text-align: center;
align-items: center;
display: flex;
min-height: auto;
border-bottom: 1px solid #000;
}
</style>

View File

@ -32,7 +32,6 @@
</template>
<script>
import model from "@/tools/model.js";
import {
mapState
} from "vuex";
@ -67,7 +66,7 @@
addInfo() {
let that = this
uni.navigateTo({
url: "/pages/me/userInfo"
url: "/pages/my/userInfo"
})
that.$store.commit("changeDrawe", false);
},
@ -108,6 +107,9 @@
}
.dangqian {
font-size: 24upx !important;
}
@keyframes wrapper_box {
0% {

View File

@ -7,8 +7,11 @@
</view>
<view class="info">
<view class="size18 bold">{{user.nickname}}</view>
<view class="mt-10">年龄{{user.age}}</view>
<view class="mt-10">{{$t("index.birthday")}}{{user.birthday}}</view>
<view class="mt-10">
<text class="mr-10">性别{{user.gender==1?'男':user.gender==2?'女':'未知'}}</text>
<text class="ml-10">年龄{{user.age}}</text>
</view>
<!-- <view class="mt-10">{{$t("index.birthday")}}{{user.birthday}}</view> -->
</view>
<text class="t-icon t-icon-qiehuan1" @click="$store.commit('changeDrawe', true)" v-if="isLeft"></text>
</view>
@ -58,7 +61,7 @@
import {
mapState
} from "vuex";
import drawer from "@/components/drawer.vue"
import drawer from "@/element/drawer.vue"
export default {
name: "headerIndex",
components: {
@ -138,7 +141,7 @@
//
handleAddUser() {
uni.navigateTo({
url: "/pages/me/userInfo"
url: "/pages/my/userInfo"
})
},
//
@ -242,4 +245,9 @@
background-color: #fff;
}
}
.t-icon-qiehuan1 {
width: 25px;
height: 25px;
}
</style>

10
main.js
View File

@ -3,19 +3,19 @@ import App from './App'
import store from './store'
Vue.prototype.$store = store;
// 公共js
import tools from '@/tools/tools.js'
import tools from '@/toolJs/tools.js'
Vue.prototype.$tools = tools;
// 蓝牙js
import Bluetooth from '@/tools/Bluetooth.js'
import Bluetooth from '@/toolJs/Bluetooth.js'
Vue.prototype.$Bluetooth = Bluetooth;
//请求
import http from '@/tools/https.js'
import http from '@/toolJs/https.js'
Vue.prototype.$http = http;
//接口
import model from '@/tools/model.js'
import model from '@/toolJs/model.js'
Vue.prototype.$model = model;
// 语言
import messages from './locale/index'
import messages from './language/index'
let i18nConfig = {
locale: uni.getLocale(),

View File

@ -1,9 +1,9 @@
{
"name" : "青测",
"name" : "锐动",
"appid" : "__UNI__E0E1A21",
"description" : "",
"versionName" : "1.1.7",
"versionCode" : 117,
"versionName" : "1.1.8",
"versionCode" : 118,
"transformPx" : false,
/* 5+App */
"app-plus" : {

View File

@ -1,28 +1,19 @@
{
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/index/index",
"path": "pages/home/home",
"style": {
"navigationBarTitleText": "首页",
"enablePullDownRefresh": true,
"onReachBottomDistance": 50,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF , #39D9C9)"
}
}
"onReachBottomDistance": 50
}
},
{
"path": "pages/card/card",
"path": "pages/cardList/card",
"style": {
"navigationBarTitleText": "卡片设置",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
@ -30,146 +21,98 @@
"style": {
"navigationBarTitleText": "身体数据",
"enablePullDownRefresh": true,
"onReachBottomDistance": 50,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"onReachBottomDistance": 50
}
},
{
"path": "pages/history/history",
"style": {
"navigationBarTitleText": "历史记录",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/history/historyDetail",
"style": {
"navigationBarTitleText": "记录详情",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/compk/contrast",
"style": {
"navigationBarTitleText": "数据对比",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/compk/pkdetail",
"style": {
"navigationBarTitleText": "对比详情",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/skip/skip",
"path": "pages/skiping/skip",
"style": {
"navigationBarTitleText": "跳绳数据",
"enablePullDownRefresh": true,
"onReachBottomDistance":50,
"app-plus": {
"titleNView": {
"backgroundImage": "#000000"
}
}
"onReachBottomDistance": 50
}
},
{
"path": "pages/skip/charts",
"path": "pages/skiping/charts",
"style": {
"navigationBarTitleText": "运动曲线",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/vitalcapacity/vitalcapacity",
"path": "pages/lunging/vitalcapacity",
"style": {
"navigationBarTitleText": "肺活量数据",
"enablePullDownRefresh": true,
"onReachBottomDistance":50,
"app-plus": {
"titleNView": {
"backgroundImage": "#000000"
}
}
"onReachBottomDistance": 50,
"navigationBarBackgroundColor": "#000000",
"backgroundColor": "#000000"
}
},
{
"path": "pages/vitalcapacity/charts",
"path": "pages/lunging/charts",
"style": {
"navigationBarTitleText": "运动曲线",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/me/me",
"path": "pages/my/me",
"style": {
"navigationBarTitleText": "我的",
"enablePullDownRefresh": true,
"onReachBottomDistance":50,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"onReachBottomDistance": 50
}
}, {
"path": "pages/me/manage",
"path": "pages/my/manage",
"style": {
"navigationBarTitleText": "成员管理",
"enablePullDownRefresh": true,
"onReachBottomDistance":50,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"onReachBottomDistance": 50
}
},
{
"path": "pages/me/userInfo",
"path": "pages/my/userInfo",
"style": {
"navigationBarTitleText": "资料",
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"navigationBarTitleText": "资料"
}
},
{
@ -177,46 +120,30 @@
"style": {
"navigationBarTitleText": "分数评估",
"enablePullDownRefresh": true,
"onReachBottomDistance":50,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"onReachBottomDistance": 50
}
}, {
"path": "pages/score/history",
"style": {
"navigationBarTitleText": "估分历史",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
}, {
"path": "pages/score/report",
"style": {
"navigationBarTitleText": "估分报告",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/login/forgetPassword",
"style": {
"navigationBarTitleText": "密码",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
@ -231,72 +158,48 @@
"path": "pages/setting/setting",
"style": {
"navigationBarTitleText": "设置",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/setting/password",
"style": {
"navigationBarTitleText": "修改密码",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/setting/email",
"style": {
"navigationBarTitleText": "绑定邮箱",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/setting/phone",
"style": {
"navigationBarTitleText": "绑定手机号",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/devices/search",
"style": {
"navigationBarTitleText": "蓝牙搜索",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/devices/G02",
"style": {
"navigationBarTitleText": "测量",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
@ -304,12 +207,8 @@
"style": {
"navigationBarTitleText": "设备管理",
"enablePullDownRefresh": true,
"onReachBottomDistance":50,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"onReachBottomDistance": 50
}
},
{
@ -323,65 +222,69 @@
"path": "pages/business/addDevice",
"style": {
"navigationBarTitleText": "设备列表",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/business/search",
"style": {
"navigationBarTitleText": "搜索设备",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/devices/PCT01",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/me/about",
"path": "pages/my/about",
"style": {
"navigationBarTitleText": "关于我们",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": {
"backgroundImage": "linear-gradient(to right, #477EFF, #39D9C9)"
}
}
"enablePullDownRefresh": false
}
},
{
"path": "pages/message/list",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},
{
"path": "pages/notepad/notepad",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
},
{
"path": "pages/notepad/addNotepad",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTextStyle": "white",
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#fff",
"navigationBarBackgroundColor": "#37cc92",
"backgroundColor": "#fff"
},
//
"tabBar": {
"color": "#333",
"fontSize": "13px",
"selectedColor": "#477EFF",
"selectedColor": "#37cc92",
"backgroundColor": "#fff",
"list": [{
"pagePath": "pages/index/index",
"pagePath": "pages/home/home",
"iconPath": "static/shou.png",
"selectedIconPath": "static/shou2.png",
"text": "首页"
@ -393,12 +296,12 @@
"text": "估分"
}, {
"pagePath": "pages/business/business",
"iconPath": "static/shou.png",
"selectedIconPath": "static/shou2.png",
"iconPath": "static/bei.png",
"selectedIconPath": "static/bei2.png",
"text": "设备"
},
{
"pagePath": "pages/me/me",
"pagePath": "pages/my/me",
"iconPath": "static/wo.png",
"selectedIconPath": "static/wo2.png",
"text": "我的"
@ -406,12 +309,4 @@
]
},
"uniIdRouter": {}
// "condition": { //
// "current": 0, //(list )
// "list": [{
// "name": "首页", //
// "path": "pages/index/index", //
// "query": "" //onLoad
// }]
// }
}

View File

@ -37,7 +37,7 @@
</view>
</view>
<view class="nolist" v-if="!info">
<image src="@/static/none.png"></image>
<image src="../../static/none.png"></image>
<text>暂无数据请手动添加~</text>
</view>
<!-- -->
@ -194,7 +194,7 @@
</view>
<view class="box" v-else>
<view class="nolist">
<image src="@/static/none.png"></image>
<image src="../../static/none.png"></image>
<text>暂无数据请手动添加~</text>
</view>
</view>
@ -251,8 +251,8 @@
import {
mapState
} from "vuex";
import record from '@/components/manuallyAdd/record.vue';
import firstweight from '@/components/target/firstweight.vue';
import record from '@/element/manuallyAdd/record.vue';
import firstweight from '@/element/target/firstweight.vue';
import qiunDataCharts from '@/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue';
export default {
data() {
@ -319,6 +319,17 @@
})
console.log("11111", options)
},
onBackPress(options) {
let that = this
setTimeout(() => {
uni.switchTab({
url: '/pages/home/home'
})
}, 300)
console.log("返回首页")
return true
},
//
onPullDownRefresh() {
let that = this
that.$store.dispatch("getResult", {
@ -451,472 +462,12 @@
</script>
<style scoped lang="scss">
@import "@/scss/body.scss";
.content {
padding: 15px;
font-size: 32rpx;
background-color: #F5F6FA;
min-height: 100vh;
}
.tabbar {
width: 100%;
padding:10px 15px 15px;
display: flex;
align-items: center;
justify-content: space-around;
view {
position: relative;
}
.active:after {
content: "";
height: 3px;
width: 100%;
position: absolute;
bottom: -5px;
left: 0;
border-radius: 5px;
background: $maincolor;
}
}
// 线
.charts {
.boxTime {
display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
border-radius: 10px 10px 0 0;
.one {
width: 80%;
display: flex;
line-height: 25px;
justify-content: space-between;
align-items: center;
}
.center {
margin: 0 15px;
}
picker {
width: 100%;
border: none;
text-align: center;
position: relative;
}
.iconfont {
color: #333333;
font-size: 36rpx;
position: absolute;
right: 0px;
top: 0;
}
}
.box {
width: 100%;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
border-radius: 0 0 10px 10px;
justify-content: space-between;
.listC {
background-color: #fff;
.name {
width: 20%;
padding: 0 15px;
font-size: 32rpx;
text-align: center;
border-radius: 5px;
height: 30px;
line-height: 30px;
}
.active2 {
color: #fff;
background: $maincolor;
}
}
.blockC {
clear: both;
width: 100%;
height: 250px;
background-color: #fff;
border-radius: 0 0 10px 10px;
padding-bottom: 15px;
}
}
.gridList {
margin: 0px !important;
width: 100% !important;
.data {
.item {
display: block !important
}
}
}
}
//
.report {
.box {
padding: 10px 10px 0;
background-color: #fff;
border-radius: 10px;
margin-bottom: 10px;
.time {
color: #999;
padding-bottom: 15px;
width: 100%;
}
.item2 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.item2_data {
width: 33%;
.data {
width: 100%;
text-align: center;
border-right: 1PX solid #f7f7f7;
}
text {
font-size: 40rpx !important;
font-weight: bold;
}
}
}
}
.box2 {
height: 50px;
line-height: 50px;
border-radius: 10px;
display: flex;
padding: 0 10px;
justify-content: space-between;
margin-bottom: 10px;
background-color: #fff;
}
.info {
width: 100%;
display: flex;
justify-content: space-between;
.item {
color: #fff;
width: 45%;
height: 50px;
background: $maincolor;
text-align: center;
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
text {
width: 30px;
height: 30px;
border-radius: 50%;
margin-right: 10px;
display: inline-block;
background-color: #fff;
}
}
}
.myinfoPage {
width: 100%;
background: #fff;
margin-top: 10px;
padding-bottom: 15px;
border-radius: 10px;
.box1 {
display: flex;
flex-wrap: wrap;
border-radius: 10px;
font-size: 32rpx;
position: relative;
margin: 0px 15px 0;
padding-bottom: 10px;
.list {
width: 100%;
color: #666;
padding: 0;
line-height: 50px;
image,
.t-icon {
width: 18px !important;
height: 18px;
border: 2px solid #c7c7c7;
background-color: #c7c7c7;
border-radius: 50%;
margin-right: 5px;
}
.block {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
color: #666;
position: relative;
.level,
.val {
width: 25%;
}
.name {
width: 40%;
display: flex;
align-items: center;
}
.icon {
width: 20px;
text-align: right;
display: flex;
image {
width: 20px;
height: 20px;
}
}
}
}
}
}
.desc {
line-height: 20px;
text-align: left;
width: calc(100%-20px);
height: auto;
border-radius: 5px;
font-size:30rpx;
color: #999;
padding: 10px;
background: #f7f7f7;
.statuevue {
height: 35px;
position: relative;
width: 100% !important;
margin: 20px auto 10px;
.bi {
display: flex;
justify-content: space-between;
width: auto;
padding-top: 10px;
.peobox {
position: absolute;
right: 0;
top: -1px;
.xx {
width: 5px;
height: 5px;
border-radius: 50%;
background: #fff;
position: absolute;
z-index: 9;
border: 2px solid #1b2086;
top: 9px;
}
}
}
.item {
position: relative;
margin: 0;
flex: 1;
height: 5px;
color: #666;
font-size:30rpx;
.span1 {
width: 100%;
text-align: center;
position: absolute;
top: -23px;
}
.span {
margin-top: 8px;
position: absolute;
right: -8px;
}
}
}
}
.yuanxing {
display: inline-block;
background: #f19601;
width: 8px;
height: 12px;
margin-right: 5px;
font-size: 36rpx;
}
.btnf {
font-size: 28rpx;
border-radius: 5px;
height: 22px;
margin: 0 10px 0 0;
line-height: 22px;
color: #fff;
font-weight: 400;
width: 44px !important;
text-align: center !important;
float: right;
}
.tivon {
display: flex;
justify-content: center;
align-content: center;
align-items: center;
.bianji {
width: 20px;
height: 20px;
margin-left: 5px;
}
}
.box1 :last-child.list {
.val {
width: 25% !important;
}
}
.kcalClass {
width: 100%;
text-align: center;
font-size: 36rpx;
line-height: 55px;
margin: -20px auto;
}
.yichang {
background: #ffe4be;
color: #ff4239;
padding: 5px;
text-align: center;
border-radius: 5px;
margin: 0 15px 10px;
}
.tips {
font-size:30rpx;
line-height: 20px;
text {
display: inline-block;
width: 100%;
}
}
.jianyi_box {
background-color: #fff;
border-radius: 10px;
padding: 5px 10px 15px;
width: calc(100% -20px);
margin: 10px 0;
}
.jianyi {
display: flex;
margin: 0 -15px;
justify-content: space-between;
view {
display: flex;
flex-wrap: wrap;
align-content: center;
align-items: center;
justify-content: center;
width: 20%;
margin: 5px 2.5% 0;
image {
width: 25px;
height: 25px;
}
text {
width: 100%;
text-align: center;
margin-top: 10px;
font-size:28rpx;
color: #666;
}
}
.active {
border-bottom: 2px solid #f19601;
padding-bottom: 5px;
margin: 17px 2.5% 0;
}
}
.jianyi-con {
margin-top: 15px;
background: #f7f7f7;
padding: 10px;
font-size:28rpx;
line-height: 20px;
border-radius: 10px;
}
.tips2 {
color: #999;
margin-top: 15px;
font-size:30rpx;
display: flex;
align-items: center;
}
/deep/.uni-collapse-item {
width: 100% !important;
}
/deep/.uni-collapse-item__title-arrow {
margin-right: 0 !important;
}
/deep/.uni-collapse-item__wrap-content.uni-collapse-item--border {
border-bottom-width: 0
}
}
</style>

View File

@ -190,7 +190,7 @@
})
setTimeout(function() {
uni.switchTab({
url: "/pages/index/index"
url: "/pages/home/home"
})
}, 500)
} else {

View File

@ -1,13 +1,8 @@
<template>
<view class="content">
<!-- tabbar -->
<!-- <view class="tabbar">
<view>新建模板</view>
<view>卡片排序</view>
</view> -->
<!-- 已添加的卡片 -->
<view class="box">
<view class="tips">长按拖拽可调整卡片位置</view>
<!-- <view class="tips">长按拖拽可调整卡片位置</view> -->
<view class="list">
<view class="item" v-for="(item,index) in cardList.user">
<uni-icons type="minus-filled" size="18" color="#FF6D66" @click="deleteCard(item,index)"
@ -72,7 +67,7 @@
aud_id: that.user.id
})
uni.switchTab({
url: "/pages/index/index"
url: "/pages/home/home"
})
}).catch(err => {})
},

View File

@ -41,7 +41,7 @@
</template>
<script>
import RenCalendar from '@/components/ren-calendar/ren-calendar.vue';
import RenCalendar from '@/element/ren-calendar/ren-calendar.vue';
import {
mapState
} from "vuex";

View File

@ -6,7 +6,7 @@
<view class="title" v-if="isConnection == 2" @click="openBluetoothAdapter">连接失败点击重新连接</view>
<view class="text">{{text}}</view>
<view class="image">
<image src="/static/devices/HC.png" class="image3"></image>
<image src="/static/HC.png" class="image3"></image>
</view>
<view class="tips">
<view>提示</view>
@ -50,6 +50,7 @@
stopblue: true,
isHeight: false,
isConnection: 0,
isdevice: false
}
},
computed: {
@ -73,9 +74,10 @@
console.log("页面返回onUnload")
}
},
onLoad() {
onLoad(options) {
let that = this
that.text = ""
that.isdevice = options.isdevice
that.closeBluetoothAdapter()
that.openBluetoothAdapter()
},
@ -242,8 +244,8 @@
that.Unload = true
setTimeout(function() {
that.closeBluetoothAdapter()
uni.switchTab({
url: "/pages/index/index"
uni.redirectTo({
url: "/pages/body/body?acd_id=2" + '&device=' + that.isdevice
})
}, 200)
})
@ -256,8 +258,8 @@
that.stopBluetoothDevicesDiscovery()
that.closeBluetoothAdapter()
if (ind == 1) {
uni.switchTab({
url: "/pages/index/index"
uni.redirectTo({
url: "/pages/body/body?acd_id=2" + '&device=' + that.isdevice
})
}
},

View File

@ -391,7 +391,7 @@
}, 400)
setTimeout(function() {
uni.redirectTo({
url: "/pages/skip/skip?info=" + JSON.stringify(that.info)
url: "/pages/skiping/skip?info=" + JSON.stringify(that.info)
})
}, 600)
}
@ -400,127 +400,5 @@
</script>
<style lang="scss" scoped>
.content {
width: 100%;
min-height: 100vh;
background-color: #fff;
}
.item-ite {
line-height: 20PX;
margin-bottom: 15px;
}
.title {
height: 50px;
line-height: 50px;
text-align: center;
font-weight: bold;
}
.image {
width: 100%;
text-align: center;
margin-top: 30px;
image {
width: 200px;
height: 252px;
margin: auto;
}
}
.end {
color: #fff;
position: absolute;
bottom: 80px;
width: 70px;
height: 70px;
line-height: 70px;
background: $btncolor;
margin-left: calc(50% - 35px);
border-radius: 50px;
text-align: center;
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
}
.wrapper {
background-color: rgba(0, 0, 0, 0.6);
.edit {
width: 80% !important;
background-color: #fff;
}
.editem {
height: initial;
display: flex;
align-items: center;
flex-direction: column;
view {
width: 100%;
text-align: center;
margin-bottom: 5px;
}
}
.center {
background-color: #eee;
padding: 0 10px;
display: flex;
margin: 45px 0;
font-size: 32rpx;
border-radius: 5px;
height: 65px;
align-items: center;
justify-content: space-between;
image {
width: 35px;
height: 35px;
margin-right: 10px;
margin-top: 15px;
}
.left {
display: flex;
align-content: center;
}
.name {
margin-top: 15px;
}
}
.item {
display: flex;
justify-content: space-between;
.item-ite {
line-height: 20px;
font-size: 28rpx;
color: #999;
text-align: center;
text {
display: block;
width: 100%;
font-size: 36rpx;
color: #333;
text-align: center;
margin-bottom: 10px;
}
}
}
.btn {
margin-top: 25px;
height: 45px;
line-height: 45px;
background: $btncolor;
margin-bottom: 25px;
}
}
@import "./scss/PCT01.scss";
</style>

View File

@ -60,8 +60,8 @@
<view class="item">
<view class="image">
<!-- -->
<image src="../../static/01.gif" mode="widthFix">
</image>
<!-- <image src="../../static/01.gif" mode="widthFix"> -->
<!-- </image> -->
</view>
<view class="center mt-15">
<view class="level"></view>
@ -514,7 +514,7 @@
that.closeBLEConnection()
that.closeBluetoothAdapter()
uni.switchTab({
url: "/pages/index/index"
url: "/pages/home/home"
})
}, 200)
})
@ -529,7 +529,7 @@
that.closeBLEConnection()
if (ind == 1) {
uni.switchTab({
url: "/pages/index/index"
url: "/pages/home/home"
})
}
},
@ -574,6 +574,8 @@
</script>
<style scoped lang="scss">
@import "./scss/PCV02.scss";
.content {
width: calc(100% - 30px);
padding: 0 15px;
@ -581,227 +583,4 @@
color: #5d5651;
background-color: #000;
}
.cgreen {
color: #39D9C9;
}
.tips {
display: flex;
flex-direction: column;
justify-content: space-between;
.top {
width: 100%;
display: flex;
margin-top: 20px;
align-items: flex-start;
.left {
font-size: 64rpx;
margin-right: 10px;
}
.right {
.text {
font-size: 32rpx !important;
}
text {
font-size: 32rpx;
display: block;
width: 100%;
margin-bottom: 5px;
}
}
}
.item {
background-color: #272a2a;
border-radius: 10px;
margin-top: 8px;
color: #fff;
height: 35px;
line-height: 35px;
display: flex;
text {
flex-grow: 0;
display: inline-block;
}
.cgreen {
flex-grow: 2;
font-size: 32rpx;
text-align: center;
}
.level {
color: #516752;
}
}
.title {
font-size: 32rpx;
margin: 20px;
view {
width: 100%;
margin-top: 40px;
text-align: center;
}
}
.data {
margin-top: 20px;
.text {
font-size: 32rpx;
color: #fff;
line-height: 20px;
}
}
.btn {
width: 70%;
color: #fff;
padding: 5px 15px;
border-radius: 15px;
text-align: center;
background: $maincolor;
margin: 15px auto;
position: absolute;
bottom: 80px;
left: calc(15% - 15px);
}
.close {
background: #999;
bottom: 20px;
}
}
.weight {
padding-top: 30px;
.title {
width: 80%;
margin: auto;
font-size: 32rpx;
text-align: center;
}
}
.box1 {
color: #fff;
margin: 50px 15px 15px;
width: calc(100%- 30px);
.time {
width: 60%;
margin: auto;
position: relative;
text-align: center;
border-radius: 10px;
background-color: #272a2a;
height: 30px;
line-height: 30px;
}
.time:after {
content: "";
position: absolute;
left: 45%;
bottom: -7px;
width: 0px;
height: 0px;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 8px solid #272a2a;
}
.item {
width: 100%;
font-size:28rpx;
padding: 10px 0;
border-radius: 15px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
position: relative;
margin-top: 10px;
.image {
width: 80%;
image {
width: 100%;
margin-top: 10px;
}
}
.center {
top: 0px;
bottom: -15px;
position: absolute;
width: 55px;
margin: auto;
text-align: center;
background-color: #333;
border-radius: 10px;
z-index: 9;
}
.level-bg {
position: absolute;
width: 55px;
margin: auto;
text-align: center;
background-color: #4d6c7b;
border-radius: 0 0 10px 10px;
bottom: 0px;
z-index: 19;
}
.level-item {
width: 55px;
height: 100%;
position: absolute;
z-index: 99;
:last-child {
border-bottom: none;
}
}
.ite {
margin: 0 5px;
width: calc(100% - 10px);
height: 40px;
line-height: 40px;
font-size: 32rpx;
color: #fff;
z-index: 99;
border-bottom: 1px solid #999;
}
}
}
.val {
width: 100%;
text-align: center;
margin: 20px 0;
color: #fff;
font-size:28rpx;
text {
display: block;
color: #39D9C9 !important;
font-size: 64rpx;
margin-bottom: 10px;
}
}
</style>

View File

@ -0,0 +1,123 @@
.content {
width: 100%;
min-height: 100vh;
background-color: #fff;
}
.item-ite {
line-height: 20PX;
margin-bottom: 15px;
}
.title {
height: 50px;
line-height: 50px;
text-align: center;
font-weight: bold;
}
.image {
width: 100%;
text-align: center;
margin-top: 30px;
image {
width: 200px;
height: 252px;
margin: auto;
}
}
.end {
color: #fff;
position: absolute;
bottom: 80px;
width: 70px;
height: 70px;
line-height: 70px;
background: $btncolor;
margin-left: calc(50% - 35px);
border-radius: 50px;
text-align: center;
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
}
.wrapper {
background-color: rgba(0, 0, 0, 0.6);
.edit {
width: 80% !important;
background-color: #fff;
}
.editem {
height: initial;
display: flex;
align-items: center;
flex-direction: column;
view {
width: 100%;
text-align: center;
margin-bottom: 5px;
}
}
.center {
background-color: #eee;
padding: 0 10px;
display: flex;
margin: 45px 0;
font-size: 32rpx;
border-radius: 5px;
height: 65px;
align-items: center;
justify-content: space-between;
image {
width: 35px;
height: 35px;
margin-right: 10px;
margin-top: 15px;
}
.left {
display: flex;
align-content: center;
}
.name {
margin-top: 15px;
}
}
.item {
display: flex;
justify-content: space-between;
.item-ite {
line-height: 20px;
font-size: 28rpx;
color: #999;
text-align: center;
text {
display: block;
width: 100%;
font-size: 36rpx;
color: #333;
text-align: center;
margin-bottom: 10px;
}
}
}
.btn {
margin-top: 25px;
height: 45px;
line-height: 45px;
background: $btncolor;
margin-bottom: 25px;
}
}

View File

@ -0,0 +1,222 @@
.cgreen {
color: #39D9C9;
}
.tips {
display: flex;
flex-direction: column;
justify-content: space-between;
.top {
width: 100%;
display: flex;
margin-top: 20px;
align-items: flex-start;
.left {
font-size: 64rpx;
margin-right: 10px;
}
.right {
.text {
font-size: 32rpx !important;
}
text {
font-size: 32rpx;
display: block;
width: 100%;
margin-bottom: 5px;
}
}
}
.item {
background-color: #272a2a;
border-radius: 10px;
margin-top: 8px;
color: #fff;
height: 35px;
line-height: 35px;
display: flex;
text {
flex-grow: 0;
display: inline-block;
}
.cgreen {
flex-grow: 2;
font-size: 32rpx;
text-align: center;
}
.level {
color: #516752;
}
}
.title {
font-size: 32rpx;
margin: 20px;
view {
width: 100%;
margin-top: 40px;
text-align: center;
}
}
.data {
margin-top: 20px;
.text {
font-size: 32rpx;
color: #fff;
line-height: 20px;
}
}
.btn {
width: 70%;
color: #fff;
padding: 5px 15px;
border-radius: 15px;
text-align: center;
background: $maincolor;
margin: 15px auto;
position: absolute;
bottom: 80px;
left: calc(15% - 15px);
}
.close {
background: #999;
bottom: 20px;
}
}
.weight {
padding-top: 30px;
.title {
width: 80%;
margin: auto;
font-size: 32rpx;
text-align: center;
}
}
.box1 {
color: #fff;
margin: 50px 15px 15px;
width: calc(100%- 30px);
.time {
width: 60%;
margin: auto;
position: relative;
text-align: center;
border-radius: 10px;
background-color: #272a2a;
height: 30px;
line-height: 30px;
}
.time:after {
content: "";
position: absolute;
left: 45%;
bottom: -7px;
width: 0px;
height: 0px;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 8px solid #272a2a;
}
.item {
width: 100%;
font-size:28rpx;
padding: 10px 0;
border-radius: 15px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
position: relative;
margin-top: 10px;
.image {
width: 80%;
image {
width: 100%;
margin-top: 10px;
}
}
.center {
top: 0px;
bottom: -15px;
position: absolute;
width: 55px;
margin: auto;
text-align: center;
background-color: #333;
border-radius: 10px;
z-index: 9;
}
.level-bg {
position: absolute;
width: 55px;
margin: auto;
text-align: center;
background-color: #4d6c7b;
border-radius: 0 0 10px 10px;
bottom: 0px;
z-index: 19;
}
.level-item {
width: 55px;
height: 100%;
position: absolute;
z-index: 99;
:last-child {
border-bottom: none;
}
}
.ite {
margin: 0 5px;
width: calc(100% - 10px);
height: 40px;
line-height: 40px;
font-size: 32rpx;
color: #fff;
z-index: 99;
border-bottom: 1px solid #999;
}
}
}
.val {
width: 100%;
text-align: center;
margin: 20px 0;
color: #fff;
font-size:28rpx;
text {
display: block;
color: #39D9C9 !important;
font-size: 64rpx;
margin-bottom: 10px;
}
}

View File

@ -0,0 +1,239 @@
.text {
position: absolute;
top: 0px;
width: 100%;
text-align: center;
height: 50px;
line-height: 50px;
font-size: 36rpx;
color: $textcolor;
font-weight: bold;
}
.tips {
position: absolute;
width: 100%;
bottom: 15px;
line-height: 24px;
view {
font-size: 32rpx;
color: $textcolor;
font-weight: bold;
margin-left: 15px;
}
text {
font-size: 32rpx;
width: 100%;
display: block;
margin-left: 20px;
color: #999;
}
}
.list {
position: absolute;
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
.item {
width: 30%;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
position: absolute;
left: 55%;
top: -10px;
image {
width: 45px;
height: 45px;
border-radius: 50%;
background-color: #fff;
}
text {
display: block;
width: 100%;
font-size: 32rpx;
color: #666;
margin-top: 5px;
text-align: center;
}
}
.item:nth-of-type(2) {
left: calc(55% - 60px);
top: 50px;
}
.item:nth-of-type(3) {
left: calc(50% - 140px);
top: 90px;
}
.item:nth-of-type(4) {
left: calc(61% + 20px);
top: 70px;
}
.item:nth-of-type(5) {
left: 20%;
top: -100px;
}
.item:nth-of-type(6) {
left: calc(20% - 16px);
top: -38px;
}
.item:nth-of-type(7) {
left: 0;
top: 15px;
}
.item:nth-of-type(8) {
left: calc(20% + 75px);
top: -150px;
}
.item:nth-of-type(9) {
left: calc(20% + 96px);
top: -80px;
}
.item:nth-of-type(10) {
left: 37px;
top: -170px;
}
.item:nth-of-type(11) {
left: calc(20% + 75px);
top: 130px;
}
.item:nth-of-type(12) {
left: -10px;
top: -104px;
}
.item:nth-of-type(13) {
left: calc(47% + 75px);
top: -150px;
}
.item:nth-of-type(14) {
left: calc(53% + 75px);
top: -50px;
}
}
.container {
width: 100%;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
}
// 中心园
.container::after {
content: "";
width: 20px;
height: 20px;
border-radius: 50%;
background-color: #fbb780;
position: absolute;
z-index: 9;
}
/* 定义范围*/
.point-area {
text-align: center;
position: relative;
width: 400rpx;
height: 400rpx;
transition: opacity 0.5s ease-out;
}
.point-10,
.point-40,
.point-80,
.point-100,
.point-120 {
width: 100%;
height: 100%;
}
.point-10:after,
.point-40:after,
.point-80:after,
.point-100:after,
.point-120:after {
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border-radius: 50%;
opacity: 0;
border: 1px solid #f7cb6b;
animation-play-state: paused;
-webkit-animation-play-state: paused;
}
.point-10:after {
content: '';
animation: ripple 3000ms linear 0ms infinite;
}
.point-40:after {
content: '';
animation: ripple 3000ms linear 600ms infinite;
}
.point-80:after {
content: '';
animation: ripple 3000ms linear 1200ms infinite;
}
.point-100:after {
content: '';
animation: ripple 3000ms linear 1800ms infinite;
}
.point-120:after {
content: '';
animation: ripple 3000ms linear 2400ms infinite;
}
@keyframes ripple {
0% {
opacity: 0;
transform: scale(0.1);
}
50% {
opacity: 0.8;
transform: scale(1);
}
100% {
opacity: 0.2;
transform: scale(2.2);
}
}

View File

@ -37,7 +37,8 @@
isdevTip: false, //
devicesList: [],
devList: [],
id: 0
id: 0,
isdevice: true
}
},
computed: {
@ -46,6 +47,7 @@
onLoad(options) {
that = this
that.id = options ? options.id : 0
that.isdevice = options.device
that.openBluetoothAdapter()
//
that.$Bluetooth.onBLEConnectionStateChange()
@ -191,7 +193,7 @@
that.$Bluetooth.stopBluetoothDevicesDiscovery()
}
uni.redirectTo({
url: item.page_measure + '?deviceId=' + that.deviceId
url: item.page_measure + '?deviceId=' + that.deviceId + '&isdevice=' + that.isdevice
})
},
}
@ -199,243 +201,5 @@
</script>
<style scoped lang="scss">
.text {
position: absolute;
top: 0px;
width: 100%;
text-align: center;
height: 50px;
line-height: 50px;
font-size: 36rpx;
color: $textcolor;
font-weight: bold;
}
.tips {
position: absolute;
width: 100%;
bottom: 15px;
line-height: 24px;
view {
font-size: 32rpx;
color: $textcolor;
font-weight: bold;
margin-left: 15px;
}
text {
font-size: 32rpx;
width: 100%;
display: block;
margin-left: 20px;
color: #999;
}
}
.list {
position: absolute;
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
.item {
width: 30%;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
position: absolute;
left: 55%;
top: -10px;
image {
width: 45px;
height: 45px;
border-radius: 50%;
background-color: #fff;
}
text {
display: block;
width: 100%;
font-size: 32rpx;
color: #666;
margin-top: 5px;
text-align: center;
}
}
.item:nth-of-type(2) {
left: calc(55% - 60px);
top: 50px;
}
.item:nth-of-type(3) {
left: calc(50% - 140px);
top: 90px;
}
.item:nth-of-type(4) {
left: calc(61% + 20px);
top: 70px;
}
.item:nth-of-type(5) {
left: 20%;
top: -100px;
}
.item:nth-of-type(6) {
left: calc(20% - 16px);
top: -38px;
}
.item:nth-of-type(7) {
left: 0;
top: 15px;
}
.item:nth-of-type(8) {
left: calc(20% + 75px);
top: -150px;
}
.item:nth-of-type(9) {
left: calc(20% + 96px);
top: -80px;
}
.item:nth-of-type(10) {
left: 37px;
top: -170px;
}
.item:nth-of-type(11) {
left: calc(20% + 75px);
top: 130px;
}
.item:nth-of-type(12) {
left: -10px;
top: -104px;
}
.item:nth-of-type(13) {
left: calc(47% + 75px);
top: -150px;
}
.item:nth-of-type(14) {
left: calc(53% + 75px);
top: -50px;
}
}
.container {
width: 100%;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
}
//
.container::after {
content: "";
width: 20px;
height: 20px;
border-radius: 50%;
background-color: #fbb780;
position: absolute;
z-index: 9;
}
/* 定义范围*/
.point-area {
text-align: center;
position: relative;
width: 400rpx;
height: 400rpx;
transition: opacity 0.5s ease-out;
}
.point-10,
.point-40,
.point-80,
.point-100,
.point-120 {
width: 100%;
height: 100%;
}
.point-10:after,
.point-40:after,
.point-80:after,
.point-100:after,
.point-120:after {
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border-radius: 50%;
opacity: 0;
border: 1px solid #f7cb6b;
animation-play-state: paused;
-webkit-animation-play-state: paused;
}
.point-10:after {
content: '';
animation: ripple 3000ms linear 0ms infinite;
}
.point-40:after {
content: '';
animation: ripple 3000ms linear 600ms infinite;
}
.point-80:after {
content: '';
animation: ripple 3000ms linear 1200ms infinite;
}
.point-100:after {
content: '';
animation: ripple 3000ms linear 1800ms infinite;
}
.point-120:after {
content: '';
animation: ripple 3000ms linear 2400ms infinite;
}
@keyframes ripple {
0% {
opacity: 0;
transform: scale(0.1);
}
50% {
opacity: 0.8;
transform: scale(1);
}
100% {
opacity: 0.2;
transform: scale(2.2);
}
}
@import "./scss/search.scss";
</style>

View File

@ -21,7 +21,7 @@
<view class="endtext" v-if="!lastPage || page >= lastPage"> 到底了看看别的吧 </view>
</view>
<view class="nolist" v-if="!lastPage">
<image src="@/static/none.png"></image>
<image src="../../static/none.png"></image>
<text>暂无数据</text>
</view>
</view>

288
pages/home/home.vue Normal file
View File

@ -0,0 +1,288 @@
<template>
<view class="content indexCarList">
<!-- 头部 -->
<headerIndex :isArea="false"></headerIndex>
<!-- 卡片数据 -->
<view class="radius50"></view>
<view class="list">
<view v-for="(item,index) in user.card_data_list">
<!-- 标题 -->
<view class="card box" @click="handlerReport(item)"
:class="[item.acd_id==6?'tiao':item.acd_id==8?'fei':'shen']">
<view class="title border">
<view class="name2">{{item.card_name}}</view>
<view class="time">
{{item.record_time}}
<uni-icons type="right" size="20" v-if="item.inside_data[0].value"></uni-icons>
</view>
</view>
<view class="target item">
<view class="bold size16 c666" v-if="item.acd_id!=2">本次数据</view>
<view class="bold size14" v-else>
<text class="size32">{{item.inside_data[1].value}}</text>
{{item.inside_data[1].unit}}
</view>
<view class="btnGroup" @click.stop>
<view class="blueBtn" v-if="item.acd_id==2"
@click="$Bluetooth.handleDevicesMac(item.device_determine,item.acd_id)">蓝牙连接</view>
<view v-else></view>
<view class="orangeBtn" @click="handlerRecord(item.acd_id)">手动记录</view>
</view>
</view>
<!-- 内容 -->
<view class="item title"
:style="{'justifyContent':item.inside_data.length>2?'space-between':'center'}">
<view v-for="(ite,ind) in item.inside_data" :class="[item.inside_data.length>3?'item2':'']">
<view class="weight "><text>{{ite.value?ite.value:'-'}}</text>{{ite.unit}}</view>
<view class="name mt-5" v-if="item.acd_id!=8">{{ite.name}}</view>
</view>
</view>
</view>
</view>
</view>
<!-- 设置数据卡片 -->
<view class="setcard" @click="handleCard" v-if="userList.length">
设置数据页卡片
</view>
<view class="nolist" v-else @click="handleAddUser" style="margin-top: 150px;">
<image src="../../static/none.png"></image>
<text>请先添加成员</text>
</view>
<!-- 手动 -->
<record :rtype="rtype"></record>
</view>
</template>
<script>
import {
mapState
} from "vuex";
import headerIndex from "@/element/headerIndex.vue"
import record from '@/element/manuallyAdd/record.vue';
export default {
data() {
return {
rtype: 0,
transition: 1.6
}
},
components: {
record,
headerIndex
},
computed: {
...mapState(["user", "familayList"]),
userList() {
return this.familayList
},
},
onLoad(options) {
let that = this
if (options && options.type == 1) {
that.handleUserList()
}
},
onShow() {
let that = this
that.$Bluetooth.stopBluetoothDevicesDiscovery()
uni.hideLoading()
},
onPullDownRefresh() {
let that = this
that.$store.dispatch('getUserInfo', {
aud_id: uni.getStorageSync('userid')
})
setTimeout(() => {
uni.stopPullDownRefresh()
}, 1000);
},
methods: {
//
handlelenver(value) {
let that = this
let number = 0
let length = that.list.length
number = value / (that.list[0].max_val - that.list[length - 1].min_val) * 100
return number.toFixed(0)
},
//
handleUserList() {
let that = this
that.$model.getUserList({
type: 2
}).then(res => {
console.log("用户列表", res, uni.getStorageSync('userid'))
if (res.code != 0) {
that.$tools.msg(res.msg)
return
}
that.$store.commit('changeFamilay', res.data)
if (res.data.length) {
that.$store.dispatch('getUserInfo', {
aud_id: uni.getStorageSync('userid') ? uni.getStorageSync('userid') : res.data[
0].id
})
that.$store.dispatch("getCardList", {
aud_id: uni.getStorageSync('userid') ? uni.getStorageSync('userid') : res.data[
0].id
})
}
}).catch(err => {})
},
//
handleCard() {
uni.navigateTo({
url: "/pages/cardList/card"
})
},
//
handlerReport(item) {
console.log("item", item)
let device = item.device_determine ? 1 : 0
uni.navigateTo({
url: item.page_url_report + "?acd_id=" + item.acd_id + '&device=' + device
})
},
//
handlerRecord(id) {
this.rtype = id
this.$store.commit('changeRecord', true)
},
//
handleAddUser() {
uni.navigateTo({
url: "/pages/my/userInfo"
})
},
navTo(url) {
console.log("url", url)
uni.navigateTo({
url: url
})
}
}
}
</script>
<style lang="scss" scoped>
/deep/.header {
width: 100%;
height: 380rpx;
.top {
color: #fff;
background: $maincolor ;
}
}
.radius50 {
width: 100%;
height: 80px;
margin-top: -100rpx;
border-radius: 40px 40px 0 0;
background-color: #f7f7f7;
}
.list {
margin-top: -260rpx;
padding: 0 10px;
}
.blueBtn {
color: #fff;
padding: 5px !important;
background-color: #2397f1;
}
.orangeBtn {
color: #fff;
padding: 5px !important;
background-color: #fea606;
}
.border {
border-bottom: 1px solid #f7f7f7;
}
.target {
height: 40px;
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
z-index: 99;
.bold {
width: 45%;
text-align: left;
}
.btnGroup {
width: 50%;
display: flex;
justify-content: space-between;
}
}
.item {
position: relative;
z-index: 99;
}
.size32 {
font-size: 80rpx;
}
.card {
position: relative;
overflow: hidden;
}
.tiao {
background-color: #dff3fe !important;
}
.fei {
background-color: #fcf0f0 !important;
}
.card::after {
content: '';
width: 250rpx;
height: 215rpx;
position: absolute;
right: 15px;
z-index: 9;
}
.shen::after{
content: '';
bottom: -50rpx;
background: url("../../static/Fill0.png") no-repeat;
background-size: 100% 100%;
}
.tiao:after {
content: '';
bottom: -50rpx;
background: url("../../static/Fill2.png") no-repeat;
background-size: 100% 100%;
}
.fei:after {
content: '';
bottom: -50rpx;
background: url("../../static/Fill1.png") no-repeat;
background-size: 100% 100%;
}
.content {
min-height: 100vh;
padding-bottom: 15px;
background-color: #f7f7f7;
}
</style>

View File

@ -1,177 +0,0 @@
<template>
<view class="content indexCarList">
<!-- 头部 -->
<headerIndex :isArea="false"></headerIndex>
<!-- 卡片数据 -->
<view class="list">
<view v-for="(item,index) in user.card_data_list">
<!-- 标题 -->
<view class="card box" @click="handlerReport(item)">
<view class="title border-bottom">
<view class="name"><text>{{item.card_name}}</text>{{item.record_time}}</view>
<uni-icons type="right" size="20" v-if="item.inside_data[0].value"></uni-icons>
</view>
<!-- 内容 -->
<view class="item title"
:style="{'justifyContent':item.inside_data.length>2?'space-between':'center'}">
<view v-for="(ite,ind) in item.inside_data" :class="[item.inside_data.length>3?'item2':'']">
<view class="name">{{ite.name}}</view>
<view class="weight mt-5"><text>{{ite.value?ite.value:'-'}}</text>{{ite.unit}}</view>
<view class="standardBtn mt-5" v-if="ite.standard" :style="{'backgroundColor':ite.color}">
{{ite.standard}}
</view>
</view>
</view>
<!-- 手动记录 -->
<view class="target" @click.stop>
<view class="orangeBtn" v-if="item.acd_id==2"
@click="$Bluetooth.handleDevicesMac(item.device_determine,item.acd_id)">蓝牙连接</view>
<view v-else></view>
<view class="blueBtn" @click="handlerRecord(item.acd_id)">手动记录</view>
</view>
</view>
<!-- 小标签 -->
<!-- <view class=" card box small" v-if="ite.size=='small'">
<view class="title border-bottom">
<view class="name"><text>{{ite.name}}</text>{{ite.time}}</view>
<icon class="iconfont icon-arrow-right-bold size20"></icon>
</view>
<view class="item title">
<view>
<text>本次数据</text>
<view class="weight"><text>{{ite.cnt?ite.cnt:'-'}}</text>{{ite.unit}}</view>
<view class="standardBtn" :style="{'backgroundColor':ite.standardcolor}"
v-if="ite.standardtext">
{{ite.standardtext}}
</view>
</view>
</view>
<view class="target">
<view class="left">
<icon class="iconfont icon-notification"></icon>
教程
</view>
<view class="targetBtn">手动记录</view>
</view>
</view> -->
</view>
</view>
<!-- 设置数据卡片 -->
<view class="setcard" @click="handleCard">
设置数据页卡片
</view>
<!-- 手动 -->
<record :rtype="rtype"></record>
</view>
</template>
<script>
import {
mapState
} from "vuex";
import headerIndex from "@/components/headerIndex.vue"
import record from '@/components/manuallyAdd/record.vue';
export default {
data() {
return {
rtype: 0,
transition: 1.6
}
},
components: {
record,
headerIndex
},
computed: {
...mapState(["user", "familayList"]),
},
onLoad(options) {
let that = this
if (options && options.type == 1) {
that.handleUserList()
}
},
onShow() {
let that = this
that.$Bluetooth.stopBluetoothDevicesDiscovery()
uni.hideLoading()
},
onPullDownRefresh() {
let that = this
that.$store.dispatch('getUserInfo', {
aud_id: uni.getStorageSync('userid')
})
setTimeout(() => {
uni.stopPullDownRefresh()
}, 1000);
},
methods: {
//
handlelenver(value) {
let that = this
let number = 0
let length = that.list.length
number = value / (that.list[0].max_val - that.list[length - 1].min_val) * 100
return number.toFixed(0)
},
//
handleUserList() {
let that = this
that.$model.getUserList({
type: 2
}).then(res => {
console.log("用户列表", res, uni.getStorageSync('userid'))
if (res.code != 0) {
that.$tools.msg(res.msg)
return
}
that.$store.commit('changeFamilay', res.data)
if (res.data.length) {
that.$store.dispatch('getUserInfo', {
aud_id: uni.getStorageSync('userid') ? uni.getStorageSync('userid') : res.data[
0].id
})
that.$store.dispatch("getCardList", {
aud_id: uni.getStorageSync('userid') ? uni.getStorageSync('userid') : res.data[
0].id
})
}
}).catch(err => {})
},
//
handleCard() {
uni.navigateTo({
url: "/pages/card/card"
})
},
//
handlerReport(item) {
console.log("item", item)
let device = item.device_determine ? 1 : 0
uni.navigateTo({
url: item.page_url_report + "?acd_id=" + item.acd_id + '&device=' + device
})
},
//
handlerRecord(id) {
this.rtype = id
this.$store.commit('changeRecord', true)
},
navTo(url) {
console.log("url", url)
uni.navigateTo({
url: url
})
}
}
}
</script>
<style lang="scss" scoped>
.content {
min-height: 100vh;
padding-bottom: 15px;
background-color: #f7f7f7;
}
</style>

View File

@ -116,7 +116,7 @@
that.$tools.msg("设置成功,进入程序中")
setTimeout(function() {
uni.switchTab({
url: "/pages/index/index?type=1"
url: "/pages/home/home?type=1"
})
}, 1000)
}).catch(err => {})
@ -154,11 +154,7 @@
}, 60000)
}).catch(err => {})
},
handlexieyi() {
uni.navigateTo({
url: "/pages/index/index"
})
}
handlexieyi() {}
}
}
</script>

View File

@ -2,11 +2,11 @@
<view class="content">
<view class="bg"></view>
<view class="top">
<image src="../../static/logo.png"></image>
<text>青测</text>
<image src="../../static/logo2.png"></image>
<text>锐动</text>
</view>
<view class="login box_shadow">
<view class="title">{{$t("login.title")}}</view>
<view class="title">登录</view>
<view class="toggle cblue" @click="handleToggle">
切换登录
</view>
@ -14,12 +14,12 @@
<view class="item">
<view class="text">手机号/邮箱</view>
<view class="input">
<input v-model="phone" placeholder="" />
<input v-model="phone" />
</view>
</view>
<!-- 验证码登录 -->
<view class="item " v-if="isCode">
<view class="text">{{$t("login.code")}}</view>
<view class="text">验证码</view>
<view class="input yanzhengma">
<input class="uni-input" v-model="code" />
<button class="code" type="none" @click="handleCode" v-model="code"
@ -44,9 +44,9 @@
</label>
</checkbox-group>
</view> -->
<view class="btnlogin" @click="handleTelLogin">{{$t("login.btn")}}</view>
<view class="btnlogin" @click="handleTelLogin">登录</view>
<view class="btngroup" @click="handlePassword('register')">
<text>{{$t("login.register")}}</text>
<text>注册</text>
</view>
</view>
@ -87,7 +87,7 @@
return
}
if (that.isCode && !that.code) {
that.$tools.msg(that.$t("login.codeTips"))
that.$tools.msg("请输入验证码")
return
}
if (!that.isCode && !that.password) {
@ -109,7 +109,7 @@
uni.setStorageSync('aan_id', res.data.aan_id)
setTimeout(function() {
uni.reLaunch({
url: "/pages/index/index?type=1"
url: "/pages/home/home?type=1"
})
}, 1000)
}).catch(err => {})
@ -158,7 +158,7 @@
},
handlexieyi() {
uni.navigateTo({
url: "/pages/index/index"
url: "/pages/home/home"
})
}
}
@ -166,180 +166,10 @@
</script>
<style scoped lang="scss">
@import "@/scss/login.scss";
.content {
width: 100%;
height: 100vh;
// display: flex;
// flex-direction: column;
// align-items: center;
// justify-content: center;
}
.bg {
position: absolute;
top: 0;
width: 100%;
height: 50vh;
z-index: 9;
background: $maincolor;
}
.top {
width: 100%;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
position: relative;
top: 70px;
z-index: 99;
margin-bottom: 15px;
image {
width: 70px;
height: 70px;
margin: auto;
margin-bottom: 10px;
border-radius: 50%;
}
text {
display: block;
width: 100%;
text-align: center;
}
}
.login {
width: 86%;
height: auto;
background: #fff;
border-radius: 10px;
padding: 10px 0;
background-color: #fff;
z-index: 99;
position: absolute;
left: 7%;
top: 28%;
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
.title {
text-align: left;
color: #333;
font-size: 40rpx;
font-weight: bold;
margin-bottom: 15px;
margin-left: 15px;
}
.toggle {
position: absolute;
right: 15px;
top: 20px;
}
.editem {
position: relative;
display: flex;
align-items: center;
font-size: 32rpx;
margin: 0 15px;
justify-content: space-between;
flex-wrap: wrap;
.item {
width: 100%;
margin-bottom: 15px;
.text {
font-size: 32rpx;
margin-bottom: 10px;
}
.input {
height: 35px;
line-height: 35px;
display: flex;
position: relative;
border: #dfdfdf 1px solid;
padding: 0 10px;
border-radius: 5px;
}
input {
height: 40px;
line-height: 40px;
position: absolute;
left: 10px;
right: 0px;
z-index: 88;
font-size: 32rpx;
}
.yanzhengma {
input {
right: 120px;
font-size: 32rpx;
}
}
}
.code {
width: 110px;
background: #dfdfdf;
font-size: 32rpx;
margin: 0;
line-height: 40px;
border-radius: 5px;
text-align: center;
position: absolute;
right: 0px;
top: 0px;
bottom: 0;
z-index: 99;
}
.forget {
width: 80px;
background: #fff;
color: $textcolor;
}
}
.btngroup {
height: 35px;
line-height: 35px;
display: flex;
margin: 0 15px;
justify-content: center;
text {
display: block;
color: $textcolor;
}
}
.btnlogin {
width: calc(100% - 30px);
margin: 15px;
height: 42px;
line-height: 42px;
background: $btncolor;
font-weight: 700;
border-radius: 15px;
text-align: center;
color: #fff !important;
}
}
.xieyi {
font-size: 32rpx;
color: $textcolor;
margin-left: 10px;
text {
border-bottom: 1px solid $textcolor;
}
}
</style>

View File

@ -23,7 +23,7 @@
</view>
<view class="line" v-else>
<view class="nolist">
<image src="@/static/none.png"></image>
<image src="../../static/none.png"></image>
<text>暂无数据请手动添加~</text>
</view>
</view>

View File

@ -21,7 +21,8 @@
<view class="level"></view>
<view class="level level-bg" :style="{'top':info?Number(100 - info.offset)+'%':'100%'}"></view>
<view class="level-item" v-if="info">
<view class="ite" v-for="(ite,ind) in info.list">{{ite.text}}</view>
<view class="ite" v-for="(ite,ind) in info.list" :style="{'height':100/info.list.length+'%'}">
{{ite.text}}</view>
</view>
</view>
</view>
@ -33,7 +34,7 @@
<!-- -->
<view class="gridList">
<view class="data">
<view class="item" @click="navTo('/pages/vitalcapacity/charts')">
<view class="item" @click="navTo('/pages/lunging/charts')">
<view class="image">
<image src="../../static/charts.png"></image>
</view>
@ -68,7 +69,7 @@
import {
mapState
} from "vuex";
import record from '@/components/manuallyAdd/record.vue';
import record from '@/element/manuallyAdd/record.vue';
export default {
data() {
return {
@ -125,168 +126,5 @@
</script>
<style lang="scss" scoped>
.content {
width: 100%;
padding-top: 10px;
min-height: 100vh;
background-color: #000;
}
.box1 {
color: #fff;
margin: 15px;
width: calc(100%- 30px);
.time {
width: 100%;
font-size:32rpx;
margin-bottom: 20px;
}
.LiuS {
width: 60%;
margin: auto;
position: relative;
text-align: center;
border-radius: 10px;
background-color: #272a2a;
height: 30px;
line-height: 30px;
}
.LiuS:after {
content: "";
position: absolute;
left: 45%;
bottom: -7px;
width: 0px;
height: 0px;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 8px solid #272a2a;
}
.item {
width: 100%;
font-size: 28rpx;
padding: 10px 0;
border-radius: 15px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
position: relative;
.image {
width: 80%;
image {
margin-top: 10px;
width: 100%;
}
}
.center {
top: 0px;
bottom: -0px;
position: absolute;
width: 55px;
margin: auto;
text-align: center;
background-color: #333;
border-radius: 10px;
z-index: 9;
}
.level-bg {
position: absolute;
width: 55px;
margin: auto;
text-align: center;
background-color: #4d6c7b;
border-radius: 0 0 10px 10px;
bottom: 0px;
z-index: 19;
}
.level-item {
width: 55px;
height: 100%;
position: absolute;
z-index: 99;
:last-child {
border-bottom: none;
}
}
.ite {
margin: 0 5px;
width: calc(100% - 10px);
height: 40px;
line-height: 40px;
font-size: 32rpx;
color: #fff;
z-index: 99;
border-bottom: 1px solid #999;
}
}
.val {
width: 100%;
text-align: center;
margin: 20px 0;
color: #fff;
font-size: 32rpx;
text {
display: block;
color: #39D9C9 !important;
font-size: 64rpx;
margin-bottom: 10px;
}
}
}
.box {
padding: 0;
display: flex;
flex-wrap: wrap;
border-radius: 10px;
margin: 15px;
width: calc(100%- 30px);
justify-content: space-between;
.data {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
width: 100%;
}
.item {
width: 47.5%;
font-size:28rpx;
background: #fff;
padding: 10px 0;
border-radius: 15px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
}
.val {
width: 40px;
height: 40px;
border-radius: 50%;
image {
width: 70%;
height: 70%;
}
}
}
@import "@/scss/lunging.scss";
</style>

125
pages/message/list.vue Normal file
View File

@ -0,0 +1,125 @@
<template>
<view class="content ">
<view v-if="list.length" class="tipsList">
<view class="list" v-for="(ite,ind) in list" :key="ind" @click="handleDetail">
<icon class="iconfont icon-tixing-copy"></icon>
<view class="info">
<view class="time">
<text class="name">{{ite.title}}</text>
<text class="date">{{ite.time}}</text>
</view>
<text class="des">{{ite.content}}</text>
</view>
</view>
<view class="endtext" v-if="!lastPage || page >= lastPage"> 到底了看看别的吧 </view>
</view>
<view class="nolist" v-if="!lastPage">
<image src="../../static/none.png"></image>
<text>暂无数据</text>
</view>
</view>
</template>
<script>
export default {
data() {
return {
list: [{
title: "驱虫",
type: 1,
time: "2023/05/15",
des: "哈哈哈哈或或或或",
static: 1
}],
page: 1,
lastPage: 0,
}
},
onLoad() {
let that = this
that.page = 1
},
onReachBottom() {
let that = this
if (!this.lastPage || this.page >= this.lastPage) {
uni.showToast({
title: '没有更多数据!',
icon: 'none'
})
return
}
this.page++
},
methods: {
getList(page) {
let that = this
that.$model.getHistoryList({
pageNo: this.page,
pageSize: 10,
}).then((res) => {
if (res.code != 0) return
this.list = this.list.concat(res.data.rows)
this.lastPage = res.data.totalpage
})
},
handleDetail() {}
}
}
</script>
<style lang="scss" scoped>
.content {
padding: 0 15px;
min-height: 100vh;
background-color: #f7f7f7;
}
.list {
margin-top: 15px;
background-color: #fff !important;
icon {
background-color: #f7f7f7;
border: 8px solid #f7f7f7;
position: relative;
}
icon::after {
content: "";
width: 10px;
height: 10px;
border-radius: 50%;
background-color: red;
position: absolute;
top: 0px;
right: 0px;
}
.time {
display: inline-block;
font-weight: bold;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.name {
color: #333;
width: 60%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-top: 0;
}
.date {
font-weight: 500;
font-size: 12px;
width: auto;
margin-top: 0;
float: right;
}
}
}
</style>

View File

@ -3,7 +3,7 @@
<view class="info">
<view class="logo">
<image src="../../static/logo2.png"></image>
<view>青测</view>
<view>锐动</view>
<text>V{{phoneInfo.info.version}}</text>
</view>
<view class="list">

View File

@ -119,13 +119,13 @@
editorInfo(item) {
console.log("familayList", this.familayList)
uni.navigateTo({
url: "/pages/me/userInfo?info=" + JSON.stringify(item)
url: "/pages/my/userInfo?info=" + JSON.stringify(item)
})
},
//
handleAddUser() {
uni.navigateTo({
url: "/pages/me/userInfo"
url: "/pages/my/userInfo"
})
},
}

View File

@ -10,7 +10,7 @@
</view>
<!-- -->
<view class="wxlist borderRadius">
<view class="list" @click="navTo('/pages/me/manage')">
<view class="list" @click="navTo('/pages/my/manage')">
<view class="item border-bottom">
<view class="left">
<view class="name">成员管理</view>
@ -20,10 +20,10 @@
</view>
</view>
</view>
<!-- <view class="list" @click="navTo('/pages/card/card')">
<!-- <view class="list">
<view class="item border-bottom">
<view class="left">
<view class="name">卡片管理</view>
<view class="name">设备管理</view>
</view>
<view class="right">
<uni-icons type="right"></uni-icons>
@ -40,7 +40,17 @@
</view>
</view>
</view>
<view class="list" @click="navTo('/pages/me/about')">
<!-- <view class="list">
<view class="item border-bottom">
<view class="left">
<view class="name">意见反馈</view>
</view>
<view class="right">
<uni-icons type="right"></uni-icons>
</view>
</view>
</view> -->
<view class="list" @click="navTo('/pages/my/about')">
<view class="item border-bottom">
<view class="left">
<view class="name">关于我们</view>
@ -69,7 +79,7 @@
import {
mapState
} from "vuex";
import headerIndex from "@/components/headerIndex.vue"
import headerIndex from "@/element/headerIndex.vue"
export default {
data() {
return {

View File

@ -189,7 +189,7 @@
aud_id: id
})
uni.redirectTo({
url: "/pages/card/card"
url: "/pages/cardList/card"
})
} else {
uni.navigateBack({

View File

@ -0,0 +1,100 @@
<template>
<view class="content addText">
<view class="item">
<!-- <view class="name">
<view class="text">记录宠物</view>
<picker mode="selector" :range="petList" range-key="name" @change="handleList">
<view class="uni-input">{{petList[index].name?petList[index].name:'请选择宠物'}}
<icon class="iconfont icon-shouqi-xi"></icon>
</view>
</picker>
</view> -->
<view class="name">
<view class="text">记录时间</view>
<view class="example-body">
<uni-datetime-picker type="datetime" v-model="recordTime" @change="changeLog" :border="false"
:clear-icon='false' :hide-second='true' />
</view>
</view>
</view>
<view class="item">
<view class="ji">小记</view>
<textarea v-model="content" placeholder="说点什么吧" name="content" maxlength="200" />
<view class="length">{{content.length}}/200</view>
</view>
<view class="btn" @click="handleCloseClick">保存</view>
</view>
</template>
<script>
import {
mapState
} from "vuex";
export default {
data() {
return {
index: -1,
petId: "",
content: '',
recordTime: ""
}
},
computed: {
...mapState(["petInfo", "petList"]),
start() {
return this.$tools.getTime()
},
},
mounted() {
this.recordTime = this.$tools.getTime()
},
methods: {
//
handleList(e) {
this.index = e.target.value
this.petId = this.petList[e.target.value].id
},
//
changeLog(e) {
this.recordTime = e
},
//
handleCloseClick() {
let that = this
// if (!that.petId) {
// that.$tools.msg("")
// return
// }
if (!that.recordTime) {
that.$tools.msg("请选择记录时间")
return
}
that.$model.getNotepadSubmit({
petId: uni.getStorageSync('petid'),
content: that.content,
recordTime: that.recordTime,
}).then((res) => {
if (res.code != 0) false
that.$tools.msg("记录成功!")
uni.redirectTo({
url: "/pages/notepad/notepad"
})
})
},
}
}
</script>
<style lang="scss" scoped>
.btn {
margin-top: 25px;
}
/deep/.example-body {
picker {
text-align: center !important;
}
}
</style>

143
pages/notepad/notepad.vue Normal file
View File

@ -0,0 +1,143 @@
<template>
<view class="content">
<view class="add" @click="handleAdd" v-if="token">+新增记事</view>
<view v-if="list.length" class="tipsList">
<view class="tips" v-for="(ite,ind) in list" :key="ind">
<view class="title">{{ite.recordtime}}</view>
<uni-swipe-action>
<uni-swipe-action-item :right-options="ite.options" @click="handledetail($event, ind)">
<view class="list">
<icon class="t-icon t-icon-a-ziyuan265"></icon>
<view class="info">
<view class="time">{{petInfo.name}}</view>
<text>记事内容</text>
<text>{{ite.content}}</text>
</view>
</view>
</uni-swipe-action-item>
</uni-swipe-action>
</view>
<view class="endtext" v-if="!lastPage || page >= lastPage"> 到底了看看别的吧 </view>
</view>
<view class="nolist mt-15" v-if="!lastPage">
<image src="../../static/none.png"></image>
<text>暂无数据</text>
</view>
</view>
</template>
<script>
import {
mapState
} from "vuex";
export default {
data() {
return {
token: "",
list: [],
page: 1,
lastPage: 0,
}
},
computed: {
...mapState(["petList", "petInfo"]),
},
onShow() {
let that = this
that.page = 1
that.list = []
that.token = uni.getStorageSync("token")
},
onReachBottom() {
let that = this
if (!this.lastPage || this.page >= this.lastPage) {
uni.showToast({
title: '没有更多数据!',
icon: 'none'
})
return
}
this.page++
},
methods: {
getList(page) {
let that = this
that.$model.getNotepadList({
pageNo: this.page,
pageSize: 10,
petid: uni.getStorageSync('petid'),
}).then((res) => {
if (res.code != 0) return
this.list = this.list.concat(res.data.rows)
this.lastPage = res.data.totalpage
})
},
handledetail(e, index) {
let that = this
if (e.content.text === "删除") {
let id = that.list[index].id
uni.showModal({
title: '友情提示',
content: '确定删除该条记录吗?',
success: function(res) {
if (res.confirm) {
that.$model.getNotepadDelete({
id: id
}).then(res => {
if (res.code != 0) return
that.list.splice(index, 1)
that.$tools.msg("删除成功!");
})
} else if (res.cancel) {
that.$tools.msg("您已取消删除!");
}
}
});
return
}
},
handleAdd() {
uni.navigateTo({
url: "/pages/notepad/addNotepad"
})
},
}
}
</script>
<style lang="scss" scoped>
.add {
width: 100%;
text-align: center;
background: #fff;
height: 45px;
line-height: 45px;
border-radius: 5px;
font-weight: bold;
font-size: 16px;
}
.content {
padding: 15px
}
.info {
// height: 50px;
}
text {
margin-top: 3px !important;
width: auto !important;
font-size: 13px;
}
.nolist {
text {
margin: -15px auto 15px !important;
width: 100% !important;
}
}
</style>

View File

@ -22,14 +22,14 @@
<view class="endtext" v-if="!lastPage || page >= lastPage"> 到底了看看别的吧 </view>
</view>
<view class="nolist" v-if="!lastPage">
<image src="@/static/none.png"></image>
<image src="../../static/none.png"></image>
<text>暂无数据</text>
</view>
</view>
</template>
<script>
import headerIndex from "@/components/headerIndex.vue";
import headerIndex from "@/element/headerIndex.vue";
import {
mapState
} from "vuex";

View File

@ -79,122 +79,11 @@
</script>
<style scoped lang="scss">
@import "@/scss/report.scss";
.content {
min-height: 100vh;
padding-top: 15px;
padding-bottom: 15px;
background-color: #f7f7f7;
}
.box {
margin: 15px 10px 0;
padding: 15px 10px 10px;
background-color: #fff;
width: calc(100% - 40px);
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
border-radius: 10px;
.charts {
width: 100%;
height: 260upx;
margin: 10px 0;
position: relative;
display: flex;
align-items: center;
justify-content: center;
.name {
position: absolute;
width: 100%;
text-align: center;
font-size: 56rpx;
margin: auto;
color: #4687F9;
}
}
.title {
width: 100%;
text-align: center;
}
.time {
width: 100%;
}
}
.indexCarList {
width: calc(100% - 40px);
margin: 10px;
padding: 5px 10px;
background-color: #fff;
border-radius: 10px;
.title {
color: #000;
background-color: #f5f5f5 !important;
border-bottom: 1px solid #d9d9d9;
padding-left: 10px;
border-radius: 5px;
height: 35px;
display: flex;
font-weight: bold;
align-items: center;
width: calc(100% - 10px);
font-size: 32upx;
.name {
font-weight: bold;
margin-top: 3px;
}
.right {
width: 30%;
color: $textcolor;
font-size: 32rpx;
text-align: right;
margin-top: 5px;
margin-right: 10px;
}
}
.item3 {
display: flex;
background: #fff;
padding: 0 10px;
height: 50px;
font-size: 32upx;
border-bottom: 1px solid #f7f7f7;
.name {
width: 40%;
line-height: 50px;
}
.weight {
width: 60%;
display: flex;
align-items: center;
position: relative;
justify-content: space-between;
view {
width: 30%;
text-align: center;
}
.input {
width: 40%;
}
}
}
.item3:nth-child(1) {
font-weight: bold;
}
}
</style>

View File

@ -100,8 +100,8 @@
</template>
<script>
import uslider from "@/components/slider-fraction.vue";
import headerIndex from "@/components/headerIndex.vue";
import uslider from "@/element/slider-fraction.vue";
import headerIndex from "@/element/headerIndex.vue";
import qiunDataCharts from '@/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue';
import {
mapState
@ -358,232 +358,10 @@
</script>
<style scoped lang="scss">
@import "@/scss/score.scss";
.content {
min-height: 100vh;
padding-bottom: 15px;
background-color: #f7f7f7;
}
.box {
margin: 15px 10px 0;
padding: 15px 10px 10px;
background-color: #fff;
width: calc(100% - 40px);
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
border-radius: 10px;
position: relative;
min-height: 30px;
.groupBtn {
width: 100%;
}
.history {
position: absolute;
top: 0px;
right: 10px;
height: 35px;
line-height: 35px;
float: right;
margin-top: 15px;
font-size: 28rpx;
padding: 0 10px;
background: $maincolor !important;
}
.charts {
width: 100%;
height: 260upx;
margin: 10px 0;
position: relative;
display: flex;
align-items: center;
justify-content: center;
.name {
position: absolute;
width: 100%;
text-align: center;
font-size: 56rpx;
margin: auto;
color: #4687F9;
}
}
}
.wrapper {
font-size: 28upx;
.choice {
color: $textcolor;
font-weight: 500;
padding-left: 15px;
display: inline-block;
}
.edit {
background-color: #fff;
}
.item {
width: 100%;
height: 45px;
line-height: 45px;
display: flex;
border-bottom: 1px solid #f7f7f7;
}
.btn {
width: 40%;
float: right;
margin-top: 15px;
background: $maincolor !important;
}
.edit {
top: 20%
}
.close {
background: #dfdfdf !important;
float: left;
color: #333;
}
}
.indexCarList {
width: calc(100% - 40px);
margin: 10px;
padding: 10px;
background-color: #fff;
border-radius: 10px;
.title {
color: #000;
background-color: #f5f5f5 !important;
border-bottom: 1px solid #d9d9d9;
padding-left: 10px;
border-radius: 5px;
height: 35px;
display: flex;
align-items: center;
width: calc(100% - 10px);
.name {
font-size: 32upx;
font-weight: bold;
margin-top: 3px;
}
.right {
width: 30%;
color: $textcolor;
font-size: 32rpx;
text-align: right;
margin-top: 5px;
margin-right: 10px;
}
}
.item3 {
display: flex;
background: #fff;
padding: 0 10px;
height: 50px;
font-size: 32upx;
border-bottom: 1px solid #f7f7f7;
.name {
width: 45%;
line-height: 50px;
}
.weight {
width: 55%;
display: flex;
align-items: center;
position: relative;
justify-content: space-between;
text {
color: #666;
position: absolute;
right: 0;
bottom: 15px;
}
.input {
width: 70%;
display: flex;
align-items: center;
position: relative;
justify-content: space-between;
.uni-icons {
position: absolute;
right: 10px;
bottom: 10px;
}
/deep/input,
/deep/picker {
width: 100%;
font-size: 32upx;
height: 35px;
line-height: 33px;
text-align: center;
border: 1px solid #dfdfdf;
border-radius: 5px;
background-color: #f7f7f7;
}
/deep/picker {
position: relative;
.down {
position: absolute;
right: 10px;
top: 1px;
}
}
}
}
.iconfont {
color: $btncolor;
}
}
}
.result {
width: 100%;
.weight {
view {
width: 30% !important;
text-align: center;
}
}
}
.gfbtn {
width: calc(100% - 40px);
margin-top: 20px;
margin-left: 20px;
color: #fff;
padding: 8px 0;
border-radius: 10px;
text-align: center;
background: $maincolor;
}
</style>

View File

@ -23,7 +23,7 @@
</view>
<view class="line" v-else>
<view class="nolist">
<image src="@/static/none.png"></image>
<image src="../../static/none.png"></image>
<text>暂无数据请手动添加~</text>
</view>
</view>

View File

@ -83,27 +83,27 @@
<!-- -->
<view class="gridList">
<view class="data">
<view class="item" @click="navTo('/pages/skip/charts')">
<view class="item" @click="navTo('/pages/skiping/charts')">
<view class="image">
<image src="../../static/charts.png"></image>
<image src="@/static/charts.png"></image>
</view>
<view class="name">运动曲线</view>
</view>
<view class="item" @click="navTo('/pages/history/history?acd_id='+acd_id)">
<view class="image">
<image src="../../static/add.png"></image>
<image src="@/static/add.png"></image>
</view>
<view class="name">历史记录</view>
</view>
<view class="item" @click="navTo('/pages/compk/contrast?acd_id='+acd_id)">
<view class="image">
<image src="../../static/pk.png"></image>
<image src="@/static/pk.png"></image>
</view>
<view class="name">数据对比</view>
</view>
<view class="item" @click="$store.commit('changeRecord',true)">
<view class="image">
<image src="../../static/history.png"></image>
<image src="@/static/history.png"></image>
</view>
<view class="name">添加记录</view>
</view>
@ -119,7 +119,7 @@
import {
mapState
} from "vuex";
import record from '@/components/manuallyAdd/record.vue';
import record from '@/element/manuallyAdd/record.vue';
export default {
data() {
return {
@ -212,7 +212,7 @@
that.$store.commit("changeConnected", false);
setTimeout(() => {
uni.switchTab({
url: '/pages/index/index'
url: '/pages/home/home'
})
}, 300)
console.log("返回首页")
@ -569,6 +569,10 @@
background-color: #F5F6FA;
}
.skiptop {
margin-top: 15px;
}
.tabbar {
width: 100%;
margin-top: 20px;

487
scss/body.scss Normal file
View File

@ -0,0 +1,487 @@
.tabbar {
width: 100%;
padding:10px 15px 15px;
display: flex;
align-items: center;
justify-content: space-around;
view {
position: relative;
}
.active:after {
content: "";
height: 3px;
width: 100%;
position: absolute;
bottom: -5px;
left: 0;
border-radius: 5px;
background: $maincolor;
}
}
// 曲线
.charts {
.boxTime {
display: flex;
justify-content: center;
align-items: center;
background-color: #fff;
border-radius: 10px 10px 0 0;
.one {
width: 80%;
display: flex;
line-height: 25px;
justify-content: space-between;
align-items: center;
}
.center {
margin: 0 15px;
}
picker {
width: 100%;
border: none;
text-align: center;
position: relative;
}
.iconfont {
color: #333333;
font-size: 36rpx;
position: absolute;
right: 0px;
top: 0;
}
}
.box {
width: 100%;
padding: 0;
margin: 0;
display: flex;
flex-wrap: wrap;
border-radius: 0 0 10px 10px;
justify-content: space-between;
.listC {
background-color: #fff;
.name {
width: 20%;
padding: 0 15px;
font-size: 32rpx;
text-align: center;
border-radius: 5px;
height: 30px;
line-height: 30px;
}
.active2 {
color: #fff;
background: $maincolor;
}
}
.blockC {
clear: both;
width: 100%;
height: 250px;
background-color: #fff;
border-radius: 0 0 10px 10px;
padding-bottom: 15px;
}
}
.gridList {
margin: 0px !important;
width: 100% !important;
.info {
width: 100%;
display: flex;
justify-content: space-between;
.item {
color: #fff;
width: 48%;
height: 120upx;
background: $maincolor;
text-align: center;
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
text {
width: 70upx;
height: 70upx;
border-radius: 50%;
margin-right: 10px;
display: inline-block;
background-color: #fff;
}
}
}
.data {
.item {
display: block !important
}
}
}
}
// 报告
.report {
.box {
padding: 10px 10px 0;
background-color: #fff;
border-radius: 10px;
margin-bottom: 10px;
.time {
color: #999;
padding-bottom: 15px;
width: 100%;
}
.item2 {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.item2_data {
width: 33%;
.data {
width: 100%;
text-align: center;
border-right: 1PX solid #f7f7f7;
}
text {
font-size: 40rpx !important;
font-weight: bold;
}
}
}
}
.box2 {
height: 50px;
line-height: 50px;
border-radius: 10px;
display: flex;
padding: 0 10px;
justify-content: space-between;
margin-bottom: 10px;
background-color: #fff;
}
.info {
width: 100%;
display: flex;
justify-content: space-between;
.item {
color: #fff;
width: 48%;
height: 120upx;
background: $maincolor;
text-align: center;
border-radius: 10px;
display: flex;
justify-content: center;
align-items: center;
text {
width: 70upx;
height: 70upx;
border-radius: 50%;
margin-right: 10px;
display: inline-block;
background-color: #fff;
}
}
}
.myinfoPage {
width: 100%;
background: #fff;
margin-top: 10px;
padding-bottom: 15px;
border-radius: 10px;
.box1 {
display: flex;
flex-wrap: wrap;
border-radius: 10px;
font-size: 32rpx;
position: relative;
margin: 0px 15px 0;
padding-bottom: 10px;
.list {
width: 100%;
color: #666;
padding: 0;
line-height: 50px;
image,
.t-icon {
width: 18px !important;
height: 18px;
border: 2px solid #c7c7c7;
background-color: #c7c7c7;
border-radius: 50%;
margin-right: 5px;
}
.block {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
color: #666;
position: relative;
.level,
.val {
width: 25%;
}
.name {
width: 40%;
display: flex;
align-items: center;
}
.icon {
width: 20px;
text-align: right;
display: flex;
image {
width: 20px;
height: 20px;
}
}
}
}
}
}
.desc {
line-height: 20px;
text-align: left;
width: calc(100%-20px);
height: auto;
border-radius: 5px;
font-size:30rpx;
color: #999;
padding: 10px;
background: #f7f7f7;
.statuevue {
height: 35px;
position: relative;
width: 100% !important;
margin: 20px auto 10px;
.bi {
display: flex;
justify-content: space-between;
width: auto;
padding-top: 10px;
.peobox {
position: absolute;
right: 0;
top: -1px;
.xx {
width: 5px;
height: 5px;
border-radius: 50%;
background: #fff;
position: absolute;
z-index: 9;
border: 2px solid #1b2086;
top: 9px;
}
}
}
.item {
position: relative;
margin: 0;
flex: 1;
height: 5px;
color: #666;
font-size:30rpx;
.span1 {
width: 100%;
text-align: center;
position: absolute;
top: -23px;
}
.span {
margin-top: 8px;
position: absolute;
right: -8px;
}
}
}
}
.yuanxing {
display: inline-block;
background: #f19601;
width: 8px;
height: 12px;
margin-right: 5px;
font-size: 36rpx;
}
.btnf {
font-size: 28rpx;
border-radius: 5px;
height: 22px;
margin: 0 10px 0 0;
line-height: 22px;
color: #fff;
font-weight: 400;
width: 44px !important;
text-align: center !important;
float: right;
}
.tivon {
display: flex;
justify-content: center;
align-content: center;
align-items: center;
.bianji {
width: 20px;
height: 20px;
margin-left: 5px;
}
}
.box1 :last-child.list {
.val {
width: 25% !important;
}
}
.kcalClass {
width: 100%;
text-align: center;
font-size: 36rpx;
line-height: 55px;
margin: -20px auto;
}
.yichang {
background: #ffe4be;
color: #ff4239;
padding: 5px;
text-align: center;
border-radius: 5px;
margin: 0 15px 10px;
}
.tips {
font-size:30rpx;
line-height: 20px;
text {
display: inline-block;
width: 100%;
}
}
.jianyi_box {
background-color: #fff;
border-radius: 10px;
padding: 5px 10px 15px;
width: calc(100% -20px);
margin: 10px 0;
}
.jianyi {
display: flex;
margin: 0 -15px;
justify-content: space-between;
view {
display: flex;
flex-wrap: wrap;
align-content: center;
align-items: center;
justify-content: center;
width: 20%;
margin: 5px 2.5% 0;
image {
width: 25px;
height: 25px;
}
text {
width: 100%;
text-align: center;
margin-top: 10px;
font-size:28rpx;
color: #666;
}
}
.active {
border-bottom: 2px solid #f19601;
padding-bottom: 5px;
margin: 17px 2.5% 0;
}
}
.jianyi-con {
margin-top: 15px;
background: #f7f7f7;
padding: 10px;
font-size:28rpx;
line-height: 20px;
border-radius: 10px;
}
.tips2 {
color: #999;
margin-top: 15px;
font-size:30rpx;
display: flex;
align-items: center;
}
/deep/.uni-collapse-item {
width: 100% !important;
}
/deep/.uni-collapse-item__title-arrow {
margin-right: 0 !important;
}
/deep/.uni-collapse-item__wrap-content.uni-collapse-item--border {
border-bottom-width: 0
}
}

View File

@ -2,7 +2,7 @@
font-family: "Microsoft YaHei";
}
page{
font-size: 32rpx;
font-size: 30rpx;
}
.text_l{
text-align: left;
@ -138,13 +138,13 @@
}
.nolist {
padding: 15px;
padding:50px 15px;
width: calc(100% - 30px);
text-align: center;
image {
width: 100px;
height: 100px;
width: 150px;
height: 150px;
}
text {
@ -467,7 +467,7 @@
background-color: #fff;
border-radius: 10px;
padding:10px 15px;
min-height: 170rpx;
height: 160rpx;
.headimg {
width: 55px;
height: 55px;
@ -721,10 +721,15 @@
display: flex;
padding-bottom: 5px;
align-items: center;
justify-content: space-between;
.time{
display: flex;
font-size: 28rpx;
align-items: center;
}
text {
.name2 {
font-size: 36rpx;
font-weight: bold;
margin-right: 10px;
@ -743,7 +748,7 @@
width: 100%;
text {
font-size: 48rpx !important;
font-size: 40rpx !important;
font-weight: bold;
display: inline-block;
}
@ -769,7 +774,7 @@
padding-top: 10px;
font-size: 32rpx;
color: $textcolor;
border-top: 1px solid #f7f7f7;
// border-top: 1px solid #f7f7f7;
.targetBtn {
width: auto;

167
scss/login.scss Normal file
View File

@ -0,0 +1,167 @@
.bg {
position: absolute;
top: 0;
width: 100%;
height: 50vh;
z-index: 9;
background: $maincolor;
}
.top {
width: 100%;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
position: relative;
top: 70px;
z-index: 99;
margin-bottom: 15px;
image {
width: 70px;
height: 70px;
margin: auto;
margin-bottom: 10px;
border-radius: 50%;
}
text {
display: block;
width: 100%;
text-align: center;
}
}
.login {
width: 86%;
height: auto;
background: #fff;
border-radius: 10px;
padding: 10px 0;
background-color: #fff;
z-index: 99;
position: absolute;
left: 7%;
top: 28%;
box-shadow: 0px 1px 5px 2px #dfe2e1fc;
.title {
text-align: left;
color: #333;
font-size: 40rpx;
font-weight: bold;
margin-bottom: 15px;
margin-left: 15px;
}
.toggle {
position: absolute;
right: 15px;
top: 20px;
}
.editem {
position: relative;
display: flex;
align-items: center;
font-size: 32rpx;
margin: 0 15px;
justify-content: space-between;
flex-wrap: wrap;
.item {
width: 100%;
margin-bottom: 15px;
.text {
font-size: 32rpx;
margin-bottom: 10px;
}
.input {
height: 35px;
line-height: 35px;
display: flex;
position: relative;
border: #dfdfdf 1px solid;
padding: 0 10px;
border-radius: 5px;
}
input {
height: 40px;
line-height: 40px;
position: absolute;
left: 10px;
right: 0px;
z-index: 88;
font-size: 32rpx;
}
.yanzhengma {
input {
right: 120px;
font-size: 32rpx;
}
}
}
.code {
width: 110px;
background: #dfdfdf;
font-size: 32rpx;
margin: 0;
line-height: 40px;
border-radius: 5px;
text-align: center;
position: absolute;
right: 0px;
top: 0px;
bottom: 0;
z-index: 99;
}
.forget {
width: 80px;
background: #fff;
color: $textcolor;
}
}
.btngroup {
height: 35px;
line-height: 35px;
display: flex;
margin: 0 15px;
justify-content: center;
text {
display: block;
color: $textcolor;
}
}
.btnlogin {
width: calc(100% - 30px);
margin: 15px;
height: 42px;
line-height: 42px;
background: $btncolor;
font-weight: 700;
border-radius: 15px;
text-align: center;
color: #fff !important;
}
}
.xieyi {
font-size: 32rpx;
color: $textcolor;
margin-left: 10px;
text {
border-bottom: 1px solid $textcolor;
}
}

164
scss/lunging.scss Normal file
View File

@ -0,0 +1,164 @@
.content {
width: 100%;
padding-top: 10px;
min-height: 100vh;
background-color: #000;
}
.box1 {
color: #fff;
margin: 15px;
width: calc(100%- 30px);
.time {
width: 100%;
font-size: 32rpx;
margin-bottom: 20px;
}
.LiuS {
width: 60%;
margin: auto;
position: relative;
text-align: center;
border-radius: 10px;
background-color: #272a2a;
height: 30px;
line-height: 30px;
}
.LiuS:after {
content: "";
position: absolute;
left: 45%;
bottom: -7px;
width: 0px;
height: 0px;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 8px solid #272a2a;
}
.item {
width: 100%;
font-size: 28rpx;
padding: 10px 0;
border-radius: 15px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
position: relative;
.image {
width: 80%;
image {
margin-top: 10px;
width: 100%;
}
}
.center {
top: 0px;
bottom: -0px;
position: absolute;
width: 70px;
margin: auto;
text-align: center;
background-color: #333;
border-radius: 10px;
z-index: 9;
}
.level-bg {
position: absolute;
width: 70px;
margin: auto;
text-align: center;
background-color: #4d6c7b;
border-radius: 0 0 10px 10px;
bottom: 0px;
z-index: 19;
}
.level-item {
width: 70px;
height: 100%;
position: absolute;
z-index: 99;
:last-child {
border-bottom: none;
}
}
.ite {
margin: 0 5px;
width: calc(100% - 10px);
height: 40px;
line-height: 40px;
font-size: 32rpx;
color: #fff;
z-index: 99;
border-bottom: 1px solid #999;
}
}
.val {
width: 100%;
text-align: center;
margin: 20px 0;
color: #fff;
font-size: 32rpx;
text {
display: block;
color: #39D9C9 !important;
font-size: 64rpx;
margin-bottom: 10px;
}
}
}
.box {
padding: 0;
display: flex;
flex-wrap: wrap;
border-radius: 10px;
margin: 15px;
width: calc(100%- 30px);
justify-content: space-between;
.data {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
width: 100%;
}
.item {
width: 47.5%;
font-size: 28rpx;
background: #fff;
padding: 10px 0;
border-radius: 15px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 15px;
}
.val {
width: 40px;
height: 40px;
border-radius: 50%;
image {
width: 70%;
height: 70%;
}
}
}

111
scss/report.scss Normal file
View File

@ -0,0 +1,111 @@
.box {
margin: 15px 10px 0;
padding: 15px 10px 10px;
background-color: #fff;
width: calc(100% - 40px);
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
border-radius: 10px;
.charts {
width: 100%;
height: 260upx;
margin: 10px 0;
position: relative;
display: flex;
align-items: center;
justify-content: center;
.name {
position: absolute;
width: 100%;
text-align: center;
font-size: 56rpx;
margin: auto;
color: #4687F9;
}
}
.title {
width: 100%;
text-align: center;
}
.time {
width: 100%;
}
}
.indexCarList {
width: calc(100% - 40px);
margin: 10px;
padding: 5px 10px;
background-color: #fff;
border-radius: 10px;
.title {
color: #000;
background-color: #f5f5f5 !important;
border-bottom: 1px solid #d9d9d9;
padding-left: 10px;
border-radius: 5px;
height: 35px;
display: flex;
font-weight: bold;
align-items: center;
width: calc(100% - 10px);
font-size: 32upx;
.name {
font-weight: bold;
margin-top: 3px;
}
.right {
width: 30%;
color: $textcolor;
font-size: 32rpx;
text-align: right;
margin-top: 5px;
margin-right: 10px;
}
}
.item3 {
display: flex;
background: #fff;
padding: 0 10px;
height: 50px;
font-size: 32upx;
border-bottom: 1px solid #f7f7f7;
.name {
width: 40%;
line-height: 50px;
}
.weight {
width: 60%;
display: flex;
align-items: center;
position: relative;
justify-content: space-between;
view {
width: 30%;
text-align: center;
}
.input {
width: 40%;
}
}
}
.item3:nth-child(1) {
font-weight: bold;
}
}

220
scss/score.scss Normal file
View File

@ -0,0 +1,220 @@
.box {
margin: 15px 10px 0;
padding: 15px 10px 10px;
background-color: #fff;
width: calc(100% - 40px);
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
border-radius: 10px;
position: relative;
min-height: 30px;
.groupBtn {
width: 100%;
}
.history {
position: absolute;
top: 0px;
right: 10px;
height: 35px;
line-height: 35px;
float: right;
margin-top: 15px;
font-size: 28rpx;
padding: 0 10px;
background: $maincolor !important;
}
.charts {
width: 100%;
height: 260upx;
margin: 10px 0;
position: relative;
display: flex;
align-items: center;
justify-content: center;
.name {
position: absolute;
width: 100%;
text-align: center;
font-size: 56rpx;
margin: auto;
color: #4687F9;
}
}
}
.wrapper {
font-size: 28upx;
.choice {
color: $textcolor;
font-weight: 500;
padding-left: 15px;
display: inline-block;
}
.edit {
background-color: #fff;
}
.item {
width: 100%;
height: 45px;
line-height: 45px;
display: flex;
border-bottom: 1px solid #f7f7f7;
}
.btn {
width: 40%;
float: right;
margin-top: 15px;
background: $maincolor !important;
}
.edit {
top: 20%
}
.close {
background: #dfdfdf !important;
float: left;
color: #333;
}
}
.indexCarList {
width: calc(100% - 40px);
margin: 10px;
padding: 10px;
background-color: #fff;
border-radius: 10px;
.title {
color: #000;
background-color: #f5f5f5 !important;
border-bottom: 1px solid #d9d9d9;
padding-left: 10px;
border-radius: 5px;
height: 35px;
display: flex;
align-items: center;
width: calc(100% - 10px);
.name {
font-size: 32upx;
font-weight: bold;
margin-top: 3px;
}
.right {
width: 30%;
color: $textcolor;
font-size: 32rpx;
text-align: right;
margin-top: 5px;
margin-right: 10px;
}
}
.item3 {
display: flex;
background: #fff;
padding: 0 10px;
height: 50px;
font-size: 32upx;
border-bottom: 1px solid #f7f7f7;
.name {
width: 45%;
line-height: 50px;
}
.weight {
width: 55%;
display: flex;
align-items: center;
position: relative;
justify-content: space-between;
text {
color: #666;
position: absolute;
right: 0;
bottom: 15px;
}
.input {
width: 70%;
display: flex;
align-items: center;
position: relative;
justify-content: space-between;
.uni-icons {
position: absolute;
right: 10px;
bottom: 10px;
}
/deep/input,
/deep/picker {
width: 100%;
font-size: 32upx;
height: 35px;
line-height: 33px;
text-align: center;
border: 1px solid #dfdfdf;
border-radius: 5px;
background-color: #f7f7f7;
}
/deep/picker {
position: relative;
.down {
position: absolute;
right: 10px;
top: 1px;
}
}
}
}
.iconfont {
color: $btncolor;
}
}
}
.result {
width: 100%;
.weight {
view {
width: 30% !important;
text-align: center;
}
}
}
.gfbtn {
width: calc(100% - 40px);
margin-top: 20px;
margin-left: 20px;
color: #fff;
padding: 8px 0;
border-radius: 10px;
text-align: center;
background: $maincolor;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

BIN
static/Fill0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
static/Fill1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
static/Fill2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

BIN
static/bei.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

BIN
static/bei2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -1,5 +1,5 @@
import model from "../tools/model.js"
import tools from '@/tools/tools.js'
import model from "../toolJs/model.js"
import tools from '@/toolJs/tools.js'
// Action 包含异步操作请求API方法、回调函数提交mutaions更改state数据状态使之可以异步
export default {
// 账户信息

View File

@ -1,6 +1,6 @@
import $store from '@/store'
import $Bluetooth from '@/tools/Bluetooth.js'
import $tools from '@/tools/tools.js'
import $Bluetooth from '@/toolJs/Bluetooth.js'
import $tools from '@/toolJs/tools.js'
let myTime;
let devicesList = []
export default {
@ -140,7 +140,7 @@ function handleDevicesMac(device, acd_id) {
success: e => {
$store.commit("changeBluetooth", true);
uni.navigateTo({
url: "/pages/devices/search?id=" + acd_id
url: "/pages/devices/search?id=" + acd_id+ '&device=' + device
})
console.log('初始化蓝牙成功:' + e.errMsg);
},

View File

@ -1,4 +1,4 @@
import tools from '@/tools/tools.js'
import tools from '@/toolJs/tools.js'
import store from '../store'
let baseUrl = "http://tc.pcxbc.com"
const httpRequest = (url, method = "get", data) => {

View File

@ -1,5 +1,5 @@
import $store from '@/store'
import $tools from '@/tools/tools.js'
import $tools from '@/toolJs/tools.js'
export default {
msg,
toHex,

View File

@ -1,4 +1,4 @@
/* 主题色 */
$maincolor:linear-gradient(to right, #477EFF, #39D9C9);
$btncolor:#FEC407;
$textcolor: #477EFF;
$maincolor:#37cc92;
$btncolor:#fea606;
$textcolor: #37cc92;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,5 @@
// @use "sass:math";
@import '../tools/functions.scss';
@import '../toolJs/functions.scss';
// 间距基础倍数
$uni-space-root: 2 !default;
// 边框半径默认值

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__E0E1A21","name":"青测","version":{"name":"1.1.7","code":117},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"Bluetooth":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#fff"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"template":"index.html","compattible":{"ignoreVersion":true},"distribute":{"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"splashscreen":{"androidStyle":"common","android":{"hdpi":"static/logo.png","xhdpi":"static/logo.png","xxhdpi":"static/logo.png"},"useOriginalMsgbox":true},"google":{"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"],"abiFilters":["arm64-v8a","x86"]},"apple":{"dSYMs":false,"idfa":false,"privacyDescription":{"NSBluetoothAlwaysUsageDescription":"连接设备"}},"plugins":{"share":{},"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"safearea":{"background":"#fff","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"4.24","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"tabBar":{"color":"#333","selectedColor":"#477EFF","backgroundColor":"#fff","list":[{"pagePath":"pages/index/index","iconPath":"static/shou.png","selectedIconPath":"static/shou2.png","text":"首页"},{"pagePath":"pages/score/score","iconPath":"static/ping.png","selectedIconPath":"static/ping2.png","text":"估分"},{"pagePath":"pages/business/business","iconPath":"static/shou.png","selectedIconPath":"static/shou2.png","text":"设备"},{"pagePath":"pages/me/me","iconPath":"static/wo.png","selectedIconPath":"static/wo2.png","text":"我的"}],"borderStyle":"rgba(0,0,0,0.4)","height":"50px","child":["lauchwebview"],"selected":0},"launch_path":"__uniappview.html"},"locale":"zh-Hans","fallbackLocale":"zh-Hans"}
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__E0E1A21","name":"锐动","version":{"name":"1.1.8","code":118},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"Bluetooth":{},"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"light","background":"#37cc92"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"template":"index.html","compattible":{"ignoreVersion":true},"distribute":{"icons":{"android":{"hdpi":"unpackage/res/icons/72x72.png","xhdpi":"unpackage/res/icons/96x96.png","xxhdpi":"unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"},"ios":{"appstore":"unpackage/res/icons/1024x1024.png","ipad":{"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png","proapp@2x":"unpackage/res/icons/167x167.png","settings":"unpackage/res/icons/29x29.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight":"unpackage/res/icons/40x40.png","spotlight@2x":"unpackage/res/icons/80x80.png"},"iphone":{"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","notification@2x":"unpackage/res/icons/40x40.png","notification@3x":"unpackage/res/icons/60x60.png","settings@2x":"unpackage/res/icons/58x58.png","settings@3x":"unpackage/res/icons/87x87.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png"}}},"splashscreen":{"androidStyle":"common","android":{"hdpi":"static/logo.png","xhdpi":"static/logo.png","xxhdpi":"static/logo.png"},"useOriginalMsgbox":true},"google":{"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"],"abiFilters":["arm64-v8a","x86"]},"apple":{"dSYMs":false,"idfa":false,"privacyDescription":{"NSBluetoothAlwaysUsageDescription":"连接设备"}},"plugins":{"share":{},"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"safearea":{"background":"#fff","bottom":{"offset":"auto"}},"uni-app":{"compilerVersion":"4.24","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"tabBar":{"color":"#333","fontSize":"13px","selectedColor":"#37cc92","backgroundColor":"#fff","list":[{"pagePath":"pages/home/home","iconPath":"static/shou.png","selectedIconPath":"static/shou2.png","text":"首页"},{"pagePath":"pages/score/score","iconPath":"static/ping.png","selectedIconPath":"static/ping2.png","text":"估分"},{"pagePath":"pages/business/business","iconPath":"static/bei.png","selectedIconPath":"static/bei2.png","text":"设备"},{"pagePath":"pages/my/me","iconPath":"static/wo.png","selectedIconPath":"static/wo2.png","text":"我的"}],"borderStyle":"rgba(0,0,0,0.4)","height":"50px","child":["lauchwebview"],"selected":0},"launch_path":"__uniappview.html"},"locale":"zh-Hans"}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 370 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Some files were not shown because too many files have changed in this diff Show More