heyang 6 mēneši atpakaļ
vecāks
revīzija
dac74216ce

+ 32 - 1
pages/api/index.js

@@ -274,11 +274,42 @@ export const reportAppletReportApiDeviceStatGetDeviceStat = (data) => {
 export const reportAppletReportBsEquipDangerCheckList  = (data) => {
     return apiResquest({
         url: `/report/applet/reportBsEquipDanger/checkList`,
+        method: 'GET',
+        data: data,
+    })
+};
+//设备管控-特种设备与常规冷热设备安全隐患统计
+export const reportAppletReportBsEquipDangerList  = (data) => {
+    return apiResquest({
+        url: `/report/applet/reportBsEquipDanger/list`,
         method: 'POST',
         data: {...data}
     })
 };
-
+//大仪预约-使用使用排行TOP10
+export const reportAppletReportApiEquipRankTopList  = (data) => {
+    return apiResquest({
+        url: `/report/applet/reportApiEquipRank/topList`,
+        method: 'GET',
+        data: data,
+    })
+};
+//大仪预约-大仪预约排行
+export const reportAppletReportBsEquipAppointTopList  = (data) => {
+    return apiResquest({
+        url: `/report/applet/reportBsEquipAppoint/topList`,
+        method: 'GET',
+        data: data,
+    })
+};
+//大仪预约-设备总数
+export const reportAppletReportBsEquipStatusList  = (data) => {
+    return apiResquest({
+        url: `/report/applet/reportBsEquipStatus/list`,
+        method: 'GET',
+        data: data,
+    })
+};
 /************************扫码相关************************/
 
 //化学品终端-扫码登录

+ 90 - 123
pages/views/dataBoard/daYiReservation.vue

@@ -5,44 +5,13 @@
 			<view class="chart-t">
 				<viwe class="chart-t-l">
 					<text>设备总数:</text>
-					<text>325</text>
-				</viwe>
-				<viwe class="chart-tab">
-					<view class="chart-tab-li" :class="chartTabIndex==index?'tab-A':'tab-B'"
-						v-for="(item,index) in chartTabList" :key="index" @click="chartTabClick(index)">{{item}}</view>
+					<text>{{deviceTotal}}</text>
 				</viwe>
 			</view>
 			<view class="chart-b">
 				<qiun-data-charts type="ring" :opts="opts" :echartsH5="true" :chartData="chartData" />
 			</view>
 		</view>
-		<view class="statistics">
-			<view class="statistics-b">
-				<view class="statistics-b-li">
-					<view class="statistics-b-li-t">
-						<text class="color-A">9999</text>
-						<text class="color-A">小时</text>
-					</view>
-					<view class="statistics-b-li-b">使用机时</view>
-				</view>
-				<view class="line"></view>
-				<view class="statistics-b-li">
-					<view class="statistics-b-li-t">
-						<text class="color-B">¥</text>
-						<text class="color-B">56460.63</text>
-					</view>
-					<view class="statistics-b-li-b">预约费用</view>
-				</view>
-				<view class="line"></view>
-				<view class="statistics-b-li">
-					<view class="statistics-b-li-t">
-						<text class="color-C">333</text>
-						<text class="color-C">个</text>
-					</view>
-					<view class="statistics-b-li-b">预约费用</view>
-				</view>
-			</view>
-		</view>
 		<view class="small-title">
 			<view class="small-title-l">预约使用排行TOP10</view>
 			<viwe class="chart-tab-tow">
@@ -61,22 +30,23 @@
 		</view>
 		<!--  -->
 		<view class="small-title">
-			<view class="small-title-l">一年内空闲率排行TOP10</view>
+			<view class="small-title-l">大仪预约排行</view>
 		</view>
 		<view class="table-tow">
 			<uni-card>
 				<view style="height: 200px">
-					<zb-table :columns="column2" :stripe="false" :border="false" :data="dataList"></zb-table>
+					<zb-table :columns="column2" :stripe="false" :border="false" :data="dataList2"></zb-table>
 				</view>
 			</uni-card>
 
 		</view>
 		<view class="small-title">
-			<view class="small-title-l">安全隐患统计</view>
-		</view>
-		<view class="small-title-tow">
-			<view class="small-title-tow-l">安全检查校级巡查计划标题标题标题标题标题</view>
-			<img class="small-title-tow-r" src="@/pages/images/dataBoard/icon_06.png">
+			<view class="small-title-l">隐患实验室统计</view>
+			<viwe class="chart-tab-tow">
+				<view class="chart-tab-li" :class="chartTabIndexThree==index?'tab-A':'tab-B'"
+					v-for="(item,index) in chartTabListThree" :key="index" @click="chartTabClickThree(index)">{{item}}
+				</view>
+			</viwe>
 		</view>
 		<view class="chart-tow">
 			<view class="chart-tow-b">
@@ -91,8 +61,10 @@
 		config
 	} from '@/api/request/config.js'
 	import {
-
-	} from '@/pages_basics/api/index.js'
+		reportAppletReportBsEquipStatusList,
+		reportAppletReportApiEquipRankTopList,
+		reportAppletReportBsEquipAppointTopList,
+	} from '@/pages/api/index.js'
 	export default {
 		name: "daYiReservation",
 		components: {
@@ -163,6 +135,9 @@
 				chartTabIndex: 0,
 				chartTabListTow: ['按资费', '按机时', '按样品'],
 				chartTabIndexTow: 0,
+				chartTabListThree: ['年度', '季度', '月度'],
+				chartTabIndexThree: 0,
+				
 				// 查询参数
 				queryParams: {
 					page: 1,
@@ -176,24 +151,24 @@
 						align: 'center',
 					},
 					{
-						name: 'data1',
+						name: 'deviceName',
 						label: '设备名称',
 						fixed: true,
 						width: 80,
 						align: 'center',
 					},
 					{
-						name: 'data2',
+						name: 'useTimeStr',
 						label: '使用机时',
 						align: 'center',
 					},
 					{
-						name: 'data3',
-						label: '预约费用',
+						name: 'appointFee',
+						label: '使用费用',
 						align: 'center',
 					},
 					{
-						name: 'data4',
+						name: 'testSample',
 						label: '测试样品',
 						align: 'center',
 					},
@@ -206,96 +181,28 @@
 						align: 'center',
 					},
 					{
-						name: 'data1',
+						name: 'deviceName',
 						label: '设备名称',
 						fixed: true,
 						width: 80,
 						align: 'center',
 					},
 					{
-						name: 'data2',
+						name: 'orderDuration',
 						label: '预约时长',
 						align: 'center',
 					},
 					{
-						name: 'data3',
-						label: '空闲率',
+						name: 'orderNum',
+						label: '预约次数',
 						align: 'center',
 					},
 				],
