“yueshang” 1 rok temu
rodzic
commit
8c7a3a9250

+ 2 - 32
pagesA/fire/check_active/check_list/check_list.vue

@@ -494,37 +494,7 @@
 		color: #4CB2B6;
 		margin-bottom: 20rpx;
 	}
-	.main-time{
-		list-style: none;
-		position: relative;
-	}
-    .main-time::before{
-		  content: "";
-		      position: absolute;
-			  border:4rpx dashed rgba(33, 191, 208, 0.2) ;
-		      left: -76rpx;
-		      height: calc(100% - 20px);
-		      top: 20rpx;
-	}
-	.time-main {
-		width: 70%;
-		margin-left:15%;
-	}
-
-	.par-time {
-		position: relative;
-	}
-
-	//时间轴
-	.time-axis::before {
-		content: "";
-		position: absolute;
-		width: 18rpx;
-		height: 18rpx;
-		border-radius: 9rpx;
-		background: #21bfd0;
-		top: 50%;
-		transform: translateY(-50%);
-		left: -82rpx;
+	.main-time::before{
+		height:calc(100% - 41px) !important
 	}
 </style>

+ 27 - 9
pagesA/fire/check_inspection/inspect_detail/inspect_detail.vue

@@ -8,10 +8,10 @@
 			<view class="flex  flex-direction width100">
 				<!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
 				<u--form ref="uForm" :model="formData" labelPosition="left" labelWidth="110" labelAlign="left">
-					<view class="">
+					<view class="main-time">
 						<view style="display: flex;">
-							<view class="">
-								<u-form-item label="检查项名称" prop="name" ref="item1">
+							<view class="main-times">
+								<u-form-item label="检查项名称" prop="name" ref="item1" class="par-time time-axis2">
 									<text class="text-1cut padding-sm"
 										v-if="formData.Fpd">{{formData.Fpd.fpdName}}</text>
 									<text class="text-1cut padding-sm"
@@ -24,7 +24,7 @@
 								</u-form-item>
 							</view>
 							<img v-if="formData.Fpd" :src="formData.Fpd.fpdQcode" alt="设施二维码"
-								style='width: 150rpx;height: 150rpx;'>
+								style='width: 150rpx;height: 150rpx;float:right'>
 						</view>
 						<u-form-item label="设施编码" prop="time" ref="item1" v-if="formData.Fpd">
 							<text class="text-1cut padding-sm"> {{formData.Fpd.fpdCode}} </text>
@@ -42,7 +42,7 @@
 							<view class="dashedLine">
 							</view>
 						</view>
-						<u-form-item label="检查结果" prop="result" ref="item1" labelPosition="top">
+						<u-form-item label="检查结果" prop="result" ref="item1" labelPosition="top" class="par-time time-axis2">
 							<view class="flex flex-wrap padding-top-sm ">
 								<view class="flex flex-direction-row align-center padding-lr-sm">
 									<u--image :showLoading="true" :src="zhengchang" width="34rpx" height="34rpx">
@@ -54,15 +54,15 @@
 						</u-form-item>
 						<view class="padding-top-sm">
 							<view class="">
-								<text>现场照片:</text>
+								<text style="margin-left:10px">现场照片:</text>
 								<view class="padding-tb-sm">
 									<view class="dashedBox ">
 										<view class="dashedLine">
 										</view>
 									</view>
 								</view>
-								<view class="  flex flex-direction-row">
-									<view class="padding-lr-lg" v-if="formData.activeInspect">
+								<view >
+									<view class="padding-lr-lg" v-if="formData.activeInspect" style="widtg:100%;display: flex;justify-content: space-around;">
 										<image v-if="formData.activeInspect.imgUrl1"
 											:src="formData.activeInspect.imgUrl1" style="width:120rpx;height: 120rpx;" @click="viewImageBig(formData.activeInspect.imgUrl1)">
 										</image>
@@ -217,8 +217,26 @@
 		position: relative;
 	}
 
-
+.time-axis2::before {
+    content: "";
+    position: absolute;
+    width: 9px;
+    height: 9px;
+    border-radius: 4px;
+    background: #21bfd0;
+    top: 50%;
+    -webkit-transform: translateY(-50%);
+    transform: translateY(-50%);
+    left: 0;}
 	// /deep/.u-form-item__body__right__content__slot{
 	// 	justify-content: space-between;
 	// }
