From 489ba60990eeb2b11ff2522678630d8bc3764e71 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Wed, 16 Apr 2025 16:45:32 +0800
Subject: [PATCH] 修改
---
src/layout/components/Sidebar/menu.js | 2
src/views/firework/humiture/index.vue | 57 +++++-----
src/assets/icons/svg/newpeople.svg | 1
src/views/firework/humiture/components/dataDialog.vue | 73 ++++++++++++++
src/views/firework/warehouse/index.vue | 68 +++++++++---
src/views/firework/people/index.vue | 30 +++---
src/api/company/area.js | 16 +++
7 files changed, 182 insertions(+), 65 deletions(-)
diff --git a/src/api/company/area.js b/src/api/company/area.js
new file mode 100644
index 0000000..ffb7159
--- /dev/null
+++ b/src/api/company/area.js
@@ -0,0 +1,16 @@
+import request from "@/utils/request";
+
+export function getProvinceListData(params){
+ return request({
+ url: '/districtByName',
+ method:'get',
+ params:params || {},
+ })
+}
+
+export function getCityListData(params){
+ return request({
+ url:'/district?type=' + params.type + '&parentname=' + params.parentname + '&parenttype=' + params.parenttype,
+ method:'get',
+ })
+}
diff --git a/src/assets/icons/svg/newpeople.svg b/src/assets/icons/svg/newpeople.svg
new file mode 100644
index 0000000..b8e9c4b
--- /dev/null
+++ b/src/assets/icons/svg/newpeople.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M24 20C27.866 20 31 16.866 31 13C31 9.13401 27.866 6 24 6C20.134 6 17 9.13401 17 13C17 16.866 20.134 20 24 20Z" fill="none" stroke="#333" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/><path d="M6 40.8V42H42V40.8C42 36.3196 42 34.0794 41.1281 32.3681C40.3611 30.8628 39.1372 29.6389 37.6319 28.8719C35.9206 28 33.6804 28 29.2 28H18.8C14.3196 28 12.0794 28 10.3681 28.8719C8.86278 29.6389 7.63893 30.8628 6.87195 32.3681C6 34.0794 6 36.3196 6 40.8Z" fill="none" stroke="#333" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/></svg>
diff --git a/src/layout/components/Sidebar/menu.js b/src/layout/components/Sidebar/menu.js
index b7d7932..75257b2 100644
--- a/src/layout/components/Sidebar/menu.js
+++ b/src/layout/components/Sidebar/menu.js
@@ -9,7 +9,7 @@
{
path: '/people',
name: 'People',
- meta: { title: '人员信息',icon: 'people',affix: true }
+ meta: { title: '人员信息',icon: 'newpeople',affix: true }
},
{
path: '/warehouse',
diff --git a/src/views/firework/humiture/components/dataDialog.vue b/src/views/firework/humiture/components/dataDialog.vue
index 4ed7971..ac78756 100644
--- a/src/views/firework/humiture/components/dataDialog.vue
+++ b/src/views/firework/humiture/components/dataDialog.vue
@@ -3,11 +3,49 @@
<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="deviceName" align="center" />
@@ -55,9 +93,24 @@
pageIndex: 1,
pageSize: 10,
filter: {
- deviceId: null
+ deviceId: null,
+ deviceWarning: '',
+ createDateStart: '',
+ createDateEnd: ''
}
},
+ statusList: [
+ {
+ id: 0,
+ name: '正常'
+ },
+ {
+ id: 1,
+ name: '报警'
+ },
+
+ ],
+ dateRange:[]
})
const { queryParams, total } = toRefs(state);
@@ -69,6 +122,8 @@
}
const getList = async () => {
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){
@@ -90,6 +145,20 @@
}
}
+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;
emit("getList")
diff --git a/src/views/firework/humiture/index.vue b/src/views/firework/humiture/index.vue
index 01a985c..42ee258 100644
--- a/src/views/firework/humiture/index.vue
+++ b/src/views/firework/humiture/index.vue
@@ -16,37 +16,37 @@
@pagination="getListAll"
/>
</div>
- <!-- 卡片部分-->
- <el-scrollbar max-height="420px" style="padding-right: 10px;overflow-x: hidden;" v-if="state.dataList && state.dataList.length >0">
-<!-- <el-row :gutter="20" style="margin-top: 5px;margin-left: 5px">-->
-<!-- <el-col v-for="(item,index) in state.dataList" :key="index" :span="8">-->
- <div class="grid-container">
- <div v-for="(item,index) in state.dataList" :key="index" style="width: 365px;margin: 20px 30px">
- <el-card class="card-item " shadow="always">
- <div style="display: flex;flex-direction: column">
- <div style="font-size: 18px;font-weight: 700;margin-bottom: 25px">{{item.storeName}}—{{item.storeroomName}}—{{item.deviceName}}</div>
- <div style="display: flex;align-items: center;margin-bottom: 15px">
- <img src="@/assets/images/device.png" />
- <div style="display: flex;flex-direction: column">
- <div style="display: flex;justify-content: space-between;margin-bottom: 10px;align-items: center">
- <span>温度:{{item.temperatureValue}}℃</span>
- <el-button type="primary" plain style="margin-left: 15px" @click="openData('温度',item)">历史数据</el-button>
- </div>
- <div style="display: flex;justify-content: space-between;align-items: center">
- <span>湿度:{{item.humidityValue}}%RH</span>
- <el-button type="primary" plain style="margin-left: 15px" @click="openData('湿度',item)">历史数据</el-button>
+ <div style=" border: 1px solid #ebeef5;border-radius: 15px;margin-top: 20px">
+<!-- <span style="font-size: 18px;font-weight: 600;margin-left: 15px;margin-top: 10px"> 设备信息</span>-->
+ <el-scrollbar max-height="420px" style="padding-right: 10px;overflow-x: hidden;" v-if="state.dataList && state.dataList.length >0">
+ <div class="grid-container">
+ <div v-for="(item,index) in state.dataList" :key="index" style="width: 365px;margin: 20px 30px">
+ <el-card class="card-item " shadow="always">
+ <div style="display: flex;flex-direction: column">
+ <div style="font-size: 18px;font-weight: 700;margin-bottom: 25px">{{item.storeName}}—{{item.storeroomName}}—{{item.deviceName}}</div>
+ <div style="display: flex;align-items: center;margin-bottom: 15px">
+ <img src="@/assets/images/device.png" />
+ <div style="display: flex;flex-direction: column">
+ <div style="display: flex;justify-content: space-between;margin-bottom: 10px;align-items: center">
+ <span>温度:{{item.temperatureValue}}℃</span>
+ <el-button type="primary" plain style="margin-left: 15px" @click="openData('温度',item)">历史数据</el-button>
+ </div>
+ <div style="display: flex;justify-content: space-between;align-items: center">
+ <span>湿度:{{item.humidityValue}}%RH</span>
+ <el-button type="primary" plain style="margin-left: 15px" @click="openData('湿度',item)">历史数据</el-button>
+ </div>
</div>
</div>
</div>
- </div>
- </el-card>
+ </el-card>
+ </div>
</div>
- </div>
+ </el-scrollbar>
+ <el-empty v-else description="暂无设备数据" ></el-empty>
+ </div>
+ <!-- 卡片部分-->
-<!-- </el-col>-->
-<!-- </el-row>-->
- </el-scrollbar>
- <el-empty v-else description="暂无设备数据" ></el-empty>
+
<d-dialog ref="dialogRef" @getList="getListAll"></d-dialog>
</div>
</template>
@@ -130,8 +130,9 @@
grid-template-columns: repeat(auto-fill, minmax(385px, 1fr));
gap: 0px;
justify-content: start;
- padding: 15px;
- background: #f7f7f7;
+ //padding: 15px;
+ //background: #f7f7f7;
+
}
.title-font{
display:flex;
diff --git a/src/views/firework/people/index.vue b/src/views/firework/people/index.vue
index 4451873..b70741b 100644
--- a/src/views/firework/people/index.vue
+++ b/src/views/firework/people/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="app-container">
- <div style="display: flex;justify-content: space-between;margin-bottom: 10px">
+ <div style="display: flex;justify-content: space-between;margin-bottom: 0px">
<el-form :inline="true" style="display: flex;align-items: center;flex-wrap: wrap;" >
<el-form-item>
<el-button
@@ -11,20 +11,20 @@
>
新增
</el-button>
- </el-form-item>
- <el-form-item label="姓名:" >
- <el-input v-model="data.queryParams.filter.companyName" placeholder="请输入姓名"></el-input>
- </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-item label="姓名:" >-->
+<!-- <el-input v-model="data.queryParams.filter.companyName" placeholder="请输入姓名"></el-input>-->
+<!-- </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>
</div>
diff --git a/src/views/firework/warehouse/index.vue b/src/views/firework/warehouse/index.vue
index d2cf442..e56b188 100644
--- a/src/views/firework/warehouse/index.vue
+++ b/src/views/firework/warehouse/index.vue
@@ -12,20 +12,39 @@
新增仓库
</el-button>
</el-form-item>
- <!-- <el-form-item label="姓名:" >-->
- <!-- <el-input v-model="data.queryParams.name" placeholder="请输入姓名"></el-input>-->
- <!-- </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-item label="区域:" style="display: flex;align-items: center">
+ <div style="margin: 10px">
+ <div class="basic_search" >
+ <el-select v-model="queryParams.filter.provinceCode" clearable filterable >
+ <el-option v-for="item in data.provinceList" :key="item.id" :label="item.name" :value="item.code">
+ </el-option>
+ </el-select>
+ </div>
+<!-- <div class="basic_search" style="display:inline-block">-->
+<!-- <el-select v-model="params.city" prop="city" clearable filterable @change="changeArea('city')">-->
+<!-- <el-option v-for="item in cityList" :key="item.id" :label="item.name" :value="item.name">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </div>-->
+<!-- <div class="basic_search" style="display:inline-block">-->
+<!-- <el-select v-model="params.district" clearable filterable>-->
+<!-- <el-option v-for="item in districtList" :key="item.id" :label="item.name" :value="item.name">-->
+<!-- </el-option>-->
+<!-- </el-select>-->
+<!-- </div>-->
+ </div>
+ </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>
</div>
<!-- 表格数据 -->
@@ -73,6 +92,7 @@
import Cookies from "js-cookie";
import {delWarehouse, getWarehouse} from "@/api/company/warehouse";
import {subPixelOptimize} from "zrender/lib/graphic/helper/subPixelOptimize";
+import {getProvinceListData} from "@/api/company/area";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const dialogRef = ref();
@@ -84,19 +104,22 @@
pageSize: 10,
filter: {
companyName: '',
- companyCode: ''
+ companyCode: '',
+ provinceCode: ''
}
},
total: 0,
- dataList: []
+ dataList: [],
+ provinceList: []
});
const { queryParams, total, dataList } = toRefs(data);
const classHourRef = ref();
-onMounted(()=>{
+onMounted(async ()=>{
const info = JSON.parse(Cookies.get('userInfo'))
data.queryParams.filter.companyCode = info.companynumber
- getList()
+ await getProvince()
+ await getList()
})
onUnmounted(()=>{
@@ -105,6 +128,12 @@
const addProject = (type,value) => {
dialogRef.value.openDialog(type,value)
+}
+const getProvince = async () =>{
+ let res = await getProvinceListData()
+ if(res.code == 200){
+ data.provinceList = res.result.provinceList
+ }
}
const getList = async () => {
loading.value = true
@@ -125,7 +154,8 @@
pageSize: 10,
filter: {
companyName: '',
- companyCode: ''
+ companyCode: '',
+ provinceCode: ''
}
}
getList()
--
Gitblit v1.9.2