-				dataList: [{
-						data1: '压力容器',
-						data2: '468',
-						data3: '47',
-						data4: '220',
-						data5: '137',
-					},
-					{
-						data1: '浓缩设备',
-						data2: '367',
-						data3: '7',
-						data4: '120',
-						data5: '37',
-					},
-					{
-						data1: '高压灭菌锅',
-						data2: '343',
-						data3: '71',
-						data4: '10',
-						data5: '37',
-					},
-					{
-						data1: '纯水设备',
-						data2: '256',
-						data3: '7',
-						data4: '120',
-						data5: '37',
-					},
-					{
-						data1: '二氧化碳培养箱',
-						data2: '232',
-						data3: '71',
-						data4: '10',
-						data5: '37',
-					},
-				],
-				dataList: [{
-						data1: '压力容器',
-						data2: '468',
-						data3: '88',
-						data4: '220',
-						data5: '137',
-					},
-					{
-						data1: '浓缩设备',
-						data2: '367',
-						data3: '56',
-						data4: '120',
-						data5: '37',
-					},
-					{
-						data1: '高压灭菌锅',
-						data2: '343',
-						data3: '42',
-						data4: '10',
-						data5: '37',
-					},
-					{
-						data1: '纯水设备',
-						data2: '256',
-						data3: '34',
-						data4: '120',
-						data5: '37',
-					},
-					{
-						data1: '二氧化碳培养箱',
-						data2: '232',
-						data3: '22',
-						data4: '10',
-						data5: '37',
-					},
-				],
+				dataList: [],
+				dataList2: [],
 				total: 0,
