heyang 1 vuosi sitten
vanhempi
commit
18a25b1a64

+ 16 - 1
api/index.js

@@ -6,6 +6,14 @@ import { apiResquestTimer } from './request/request.js'
 
 
 /**************************新气瓶-东北大学**************************/
+//报警记录-未处理气瓶数量
+export const warningNoticeLogGetDisposeCount  = (data) => {
+    return apiResquest({
+        url: `/laboratory/warningNoticeLog/getDisposeCount`,
+		method: 'GET',
+		data: data,
+    })
+};
 //气瓶规格列表
 export const airbottleBottleTypeList  = (data) => {
     return apiResquest({
@@ -96,7 +104,14 @@ export const laboratoryWarningNoticeLogUpdate  = (data) => {
     })
 };
 
-
+//只显示绑定了蓝牙网关活检测门的实验室
+export const laboratorySubjectListSubJoinbeacon  = (data) => {
+    return apiResquest({
+        url: `/laboratory/subject/list/subJoinbeacon`,
+		method: 'GET',
+		data: data,
+    })
+};
 
 
 

+ 2 - 2
api/request/config.js

@@ -1,6 +1,6 @@
 const config = {
 	//base_url: 'http://192.168.1.24:8080',//柴
-	base_url: 'http://192.168.1.9:8080',//柴
+	//base_url: 'http://192.168.1.9:8080',//柴
 	// base_url: 'http://192.168.1.7:8080',//刘波
 	// base_url: 'http://192.168.1.17:8080',//小飞
 	// base_url: 'http://192.168.1.20:8080',//志伟
@@ -9,7 +9,7 @@ const config = {
     // base_url: 'http://192.168.1.43:9800',//43服务器
 	// base_url: 'https://demo.zjznai.com/xzgd/',
 	// base_url: 'https://lab.zjznai.com/labNhSystem/',//43服务器高升测试
-	// base_url: 'https://lab.zjznai.com/labAppTest/',//43服务器线上
+	 base_url: 'https://lab.zjznai.com/labAppTest/',//43服务器线上
      // base_url: 'https://lab.zjznai.com/appTest/',//88服务器线上
 	 //base_url: 'https://lab.zjznai.com//labSystem/', //矿大地址
       // base_url: 'https://lab.zjznai.com/labSaasSystem/', //矿大化工

+ 3 - 3
pages/earlyWarningManage/earlyWarningDetail.vue

@@ -155,13 +155,13 @@
 			</view>
 		</view>
 		<!-- 预警处理 -->
-		<view  class="picture" v-if="form.dispose==0">
+		<view  class="picture" v-if="form.warningType==3 && form.dispose==0">
 			<view class="small_title"><text></text><text>预警处理</text></view>
 			<view class="picture_b" >
 				<textarea v-model="form.remark" class="dispose" placeholder="请输入处理备注"></textarea>
 			</view>
 		</view>
-		<view  class="picture_tow" v-if="form.dispose==1">
+		<view  class="picture_tow" v-if="form.warningType==3 && form.dispose==1">
 			<view class="small_title"><text></text><text>预警处理</text></view>
 			<view class="picture_b" >
 				<view class="picture_b_li"><text>处理人:</text><text>{{form.updateName}}</text></view>
@@ -169,7 +169,7 @@
 				<view class="picture_b_li2"><text>处理备注:</text><text>{{form.remark}}</text></view>
 			</view>
 		</view>
-		<view v-if="form.warningType==3 &&form.dispose==0" class="sub_btn" @click="submitForm()">确认处理</view>
+		<view v-if="form.warningType==3 && form.dispose==0" class="sub_btn" @click="submitForm()">确认处理</view>
 		<view  class="bottom_btn" v-if="timeStatus && form.warningType!=3&& (form.warningSubType!=2 && form.warningSubType!=3 && form.warningSubType!=4)" @click="handleClick('','monitor')">查看监控</view>
 	</scroll-view>	
   </view>

+ 13 - 1
pages/earlyWarningManage/earlyWarningList.vue

@@ -133,6 +133,9 @@ export default {
 		    if(this.facultyArray[0]){
 				this.facultyIndex = parseInt(e.target.value);
 				this.getData.collegeId=this.facultyList[e.target.value].deptId;
+				this.getData.pageNum=1;
+				this.dataList=[];
+				this.dataArr=[];
 				this.getList()
 			}
 		},
@@ -147,6 +150,12 @@ export default {
 				});
 			}else{
 				this.getData.startTime=e.target.value
+				if(this.getData.endTime){
+					this.getData.pageNum=1;
+					this.dataList=[];
+					this.dataArr=[];
+					this.getList()
+				}
 			}
 		},
 		//结束时间选中事件
