Browse Source

基本完成

程志平 3 years ago
parent
commit
644ddb8191

+ 22 - 1
src/api/index.js

@@ -37,10 +37,31 @@ export function airTimeoutWarning() {
 export function getChart(forData) {
 export function getChart(forData) {
 	let data = new FormData()
 	let data = new FormData()
 	data.append('year', forData.year)
 	data.append('year', forData.year)
-	
+
 	return request({
 	return request({
 		url: '/airManage/firstAirMonthT.action',
 		url: '/airManage/firstAirMonthT.action',
 		method: 'post',
 		method: 'post',
 		data
 		data
 	})
 	})
 }
 }
+
+// 实时业务信息,获取充值记录
+export function realTimeBusinessInformation(forData) {
+	let data = new FormData()
+	data.append('page', forData.page)
+	data.append('rows', forData.rows)
+
+	return request({
+		url: '/airManage/rechargequeryPage.action',
+		method: 'post',
+		data
+	})
+}
+
+// 空调实时监控
+export function airRealTimeMonitor() {
+	return request({
+		url: '/airManage/firstqueryOn.action',
+		method: 'post'
+	})
+}

+ 10 - 0
src/store/modules/user.js

@@ -33,6 +33,9 @@ const mutations = {
 	SET_NAME: (state, name) => {
 	SET_NAME: (state, name) => {
 		state.name = name
 		state.name = name
 	},
 	},
+	SET_PWD: (state, pwd) => {
+		state.pwd = pwd
+	},
 	SET_LEVEL: (state, level) => {
 	SET_LEVEL: (state, level) => {
 		state.level = level
 		state.level = level
 	},
 	},
@@ -63,6 +66,12 @@ const actions = {
 					// 添加:
 					// 添加:
 					commit('SET_LEVEL', response.data[0].level)
 					commit('SET_LEVEL', response.data[0].level)
 					commit('SET_NAME', username)
 					commit('SET_NAME', username)
+					commit('SET_PWD', password)
+				} else {
+					commit('SET_TOKEN')
+					commit('SET_LEVEL')
+					commit('SET_NAME')
+					commit('SET_PWD')
 				}
 				}
 				// commit('SET_TOKEN', data.token)
 				// commit('SET_TOKEN', data.token)
 				// setToken(data.token)
 				// setToken(data.token)
@@ -113,6 +122,7 @@ const actions = {
 			resetRouter()
 			resetRouter()
 			commit('RESET_STATE')
 			commit('RESET_STATE')
 			commit('SET_NAME')
 			commit('SET_NAME')
+			commit('SET_PWD')
 			commit('SET_LEVEL')
 			commit('SET_LEVEL')
 			commit('SET_TOKEN', '')
 			commit('SET_TOKEN', '')
 			resolve()
 			resolve()

+ 95 - 22
src/views/index/index.vue

@@ -82,7 +82,8 @@
 							<span>实时业务信息</span>
 							<span>实时业务信息</span>
 						</div>
 						</div>
 						<el-table :data="yewu_tableData" height="350" stripe :cell-style="handle_cell_style"
 						<el-table :data="yewu_tableData" height="350" stripe :cell-style="handle_cell_style"
-							:header-cell-style="header_cell_style" style="width: 100%" :show-header="false">
+							:header-cell-style="header_cell_style" v-loading="realTimeBusinessInformation_loading"
+							style="width: 100%" :show-header="false">
 							<el-table-column prop="desc" label="说明" align="left">
 							<el-table-column prop="desc" label="说明" align="left">
 							</el-table-column>
 							</el-table-column>
 							<el-table-column prop="dataTime" label="时间" align="right">
 							<el-table-column prop="dataTime" label="时间" align="right">
@@ -106,18 +107,10 @@
 							</div>
 							</div>
 						</div>
 						</div>
 						<el-table :data="zhuangtai_tableData" height="350" stripe :cell-style="cell_style"
 						<el-table :data="zhuangtai_tableData" height="350" stripe :cell-style="cell_style"
-							:header-cell-style="header_cell_style" style="width: 100%">
-							<el-table-column prop="floor" label="楼层" align="center">
-							</el-table-column>
-							<el-table-column prop="scienceBuilding" label="科技楼" align="center">
-							</el-table-column>
-							<el-table-column prop="teachBuilding" label="教学楼" align="center">
-							</el-table-column>
-							<el-table-column prop="adminBuilding" label="行政楼" align="center">
-							</el-table-column>
-							<el-table-column prop="stuCenter" label="大学生活动中心" align="center">
-							</el-table-column>
-							<el-table-column prop="library" label="图书馆" align="center">
+							:header-cell-style="header_cell_style" style="width: 100%"
+							v-loading="airRealTimeMonitor_loading">
+							<el-table-column v-for="col in cols" :prop="col.prop" :label="col.align"
+								:align="col.center">
 							</el-table-column>
 							</el-table-column>
 						</el-table>
 						</el-table>
 					</el-card>
 					</el-card>
@@ -133,7 +126,9 @@
 		thisMonthRecharge,
 		thisMonthRecharge,
 		thisMonthConsume,
 		thisMonthConsume,
 		airTimeoutWarning,
 		airTimeoutWarning,
-		getChart
+		getChart,
+		airRealTimeMonitor,
+		realTimeBusinessInformation
 	} from '@/api/index';
 	} from '@/api/index';
 	import * as echarts from 'echarts/core';
 	import * as echarts from 'echarts/core';
 	import {
 	import {
@@ -178,13 +173,17 @@
 					amount: 0.00,
 					amount: 0.00,
 					loading: false
 					loading: false
 				},
 				},
