<template>
|
<div class="">
|
<!---->
|
|
<el-button
|
type="primary"
|
size="small"
|
@click.stop="clickHandle('edit', dataItem)"
|
>设置健康值</el-button
|
>
|
|
<el-table
|
:data="tds"
|
border
|
@selection-change="handleSelectionChange"
|
style="width: 100%;margin-top: 10px"
|
:header-cell-style="{ 'background-color': '#F3F7FA' }"
|
>
|
<el-table-column type="selection" width="55"> </el-table-column>
|
<el-table-column
|
show-overflow-tooltip
|
prop="time"
|
label="日期"
|
width="200"
|
>
|
</el-table-column>
|
<el-table-column prop="result" label="测量结果"> </el-table-column>
|
<el-table-column label="数据来源" width="150">
|
老人手环
|
</el-table-column>
|
<el-table-column prop="isAbnormal" label="结果分析" width="150">
|
<template slot-scope="scope">
|
<span
|
:style="{
|
color: scope.row.isAbnormal === '正常' ? '#3F9F3F' : '#ff3636'
|
}"
|
>
|
{{ scope.row.isAbnormal }}
|
</span>
|
</template>
|
</el-table-column>
|
</el-table>
|
<v-tool-page :item="paged" @on-page="onPage"></v-tool-page>
|
|
<!-- 设置健康值 -->
|
<el-dialog
|
title="设置健康值"
|
:visible.sync="dialogVisible"
|
width="550px"
|
:before-close="handleCloseData"
|
append-to-body
|
>
|
<div>
|
<el-form
|
:model="form"
|
ref="ruleForm"
|
label-width="150px"
|
label-position="top"
|
:inline="true"
|
class="demo-ruleForm"
|
>
|
<el-form-item label="温度" prop="rule">
|
<el-input
|
type="number"
|
class="iw-100"
|
placeholder="请输入"
|
v-model.trim="form.lowAnimalHeat"
|
></el-input>
|
--
|
<el-input
|
type="number"
|
class="iw-100"
|
placeholder="请输入"
|
v-model.trim="form.tallAnimalHeat"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="高压" prop="rule">
|
<el-input
|
type="number"
|
class="iw-100"
|
placeholder="请输入"
|
v-model.trim="form.highPressureFloor"
|
></el-input>
|
--
|
<el-input
|
type="number"
|
class="iw-100"
|
placeholder="请输入"
|
v-model.trim="form.highPressureUpperLimit"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="低压" prop="rule">
|
<el-input
|
type="number"
|
class="iw-100"
|
placeholder="请输入"
|
v-model.trim="form.lowTensionFloor"
|
></el-input>
|
--
|
<el-input
|
type="number"
|
class="iw-100"
|
placeholder="请输入"
|
v-model.trim="form.lowTensionUpperLimit"
|
></el-input>
|
</el-form-item>
|
<el-form-item label="心率" prop="rule">
|
<el-input
|
type="number"
|
class="iw-100"
|
placeholder="请输入"
|
v-model.trim="form.lowHeartRate"
|
></el-input>
|
--
|
<el-input
|
type="number"
|
class="iw-100"
|
placeholder="请输入"
|
v-model.trim="form.tallHeartRate"
|
></el-input>
|
</el-form-item>
|
</el-form>
|
<div class="fl-cen">
|
<el-button size="small" @click="handleCloseData">取 消</el-button>
|
<el-button type="primary" @click="submitHandle">确 定</el-button>
|
</div>
|
</div>
|
</el-dialog>
|
</div>
|
</template>
|
<script>
|
let id = 0;
|
export default {
|
props: {
|
item: { type: Object }
|
},
|
components: {},
|
data() {
|
return {
|
Change: false,
|
ids: [],
|
dialogVisible: false,
|
normalColor: "#3F9F3F",
|
exceptionColor: "#FF3636",
|
dataItem: {},
|
bar: {
|
status: "",
|
purpose: "",
|
controlStatus: "",
|
address: "",
|
address1: "",
|
time: ""
|
},
|
form: {
|
lowAnimalHeat: "",
|
tallAnimalHeat: "",
|
highPressureFloor: "",
|
highPressureUpperLimit: "",
|
lowTensionFloor: "",
|
lowTensionUpperLimit: "",
|
lowHeartRate: "",
|
tallHeartRate: ""
|
}, // 表单
|
|
rules: {
|
rule: [
|
{
|
required: true,
|
message: "请输入",
|
trigger: "blur"
|
}
|
]
|
}, // 表单验证
|
options: [],
|
props: {
|
//Cascader 级联选择器
|
label: "name",
|
value: "id",
|
lazy: true,
|
lazyLoad: (node, resolve) => {
|
//动态加载
|
let { level, value, data } = node;
|
if (level === 0) {
|
return;
|
}
|
// debugger
|
let data1 = {
|
level: level + 1,
|
houseId: data.houseId || ""
|
};
|
}
|
},
|
tds: [],
|
paged: { page: 0, total: 0, r: 0, limit: 10 },
|
search: {}
|
};
|
},
|
created() {
|
this.cascadeList();
|
},
|
mounted() {},
|
methods: {
|
headerRowClass({ row, rowIndex }) {
|
return "headerClass";
|
},
|
cascader(e) {
|
let houseId = this.$refs.cascader.getCheckedNodes();
|
this.bar.houseId = houseId[0].data.houseId;
|
// console.log(node)
|
},
|
cascadeList() {
|
//连级选择器 房屋地址
|
let data = {
|
level: 1,
|
villageId: this.$route.query.id || ""
|
};
|
},
|
onSearch() {
|
if (this.bar.time) {
|
this.bar.startTime = this.bar.time[0];
|
this.bar.endTime = this.bar.time[1];
|
}
|
this.paged.page = 1;
|
// console.log(this.bar)
|
this.init();
|
},
|
onPage(v) {
|
if (v.page === this.paged.page && v.page && !v.reset) {
|
return 0;
|
}
|
this.paged.page = v.page;
|
this.paged.limit = v.limit;
|
this.init();
|
},
|
init() {
|
let v = { deviceID: this.item.deviceId };
|
|
console.log("this.tds---" + JSON.stringify(this.tds));
|
this.$api.get("JinhuibraceletApi/getDetails", v, e => {
|
// console.log(e)
|
// this.tds = e.records;
|
// this.paged.total = e.total;
|
this.dataItem = e;
|
let result = `温度:${this.dataItem.etg}C 高压:${this.dataItem.pcp} 低压:${this.dataItem.pdp} 心率:${this.dataItem.pm}`;
|
this.tds = [
|
{
|
time: this.dataItem.updataTime,
|
result: result,
|
isAbnormal: this.dataItem.isAbnormal === "0" ? "正常" : "异常"
|
}
|
];
|
});
|
},
|
handleSelectionChange(val) {
|
//复选框
|
console.log(val);
|
this.ids = [];
|
val.map(item => {
|
this.ids.push(item.id);
|
});
|
},
|
handleCloseData() {
|
// this.$refs["ruleForm"].resetFields(); // 重置表单
|
this.form = {
|
lowAnimalHeat: "",
|
tallAnimalHeat: "",
|
highPressureFloor: "",
|
highPressureUpperLimit: "",
|
lowTensionFloor: "",
|
lowTensionUpperLimit: "",
|
lowHeartRate: "",
|
tallHeartRate: ""
|
};
|
this.dialogVisible = false;
|
},
|
|
details(id) {
|
//去详情
|
this.$router.push({
|
path: "/man_quarters_detail",
|
query: { id: id }
|
});
|
},
|
edit(id) {
|
this.$router.push({
|
path: "/man_quarters_edit",
|
query: { id: id }
|
});
|
},
|
clear(id) {
|
//批量删除
|
let t = this;
|
t.$js.model("删除房屋信息", "是否删除房屋信息?", res => {
|
if (res) {
|
if (id) {
|
t.ids = [id];
|
}
|
// console.log(t.ids)
|
// return
|
t.$api.post("common/data/population/house/delete", t.ids, e => {
|
demo.toast("删除成功");
|
t.init();
|
});
|
}
|
});
|
},
|
cancel() {
|
//取消
|
this.Change = false;
|
this.alls = false;
|
this.tds.map(item => {
|
item.che = false;
|
});
|
},
|
resetForm() {
|
//重置
|
this.paged.page = 1;
|
for (let key in this.bar) {
|
this.bar[key] = "";
|
}
|
},
|
mergeFunc(prev, next) {
|
return next === undefined ? prev : next;
|
},
|
clickHandle(type, row) {
|
console.log(row);
|
switch (type) {
|
case "edit": {
|
console.log("row==" + JSON.stringify(row));
|
this.form = Object.keys(this.form).reduce((acc, key) => {
|
acc[key] = this.mergeFunc(this.form[key], row[key]);
|
return acc;
|
}, {});
|
|
// this.form = { ...this.form, ...row };
|
console.log("this.form==" + JSON.stringify(this.form));
|
|
this.dialogVisible = true;
|
break;
|
}
|
|
default: {
|
break;
|
}
|
}
|
},
|
submitHandle() {
|
this.$refs["ruleForm"].validate(val => {
|
if (val) {
|
// this.item.deviceId
|
this.form.deviceId = this.item.deviceId;
|
console.log("this.form" + JSON.stringify(this.form));
|
// return;
|
this.$api.post("bracelet/upBracelet", this.form, e => {
|
demo.toast("设置成功");
|
this.handleCloseData();
|
this.init();
|
});
|
}
|
});
|
}
|
},
|
watch: {},
|
computed: {}
|
};
|
</script>
|
<style scoped>
|
.box-a {
|
overflow: scroll;
|
}
|
.headerClass {
|
background-color: #f3f7fa;
|
}
|
.fc3F9F3F {
|
color: #3f9f3f;
|
}
|
.fcFF3636 {
|
color: #ff3636;
|
}
|
</style>
|