@@ -160,6 +169,9 @@ export default {
 				});
 			}else{
 				this.getData.endTime=e.target.value
+				this.getData.pageNum=1;
+				this.dataList=[];
+				this.dataArr=[];
 				this.getList()
 			}
 		},
@@ -198,7 +210,7 @@ export default {
 			if(data.code==200){
 				this.dataArr=[...this.dataArr,...data.data.records]
 				this.dataList=this.sortClass(this.dataArr)
-				console.log(this.dataList)
+				
 				this.total=data.data.total;
 			}
 		},

+ 7 - 22
pages/gasBottle/gasManage/gasManage.vue

@@ -35,7 +35,7 @@
 </template>
 
 <script>
-    import {useRecordList,listuseRecordByUserId,getUserApplyCount,warningNoticeLogList,useRegisterDetail,getDicts,airbottleStockFindByBeaconTag,airbottleUsageRecordList} from '@/api/index.js'
+    import {useRecordList,airbottleStockFindByBeaconTag,airbottleUsageRecordList,warningNoticeLogGetDisposeCount} from '@/api/index.js'
 	import { config } from '@/api/request/config.js'
     export default {
         data() {
@@ -64,9 +64,7 @@
 
         },
 		mounted() {
-			this.warningNoticeLogList()
-			this.gasBottleSpecificationFun()
-			this.gasBottleLevelFun()
+			this.warningNoticeLogGetDisposeCount()
 			this.getList();
 		},
         methods: {
@@ -101,20 +99,7 @@
 
 
 			},
-			//气瓶规格
-			async gasBottleSpecificationFun(){
-				const {data} = await getDicts('gasBottleSpecification');
-				if(data.code == 200){
-				  uni.setStorageSync('gasBottleSpecification', data.data)
-				}
-			},
-			//气瓶级别 
-			async gasBottleLevelFun(){
-				const {data} = await getDicts('gasBottleLevel');
-				if(data.code == 200){
-				   uni.setStorageSync('gasBottleLevel', data.data)
-				}
-			},
+			
 			//使用记录跳转详情
 			goInfo(d){
 				uni.navigateTo({
@@ -132,11 +117,11 @@
 				}
 			},
 			//气瓶预警
-			async warningNoticeLogList(){
+			async warningNoticeLogGetDisposeCount(){
 				let self = this;
-				const {data} = await warningNoticeLogList();
+				const {data} = await warningNoticeLogGetDisposeCount();
 				if(data.code==200){
-					this.sirenNum=data.data.total;
+					this.sirenNum=data.data;
 				}
 			},
 			//获取使用记录列表
@@ -271,7 +256,7 @@
 						line-height: 26rpx;
 					}
 					>view:nth-of-type(1){
-						width: 180rpx;
+						width: 280rpx;
 					}
 					>view:nth-child(2){
 					}

+ 29 - 8
pages/gasBottle/gasManage/useRecordList.vue

@@ -31,7 +31,9 @@
 			<view class="search_t">
 				<view class="search_n">
 					<input v-model="getData.searchValue"    type="text" placeholder="实验室名称/房间号">
-					<img @click="searchBtn()"  class="icon_img" src="@/pages_manage/images/icon_aqjc_ss.png"/>
+					<view class="search_n_img" @click="searchBtn()">
+						<img   class="icon_img" src="@/pages_manage/images/icon_aqjc_ss.png"/>
+					</view>
 				</view>
 			</view>
 		</view>
@@ -45,6 +47,8 @@
 		        	<view class="for-box_b">
 						<img class="for-back-img" src="@/pages_manage/images/Version3.0/icon_qpgl_syl.png">
 						<text>使用人: {{item.operator==null?'':item.operator}}</text>
+					</view>
+					<view class="for-box_b">
 						<img class="for-back-img" src="@/pages_manage/images/Version2.2/icon_wtzg_sj.png">
 						<text>使用时间: {{item.usageStartTime==null?'-':item.usageStartTime}} - {{item.usageEndTime==null?'-':item.usageEndTime}}</text>
 					</view>
@@ -101,7 +105,7 @@
 			goInfo(d){
 
 				uni.navigateTo({
-				    url:'/pages_manage/gasList/gasListDetail?id='+d.id
+				    url:'/pages/gasBottle/stockList/useRecordDetail?id='+d.id
 				});
 			},
 			//获取院系
@@ -123,6 +127,8 @@
 				if(this.facultyArray[0]){
 					this.facultyIndex = parseInt(e.target.value);
 					this.getData.collegeId=this.facultyList[e.target.value].deptId;
+					this.getData.pageNum=1;
+					this.dataList=[];
 					this.getList()
 				}
 			},
@@ -137,6 +143,11 @@
 					});
 				}else{
 					this.$set(this.getData,'startTime',e.target.value);
+					if(this.getData.endTime){
+						this.getData.pageNum=1;
+						this.dataList=[];
+						this.getList()
+					}
 				}
 			},
 			//结束时间选中事件