+				type:1,//type为1 按费用,2.按照机时,3.按照样品
+				deviceTotal:0,
 			}
 		},
 		created() {
@@ -305,10 +212,63 @@
 
 		},
 		mounted() {
-			this.getServerData()
+			this.reportAppletReportBsEquipStatusList()
+			this.reportAppletReportApiEquipRankTopList()
+			this.reportAppletReportBsEquipAppointTopList()
+			//this.getServerData()
 			this.getServerDataTow()
 		},
 		methods: {
+			//设备总数
+			async reportAppletReportBsEquipStatusList() {
+				let self = this;
+				const {
+					data
+				} = await reportAppletReportBsEquipStatusList();
+				if (data.code == 200) {
+					let list=[];
+					data.data.forEach(function(item,index){
+						if(index<6){
+							list.push({
+								"name": item.name,
+								"value":item.value,
+								"labelShow": false,
+							})
+							self.deviceTotal+=item.value
+						}
+						
+					})
+					
+					let res = {
+						series: [{
+							data: list
+						}]
+					};
+					this.chartData = JSON.parse(JSON.stringify(res));
+				}
+			},
+			//预约使用排行
+			async reportAppletReportApiEquipRankTopList() {
+				let self = this;
+				const {
+					data
+				} = await reportAppletReportApiEquipRankTopList({type:this.type});
+				if (data.code == 200) {
+					
+					this.$set(this,'dataList',data.data)
+				}
+			},
+			//大仪预约排行
+			async reportAppletReportBsEquipAppointTopList() {
+				let self = this;
+				const {
+					data
+				} = await reportAppletReportBsEquipAppointTopList();
+				if (data.code == 200) {
+					
+					this.$set(this,'dataList2',data.data)
+				}
+			},
 			getServerData() {
 				//模拟从服务器获取数据时的延时
 				setTimeout(() => {
@@ -353,6 +313,13 @@
 			},
 			chartTabClickTow(index) {
 				this.chartTabIndexTow = index;
+				this.type = index+1;
+				this.reportAppletReportApiEquipRankTopList();
+			},
+			chartTabClickThree(index) {
+				this.chartTabIndexThree = index;
+				this.type = index+1;
+				this.reportAppletReportApiEquipRankTopList();
 			},
 		},
 	}

+ 27 - 33
pages/views/dataBoard/equipmentControl.vue

@@ -50,15 +50,16 @@
 			</view>
 		</view>
 		<view class="chart-title">
-			<view class="chart-title-l">安全指标</view>
+			<view class="chart-title-l">安全检查指标</view>
 			<view class="chart-title-r">占比</view>
 		</view>
 		<view class="list" v-for="(item,index) in dataList" :key="index">
 			<view class="list-title">
-				<view class="list-title-l">{{item.data1}}</view>
-				<view class="list-title-r">{{item.data2}}</view>
+				<view class="list-title-l">{{item.code}}{{item.name}}</view>
+				<view class="list-title-r">{{item.rate}}%</view>
+			</view>
+			<view class="list-li" v-for="(item2,index2) in item.childList" :key="index2">{{item2.code}}{{item2.name}}
 			</view>
-			<view class="list-li" v-for="(item2,index2) in item.child" :key="index2">{{item2.name}}</view>
 		</view>
 	</view>
 </template>
@@ -70,6 +71,7 @@
 	import {
 		reportAppletReportApiDeviceStatGetDeviceStat,
 		reportAppletReportBsEquipDangerCheckList,
+		reportAppletReportBsEquipDangerList,
 	} from '@/pages/api/index.js'
 	export default {
 		name: "equipmentControl",
@@ -157,34 +159,12 @@
 					page: 1,
 					pageSize: 10,
 				},
-				dataList: [{
-						data1: '13.4加热及制冷装置管理',
-						data2: '40%',
-						child: [{
-								name: '13.4.1 冰箱、烘箱、马弗炉等周围堆放杂物',
-							},
-							{
-								name: '13.4.3 烘箱叠放',
-							},
-						]
-					},
-					{
-						data1: '13.4加热及制冷装置管理',
-						data2: '40%',
-						child: [{
-								name: '13.4.1 冰箱、烘箱、马弗炉等周围堆放杂物',
-							},
-							{
-								name: '13.4.3 烘箱叠放',
-							},
-						]
-					},
-
-				],
+				dataList: [],
 				total: 0,
 				newlyAddToday: 0,
 				overdueDeviceNum: 0,
 				totalDeviceNum: 0,
+				statisticsType:1,//1.年度2.季度3.月度
 			}
 		},
 		created() {
@@ -196,6 +176,7 @@
 		mounted() {
 			this.reportAppletReportApiDeviceStatGetDeviceStat();
 			this.reportAppletReportBsEquipDangerCheckList();
+			this.reportAppletReportBsEquipDangerList();
 			this.getServerData();
 			this.getServerDataTow();
 			this.getServerDataThree();
@@ -219,9 +200,17 @@
 					data
 				} = await reportAppletReportBsEquipDangerCheckList();
 				if (data.code == 200) {
-				/* 	this.$set(self, 'newlyAddToday', data.data.newlyAddToday);
-					this.$set(self, 'overdueDeviceNum', data.data.overdueDeviceNum);
-					this.$set(self, 'totalDeviceNum', data.data.totalDeviceNum) */
+					this.$set(self, 'dataList', data.data);
+				}
+			},
+			//特种设备与常规冷热设备安全隐患统计
+			async reportAppletReportBsEquipDangerList() {
+				let self = this;
+				const {
+					data
+				} = await reportAppletReportBsEquipDangerList({dangerType:'1',statisticsType:this.statisticsType});
+				if (data.code == 200) {
+					
 				}
 			},
 			getServerData() {
@@ -515,6 +504,9 @@
 					font-size: 28rpx;
 					color: #FFFFFF;
 					line-height: 80rpx;
+					overflow: hidden;
+					text-overflow: ellipsis;
+					white-space: nowrap;
 				}
 
 				.list-title-r {
@@ -526,7 +518,7 @@
 			}
 
 			.list-li {
-				height: 80rpx;
+				min-height: 80rpx;
 				display: flex;
 				justify-content: space-between;
 				padding: 0 38rpx 0 10rpx;
@@ -534,8 +526,10 @@
 				font-weight: 400;
 				font-size: 28rpx;
 				color: #999999;
-				line-height: 80rpx;
+				line-height: 40rpx;
 				text-align: left;
+				padding: 20rpx 0;
+				box-sizing: border-box;
 			}
 		}
 	}