|
- <template>
- <div class="location-monitor-container">
- <!-- nav -->
- <div class="nav-bar">
- <van-nav-bar title="健康监测" left-text="返回" @click-left="onNavBack" left-arrow>
- <template #right>
- <!-- <div class="setupClock_save" @click="onSubmit">保存</div> -->
- <van-button type="primary" @click="onSubmit" size="small">保存</van-button>
- </template>
- </van-nav-bar>
- </div>
- <!-- main -->
- <div class="main">
- <!-- 血压 -->
- <div class="list">
- <div class="item" v-show="false">
- <div class="left">
- <span class="title">血压监测:</span>
- </div>
- <div class="right">
- <!-- <img :src="rightIcon" alt=""> -->
- <van-switch v-model="healthConfig.bloodenable" :active-color="$green" />
- </div>
- </div>
-
- <div class="item left-gray" v-show="healthConfig.bloodenable">
- <div class="left">
- <span class="title gray">检测周期:</span>
- </div>
- <div class="right" @click="onClick('bloodinteval')">
- <span>{{ healthConfig.bloodinteval }}分钟</span>
- <img :src="rightIcon" alt="" />
- </div>
- </div>
-
- <div class="item left-gray" v-show="healthConfig.bloodenable">
- <div class="left">
- <span class="title gray">告警阈值-收缩压:</span>
- </div>
- <div class="right" @click="onClick('bloodmaxvalue')">
- <span>{{ healthConfig.bloodmaxvalue }}</span>
- <img :src="rightIcon" alt="" />
- </div>
- </div>
-
- <!-- <div class="item left-gray" v-show="healthConfig.bloodenable">
- <div class="left">
- <span class="title gray">告警阈值-舒张压:</span>
- </div>
- <div class="right" @click="onClick('bloodminvalue')">
- <span>{{ healthConfig.bloodminvalue}}</span>
- <img :src="rightIcon" alt="">
- </div>
- </div> -->
-
- <!-- <div class="item left-gray" v-show="healthConfig.bloodenable">
- <div class="left">
- <span class="title gray">告警周期:</span>
- </div>
- <div class="right" @click="onClick('bloodperiod')">
- <span>{{ healthConfig.bloodperiod}}</span>
- <img :src="rightIcon" alt="">
- </div>
- </div> -->
-
- <div class="item alarmType left-gray" v-show="healthConfig.bloodenable">
- <div class="left">
- <span class="title gray">告警方式:</span>
- </div>
- <div class="right">
- <!-- <img :src="rightIcon" alt=""> -->
- <div class="checkbox-group">
- <!-- <van-checkbox-group v-model="temperatureAlarmType" direction="horizontal" @change="onCheckChange('temperature')" -->
- <van-checkbox
- name="bloodvibrateenabled"
- v-model="healthConfig.bloodvibrateenabled"
- shape="square"
- direction="horizontal"
- >震动</van-checkbox
- >
- <van-checkbox
- name="bloodlcdenabled"
- v-model="healthConfig.bloodlcdenabled"
- shape="square"
- direction="horizontal"
- >亮屏</van-checkbox
- >
- <!-- <van-checkbox name="temperaturereportenabled" v-model="healthConfig.temperaturereportenabled" shape="square" direction="horizontal" @change="onChangeSingle('temperaturereportenabled')">上报数据</van-checkbox> -->
- <!-- </van-checkbox-group> -->
- </div>
- </div>
- </div>
- </div>
- <!-- 体温 -->
- <div class="list">
- <div class="item">
- <div class="left">
- <span class="title">体温监测:</span>
- </div>
- <div class="right">
- <!-- <img :src="rightIcon" alt=""> -->
- <van-switch v-model="healthConfig.temperatureenabled" :active-color="$green" />
- </div>
- </div>
-
- <div class="item left-gray" v-show="healthConfig.temperatureenabled">
- <div class="left">
- <span class="title gray">检测周期:</span>
- </div>
- <div class="right" @click="onClick('temperatureinteval')">
- <span>{{ formatInteval(healthConfig.temperatureinteval) }}</span>
- <img :src="rightIcon" alt="" />
- </div>
- </div>
-
- <div class="item left-gray" v-show="healthConfig.temperatureenabled">
- <div class="left">
- <span class="title gray">告警阈值-高温:</span>
- </div>
- <div class="right" @click="onClick('temperaturemaxvalue')">
- <span>{{ healthConfig.temperaturemaxvalue }}度</span>
- <img :src="rightIcon" alt="" />
- </div>
- </div>
-
- <div class="item left-gray" v-show="false">
- <div class="left">
- <span class="title gray">告警阈值-低温:</span>
- </div>
- <div class="right" @click="onClick('temperatureminvalue')">
- <span>{{ healthConfig.temperatureminvalue }}度</span>
- <img :src="rightIcon" alt="" />
- </div>
- </div>
-
- <div class="item alarmType left-gray" v-show="healthConfig.temperatureenabled">
- <div class="left">
- <span class="title gray">告警方式:</span>
- </div>
- <div class="right">
- <!-- <img :src="rightIcon" alt=""> -->
- <div class="checkbox-group">
- <!-- <van-checkbox-group v-model="temperatureAlarmType" direction="horizontal" @change="onCheckChange('temperature')" -->
- <van-checkbox
- name="temperaturevibrateenabled"
- v-model="healthConfig.temperaturevibrateenabled"
- shape="square"
- direction="horizontal"
- >震动</van-checkbox
- >
- <van-checkbox
- name="temperaturelcdenabled"
- v-model="healthConfig.temperaturelcdenabled"
- shape="square"
- direction="horizontal"
- >亮屏</van-checkbox
- >
- <!-- <van-checkbox name="temperaturereportenabled" v-model="healthConfig.temperaturereportenabled" shape="square" direction="horizontal" @change="onChangeSingle('temperaturereportenabled')">上报数据</van-checkbox> -->
- <!-- </van-checkbox-group> -->
- </div>
- </div>
- </div>
- </div>
-
- <div class="list">
- <div class="item">
- <div class="left">
- <span class="title">心率监测:</span>
- </div>
- <div class="right">
- <!-- <img :src="rightIcon" alt=""> -->
- <van-switch v-model="healthConfig.heartrateenabled" :active-color="$green" />
- </div>
- </div>
-
- <div class="item left-gray" v-show="healthConfig.heartrateenabled">
- <div class="left">
- <span class="title gray">检测周期:</span>
- </div>
- <div class="right" @click="onClick('heartrateinteval')">
- <span>{{ formatInteval(healthConfig.heartrateinteval) }}</span>
- <img :src="rightIcon" alt="" />
- </div>
- </div>
-
- <div class="item left-gray" v-show="healthConfig.heartrateenabled">
- <div class="left">
- <span class="title gray">告警阈值-上限:</span>
- </div>
- <div class="right" @click="onClick('heartratemaxvalue')">
- <span>{{ healthConfig.heartratemaxvalue }}次</span>
- <img :src="rightIcon" alt="" />
- </div>
- </div>
-
- <div class="item left-gray" v-show="healthConfig.heartrateenabled">
- <div class="left">
- <span class="title gray">告警阈值-下限:</span>
- </div>
- <div class="right" @click="onClick('heartrateminvalue')">
- <span>{{ healthConfig.heartrateminvalue }}次</span>
- <img :src="rightIcon" alt="" />
- </div>
- </div>
-
- <div class="item alarmType left-gray" v-show="healthConfig.heartrateenabled">
- <div class="left">
- <span class="title gray">告警方式:</span>
- </div>
- <div class="right">
- <!-- <img :src="rightIcon" alt=""> -->
- <div class="checkbox-group">
- <!-- <van-checkbox-group v-model="heartrateAlarmType" direction="horizontal" > -->
- <van-checkbox
- name="heartratevibrateenabled"
- v-model="healthConfig.heartratevibrateenabled"
- shape="square"
- direction="horizontal"
- >震动</van-checkbox
- >
- <van-checkbox
- name="heartratelcdenabled"
- v-model="healthConfig.heartratelcdenabled"
- shape="square"
- direction="horizontal"
- >亮屏</van-checkbox
- >
- <!-- <van-checkbox name="heartratereportenabled" v-model="healthConfig.heartratereportenabled" shape="square" direction="horizontal" @change="onChangeSingle('heartratereportenabled')">上报数据</van-checkbox> -->
- <!-- </van-checkbox-group> -->
- </div>
- </div>
- </div>
- </div>
-
- <div class="list">
- <div class="item">
- <div class="left">
- <span class="title">血氧监测:</span>
- </div>
- <div class="right">
- <!-- <img :src="rightIcon" alt=""> -->
- <van-switch v-model="healthConfig.spo2enabled" :active-color="$green" />
- </div>
- </div>
-
- <div class="item left-gray" v-show="healthConfig.spo2enabled">
- <div class="left">
- <span class="title gray">检测周期:</span>
- </div>
- <div class="right" @click="onClick('spo2inteval')">
- <span>{{ formatInteval(healthConfig.spo2inteval) }}</span>
- <img :src="rightIcon" alt="" />
- </div>
- </div>
-
- <!-- <div class="item left-gray" v-show="healthConfig.spo2enabled">
- <div class="left">
- <span class="title gray">告警阈值-高于:</span>
- </div>
- <div class="right" @click="onClick('spo2maxvalue')">
- <span>{{ healthConfig.spo2maxvalue}}%</span>
- <img :src="rightIcon" alt="">
- </div>
- </div> -->
- <div class="item left-gray" v-show="healthConfig.spo2enabled">
- <div class="left">
- <span class="title gray">告警阈值-低于:</span>
- </div>
- <div class="right" @click="onClick('spo2minvalue')">
- <span>{{ healthConfig.spo2minvalue }}%</span>
- <img :src="rightIcon" alt="" />
- </div>
- </div>
-
- <div class="item alarmType left-gray" v-show="healthConfig.spo2enabled">
- <div class="left">
- <span class="title gray">告警方式:</span>
- </div>
- <div class="right">
- <!-- <img :src="rightIcon" alt=""> -->
- <div class="checkbox-group">
- <!-- <van-checkbox-group v-model="heartrateAlarmType" direction="horizontal" > -->
- <van-checkbox
- name="spo2vibrateenabled"
- v-model="healthConfig.spo2vibrateenabled"
- shape="square"
- direction="horizontal"
- >震动</van-checkbox
- >
- <van-checkbox
- name="spo2lcdenabled"
- v-model="healthConfig.spo2lcdenabled"
- shape="square"
- direction="horizontal"
- >亮屏</van-checkbox
- >
- <!-- <van-checkbox name="spo2reportenabled" v-model="healthConfig.spo2reportenabled" shape="square" direction="horizontal" @change="onChangeSingle('spo2reportenabled')">上报数据</van-checkbox> -->
- <!-- </van-checkbox-group> -->
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <!-- 弹窗 -->
- <van-dialog v-model="dialog.isDialogshow" show-cancel-button cancel-button-text="返回" :show-confirm-button="false">
- <template #title>
- <div class="title">
- <span>设置</span>
- </div>
- </template>
- <template #default>
- <div class="dialog-container">
- <div class="selectConfirm">
- <div class="con">
- <van-cell v-for="(item, index) in dialog.confirmData" :key="`selectVPT${index}`" @click="onSelect(item)">
- <div class="text">
- <div v-html="item.text"></div>
- </div>
- <em :class="['circle', { on: selectConfirmActive == index }]"></em>
- </van-cell>
- </div>
- </div>
- </div>
- </template>
- </van-dialog>
- </div>
- </template>
-
- <script>
- import ToastService from '@/services/toast-service';
- import DialogService from '@/services/dialog-service';
- import APIHealthy from '@/api/heathly';
- export default {
- name: '',
- data() {
- return {
- rightIcon: require('../../../assets/img/health/right_more.png'),
- checked: false,
- sampleinteval: '', //上报频率-定位检测
- temperatureAlarmType: ['temperaturevibrateenabled', 'temperaturelcdenabled', 'temperaturereportenabled'], //体温告警方式
- heartrateAlarmType: ['heartratevibrateenabled', 'heartratelcdenabled', 'heartratereportenabled'], //心率
- spo2AlarmType: ['spo2vibrateenabled', 'spo2lcdenabled', 'spo2reportenabled'], //血氧
- dialog: {
- isDialogshow: false,
- title: '上报频率',
- confirmData: []
- },
- // todo 以下这些弹窗列表可以用函数生成
- // 检测周期时间数据
- monitorList: [
- {
- text: '10分钟',
- model: 0,
- checked: false,
- value: 10
- },
- {
- text: '15分钟',
- model: 1,
- checked: false,
- value: 15
- },
- /* {
- text: "20分钟",
- model: 2,
- checked: false,
- value: 20
- }, */
- {
- text: '30分钟',
- model: 3,
- checked: false,
- value: 30
- },
- /* {
- text: "40分钟",
- model: 4,
- checked: false,
- value: 40
- },
- {
- text: "50分钟",
- model: 5,
- checked: false,
- value: 50
- }, */
- {
- text: '60分钟',
- model: 6,
- checked: false,
- value: 60
- },
- {
- text: '6小时',
- model: 7,
- checked: false,
- value: 360
- },
- {
- text: '8小时',
- model: 8,
- checked: false,
- value: 480
- }
- ],
- //血压弹窗收缩压数据
- bloodMaxList: [
- {
- text: '140',
- model: 0,
- checked: false,
- className: 'circle',
- value: 140,
- name: '血压监测'
- },
- {
- text: '160',
- model: 1,
- checked: false,
- className: 'circle',
- value: 160,
- name: '血压监测'
- },
- {
- text: '180',
- model: 2,
- checked: false,
- className: 'circle',
- value: 180,
- name: '血压监测'
- }
- ],
- //血压弹窗舒张值上限数据
- bloodMinList: [
- {
- text: '90',
- model: 0,
- checked: false,
- className: 'circle',
- value: 90,
- name: '血压监测'
- },
- {
- text: '100',
- model: 1,
- checked: false,
- className: 'circle',
- value: 100,
- name: '血压监测'
- },
- {
- text: '110',
- model: 2,
- checked: false,
- className: 'circle',
- value: 110,
- name: '血压监测'
- }
- ],
-
- //体温弹窗最大数据
- temperatureMaxList: [
- {
- text: '37.3°C(低烧)',
- model: 0,
- checked: false,
- className: 'circle',
- value: 37.3,
- name: '体温监测'
- },
- /* {
- text: "37.5°C",
- model: 1,
- checked: false,
- className: "circle",
- value: 37.5,
- name: '体温监测'
- }, */
- /* {
- text: "37.8°C",
- model: 2,
- checked: false,
- className: "circle",
- value: 37.8,
- name: '体温监测'
- }, */
- {
- text: '38.1°C(中烧)',
- model: 1,
- checked: false,
- className: 'circle',
- value: 38.1,
- name: '体温监测'
- },
- {
- text: '39.1°C(高烧)',
- model: 2,
- checked: false,
- className: 'circle',
- value: 39.1,
- name: '体温监测'
- }
- /* {
- text: "41°C",
- model: 5,
- checked: false,
- className: "circle",
- value: 41,
- name: '体温监测'
- },
- {
- text: "42°C",
- model: 6,
- checked: false,
- className: "circle",
- value: 42,
- name: '体温监测'
- },
- {
- text: "43°C",
- model: 7,
- checked: false,
- className: "circle",
- value: 43,
- name: '体温监测'
- }, */
- ],
- //体温弹窗最大数据
- temperatureMinList: [
- {
- text: '32°C',
- model: 0,
- checked: false,
- className: 'circle',
- value: 32,
- name: '体温监测'
- },
- {
- text: '33°C',
- model: 1,
- checked: false,
- className: 'circle',
- value: 33,
- name: '体温监测'
- },
- {
- text: '34°C',
- model: 2,
- checked: false,
- className: 'circle',
- value: 34,
- name: '体温监测'
- },
- {
- text: '35°C',
- model: 3,
- checked: false,
- className: 'circle',
- value: 38,
- name: '体温监测'
- },
- {
- text: '36°C',
- model: 4,
- checked: false,
- className: 'circle',
- value: 36,
- name: '体温监测'
- }
- /* {
- text: "37.1°C",
- model: 5,
- checked: false,
- className: "circle",
- value: 37.1,
- name: '体温监测'
- }, */
- ],
- //心率弹窗最大数据
- heartRateMaxList: [
- /* {
- text: "90次",
- model: 0,
- checked: false,
- className: "circle",
- value: 90,
- name: '心率监测'
- },
- {
- text: "100次",
- model: 1,
- checked: false,
- className: "circle",
- value: 100,
- name: '心率监测'
- }, */
- {
- text: '120次(非运动)',
- model: 0,
- checked: false,
- className: 'circle',
- value: 120,
- name: '心率监测'
- },
- /* {
- text: "140次",
- model: 3,
- checked: false,
- className: "circle",
- value: 140,
- name: '心率监测'
- },
- {
- text: "160次",
- model: 4,
- checked: false,
- className: "circle",
- value: 160,
- name: '心率监测'
- }, */
- {
- text: '180次(运动)',
- model: 1,
- checked: false,
- className: 'circle',
- value: 180,
- name: '心率监测'
- }
- /* {
- text: "200次",
- model: 6,
- checked: false,
- className: "circle",
- value: 200,
- name: '心率监测'
- }, */
- /* {
- text: "210次",
- model: 7,
- checked: false,
- className: "circle",
- value: 210,
- name: '心率监测'
- }, */
- ],
- //心率弹窗最小数据
- heartRateMinList: [
- {
- text: '40次',
- model: 0,
- checked: false,
- className: 'circle',
- value: 40,
- name: '心率监测'
- },
- {
- text: '50次',
- model: 1,
- checked: false,
- className: 'circle',
- value: 50,
- name: '心率监测'
- },
- {
- text: '60次',
- model: 2,
- checked: false,
- className: 'circle',
- value: 60,
- name: '心率监测'
- }
- /* {
- text: "60次",
- model: 3,
- checked: false,
- className: "circle",
- value: 60,
- name: '心率监测'
- },
- {
- text: "70次",
- model: 4,
- checked: false,
- className: "circle",
- value: 70,
- name: '心率监测'
- },
- {
- text: "80次",
- model: 5,
- checked: false,
- className: "circle",
- value: 80,
- name: '心率监测'
- }, */
- ],
- //血氧弹窗最小数据
- spo2MinList: [
- {
- text: '94%(轻微)',
- model: 0,
- checked: false,
- className: 'circle',
- value: 94,
- name: '血氧监测'
- },
- {
- text: '89%(中度)',
- model: 1,
- checked: false,
- className: 'circle',
- value: 89,
- name: '血氧监测'
- },
- {
- text: '85%(严重)',
- model: 2,
- checked: false,
- className: 'circle',
- value: 85,
- name: '血氧监测'
- },
- /* {
- text: "94%(默认)",
- model: 3,
- checked: false,
- className: "circle",
- value: 94,
- name: '血氧监测'
- }, */
- {
- text: '98%(临时测试)',
- model: 3,
- checked: false,
- className: 'circle',
- value: 98,
- name: '血氧监测'
- }
- ],
- //血氧弹窗最大数据
- spo2MaxList: [
- {
- text: '98%',
- model: 0,
- checked: false,
- className: 'circle',
- value: 98,
- name: '血氧监测'
- }
- ],
- selectConfirmActive: 0,
- currentDiallogName: '',
- healthConfig: {
- /* bloodenabled: false,
- bloodmaxvalue: 140, //血压-高温阈值
- bloodminvalue: 90, //血压-低温阈值
- bloodinteval: 60, //血压-检测周期
- bloodvibrateenabled: false, //血压异常时是否震动
- bloodlcdenabled: false, //血压异常时是否亮屏
- bloodreportenabled: true, //血压异常时是否上报数据
- bloodperiod: 60, //血压-检测周期 */
-
- temperatureenabled: false,
- temperaturemaxvalue: 38, //体温-高温阈值
- temperatureminvalue: 0, //体温-低温阈值
- temperatureinteval: 60, //体温-检测周期
- temperaturevibrateenabled: false, //体温异常时是否震动
- temperaturelcdenabled: false, //体温异常时是否亮屏
- temperaturereportenabled: true, //体温异常时是否上报数据
-
- heartrateenabled: false,
- heartratemaxvalue: 120, //心率-高温阈值
- heartrateminvalue: 40, //心率-低温阈值
- heartrateinteval: 60, //心率-检测周期
- heartratevibrateenabled: false, //心率异常时是否震动
- heartratelcdenabled: false, //心率异常时是否亮屏
- heartratereportenabled: true, //心率异常时是否上报数据
-
- spo2enabled: false,
- spo2maxvalue: 0, //血氧-高温阈值
- spo2inteval: 60,
- spo2minvalue: 94, //血氧-检测周期
- spo2vibrateenabled: false, //血氧异常时是否震动
- spo2lcdenabled: false, //血氧异常时是否亮屏
- spo2reportenabled: true, //血氧异常时是否上报数据
- imei: this.$store.getters.serialNo,
- isTime: true,
- times: [
- { startTime: '08:00', endTime: '12:00' },
- { startTime: '14:00', endTime: '16:00' }
- ]
- }
- };
- },
- computed: {
- imei() {
- return this.$store.getters.serialNo;
- }
- },
- created() {
- this.getHealthConfig();
- },
- methods: {
- onNavBack() {
- this.$router.push({
- name: 'watchSetting'
- });
- },
- onSubmit() {
- ToastService.loading({ message: '设置中' });
- // dataObj[Object.keys(tempData)[index]] = item
- let reqBody = {}; //用新对象去接收原来对象里的值
- Object.values(this.healthConfig).filter((item, index) => {
- if (typeof item === 'boolean') {
- item = item === false ? 0 : 1;
- reqBody[Object.keys(this.healthConfig)[index]] = item;
- } else {
- reqBody[Object.keys(this.healthConfig)[index]] = item;
- }
- });
- reqBody.temperaturemaxvalue = reqBody.temperaturemaxvalue * 10;
- reqBody.temperatureminvalue = /* reqBody.temperatureminvalue * 10 */ 0;
- reqBody.isTime = true;
- APIHealthy.setHealthConfig(reqBody)
- .then(res => {
- if (res.data.stateCode === 1) {
- ToastService.success({ message: '设置成功' });
- setTimeout(() => {
- this.$router.push({
- name: 'watchSetting'
- });
- }, 1500);
- } else {
- DialogService.confirm({
- title: '设置失败',
- message: `${res.data.message}`
- });
- }
- })
- .catch(e => {
- DialogService.confirm({
- title: '设置失败',
- message: `${e.message}`
- });
- })
- .finally(() => {
- setTimeout(() => {
- ToastService.clear();
- }, 1500);
- });
- },
- onSelect(data) {
- this.healthConfig[this.currentDiallogName] = data.value;
- this.selectConfirmActive = data.model;
- this.dialog.isDialogshow = false;
- },
- onClick(name) {
- this.currentDiallogName = name;
- this.dialog.confirmData = [];
- const intevalList = ['temperatureinteval', 'spo2inteval', 'heartrateinteval', 'bloodinteval'];
- if (intevalList.includes(name)) {
- this.dialog.confirmData = this.monitorList.filter(item => {
- if (name === 'bloodinteval') {
- return item.value >= 20;
- } /* else if(name === 'temperatureinteval') {
- let delData = [20, 40, 50];
- return delData.indexOf(item.value) === -1
- } */ else {
- return item.value;
- }
- });
- } else if (name === 'bloodmaxvalue') {
- // 血压-收缩压
- this.dialog.confirmData = this.bloodMaxList;
- } else if (name === 'bloodminvalue') {
- // 血压-舒张压
- this.dialog.confirmData = this.bloodMinList;
- } else if (name === 'temperaturemaxvalue') {
- // 体温最大
- this.dialog.confirmData = this.temperatureMaxList;
- } else if (name === 'temperatureminvalue') {
- // 体温最小
- this.dialog.confirmData = this.temperatureMinList;
- } else if (name === 'heartratemaxvalue') {
- // 心率最大
- this.dialog.confirmData = this.heartRateMaxList;
- } else if (name === 'heartrateminvalue') {
- // 心率最小
- this.dialog.confirmData = this.heartRateMinList;
- } else if (name === 'spo2minvalue') {
- // 测试环境 启用98% 正式环境屏蔽
- if (process.env.NODE_ENV === 'production') {
- this.spo2MinList = this.spo2MinList.filter(item => {
- return item.value !== 98;
- });
- }
- // 血氧最小
- this.dialog.confirmData = this.spo2MinList;
- } else if (name === 'spo2maxvalue') {
- // 血氧最小
- this.dialog.confirmData = this.spo2MaxList;
- }
- let seclectIndex = this.dialog.confirmData.findIndex(item => {
- return item.value === this.healthConfig[name];
- });
- this.selectConfirmActive = seclectIndex;
- this.dialog.isDialogshow = true;
- },
- getResult(number1, number2) {
- const result = parseInt(number1) / parseInt(number2);
- return result.toString().indexOf('.') != -1 ? parseInt(result).toFixed(2).slice(0, 1) : result;
- },
- getHealthConfig() {
- ToastService.loading({ message: '数据加载中' });
- APIHealthy.getHealthConfig({ imei: this.imei })
- .then(res => {
- ToastService.success({ message: '数据加载完成' });
- let data = res.data.data;
- if (data) {
- let healthObj = data.config;
- let healthConfig = this.healthConfig;
- healthConfig.heartrateenabled = healthObj.heartrateenabled === 1 ? true : false;
- healthConfig.heartratelcdenabled = healthObj.heartratelcdenabled === 1 ? true : false;
- healthConfig.heartratereportenabled = healthObj.heartratereportenabled === 1 ? true : false;
- healthConfig.heartratevibrateenabled = healthObj.heartratevibrateenabled === 1 ? true : false;
- healthConfig.heartrateminvalue = healthObj.heartrateminvalue === 0 ? 60 : healthObj.heartrateminvalue;
- healthConfig.heartratemaxvalue = healthObj.heartratemaxvalue === 0 ? 180 : healthObj.heartratemaxvalue;
- healthConfig.heartrateinteval = healthObj.heartrateinteval;
-
- healthConfig.spo2enabled = healthObj.spo2enabled === 1 ? true : false;
- healthConfig.spo2lcdenabled = healthObj.spo2lcdenabled === 1 ? true : false;
- healthConfig.spo2reportenabled = healthObj.spo2reportenabled === 1 ? true : false;
- healthConfig.spo2vibrateenabled = healthObj.spo2vibrateenabled === 1 ? true : false;
- healthConfig.spo2minvalue = healthObj.spo2minvalue === 95 ? 94 : healthObj.spo2minvalue;
- healthConfig.spo2maxvalue = /* healthObj.spo2maxvalue === 0 ? 98 : healthObj.spo2maxvalue */ 0;
- healthConfig.spo2inteval = healthObj.spo2inteval;
-
- healthConfig.temperatureenabled = healthObj.temperatureenabled === 1 ? true : false;
- healthConfig.temperaturelcdenabled = healthObj.temperaturelcdenabled === 1 ? true : false;
- healthConfig.temperaturereportenabled = healthObj.temperaturereportenabled === 1 ? true : false;
- healthConfig.temperaturevibrateenabled = healthObj.temperaturevibrateenabled === 1 ? true : false;
- healthConfig.temperatureinteval = healthObj.temperatureinteval;
- healthConfig.temperaturemaxvalue = healthObj.temperaturemaxvalue / 10;
- healthConfig.temperatureminvalue =
- healthObj.temperatureminvalue === 0 ? 36 : healthObj.temperatureminvalue / 10;
- }
- })
- .catch(e => {
- console.log('e', e);
- DialogService.confirm({
- message: `${e.message}`
- });
- })
- .finally(() => {
- setTimeout(() => {
- ToastService.clear();
- }, 1500);
- });
- },
- // 格式化某些特殊参数值的时间显示方式
- formatInteval(value) {
- return value >= 360 ? value / 60 + '小时' : value + '分钟';
- }
- }
- };
- </script>
-
- <style scoped lang="scss">
- .location-monitor-container {
- height: 100vh;
- overflow: hidden;
- .nav-bar {
- height: 100px;
- padding: 0 20px;
- }
- .main {
- height: calc(100vh - 160px);
- background-color: $background;
- padding: 20px;
- overflow: scroll;
- .list {
- height: auto;
- background-color: #fff;
- border-radius: 8px;
- margin-bottom: 20px;
- .item {
- height: auto;
- padding: 20px;
- display: flex;
- justify-content: space-between;
- align-items: center;
- border-bottom: 2px solid #e5e5e5;
- .left {
- @include center();
- span {
- color: #282828;
- font-size: 32px;
- }
- .title {
- font-weight: 450;
- &.gray {
- color: gray;
- }
- }
- }
- .right {
- /* width: 60%; */
- @include center();
- font-size: 32px;
- img {
- height: 35px;
- width: 35px;
- }
- span {
- font-size: 32px;
- margin-right: 10px;
- color: #aaaaaa;
- }
- .checkbox-group {
- @include center();
- .van-checkbox {
- padding: 5px;
- }
- }
- }
- &.left-gray {
- padding-left: 30px;
- color: gray;
- }
- &.alarmType {
- height: 180px;
- display: flex;
- justify-content: flex-start;
- align-items: flex-start;
- .left {
- }
- .right {
- margin-left: 40px;
- width: 60%;
- display: flex;
- justify-content: space-between;
- align-items: flex-start;
- }
- }
- }
- }
- }
- .title {
- font-size: 32px;
- }
- .selectConfirm {
- padding: 0;
- .con {
- .van-cell {
- height: 60px;
- .van-cell__value {
- em {
- font-style: normal;
- position: absolute;
- top: 0;
- right: 0;
- @include colorAndFont(#999, 24);
- &.circle {
- width: 20px;
- height: 20px;
- border: 2px solid #bfbfbf;
- border-radius: 50%;
- position: absolute;
- right: 15px;
-
- &.on {
- border-color: $green;
-
- &:before {
- content: '';
- position: absolute;
- left: 50%;
- top: 50%;
- transform: translate(-50%, -50%);
- width: 14px;
- height: 14px;
- background: $green;
- border-radius: 50%;
- }
- }
- }
- }
- }
- }
- }
- }
- }
- </style>
|