-				// 空调超时预警
+				// 空调超时预警loading
 				airTimeoutWarning_loading: false,
 				airTimeoutWarning_loading: false,
+				// 空调实时监控loading
+				airRealTimeMonitor_loading: false,
+				// 实时业务信息,获取充值记录loading
+				realTimeBusinessInformation_loading: true,
 				// 选择年份范围
 				// 选择年份范围
 				pickerOptions: {
 				pickerOptions: {
 					disabledDate(time) {
 					disabledDate(time) {
 						return (
 						return (
-							time.getFullYear() < "2021" || time.getFullYear() > new Date().getFullYear()
+							time.getFullYear() < "2022" || time.getFullYear() > new Date().getFullYear()
 						);
 						);
 					}
 					}
 				},
 				},
@@ -205,19 +204,21 @@
 				// 预警表格数据
 				// 预警表格数据
 				yujing_tableData: [],
 				yujing_tableData: [],
 				// 业务表格数据
 				// 业务表格数据
-				yewu_tableData: [{
-					desc: '朱秀平电费充值',
-					dataTime: '2022-06-23 17:15:15'
-				}],
+				yewu_tableData: [],
 				// 状态表格数据
 				// 状态表格数据
 				zhuangtai_tableData: [{
 				zhuangtai_tableData: [{
 					floor: '1F',
 					floor: '1F',
-					scienceBuilding: '26/56',
+					Building: '26/56',
 					teachBuilding: '26/56',
 					teachBuilding: '26/56',
 					adminBuilding: '26/56',
 					adminBuilding: '26/56',
 					stuCenter: '26/56',
 					stuCenter: '26/56',
 					library: '26/56'
 					library: '26/56'
 				}],
 				}],
