新增安全例会功能补充
							parent
							
								
									2048d90bc3
								
							
						
					
					
						commit
						e67e07c510
					
				|  | @ -881,6 +881,14 @@ | |||
|       "style": {} | ||||
|     }, | ||||
| 
 | ||||
|     { | ||||
|       "path": "pages/application/safetymeeting/index", | ||||
|       "style": {} | ||||
|     }, | ||||
|     { | ||||
|       "path": "pages/application/safetymeeting/info", | ||||
|       "style": {} | ||||
|     }, | ||||
| 	{ | ||||
| 		"path" : "pages/my/updateSignature/index", | ||||
| 		"style" : {} | ||||
|  |  | |||
|  | @ -137,7 +137,6 @@ | |||
|     </view> | ||||
|     <view class="form"> | ||||
|       <view class="wui-form-list"> | ||||
| 
 | ||||
| 				<view class="cu-form-group" v-if="!forbidEdit"> | ||||
| 					<view class="title">核实结果:</view> | ||||
| 					<radio-group @change="changeRadioGroup($event)"> | ||||
|  | @ -572,7 +571,6 @@ | |||
| 					} | ||||
| 				}) | ||||
| 			}, | ||||
| 
 | ||||
| 			changeStartDate(e) { | ||||
| 				this.form.INSPECTION_TIME_START = e | ||||
| 				this.$forceUpdate();//强制刷新 | ||||
|  |  | |||
|  | @ -0,0 +1,256 @@ | |||
| <template> | ||||
| 	<view> | ||||
| 		<cu-custom ref="cuCustom" bgColor="bg-gradual-blueness" :isBack="true" :isRingt="true" > | ||||
| 			<block slot="backText">返回</block> | ||||
| 			<block slot="content">安全例会</block> | ||||
| 		</cu-custom> | ||||
| 		<view class="top-fixed"> | ||||
| 			<scroll-view scroll-x class="bg-white nav" scroll-with-animation :scroll-left="scrollLeft"> | ||||
| 				<view class="flex text-center"> | ||||
| 					<view class="cu-item flex-sub" :class="index==TabCur?'text-blue cur':''" | ||||
| 						v-for="(item,index) in tabNav" :key="index" @tap="tabSelect" :data-id="index"> | ||||
| 						{{tabNav[index]}} | ||||
| 					</view> | ||||
| 				</view> | ||||
| 			</scroll-view> | ||||
| 			<view class="line"></view> | ||||
| 		</view> | ||||
| 		<scroll-view class="dy-scroll" @scrolltolower="scrolltolower" scroll-y | ||||
| 			:style="'top:'+sTop+'px;height:calc(100vh - '+totalHeight+'px)'"> | ||||
| 			<view v-if="list.length>0"> | ||||
| 				<view class="dy-list"> | ||||
| 					<!-- @click="$noMultipleClicks(goToDetail,item.HIDDEN_ID)"  --> | ||||
| 					<view v-for="(item,index) of list" :key="index" :data-id="item.SAFETY_MEETING_ID" | ||||
| 						class="dy-list-item p20"> | ||||
| 						<view class="dy-title-flex align-center"> | ||||
| 							<text>{{item.SAFETY_MEETING_TITLE}}</text> | ||||
| 						</view> | ||||
| 						<view class="dy-subtitle-flex"> | ||||
| 							<text>例会正文:{{ item.SAFETY_MEETING_CONTENT }}</text> | ||||
| 						</view> | ||||
|             <view class="dy-subtitle-flex"> | ||||
|               <text>发布人:{{ item.NAME }}</text> | ||||
|             </view> | ||||
|             <view class="dy-subtitle-flex"> | ||||
|               <text>发布时间:{{ item.CREATTIME }}</text> | ||||
|             </view> | ||||
|             <view class="dy-subtitle-flex" style="height: 34upx;"> | ||||
|               <text/> | ||||
|               <text> | ||||
|                 <button class="cu-btn bg-blue margin-tb-sm sm" @click="$noMultipleClicks(goToDetail,item.SAFETY_MEETING_ID)">{{TabCur==0?'立即反馈':'查看'}}</button> | ||||
|               </text> | ||||
|             </view> | ||||
| 					</view> | ||||
| 				</view> | ||||
| 			</view> | ||||
| 			<view v-else-if="dataFlag=='noData'" class="dy-null"> | ||||
| 				<view class="dy-null-img"> | ||||
| 					<image :src="background[dataFlag].url" mode=""></image> | ||||
| 				</view> | ||||
| 				<view class="dy-null-title"> | ||||
| 					{{background[dataFlag].msg}} | ||||
| 				</view> | ||||
| 			</view> | ||||
| 			<view class="cu-tabbar-height"></view> | ||||
| 		</scroll-view> | ||||
| 		<view :class="['cu-modal',{'show':modalShow}]" v-if="modalShow"/> | ||||
| 		</view> | ||||
| </template> | ||||
| 
 | ||||
| 
 | ||||
| <script> | ||||
| 	import { | ||||
| 		basePath, | ||||
| 		corpinfoId, | ||||
| 		loginSession, | ||||
| 		formatDate, | ||||
| 		loginUser, | ||||
| 		loginUserId | ||||
| 	} from '@/common/tool.js'; | ||||
| 	import tkiTree from "@/components/select-tree/select-tree.vue" | ||||
| 	import ruiDatePicker from '@/components/rattenking-dtpicker/rattenking-dtpicker.vue' | ||||
| 	export default { | ||||
| 		components: { | ||||
| 			tkiTree, | ||||
| 			ruiDatePicker, | ||||
| 		}, | ||||
| 		data() { | ||||
| 			return { | ||||
| 				showRight: false, | ||||
| 				dataFlag: 'noData', | ||||
| 				sTop: 0, | ||||
| 				totalHeight: 0, | ||||
| 				list: [], //返回数据 | ||||
| 				page: 1, //分页参数--页数 | ||||
| 				rows: 10, //分页参数--每页数据条数 | ||||
| 				totalCount: 0, //分页参数--初始化页数 | ||||
| 				isEnd: false, //防止多次刷新 | ||||
| 				totalPage: 0, //分页参数--分页数量 | ||||
| 				noClick: true, | ||||
| 				TabCur: 0, | ||||
| 				scrollLeft: 0, | ||||
| 				tabNav: ['待反馈', '已反馈'], | ||||
| 				modalShow: false, | ||||
| 				loginUserId: loginUserId | ||||
| 			} | ||||
| 		}, | ||||
| 		onReady() { | ||||
| 			let that = this; | ||||
| 			let CustomBar = this.CustomBar; | ||||
| 			uni.getSystemInfo({ //调用uni-app接口获取屏幕高度 | ||||
| 				success(res) { //成功回调函数 | ||||
| 					let titleH = uni.createSelectorQuery().select(".top-fixed"); //想要获取高度的元素名(class/id) | ||||
| 					titleH.boundingClientRect(data => { | ||||
| 						that._data.sTop = data.height //计算高度:元素高度=窗口高度-元素距离顶部的距离(data.top) | ||||
| 						that.totalHeight = data.height + CustomBar | ||||
| 					}).exec() | ||||
| 				} | ||||
| 			}) | ||||
| 		}, | ||||
| 		onLoad(e) { //页面第一次加载时触发,从跳转页面返回时不能触发,可以传递参 | ||||
| 		}, | ||||
| 		onShow() { | ||||
| 			//页面显示或从后台跳回小程序时显示此页面时触发,从跳转页面返回时触发,不能传递参数 | ||||
| 			var _this = this; | ||||
| 			_this.background = require('@/common/background.json'); | ||||
| 			_this.showCount = 10; | ||||
| 			_this.currentPage = 1; | ||||
| 			_this.list = []; | ||||
| 			_this.isEnd = false; | ||||
| 			_this.getData(); | ||||
| 			loginSession(); | ||||
| 		}, | ||||
| 		methods: { | ||||
| 			tabSelect(e) { | ||||
| 				this.TabCur = e.currentTarget.dataset.id; | ||||
| 				this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60; | ||||
| 				this.getQuery(); | ||||
| 			}, | ||||
| 			//跳转事件 | ||||
| 			goToDetail(e) { | ||||
| 				uni.navigateTo({ | ||||
| 					url: '/pages/application/safetymeeting/info?SAFETY_MEETING_ID=' + e +'&TabCur=' + (this.TabCur) | ||||
| 				}); | ||||
| 			}, | ||||
| 			getQuery() { //搜索按钮事件 | ||||
| 				var _this = this; | ||||
| 				_this.showCount = 10; | ||||
| 				_this.currentPage = 1; | ||||
| 				_this.list = []; | ||||
| 				_this.isEnd = false; | ||||
| 				_this.getData(); | ||||
| 			}, | ||||
| 			// 滑动到底方法 | ||||
| 			scrolltolower() { | ||||
| 				var _this = this; | ||||
| 				_this.showCount = 10; | ||||
| 				_this.currentPage = _this.currentPage + 1; | ||||
| 				_this.isEnd = false; | ||||
| 				if (_this.totalPage >= _this.currentPage) { | ||||
| 					_this.getData(); //开始分页查询 | ||||
| 				} | ||||
| 			}, | ||||
| 			getData() { | ||||
| 				var _this = this; | ||||
| 				if (_this.isEnd) { | ||||
| 					return | ||||
| 				} else { | ||||
| 					this.isEnd = true; | ||||
| 				} | ||||
| 				uni.showLoading({ | ||||
| 					title: "加载中..." | ||||
| 				}); //加载中动画 | ||||
| 				uni.request({ | ||||
| 					url: basePath + '/app/safetyMeeting/list?selectType='+ _this.TabCur + '&showCount=' + _this.showCount + | ||||
| 						'¤tPage=' + _this.currentPage, | ||||
| 					method: 'POST', | ||||
| 					dataType: 'json', | ||||
| 					header: { | ||||
| 						'Content-type': 'application/x-www-form-urlencoded' | ||||
| 					}, | ||||
| 					data: { | ||||
| 						CORPINFO_ID: corpinfoId, | ||||
|             USER_ID: loginUserId | ||||
| 					}, | ||||
| 					success: (res) => { | ||||
| 						uni.hideLoading(); //结束加载中动画 | ||||
|             console.log(res) | ||||
| 						if (res.data != null) { | ||||
| 							_this.totalPage = res.data.page.totalPage; | ||||
| 							if (_this.list.length == 0) { | ||||
| 								_this.list = res.data.varList; | ||||
| 							} else { | ||||
| 								if (res.data.varList != null) { | ||||
| 									_this.list2 = res.data.varList; | ||||
| 									_this.list = _this.list.concat(_this.list2); | ||||
| 								} | ||||
| 							} | ||||
| 						} | ||||
| 					} | ||||
| 				}) | ||||
| 			}, | ||||
| 		} | ||||
| 	} | ||||
| </script> | ||||
| <style> | ||||
| 	.dy-card { | ||||
| 		background-color: #fff; | ||||
| 		border-radius: 10upx; | ||||
| 		margin: 30upx | ||||
| 	} | ||||
| 
 | ||||
| 	.dy-card-title { | ||||
| 		display: flex; | ||||
| 		justify-content: space-between; | ||||
| 		border-bottom: 1px solid #eee; | ||||
| 		min-height: 80upx; | ||||
| 		line-height: 80upx; | ||||
| 		padding: 0 30upx; | ||||
| 	} | ||||
| 
 | ||||
| 	.dy-card-content { | ||||
| 		padding: 0upx 30upx 30upx; | ||||
| 
 | ||||
| 	} | ||||
| 
 | ||||
| 	.dy-card-content-item { | ||||
| 		margin-top: 20upx; | ||||
| 	} | ||||
| 
 | ||||
| 	.dy-card-content-item .title { | ||||
| 		display: flex; | ||||
| 		align-items: center; | ||||
| 	} | ||||
| 
 | ||||
| 	.dy-card-content-item .title .l { | ||||
| 		width: 10upx; | ||||
| 		height: 30upx; | ||||
| 		border-radius: 20upx; | ||||
| 		background-color: #666; | ||||
| 		margin-right: 10upx; | ||||
| 	} | ||||
| 
 | ||||
| 	.dy-card-content-item .content { | ||||
| 		background-color: #F1F1F1; | ||||
| 		padding: 10upx 14upx; | ||||
| 		margin-top: 14upx; | ||||
| 		line-height: 1.6; | ||||
| 	} | ||||
| 
 | ||||
| 	.dy-card-content-item .name text { | ||||
| 		background-color: #F1F1F1; | ||||
| 		padding: 10upx 14upx; | ||||
| 		margin-top: 14upx; | ||||
| 		line-height: 1.6; | ||||
| 		display: inline-block; | ||||
| 	} | ||||
| 
 | ||||
| 	.dy-card-foot { | ||||
| 		border-top: 1px solid #eee; | ||||
| 		padding: 30upx; | ||||
| 	} | ||||
| 
 | ||||
| 	.cu-modal { | ||||
| 		z-index: 0; | ||||
| 	} | ||||
| </style> | ||||
|  | @ -0,0 +1,287 @@ | |||
| <template> | ||||
| 	<view> | ||||
| 		<cu-custom bgColor="bg-gradual-blueness" :isBack="true"> | ||||
| 			<block slot="backText">返回</block> | ||||
| 			<block slot="content">安全例会-详情</block> | ||||
| 		</cu-custom> | ||||
| 		<scroll-view scroll-y> | ||||
| 			<view class="wui-form-list"> | ||||
| 				<view class="cu-form-group"> | ||||
| 					<view class="title">例会标题</view> | ||||
| 					<view> | ||||
| 						{{pd.SAFETY_MEETING_TITLE}} | ||||
| 					</view> | ||||
| 				</view> | ||||
| 				<view  class="cu-form-group"> | ||||
| 					<view class="title"> | ||||
| 						<text>内容</text> | ||||
| 					</view> | ||||
| 					<view> | ||||
| 						<text>{{pd.SAFETY_MEETING_CONTENT}}</text> | ||||
| 					</view> | ||||
| 				</view> | ||||
| 				<view  class="cu-form-textarea"> | ||||
| 					<view class="title"> | ||||
| 						<text>附件</text> | ||||
| 					</view> | ||||
| 					<view> | ||||
| 						<view class="cu-form-p"> | ||||
| 							<scroll-view scroll-x class="bg-white nav" scroll-with-animation> | ||||
| 								<view class="cu-item" v-for="(item,index) in files" v-bind:key="index"> | ||||
| 									<view class="imgs"> | ||||
| 										<image :src="baseImgPath+item.FILEPATH" :data-index="index" @click="ViewShowImage(baseImgPath+item.FILEPATH)" | ||||
| 											   mode=""></image> | ||||
| 									</view> | ||||
| 								</view> | ||||
| 							</scroll-view> | ||||
| 						</view> | ||||
| 					</view> | ||||
| 				</view> | ||||
| 			</view> | ||||
| 			<view class="wui-form-list"> | ||||
|         <view class="cu-form-textarea" v-if="!forbidEdit" > | ||||
|           <view class="cu-form-title text-hui">核实意见</view> | ||||
|           <textarea maxlength="-1" v-model="FEED_BACK" placeholder="(必填)"></textarea> | ||||
|         </view> | ||||
|         <view class="cu-form-group" style="border: none;" v-if="!forbidEdit"> | ||||
|           <view class="title">签字</view> | ||||
|           <button class="cu-btn bg-green shadow" @tap="modalShow = true" data-target="Modal">手写签字</button> | ||||
|         </view> | ||||
|         <view class="cu-bar bg-white" v-show="signImgList && signImgList.length > 0"> | ||||
|           <view class="action"> | ||||
|             签字照片 | ||||
|           </view> | ||||
|         </view> | ||||
|         <view class="cu-form-group" v-show="signImgList && signImgList.length > 0"> | ||||
|           <view class="grid col-4 grid-square flex-sub"> | ||||
|             <view style="width: 60%;" class="bg-img" v-for="(item,index) in signImgList" :key="index" @tap="ViewImage" data-type="0" :data-url="signImgList[index].filePath"> | ||||
|               <image :src="signImgList[index].filePath" mode="aspectFill"></image> | ||||
|               <view class="cu-tag bg-red" @tap.stop="delImg" data-type="0" :data-index="index"> | ||||
|                 <text class='cuIcon-close'></text> | ||||
|               </view> | ||||
|             </view> | ||||
|           </view> | ||||
|         </view> | ||||
|         <view class="cu-modal" :class="{'show':modalShow}"> | ||||
|           <sign @confirm="subCanvas" @cancel="modalShow = false"></sign> | ||||
|         </view> | ||||
| 			</view> | ||||
|       <view class="cu-bar btn-group" style="margin-top: 30upx;"> | ||||
|         <button v-if="!forbidEdit" class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goSubmit)">提交</button> | ||||
|       </view> | ||||
| 		</scroll-view> | ||||
| 	</view> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| 	import { | ||||
| 		basePath, | ||||
| 		baseImgPath, | ||||
| 		corpinfoId, | ||||
|       loginUser | ||||
| 	} from '@/common/tool.js'; | ||||
|   import sign from '@/components/sign/sign.vue'; | ||||
| 
 | ||||
