From 6f1e2acc812b2f40359aabdb5d04648acfcdcef5 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期四, 24 四月 2025 08:40:11 +0800 Subject: [PATCH] 修改 --- src/views/firework/humiture/components/dataDialog.vue | 138 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 120 insertions(+), 18 deletions(-) diff --git a/src/views/firework/humiture/components/dataDialog.vue b/src/views/firework/humiture/components/dataDialog.vue index c5a2afc..ac78756 100644 --- a/src/views/firework/humiture/components/dataDialog.vue +++ b/src/views/firework/humiture/components/dataDialog.vue @@ -3,24 +3,75 @@ <el-dialog v-model="dialogVisible" title="历史记录" - width="50%" + width="800px" :before-close="handleClose" :close-on-press-escape="false" :close-on-click-modal="false" > + <el-form style="display: flex;align-items: center"> + <el-form-item> + <el-date-picker + v-model="state.dateRange" + value-format="YYYY-MM-DD" + type="daterange" + range-separator="-" + start-placeholder="开始日期" + end-placeholder="结束日期" + style="width: 300px" + ></el-date-picker> + </el-form-item> + <el-form-item label="状态:" style="margin-left: 20px" > + <el-select + v-model="state.queryParams.filter.deviceWarning" + placeholder="请选择" + style="width: 80%" + > + <el-option + v-for="item in state.statusList" + :key="item.id" + :label="item.name" + :value="item.id" + /> + </el-select> + </el-form-item> + <el-form-item > + <el-button + type="primary" + @click="getList" + >查询</el-button> + <el-button + type="primary" + plain + @click="reset" + >重置</el-button> + </el-form-item> + </el-form> <el-table v-loading="loading" :data="state.tableList" :border="true"> <el-table-column label="序号" type="index" align="center" width="80" /> - <el-table-column label="探测器" prop="createTime" align="center" /> - <el-table-column label="浓度值" prop="basicName" align="center" /> - <el-table-column label="状态" prop="tabooBasicName" align="center" /> - <el-table-column label="属性" prop="tabooBasicName" align="center" /> - <el-table-column label="时间" prop="updateBy" align="center" /> + <el-table-column label="探测器" prop="deviceName" align="center" /> + <el-table-column label="浓度值" prop="realValue" align="center" > + <template #default="scope"> + <div>{{scope.row.realValue}}<span v-if="state.type == '温度'">℃</span><span v-else>%RH</span></div> + </template> + </el-table-column> + <el-table-column label="状态" prop="deviceWarning" align="center" > + <template #default="scope"> + <span v-if="scope.row.deviceWarning == 0" style="color: #42b983">正常</span> + <span v-else style="color: #ed5565">报警</span> + </template> + </el-table-column> + <el-table-column label="属性" align="center" > + <template #default="scope"> + <span>{{state.type}}</span> + </template> + </el-table-column> + <el-table-column label="时间" prop="createDate" align="center" width="120" /> </el-table> <pagination v-show="total > 0" :total="total" - v-model:page="queryParams.pageNum" + v-model:page="queryParams.pageIndex" v-model:limit="queryParams.pageSize" @pagination="getList" /> @@ -29,33 +80,84 @@ </template> <script setup> import {reactive, ref, toRefs} from "vue"; +import {getHumidity, getTemperature} from "@/api/company/warehouse"; const dialogVisible = ref(false); const emit = defineEmits(["getList"]); const loading = ref(false) const state = reactive({ + type: '', tableList: [], total: 0, queryParams: { - pageNum: 1, - pageSize: 5, + pageIndex: 1, + pageSize: 10, + filter: { + deviceId: null, + deviceWarning: '', + createDateStart: '', + createDateEnd: '' + } }, + statusList: [ + { + id: 0, + name: '正常' + }, + { + id: 1, + name: '报警' + }, + + ], + dateRange:[] }) const { queryParams, total } = toRefs(state); const openDialog = async (type,value) => { + state.type = type + state.queryParams.filter.deviceId = value.deviceId + await getList() dialogVisible.value = true; } const getList = async () => { - // loading.value = true - // const res = await getAvoidInfoPage(state.queryParams) - // if(res.code == 200){ - // state.tableList = res.data.list - // state.total = res.data.total - // }else{ - // ElMessage.warning(res.message) - // } - // loading.value = false + loading.value = true + state.queryParams.filter.createDateStart = state.dateRange[0] + state.queryParams.filter.createDateEnd = state.dateRange[1] + if(state.type == '湿度'){ + const res = await getHumidity(state.queryParams) + if(res.code == 200){ + state.tableList = res.result.records + state.total = res.result.total + }else{ + ElMessage.warning(res.message) + } + loading.value = false + }else { + const res = await getTemperature(state.queryParams) + if(res.code == 200){ + state.tableList = res.result.records + state.total = res.result.total + }else{ + ElMessage.warning(res.message) + } + loading.value = false + } + +} +function reset() { + state.queryParams = { + pageIndex: 1, + pageSize: 10, + filter: { + deviceId: state.queryParams.filter.deviceId, + deviceWarning: '', + createDateStart: '', + createDateEnd: '' + } + } + state.dateRange = [] + getList() } const handleClose = () => { dialogVisible.value = false; -- Gitblit v1.9.2