+				cols: [{
+					prop: 'floor',
+					label: '楼层',
+					align: "center"
+				}],
 				// 折线图数据
 				// 折线图数据
 				option: {
 				option: {
 					tooltip: {
 					tooltip: {
@@ -267,9 +268,81 @@
 			this.getAirTimeoutWarning()
 			this.getAirTimeoutWarning()
 			// 用电消费走势图
 			// 用电消费走势图
 			this.getChart()
 			this.getChart()
+
+			// 空调实时监控
+			setInterval(() => {
+				this.getAirRealTimeMonitor()
+			}, 1500);
+
+			// 实时业务信息,获取充值记录
+			setInterval(() => {
+				this.getRealTimeBusinessInformation()
+			}, 1500);
+			
+			// this.cols.push({prop: 'address', label: '地址'})
 		},
 		},
 		methods: {
 		methods: {
 			/**
 			/**
+			 * 实时业务信息,获取充值记录
+			 */
+			getRealTimeBusinessInformation() {
+				this.realTimeBusinessInformation_loading = true
+
+				let data = {
+					page: 1,
+					rows: 7
+				}
+				realTimeBusinessInformation(data).then((res) => {
+					console.log(res);
+					if (typeof res.code == 'undefined' || res.code == '') {
+						this.$message.error('返回数据格式问题,code未获取到!');
+						return;
+					}
+					if (res.code == 200) {
+						this.yewu_tableData = [];
+						let tmp = []
+						for (var i = 0; i < res.rows.length; i++) {
+							tmp.push({
+								desc: res.rows[i].user_name + ' 充值',
+								dataTime: res.rows[i].time
+							});
+						}
+						this.yewu_tableData = tmp;
+					} else {
+						// this.$message.error('空调实时监控返回的数据异常!');
+					}
+				}).catch((err) => {
+					// console.log(err);
+					this.$message.error(err.message)
+				});
+
+				this.realTimeBusinessInformation_loading = false
+			},
+			/**
+			 * 空调实时监控
+			 */
+			getAirRealTimeMonitor() {
+				this.airRealTimeMonitor_loading = true
+
+				airRealTimeMonitor().then((res) => {
+					// console.log(res);
+					if (typeof res.code == 'undefined' || res.code == '') {
+						this.$message.error('返回数据格式问题,code未获取到!');
+						return;
+					}
+					if (res.code == 200) {
+
+					} else {
+						// this.$message.error('空调实时监控返回的数据异常!');
+					}
+				}).catch((err) => {
+					// console.log(err);
+					this.$message.error(err.message)
+				});
+
+				this.airRealTimeMonitor_loading = false
+			},
+			/**
 			 * 获取折线图数据
 			 * 获取折线图数据
 			 */
 			 */
 			getChart() {
 			getChart() {
@@ -283,7 +356,7 @@
 						this.$message.error('返回数据格式问题,code未获取到!');
 						this.$message.error('返回数据格式问题,code未获取到!');
 						return;
 						return;
 					}
 					}
-					
+
 					if (res.code == 200) {
 					if (res.code == 200) {
 						let tmp = res.monthT.sort((a, b) => {
 						let tmp = res.monthT.sort((a, b) => {
 							return a.month.localeCompare(b.month)
 							return a.month.localeCompare(b.month)

+ 2 - 2
src/views/rechargeRecord/index.vue

@@ -29,13 +29,13 @@
 									format="yyyy-MM-dd HH:mm:ss" clearable>
 									format="yyyy-MM-dd HH:mm:ss" clearable>
 								</el-date-picker>
 								</el-date-picker>
 							</el-form-item>
 							</el-form-item>
-							<el-form-item label="">
+							<!-- <el-form-item label="">
 								<el-select v-model="formInline.state" placeholder="支付状态" @change="search_state_change"
 								<el-select v-model="formInline.state" placeholder="支付状态" @change="search_state_change"
 									clearable>
 									clearable>
 									<el-option label="支付成功" value="1"></el-option>
 									<el-option label="支付成功" value="1"></el-option>
 									<el-option label="支付失败" value="0"></el-option>
 									<el-option label="支付失败" value="0"></el-option>
 								</el-select>
 								</el-select>
-							</el-form-item>
+							</el-form-item> -->
 						</el-form>
 						</el-form>
 						<el-table :data="tableData" height="510" style="width: 100%" :cell-style="cell_style" v-loading="loading"
 						<el-table :data="tableData" height="510" style="width: 100%" :cell-style="cell_style" v-loading="loading"
 							:header-cell-style="header_cell_style">
 							:header-cell-style="header_cell_style">

+ 14 - 13
src/views/serveAC/index.vue

@@ -848,27 +848,24 @@
 						let tmp = this.navData
 						let tmp = this.navData
 						for (var i = 0; i < tmp.length; i++) {
 						for (var i = 0; i < tmp.length; i++) {
 							if (tmp[i].label == this.form_modify_room.school && typeof tmp[i].children !==
 							if (tmp[i].label == this.form_modify_room.school && typeof tmp[i].children !==
-								'undefined' && tmp[i]
-								.children.length > 0) {
-								let tmp1 = tmp[i].children
+								'undefined' && tmp[i].children.length > 0) {
+								let tmp1 = tmp[i].children;
 								for (var j = 0; j < tmp1.length; j++) {
 								for (var j = 0; j < tmp1.length; j++) {
 									if (tmp1[j].label == this.form_modify_room.building && typeof tmp1[j]
 									if (tmp1[j].label == this.form_modify_room.building && typeof tmp1[j]
-										.children !== 'undefined' &&
-										tmp1[j]
-										.children.length > 0) {
-										let tmp2 = tmp1[j].children
+										.children !== 'undefined' && tmp1[j].children.length > 0) {
+										let tmp2 = tmp1[j].children;
 										for (var k = 0; k < tmp2.length; k++) {
 										for (var k = 0; k < tmp2.length; k++) {
 											if (tmp2[k].label == this.form_modify_room.floor && typeof tmp2[k]
 											if (tmp2[k].label == this.form_modify_room.floor && typeof tmp2[k]
-												.rooms !== 'undefined' &&
-												tmp2[k].rooms.length > 0) {
-												let tmp3 = tmp2[k].rooms
+												.rooms !== 'undefined' && tmp2[k].rooms.length > 0) {
+												let tmp3 = tmp2[k].rooms;
 												for (var p = 0; p < tmp3.length; p++) {
 												for (var p = 0; p < tmp3.length; p++) {
 													if (tmp3[p] == room) {
 													if (tmp3[p] == room) {
 														this.navData[i].children[j].children[k].rooms[p] = this
 														this.navData[i].children[j].children[k].rooms[p] = this
 															.form_modify_room.building + '-' + this
 															.form_modify_room.building + '-' + this
-															.form_modify_room.room
+															.form_modify_room.room;
 													}
 													}
 												}
 												}
+												this.navData[i].children[j].children[k].rooms.sort();
 											}
 											}
 										}
 										}
 									}
 									}
@@ -926,6 +923,7 @@
 														this.navData[i].children[j].children[k].rooms.splice(p, 1)
 														this.navData[i].children[j].children[k].rooms.splice(p, 1)
 													}
 													}
 												}
 												}
+												this.navData[i].children[j].children[k].rooms.sort()
 											}
 											}
 										}
 										}
 									}
 									}
@@ -973,7 +971,8 @@
 										label: floors[k].floor,
 										label: floors[k].floor,
 										rooms: floors[k].rooms
 										rooms: floors[k].rooms
 									}
 									}
-									tmpFloors.push(floor)
+									floor.rooms.sort();
+									tmpFloors.push(floor);
 								}
 								}
 								tmpFloors.sort((a, b) => a.label.localeCompare(b.label))
 								tmpFloors.sort((a, b) => a.label.localeCompare(b.label))
 								tmpBuilds.id = builds[j].id
 								tmpBuilds.id = builds[j].id
@@ -1359,7 +1358,9 @@
 					})
 					})
 				}, 100)
 				}, 100)
 			},
 			},
