|
|
|
|
@ -61,14 +61,14 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
clockImageList: [],
|
|
|
|
|
clockContent: "",
|
|
|
|
|
},
|
|
|
|
|
navigationBarHeight: '',
|
|
|
|
|
statusBarHeight: ''
|
|
|
|
|
navigationBarHeight: "",
|
|
|
|
|
statusBarHeight: "",
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
componentDidMount() { }
|
|
|
|
|
componentDidMount() {}
|
|
|
|
|
|
|
|
|
|
componentWillUnmount() { }
|
|
|
|
|
componentWillUnmount() {}
|
|
|
|
|
// 格式化时间
|
|
|
|
|
getTime(time) {
|
|
|
|
|
const hour = time.slice(0, 2);
|
|
|
|
|
@ -270,15 +270,13 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
this.getClockStatistics();
|
|
|
|
|
this.DayTime();
|
|
|
|
|
this.setStatusBar();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
componentDidShow() { }
|
|
|
|
|
componentDidShow() {}
|
|
|
|
|
|
|
|
|
|
componentDidHide() { }
|
|
|
|
|
componentDidHide() {}
|
|
|
|
|
|
|
|
|
|
async initData() {
|
|
|
|
|
}
|
|
|
|
|
async initData() {}
|
|
|
|
|
// 选择年份
|
|
|
|
|
onChangeYear(event) {
|
|
|
|
|
this.setState({ year: event.detail.value });
|
|
|
|
|
@ -294,12 +292,12 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
};
|
|
|
|
|
// 跳转到护理报告
|
|
|
|
|
toReport(id, recordId, item) {
|
|
|
|
|
this.state.bindingInstrumentList.map(instrument => {
|
|
|
|
|
this.state.bindingInstrumentList.map((instrument) => {
|
|
|
|
|
if (instrument.id == id) {
|
|
|
|
|
setStorageSync("instrument_detail", instrument);
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
console.log(item, '查看');
|
|
|
|
|
});
|
|
|
|
|
console.log(item, "查看");
|
|
|
|
|
|
|
|
|
|
if ([1, 2, 3, 4, 5].includes(item.jumpType)) {
|
|
|
|
|
this.One(item);
|
|
|
|
|
@ -316,22 +314,23 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
}
|
|
|
|
|
// 打开第一种类型
|
|
|
|
|
One = async (item) => {
|
|
|
|
|
let ids = Number(item.id)
|
|
|
|
|
let ids = Number(item.id);
|
|
|
|
|
// 获取echarts数据 这个是获取接口更新echarts页面
|
|
|
|
|
let res2 = await InstrumentInfo.apiNursingLog.getStatiCDE(ids);
|
|
|
|
|
let nursingData = JSON.parse(res2.data.data.nursingData)
|
|
|
|
|
let nursingData = JSON.parse(res2.data.data.nursingData);
|
|
|
|
|
let obj = {
|
|
|
|
|
modeName: res2.data.data.modeName,
|
|
|
|
|
data: nursingData
|
|
|
|
|
}
|
|
|
|
|
data: nursingData,
|
|
|
|
|
};
|
|
|
|
|
let report = false;
|
|
|
|
|
|
|
|
|
|
go(
|
|
|
|
|
"/recoding/pages/face_report_one/face_report_one?id=" +
|
|
|
|
|
item.id +
|
|
|
|
|
"&report=" +
|
|
|
|
|
report + "&obj=" +
|
|
|
|
|
JSON.stringify(obj)
|
|
|
|
|
item.id +
|
|
|
|
|
"&report=" +
|
|
|
|
|
report +
|
|
|
|
|
"&obj=" +
|
|
|
|
|
JSON.stringify(obj)
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
// 打开第二种类型
|
|
|
|
|
@ -340,64 +339,74 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
let report = false;
|
|
|
|
|
go(
|
|
|
|
|
"/recoding/pages/face_report/face_report?id=" +
|
|
|
|
|
item.id +
|
|
|
|
|
"&recordId=" + item.instrumentId +
|
|
|
|
|
"&report=" +
|
|
|
|
|
report
|
|
|
|
|
item.id +
|
|
|
|
|
"&recordId=" +
|
|
|
|
|
item.instrumentId +
|
|
|
|
|
"&report=" +
|
|
|
|
|
report
|
|
|
|
|
);
|
|
|
|
|
};
|
|
|
|
|
// 打开第三种类型
|
|
|
|
|
three = async (item) => {
|
|
|
|
|
this.moistureTest(item)
|
|
|
|
|
this.moistureTest(item);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
async moistureTest(allData) {
|
|
|
|
|
let data = {
|
|
|
|
|
queryDate: allData.createTime,
|
|
|
|
|
instrumentId: allData.instrumentId
|
|
|
|
|
}
|
|
|
|
|
instrumentId: allData.instrumentId,
|
|
|
|
|
};
|
|
|
|
|
let res = await InstrumentInfo.fr200.moistureTest(data);
|
|
|
|
|
console.log(res,'查看返回数据');
|
|
|
|
|
|
|
|
|
|
let echartsData = res.data.rows
|
|
|
|
|
console.log(res, "查看返回数据");
|
|
|
|
|
|
|
|
|
|
let echartsData = res.data.rows;
|
|
|
|
|
for (let i = 0; i < echartsData.length; i++) {
|
|
|
|
|
for (let j = i + 1; j < echartsData.length; j++) {
|
|
|
|
|
if (echartsData[i].createTime.split(' ')[0] == echartsData[j].createTime.split(' ')[0]) {
|
|
|
|
|
let result = Date.parse(echartsData[i].createTime) - Date.parse(echartsData[j].createTime)
|
|
|
|
|
if (
|
|
|
|
|
echartsData[i].createTime.split(" ")[0] ==
|
|
|
|
|
echartsData[j].createTime.split(" ")[0]
|
|
|
|
|
) {
|
|
|
|
|
let result =
|
|
|
|
|
Date.parse(echartsData[i].createTime) -
|
|
|
|
|
Date.parse(echartsData[j].createTime);
|
|
|
|
|
if (result < 0) {
|
|
|
|
|
echartsData.splice(i, 1)
|
|
|
|
|
echartsData.splice(i, 1);
|
|
|
|
|
} else {
|
|
|
|
|
echartsData.splice(j, 1)
|
|
|
|
|
echartsData.splice(j, 1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
let gears: any = []
|
|
|
|
|
let eDate: any = []
|
|
|
|
|
console.log(echartsData,'echartsDataechartsData');
|
|
|
|
|
|
|
|
|
|
echartsData.map(item => {
|
|
|
|
|
|
|
|
|
|
const result = item.createTime.split(' ')[0].substring(5);
|
|
|
|
|
eDate.push(result)
|
|
|
|
|
item.nursingData = JSON.parse(item.nursingData)
|
|
|
|
|
let level: any = 0
|
|
|
|
|
item.nursingData?.GearData?.map(gear => {
|
|
|
|
|
level = level + gear.forehead
|
|
|
|
|
})
|
|
|
|
|
level = Math.floor(level / 3)
|
|
|
|
|
gears.push(level)
|
|
|
|
|
})
|
|
|
|
|
let gears: any = [];
|
|
|
|
|
let eDate: any = [];
|
|
|
|
|
console.log(echartsData, "echartsDataechartsData");
|
|
|
|
|
|
|
|
|
|
echartsData.map((item) => {
|
|
|
|
|
const result = item.createTime.split(" ")[0].substring(5);
|
|
|
|
|
eDate.push(result);
|
|
|
|
|
item.nursingData = JSON.parse(item.nursingData);
|
|
|
|
|
let level: any = 0;
|
|
|
|
|
item.nursingData?.GearData?.map((gear) => {
|
|
|
|
|
level = level + gear.forehead;
|
|
|
|
|
});
|
|
|
|
|
level = Math.floor(level / 3);
|
|
|
|
|
gears.push(level);
|
|
|
|
|
});
|
|
|
|
|
echartsData = {
|
|
|
|
|
gears, eDate
|
|
|
|
|
}
|
|
|
|
|
setStorageSync('moistureEachtsData', JSON.stringify(echartsData))
|
|
|
|
|
|
|
|
|
|
go(`/recoding/pages/moisture_test_report/moisture_test_report?data=${allData.nursingData}&date=${allData.createTime}&modeId=${allData.modeId}&id=${allData.instrumentId}&echartsData=${JSON.stringify(echartsData)}`);
|
|
|
|
|
gears,
|
|
|
|
|
eDate,
|
|
|
|
|
};
|
|
|
|
|
setStorageSync("moistureEachtsData", JSON.stringify(echartsData));
|
|
|
|
|
|
|
|
|
|
go(
|
|
|
|
|
`/recoding/pages/moisture_test_report/moisture_test_report?data=${
|
|
|
|
|
allData.nursingData
|
|
|
|
|
}&date=${allData.createTime}&modeId=${allData.modeId}&id=${
|
|
|
|
|
allData.instrumentId
|
|
|
|
|
}&echartsData=${JSON.stringify(echartsData)}`
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 打开其他类型
|
|
|
|
|
AllDevice = async (item) => {
|
|
|
|
|
console.log("打开其他类型", item);
|
|
|
|
|
@ -476,7 +485,6 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setStatusBar() {
|
|
|
|
|
|
|
|
|
|
Taro.getSystemInfoAsync({
|
|
|
|
|
success: (res) => {
|
|
|
|
|
const statusBarHeight = res.statusBarHeight || 0;
|
|
|
|
|
@ -511,17 +519,20 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
show,
|
|
|
|
|
punchInInfo,
|
|
|
|
|
navigationBarHeight,
|
|
|
|
|
statusBarHeight
|
|
|
|
|
statusBarHeight,
|
|
|
|
|
} = this.state;
|
|
|
|
|
const statusBarHeightRpx = statusBarHeight * 2;
|
|
|
|
|
const navigationBarHeightRpx = navigationBarHeight * 2;
|
|
|
|
|
const height = statusBarHeightRpx + navigationBarHeightRpx
|
|
|
|
|
const height = statusBarHeightRpx + navigationBarHeightRpx;
|
|
|
|
|
return (
|
|
|
|
|
<Block>
|
|
|
|
|
<Navbar isBack titleSlot='护理记录'></Navbar>
|
|
|
|
|
<View className='tabs' style={{
|
|
|
|
|
top: height + "rpx", position: 'sticky'
|
|
|
|
|
}}
|
|
|
|
|
<Navbar isBack titleSlot="护理记录"></Navbar>
|
|
|
|
|
<View
|
|
|
|
|
className="tabs"
|
|
|
|
|
style={{
|
|
|
|
|
top: height + "rpx",
|
|
|
|
|
position: "sticky",
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<View
|
|
|
|
|
className={classnames("tab", {
|
|
|
|
|
@ -543,9 +554,13 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
{current === 0 && (
|
|
|
|
|
<ScrollView className='products_list' scroll-x='true' style={{
|
|
|
|
|
top: height + 110 + 'rpx', position: 'sticky'
|
|
|
|
|
}}
|
|
|
|
|
<ScrollView
|
|
|
|
|
className="products_list"
|
|
|
|
|
scroll-x="true"
|
|
|
|
|
style={{
|
|
|
|
|
top: height + 110 + "rpx",
|
|
|
|
|
position: "sticky",
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<View
|
|
|
|
|
className={classnames("all", {
|
|
|
|
|
@ -564,11 +579,11 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
onClick={this.onChangeProduct.bind(this, item.id)}
|
|
|
|
|
>
|
|
|
|
|
<Image
|
|
|
|
|
className='products_cover'
|
|
|
|
|
className="products_cover"
|
|
|
|
|
src={item.logo}
|
|
|
|
|
mode='aspectFill'
|
|
|
|
|
mode="aspectFill"
|
|
|
|
|
></Image>
|
|
|
|
|
<View className='products_title'>{item.name}</View>
|
|
|
|
|
<View className="products_title">{item.name}</View>
|
|
|
|
|
</View>
|
|
|
|
|
))}
|
|
|
|
|
</ScrollView>
|
|
|
|
|
@ -576,17 +591,17 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
|
|
|
|
|
{current === 0 && recordList.length === 0 && (
|
|
|
|
|
<View>
|
|
|
|
|
<View className='nodata'>
|
|
|
|
|
<View className="nodata">
|
|
|
|
|
<Image
|
|
|
|
|
className='nodata_img'
|
|
|
|
|
className="nodata_img"
|
|
|
|
|
src={require("@/img/nodata.png")}
|
|
|
|
|
></Image>
|
|
|
|
|
<View className='nodata_text'>暂无数据</View>
|
|
|
|
|
<View className="nodata_text">暂无数据</View>
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
)}
|
|
|
|
|
{current === 0 && (
|
|
|
|
|
<View style='padding-bottom:200px'>
|
|
|
|
|
<View style="padding-bottom:200px">
|
|
|
|
|
{/* <View className='instrument_item' >
|
|
|
|
|
<View className='instrument_top flex sb aitems'>
|
|
|
|
|
<View className='time_box flex aitems'>
|
|
|
|
|
@ -613,12 +628,12 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
</View>
|
|
|
|
|
</View> */}
|
|
|
|
|
|
|
|
|
|
<View className='instrument_list '>
|
|
|
|
|
<View className="instrument_list ">
|
|
|
|
|
{recordList.map((item: any, index: any) => (
|
|
|
|
|
<View className='recording-box' key={item.id}>
|
|
|
|
|
<View className='box-top'>
|
|
|
|
|
<View className='top-left'>
|
|
|
|
|
<View className='date'>{item.createTime}</View>
|
|
|
|
|
<View className="recording-box" key={item.id}>
|
|
|
|
|
<View className="box-top">
|
|
|
|
|
<View className="top-left">
|
|
|
|
|
<View className="date">{item.createTime}</View>
|
|
|
|
|
<View
|
|
|
|
|
className={classnames("tip", {
|
|
|
|
|
tag_active: item.online === 2,
|
|
|
|
|
@ -629,7 +644,7 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
</View>
|
|
|
|
|
{item.instrumentType === 2 && (
|
|
|
|
|
<View
|
|
|
|
|
className='top-right'
|
|
|
|
|
className="top-right"
|
|
|
|
|
onClick={this.toReport.bind(
|
|
|
|
|
this,
|
|
|
|
|
item.instrumentId,
|
|
|
|
|
@ -639,24 +654,26 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
>
|
|
|
|
|
回看报告
|
|
|
|
|
<Image
|
|
|
|
|
className='arrow_icon'
|
|
|
|
|
className="arrow_icon"
|
|
|
|
|
src={require("@/img/index/right.png")}
|
|
|
|
|
mode='aspectFill'
|
|
|
|
|
mode="aspectFill"
|
|
|
|
|
></Image>
|
|
|
|
|
</View>
|
|
|
|
|
)}
|
|
|
|
|
</View>
|
|
|
|
|
<View className='box-bottom'>
|
|
|
|
|
<View className="box-bottom">
|
|
|
|
|
<Image
|
|
|
|
|
className='recording_img'
|
|
|
|
|
className="recording_img"
|
|
|
|
|
src={item.modeImage}
|
|
|
|
|
></Image>
|
|
|
|
|
<View className='bottom-right'>
|
|
|
|
|
<View className='title'>{item.instrumentName}</View>
|
|
|
|
|
<View className='subtitle-box'>
|
|
|
|
|
<View className='subtitle'>模式:{item.modeName}</View>
|
|
|
|
|
<View className='subtitle'>
|
|
|
|
|
护理时间:{item.nursingTime}
|
|
|
|
|
<View className="bottom-right">
|
|
|
|
|
<View className="title">{item.instrumentName}</View>
|
|
|
|
|
<View className="subtitle-box">
|
|
|
|
|
<View className="subtitle">模式:{item.modeName}</View>
|
|
|
|
|
<View className="subtitle">
|
|
|
|
|
{item.instrumentType === 2 && (
|
|
|
|
|
<Text>护理时间:{item.nursingTime}</Text>
|
|
|
|
|
)}
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
@ -667,7 +684,7 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
</View>
|
|
|
|
|
)}
|
|
|
|
|
{current === 1 && (
|
|
|
|
|
<View style='padding-bottom:200px'>
|
|
|
|
|
<View style="padding-bottom:200px">
|
|
|
|
|
{/* <View className='nodata'>
|
|
|
|
|
<Image
|
|
|
|
|
className='nodata_img'
|
|
|
|
|
@ -675,52 +692,52 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
></Image>
|
|
|
|
|
<View className='nodata_text'>暂无数据</View>
|
|
|
|
|
</View> */}
|
|
|
|
|
<View style='height: 30rpx; background: #F8F8F8'></View>
|
|
|
|
|
<View className='clock_in_statistics m-x-30 flex sb'>
|
|
|
|
|
<View className='flex sb ab'>
|
|
|
|
|
<View className='clock_in_statistics_title'>年度打卡统计</View>
|
|
|
|
|
<View style="height: 30rpx; background: #F8F8F8"></View>
|
|
|
|
|
<View className="clock_in_statistics m-x-30 flex sb">
|
|
|
|
|
<View className="flex sb ab">
|
|
|
|
|
<View className="clock_in_statistics_title">年度打卡统计</View>
|
|
|
|
|
<Picker
|
|
|
|
|
mode='date'
|
|
|
|
|
fields='year'
|
|
|
|
|
mode="date"
|
|
|
|
|
fields="year"
|
|
|
|
|
onChange={this.onChangeYear.bind(this)}
|
|
|
|
|
value='{{year}}'
|
|
|
|
|
end='{{today}}'
|
|
|
|
|
value="{{year}}"
|
|
|
|
|
end="{{today}}"
|
|
|
|
|
>
|
|
|
|
|
<View className='clock_in_statistics_date flex aitems'>
|
|
|
|
|
<View className="clock_in_statistics_date flex aitems">
|
|
|
|
|
<View>{year}年</View>
|
|
|
|
|
<Image
|
|
|
|
|
className='more_icon'
|
|
|
|
|
className="more_icon"
|
|
|
|
|
src={require("@/img/arrow-down.png")}
|
|
|
|
|
mode='widthFix'
|
|
|
|
|
mode="widthFix"
|
|
|
|
|
></Image>
|
|
|
|
|
</View>
|
|
|
|
|
</Picker>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='chart flex sb'>
|
|
|
|
|
<View className="chart flex sb">
|
|
|
|
|
{monthTime.map((item) => (
|
|
|
|
|
<View className='flex fc aitems' key={item.month}>
|
|
|
|
|
<View className="flex fc aitems" key={item.month}>
|
|
|
|
|
{item.time > 0 && (
|
|
|
|
|
<View className='buoy'>{item.time}天</View>
|
|
|
|
|
<View className="buoy">{item.time}天</View>
|
|
|
|
|
)}
|
|
|
|
|
<View
|
|
|
|
|
className='column'
|
|
|
|
|
className="column"
|
|
|
|
|
style={{ height: `calc(186/31*${item.time}rpx)` }}
|
|
|
|
|
></View>
|
|
|
|
|
<View className='month'>{item.month}</View>
|
|
|
|
|
<View className="month">{item.month}</View>
|
|
|
|
|
</View>
|
|
|
|
|
))}
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
<View style='padding-bottom: env(safe-area-inset-bottom)'>
|
|
|
|
|
<View className='month_box m-x-30'>
|
|
|
|
|
<View style="padding-bottom: env(safe-area-inset-bottom)">
|
|
|
|
|
<View className="month_box m-x-30">
|
|
|
|
|
{clockStatistics.map((item) => (
|
|
|
|
|
<View className='month_statistics' key={item.id}>
|
|
|
|
|
<View className='flex aitems sb'>
|
|
|
|
|
<View className='time'>
|
|
|
|
|
<View className="month_statistics" key={item.id}>
|
|
|
|
|
<View className="flex aitems sb">
|
|
|
|
|
<View className="time">
|
|
|
|
|
{item.year}年{item.month}月
|
|
|
|
|
</View>
|
|
|
|
|
<View
|
|
|
|
|
className='more_box flex aitems'
|
|
|
|
|
className="more_box flex aitems"
|
|
|
|
|
onClick={this.onChangeMore.bind(
|
|
|
|
|
this,
|
|
|
|
|
item.id,
|
|
|
|
|
@ -728,7 +745,7 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
item.month
|
|
|
|
|
)}
|
|
|
|
|
>
|
|
|
|
|
<View className='more_text'>
|
|
|
|
|
<View className="more_text">
|
|
|
|
|
{" "}
|
|
|
|
|
{!item.isMore ? "展开更多" : "收起更多"}
|
|
|
|
|
</View>
|
|
|
|
|
@ -738,51 +755,51 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
? "rotate(180deg)"
|
|
|
|
|
: "rotate(0deg)",
|
|
|
|
|
}}
|
|
|
|
|
className='more_icon'
|
|
|
|
|
className="more_icon"
|
|
|
|
|
src={require("@/img/arrow-down.png")}
|
|
|
|
|
mode='widthFix'
|
|
|
|
|
mode="widthFix"
|
|
|
|
|
></Image>
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
<View style='height: 59rpx'></View>
|
|
|
|
|
<View className='statistic'>
|
|
|
|
|
<View className='statistic_item'>
|
|
|
|
|
<View className='statistic_num'>{item.clockNum}</View>
|
|
|
|
|
<View className='statistic_desc'>本月打卡天数</View>
|
|
|
|
|
<View style="height: 59rpx"></View>
|
|
|
|
|
<View className="statistic">
|
|
|
|
|
<View className="statistic_item">
|
|
|
|
|
<View className="statistic_num">{item.clockNum}</View>
|
|
|
|
|
<View className="statistic_desc">本月打卡天数</View>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='statistic_item'>
|
|
|
|
|
<View className='statistic_num'>
|
|
|
|
|
<View className="statistic_item">
|
|
|
|
|
<View className="statistic_num">
|
|
|
|
|
{(item.percentage * 100).toFixed(2)}%
|
|
|
|
|
</View>
|
|
|
|
|
<View className='statistic_desc'>超越花至用户</View>
|
|
|
|
|
<View className="statistic_desc">超越花至用户</View>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='border'></View>
|
|
|
|
|
<View className="border"></View>
|
|
|
|
|
</View>
|
|
|
|
|
{item.isMore && item.detail && (
|
|
|
|
|
<View>
|
|
|
|
|
{item.detail.map((obj) => (
|
|
|
|
|
<View key={obj.id}>
|
|
|
|
|
<View style='height: 57rpx'></View>
|
|
|
|
|
<View className='month_item'>
|
|
|
|
|
<View className='month_item_date'>
|
|
|
|
|
<View style="height: 57rpx"></View>
|
|
|
|
|
<View className="month_item">
|
|
|
|
|
<View className="month_item_date">
|
|
|
|
|
{obj.updateTime}
|
|
|
|
|
</View>
|
|
|
|
|
<View className='month_image_box flex sb'>
|
|
|
|
|
<View className="month_image_box flex sb">
|
|
|
|
|
{obj.clockImg.map((img) => (
|
|
|
|
|
<Image
|
|
|
|
|
key={img}
|
|
|
|
|
className='month_item_cover'
|
|
|
|
|
className="month_item_cover"
|
|
|
|
|
src={img}
|
|
|
|
|
></Image>
|
|
|
|
|
))}
|
|
|
|
|
</View>
|
|
|
|
|
<View className='month_item_date'>
|
|
|
|
|
<View className="month_item_date">
|
|
|
|
|
{/* 小紫弹智能射频仪、花至抗老射频仪PRO{" "} */}
|
|
|
|
|
{obj.instrumentName === null
|
|
|
|
|
? ""
|
|
|
|
|
: obj.instrumentName}
|
|
|
|
|
</View>
|
|
|
|
|
<View className='month_item_note'>
|
|
|
|
|
<View className="month_item_note">
|
|
|
|
|
{obj.clockContent}
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
@ -797,8 +814,8 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
</View>
|
|
|
|
|
)}
|
|
|
|
|
{!clockShow && ViewAddInstrument === "true" && (
|
|
|
|
|
<View className='footer flex aitems'>
|
|
|
|
|
<View className='btn' onClick={this.setShow.bind(this, true)}>
|
|
|
|
|
<View className="footer flex aitems">
|
|
|
|
|
<View className="btn" onClick={this.setShow.bind(this, true)}>
|
|
|
|
|
前往打卡
|
|
|
|
|
</View>
|
|
|
|
|
{/* <View className="text" onClick={this.back}>
|
|
|
|
|
@ -808,64 +825,64 @@ export default class Recording extends Component<any, any> {
|
|
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
<Popup show={show} onClose={() => this.setState({ show: false })}>
|
|
|
|
|
<View className='popBox'>
|
|
|
|
|
<View className="popBox">
|
|
|
|
|
<Image
|
|
|
|
|
className='close_icon'
|
|
|
|
|
className="close_icon"
|
|
|
|
|
src={require("@/img/close.png")}
|
|
|
|
|
mode='widthFix'
|
|
|
|
|
mode="widthFix"
|
|
|
|
|
onClick={this.setShow.bind(this, false)}
|
|
|
|
|
></Image>
|
|
|
|
|
<View className='popTitle'>今日打卡</View>
|
|
|
|
|
<View className='popSubtitle'>
|
|
|
|
|
<View className="popTitle">今日打卡</View>
|
|
|
|
|
<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)}%
|
|
|
|
|
</View>
|
|
|
|
|
花至用户
|
|
|
|
|
</View>
|
|
|
|
|
<View className='img_box'>
|
|
|
|
|
<View className="img_box">
|
|
|
|
|
{punchInInfo.clockImageList.map((item, index) => (
|
|
|
|
|
<View key={item} className='img'>
|
|
|
|
|
<Image className='showImg' src={item} mode='widthFix'></Image>
|
|
|
|
|
<View key={item} className="img">
|
|
|
|
|
<Image className="showImg" src={item} mode="widthFix"></Image>
|
|
|
|
|
<Image
|
|
|
|
|
className='closeImg'
|
|
|
|
|
className="closeImg"
|
|
|
|
|
src={require("@/img/close1.png")}
|
|
|
|
|
mode='widthFix'
|
|
|
|
|
mode="widthFix"
|
|
|
|
|
onClick={this.delImg.bind(this, index)}
|
|
|
|
|
></Image>
|
|
|
|
|
</View>
|
|
|
|
|
))}
|
|
|
|
|
{punchInInfo.clockImageList.length < 3 && (
|
|
|
|
|
<View
|
|
|
|
|
className='addBox'
|
|
|
|
|
className="addBox"
|
|
|
|
|
onClick={this.handleChooseImage.bind(this)}
|
|
|
|
|
>
|
|
|
|
|
<Image
|
|
|
|
|
className='showImg'
|
|
|
|
|
className="showImg"
|
|
|
|
|
src={require("@/img/clock_in_upload/add-image.png")}
|
|
|
|
|
mode='widthFix'
|
|
|
|
|
mode="widthFix"
|
|
|
|
|
></Image>
|
|
|
|
|
</View>
|
|
|
|
|
)}
|
|
|
|
|
</View>
|
|
|
|
|
<View className='info4'>
|
|
|
|
|
<View className='content'>
|
|
|
|
|
<View className="info4">
|
|
|
|
|
<View className="content">
|
|
|
|
|
<Textarea
|
|
|
|
|
placeholderStyle='color: #ccc; font-size: 26rpx;font-weight: 400;font-family: PingFang SC;'
|
|
|
|
|
placeholder='请记录一下今天的护理心得吧'
|
|
|
|
|
placeholderStyle="color: #ccc; font-size: 26rpx;font-weight: 400;font-family: PingFang SC;"
|
|
|
|
|
placeholder="请记录一下今天的护理心得吧"
|
|
|
|
|
maxlength={120}
|
|
|
|
|
onInput={this.handleTextareaInput.bind(this)}
|
|
|
|
|
value={punchInInfo.clockContent}
|
|
|
|
|
></Textarea>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='tip'>
|
|
|
|
|
<View className="tip">
|
|
|
|
|
{"(" + (punchInInfo.clockContent.length || 0) + "/120)"}
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
<View className='popbtnbox flex aitems jcenter'>
|
|
|
|
|
<View className='btn1' onClick={this.submit.bind(this)}>
|
|
|
|
|
<View className="popbtnbox flex aitems jcenter">
|
|
|
|
|
<View className="btn1" onClick={this.submit.bind(this)}>
|
|
|
|
|
确认提交
|
|
|
|
|
</View>
|
|
|
|
|
</View>
|
|
|
|
|
|