@@ -150,12 +161,16 @@
 					});
 				}else{
 					this.$set(this.getData,'endTime',e.target.value);
+					this.getData.pageNum=1;
+					this.dataList=[];
 					this.getList()
 				}
 			},
 			//实验室房间号搜索
 			searchBtn(){
-				
+				this.getData.pageNum=1;
+				this.dataList=[];
+				this.getList()
 			},
 			//新增入库
 			subBtn(){
@@ -289,7 +304,7 @@
 					display: flex;
 					justify-content: space-between;
 					align-items: center;
-					padding:0 40rpx;
+					padding:0 0rpx 0 40rpx;
 					box-sizing: border-box;
 					>input{
 						width: 640rpx;
@@ -299,10 +314,16 @@
 						color: #CCCCCC;
 						line-height: 30rpx;
 					}
-					>img{
-						width: 30rpx;
-						height: 30rpx;
+					.search_n_img{
+						width: 70rpx;
+						height: 80rpx;
+						>img{
+							width: 30rpx;
+							height: 30rpx;
+							margin: 30rpx 0 0 15rpx;
+						}
 					}
+					
 				}
 
 			}
@@ -384,7 +405,7 @@
 						white-space:nowrap
 					}
 					>text:nth-of-type(1){
-						width: 190rpx;
+						flex:1;
 					}
 				}
 			}

+ 3 - 3
pages/gasBottle/gasOutstock/gasOutstock.vue

@@ -17,19 +17,19 @@
 			</view>
 			<view class="register_li_min">
 				<view>最后使用人:</view>
-				<input v-model="form2.user" disabled  type="text" >
+				<input v-model="form.user" disabled  type="text" >
 			</view>
 			<!-- 使用时间 -->
 			<view class="register_li_min" style="border:none;">
 				<view>最后使用时间:</view>
-				<input v-model="form2.lastUseTime" disabled  type="text" >
+				<input v-model="form.lastUseTime" disabled  type="text" >
 			</view>
 		</view>
 		<view  class="sub_btn" @click="submitForm()">确认出库</view>
 	</view>
 </template>
 <script>
