Leon 2 년 전
부모
커밋
d040f225d6

+ 3 - 2
src/components/input/SlidngScale.tsx

@@ -54,6 +54,7 @@ export default function Component(props: {
             showMiddle: isMiddle && !isBig && i >= minNum && i <= maxNum
         })
 
+
     }
 
     // const [showScrollView, setShowScrollView] = useState(false)
@@ -150,11 +151,11 @@ export default function Component(props: {
     }
 
     function touchStart() {
-        if (process.env.TARO_ENV=='weapp'){
+        if (process.env.TARO_ENV == 'weapp') {
             props.updateStatus(false)
             setEnableText(false)
         }
-        
+
     }
 
     function dragStart(e) {

+ 21 - 3
src/features/trackSomething/components/Metric.tsx

@@ -162,6 +162,20 @@ export default function Component(props: any) {
     function record(item: any) {
 
         if (user.isLogin) {
+            //check data 
+            var schemas = item.schemas
+            for (var i = 0; i < schemas.length; i++) {
+                var obj = schemas[i]
+                if ((!obj.min && obj.min!=0) ||!obj.max || !obj.step || (!obj.default_value && obj.default_value!=0)){
+                    Taro.showToast({
+                        title:'项目维护中',
+                        icon:'none'
+                    })
+                    return;
+                }
+            }
+
+
             var now = new Date();
             var t = (now.getHours() < 10 ? '0' + now.getHours() : now.getHours()) + ":" + (now.getMinutes() < 10 ? '0' + now.getMinutes() : now.getMinutes());
             // setStrTime(t)
@@ -186,11 +200,14 @@ export default function Component(props: any) {
     //获取参考值
     function getTargetValue(item) {
         for (var i = 0; i < item.references.length; i++) {
-            for (var j = 0; j < item.references[i].categories.length; j++) {
-                if (item.references[i].categories[j].is_default) {
-                    return item.references[i].categories[j].value_range
+            if (item.references[i].selected){
+                for (var j = 0; j < item.references[i].categories.length; j++) {
+                    if (item.references[i].categories[j].is_default) {
+                        return item.references[i].categories[j].value_range
+                    }
                 }
             }
+            
         }
         return null
     }
@@ -291,6 +308,7 @@ export default function Component(props: any) {
     }
 
     function metricModalContent() {
+        global.set_time = new Date().getTime()
         switch (modalType) {
             case MetricModalType.choose:
                 return <MetricModalChoose

+ 19 - 7
src/features/trackSomething/components/MetricHistory.tsx

@@ -1,7 +1,7 @@
 import { View, Text, Image } from "@tarojs/components";
 import './MetricHistory.scss'
 import RecordItem from "@/features/common/RecordItem";
-import { deleteMetricRecord } from "@/services/trackSomething";
+import { deleteMetricRecord, updateMetricStandard } from "@/services/trackSomething";
 import { useEffect, useState } from "react";
 import { useSelector } from "react-redux";
 import { TimeFormatter } from "@/utils/time_format";
@@ -15,6 +15,12 @@ export default function Component(props: { records: any[] }) {
     const [selReference, setSelReference] = useState(global.selMetricItem && global.selMetricItem.references.length > 0 ? global.selMetricItem.references[0] : null)
     useEffect(() => {
         setList(props.records)
+        global.selMetricItem.references.map(item => {
+            if (item.selected) {
+                setSelReference(item)
+            }
+        })
+
     }, [props.records])
 
     function formateHourMinutes(timestamp: number) {
@@ -43,8 +49,8 @@ export default function Component(props: { records: any[] }) {
     }
 
     function showMore() {
-        var list:any = []
-        global.selMetricItem.references.map((item)=>{
+        var list: any = []
+        global.selMetricItem.references.map((item) => {
             list.push((item as any).standard)
         })
         Taro.showActionSheet({
@@ -52,6 +58,9 @@ export default function Component(props: { records: any[] }) {
             success: function (res) {
                 // console.log(res.tapIndex)
                 setSelReference(global.selMetricItem.references[res.tapIndex])
+                updateMetricStandard(global.selMetricItem.references[res.tapIndex].id).then(res=>{
+                    global.refreshMetric()
+                })
             },
             fail: function (res) {
                 console.log(res.errMsg)
@@ -59,6 +68,9 @@ export default function Component(props: { records: any[] }) {
         })
     }
 
+
+
+
     function metricStandard() {
         if (global.selMetricItem && global.selMetricItem.references.length > 0) {
             return <View style={{ display: 'flex', flexDirection: 'column', position: 'relative' }}>
@@ -117,14 +129,14 @@ export default function Component(props: { records: any[] }) {
                         item.records.map(record => {
                             return <RecordItem delete={() => deleteRecord(record)}>
                                 <View className="operate_item1">
-                                    <Text className="value" style={{ backgroundColor: global.isDebug ? 'red' : 'transparent' }}>{record.type=='composite'?record.value:record.items[0].value}</Text>
+                                    <Text className="value" style={{ backgroundColor: global.isDebug ? 'red' : 'transparent' }}>{record.type == 'composite' ? record.value : record.items[0].value}</Text>
                                     {
-                                        record.type=='basic' && record.items.length > 1 && <Text className="value">/{record.items[1].value}</Text>
+                                        record.type == 'basic' && record.items.length > 1 && <Text className="value">/{record.items[1].value}</Text>
                                     }
                                     {
-                                        record.type=='basic' &&record.items.length > 2 && <Text className="value">/{record.items[2].value}</Text>
+                                        record.type == 'basic' && record.items.length > 2 && <Text className="value">/{record.items[2].value}</Text>
                                     }
-                                    <Text className="unit">{record.type=='composite'?record.unit?record.unit:'':record.items[0].unit}</Text>
+                                    <Text className="unit">{record.type == 'composite' ? record.unit ? record.unit : '' : record.items[0].unit}</Text>
                                     <View style={{ flex: 1 }} />
                                     <Text className="time">{formateHourMinutes(record.timestamp)}</Text>
 

+ 0 - 1
src/features/trackSomething/components/MoveOrderList.weapp.tsx

@@ -43,7 +43,6 @@ export default function Component(props: { array: any, itemHeight: number, color
     }, [])
 
     function longPress(e, index) {
-        alert('long press')
         setChangedIndex(index)
         setStartOffsetY(e.target.offsetTop)
         setStartPageY(e.touches[0].pageY)

+ 2 - 2
src/features/trackTimeDuration/components/RecordFastSleep.tsx

@@ -19,7 +19,7 @@ import { useTranslation } from "react-i18next";
 import { ColorType } from "@/context/themes/color";
 import TimelineStage from "./TimelineStage";
 import { jumpPage } from "../hooks/Common";
-import { sqrt } from 'mathjs'
+// import { sqrt } from 'mathjs'
 
 export default function RecordFastSleep(props: { data: any, type: string, delSuccess?: Function }) {
     const [showDetailModal, setShowDetailModal] = useState(false)
@@ -32,7 +32,7 @@ export default function RecordFastSleep(props: { data: any, type: string, delSuc
 
     useEffect(() => {
         checkTimezone()
-        console.log(sqrt(-4).toString())
+        // console.log(sqrt(-4).toString())
     }, [props.data])
 
     function checkTimezone() {

+ 7 - 0
src/features/workout/Workout.tsx

@@ -235,6 +235,13 @@ export default function Component(props: any) {
     function tapBtn(item) {
         if (user.isLogin) {
             if (item.code != '_walk') {
+                if (item.schemas.length==0 ||!item.schemas[0].format){
+                    Taro.showToast({
+                        title:'项目维护中',
+                        icon:'none'
+                    })
+                    return;
+                }
                 setSelItem(item)
                 dispatch(setCurrentWorkoutItem(item))
                 var count = Taro.getStorageSync('lastWorkoutDuration') ?? 60 * 50

+ 1 - 0
src/services/http/api.js

@@ -42,6 +42,7 @@ export const API_ACTIVITY_CARDS = `${baseUrl}/api/activity/cards`
 export const API_ACTIVITY_RECORDS = `${baseUrl}/api/activity/records`
 export const API_METRIC_CARDS = `${baseUrl}/api/metric/cards`
 export const API_METRIC_RECORDS = `${baseUrl}/api/metric/records`
+export const API_METRIC_STANDARD = `${baseUrl}/api/metric/standards`
 export const API_METRIC_GROUPS = `${baseUrl}/api/metric/groups`
 export const API_METRIC_FOLLOWS = `${baseUrl}/api/metric/follows`
 

+ 12 - 1
src/services/trackSomething.tsx

@@ -1,5 +1,5 @@
 
-import { API_ACTIVITY_CARDS, API_ACTIVITY_RECORDS, API_METRIC_CARDS, API_METRIC_FOLLOWS, API_METRIC_GROUPS, API_METRIC_RECORDS, API_UPLOAD_STEPS } from './http/api';
+import { API_ACTIVITY_CARDS, API_ACTIVITY_RECORDS, API_METRIC_CARDS, API_METRIC_FOLLOWS, API_METRIC_GROUPS, API_METRIC_RECORDS, API_METRIC_STANDARD, API_UPLOAD_STEPS } from './http/api';
 import { request } from './http/request';
 
 export const uploadSteps = (params) => {
@@ -88,6 +88,17 @@ export const deleteMetricRecord = (params) => {
 
 }
 
+export const updateMetricStandard = (id)=>{
+    return new Promise((resolve) => {
+        request({
+            url: API_METRIC_STANDARD + '/' + id, method: 'POST', data: {}
+        }).then(res => {
+            resolve(res);
+            // dispatch(loginSuccess(res));
+        })
+    })
+}
+
 export const deleteActivityRecord = (params) => {
     return new Promise((resolve) => {
         request({