qsj 2 years ago
commit 8dad09f77d

@ -12,26 +12,18 @@ export default defineAppConfig({
"pages/userInfo/userInfo", "pages/userInfo/userInfo",
"pages/userInfoDetail/userInfoDetail", "pages/userInfoDetail/userInfoDetail",
"pages/register/register", "pages/register/register",
"pages/instrument/instrument",
"pages/instrument/intro",
"pages/instrument_manage/index",
"pages/instrument_detail/index",
"pages/instrumentClickinUpload/index",
"pages/privacyPolicy/privacyPolicy", "pages/privacyPolicy/privacyPolicy",
"pages/userPolicy/userPolicy", "pages/userPolicy/userPolicy",
"pages/about/about", "pages/about/about",
"pages/message/message", "pages/message/message",
"pages/consultant/consultant", "pages/consultant/consultant",
"pages/integral_list/integral_list", "pages/integral_list/integral_list",
"pages/recording/recording",
"pages/webViewPage/webViewPage", "pages/webViewPage/webViewPage",
'pages/template/template', "pages/template/template",
'pages/face_report/face_report', "pages/face_report/face_report",
'pages/face_report_one/face_report_one', "pages/face_report_AllDevice/face_report_AllDevice",
'pages/face_report_AllDevice/face_report_AllDevice',
"pages/connection_help/connection_help", "pages/connection_help/connection_help",
"pages/errorpage/errorpage", "pages/errorpage/errorpage",
"pages/moisture_test_report/moisture_test_report",
], ],
tabBar: { tabBar: {
custom: true, custom: true,
@ -88,5 +80,23 @@ export default defineAppConfig({
root: "moduleIOT", root: "moduleIOT",
pages: ["pages/iotCarePlan/WL200", "pages/iotCarePlan/FR200"], pages: ["pages/iotCarePlan/WL200", "pages/iotCarePlan/FR200"],
}, },
{
root: "recoding",
pages: [
"pages/recording/recording",
"pages/face_report_one/face_report_one",
"pages/moisture_test_report/moisture_test_report",
],
},
{
root: "instrument",
pages: [
"pages/instrument/instrument",
"pages/instrument/intro",
"pages/instrument_manage/index",
"pages/instrument_detail/index",
"pages/instrumentClickinUpload/index",
],
},
], ],
}); });