| 	export default { | ||||
|     components: { | ||||
|       sign | ||||
|     }, | ||||
| 		data() { | ||||
| 			return { | ||||
| 				noClick: true, | ||||
| 				SPECIALEQUIPMENTAQXJ_ID: '', | ||||
| 				pd: [], | ||||
| 				files: [], | ||||
|         FEED_BACK: '', | ||||
|         signImgList: [], | ||||
|         forbidEdit: false, | ||||
|         modalShow: false, | ||||
| 				basePath: basePath, | ||||
| 				baseImgPath: baseImgPath | ||||
| 			} | ||||
| 		}, | ||||
| 		onLoad(e) { | ||||
| 			this.SAFETY_MEETING_ID = e.SAFETY_MEETING_ID; | ||||
|       if (e.TabCur == 1) { | ||||
|         this.forbidEdit=true | ||||
|       } | ||||
| 			this.getData(); | ||||
| 		}, | ||||
| 		methods: { | ||||
|       goSubmit() { | ||||
|         if (!this.FEED_BACK) { | ||||
|           uni.showLoading({ | ||||
|             icon: 'none', | ||||
|             title: '反馈必填', | ||||
|             duration: 1500 | ||||
|           }) | ||||
|           return | ||||
|         } | ||||
|         if (this.signImgList.length ===0) { | ||||
|           uni.showLoading({ | ||||
|             icon: 'none', | ||||
|             title: '请签字 ', | ||||
|             duration: 1500 | ||||
|           }) | ||||
|           return | ||||
|         } | ||||
|         uni.showToast({ | ||||
|           title: '请稍后', | ||||
|         }); | ||||
|         let _this = this | ||||
|         uni.request({ | ||||
|           url: basePath + '/app/safetyMeeting/confirm', | ||||
|           method: 'POST', | ||||
|           data: { | ||||
|             SAFETY_MEETING_ID: this.SAFETY_MEETING_ID, | ||||
|             FEED_BACK: this.FEED_BACK, | ||||
|             USER_ID: loginUser.USER_ID, | ||||
|           }, | ||||
|           header: { | ||||
|             'content-type': 'application/x-www-form-urlencoded' | ||||
|           }, | ||||
|           success: function(res) { | ||||
|             console.log(res) | ||||
|             if (res.data.code === 0) { | ||||
|               // _this.uploadImg(_this.signImgList[0],res.data.pd.SAFETY_MEETING_PEOPLE_ID) | ||||
|               let formData = { | ||||
|                 FOREIGN_KEY: res.data.pd.SAFETY_MEETING_PEOPLE_ID, | ||||
|                 CORPINFO_ID: loginUser.CORPINFO_ID, | ||||
|                 TYPE: '106', | ||||
|               } | ||||
|               uni.uploadFile({ | ||||
|                 url: basePath + "/app/safetyMeeting/upload", | ||||
|                 filePath: _this.signImgList[0].filePath, | ||||
|                 name: 'FFILE', | ||||
|                 formData:formData, | ||||
|                 success: (res) => { | ||||
|                   uni.showToast({ | ||||
|                     icon: 'none', | ||||
|                     title: '保存成功', | ||||
|                     duration: 2000 | ||||
|                   }); | ||||
|                  setTimeout(() => { _this.goback()},2000) | ||||
|                 }, | ||||
|                 fail: (err) => { | ||||
|                   uni.hideLoading(); | ||||
|                   uni.showModal({ | ||||
|                     content: err.errMsg, | ||||
|                     showCancel: false | ||||
|                   }); | ||||
|                 } | ||||
|               }) | ||||
|             } | ||||
|         } | ||||
|       }) | ||||
|       }, | ||||
|       goback(){ | ||||
|         var pages = getCurrentPages();	// 获取当前页面栈 | ||||
|         var prePage = pages[pages.length - 2];	// 上二级页面 | ||||
|         prePage.$vm.initflag = true;    // A 页面 init方法 为true | ||||
|         uni.navigateBack({delta: 1}); | ||||
|         uni.hideLoading(); | ||||
|       }, | ||||
| 
 | ||||
|       uploadImg(file,FOREIGN_KEY){ | ||||
|         return new Promise((resolve, reject) => { | ||||
|           var _this = this; | ||||
|           uni.uploadFile({ | ||||
|             url: basePath+'/app/imgfiles/add', | ||||
|             filePath: file.filePath, | ||||
|             name: 'FFILE', | ||||
|             formData: { | ||||
|               'TYPE': file.type, | ||||
|               'FOREIGN_KEY': FOREIGN_KEY, | ||||
|               CORPINFO_ID: loginUser.CORPINFO_ID, | ||||
|               USER_ID: loginUser.USER_ID, | ||||
|             }, | ||||
|             success: (res) => { | ||||
|               resolve(); | ||||
|             }, | ||||
|             fail: (err) => { | ||||
|               uni.hideLoading(); | ||||
|               uni.showModal({ | ||||
|                 content: err.errMsg, | ||||
|                 showCancel: false | ||||
|               }); | ||||
|             } | ||||
|           }) | ||||
|         }) | ||||
|       }, | ||||
| 
 | ||||
|       delImg (e) { | ||||
|         var _this = this; | ||||
|         let i = e.currentTarget.dataset.index | ||||
|         uni.showModal({ | ||||
|           content: '确定要删除这张图片吗?', | ||||
|           cancelColor: "#000000", | ||||
|           cancelText: '取消', | ||||
|           confirmText: '确定', | ||||
|           success: res => { | ||||
|             if (res.confirm) { | ||||
|               _this.signImgList.splice(i, 1) | ||||
|             } | ||||
|           } | ||||
|         }) | ||||
|       }, | ||||
|       ViewImage(e) { | ||||
|           let files =[]; | ||||
|           for(var i=0;i<this.signImgList.length;i++){ | ||||
|             files.push(this.signImgList[i].filePath) | ||||
|           } | ||||
|           uni.previewImage({ | ||||
|             urls: files, | ||||
|             current: e.currentTarget.dataset.url | ||||
|           }); | ||||
|       }, | ||||
|       subCanvas(e){ | ||||
|         this.signImgList.splice(0, this.signImgList.length); | ||||
|         this.signImgList.push(e); | ||||
|         this.modalShow = false; | ||||
|       }, | ||||
| 			getData() { | ||||
| 				var _this = this; | ||||
| 				uni.showLoading({ | ||||
| 					title: '请稍候' | ||||
| 				}) | ||||
| 				uni.request({ | ||||
| 					url: basePath + '/app/safetyMeeting/goEdit', | ||||
| 					method: 'POST', | ||||
| 					dataType: 'json', | ||||
| 					header: { | ||||
| 						'Content-type': 'application/x-www-form-urlencoded' | ||||
| 					}, | ||||
| 					data: { | ||||
|             SAFETY_MEETING_ID: _this.SAFETY_MEETING_ID, | ||||
|             USER_ID: loginUser.USER_ID, | ||||
|           }, | ||||
| 					success: (res) => { | ||||
| 						if ("success" == res.data.result) { | ||||
| 							uni.hideLoading(); | ||||
| 							_this.pd = res.data.pd; //参数map | ||||
| 							_this.files = res.data.imgs; | ||||
| 							_this.signImgList = res.data.singImgs; | ||||
| 						} else if ("exception" == data.result) { | ||||
| 							uni.showToast({ | ||||
| 								title: '错误', | ||||
| 								duration: 2000 | ||||
| 							}); | ||||
| 						} | ||||
| 					} | ||||
| 				}); | ||||
| 			}, | ||||
| 			ViewShowImage(url) { | ||||
| 				let files = []; | ||||
| 				files.push(url) | ||||
| 				uni.previewImage({ | ||||
| 					urls: files, | ||||
| 					current: 0 | ||||
| 				}); | ||||
| 			}, | ||||
| 		} | ||||
| 	} | ||||
| </script> | ||||
| 
 | ||||
| <style> | ||||
| 
 | ||||
| </style> | ||||
		Loading…
	
		Reference in New Issue