+	.main-time::before{
+		  content: "";
+		      position: absolute;
+			  border:4rpx dashed rgba(33, 191, 208, 0.2) ;
+		      left: 6rpx;
+		      height: calc(100% - 20px);
+		      top: 50rpx;
+	}
 </style>

+ 59 - 66
pagesA/fire/fire_device/edit_device/edit_device.vue

@@ -120,8 +120,8 @@
 	export default {
 		data() {
 			return {
-				showBuilding:false,
-				buildingData:[],
+				showBuilding: false,
+				buildingData: [],
 				contentText: {
 					contentrefresh: '上传照片中',
 				},
@@ -191,7 +191,7 @@
 				i.name = i.label;
 				i.id = i.value;
 			});
-			this.buildingData=JSON.parse(option.buildingData)
+			this.buildingData = JSON.parse(option.buildingData)
 			this.loading = true
 			// 接收传值
 			var data = option.id;
@@ -207,10 +207,10 @@
 						this.formData.fpdType = i.id
 					}
 				})
-				that.buildingData.map(v=>{
-					if(v.id==that.formData.buildingId){
-						that.formData.buildingName=v.name
-					}				
+				that.buildingData.map(v => {
+					if (v.id == that.formData.buildingId) {
+						that.formData.buildingName = v.name
+					}
 				})
 
 
@@ -251,7 +251,7 @@
 		},
 		onShow() {
 
-	
+
 		},
 		methods: {
 			//所属建筑
@@ -273,71 +273,64 @@
 
 			},
 			photoUpload() {
+				let pictures = [];
 				let that = this;
-
-				function uploadImage(filePath) {
-					return new Promise((resolve, reject) => {
-						uni.uploadFile({
-							url: baseUrl + '/admin-api/infra/file/upload',
-							filePath: filePath,
-							name: 'file',
-							header: {
-								"Authorization": 'Bearer ' + getAccessToken(),
-							},
-							success: (res) => {
-								let imgUrl = JSON.parse(res.data);
-								resolve(imgUrl.data); // 返回图片地址
-							},
-							fail: () => {
-								reject();
-							}
-						});
-					});
-				}
-
-				function displayImage(url) {
-					return new Promise((resolve, reject) => {
-						loadImage(
-							url,
-							function(canvas) {
-								canvas.toBlob(function(blob) {
-									const compressedFile = blob;
-									const fileUrl = URL.createObjectURL(compressedFile);
-									that.formData.picVOList.push({
-										url: url,
-										picname: ''
-									});
-									that.$forceUpdate();
-									URL.revokeObjectURL(fileUrl);
-									resolve();
-								}, 'image/jpeg', 0.6);
-							}, {
-								canvas: true,
-								maxWidth: 800
-							}
-						);
-					});
-				}
-
 				uni.chooseImage({
-					sourceType: ['camera'],
+					sourceType: ['camera'], //实现拍照
 					count: 3,
 					sizeType: ['original', 'compressed'],
+					// sourceType: ['album','camera'], //打开系统相册
 					success(res) {
-						that.loading = true;
-						if (Array.isArray(res.tempFilePaths)) {
-							res.tempFilePaths.forEach(async (item) => {
-								try {
-									const imgUrl = await uploadImage(item);
-									await displayImage(imgUrl);
-									that.loading = false;
-								} catch (error) {
-									that.loading = false;
-								}
-							});
+						that.loading = true
+						if (Array.isArray(res.tempFilePaths)) { //从相册选择有三张的情况
+							res.tempFilePaths.forEach(item => {
+								loadImage(
+									item,
+									function(canvas) {
+										canvas.toBlob(function(blob) {
+											// 压缩后的 Blob 对象
+											const compressedFile = blob;
+											// 将压缩后的文件 `compressedFile` 转换为临时URL
+											const fileUrl = URL.createObjectURL(
+												compressedFile);
+											uni.uploadFile({
+												url: baseUrl +
+													'/admin-api/infra/file/upload', //后端用于处理图片并返回图片地址的接口    
+												filePath: item,
+												name: 'file',
+												header: {
+													"Authorization": 'Bearer ' +
+														getAccessToken(),
+												}, //请求token
+												success: (res) => {
+													let imgUrl = JSON.parse(res
+														.data)
+													that.loading = false
+													//拍照下展示的图片
+													that.formData.picVOList.push({
+														url: imgUrl.data,
+														picname: ''
+													})
+
+													that.$forceUpdate();
+													// // 返回的url
+												},
+												fail: () => {
+													that.loading = false
+
+												}
+											})
+											URL.revokeObjectURL(fileUrl);
+										}, 'image/jpeg', 0.6); // 设置压缩后的图片格式为 JPEG,压缩质量为 0.6
+									}, {
+										canvas: true,
+										maxWidth: 800
+									} // 设置最大宽度为 800px
+								);
+							})
 						}
 					}
-				});
+				})
 			},
 			submit(ref) {
 				this.$refs[ref]

+ 1 - 1
pagesA/fire/fire_device/index.vue

@@ -187,7 +187,7 @@
 				pageSize: 100,
 				orgId: this.formData.orgId,
 			}).then(response => {
-				response.data.records.map(v => {
+				response.data?.records.map(v => {
 					this.buildingData.push({
 						id: v.id,
 						name: v.buildingName

+ 19 - 10
pagesA/fire/fpd_detection/fpd_detection.vue

@@ -112,7 +112,8 @@
 				// 存放orgid,orgname
 				formData: {
 					orgName: '',
-					orgId: ''
+					orgId: '',
+					orgIds:['']
 				},
 				show: false,
 				showtimeStart: false,
@@ -195,20 +196,28 @@
 				});
 			},
 			sexSelect(e) {
-				this.formData.orgId = e.id;
+				this.queryParams.orgIds=[]
+				this.formData.orgId= e.isd;
 				this.formData.orgName = e.name;
+				this.tableData=[]
+				console.log(e,'eeeeeeeee');
+				this.getData(e);
 				// 获取培训演练信息详细信息
-				getFpdDetectionPage({
-					pageNo: this.pageNo,
-					pageSize: this.pageSize,
-					orgId: this.formData.orgId
-				}).then(response => {
-					this.tableData = response.data.list;
-				});
+				// getFpdDetectionPage({
+				// 	pageNo: this.pageNo,
+				// 	pageSize: this.pageSize,
+				// 	orgIds: this.formData.orgIds
+				// }).then(response => {
+				// 	this.tableData = response.data.list;
+				// });
 			},
 			//获取表格数据
-			getData() {
+			getData(e) {
 				this.loading = true;
+				if(e){
+						this.queryParams.orgIds.push(e.id)
+						this.queryParams.orgName=e.name
+				}
 				this.queryParams.detinspect=this.keyword
 				getFpdDetectionPage(this.queryParams).then(response => {
 					this.total = response.data.total

+ 18 - 6
pagesA/fire/hidden_trouble/trouble_details/trouble_details.vue

@@ -7,9 +7,9 @@
 	<view class="  uni-container">
 		<view class=" flex  flex-direction width100">
 			<!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
-			<u--form ref="uForm" :model="formData" labelPosition="left" labelWidth="90" labelAlign="left">
-				<view class="" >
-					<u-form-item label="检查项名称" prop="name" ref="item1">
+			<u--form ref="uForm" :model="formData" labelPosition="left" labelWidth="90" labelAlign="left" class="time-main">
+				<view class="main-times">
+					<u-form-item label="检查项名称" prop="name" ref="item1" class="par-time time-axis">
 						<text class="text-1cut padding-sm">{{formData.inspName}}</text>
 					</u-form-item>
 					<u-form-item label="检查日期" prop="inspectTime" ref="item1">
@@ -22,7 +22,7 @@
 						<view class="dashedLine">
 						</view>
 					</view>
-					<u-form-item label="检查结果" prop="result" ref="item1" labelPosition="top">
+					<u-form-item label="检查结果" prop="result" ref="item1" labelPosition="top" class="par-time time-axis">
 						<view class="flex flex-wrap padding-top-sm ">
 							<view v-for="(item,index) in formData.hisResultList" :key="index"
 								class="flex flex-direction-row align-center padding-lr-sm">
@@ -32,8 +32,8 @@
 						</view>
 					</u-form-item>
 					<view class="padding-top-sm">
-						<view class="">
-							<text>现场照片:</text>
+						<view>
+							<text ><text>现场照片:</text></text>
 							<view class="padding-tb-sm">
 								<view class="dashedBox ">
 									<view class="dashedLine">
@@ -180,4 +180,16 @@
 		z-index: 99;
 		position: relative;
 	}
+	.main-times{
+		list-style: none;
+		position: relative;
+	}
+    .main-times::before{
+		  content: "";
+		      position: absolute;
+			  border:4rpx dashed rgba(33, 191, 208, 0.2) ;
+		      left: -76rpx;
+		      height: calc(100% - 20px);
+		      top: 54rpx;
+	}
 </style>

+ 16 - 16
pagesA/fire/hidden_trouble/trouble_xf_deetails/trouble_xf_deetails.vue

@@ -8,16 +8,15 @@
 			<view class=" flex  flex-direction width100">
 				<!-- 注意,如果需要兼容微信小程序,最好通过setRules方法设置rules规则 -->
 				<u--form ref="uForm" :model="formData" labelPosition="left" labelWidth="70" labelAlign="left">
-					<view class="">
+					<view class="time-main main-time">
+						<view style="font-size: 14px;margin-bottom: 20px;" class="par-time"> <text
+								class="time-axis">检查项名称:{{formData.inspName}}</text></view>
 						<view class="itemunirow">
-							<uni-row class="demo-uni-row " :gutter="20" width="100%">
+							<!-- 							<uni-row class="demo-uni-row " :gutter="20" width="100%">
 								<uni-col :span="16">
 									<text class="text-df text-1cut  ">检查项名称:{{formData.inspName}}</text>
 								</uni-col>
-								<!-- <uni-col :span="8">
-									<text class="text-df text-1cut  ">检查人:{{formData.avatar}}</text>
-								</uni-col> -->
-							</uni-row>
+							</uni-row> -->
 							<uni-row class="demo-uni-row " :gutter="20" width="100%">
 								<uni-col :span="16">
 									<!-- 	<uni-row class="demo-uni-row " :gutter="20" width="100%">
@@ -37,14 +36,14 @@
 								</uni-col> -->
 							</uni-row>
 						</view>
-						<view class="dashedBox">
+						<view class="dashedBox" style="margin-bottom:10px">
 							<view class="dashedLine">
 							</view>
 						</view>
+						<view style="font-size: 14px;" class="par-time"> <text class="time-axis">设施情况:</text></view>
 						<view class="padding-top-sm">
-							<view class="">
-								<text>设施情况:</text>
-								<u-list>
+							<view>
+								<u-list style="height: 45vh">
 									<u-list-item v-for="(item,index) in formData.fpdList" :key="index" link>
 										<uni-row class="demo-uni-row " :gutter="20" width="100%">
 											<uni-col :span="16">
@@ -105,13 +104,14 @@
 										</view>
 
 										<text>现场照片:</text>
-										<view  class="padding-lr-lg flex flex-direction-row" style="justify-content: space-around;margin-top: 10px;">
+										<view class="padding-lr-lg flex flex-direction-row"
+											style="justify-content: space-around;margin-top: 10px;">
 											<u--image v-if="item.imgUrl1" :showLoading="true" :src="item.imgUrl1"
 												width="80px" height="80px"></u--image>
-											<u--image v-if="item.imgUrl2" :showLoading="true"
-												:src="item.imgUrl2" width="80px" height="80px"></u--image>
-											<u--image v-if="item.imgUrl3" :showLoading="true"
-												:src="item.imgUrl3" width="80px" height="80px"></u--image>
+											<u--image v-if="item.imgUrl2" :showLoading="true" :src="item.imgUrl2"
+												width="80px" height="80px"></u--image>
+											<u--image v-if="item.imgUrl3" :showLoading="true" :src="item.imgUrl3"
+												width="80px" height="80px"></u--image>
 											<!-- <view class="padding-lr-lg flex flex-direction-row">
 											<u--image v-if="item.hisFpd.imgUrl1" :showLoading="true"
 												:src="item.hisFpd.imgUrl1" width="80px" height="80px"></u--image>
@@ -263,4 +263,4 @@
 		z-index: 9999999;
 		position: relative;
 	}
-</style>
+</style>

+ 7 - 3
pagesA/fire/staff_info/add_staff/add_staff.vue

@@ -39,7 +39,7 @@
 						<u-input v-model="formData.byxx" placeholder="请输入毕业学校" />
 					</u-form-item>
 					<u-form-item label="职业资格证书">
-						<u-input v-model="formData.zzzs" placeholder="请输入职业资格证书" />
+						<u-input v-model="formData.pqcNo" placeholder="请输入职业资格证书" />
 					</u-form-item>
 					<u-form-item label="人员性别" prop="empGender" @click="
 							showSex = true;
@@ -65,13 +65,13 @@
 						<u-input v-model="formData.hyqk" placeholder="请输入婚姻情况" />
 					</u-form-item>
 					<u-form-item label="籍贯">
-						<u-input v-model="formData.jgdm" placeholder="请输入籍贯" @click.native="showPickerJiguan" disabled class="jiguan"/>
+						<u-input v-model="formData.jgdm" placeholder="请输入籍贯" @click.native="showPickerJiguan" class="jiguan"/>
 					</u-form-item>
 					<!-- <u-form-item label="警官证号">
 						<u-input v-model="formData.jgzh" placeholder="请输入警官证号" />
 					</u-form-item> -->
 					<u-form-item label="民族">
-						<u-input v-model="formData.mzdm" placeholder="请选择民族" @click.native="showPicker"  disabled class="jiguan"/>
+						<u-input v-model="formData.mzdm" placeholder="请选择民族" @click.native="showPicker" class="jiguan"/>
 					</u-form-item>
 					<!-- <u-form-item label="人员类别" @click="
 							showSex3 = true;
@@ -273,6 +273,8 @@
 		},
 		// 在 vue页面,向起始页通过事件传递数据
 		onLoad: function(option) {
+			this.formData.sjjg =option.orgids?option.orgids:''
+			this.formData.orgName = option.orgNames?option.orgNames:''
 			this.actions4.map(i => {
 				i.name = i.label;
 				i.id = i.value;
@@ -328,9 +330,11 @@
 			//籍贯
 			showPickerJiguan() {
 				this.showPopupJiguan = true
+				 uni.hideKeyboard()
 			},
 			sureJiguan() {
 				this.showPopupJiguan = false
+				 uni.hideKeyboard()
 			},
 			choiceJiguan(item) {
 				this.formData.jgdm = item.name

+ 1 - 1
pagesA/fire/staff_info/edit_staff/edit_staff.vue

@@ -48,7 +48,7 @@
 							placeholder="选择学历"></u--input>
 					</u-form-item>
 					<u-form-item label="职业资格证书">
-						<u-input v-model="formData.zzzs" placeholder="请输入职业资格证书" />
+						<u-input v-model="formData.pqcNo" placeholder="请输入职业资格证书" />
 					</u-form-item>
 					<!-- 入伍时间 -->
 					<!-- <view class="flex flex-direction-row" style="margin-top:30rpx">

+ 15 - 13
pagesA/fire/staff_info/index.vue

@@ -112,6 +112,17 @@
 		},
 		// 在 vue页面,向起始页通过事件传递数据
 		onLoad: function(option) {
+		
+		},
+		watch: {
+			loading: {
+				handler(newLength, oldLength) {
+					this.$modal.isLoadingModel(this.loading)
+				},
+				immediate: true
+			}
+		},
+		onShow() {
 			getOrgId({
 				pageNo: this.pageNo,
 				pageSize: this.pageSize,
@@ -128,20 +139,11 @@
 					this.formData.orgName = response.data[0].orgName;
 					this.formData.orgId = response.data[0].dwid;
 				}
+				this.tableData = []
+				this.getData();
 			});
-		},
-		watch: {
-			loading: {
-				handler(newLength, oldLength) {
-					this.$modal.isLoadingModel(this.loading)
-				},
-				immediate: true
-			}
-		},
-		onShow() {
 			this.actions = []
-			this.tableData = []
-			this.getData();
+	
 		},
 		mixins: [uni.$u.mixin],
 		methods: {
@@ -250,7 +252,7 @@
 			// 添加
 			addClick() {
 				uni.navigateTo({
-					url: '/pagesA/fire/staff_info/add_staff/add_staff'
+					url: `/pagesA/fire/staff_info/add_staff/add_staff?orgids=${this.formData.orgId}&orgNames=${this.formData.orgName}`
 				});
 			},
 			// 触底的事件

+ 2 - 2
pagesA/fire/staff_info/staff_details/staff_details.vue

@@ -32,7 +32,7 @@
 					<u--input v-model="formData.empXl" prop="empXl" disabled placeholder="选择学历"></u--input>
 				</u-form-item>
 				<u-form-item label="职业资格证书">
-					<u-input v-model="formData.zzzs" placeholder="请输入职业资格证书" />
+					<u-input v-model="formData.pqcNo" placeholder="请输入职业资格证书" />
 				</u-form-item>
 				<u-form-item label="专业	"><u-input v-model="formData.empZy" disabled placeholder="专业" /></u-form-item>
 				<u-form-item label="婚姻情况	"><u-input v-model="formData.hyqk" disabled placeholder="婚姻情况" /></u-form-item>
@@ -48,7 +48,7 @@
 				<u-form-item label="通讯地址"><u-input disabled v-model="formData.txdz" placeholder="通讯地址" /></u-form-item>
 				<u-form-item label="现在单位"><u-input disabled v-model="formData.xzdw" placeholder="现在单位" /></u-form-item>
 				<u-form-item label="邮政编码"><u-input disabled v-model="formData.yzbm" placeholder="邮政编码" /></u-form-item>
-				<u-form-item label="职业资格证书"><u-input disabled v-model="formData.zyzgzs" placeholder="职业资格证书" /></u-form-item>
+				<!-- <u-form-item label="职业资格证书"><u-input disabled v-model="formData.zyzgzs" placeholder="职业资格证书" /></u-form-item> -->
 				<u-form-item label="出生日期">
 					<uni-datetime-picker v-model="formData.empBirthday" disabled type="date"
 						closeOnClickOverlay></uni-datetime-picker>

+ 5 - 3
pagesB/fire/check_record/picture/picture.vue

@@ -4,9 +4,11 @@
 		<view class="bgTopImg">
 			<image slot="right" src="@/static/images/navBg@2x.png" class="bgTopImg"></image>
 		</view> -->
-		<view style="margin-bottom: 150rpx;">
+		<view style="margin-bottom: 150rpx;" class="time-main main-time">
 			<view>
-				<view class="nav" style="color:#4CB2B6;">信息来源</view>
+				<view class="nav par-time" style="color:#4CB2B6;"><view class="time-axis">
+						主要信息
+					</view></view>
 				<view class="main">
 					<uni-row class="demo-uni-row">
 						<uni-col :span="10">
@@ -77,7 +79,7 @@
 				</view>
 			</view>
 			<!-- <view v-if="tableData.inspectInfo.length!=0" style="margin-top: 30rpx;"> -->
-			<view class="nav" style="color:#4CB2B6;">处理详情</view>
+			<view class="nav par-time" style="color:#4CB2B6;">	<view class="time-axis">处理详情</view></view>
 			<view class="main" style="margin-bottom: 40rpx;">
 
 				<view v-if="tableData.fpdInfoList.length==0">

+ 33 - 0
static/scss/global.scss

@@ -22,6 +22,39 @@
 .text-grey2 {
 	color: #aaa;
 }
+	//时间轴
+	.main-time{
+		list-style: none;
+		position: relative;
+	}
+    .main-time::before{
+		  content: "";
+		      position: absolute;
+			  border:4rpx dashed rgba(33, 191, 208, 0.2) ;
+		      left: -76rpx;
+		      height: calc(100% - 20px);
+		      top: 20rpx;
+	}
+	.time-main {
+		width: 70%;
+		margin-left:15%;
+	}
+
+	.par-time {
+		position: relative;
+	}
+
+	.time-axis::before {
+		content: "";
+		position: absolute;
+		width: 18rpx;
+		height: 18rpx;
+		border-radius: 9rpx;
+		background: #21bfd0;
+		top: 50%;
+		transform: translateY(-50%);
+		left: -82rpx;
+	}
 //加载中拍照
 .photo-loading{
 	color: #c8732c;