@ -529,7 +529,7 @@ export default class Instrument extends Component<any, any> {
confirm={this.closeDev} confirm={this.closeDev}
/> */} /> */}
<Navbar <Navbar
titleSlot="仪器绑定" titleSlot='仪器绑定'
isBack isBack
isCustomBack isCustomBack
customBack={this.customBack} customBack={this.customBack}
@ -546,74 +546,74 @@ export default class Instrument extends Component<any, any> {
/> />
<PopupAlert <PopupAlert
isShow={isBindingError} isShow={isBindingError}
title="提示" title='提示'
content="序列号库仍在更新,请联系微信助手" content='序列号库仍在更新,请联系微信助手'
confirmButtonText="知道了" confirmButtonText='知道了'
textAlgin="center" textAlgin='center'
close={this.onBindErrorClose} close={this.onBindErrorClose}
confirm={this.onBindErrorConfirm} confirm={this.onBindErrorConfirm}
></PopupAlert> ></PopupAlert>
<PopupAlert <PopupAlert
isShow={isBindingError203} isShow={isBindingError203}
title="提示" title='提示'
content="序列码已被别人绑定,请联系微信助手" content='序列码已被别人绑定,请联系微信助手'
confirmButtonText="知道了" confirmButtonText='知道了'
textAlgin="center" textAlgin='center'
close={this.onBindErrorClose203} close={this.onBindErrorClose203}
confirm={this.onBindErrorConfirm203} confirm={this.onBindErrorConfirm203}
></PopupAlert> ></PopupAlert>
<PopupAlert <PopupAlert
isShow={isBindingCheckError} isShow={isBindingCheckError}
title="提示" title='提示'
content="您选择的仪器有误,请重新选择确认" content='您选择的仪器有误,请重新选择确认'
confirmButtonText="知道了" confirmButtonText='知道了'
textAlgin="center" textAlgin='center'
close={this.onBindCheckErrorClose} close={this.onBindCheckErrorClose}
confirm={this.onBindCheckErrorClose} confirm={this.onBindCheckErrorClose}
></PopupAlert> ></PopupAlert>
</View> </View>
<Canvas <Canvas
style="position: fixed;left:-10000px;max-width: 1024px;max-height: 768px;" style='position: fixed;left:-10000px;max-width: 1024px;max-height: 768px;'
id="compressImage" id='compressImage'
canvasId="compressImage" canvasId='compressImage'
type="2d" type='2d'
></Canvas> ></Canvas>
<View></View> <View></View>
<View className="main"> <View className='main'>
<View className="top"> <View className='top'>
<View className="top_title"></View> <View className='top_title'></View>
<View className="top_tips"> <View className='top_tips'>
</View> </View>
<View className="top_tips"></View> <View className='top_tips'></View>
</View> </View>
<View className="banner_list"> <View className='banner_list'>
{inputType === 1 ? ( {inputType === 1 ? (
<Video <Video
className="banner_item" className='banner_item'
autoplay autoplay
loop loop
objectFit="cover" objectFit='cover'
enablePlayGesture enablePlayGesture
showFullscreenBtn={false} showFullscreenBtn={false}
playBtnPosition="center" playBtnPosition='center'
src={channelInfo.manualCodeBinding} src={channelInfo.manualCodeBinding}
/> />
) : ( ) : (
<Image <Image
className="banner_item" className='banner_item'
src={channelInfo.scanCodeBinding} src={channelInfo.scanCodeBinding}
mode="aspectFill" mode='aspectFill'
></Image> ></Image>
)} )}
</View> </View>
<View className="form"> <View className='form'>
<View className="form_item is-instrument"> <View className='form_item is-instrument'>
<View className="label_box"> <View className='label_box'>
<View <View
className="label" className='label'
style="font-size: 32rpx; margin: 0 0 0rpx 2rpx" style='font-size: 32rpx; margin: 0 0 0rpx 2rpx'
> >
<Text style={{ color: "#EB5858", marginLeft: "20rpx" }}> <Text style={{ color: "#EB5858", marginLeft: "20rpx" }}>
@ -623,11 +623,11 @@ export default class Instrument extends Component<any, any> {
</View> </View>
<ScrollView <ScrollView
scrollX={true} scrollX
className="instrument_list" className='instrument_list'
style="width: 100%; white-space: nowrap;" style='width: 100%; white-space: nowrap;'
scrollIntoView={"scroll" + channelInfo.id} scrollIntoView={"scroll" + channelInfo.id}
scrollIntoViewAlignment={"center"} scrollIntoViewAlignment='center'
> >
{equipmentList.length > 0 && {equipmentList.length > 0 &&
equipmentList.map((item, index) => { equipmentList.map((item, index) => {
@ -641,11 +641,11 @@ export default class Instrument extends Component<any, any> {
onClick={this.onSelectChange.bind(this, item)} onClick={this.onSelectChange.bind(this, item)}
> >
<Image <Image
className="instrument_img" className='instrument_img'
src={item.banner} src={item.banner}
mode="aspectFill" mode='aspectFill'
></Image> ></Image>
<View className="desc">{item.name}</View> <View className='desc'>{item.name}</View>
</View> </View>
); );
})} })}
@ -659,8 +659,8 @@ export default class Instrument extends Component<any, any> {
)} )}
</ScrollView> </ScrollView>
</View> </View>
<View className="form_item is-tab"> <View className='form_item is-tab'>
<View className="tab_list"> <View className='tab_list'>
<View <View
className={classnames("tab_item", { className={classnames("tab_item", {
"is-active": inputType === 1, "is-active": inputType === 1,
@ -668,7 +668,7 @@ export default class Instrument extends Component<any, any> {
onClick={this.onTabTap.bind(this, 1)} onClick={this.onTabTap.bind(this, 1)}
> >
<Text></Text> <Text></Text>
<View className="tab_active_line"></View> <View className='tab_active_line'></View>
</View> </View>
{channelInfo.isScanCode === 1 && ( {channelInfo.isScanCode === 1 && (
<View <View
@ -678,7 +678,7 @@ export default class Instrument extends Component<any, any> {
onClick={this.onTabTap.bind(this, 2)} onClick={this.onTabTap.bind(this, 2)}
> >
<Text></Text> <Text></Text>
<View className="tab_active_line"></View> <View className='tab_active_line'></View>
</View> </View>
)} )}
</View> </View>
@ -686,38 +686,38 @@ export default class Instrument extends Component<any, any> {
{inputType == 1 && ( {inputType == 1 && (
<Block> <Block>
<View className="inputCode_box"> <View className='inputCode_box'>
<View className="form_item is-inputCode"> <View className='form_item is-inputCode'>
<View className="label_box"> <View className='label_box'>
<View className="label"> <View className='label'>
<Text style={{ color: "#EB5858", marginLeft: "20rpx" }}> <Text style={{ color: "#EB5858", marginLeft: "20rpx" }}>
* *
</Text> </Text>
</View> </View>
<View className="label_text" onClick={this.onTipShow}> <View className='label_text' onClick={this.onTipShow}>
<Text className="label-tips"></Text> <Text className='label-tips'></Text>
<Image <Image
className="right_icon" className='right_icon'
src={require("../../img/index-right.png")} src={require("@/img/index-right.png")}
mode="aspectFill" mode='aspectFill'
/> />
</View> </View>
</View> </View>
<View className="ipt_box"> <View className='ipt_box'>
<Input <Input
maxlength={50} maxlength={50}
className="ipt" className='ipt'
placeholder="例如FR10*********1" placeholder='例如FR10*********1'
placeholder-style={style} placeholder-style={style}
onInput={this.onSerial} onInput={this.onSerial}
value={channelInfo.serialCode} value={channelInfo.serialCode}
></Input> ></Input>
</View> </View>
</View> </View>
<View className="form_item"> <View className='form_item'>
<View className="label_box"> <View className='label_box'>
<View className="label"> <View className='label'>
<Text style={{ color: "#EB5858", marginLeft: "20rpx" }}> <Text style={{ color: "#EB5858", marginLeft: "20rpx" }}>
* *
@ -725,20 +725,20 @@ export default class Instrument extends Component<any, any> {
</View> </View>
</View> </View>
<View <View
className="photo_box" className='photo_box'
onClick={this.onChangeImg.bind(this)} onClick={this.onChangeImg.bind(this)}
> >
{channelInfo.serialImage && ( {channelInfo.serialImage && (
<Image <Image
src={channelInfo.serialImage} src={channelInfo.serialImage}
mode="aspectFill" mode='aspectFill'
></Image> ></Image>
)} )}
{!channelInfo.serialImage && ( {!channelInfo.serialImage && (
<Image <Image
className="add" className='add'
src={require("../../img/welcome/add.png")} src={require("@/img/welcome/add.png")}
mode="aspectFit" mode='aspectFit'
></Image> ></Image>
)} )}
</View> </View>
@ -748,10 +748,10 @@ export default class Instrument extends Component<any, any> {
)} )}
</View> </View>
</View> </View>
<View className="footer"> <View className='footer'>
{inputType == 1 && ( {inputType == 1 && (
<View <View
className="btn" className='btn'
onClick={throttle(this.onSubmit.bind(this), 300)} onClick={throttle(this.onSubmit.bind(this), 300)}
> >
@ -759,10 +759,10 @@ export default class Instrument extends Component<any, any> {
)} )}
{inputType == 2 && ( {inputType == 2 && (
<View className="btn footer-btn-scan" onClick={this.onScanTap}> <View className='btn footer-btn-scan' onClick={this.onScanTap}>
<Image <Image
className="footer-btn-scan-img" className='footer-btn-scan-img'
src={require("../../img/icon-scan.png")} src={require("@/img/icon-scan.png")}
></Image> ></Image>
</View> </View>

@ -319,84 +319,84 @@ export default class InstrumentClickInUpload extends Component<any, any> {
} = this.state; } = this.state;
return ( return (
<Block> <Block>
<Navbar titleSlot="打卡上传" isBack /> <Navbar titleSlot='打卡上传' isBack />
<Canvas <Canvas
style="position: fixed;left:-10000px;" style='position: fixed;left:-10000px;'
id="compressImage" id='compressImage'
canvasId="compressImage" canvasId='compressImage'
type="2d" type='2d'
></Canvas> ></Canvas>
<View catchMove> <View catchMove>
<PopupAlert <PopupAlert
isShow={isModeLock} isShow={isModeLock}
title="提示" title='提示'
content="该模式即将上线,敬请期待" content='该模式即将上线,敬请期待'
confirmButtonText="我知道了" confirmButtonText='我知道了'
textAlgin="center" textAlgin='center'
isClose={false} isClose={false}
close={this.onModeLockClose} close={this.onModeLockClose}
confirm={this.onModeLockClose} confirm={this.onModeLockClose}
/> />
<PopupInstrumentUploadTips <PopupInstrumentUploadTips
isShow={isTipShow} isShow={isTipShow}
title="打卡介绍" title='打卡介绍'
data={nurseInfo} data={nurseInfo}
close={this.onTipShowClose} close={this.onTipShowClose}
confirm={this.onTipShowClose} confirm={this.onTipShowClose}
/> />
</View> </View>
<View className="infobox1 flex aitems jcenter"> <View className='infobox1 flex aitems jcenter'>
<View className="img"> <View className='img'>
<Video <Video
src={currentInfo.modeVideo} src={currentInfo.modeVideo}
id="myVideo" id='myVideo'
enableProgressGesture={false} enableProgressGesture={false}
controls controls
// autoplay={false} // autoplay={false}
direction={0} direction={0}
loop={false} loop={false}
showMuteBtn showMuteBtn
referrerPolicy="origin" referrerPolicy='origin'
onTimeUpdate={this.videoBindTimeUpdate} onTimeUpdate={this.videoBindTimeUpdate}
onEnded={this.videoEnded} onEnded={this.videoEnded}
onPause={this.videoPause} onPause={this.videoPause}
onPlay={this.videoPlay} onPlay={this.videoPlay}
showCenterPlayBtn={false} showCenterPlayBtn={false}
onLoadedMetaData={this.videoLoadedMetaData} onLoadedMetaData={this.videoLoadedMetaData}
style="width: 100%; height: 100%;border-radius: 30rpx;" style='width: 100%; height: 100%;border-radius: 30rpx;'
/> />
{showVideoPlayBtn && ( {showVideoPlayBtn && (
<View className="video-cover"> <View className='video-cover'>
<Image <Image
className="video-cover-icon" className='video-cover-icon'
src={require("../../img/fr200/play.png")} src={require("@/img/fr200/play.png")}
onClick={this.onPlayTap} onClick={this.onPlayTap}
></Image> ></Image>
{duration && ( {duration && (
<View className="video-cover-time">{duration}</View> <View className='video-cover-time'>{duration}</View>
)} )}
</View> </View>
)} )}
</View> </View>
</View> </View>
<View className="infobox3"> <View className='infobox3'>
<ScrollView <ScrollView
style="white-space: nowrap; height: 100%;" style='white-space: nowrap; height: 100%;'
scroll-x scroll-x
scroll-left={scrollleft} scroll-left={scrollleft}
> >
{modeInfo.map((item, index) => { {modeInfo.map((item, index) => {
return ( return (
<View <View
className="info1" className='info1'
onClick={this.bindMoshi.bind(this, index)} onClick={this.bindMoshi.bind(this, index)}
key={index} key={index}
> >
<View <View
className="flex aitems modebox" className='flex aitems modebox'
style={{ style={{
height: "100%", height: "100%",
background: background:
@ -405,33 +405,33 @@ export default class InstrumentClickInUpload extends Component<any, any> {
: "", : "",
}} }}
> >
<View className="block1"> <View className='block1'>
<View className="block1_1 flex aitems "> <View className='block1_1 flex aitems '>
<View className="tip1">{item.modeName}</View> <View className='tip1'>{item.modeName}</View>
<View className="tip2">{item.modeDesc}</View> <View className='tip2'>{item.modeDesc}</View>
{!item.lock && zkmoshiindex !== index && ( {!item.lock && zkmoshiindex !== index && (
<View className="quan1"></View> <View className='quan1'></View>
)} )}
{!item.lock && zkmoshiindex == index && ( {!item.lock && zkmoshiindex == index && (
<View className="quan1 is-select flex aitems jcenter"> <View className='quan1 is-select flex aitems jcenter'>
<View className="quan2"></View> <View className='quan2'></View>
</View> </View>
)} )}
{item.lock && ( {item.lock && (
<View className="icon"> <View className='icon'>
<Image <Image
src={require("../../img/fr200/suo.png")} src={require("@/img/fr200/suo.png")}
mode="aspectFill" mode='aspectFill'
></Image> ></Image>
</View> </View>
)} )}
</View> </View>
</View> </View>
{item.modeBanner && index == zkmoshiindex && ( {item.modeBanner && index == zkmoshiindex && (
<View className="info1_img"> <View className='info1_img'>
<Image src={item.modeBanner} mode="aspectFill" /> <Image src={item.modeBanner} mode='aspectFill' />
</View> </View>
)} )}
</View> </View>
@ -441,32 +441,32 @@ export default class InstrumentClickInUpload extends Component<any, any> {
</ScrollView> </ScrollView>
</View> </View>
<View className="infobox2"> <View className='infobox2'>
<View className="infobox2_info"> <View className='infobox2_info'>
<View className="info4"> <View className='info4'>
<View className="upload_header flex aitems sb"> <View className='upload_header flex aitems sb'>
<View className="upload_title"></View> <View className='upload_title'></View>
<View className="icon" onClick={this.onTipShowOpen}> <View className='icon' onClick={this.onTipShowOpen}>
<Image <Image
src={require("../../img/clock_in_upload/info.png")} src={require("@/img/clock_in_upload/info.png")}
mode="aspectFill" mode='aspectFill'
></Image> ></Image>
</View> </View>
</View> </View>
<View className="imgbox flex aitems"> <View className='imgbox flex aitems'>
{punchInInfo.clockImageList.length > 0 && {punchInInfo.clockImageList.length > 0 &&
punchInInfo.clockImageList.map((item, index) => { punchInInfo.clockImageList.map((item, index) => {
return ( return (
<View className="img" key={"clickin_" + index}> <View className='img' key={"clickin_" + index}>
<Image src={item}></Image> <Image src={item}></Image>
<View <View
className="close flex aitems jcenter" className='close flex aitems jcenter'
data-index={index} data-index={index}
onClick={this.handleDeleteImage} onClick={this.handleDeleteImage}
> >
<Image <Image
src={require("../../img/fr200/close_white.png")} src={require("@/img/fr200/close_white.png")}
mode="widthFix" mode='widthFix'
></Image> ></Image>
</View> </View>
</View> </View>
@ -475,23 +475,23 @@ export default class InstrumentClickInUpload extends Component<any, any> {
{punchInInfo.clockImageList.length < 3 && ( {punchInInfo.clockImageList.length < 3 && (
<View <View
className="img2 flex aitems jcenter" className='img2 flex aitems jcenter'
onClick={this.handleChooseImage} onClick={this.handleChooseImage}
> >
<Image <Image
src={require("../../img/fr200/add-Image.png")} src={require("@/img/fr200/add-Image.png")}
mode="aspectFill" mode='aspectFill'
></Image> ></Image>
</View> </View>
)} )}
</View> </View>
<View className="content"> <View className='content'>
<Textarea <Textarea
placeholder-className="placeh和给g'holder" placeholder-className="placeh和给g'holder"
maxlength={100} maxlength={100}
onInput={this.handleTextareaInput} onInput={this.handleTextareaInput}
value={punchInInfo.clockContent} value={punchInInfo.clockContent}
placeholder="请记录一下今天打卡的心得吧~" placeholder='请记录一下今天打卡的心得吧~'
></Textarea> ></Textarea>
{/* {tipshow && ( {/* {tipshow && (
<View className="Textarea"> <View className="Textarea">
@ -500,7 +500,7 @@ export default class InstrumentClickInUpload extends Component<any, any> {
: "请记录一下今天打卡的心得吧~"} : "请记录一下今天打卡的心得吧~"}
</View> </View>
)} */} )} */}
<View className="tips-num"> <View className='tips-num'>
{punchInInfo.clockContent.length}/100 {punchInInfo.clockContent.length}/100
{/* {punchInInfo.clockContent.length}/100 */} {/* {punchInInfo.clockContent.length}/100 */}
</View> </View>
@ -509,16 +509,16 @@ export default class InstrumentClickInUpload extends Component<any, any> {
</View> </View>
</View> </View>
<View style="height: 150rpx"></View> <View style='height: 150rpx'></View>
{!isSubmit && ( {!isSubmit && (
<View className="confirm_btn flex aitems" onClick={this.handleSubmit}> <View className='confirm_btn flex aitems' onClick={this.handleSubmit}>
<View className="btn"></View> <View className='btn'></View>
</View> </View>
)} )}
{isSubmit && ( {isSubmit && (
<View className="confirm_btn flex aitems"> <View className='confirm_btn flex aitems'>
<View className="btn"></View> <View className='btn'></View>
</View> </View>
)} )}
</Block> </Block>

@ -5,7 +5,7 @@ import dayjs from "dayjs";
import { Component, PropsWithChildren, useEffect, useState } from "react"; import { Component, PropsWithChildren, useEffect, useState } from "react";
import { Block, View, Text, Image, Input, Button } from "@tarojs/components"; import { Block, View, Text, Image, Input, Button } from "@tarojs/components";
import Navbar from "../../components/navbar/navbar"; import Navbar from "../../../components/navbar/navbar";
import "./index.less"; import "./index.less";
import { getStorageSync } from "@/utils/traoAPI"; import { getStorageSync } from "@/utils/traoAPI";

@ -15,10 +15,10 @@ import {
} from "@tarojs/components"; } from "@tarojs/components";
import "./index.less"; import "./index.less";
import Navbar from "../../components/navbar/navbar"; import Navbar from "../../../components/navbar/navbar";
import { InstrumentInfo } from "../../utils/Interface"; import { InstrumentInfo } from "../../../utils/Interface";
import { go, msg, setStorageSync } from "../../utils/traoAPI"; import { go, msg, setStorageSync } from "../../../utils/traoAPI";
export default class InstrumentManage extends Component<any, any> { export default class InstrumentManage extends Component<any, any> {
constructor(props) { constructor(props) {
@ -177,7 +177,7 @@ export default class InstrumentManage extends Component<any, any> {
<View className="tips"></View> <View className="tips"></View>
<View className="right"> <View className="right">
<Image <Image
src={require("../../img/index/right.png")} src={require("@/img/index/right.png")}
mode="widthFix" mode="widthFix"
style="height: 20rpx;" style="height: 20rpx;"
/> />
@ -229,7 +229,7 @@ export default class InstrumentManage extends Component<any, any> {
<View className="tips"></View> <View className="tips"></View>
<View className="right"> <View className="right">
<Image <Image
src={require("../../img/index/right.png")} src={require("@/img/index/right.png")}
mode="widthFix" mode="widthFix"
style="height: 20rpx;" style="height: 20rpx;"
/> />

@ -7,7 +7,6 @@
padding: 35rpx 25rpx 25rpx 35rpx; padding: 35rpx 25rpx 25rpx 35rpx;
box-sizing: border-box; box-sizing: border-box;
position: relative; position: relative;
z-index: 0;
} }
.box_background { .box_background {
position: absolute; position: absolute;
@ -40,7 +39,7 @@
position: relative; position: relative;
height: 18rpx; height: 18rpx;
.bottom_line { .bottom_line {
border-bottom: 1rpx #ccc dashed; // border-bottom: 1rpx #ccc dashed;
width: 550rpx; width: 550rpx;
margin-left: 20rpx; margin-left: 20rpx;
position: absolute; position: absolute;

@ -15,36 +15,6 @@ interface Props {
} }
function Index() { function Index() {
const stepIndex = 0;
const testIndex = 1;
const stepList = [
{
value: "Step1",
name: "额头",
finish: false,
},
{
value: "Step2",
name: "左脸颊",
finish: false,
},
{
value: "Step3",
name: "右脸颊",
finish: false,
},
];
const gearLevel = {
currentGear: null,
//现在工作的档位
currentGearMode: "forehead",
//现在工作模式
forehead: 5,
leftCheek: 5,
rightCheek: 5,
};
const echartsRef = useRef<EchartsHandle>(null); const echartsRef = useRef<EchartsHandle>(null);
const option: EChartOption = { const option: EChartOption = {
@ -55,10 +25,6 @@ function Index() {
right: "28rpx", right: "28rpx",
bottom: "17rpx", bottom: "17rpx",
}, },
legend: {
show: false,
zlevel: -1,
},
xAxis: { xAxis: {
// name: '', // name: '',
// nameGap: 5, // nameGap: 5,
@ -101,7 +67,7 @@ function Index() {
max: 8, max: 8,
splitNumber: 8, splitNumber: 8,
splitLine: { splitLine: {
show: false, show: true,
lineStyle: { lineStyle: {
color: "#cccccc", color: "#cccccc",
type: [4, 2], type: [4, 2],
@ -296,7 +262,7 @@ function Index() {
ref={echartsRef} ref={echartsRef}
// isPage={false} // isPage={false}
// style自定义设置echarts宽高 // style自定义设置echarts宽高
style={{ width: "630rpx", height: "260rpx" }} style={{ width: "630rpx", height: "260rpx", zIndex: 1 }}
/> />
<View className='box_background'> <View className='box_background'>
<Image className='full' src={require("@/img/full-scran.png")}></Image> <Image className='full' src={require("@/img/full-scran.png")}></Image>
@ -304,7 +270,7 @@ function Index() {
{level.map((item) => ( {level.map((item) => (
<View className='line' key={item}> <View className='line' key={item}>
<View className='number'>{item}</View> <View className='number'>{item}</View>
<View className='bottom_line'>8</View> <View className='bottom_line'></View>
</View> </View>
))} ))}
<View className='line'> <View className='line'>

@ -420,7 +420,7 @@ class Index extends Component<any, any> {
}; };
GetSiteAddTag = async (id) => { GetSiteAddTag = async (id) => {
go("/pages/moisture_test_report/moisture_test_report"); go("/recoding/pages/moisture_test_report/moisture_test_report")
let res = await GetSiteAddTag(id); let res = await GetSiteAddTag(id);
if (res.data.code === 200) { if (res.data.code === 200) {
console.log("点击自动上报,不需要逻辑处理"); console.log("点击自动上报,不需要逻辑处理");
@ -485,7 +485,7 @@ class Index extends Component<any, any> {
toNursingRecords = () => { toNursingRecords = () => {
let { ViewAddInstrument } = this.state; let { ViewAddInstrument } = this.state;
// go(`/pages/recording/recording?param1=${param1Value}`); // go(`/pages/recording/recording?param1=${param1Value}`);
go(`/pages/recording/recording?param=${ViewAddInstrument}`); go(`/recoding/pages/recording/recording?param=${ViewAddInstrument}`);
}; };
gourl = async (e) => { gourl = async (e) => {

@ -189,7 +189,7 @@ class Initiate extends Component<any, any> {
<View className="middle"> <View className="middle">
<Image <Image
className="logo_middle" className="logo_middle"
src={require("../../img/welcome/top-logo.png")} src={require("@/img/welcome/top-logo.png")}
mode="aspectFill" mode="aspectFill"
></Image> ></Image>
<View className="title"></View> <View className="title"></View>

@ -1,21 +1,24 @@
import Taro from "@tarojs/taro"; import Taro from "@tarojs/taro";
import classnames from "classnames"; import classnames from "classnames";
import { Component, PropsWithChildren, useEffect, useState } from "react"; import { Component, PropsWithChildren, useEffect, useState } from "react";
import { Progress } from "@antmjs/vantui"; import { Progress , Tab, Tabs, Dialog, Popup } from "@antmjs/vantui";
import { showModal } from "../../utils/traoAPI"; import { showModal } from "@/utils/traoAPI";
import { Tab, Tabs, Dialog, Popup } from "@antmjs/vantui";
import { import {
Block, View, Text, Image, Input, Button, Textarea, Block, View, Text, Image, Input, Button, Textarea,
} from "@tarojs/components"; } from "@tarojs/components";
import { date, getdates, previewImage } from "../../utils/util"; import { date, getdates, previewImage } from "@/utils/util";
/** 自定义组件 **/ /** 自定义组件 **/
import Navbar from "../../components/navbar/navbar"; import Navbar from "@/components/navbar/navbar";
import PopupAlert from "../../components/popup/popup-alert"; import PopupAlert from "@/components/popup/popup-alert";
import { InstrumentInfo } from "../../utils/Interface"; import { InstrumentInfo } from "@/utils/Interface";
// 引入ecahrts图表 // 引入ecahrts图表
import EchartsForm from '../../moduleIOT/pages/iotCarePlan/components/Echart_face' // import EchartsForm from '@/moduleIOT/pages/iotCarePlan/components/Echart_face'
import EchartsForm from '../../../moduleIOT/pages/iotCarePlan/components/Echart_face'
/** 自定义组件 **/ /** 自定义组件 **/
import "./face_report_one.less"; import "./face_report_one.less";
@ -29,7 +32,7 @@ export default class Index extends Component<any, any> {
statistics: {}, statistics: {},
recordList: [], recordList: [],
recordData: { recordData: {
modeImage:require("@/img/face-report/face.png") modeImage: require("@/img/face-report/face.png")
}, },
year: new Date().getFullYear(), year: new Date().getFullYear(),
show: false, show: false,
@ -285,45 +288,45 @@ export default class Index extends Component<any, any> {
let { name, statistics, recordList, recordData, show, clockStatistics, punchInInfo, monthTime, reportShow, face_Tyep } = this.state; let { name, statistics, recordList, recordData, show, clockStatistics, punchInInfo, monthTime, reportShow, face_Tyep } = this.state;
return ( return (
<Block> <Block>
<Navbar isBack titleSlot="护理报告"></Navbar> <Navbar isBack titleSlot='护理报告'></Navbar>
<View className="statistic m-x-30 flex aitems"> <View className='statistic m-x-30 flex aitems'>
<View className="statistic_item"> <View className='statistic_item'>
<View className="statistic_title"> <View className='statistic_title'>
<text>{statistics.nursingNum}</text> <text>{statistics.nursingNum}</text>
<text className="num"></text> <text className='num'></text>
</View> </View>
<View className="statistic_desc"></View> <View className='statistic_desc'></View>
</View> </View>
<View className="statistic_item"> <View className='statistic_item'>
<View className="statistic_title">{statistics.nursingTime}</View> <View className='statistic_title'>{statistics.nursingTime}</View>
<View className="statistic_desc"></View> <View className='statistic_desc'></View>
</View> </View>
{/* </block> */} {/* </block> */}
</View> </View>
<View className="main m-x-30"> <View className='main m-x-30'>
<View className="products_item" style="border: none"> <View className='products_item' style='border: none'>
<View className="products_middle flex"> <View className='products_middle flex'>
<View className="left"> <View className='left'>
<Image <Image
className="cover" className='cover'
src={recordData.modeImage} src={recordData.modeImage}
mode="aspectFill" mode='aspectFill'
></Image> ></Image>
<View className="face_type">{face_Tyep}</View> <View className='face_type'>{face_Tyep}</View>
</View> </View>
<View className="content"> <View className='content'>
<View className="content_top"> <View className='content_top'>
<View className="desc_box"> <View className='desc_box'>
<View className="desc">{recordData.modeName}</View> <View className='desc'>{recordData.modeName}</View>
<View className="desc"> <View className='desc'>
{recordData.nursingTime} {recordData.nursingTime}
</View> </View>
<View className="desc"> <View className='desc'>
{recordData.nursingTime} {recordData.nursingTime}
</View> </View>
<View className="desc"> <View className='desc'>
{recordData.nursingTime} {recordData.nursingTime}
</View> </View>
</View> </View>
@ -332,93 +335,93 @@ export default class Index extends Component<any, any> {
</View> </View>
</View> </View>
</View> </View>
<View className="main_title">-{face_Tyep}</View> <View className='main_title'>-{face_Tyep}</View>
<View className="eacharts"> <View className='eacharts'>
<EchartsForm></EchartsForm> <EchartsForm></EchartsForm>
</View> </View>
</View> </View>
<View className="bottom-title"> <View className='bottom-title'>
<View className="text-title">[1] :1,使11 <View className='text-title'>[1] :1,使11
</View> </View>
<View className="text-title">[2]: 使</View> <View className='text-title'>[2]: 使</View>
<View className="text-title">[3]:使<br /></View> <View className='text-title'>[3]:使<br /></View>
<View className="text-title">[4]:<br /></View> <View className='text-title'>[4]:<br /></View>
<View className="text-title"> <View className='text-title'>
[5]:</View> [5]:</View>
</View> </View>
{reportShow ? ( {reportShow ? (
<View className="footer flex aitems"> <View className='footer flex aitems'>
<View className="btn" onClick={this.setShow.bind(this, true)}></View> <View className='btn' onClick={this.setShow.bind(this, true)}></View>
<View className="text flex aitems"> <View className='text flex aitems'>
<View onClick={this.GoIndex}></View> <View onClick={this.GoIndex}></View>
<Image <Image
src={require("../../img/right.png")} src={require("@/img/right.png")}
mode="aspectFill" mode='aspectFill'
></Image> ></Image>
</View> </View>
</View> </View>
) : null} ) : null}
<Popup show={show} onClose={() => this.setState({ show: false })}> <Popup show={show} onClose={() => this.setState({ show: false })}>
<View className="popBox"> <View className='popBox'>
<Image <Image
className="close_icon" className='close_icon'
src={require("../../img/close.png")} src={require("@/img/close.png")}
mode="widthFix" mode='widthFix'
onClick={this.setShow.bind(this, false)} onClick={this.setShow.bind(this, false)}
></Image> ></Image>
<View className="popTitle"></View> <View className='popTitle'></View>
<View className="popSubtitle"> <View className='popSubtitle'>
<View className="bold">{clockStatistics[0]?.clockNum}</View>{" "} <View className='bold'>{clockStatistics[0]?.clockNum}</View>{" "}
<View className="bold"> <View className='bold'>
{(clockStatistics[0]?.percentage * 100).toFixed(1)}% {(clockStatistics[0]?.percentage * 100).toFixed(1)}%
</View> </View>
</View> </View>
<View className="img_box"> <View className='img_box'>
{punchInInfo.clockImageList.map((item, index) => ( {punchInInfo.clockImageList.map((item, index) => (
<View key={item} className="img"> <View key={item} className='img'>
<Image className="showImg" src={item} mode="widthFix"></Image> <Image className='showImg' src={item} mode='widthFix'></Image>
<Image <Image
className="closeImg" className='closeImg'
src={require("../../img/close1.png")} src={require("@/img/close1.png")}
mode="widthFix" mode='widthFix'
onClick={this.delImg.bind(this, index)} onClick={this.delImg.bind(this, index)}
></Image> ></Image>
</View> </View>
))} ))}
{punchInInfo.clockImageList.length < 3 && ( {punchInInfo.clockImageList.length < 3 && (
<View <View
className="addBox" className='addBox'
onClick={this.handleChooseImage.bind(this)} onClick={this.handleChooseImage.bind(this)}
> >
<Image <Image
className="showImg" className='showImg'
src={require("../../img/clock_in_upload/add-image.png")} src={require("@/img/clock_in_upload/add-image.png")}
mode="widthFix" mode='widthFix'
></Image> ></Image>
</View> </View>
)} )}
</View> </View>
<View className="info4"> <View className='info4'>
<View className="content"> <View className='content'>
<Textarea <Textarea
placeholderStyle="color: #ccc; font-size: 26rpx;font-weight: 400;font-family: PingFang SC;" placeholderStyle='color: #ccc; font-size: 26rpx;font-weight: 400;font-family: PingFang SC;'
placeholder="请记录一下今天的护理心得吧" placeholder='请记录一下今天的护理心得吧'
maxlength={120} maxlength={120}
onInput={this.handleTextareaInput.bind(this)} onInput={this.handleTextareaInput.bind(this)}
value={punchInInfo.clockContent} value={punchInInfo.clockContent}
></Textarea> ></Textarea>
</View> </View>
<View className="tip"> <View className='tip'>
{"" + (punchInInfo.clockContent.length || 0) + "/120"} {"" + (punchInInfo.clockContent.length || 0) + "/120"}
</View> </View>
</View> </View>
<View className="popbtnbox flex aitems jcenter"> <View className='popbtnbox flex aitems jcenter'>
<View className="btn1" onClick={this.submit.bind(this)}> <View className='btn1' onClick={this.submit.bind(this)}>
</View> </View>
</View> </View>

@ -0,0 +1,100 @@
import Taro from "@tarojs/taro";
import classnames from "classnames";
import { Block, View, Image, Text, Input } from "@tarojs/components";
import { Popup, Progress, Slider } from "@antmjs/vantui";
import { useRef } from "react";
import Echarts, { EChartOption, EchartsHandle } from "taro-react-echarts";
import echarts from "@/utils/echarts.min.js";
import "./index.less";
interface Props {
Electricity: any;
matrixElectricity: any;
facialMaskConnectStatus: any;
}
function Index() {
const echartsRef = useRef<EchartsHandle>(null);
const option: EChartOption = {
grid: {
// 让图表占满容器
top: "28rpx",
left: "30rpx",
right: "35rpx",
bottom: "38rpx",
},
title: {
left: 'center',
},
xAxis: {
type: 'category',
boundaryGap: false,
splitLine: {
show: true,
},
data: ['6.17', '6.18', '6.19', '6.20', '6.21', '6.22', '6.23'],
axisTick: {
show: false
},
axisLine: {
lineStyle: {
color: '#ccc'
}
},
axisLabel: {
fontSize: 9
}
},
yAxis: {
type: 'value',
show: false
},
series: [
{
type: 'line',
itemStyle: {
color: 'rgb(168, 222, 244)'
},
symbolSize: 0,
label: {
show: true,
distance: 8,
formatter: function (params) {
return params.value + '级';
}
},
areaStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: 'rgb(220, 240, 248)'
},
{
offset: 1,
color: 'rgb(248, 253, 255)'
}
])
},
data: [5, 3, 4, 6, 3, 4, 3],
}
]
};
return (
<Block>
<View className='box'>
<Echarts
echarts={echarts}
option={option}
ref={echartsRef}
// isPage={false}
// style自定义设置echarts宽高
style={{ width: "100%", height: "260rpx" }}
/>
</View>
</Block>
);
}
export default Index;

@ -7,8 +7,9 @@ page {
} }
.moisture_test_report .time { .moisture_test_report .time {
font-family: Poppins, Poppins;
font-size: 36rpx; font-size: 36rpx;
font-weight: 500; font-weight: 700;
color: #000000; color: #000000;
line-height: 1; line-height: 1;
padding: 38rpx 0; padding: 38rpx 0;
@ -245,7 +246,7 @@ page {
.report_chart { .report_chart {
width: 100%; width: 100%;
height: 500rpx; height: 328rpx;
background: #FFFFFF; background: #FFFFFF;
border-radius: 30rpx; border-radius: 30rpx;
margin: 20rpx 0; margin: 20rpx 0;

@ -7,11 +7,10 @@ import Taro from "@tarojs/taro";
/*** redux ***/ /*** redux ***/
import { connect } from "react-redux"; import { connect } from "react-redux";
import { setMobile } from "../../store/features/userInfo"; import { setMobile } from "@/store/features/userInfo";
/*** redux end ***/ /*** redux end ***/
import Navbar from "@/components/navbar/navbar";
import { WCUserLogin } from "../../utils/Interface"; import Echarts from "./Echarts/index";
import "./moisture_test_report.less"; import "./moisture_test_report.less";
class MoistureTestReport extends Component<any, any> { class MoistureTestReport extends Component<any, any> {
@ -49,7 +48,7 @@ class MoistureTestReport extends Component<any, any> {
}; };
} }
async onLoad() { }
componentDidMount() { } componentDidMount() { }
componentWillUnmount() { } componentWillUnmount() { }
@ -58,6 +57,9 @@ class MoistureTestReport extends Component<any, any> {
componentDidHide() { } componentDidHide() { }
async onLoad() {
}
async initData() { } async initData() { }
getStatusData(level) { getStatusData(level) {
@ -121,16 +123,18 @@ class MoistureTestReport extends Component<any, any> {
render() { render() {
let { name, imgUrl, reportData, bgCssData, isClock, xinde, imglist, id, show } = this.state let { name, imgUrl, reportData, bgCssData, isClock, xinde, imglist, id, show } = this.state
return ( return (
<Block> <Block>
<View className='moisture_test_report'>
<View className='time'>{reportData.curDate || ''}</View>
<Navbar isBack titleSlot='水分测试报告'></Navbar>
<View className='moisture_test_report'>
<View className='time'>2023.6.23</View>
<View className='report_data'> <View className='report_data'>
<View className='forehead moisture_block flex' style='{util.getStatusData(reportData.shuifenLevel.head).bg}'> <View className='forehead moisture_block flex' style={this.getStatusData(reportData.shuifenLevel.head).bg}>
<Image className='moisture_img' src={`/img/fr200/${this.getStatusData(reportData.shuifenLevel.head)}.img}.png`} mode='aspectFill'></Image> <Image className='moisture_img' src={`/img/fr200/${this.getStatusData(reportData.shuifenLevel.head)}.img}.png`} mode='aspectFill'></Image>
<View className='pos_info'> <View className='pos_info'>
<View className='top'></View> <View className='top'></View>
{/* <View className='bottom'>{this.getStatusData(7).title}</View> */} <View className='bottom'>{this.getStatusData(7).title}</View>
<View className='bottom'></View> <View className='bottom'></View>
</View> </View>
@ -217,7 +221,7 @@ class MoistureTestReport extends Component<any, any> {
<View className='report_chart'> <View className='report_chart'>
<View className='chart_title common_title'></View> <View className='chart_title common_title'></View>
<View className='container'> <View className='container'>
{/* <ec-canvas id='mychart' style='width: 100%;height: 100%' canvas-id='mychart-line' ec='{ ec }'></ec-canvas> */} <Echarts></Echarts>
</View> </View>
</View> </View>

@ -0,0 +1,112 @@
// 获取当前连接状态Text
var getConnectionStatusTitle = function (isError, isConnection, deviceType, isStand) {
if (isError) {
return '蓝牙连接失败'
}
if (!isConnection) return '蓝牙连接指引'
// 1: FR200 2: MATRIX 3: WL200 4: FR380 5: FR390 6: M01
switch (deviceType) {
case 1:
case 2:
case 4:
case 5:
case 6:
return '蓝牙连接中'
case 3:
return isStand ? '支架模式启动中' : '面罩模式启动中'
default:
return '蓝牙已连接'
}
}
var getHttpsUrl = function (url) {
if (!url) return;
if ((url.indexOf('http') || url.indexOf('https')) > -1) {
return url;
}
return 'https://oss.flossom.com' + url;
}
var getStatusData = function (level) {
var bgCssData = {
serious: 'background: #FFE3E3',
moderate: 'background: #FFEBDC',
slight: 'background: #F6FCFF',
normal: 'background: #F8F8F8',
sufficient: 'background: #F8F8F8'
}
var progressBgData = {
serious: 'background: #FF9393',
moderate: 'background: #FFC58C',
slight: 'background: #E5F3F9',
normal: 'background: #C2E5F3',
sufficient: 'background: #9FDBF3'
}
if (level >= 1 && level <= 2) {
return {
bg: bgCssData.serious,
title: '严重缺水',
gear: 1,
img: 'serious',
progressBg: progressBgData.serious
}
} else if (level >= 3 && level <= 4) {
return {
bg: bgCssData.moderate,
title: '中度缺水',
gear: 2,
img: 'moderate',
progressBg: progressBgData.moderate
}
} else if (level >= 5 && level <= 6) {
return {
bg: bgCssData.slight,
title: '轻微缺水',
gear: 3,
img: 'slight',
progressBg: progressBgData.slight
}
} else if (level >= 7 && level <= 8) {
return {
bg: bgCssData.normal,
title: '水分正常',
gear: 4,
img: 'normal',
progressBg: progressBgData.normal
}
} else if (level >= 9 && level <= 10) {
return {
bg: bgCssData.sufficient,
title: '水分充足',
gear: 5,
img: 'sufficient',
progressBg: progressBgData.sufficient
}
}
}
var formatDuration = function (string) {
return string.slice(0, 2) + '分' + string.slice(-2) + '秒'
}
var formatEnergy = function (string, type) {
if (!string) return;
var minutes = parseInt(string.slice(0, 2));
var seconds = parseInt(string.slice(-2));
var energy = minutes * 60 + seconds
if (type === 'face') {
return energy >= 360 ? 360 : energy
}
if (type === 'eye') {
return energy >= 240 ? 240 : energy
}
return energy >= 600 ? 600 : energy
}
module.exports = {
getConnectionStatusTitle,
getStatusData,
getHttpsUrl,
formatDuration,
formatEnergy
}

@ -17,12 +17,12 @@ import { go } from "@/utils/traoAPI";
import { Tab, Tabs, Dialog, Popup } from "@antmjs/vantui"; import { Tab, Tabs, Dialog, Popup } from "@antmjs/vantui";
/** 自定义组件 **/ /** 自定义组件 **/
import Navbar from "../../components/navbar/navbar"; import Navbar from "@/components/navbar/navbar";
import PopupClock from "../../components/popup/popup-clock"; import PopupClock from "@/components/popup/popup-clock";
/** 自定义组件 **/ /** 自定义组件 **/
import { InstrumentInfo } from "../../utils/Interface"; import { InstrumentInfo } from "@/utils/Interface";
import { date, getdates, previewImage } from "../../utils/util"; import { date, getdates, previewImage } from "@/utils/util";
import { showModal } from "../../utils/traoAPI.js"; import { showModal } from "@/utils/traoAPI.js";
import "./recording.less"; import "./recording.less";
@ -294,16 +294,16 @@ export default class Recording extends Component<any, any> {
}; };
// 跳转到护理报告 // 跳转到护理报告
toReport(id, recordId, item) { toReport(id, recordId, item) {
console.log(item, '查看类型', item.jumpType ); console.log(item, '查看类型', item.jumpType);
item.jumpType =1 item.jumpType = 1
switch (item.jumpType ) { switch (item.jumpType) {
case 1: case 1:
this.One(item); this.One(item);
break; break;
case 2: case 2:
this.two(item); break; this.two(item); break;
case 3: case 3:
this.three(item); break; this.three(item); break;
default: default:
@ -315,19 +315,19 @@ export default class Recording extends Component<any, any> {
// 打开第一种类型 // 打开第一种类型
One = async (item) => { One = async (item) => {
console.log('打开第一种类型', item); console.log('打开第一种类型', item);
let report =false let report = false
go("/pages/face_report_one/face_report_one?id=" + item.id + "&recordId=" + item.recordId+ "&report=" + report ); go("/recoding/pages/face_report_one/face_report_one?id=" + item.id + "&recordId=" + item.recordId + "&report=" + report);
} }
// 打开第二种类型 // 打开第二种类型
two = async (item) => { two = async (item) => {
console.log('打开第二种类型', item); console.log('打开第二种类型', item);
} }
// 打开第二种类型 // 打开第二种类型
three = async (item) => { three = async (item) => {
console.log('打开第二种类型', item); console.log('打开第二种类型', item);
} }
// 打开其他类型 // 打开其他类型
AllDevice = async (item) => { AllDevice = async (item) => {
console.log('打开其他类型', item); console.log('打开其他类型', item);
@ -427,8 +427,8 @@ export default class Recording extends Component<any, any> {
return ( return (
<Block> <Block>
<Navbar isBack titleSlot="护理记录"></Navbar> <Navbar isBack titleSlot='护理记录'></Navbar>
<View className="tabs"> <View className='tabs'>
<View <View
className={classnames("tab", { className={classnames("tab", {
tab_active: current === 0, tab_active: current === 0,
@ -449,7 +449,7 @@ export default class Recording extends Component<any, any> {
</View> </View>
</View> </View>
{current === 0 && ( {current === 0 && (
<ScrollView className="products_list" scroll-x="true"> <ScrollView className='products_list' scroll-x='true'>
<View <View
className={classnames("all", { className={classnames("all", {
products_item_active: !curIndex, products_item_active: !curIndex,
@ -467,11 +467,11 @@ export default class Recording extends Component<any, any> {
onClick={this.onChangeProduct.bind(this, item.id)} onClick={this.onChangeProduct.bind(this, item.id)}
> >
<Image <Image
className="products_cover" className='products_cover'
src={require("../../img/test/1706692819894.jpg")} src={require("@/img/test/1706692819894.jpg")}
mode="aspectFit" mode='aspectFit'
></Image> ></Image>
<View className="products_title"></View> <View className='products_title'></View>
</View> </View>
))} ))}
</ScrollView> </ScrollView>
@ -479,17 +479,17 @@ export default class Recording extends Component<any, any> {
{current === 0 && recordList.length === 0 && ( {current === 0 && recordList.length === 0 && (
<View> <View>
<View className="nodata"> <View className='nodata'>
<Image <Image
className="nodata_img" className='nodata_img'
src={require("../../img/nodata.png")} src={require("@/img/nodata.png")}
></Image> ></Image>
<View className="nodata_text"></View> <View className='nodata_text'></View>
</View> </View>
</View> </View>
)} )}
{current === 0 && ( {current === 0 && (
<View style="padding-bottom:200px"> <View style='padding-bottom:200px'>
{/* <View className='instrument_item' > {/* <View className='instrument_item' >
<View className='instrument_top flex sb aitems'> <View className='instrument_top flex sb aitems'>
<View className='time_box flex aitems'> <View className='time_box flex aitems'>
@ -516,12 +516,12 @@ export default class Recording extends Component<any, any> {
</View> </View>
</View> */} </View> */}
<View className="instrument_list "> <View className='instrument_list '>
{recordList.map((item: any, index: any) => ( {recordList.map((item: any, index: any) => (
<View className="recording-box" key={item.id}> <View className='recording-box' key={item.id}>
<View className="box-top"> <View className='box-top'>
<View className="top-left"> <View className='top-left'>
<View className="date">{item.createTime}</View> <View className='date'>{item.createTime}</View>
<View <View
className={classnames("tip", { className={classnames("tip", {
tag_active: item.online === 2, tag_active: item.online === 2,
@ -532,7 +532,7 @@ export default class Recording extends Component<any, any> {
</View> </View>
{item.instrumentType === 2 && ( {item.instrumentType === 2 && (
<View <View
className="top-right" className='top-right'
onClick={this.toReport.bind( onClick={this.toReport.bind(
this, this,
item.instrumentId, item.instrumentId,
@ -542,23 +542,23 @@ export default class Recording extends Component<any, any> {
> >
<Image <Image
className="arrow_icon" className='arrow_icon'
src={require("../../img/index/right.png")} src={require("@/img/index/right.png")}
mode="aspectFill" mode='aspectFill'
></Image> ></Image>
</View> </View>
)} )}
</View> </View>
<View className="box-bottom"> <View className='box-bottom'>
<Image <Image
className="recording_img" className='recording_img'
src={item.modeImage} src={item.modeImage}
></Image> ></Image>
<View className="bottom-right"> <View className='bottom-right'>
<View className="title">{item.instrumentName}</View> <View className='title'>{item.instrumentName}</View>
<View className="subtitle-box"> <View className='subtitle-box'>
<View className="subtitle">{item.modeName}</View> <View className='subtitle'>{item.modeName}</View>
<View className="subtitle"> <View className='subtitle'>
{item.nursingTime} {item.nursingTime}
</View> </View>
</View> </View>
@ -570,7 +570,7 @@ export default class Recording extends Component<any, any> {
</View> </View>
)} )}
{current === 1 && ( {current === 1 && (
<View style="padding-bottom:200px"> <View style='padding-bottom:200px'>
{/* <View className='nodata'> {/* <View className='nodata'>
<Image <Image
className='nodata_img' className='nodata_img'
@ -578,52 +578,52 @@ export default class Recording extends Component<any, any> {
></Image> ></Image>
<View className='nodata_text'></View> <View className='nodata_text'></View>
</View> */} </View> */}
<View style="height: 30rpx; background: #F8F8F8"></View> <View style='height: 30rpx; background: #F8F8F8'></View>
<View className="clock_in_statistics m-x-30 flex sb"> <View className='clock_in_statistics m-x-30 flex sb'>
<View className="flex sb ab"> <View className='flex sb ab'>
<View className="clock_in_statistics_title"></View> <View className='clock_in_statistics_title'></View>
<Picker <Picker
mode="date" mode='date'
fields="year" fields='year'
onChange={this.onChangeYear.bind(this)} onChange={this.onChangeYear.bind(this)}
value="{{year}}" value='{{year}}'
end="{{today}}" end='{{today}}'
> >
<View className="clock_in_statistics_date flex aitems"> <View className='clock_in_statistics_date flex aitems'>
<View>{year}</View> <View>{year}</View>
<Image <Image
className="more_icon" className='more_icon'
src={require("../../img/arrow-down.png")} src={require("@/img/arrow-down.png")}
mode="widthFix" mode='widthFix'
></Image> ></Image>
</View> </View>
</Picker> </Picker>
</View> </View>
<View className="chart flex sb"> <View className='chart flex sb'>
{monthTime.map((item) => ( {monthTime.map((item) => (
<View className="flex fc aitems" key={item.month}> <View className='flex fc aitems' key={item.month}>
{item.time > 0 && ( {item.time > 0 && (
<View className="buoy">{item.time}</View> <View className='buoy'>{item.time}</View>
)} )}
<View <View
className="column" className='column'
style={{ height: `calc(186/31*${item.time}rpx)` }} style={{ height: `calc(186/31*${item.time}rpx)` }}
></View> ></View>
<View className="month">{item.month}</View> <View className='month'>{item.month}</View>
</View> </View>
))} ))}
</View> </View>
</View> </View>
<View style="padding-bottom: env(safe-area-inset-bottom)"> <View style='padding-bottom: env(safe-area-inset-bottom)'>
<View className="month_box m-x-30"> <View className='month_box m-x-30'>
{clockStatistics.map((item) => ( {clockStatistics.map((item) => (
<View className="month_statistics" key={item.id}> <View className='month_statistics' key={item.id}>
<View className="flex aitems sb"> <View className='flex aitems sb'>
<View className="time"> <View className='time'>
{item.year}{item.month} {item.year}{item.month}
</View> </View>
<View <View
className="more_box flex aitems" className='more_box flex aitems'
onClick={this.onChangeMore.bind( onClick={this.onChangeMore.bind(
this, this,
item.id, item.id,
@ -631,7 +631,7 @@ export default class Recording extends Component<any, any> {
item.month item.month
)} )}
> >
<View className="more_text"> <View className='more_text'>
{" "} {" "}
{!item.isMore ? "展开更多" : "收起更多"} {!item.isMore ? "展开更多" : "收起更多"}
</View> </View>
@ -641,49 +641,49 @@ export default class Recording extends Component<any, any> {
? "rotate(180deg)" ? "rotate(180deg)"
: "rotate(0deg)", : "rotate(0deg)",
}} }}
className="more_icon" className='more_icon'
src={require("../../img/arrow-down.png")} src={require("@/img/arrow-down.png")}
mode="widthFix" mode='widthFix'
></Image> ></Image>
</View> </View>
</View> </View>
<View style="height: 59rpx"></View> <View style='height: 59rpx'></View>
<View className="statistic"> <View className='statistic'>
<View className="statistic_item"> <View className='statistic_item'>
<View className="statistic_num">{item.clockNum}</View> <View className='statistic_num'>{item.clockNum}</View>
<View className="statistic_desc"></View> <View className='statistic_desc'></View>
</View> </View>
<View className="statistic_item"> <View className='statistic_item'>
<View className="statistic_num"> <View className='statistic_num'>
{(item.percentage * 100).toFixed(2)}% {(item.percentage * 100).toFixed(2)}%
</View> </View>
<View className="statistic_desc"></View> <View className='statistic_desc'></View>
</View> </View>
<View className="border"></View> <View className='border'></View>
</View> </View>
{item.isMore && item.detail && ( {item.isMore && item.detail && (
<View> <View>
{item.detail.map((obj) => ( {item.detail.map((obj) => (
<View key={obj}> <View key={obj}>
<View style="height: 57rpx"></View> <View style='height: 57rpx'></View>
<View className="month_item"> <View className='month_item'>
<View className="month_item_date"> <View className='month_item_date'>
{obj.updateTime} {obj.updateTime}
</View> </View>
<View className="month_image_box flex sb"> <View className='month_image_box flex sb'>
{obj.clockImg.map((img) => ( {obj.clockImg.map((img) => (
<Image <Image
key={img} key={img}
className="month_item_cover" className='month_item_cover'
src={img} src={img}
></Image> ></Image>
))} ))}
</View> </View>
<View className="month_item_date"> <View className='month_item_date'>
{/* 小紫弹智能射频仪、花至抗老射频仪PRO{" "} */} {/* 小紫弹智能射频仪、花至抗老射频仪PRO{" "} */}
{obj.instrumentName === null ? "" : obj.instrumentName} {obj.instrumentName === null ? "" : obj.instrumentName}
</View> </View>
<View className="month_item_note"> <View className='month_item_note'>
{obj.clockContent} {obj.clockContent}
</View> </View>
</View> </View>
@ -699,8 +699,8 @@ export default class Recording extends Component<any, any> {
)} )}
{ {
!clockShow && ViewAddInstrument === "true" && ( !clockShow && ViewAddInstrument === "true" && (
<View className="footer flex aitems"> <View className='footer flex aitems'>
<View className="btn" onClick={this.setShow.bind(this, true)}> <View className='btn' onClick={this.setShow.bind(this, true)}>
</View> </View>
{/* <View className="text" onClick={this.back}> {/* <View className="text" onClick={this.back}>
@ -711,65 +711,65 @@ export default class Recording extends Component<any, any> {
} }
<Popup show={show} onClose={() => this.setState({ show: false })}> <Popup show={show} onClose={() => this.setState({ show: false })}>
<View className="popBox"> <View className='popBox'>
<Image <Image
className="close_icon" className='close_icon'
src={require("../../img/close.png")} src={require("@/img/close.png")}
mode="widthFix" mode='widthFix'
onClick={this.setShow.bind(this, false)} onClick={this.setShow.bind(this, false)}
></Image> ></Image>
<View className="popTitle"></View> <View className='popTitle'></View>
<View className="popSubtitle"> <View className='popSubtitle'>
<View className="bold">{clockStatistics[0]?.clockNum}</View>{" "} <View className='bold'>{clockStatistics[0]?.clockNum}</View>{" "}
<View className="bold"> <View className='bold'>
{(clockStatistics[0]?.percentage * 100).toFixed(1)}% {(clockStatistics[0]?.percentage * 100).toFixed(1)}%
</View> </View>
</View> </View>
<View className="img_box"> <View className='img_box'>
{punchInInfo.clockImageList.map((item, index) => ( {punchInInfo.clockImageList.map((item, index) => (
<View key={item} className="img"> <View key={item} className='img'>
<Image className="showImg" src={item} mode="widthFix"></Image> <Image className='showImg' src={item} mode='widthFix'></Image>
<Image <Image
className="closeImg" className='closeImg'
src={require("../../img/close1.png")} src={require("@/img/close1.png")}
mode="widthFix" mode='widthFix'
onClick={this.delImg.bind(this, index)} onClick={this.delImg.bind(this, index)}
></Image> ></Image>
</View> </View>
))} ))}
{punchInInfo.clockImageList.length < 3 && ( {punchInInfo.clockImageList.length < 3 && (
<View <View
className="addBox" className='addBox'
onClick={this.handleChooseImage.bind(this)} onClick={this.handleChooseImage.bind(this)}
> >
<Image <Image
className="showImg" className='showImg'
src={require("../../img/clock_in_upload/add-image.png")} src={require("@/img/clock_in_upload/add-image.png")}
mode="widthFix" mode='widthFix'
></Image> ></Image>
</View> </View>
)} )}
</View> </View>
<View className="info4"> <View className='info4'>
<View className="content"> <View className='content'>
<Textarea <Textarea
placeholderStyle="color: #ccc; font-size: 26rpx;font-weight: 400;font-family: PingFang SC;" placeholderStyle='color: #ccc; font-size: 26rpx;font-weight: 400;font-family: PingFang SC;'
placeholder="请记录一下今天的护理心得吧" placeholder='请记录一下今天的护理心得吧'
maxlength={120} maxlength={120}
onInput={this.handleTextareaInput.bind(this)} onInput={this.handleTextareaInput.bind(this)}
value={punchInInfo.clockContent} value={punchInInfo.clockContent}
></Textarea> ></Textarea>
</View> </View>
<View className="tip"> <View className='tip'>
{"" + (punchInInfo.clockContent.length || 0) + "/120"} {"" + (punchInInfo.clockContent.length || 0) + "/120"}
</View> </View>
</View> </View>
<View className="popbtnbox flex aitems jcenter"> <View className='popbtnbox flex aitems jcenter'>
<View className="btn1" onClick={this.submit.bind(this)}> <View className='btn1' onClick={this.submit.bind(this)}>
</View> </View>
</View> </View>
Loading…
Cancel
Save