-	import { gasDetail,gasDetailRecord,gasBottleErrorList,gasStorageOut,airbottleStockFindById,airbottleStockOut} from '@/api/index.js'
+	import { gasDetail,airbottleStockFindById,airbottleStockOut} from '@/api/index.js'
 	import { config } from '@/api/request/config.js'
     export default {
 		

+ 19 - 4
pages/gasBottle/gasUse/gasUse.vue

@@ -41,7 +41,7 @@
 			<view class="register_li_min" v-if="pageType==0">
 				<view>*</view>
 				<view>当前压力:</view>
-				<input v-model="form.currentPressure" @change="calculateAmountFun()" placeholder="请输入当前压力值"  type="text" >
+				<input v-model="form.currentPressure" @input="onKeyVinInput($event)" type="number" @change="calculateAmountFun()" placeholder="请输入当前压力值">
 			</view>
 			<view class="register_li_min" v-if="pageType==0">
 				<view>*</view>
@@ -70,7 +70,7 @@
 </template>
 
 <script>
-	import { useRegisterDetail,useRegisterAdd,airbottleStockFindByBeaconTag,airbottleUsageRecordAdd} from '@/api/index.js'
+	import {airbottleStockFindByBeaconTag,airbottleUsageRecordAdd} from '@/api/index.js'
 	import { config } from '@/api/request/config.js'
 	import { dateTimePicker,getMonthDay} from '@/api/../component/date.js'
     export default {
@@ -128,6 +128,20 @@
 		 
 		},
         methods: {
+			//限制只能输入数字
+			onKeyVinInput(e) {
+				const o = e.detail.value
+				const inputRule = /[^\-?\d.]/g
+				this.$nextTick(() => {
+					this.form.currentPressure = o.replace(inputRule, '');
+					if (this.form.currentPressure == '') {
+						return
+					} else {
+						//执行对应代码
+					}
+				})
+			},
+
 			currentDateFun(){
 				let date = new Date();	//Fri Oct 29 2021 16:37:56 GMT+0800 (CST)
 				this.startYear= date.getFullYear(); //获取完整的年份(4位)
@@ -231,11 +245,11 @@
 			},
 			//输入当前压力值后计算本次使用量
 			calculateAmountFun(){
-				let num=parseInt(this.form.gasPressure)-parseInt(this.form.currentPressure)
+				let num=parseFloat(this.form.gasPressure)-parseFloat(this.form.currentPressure)
 				if(num<=0){
 					num=0;
 				}
-				this.$set(this.form,'usageAmount',num)
+				this.$set(this.form,'usageAmount',num.toFixed(2))
 			},
 			// //开始时间选中事件
 			// startChange(form,e){
@@ -340,6 +354,7 @@
 						}
 					}
 					self.form=data.data;
+					this.$set(this.form,'usageTime',0);
 					this.$set(this.form,'usageStartTime',self.currentDate);
 					
 					console.log(self.currentDate)

+ 1 - 1
pages/gasBottle/stockList/gasListBinding.vue

@@ -15,7 +15,7 @@
 </template>
 
 <script>
-	import { gasTagBinding,airbottleBeaconUpdate} from '@/api/index.js'
+	import {airbottleBeaconUpdate} from '@/api/index.js'
     export default {
         name: "gasRecycle",
         data() {

+ 14 - 11
pages/gasBottle/stockList/gasListDetail.vue

@@ -49,7 +49,7 @@
 </template>
 
 <script>
-	import {gasDetail,gasDetailRecord,airbottleStockFindById} from '@/api/index.js'
+	import {gasDetailRecord,airbottleStockFindById,airbottleStockFindByBeaconTag} from '@/api/index.js'
     export default {
 
         name: "gasRecycle",
@@ -102,19 +102,22 @@
 					    url:'/pages/gasBottle/gasOutstock/gasOutstock?id='+this.form.id
 					});
 				}else if(doType=='QRcode'){//使用
-					uni.scanCode({
-						onlyFromCamera: true,
-						success: function (res) {
-							_this.beaconTag=res.result
-							uni.navigateTo({
-							    url:'/pages/gasBottle/gasUse/gasUse?beaconTag='+_this.beaconTag
-							});
-						}
-					});
-			
+					this.getBeaconTag();
 				}
 			
 			},