-			// 添加楼栋对话框
+			/**
+			 * 添加楼栋对话框
+			 */
 			dialog_add_loudong_click() {
 			dialog_add_loudong_click() {
 				this.$refs["add_loudong_form"].validate(validate => {
 				this.$refs["add_loudong_form"].validate(validate => {
 					if (validate) {
 					if (validate) {

+ 13 - 6
src/views/systemSet/index.vue

@@ -42,19 +42,20 @@
 							<el-form-item prop="send_jian">
 							<el-form-item prop="send_jian">
 								<span>每隔</span>
 								<span>每隔</span>
 								<el-input v-model="formData.send_jian" maxlength="2" placeholder="请输入小时数"></el-input>
 								<el-input v-model="formData.send_jian" maxlength="2" placeholder="请输入小时数"></el-input>
-								<span>小时,系统自动发送通知给操作员</span>
+								<span>小时,系统自动发送通知<span class="myRed">给操作员</span></span>
 							</el-form-item>
 							</el-form-item>
 							<el-form-item prop="send_start">
 							<el-form-item prop="send_start">
 								<span>每天</span>
 								<span>每天</span>
-								<el-time-picker :editable="false" v-model="formData.send_start" :picker-options="{
-										    start: '00:00:00',step: '00:00:01',end: '23:59:59'
-									}" value-format="HH:mm:ss" placeholder="请输入时间" :clearable="false">
+								<el-time-picker :editable="false" v-model="formData.send_start" value-format="HH:mm:ss"
+									:picker-options="{selectableRange: '00:00:00 - 23:59:59'}" placeholder="请输入时间"
+									:clearable="false">
 								</el-time-picker>
 								</el-time-picker>
-								<span>为截止时间,系统自动发送通知给操作员</span>
+								<span>为截止时间,系统自动发送通知<span class="myRed">给操作员</span></span>
 							</el-form-item>
 							</el-form-item>
 							<el-form-item prop="phone">
 							<el-form-item prop="phone">
 								<span>使用问题联系方式</span>
 								<span>使用问题联系方式</span>
-								<el-input v-model="formData.phone" placeholder="请输入手机号" maxlength="11" class="phone-class"></el-input>
+								<el-input v-model="formData.phone" placeholder="请输入手机号" maxlength="11"
+									class="phone-class"></el-input>
 							</el-form-item>
 							</el-form-item>
 							<el-form-item>
 							<el-form-item>
 								<el-button type="primary" round @click="handle_submit">确认提交</el-button>
 								<el-button type="primary" round @click="handle_submit">确认提交</el-button>
@@ -323,6 +324,12 @@
 								font-size: 16px;
 								font-size: 16px;
 								font-family: Microsoft YaHei-3970(82674968);
 								font-family: Microsoft YaHei-3970(82674968);
 								color: #46515E;
 								color: #46515E;
+								
+								.myRed {
+									color: red;
+									font-weight: bold;
+									font-size: 20px;
+								}
 							}
 							}
 
 
 							.el-input,
 							.el-input,

+ 1 - 1
src/views/userMgr/index.vue

@@ -420,7 +420,7 @@
 							admin_name: this.form.admin_name,
 							admin_name: this.form.admin_name,
 							password: this.form.password
 							password: this.form.password
 						}
 						}
-						console.log(params);
+						// console.log(params);
 						// 开始发送请求,获取配置数据
 						// 开始发送请求,获取配置数据
 						chongzhi(params).then((res) => {
 						chongzhi(params).then((res) => {
 							// console.log(res);
 							// console.log(res);