+			//校验当前信标是否可用
+			async getBeaconTag(){
+				let self=this;
+				const {data} = await airbottleStockFindByBeaconTag({BeaconTag:self.form.beaconTag});
+				if(data.code==200){
+					uni.navigateTo({
+						url:'/pages/gasBottle/gasUse/gasUse?beaconTag='+self.form.beaconTag
+					});
+				}else{
+					
+				}
+			},
 			//使用记录详情
 			useRecordInfo(d){
 				uni.navigateTo({

+ 1 - 1
pages/gasBottle/stockList/seleteGas.vue

@@ -26,7 +26,7 @@
 
 <script>
 import { config } from '@/api/request/config.js'
-import {conditionCollegeInfo,conditionSubjectInfo,findDeviceList,haveHazardInSub,airbottleBottleTypeList,getDicts} from '@/api/index.js'
+import {airbottleBottleTypeList,getDicts} from '@/api/index.js'
 export default {
   name: "rectifyList",
   components: {

+ 12 - 2
pages/gasBottle/stockList/stockList.vue

@@ -121,6 +121,8 @@
 			    if(this.facultyArray[0]){
 			        this.facultyIndex = parseInt(e.target.value);
 					this.getData.collegeId=this.facultyList[e.target.value].deptId;
+					this.getData.pageNum=1;
+					this.dataList=[];
 					this.getList()
 			    }
 			},
@@ -135,6 +137,11 @@
 					});
 				}else{
 					this.getData.startTime=e.target.value
+					if(this.getData.endTime){
+						this.getData.pageNum=1;
+						this.dataList=[];
+						this.getList()
+					}
 				}
 			},
 			//结束时间选中事件
@@ -147,13 +154,16 @@
 						duration: 2000
 					});
 				}else{
-					this.getData.endTime=e.target.value
+					this.getData.endTime=e.target.value;
+					this.getData.pageNum=1;
+					this.dataList=[];
 					this.getList()
 				}
 			},
 			//实验室房间号搜索
 			searchBtn(){
-				console.log(111)
+				this.getData.pageNum=1;
+				this.dataList=[];
 				this.getList()
 			},
 			//新增入库

+ 17 - 3
pages/gasBottle/stockList/storageAdd.vue

@@ -28,7 +28,7 @@
 			<view class="register_li_min">
 				<view>*</view>
 				<view>气表压力:</view>
-				<input v-model="form.gasPressure" maxlength="4"  type="text" placeholder-style="color:#999;" placeholder="请输入气表压力">
+				<input v-model="form.gasPressure" maxlength="6"  @input="onKeyVinInput($event)" placeholder-style="color:#999;" placeholder="请输入气表压力">
 			</view>
 			<!-- 检验有效期 -->
 			<view class="register_li_min2">
@@ -62,7 +62,7 @@
 </template>
 
 <script>
-    import {gasApplyDetailDrkDetail,gasApplyStorageAdd,getSubjectDict,airbottleStockEnter,subjectList} from '@/api/index.js'
+    import {getSubjectDict,airbottleStockEnter,subjectList,laboratorySubjectListSubJoinbeacon} from '@/api/index.js'
 	import { config } from '@/api/request/config.js'
     export default {
         data() {
@@ -186,6 +186,19 @@
 			this.getSubjectDict();
 		},
         methods: {
+			//限制只能输入数字
+			onKeyVinInput(e) {
+				const o = e.detail.value
+				const inputRule = /[^\-?\d.]/g
+				this.$nextTick(() => {
+					this.form.gasPressure = o.replace(inputRule, '');
+					if (this.form.gasPressure == '') {
+						return
+					} else {
+						//执行对应代码
+					}
+				})
+			},
 			//开始时间选中事件
 			startChange(e){
 				this.$set(this.form,'validPeriod',e.target.value);
@@ -193,6 +206,7 @@
 			//实验室选择器
 			bindPickerChange(e){
 				let self=this;
+				self.laboratoryIndex = e.target.value;
 				let subjectName = self.laboratory[self.laboratoryIndex];
 				self.$set(self.form,'subjectName',subjectName);
 				self.laboratoryList.forEach(function(item){
@@ -232,7 +246,7 @@
 			//实验室列表
 			async getSubjectDict(){
 				let self = this;
-				let {data} = await subjectList()
+				let {data} = await laboratorySubjectListSubJoinbeacon()
 				if(data.code == 200){
 					if(data.data[0]){
 						let list = [];

+ 1 - 1
pages/gasBottle/stockList/useRecordDetail.vue

@@ -48,7 +48,7 @@
 </template>
 
 <script>
-	import { gasDetailRecordDetail,airbottleUsageRecordFindById} from '@/api/index.js'
+	import {airbottleUsageRecordFindById} from '@/api/index.js'
 	import { config } from '@/api/request/config.js'
     export default {
 		

+ 28 - 1
pages/manageWorkbench.vue

@@ -121,7 +121,18 @@
 <script>
 import $mqtt from '@/utils/mqtt.min.js';
 import { config } from '@/api/request/config.js'
-import { appReceivePhotoNote,getApprovalCount,subject_class,getSafeWarnList,laboratoryInfo,laboratoryList,getLoginUserInfo,outSubjectPhoto,gradingControl,listData,getGentleIdentifier} from '@/api/index.js'
+import { appReceivePhotoNote,
+		getApprovalCount,
+		subject_class,
+		getSafeWarnList,
+		laboratoryInfo,
+		laboratoryList,
+		getLoginUserInfo,
+		outSubjectPhoto,
+		gradingControl,
+		listData,
+		getDicts,
+		getGentleIdentifier} from '@/api/index.js'
 import { tabBar } from '@/component/tabBar.vue'
 import { topWarn } from '@/component/topWarn.vue'
 import { navBar } from '@/component/navbar.vue'
@@ -174,6 +185,8 @@ export default {
     this.getLoginUserInfo();
     this.getGrading();
 	this.getListData();
+	this.gasBottleSpecificationFun();
+	this.gasBottleLevelFun();
     //监听报警信息
     getApp().watch(this.getSafeWarnList,'mqttAlarmData');
   },
@@ -539,6 +552,20 @@ export default {
         }
       }
     },
+	//气瓶规格
+	async gasBottleSpecificationFun(){
+		const {data} = await getDicts('gasBottleSpecification');
+		if(data.code == 200){
+		  uni.setStorageSync('gasBottleSpecification', data.data)
+		}
+	},
+	//气瓶级别 
+	async gasBottleLevelFun(){
+		const {data} = await getDicts('gasBottleLevel');
+		if(data.code == 200){
+		   uni.setStorageSync('gasBottleLevel', data.data)
+		}
+	},
   },
   beforeDestroy(){
 	//断开mqtt连接

+ 18 - 3
pages/studentWorkbench.vue

@@ -71,7 +71,7 @@
 </template>
 
 <script>
-import { myViolationCount,queryMyCert,outSubjectPhoto,gradingControl} from '@/api/index.js'
+import { myViolationCount,queryMyCert,outSubjectPhoto,gradingControl,getDicts} from '@/api/index.js'
 import { tabBar } from '@/component/tabBar.vue'
 import { navBar } from '@/component/navbar.vue'
 export default {
@@ -96,7 +96,8 @@ export default {
   mounted(){
     this.myViolationCount();
     this.getGrading();
-
+	this.gasBottleSpecificationFun();
+	this.gasBottleLevelFun();
     this.queryMyCert();
   },
   methods: {
@@ -120,6 +121,20 @@ export default {
         duration: 2000
       });
     },
+	//气瓶规格
+	async gasBottleSpecificationFun(){
+		const {data} = await getDicts('gasBottleSpecification');
+		if(data.code == 200){
+		  uni.setStorageSync('gasBottleSpecification', data.data)
+		}
+	},
+	//气瓶级别 
+	async gasBottleLevelFun(){
+		const {data} = await getDicts('gasBottleLevel');
+		if(data.code == 200){
+		   uni.setStorageSync('gasBottleLevel', data.data)
+		}
+	},
 
     //调用摄像头
     saoCode(){
@@ -197,7 +212,7 @@ export default {
         });
       }else if(type == 'gas'){//气瓶管理
         uni.navigateTo({
-          url: '/pages_student/gasManage/gasManage',
+          url: '/pages/gasBottle/gasManage/gasManage',
         });
       }else if(type == 'none'){
 		  uni.showToast({