2312970463@qq.com 4 år sedan
förälder
incheckning
a1375271c8
93 ändrade filer med 786 tillägg och 1099 borttagningar
  1. 9 3
      pages/applic/contribution.vue
  2. 44 74
      pages/form/certificates.vue
  3. 1 1
      pages/form/certificatesList.vue
  4. 11 3
      pages/form/donaSuccess.vue
  5. 0 401
      pages/index/biaoge.vue
  6. 2 3
      pages/index/index.vue
  7. 1 1
      pages/train/index.vue
  8. 712 611
      pages/train/sign.vue
  9. BIN
      static/img/graduation.jpg
  10. BIN
      static/img/graduationB.jpg
  11. 5 1
      unpackage/dist/build/h5/index.html
  12. BIN
      unpackage/dist/build/h5/static/img/graduation.jpg
  13. BIN
      unpackage/dist/build/h5/static/img/graduationB.jpg
  14. 0 0
      unpackage/dist/build/h5/static/js/chunk-vendors.bd4ed141.js
  15. 0 0
      unpackage/dist/build/h5/static/js/index.a8e14cf4.js
  16. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-appliSystem.36771764.js
  17. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-appliSystem.fccff09e.js
  18. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-applic.af2c001e.js
  19. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-chooseAddress.03dd38c5.js
  20. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-chooseAddress.e9800a99.js
  21. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-commonaddress.4d81d4e9.js
  22. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-commonaddress.7cdc8848.js
  23. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-contribution.58a4c634.js
  24. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-contribution~pages-applic-helprecords~pages-applic-location~pages-applic-rescuerecords~~e1a799d0.67831425.js
  25. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-contribution~pages-applic-helprecords~pages-applic-location~pages-applic-rescuerecords~~e1a799d0.da795d9f.js
  26. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-donaSuccess.659860f8.js
  27. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-donaSuccess.e3ed4de9.js
  28. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-helprecords.3c2c2c29.js
  29. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-helprecords~pages-applic-rescuerecords.2be6a1e7.js
  30. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-helprecords~pages-applic-rescuerecords~pages-category-search~pages-form-certificates~pa~95f4ddf5.4a6577b7.js
  31. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-helprecords~pages-applic-rescuerecords~pages-category-search~pages-form-certificates~pa~95f4ddf5.f58205b1.js
  32. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-info.6b0254b5.js
  33. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-info.e59983ec.js
  34. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-item.6f4ce2f8.js
  35. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-item.bb5e0a46.js
  36. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-know.5b480e14.js
  37. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-location.7d10d56d.js
  38. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-location.ffbec3cb.js
  39. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-love.4b96c850.js
  40. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-love.9123adc0.js
  41. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-other.4a3d8c06.js
  42. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-perSign.0be5abf6.js
  43. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-register.b6e6f877.js
  44. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-register.c3fa5400.js
  45. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-rescuerecords.e92e3c59.js
  46. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-science.13414eea.js
  47. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-teamSign.52324747.js
  48. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-toOrgan.0a6da803.js
  49. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-toOrgan.d3cd8ed8.js
  50. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-tocontrilist.62255864.js
  51. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-tocontrilist.aa039331.js
  52. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-tohelpActi.5b0249fa.js
  53. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-tohelpActi.e1d4d263.js
  54. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-toknowledge.0698b978.js
  55. 0 0
      unpackage/dist/build/h5/static/js/pages-applic-toknowledge.1479a46b.js
  56. 0 0
      unpackage/dist/build/h5/static/js/pages-cart-cart.4410eb3c.js
  57. 0 0
      unpackage/dist/build/h5/static/js/pages-category-category.78e9fd94.js
  58. 0 0
      unpackage/dist/build/h5/static/js/pages-category-search.85f62179.js
  59. 0 0
      unpackage/dist/build/h5/static/js/pages-form-applicationForm.48b2f6e2.js
  60. 0 0
      unpackage/dist/build/h5/static/js/pages-form-certificates.932659b5.js
  61. 0 0
      unpackage/dist/build/h5/static/js/pages-form-certificates.cc6d2138.js
  62. 0 0
      unpackage/dist/build/h5/static/js/pages-form-certificatesList.62f192f6.js
  63. 1 0
      unpackage/dist/build/h5/static/js/pages-form-demo.17646bb3.js
  64. 0 1
      unpackage/dist/build/h5/static/js/pages-form-demo.6fe2c7ec.js
  65. 0 0
      unpackage/dist/build/h5/static/js/pages-form-donaSuccess.492b2559.js
  66. 0 0
      unpackage/dist/build/h5/static/js/pages-form-donaSuccess.f7b80f5f.js
  67. 0 0
      unpackage/dist/build/h5/static/js/pages-form-donateList.4f3dc72d.js
  68. 0 0
      unpackage/dist/build/h5/static/js/pages-form-donateList.ad7b3dfe.js
  69. 0 0
      unpackage/dist/build/h5/static/js/pages-form-donateLove.067f6487.js
  70. 0 0
      unpackage/dist/build/h5/static/js/pages-form-donateLove.70d8583c.js
  71. 0 0
      unpackage/dist/build/h5/static/js/pages-form-myDonate.9bf85168.js
  72. 0 0
      unpackage/dist/build/h5/static/js/pages-form-myDonate.bdfac014.js
  73. 0 0
      unpackage/dist/build/h5/static/js/pages-form-tovolApply.1e11e919.js
  74. 0 0
      unpackage/dist/build/h5/static/js/pages-form-tovolApply.f4e34b18.js
  75. 0 0
      unpackage/dist/build/h5/static/js/pages-form-tovolApplyDemo.3ae82b94.js
  76. 0 0
      unpackage/dist/build/h5/static/js/pages-index-index.f8146f4b.js
  77. 0 0
      unpackage/dist/build/h5/static/js/pages-joinSuc-joinNow.cda6d371.js
  78. 0 0
      unpackage/dist/build/h5/static/js/pages-joinSuc-joinNow.e9fe7873.js
  79. 0 0
      unpackage/dist/build/h5/static/js/pages-joinSuc-joinSuc.0d70f302.js
  80. 0 0
      unpackage/dist/build/h5/static/js/pages-joinSuc-joinSuc.a538c3ce.js
  81. 0 0
      unpackage/dist/build/h5/static/js/pages-login-login.42a82a58.js
  82. 0 0
      unpackage/dist/build/h5/static/js/pages-login-register.12cce97c.js
  83. 0 0
      unpackage/dist/build/h5/static/js/pages-login-register.54bc0da9.js
  84. 0 0
      unpackage/dist/build/h5/static/js/pages-loverecord-loverecord.5b3fbd05.js
  85. 0 0
      unpackage/dist/build/h5/static/js/pages-loverecord-loverecord.f054ad7d.js
  86. 0 0
      unpackage/dist/build/h5/static/js/pages-public-wxLogin.b08c1aa4.js
  87. 0 0
      unpackage/dist/build/h5/static/js/pages-public-wxLogin.dabf6765.js
  88. 0 0
      unpackage/dist/build/h5/static/js/pages-redirect-redirect.0206da91.js
  89. 0 0
      unpackage/dist/build/h5/static/js/pages-redirect-redirect.04f73784.js
  90. 0 0
      unpackage/dist/build/h5/static/js/pages-train-index.a7b07f78.js
  91. 0 0
      unpackage/dist/build/h5/static/js/pages-train-sign.9a57e95a.js
  92. 0 0
      unpackage/dist/build/h5/static/js/pages-train-sign.ab71d5fc.js
  93. 0 0
      unpackage/dist/build/h5/static/js/pages-user-user.0f21e121.js

+ 9 - 3
pages/applic/contribution.vue

@@ -446,9 +446,15 @@
 						paySign: res.paySign,
 						success: function(res) {
 							// obj.$api.msg('支付成功')
-							uni.navigateTo({
-								url: '/pages/form/donaSuccess?money=' + obj.money
-							})
+							if(obj.is_public){
+								uni.navigateTo({
+									url: '/pages/form/donaSuccess?money=' + obj.money +'&name="'+ obj.donate_er+'"'
+								})
+							} else{
+								uni.navigateTo({
+									url: '/pages/form/donaSuccess?money=' + obj.money
+								})
+							}
 						},
 						fail: function(res) {
 							this.$refs.popup1.open()

+ 44 - 74
pages/form/certificates.vue

@@ -5,8 +5,13 @@
 		</view>
 		<view class="certificates" v-if='is_over'>
 			
-			<canvas v-if="showcanvas" id="qrShareBox" canvas-id="qrShareBox" class="tki-qrcode-canvas" />
-			<image class="imgbox" v-else :src="img" mode=" aspectFill"></image>
+			<canvas v-if="showcanvas" id="qrShareBox" canvas-id="qrShareBox" class="tki-qrcode-canvas" />
+			
+			<view v-else>
+				<image class="imgbox" :src="img" mode=" aspectFill"></image>
+				
+			</view>
+			
 		</view>
 
 	</view>
@@ -57,9 +62,14 @@ export default {
 			canHeight: '',
 			canWeidth: '',
 			url:'',
-			img:'',
+			img:'',//反面的图片
+			img1:'',//正面的图片
 			showcanvas:true,
-			uid:''
+			uid:'',
+			cardId:'',
+			no:'',
+			image:'',
+			sex:'',
 		};
 	},
 	onLoad(option) {
@@ -76,11 +86,19 @@ export default {
 			console.log(999,data)
 			this.name = data.name
 			this.signDate = data.add_time
-			this.is_over = data.is_over
+			this.is_over = data.is_over
+			this.cardId = data.card_id
+			this.no = data.no
+			if (data.sex == 0){
+				this.sex = '男'
+			}else if (data.sex == 1){
+				this.sex == '女'
+			}
+			this.image = data.img
 		console.log(3,data.add_time)
 		let obj = this;
 		let name = obj.name
-		let signDate = obj.signDate
+		let signDate = getRecTime(obj.signDate,'yyyy-MM-dd')
 	
 		function getRecTime(timestamp, fmt) {
 			let d = new Date(timestamp * 1000)
@@ -134,71 +152,22 @@ export default {
 					obj.canWeidth = e.width;
 				}
 			)
-			.exec();
-		let ctxBg = '/index/static/img/graduation.png'; //画布背景
-		let src = '/index/static/icon/erweima.jpg' // 二维码
+			.exec();
+		let ctxBg1 = '/index/static/img/graduation.jpg'
+		let ctxBg = '/index/static/img/graduationB.jpg'; //画布背景
 		let context = uni.createCanvasContext('qrShareBox');
 		// 插入背景图片
-		context.drawImage(ctxBg, 0, 0, obj.canWeidth, obj.canHeight);
-		
-		const codeSize = obj.size * obj.ratio; //计算二维码大小
-		const codeX = ((750 - obj.size) * obj.ratio) / 2; //二维码所在x轴位置
-		const codeY = 999 * obj.ratio; //二维码所在y轴位置
-		// console.log('二维码大小',codeSize)
-		// console.log('二维码所在x轴位置',codeX)
-		// console.log('二维码所在y轴位置',codeY)
-		const codeBoxColor = '#FFFFFF'; //包裹框颜色
-		const codeBoxWidht = 0; //包裹边框宽度
-		const codeBoxSize = (codeBoxWidht / 2) * obj.ratio; //计算二维码白色包裹框大小
-		const codeBoxX = codeX - codeBoxSize; //包裹框初始X轴
-		const codeBoxY = codeY - codeBoxSize; //包裹框初始Y轴
-		const codeBoxEnd = codeSize + codeBoxWidht * obj.ratio; //计算包裹框大小
-		const fontTop = codeY + codeBoxEnd + (codeBoxWidht + 20) * obj.ratio; //文字距离上边距高度
-		const fontSize = 24 * obj.ratio; //文字大小
-		const fontText = ''; //文字内容
-		const fontLeft = (codeSize - fontSize * fontText.length) / 2 + codeX; //文字左侧距离
-		// // 插入文字
-		context.setFontSize(32 * obj.ratio)
-		// 画横线
-		context.moveTo(90 * obj.ratio, 586 * obj.ratio)
-		context.lineTo(250 * obj.ratio, 586 * obj.ratio)
-		context.stroke();
-		
-		context.fillText(name, 110 * obj.ratio, 574 * obj.ratio)
-		context.fillText('先生/女士', 260 * obj.ratio, 580 * obj.ratio)
-		
-		context.setFontSize(31 * obj.ratio)
-		
-		context.fillText('您已完鄂州市红十字会普及培训', 105 * obj.ratio, 670 * obj.ratio)
-		context.fillText('的全部课程,特发此证。', 105 * obj.ratio, 720 * obj.ratio)
-		context.setFontSize(22 * obj.ratio)
-		context.fillText('签发人:', 100 * obj.ratio, 800 * obj.ratio)
-		context.fillText('Siger:', 100 * obj.ratio, 830 * obj.ratio)
-		// 画横线
-		context.moveTo(180 * obj.ratio, 830 * obj.ratio)
-		context.lineTo(460 * obj.ratio, 830 * obj.ratio)
-		context.stroke()
-		context.fillText('签发日期:', 100 * obj.ratio, 880 * obj.ratio)
-		context.fillText('Issuer Date:', 100 * obj.ratio, 910 * obj.ratio)
-		context.setFontSize(26 * obj.ratio)
-		context.fillText(m, 275 * obj.ratio, 908 * obj.ratio)
-		context.fillText('鄂州市红十字会', 200 * obj.ratio, 820 * obj.ratio)
-		// 画横线
-		context.moveTo(230 * obj.ratio, 915 * obj.ratio)
-		context.lineTo(460 * obj.ratio, 915 * obj.ratio)
-		context.stroke()
-		context.setFontSize(fontSize);
-		context.fillText(fontText, fontLeft, fontTop);
-		
-		// 插入边框
-		context.beginPath();
-		context.setLineJoin('round'); //边框类型
-		context.setLineWidth(codeBoxWidht * obj.ratio);
-		context.setStrokeStyle(codeBoxColor); //设置包裹框颜色
-		context.strokeRect(codeBoxX, codeBoxY, codeBoxEnd, codeBoxEnd);
-		context.stroke();
-		// 插入二维码
-		context.drawImage(src, codeX, codeY, codeSize, codeSize);
+		context.drawImage(ctxBg1, 0, 0, obj.canWeidth , 500*obj.ratio);
+		context.drawImage(obj.image, 60 * obj.ratio, 205 * obj.ratio,150*obj.ratio , 200*obj.ratio);
+		context.drawImage(ctxBg, 0, 640*obj.ratio, obj.canWeidth , 500*obj.ratio);
+		// // 插入文字
+		context.setFontSize(22 * obj.ratio);
+		context.fillText(obj.name,340 * obj.ratio,205 * obj.ratio)
+		context.fillText(obj.sex,540 * obj.ratio,205 * obj.ratio)
+		context.fillText(obj.cardId,370 * obj.ratio,280 * obj.ratio)
+		context.fillText(obj.no,370 * obj.ratio,345 * obj.ratio)
+		context.fillText(signDate,370 * obj.ratio,410 * obj.ratio)
+		context.fillText("三 年",560 * obj.ratio,410 * obj.ratio)
 		context.draw(false,(e) => {
 			uni.canvasToTempFilePath({
 			  x: 0,
@@ -220,7 +189,7 @@ export default {
 			  } 
 			})
 		})
-			})
+		})
 	
 	},
 
@@ -473,11 +442,11 @@ page {
 
 		.tki-qrcode-canvas {
 			// width: 700rpx;
-			// height: 1245rpx;
+			height: 1245rpx;
 			width: 750rpx;
 			// padding: 32rpx;
-			height: 1350rpx;
-			margin: 0 auto;
+			
+			margin: 50rpx auto;
 		}
 	.bgimg{
 		width: 100%;
@@ -581,7 +550,8 @@ page {
 		
 	}
 	.imgbox{
-		height: 1350rpx;
+		height: 1245rpx;
+		margin: 50rpx auto;
 		width:750rpx;
 	}
 </style>

+ 1 - 1
pages/form/certificatesList.vue

@@ -66,7 +66,7 @@ export default {
 					if (type === 'refresh') {
 						obj.list = [];
 					}
-					let arr = data.data
+					let arr = data.data.reverse();
 					obj.list = obj.list.concat(arr);
 					//判断是否还有下一页,有是more  没有是nomore
 					if (obj.limit == arr.length) {

+ 11 - 3
pages/form/donaSuccess.vue

@@ -21,6 +21,7 @@ export default {
 			money: '',
 			url: '',
 			img: '',
+			name:'捐赠人',
 			showcanvas: true,
 			loading: true, //是否载入图片中
 			size: 180,
@@ -84,7 +85,7 @@ export default {
 
 		const codeSize = obj.size * obj.ratio; //计算二维码大小
 		const codeX = ((750 - obj.size) * obj.ratio) / 2; //二维码所在x轴位置
-		const codeY = 960 * obj.ratio; //二维码所在y轴位置
+		const codeY = 1060 * obj.ratio; //二维码所在y轴位置
 
 		const codeBoxColor = '#FFFFFF'; //包裹框颜色
 		const codeBoxWidht = 0; //包裹边框宽度
@@ -102,14 +103,18 @@ export default {
 		context.setFillStyle('#d5493b');
 		// context.fillText('感谢信', ((750 - obj.size) * obj.ratio) / 2, 260 * obj.ratio)
 		context.setFontSize(30 * obj.ratio);
-		context.fillText('尊敬的捐赠人:', 40 * obj.ratio, 400 * obj.ratio);
+		context.fillText('尊敬的'+obj.name+':', 40 * obj.ratio, 400 * obj.ratio);
 		context.fillText('衷心感谢您对鄂州市红十字事业的信任与支持', 100 * obj.ratio, 460 * obj.ratio);
 		context.fillText('!我们已收到您的捐款', 40 * obj.ratio, 515 * obj.ratio);
 		// 画横线
 		context.moveTo(340 * obj.ratio, 520 * obj.ratio);
 		context.lineTo(500 * obj.ratio, 520 * obj.ratio);
+		context.strokeStyle = '#d5493b'
 		context.stroke();
-		context.fillText('¥' + obj.money, 355 * obj.ratio, 512 * obj.ratio);
+		const moneyX = ((160 - (obj.money.length + 1) * 20) / 2 + 340) *obj.ratio
+		context.setTextAlign('center')
+		context.fillText('¥' + obj.money, 420 * obj.ratio, 512 * obj.ratio);
+		context.setTextAlign('left')
 		context.fillText('元。我们承诺,', 500 * obj.ratio, 515 * obj.ratio);
 		context.fillText('绝不辜负大家的信任,遵照您的意愿,将捐款全部', 40 * obj.ratio, 570 * obj.ratio);
 		context.fillText('用于相关救助项目。您的善举将给受助人带去温暖', 40 * obj.ratio, 625 * obj.ratio);
@@ -161,6 +166,9 @@ export default {
 	onLoad(option) {
 		console.log(333, option);
 		this.money = option.money;
+		if('name' in option){
+			this.name = option.name
+		}
 		this.IndexShare();
 		this.ScanAudio(true);
 	},

+ 0 - 401
pages/index/biaoge.vue

@@ -1,401 +0,0 @@
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="utf-8" />
-		<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
-		<script src="layui/layui.all.js"></script>
-		<link rel="stylesheet" href="layui/css/layui.css">
-		<title></title>
-	</head>
-	<body style="background-color: #96d1d9;width: 26cm;height: 11cm;margin: 0 auto;">
-		<div>
-      <span></span>
-      <div class="header" style="margin-top: 1cm;width: 24cm;">
-        <div class="img">
-          <img style="height: 3cm; width: 3cm;" src="{__FRAME_PATH}img/22.png" />
-        </div>
-        <div class="left">
-          <div style="font-size: 31px;letter-spacing:4px">鄂州市遗体捐献志愿者</div>
-          <!-- <div style="margin-top: 5px;text-align: center;font-size: 30px;">入会申请登记表</div> -->
-        </div>
-        <div class="img1">
-          <img src="{__FRAME_PATH}img/11.png" alt="" style="height: 2cm; width: 10.5cm;">
-        </div>
-       
-      </div>
-      <!-- <div class="img"></div> -->
-      <div class="header1" style="width: 21cm;">
-        <div class="box-1">
-          制表单位:鄂州市红十字会
-        </div>
-        <div class="box-2">
-          填表日期:
-        </div>
-        <div class="box-3">
-          &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;年 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;月&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;日
-        </div>
-        <!-- <div class="box-4">
-          
-        </div> -->
-        <div class="box-5">
-          <div>编号:&nbsp;&nbsp;YSQ-0{$arr.id}</div>
-          
-          
-        </div>
-      </div>
-      
-			<div style="margin:8px auto;">
-				<table class="table table-striped table-bordered" align="center" valign="center">
-					<tr>
-						<td class="value" colspan="16" style="width: 21cm;padding: 32px 12px;text-indent: 40px; text-align: left;line-height: 38px;">
-              遗体捐献是服务医疗事业,造福人类的高尚行为,是“人道、博爱、奉献”精神的崇高体现。我已了解遗体捐献的基本常识和有关政策法规。我自愿登记成为遗体捐献志愿者,身故后请执行人和所有亲属尊重我的决定。
-            </td>
-					</tr>
-					<tr>
-            <td class="column" >姓名</td>
-             <td class="value" colspan="2">{$arr.name}</td>
-           <td class="column" style="width: 1cm;">性别</td>
-						<td class="value" colspan="2">{$arr.sex}</td>
-            <td class="column" style="width: 2cm;">出生年月</td>
-						<td class="value" colspan="5">{$arr.birthday}</td>
-          <!--   <td  class="value"></td>
-            <td class="column" >性别</td>
-            <td class="value" colspan="1"></td>
-            <td class="column">民族</td>
-            <td class="value"></td>-->
-            <!-- <td class="value" rowspan="3"><img class="portrait" src="img/img04.png" /></td>   -->
-          </tr>
-          <tr> 
-            <td class="column">身份证号码</td>
-						<td class="value" colspan="5">{$arr.card}</td>
-
-            <td class="column" style="width: 2cm;">职业</td>
-            <td class="value" colspan="2">{$arr.occupation}</td>
-            <td class="column" style="width: 1.2cm;">学历</td>
-						<td class="value" colspan="2">{$arr.education}</td>
-
-          </tr>
-          <tr>
-            <!-- <td class="column">身份证号</td> -->
-              {if strpos($arr.remark,'全部遗体') !== false}
-              <td class="value" colspan="7">
-                  <div style="display: flex;align-items: center;justify-content: center;line-height: 38px;padding: 22px 0 0 0;">
-                      我自愿捐献全部遗体(含器官组织)<div style="width: 14px;height: 14px;border: 1px solid #333333;margin-right: 5px;">√</div>;
-                  </div>
-                  <div style="display: flex;align-items: center;justify-content: center;padding-bottom: 22px;">
-                      或只捐献眼角膜<div style="width: 14px;height: 14px;border: 1px solid #333333;margin-left: 5px;margin-right: 5px;line-height: 38px;"></div>;
-                  </div>
-              </td>
-              {else /}
-              <td class="value" colspan="7">
-                  <div style="display: flex;align-items: center;justify-content: center;line-height: 38px;padding: 22px 0 0 0;">
-                      我自愿捐献全部遗体(含器官组织)<div style="width: 14px;height: 14px;border: 1px solid #333333;margin-right: 5px;"></div>;
-                  </div>
-                  <div style="display: flex;align-items: center;justify-content: center;padding-bottom: 22px;">
-                      或只捐献眼角膜<div style="width: 14px;height: 14px;border: 1px solid #333333;margin-left: 5px;margin-right: 5px;line-height: 38px;">√</div>;
-                  </div>
-              </td>
-              {/if}
-            <!-- <td class="column" >联系电话</td> -->
-						<td class="value" colspan="5">
-              <div style="display: flex;align-items: center;justify-content: center;">
-                ( 请在选项<div style="width: 14px;height: 14px;border: 1px solid #333333;margin-right: 5px;margin-left: 5px;line-height: 38px;"></div>内打√ )
-                </div>
-            </td>
-
-          </tr>
-				</table>
-      </div>
-
-      <div style="margin:8px auto;margin-top: 6cm;">
-				<table class="table table-striped table-bordered" align="center" valign="center">
-					<tr>
-            <td class="column1" rowspan="2">联系电话</td>
-            <!-- <td class="value" >固定电话:</td> -->
-            <td class="value" colspan="1" style="width: 5.8cm;text-align: left;">固定电话:{$arr.tel}</td>
-
-            <!-- <td class="value" colspan="2" style="width: 140px;"></td> -->
-              <td class="value" rowspan="2"  colspan="14"style="width: 10cm;">
-                <div style="display: flex; justify-content:center;margin-left:1.8cm" >
-                  我指定
-                  <div style="border-bottom: 1px solid #333333; width: 3cm;display:flex;justify-content:center" >{$arr.zd_name}</div>为我的遗体捐献
-                </div>
-                <div style="text-align: left;line-height: 38px;display: flex;justify-content:center">执行人全权负责本人的遗体捐献事宜。</div>
-              </td>
-      
-						<!-- <td class="value" colspan="12"></td> -->
-						<!-- <td class="value" colspan="3">15079506035</td> -->
-          </tr>
-         
-          <tr>
-						<td class="value" colspan="1" style="width: 5.8cm;text-align: left;">移动电话:{$arr.phone}</td>
-						<!-- <td class="value" colspan="2" ></td> -->
-						<!-- <td class="value" colspan="3">15079506035</td> -->
-          </tr>
-         
-          <tr>
-						<td class="column1" >居住地址</td>
-            <td class="value" colspan="8">
-            {$arr.address}
-            </td>
-          </tr>
-          <tr>
-						<td class="column1" >捐献执行人</td>
-            <td class="value" colspan="4">{$arr.executor}</td>
-            <td class="column1" >身份证号</td>
-            <td class="value" colspan="4">{$arr.sfz}</td>
-          </tr>
-          <tr >
-            <td class="column1" rowspan="2" style="height: 3cm;">与捐献志愿者关系</td>
-            <td class="value" rowspan="2" colspan="4">{$arr.relation}</td>
-            <td class="column1" >移动电话:</td>
-             <td class="value" colspan="2">{$arr.n_phone}</td>
-          </tr>
-          <tr>
-            <!-- <td class="value" colspan="5"></td> -->
-            <td class="column1" >固定电话:</td>
-             <td class="value" colspan="2">{$arr.n_tel}</td>
-						<!-- <td class="value" colspan="3">15079506035</td> -->
-          </tr>
-          <tr>
-						<td class="column1" >市红十字会地址</td>
-            <td class="value" colspan="4">武汉市江岸区胜利路162号</td>
-            <td class="column1" >24小时捐献电话</td>
-            <td class="value" colspan="4">027-82812604</td>
-          </tr>
-				</table>
-      </div>
-      
-      <div class="footer">
-        我保证填写的以上信息准确真实,如发生变更或个人意愿发生变化时,及时告知登记机构。
-      </div>
-		</div>
-	</body>
-</html>
-<script type="text/javascript" src="./js/jquery.js"></script>
-<script>
-	//一般直接写在一个js文件中
-	layui.use(['layer', 'form'], function() {
-		var layer = layui.layer,
-			form = layui.form;
-		setTimeout(function() {
-			$("#EleId").hide();
-		}, 5000);
-	});
-</script>
-<style scoped="scoped">
-  .footer{
-    margin-top: 0.8cm;
-    width: 26cm;
-    text-align: center;
-    /* margin: 0 auto; */
-  }
-  .header{
-    width: 20cm;
-    margin: 0 auto;
-    margin-top: 2cm;
-    display: flex;
-    /* justify-content: center; */
-    align-items: center; 
-    margin-top: 25px;
-    color: #eb3223;
-    margin-bottom: 1cm;
-    letter: spacing 2;
-  }
-  .header .img{
- 
-    margin-left:1.24cm;
-    margin-right:0.3cm;
-    width: 3cm;
-    height: 3cm;
- 
-  }
-  .header .img1{
-   margin-left: 0.5cm; 
-  }
-  .header1{
-    font-size: 18px;
-    /* margin-top: 134px; */
-    width: 1080px;
-    /* height: 40px; */
-    margin: 0 auto;
-    display: flex;
-    /* justify-content: space-around; */
-  }
-  .header1 .box-2{
-    margin-left: 1.2cm;
-  }
-  .header1 .box-5{
-    display: flex;
-    margin-left: 1cm;
-    /* width: 200px; */
-    /* border-bottom: 1px solid #333; */
-  }
-  .header1 .box-5 .box-6{
-    width: 4.2cm;
-    border-bottom: 1px solid #333;
-  }
-	.table {
-		border-collapse: collapse;
-		border-spacing: 0;
-		background-color: transparent;
-		display: table;
-		max-width: 100%;
-		margin: 0 auto;
-	}
-	.table td {
-    height: 44px;
-		text-align: center;
-		vertical-align: middle;
-		font-size: 18px;
-		font-family: 'Arial Normal', 'Arial';
-		color: #333333;
-		padding: 4px 12px;
-	}
-
-	.table-bordered {
-		border: 1px solid #ddd;
-	}
-	* {
-		margin: 0px;
-		padding: 0px;
-	}
-  .info{
-    width: 800px;
-    margin: 0 auto;
-    display: flex;
-    justify-content: space-between;
-    margin-top: 12px;
-    font-size:16px;
-  }
-  .date{
-    display: flex;
-    justify-content: flex-end;
-  }
-  .gap{
-    display: block;
-    height: 4px;
-    width: 26px;
-  }
-	.column {
-		width: 2.5cm;
-		height: 30px;
-		border: 1px solid #333;
-		background: #ebc5ad;
-	}
-  .column1 {
-		width: 145px;
-		height: 25px;
-		border: 1px solid #333;
-		background: #ebc5ad;
-	}
-  .box{
-		border: 1px solid #333;
-
-  }
-  .column01{
-    width: 100px;
-		height: 15px;
-		border: 1px solid #333;
-		/* background: #f1f1f1; */
-  }
-  .checkbox{
-		width: 20px;
-		height: 15px;
-		border: 1px solid #333;
-
-
-    
-    /* justify-content: center; */
-  }
-  .box01{
-      margin-right: 3px;
-      margin-left: 3px;
-
-    }
-	.tpl{
-		width: 50px !important;
-		height: 15px;
-		border: 1px solid #333;
-		background: #f1f1f1;
-	}
-  .tpl01{
-    width: 50px !important;
-		height: 15px;
-		border: 1px solid #333;
-  }
-    .title{
-		font-size: 18px !important;
-		font-weight: bold;
-	}
-	.value {
-		width: 2cm;
-		height: 30px;
-		border: 1px solid #333;
-	}
-	.value1-tip{
-		border: 1px solid #333;
-	}
-    .value1{
-		width:110px;
-		display: inline-block;
-	}
-	.value9{
-			width:550px;
-		display: inline-block;
-		text-align: left;
-	}
-	.value2{
-		width:550px;
-		display: inline-block;
-		text-align: left;
-	}
-	.value3{
-		width:610px;
-		display: inline-block;
-		text-align: left;
-	}
-	.value4{
-		padding: 8px 0px;
-	}
-	.value5{
-		padding-right: 180px;
-		text-align: right;
-	}
-	.value6{
-		text-align: right;
-		padding: 8px 45px;
-	}
-	.value7{
-		text-align: right;
-		padding-right: 180px;
-		padding-top: 10px;
-	}
-	.value8{
-		text-align: right;
-		padding: 8px 45px;
-	}
-	.tp{
-		width: 60px;
-		display: inline-block;
-	}
-	
-	.cameraCheckBoxTop{
-		margin-right: 8px;
-		width: 15px;
-		height: 15px;
-	}
-	.portrait {
-		width: 100px;
-		height: 100px;
-	}
-	.button-dayin{
-		background-color: #FF0000;
-		color: #FFFFFF;
-		width: 200px;
-		padding: 20px 0px;
-		margin: 50px auto;
-		text-align: center;
-		font-size: 30px;
-	}
-</style>

+ 2 - 3
pages/index/index.vue

@@ -67,7 +67,7 @@
 			</view>
 		</view>
 
-		<view class="list-box">
+		<!-- <view class="list-box">
 			<view class="system-title"><top-title :title="'救护站'" @click="tolocation"></top-title></view>
 			<view id="container">
 				<map
@@ -99,9 +99,8 @@
 						</view>
 					</template>
 				</view>
-				<!-- <uni-load-more :status="loadingType"></uni-load-more> -->
 			</view>
-		</view>
+		</view> -->
 		<view class="list-box" style="margin-top: 20rpx;">
 			<view class="system-title"><top-title :title="'智能AED'" @click="tolocation"></top-title></view>
 			<view id="container">

+ 1 - 1
pages/train/index.vue

@@ -66,7 +66,7 @@ export default {
 					if (type === 'refresh') {
 						obj.list = [];
 					}
-					let arr = data.data
+					let arr = data.data.reverse()
 					obj.list = obj.list.concat(arr);
 					//判断是否还有下一页,有是more  没有是nomore
 					if (obj.limit == arr.length) {

+ 712 - 611
pages/train/sign.vue

@@ -1,613 +1,714 @@
-<template>
-	<view class="content">
-		<view class="team" v-if="!is_over">
-			<image class="top-image" :src="list.img"></image>
-		<!-- 	<view class="box">
-				<jyf-parser :html="description" ref="article"></jyf-parser>
-			</view> -->
-			<view class="top-title canten">报名</view>
-			<view class="sign-tip">完成信息填写,即可参加红十字会救护员培训</view>
-			<view class="form-box" v-if="type == 0">
-				<view class="label">姓名<text>*</text></view>
-				<input type="text" v-model="name" placeholder="请填写姓名" />
-				<view class="label">联系方式<text>*</text></view>
-				<input type="number" v-model="phone" placeholder="请输入联系方式" />
-				<view class="label">工作单位(选填)</view>
-				<input type="text" v-model="work" placeholder="请输入工作单位" />
-				<view class="label">地址<text>*</text></view>
-				<input type="text" v-model="addr" placeholder="请输入联系地址" />
-			</view>
-			<view class="form-box" v-if="type == 1">
-				<view class="label">企业名称<text>*</text></view>
-				<input type="text" v-model="company" placeholder="请填写企业名称" />
-				<view class="label">企业地址<text>*</text></view>
-				<input type="text" v-model="address" placeholder="请填写企业地址" />
-				<view class="label">负责人姓名<text>*</text></view>
-				<input type="text" v-model="companyName" placeholder="请填写负责人姓名" />
-				<view class="label">联系方式<text>*</text></view>
-				<input type="number" v-model="companyphone" placeholder="请输入联系方式" />
-				<view class="label">参加培训人数<text>*</text></view>
-				<input type="number" v-model="num" placeholder="请输入参加培训人数" />
-			</view>
-			<view class="top-title">报名</view>
-			<view class="text-box">
-				<view class="text">请参训学员在培训当天携带身份证复印件1张,一寸证件照2张。</view>
-				<view class="text"> 报名咨询电话:027-60229380</view>
-			</view>
-			<view class="submit" @click="submit">立即报名</view>
-		</view>
-		<view class="certificates" v-if='is_over'>
-			<canvas v-if="showcanvas" id="qrShareBox" canvas-id="qrShareBox" class="tki-qrcode-canvas" />
-			<image class="imgbox" v-else :src="img" mode=" aspectFill"></image>
-		</view>
-
-	</view>
-</template>
-<script>
-import { get_training, sign_training, detail_training} from '@/api/train.js';
-import jyfParser from "@/components/jyf-parser/jyf-parser";
-import {
-		weixindata,
-		weixinlocation
-	} from '@/utils/wxAuthorized.js';
-	import {
-		userinfo
-	} from '@/api/user.js';
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
-export default {
-	components: {
-	   jyfParser
-	 },
-	data() {
-		return {
-			is_over:1,
-			type:'',//0是个人报名,1是团体报名
-			id:'',
-			description:'',
-			list:'',
-			//个人
-			name:'',
-			phone:'',
-			addr:'',
-			work:'',
-			//团队
-			company:'',
-			address:'',
-			companyName:'',
-			companyphone:'',
-			num:'',
-			people:'鄂州市红十字会',
-			signDate:'',
-			loading: true, //是否载入图片中
-			size: 180,
-			ratio: 1, //页面比例用于计算
-			canHeight: '',
-			canWeidth: '',
-			url:'',
-			img:'',
-			showcanvas:true,
-			uid:''
-		};
-	},
-	onLoad(option) {
-		this.type = option.type;
-		this.id = option.id;
-		if(option.uid){
-			this.uid = option.uid;
-		}else{
-				this.uid = this.userInfo.uid;
-		}
-		this.IndexShare();
-		this.loadData();
-		detail_training({
-			id:this.id,
-			uid:this.uid
-		}).then(({data}) => {
-			console.log(999,data)
-			this.name = data.name
-			this.signDate = data.add_time
-			this.is_over = data.is_over
-		console.log(3,data.add_time)
-		let obj = this;
-		let name = obj.name
-		let signDate = obj.signDate
-			
-		function getRecTime(timestamp, fmt) {
-			let d = new Date(timestamp * 1000)
-				// f = fmt || 'yyyy/MM/dd', 
-			let	f = fmt || 'yyyy.MM.dd'
-			let	o = {
-					'M+': d.getMonth() + 1, //月份 
-					'd+': d.getDate(), //日 
-					'h+': d.getHours(), //小时 
-					'm+': d.getMinutes(), //分 
-					's+': d.getSeconds(), //秒 
-					'q+': Math.floor((d.getMonth() + 3) / 3), //季度 
-					'S': d.getMilliseconds() //毫秒 
-				};
-			if (/(y+)/.test(f)) {
-				f = f.replace(RegExp.$1, (d.getFullYear() + '').substr(4 - RegExp.$1.length));
-			}
-			for (let k in o) {
-				if (new RegExp('(' + k + ')').test(f)) {
-					f = f.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));
-				}
-			}
-			return f;
-			console.log(f)
-		}
-		let m = getRecTime(signDate)
-		let query = uni.createSelectorQuery();
-		console.log("---query---",query)
-		// this.loadData();
-		// 获取页面比例
-		query
-			.select('.certificates')
-			.fields({
-					size: true
-				},
-				e => {
-					console.log('获取页面比例',e)
-					// 保存比例
-					this.ratio = e.width / 750;
-				}
-			)
-			.exec();
-		// 获取画布宽高信息
-		query.select('#qrShareBox').fields(
-			{size: true},e => {
-				console.log('获取画布宽高信息',e)
-				obj.canHeight = e.height;
-				obj.canWeidth = e.width;
-			}).exec();
-			console.log('obj.canHeight',obj.canHeight)
-			console.log('obj.canWeidth',obj.canWeidth)
-		let ctxBg = '/index/static/img/graduation.png'; //画布背景
-		let src = '/index/static/icon/erweima.jpg' // 二维码
-		let context = uni.createCanvasContext('qrShareBox');
-		// 插入背景图片
-		context.drawImage(ctxBg, 0, 0, obj.canWeidth, obj.canHeight);
-		console.log('123',obj.ratio)
-		const codeSize = obj.size * obj.ratio; //计算二维码大小
-		const codeX = ((750 - obj.size) * obj.ratio) / 2; //二维码所在x轴位置
-		const codeY = 999 * obj.ratio; //二维码所在y轴位置
-		// console.log('二维码大小',codeSize)
-		// console.log('二维码所在x轴位置',codeX)
-		// console.log('二维码所在y轴位置',codeY)
-		const codeBoxColor = '#FFFFFF'; //包裹框颜色
-		const codeBoxWidht = 0; //包裹边框宽度
-		const codeBoxSize = (codeBoxWidht / 2) * obj.ratio; //计算二维码白色包裹框大小
-		const codeBoxX = codeX - codeBoxSize; //包裹框初始X轴
-		const codeBoxY = codeY - codeBoxSize; //包裹框初始Y轴
-		const codeBoxEnd = codeSize + codeBoxWidht * obj.ratio; //计算包裹框大小
-		const fontTop = codeY + codeBoxEnd + (codeBoxWidht + 20) * obj.ratio; //文字距离上边距高度
-		const fontSize = 24 * obj.ratio; //文字大小
-		const fontText = ''; //文字内容
-		const fontLeft = (codeSize - fontSize * fontText.length) / 2 + codeX; //文字左侧距离
-		// // 插入文字
-		context.setFontSize(32 * obj.ratio)
-		// 画横线
-		context.moveTo(90 * obj.ratio, 586 * obj.ratio)
-		context.lineTo(250 * obj.ratio, 586 * obj.ratio)
-		context.stroke();
-		
-		context.fillText(name, 110 * obj.ratio, 574 * obj.ratio)
-		context.fillText('先生/女士', 260 * obj.ratio, 580 * obj.ratio)
-		
-		context.setFontSize(31 * obj.ratio)
-		
-		context.fillText('您已完成鄂州市红十字会普及培训', 105 * obj.ratio, 670 * obj.ratio)
-		context.fillText('的全部课程,特发此证。', 105 * obj.ratio, 720 * obj.ratio)
-		context.setFontSize(22 * obj.ratio)
-		context.fillText('签发人:', 100 * obj.ratio, 800 * obj.ratio)
-		context.fillText('Siger:', 100 * obj.ratio, 830 * obj.ratio)
-		// 画横线
-		context.moveTo(180 * obj.ratio, 830 * obj.ratio)
-		context.lineTo(460 * obj.ratio, 830 * obj.ratio)
-		context.stroke()
-		context.fillText('签发日期:', 100 * obj.ratio, 880 * obj.ratio)
-		context.fillText('Issuer Date:', 100 * obj.ratio, 910 * obj.ratio)
-		context.setFontSize(26 * obj.ratio)
-		context.fillText(m, 275 * obj.ratio, 908 * obj.ratio)
-		context.fillText('鄂州市红十字会', 200 * obj.ratio, 820 * obj.ratio)
-		// 画横线
-		context.moveTo(230 * obj.ratio, 915 * obj.ratio)
-		context.lineTo(460 * obj.ratio, 915 * obj.ratio)
-		context.stroke()
-		// context.setFontSize(fontSize);
-		// context.fillText(fontText, fontLeft, fontTop);
-		
-		// 插入边框
-		context.beginPath();
-		context.setLineJoin('round'); //边框类型
-		context.setLineWidth(codeBoxWidht * obj.ratio);
-		context.setStrokeStyle(codeBoxColor); //设置包裹框颜色
-		context.strokeRect(codeBoxX, codeBoxY, codeBoxEnd, codeBoxEnd);
-		context.stroke();
-		// 插入二维码
-		console.log('插入二维码src',src)
-		context.drawImage(src, codeX, codeY, codeSize, codeSize);
-		context.draw(false,(e) => {
-			uni.canvasToTempFilePath({
-			  x: 0,
-			  y: 0,
-			  width: obj.canWeidth,
-			  height: obj.canHeight,
-			  destWidth: obj.canWeidth,
-			  destHeight: obj.canHeight,
-			  canvasId: 'qrShareBox',
-			  success: function(res) {
-					// uni.showModal({
-					// 	title:'zhi1'
-					// })
-			    // 在H5平台下,tempFilePath 为 base64
-					// console.log(res.tempFilePath)
-					obj.showcanvas = false;
-					obj.img = res.tempFilePath
-			  } 
-			})
-		})
-			})
-	},
-	onReady() {
-	
-	
-	},
-	computed: {
-		...mapState('user', ['hasLogin', 'userInfo'])
-	},
-	methods: {
-		...mapMutations('user', ['setUserInfo']),
-		// 分享
-		IndexShare() {
-			let obj = this;
-			let item = {
-				link:  'http://ez.igxys.com/index/#/pages/train/sign?type=' + obj.type + '&id=' + obj.id + '&uid=' + obj.userInfo.uid,// 分享链接
-				imgUrl: 'http://ez.igxys.com/index/static/img/002.png',
-				desc: '结业证书',
-				title: '鄂州市红十字会',
-			};
-			console.log('分享加',item)
-			weixindata(item);
-		},
-		async loadData() {
-			let obj = this;
-			console.log('当前is_over',obj.is_over)
-			if( obj.is_over == 1 ) {
-				let uid = obj.userInfo.uid
-				console.log(9090,uid)
-			}
-			get_training({
-				id:obj.id,
-				// uid:uid
-			}).then(({ data }) => {
-				obj.list = data;
-				console.log(9988,data)
-				if(obj.list.content != null){
-					obj.description = obj.list.content.replace(/<img/g,"<img style='max-width:100%;height:auto;'");
-				}
-			});
-		
-		},		
-		submit(){
-			let obj = this;
-			let data = {};
-			if(obj.type==0){
-				if(!obj.name){
-					obj.$api.msg('请填写姓名!');
-					return;
-				}
-				if(!obj.phone){
-					obj.$api.msg('请输入联系方式!');
-					return;
-				}
-				if(!obj.addr){
-					obj.$api.msg('请输入联系方式!');
-					return;
-				}
-				data={
-					name:obj.name,
-					work:obj.addr,
-					phone:obj.phone,
-					tid:obj.id,
-					type:0
-				}
-			}
-			if(obj.type==1){
-				if(!obj.company){
-					obj.$api.msg('请填写企业名称!');
-					return;
-				}
-				if(!obj.address){
-					obj.$api.msg('请填写企业地址!');
-					return;
-				}
-				if(!obj.companyName){
-					obj.$api.msg('请填写负责人姓名!');
-					return;
-				}
-				if(!obj.companyphone){
-					obj.$api.msg('请输入联系方式!');
-					return;
-				}
-				if(!obj.num){
-					obj.$api.msg('请输入参加培训人数!');
-					return;
-				}
-				data={
-					company:obj.company,
-					address:obj.address,
-					name:obj.companyName,
-					phone:obj.companyphone,
-					num:obj.num,
-					tid:obj.id,
-					type:1
-				}
-			}
-			sign_training(data).then(function(e) {
-				console.log(data.type)
-				let type = data.type
-				uni.setStorageSync('type', type)
-				obj.$api.msg(e.msg);
-				setTimeout(function(){ 
-					uni.navigateTo({
-						url:'/pages/train/index'
-					})
-				}, 1000);
-			}).catch(e => {
-				obj.$api.msg(e.message);
-				setTimeout(function(){
-					uni.navigateTo({
-						url:'/pages/train/index'
-					})
-				}, 1000);
-			});;
-			
-		},
-		getRecTime(timestamp, fmt) {
-			let d = new Date(timestamp * 1000),
-				// f = fmt || 'yyyy/MM/dd', 
-				f = fmt || 'yyyy.MM.dd hh:mm:ss',
-				o = {
-					'M+': d.getMonth() + 1, //月份 
-					'd+': d.getDate(), //日 
-					'h+': d.getHours(), //小时 
-					'm+': d.getMinutes(), //分 
-					's+': d.getSeconds(), //秒 
-					'q+': Math.floor((d.getMonth() + 3) / 3), //季度 
-					'S': d.getMilliseconds() //毫秒 
-				};
-			if (/(y+)/.test(f)) {
-				f = f.replace(RegExp.$1, (d.getFullYear() + '').substr(4 - RegExp.$1.length));
-			}
-			for (let k in o) {
-				if (new RegExp('(' + k + ')').test(f)) {
-					f = f.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));
-				}
-			}
-			return f;
-			console.log(f)
-		},
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: #FFFFFF;
-	width: 100%;
-	height: 100%;
-	.content {
-		height: 100%;
-	}
-}
-.box{
-	padding: 0rpx 25rpx;
-	width: 100%;
-}
-.top-image{
-	width: 100%;
-	height: 300rpx;
-}
-.top-title{
-	width: 100%;
-	text-align: center;
-	padding: 25rpx 0rpx;
-	font-size: 34rpx;
-	border-bottom:1rpx dashed #B5B5B5;
-}
-.canten{
-	text-align: center !important;
-}
-.addr{
-	color: #222222;
-	font-size: 28rpx;
-	padding: 25rpx 35rpx;
-}
-.text-box{
-	padding: 25rpx 25rpx;
-	padding-bottom: 0rpx !important;
-}
-.text{
-	color: #222222;
-	font-size: 28rpx;
-	padding-bottom: 15rpx;
-}
-.weixin-icon{
-	width: 100%;
-	text-align: center;
-	padding-top: 45rpx;
-	image{
-		width: 248rpx;
-		height: 248rpx;
-	}
-}
-.tip{
-	color: #222222;
-	font-size: 28rpx;
-	width: 100%;
-	text-align: center;
-	padding-bottom: 50rpx;
-}
-.sign-tip{
-	padding: 25rpx 0rpx;
-	text-align: center;
-	color: #222222;
-	font-size: 28rpx;
-}
-.form-box{
-	padding: 0rpx 35rpx;
-	.label{
-		font-size: 34rpx;
-		padding: 25rpx 0rpx;
-		text{
-			color: #E62129;
-			padding-left: 5rpx;
-		}
-	}
-	input{
-		font-size: 28rpx;
-		color: #222222;
-		border: 2rpx solid #979797;
-		padding: 0rpx 15rpx;
-		border-radius: 15rpx;
-		height: 80rpx;
-	}
-}
-.submit{
-	width: 70%;
-	margin: 0rpx auto;
-	margin-top: 80rpx;
-	margin-bottom: 80rpx;
-	padding: 25rpx 0;
-	text-align: center;
-	background-color: #E62129;
-	color: #FFFFFF;
-	font-size: 32rpx;
-	border-radius: 10rpx;
-}
-.grey{
-	background-color: #9B9B9B !important;
-}
-.certificates{
-	// padding: 24rpx;
-	width: 100%;
-	height: 100vh;
+<template>
+	<view class="content">
+		<view class="team" v-if="!is_over">
+			<image class="top-image" :src="list.img"></image>
+			<!-- 	<view class="box">
+				<jyf-parser :html="description" ref="article"></jyf-parser>
+			</view> -->
+			<view class="top-title canten">报名</view>
+			<view class="sign-tip">完成信息填写,即可参加红十字会救护员培训</view>
+			<view class="form-box" v-if="type == 0">
+				<view class="label">
+					姓名
+					<text>*</text>
+				</view>
+				<input type="text" v-model="name" placeholder="请填写姓名" />
+				<view class="label">
+					性别
+					<text>*</text>
+				</view>
+				<picker @change="bindPickerSex" :value="sex" :range="array" class="box-right">
+					<view class="placeholder" v-if="sex === ''">请输入您的性别</view>
+					<text>{{ sex }}</text>
+				</picker>
+				<view class="label">
+					身份证
+					<text>*</text>
+				</view>
+				<input type="text" v-model="card_id" placeholder="请填写身份证号" />
+				<view class="label">
+					联系方式
+					<text>*</text>
+				</view>
+				<input type="number" v-model="phone" placeholder="请输入联系方式" />
+				<view class="label">工作单位(选填)</view>
+				<input type="text" v-model="work" placeholder="请输入工作单位" />
+				<view class="label">
+					地址
+					<text>*</text>
+				</view>
+				<input type="text" v-model="addr" placeholder="请输入联系地址" />
+				<view class="upload-box">
+					<view class="label">
+						照片
+						<text>*</text>
+					</view>
+					<view class="upload-right">
+						<image :src="image" mode="" class="upload-img" @click.stop="imgsub" v-if="image"></image>
+						<image src="../../static/images/upload.png" class="upload-img" mode="" v-if="!image" @click.stop="imgsub"></image>
+					</view>
+				</view>
+			</view>
+			<view class="form-box" v-if="type == 1">
+				<view class="label">
+					企业名称
+					<text>*</text>
+				</view>
+				<input type="text" v-model="company" placeholder="请填写企业名称" />
+				<view class="label">
+					企业地址
+					<text>*</text>
+				</view>
+				<input type="text" v-model="address" placeholder="请填写企业地址" />
+				<view class="label">
+					负责人姓名
+					<text>*</text>
+				</view>
+				<input type="text" v-model="companyName" placeholder="请填写负责人姓名" />
+				<view class="label">
+					性别
+					<text>*</text>
+				</view>
+				<picker @change="bindPickerSex" :value="sex" :range="array" class="box-right">
+					<view class="placeholder" v-if="sex === ''">请输入负责人的性别</view>
+					<text>{{ sex }}</text>
+				</picker>
+				<view class="label">
+					身份证
+					<text>*</text>
+				</view>
+				<input type="text" v-model="card_id" placeholder="请填写负责人的身份证号" />
+				<view class="label">
+					联系方式
+					<text>*</text>
+				</view>
+				<input type="number" v-model="companyphone" placeholder="请输入联系方式" />
+				<view class="label">
+					参加培训人数
+					<text>*</text>
+				</view>
+				<input type="number" v-model="num" placeholder="请输入参加培训人数" />
+				<view class="upload-box">
+					<view class="label">
+						照片
+						<text>*</text>
+					</view>
+					<view class="upload-right">
+						<image :src="image" mode="" class="upload-img" @click.stop="imgsub" v-if="image"></image>
+						<image src="../../static/images/upload.png" class="upload-img" mode="" v-if="!image" @click.stop="imgsub"></image>
+					</view>
+				</view>
+			</view>
+			<view class="top-title">报名</view>
+			<view class="text-box">
+				<view class="text">请参训学员在培训当天携带身份证复印件1张,一寸证件照2张。</view>
+				<view class="text">报名咨询电话:027-60229380</view>
+			</view>
+			<view class="submit" @click="submit">立即报名</view>
+		</view>
+		<view class="certificates" v-if="is_over">
+			<canvas v-if="showcanvas" id="qrShareBox" canvas-id="qrShareBox" class="tki-qrcode-canvas" />
+			<image class="imgbox" v-else :src="img" mode=" aspectFill"></image>
+		</view>
+	</view>
+</template>
+<script>
+import { get_training, sign_training, detail_training } from '@/api/train.js';
+import jyfParser from '@/components/jyf-parser/jyf-parser';
+import { weixindata, weixinlocation } from '@/utils/wxAuthorized.js';
+import { userinfo } from '@/api/user.js';
+import { mapState, mapMutations } from 'vuex';
+import { upload } from '@/api/ask.js';
+export default {
+	components: {
+		jyfParser
+	},
+	data() {
+		return {
+			array: ['男', '女'],
+			is_over: 1,
+			type: '', //0是个人报名,1是团体报名
+			id: '',
+			description: '',
+			list: '',
+			//个人
+			name: '',
+			phone: '',
+			addr: '',
+			work: '',
+			//团队
+			company: '',
+			address: '',
+			companyName: '',
+			companyphone: '',
+			num: '',
+			people: '鄂州市红十字会',
+			signDate: '',
+			loading: true, //是否载入图片中
+			size: 180,
+			ratio: 1, //页面比例用于计算
+			canHeight: '',
+			canWeidth: '',
+			url: '',
+			img: '',
+			showcanvas: true,
+			uid: '',
+			sex: '',
+			card_id: '',
+			image: '',
+			cardId: '',
+			no:'',
+		};
+	},
+	onLoad(option) {
+		this.type = option.type;
+		this.id = option.id;
+		if (option.uid) {
+			this.uid = option.uid;
+		} else {
+			this.uid = this.userInfo.uid;
+		}
+		this.IndexShare();
+		this.loadData();
+		detail_training({
+				id:this.id,
+			}).then(({data}) => {
+				console.log(999,data)
+				this.name = data.name
+				this.signDate = data.add_time
+				this.is_over = data.is_over
+				this.cardId = data.card_id
+				this.no = data.no
+				if (data.sex == 0){
+					this.sex = '男'
+				}else if (data.sex == 1){
+					this.sex == '女'
+				}
+				this.image = data.img
+			console.log(3,data.add_time)
+			let obj = this;
+			let name = obj.name
+			let signDate = getRecTime(obj.signDate,'yyyy-MM-dd')
+		
+			function getRecTime(timestamp, fmt) {
+				let d = new Date(timestamp * 1000)
+					// f = fmt || 'yyyy/MM/dd', 
+				let	f = fmt || 'yyyy.MM.dd'
+				let	o = {
+						'M+': d.getMonth() + 1, //月份 
+						'd+': d.getDate(), //日 
+						'h+': d.getHours(), //小时 
+						'm+': d.getMinutes(), //分 
+						's+': d.getSeconds(), //秒 
+						'q+': Math.floor((d.getMonth() + 3) / 3), //季度 
+						'S': d.getMilliseconds() //毫秒 
+					};
+				if (/(y+)/.test(f)) {
+					f = f.replace(RegExp.$1, (d.getFullYear() + '').substr(4 - RegExp.$1.length));
+				}
+				for (let k in o) {
+					if (new RegExp('(' + k + ')').test(f)) {
+						f = f.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));
+					}
+				}
+				return f;
+				console.log(f)
+			}
+			let m = getRecTime(signDate)
+			let query = uni.createSelectorQuery();
+			// this.loadData();
+			// 获取页面比例
+			query
+				.select('.certificates')
+				.fields({
+						size: true
+					},
+					e => {
+						console.log('获取页面比例',e)
+						// 保存比例
+						this.ratio = e.width / 750;
+					}
+				)
+				.exec();
+			// 获取画布宽高信息
+			query
+				.select('#qrShareBox')
+				.fields({
+						size: true
+					},
+					e => {
+						console.log('获取画布宽高信息',e)
+						obj.canHeight = e.height;
+						obj.canWeidth = e.width;
+					}
+				)
+				.exec();
+			let ctxBg1 = '/index/static/img/graduation.jpg'
+			let ctxBg = '/index/static/img/graduationB.jpg'; //画布背景
+			let context = uni.createCanvasContext('qrShareBox');
+			// 插入背景图片
+			context.drawImage(ctxBg1, 0, 0, obj.canWeidth , 500*obj.ratio);
+			context.drawImage(obj.image, 60 * obj.ratio, 205 * obj.ratio,150*obj.ratio , 200*obj.ratio);
+			context.drawImage(ctxBg, 0, 640*obj.ratio, obj.canWeidth , 500*obj.ratio);
+			// // 插入文字
+			context.setFontSize(22 * obj.ratio);
+			context.fillText(obj.name,340 * obj.ratio,205 * obj.ratio)
+			context.fillText(obj.sex,540 * obj.ratio,205 * obj.ratio)
+			context.fillText(obj.cardId,370 * obj.ratio,280 * obj.ratio)
+			context.fillText(obj.no,370 * obj.ratio,345 * obj.ratio)
+			context.fillText(signDate,370 * obj.ratio,410 * obj.ratio)
+			context.fillText("三 年",560 * obj.ratio,410 * obj.ratio)
+			context.draw(false,(e) => {
+				uni.canvasToTempFilePath({
+				  x: 0,
+				  y: 0,
+				  width: obj.canWeidth,
+				  height: obj.canHeight,
+				  destWidth: obj.canWeidth,
+				  destHeight: obj.canHeight,
+				  canvasId: 'qrShareBox',
+				  success: function(res) {
+					  console.log(res)
+						// uni.showModal({
+						// 	title:'zhi1'
+						// })
+				    // 在H5平台下,tempFilePath 为 base64
+						// console.log(res.tempFilePath)
+						obj.showcanvas = false;
+						obj.img = res.tempFilePath
+				  } 
+				})
+			})
+			})
+		
+		},
+	onReady() {},
+	computed: {
+		...mapState('user', ['hasLogin', 'userInfo'])
+	},
+	methods: {
+		...mapMutations('user', ['setUserInfo']),
+		// 分享
+		IndexShare() {
+			let obj = this;
+			let item = {
+				link: 'http://ez.igxys.com/index/#/pages/train/sign?type=' + obj.type + '&id=' + obj.id + '&uid=' + obj.userInfo.uid, // 分享链接
+				imgUrl: 'http://ez.igxys.com/index/static/img/002.png',
+				desc: '结业证书',
+				title: '鄂州市红十字会'
+			};
+			console.log('分享加', item);
+			weixindata(item);
+		},
+		async loadData() {
+			let obj = this;
+			console.log('当前is_over', obj.is_over);
+			if (obj.is_over == 1) {
+				let uid = obj.userInfo.uid;
+				console.log(9090, uid);
+			}
+			get_training({
+				id: obj.id
+				// uid:uid
+			}).then(({ data }) => {
+				obj.list = data;
+				console.log(9988, data);
+				if (obj.list.content != null) {
+					obj.description = obj.list.content.replace(/<img/g, "<img style='max-width:100%;height:auto;'");
+				}
+			});
+		},
+		imgsub() {
+			console.log('imgsub');
+			upload({
+				filename: ''
+			}).then(data => {
+				this.image = data[0].url;
+			});
+		},
+		// 选择性别
+		bindPickerSex: function(e) {
+			console.log(this.array[e.target.value]);
+			this.sex = this.array[e.target.value];
+			this.index = e.target.value + 1;
+		},
+		submit() {
+			let obj = this;
+			let data = {};
+			if (obj.type == 0) {
+				if (!obj.name) {
+					obj.$api.msg('请填写姓名!');
+					return;
+				}
+				if (!obj.sex){
+					obj.$api.msg('请选择性别!');
+					return;
+				}
+				if (!obj.card_id){
+					obj.$api.msg('请输入身份证号!');
+					return;
+				}
+				let reg1 = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
+				if (!reg1.test(obj.card_id)) {
+					obj.$api.msg('请填写正确的身份证信息');
+					return;
+				}
+				if (!obj.phone) {
+					obj.$api.msg('请输入联系方式!');
+					return;
+				}
+				if (!obj.addr) {
+					obj.$api.msg('请输入联系地址!');
+					return;
+				}
+				if (!obj.image){
+					obj.$api.msg('请上传照片!');
+					return;
+				}
+				if( obj.sex == '男'){
+					obj.sex = 0
+				}else {
+					obj.sex = 1
+				}
+				data = {
+					name: obj.name,
+					work: obj.addr,
+					phone: obj.phone,
+					card_id: obj.card_id,
+					img: obj.image,
+					sex: obj.sex,
+					tid: obj.id,
+					type: 0
+				};
+			}
+			if (obj.type == 1) {
+				if (!obj.company) {
+					obj.$api.msg('请填写企业名称!');
+					return;
+				}
+				if (!obj.address) {
+					obj.$api.msg('请填写企业地址!');
+					return;
+				}
+				if (!obj.companyName) {
+					obj.$api.msg('请填写负责人姓名!');
+					return;
+				}
+				if (!obj.sex){
+					obj.$api.msg('请选择负责人性别!');
+					return;
+				}
+				if (!obj.card_id){
+					obj.$api.msg('请输入负责人身份证号!');
+					return;
+				}
+				let reg1 = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/;
+				if (!reg1.test(obj.card_id)) {
+					obj.$api.msg('请填写正确的身份证信息');
+					return;
+				}
+				if (!obj.companyphone) {
+					obj.$api.msg('请输入联系方式!');
+					return;
+				}
+				if (!obj.num) {
+					obj.$api.msg('请输入参加培训人数!');
+					return;
+				}
+				if (!obj.image){
+					obj.$api.msg('请上传照片!');
+					return;
+				}
+				data = {
+					company: obj.company,
+					address: obj.address,
+					name: obj.companyName,
+					phone: obj.companyphone,
+					num: obj.num,
+					card_id: obj.card_id,
+					img: obj.image,
+					sex: obj.sex,
+					tid: obj.id,
+					type: 1
+				};
+			}
+			sign_training(data)
+				.then(function(e) {
+					console.log(data.type);
+					let type = data.type;
+					uni.setStorageSync('type', type);
+					obj.$api.msg(e.msg);
+					setTimeout(function() {
+						uni.navigateTo({
+							url: '/pages/train/index'
+						});
+					}, 1000);
+				})
+				.catch(e => {
+					obj.$api.msg(e.message);
+					setTimeout(function() {
+						uni.navigateTo({
+							url: '/pages/train/index'
+						});
+					}, 1000);
+				});
+		},
+		getRecTime(timestamp, fmt) {
+			let d = new Date(timestamp * 1000),
+				// f = fmt || 'yyyy/MM/dd',
+				f = fmt || 'yyyy.MM.dd hh:mm:ss',
+				o = {
+					'M+': d.getMonth() + 1, //月份
+					'd+': d.getDate(), //日
+					'h+': d.getHours(), //小时
+					'm+': d.getMinutes(), //分
+					's+': d.getSeconds(), //秒
+					'q+': Math.floor((d.getMonth() + 3) / 3), //季度
+					S: d.getMilliseconds() //毫秒
+				};
+			if (/(y+)/.test(f)) {
+				f = f.replace(RegExp.$1, (d.getFullYear() + '').substr(4 - RegExp.$1.length));
+			}
+			for (let k in o) {
+				if (new RegExp('(' + k + ')').test(f)) {
+					f = f.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
+				}
+			}
+			return f;
+			console.log(f);
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: #ffffff;
+	width: 100%;
+	height: 100%;
+	.content {
+		height: 100%;
+	}
 }
-		.tki-qrcode-canvas {
-			// width: 700rpx;
-			// height: 1245rpx;
-			width: 750rpx;
-			// padding: 32rpx;
-			height: 1350rpx;
-			margin: 0 auto;
-		}
-	.bgimg{
-		width: 100%;
-		height: 100%;
-		image{
-			width: 100%;
-			height: 100%;
-		}
-	}
-	.box-mian{
-		
-			width: 100%;
-			height: 100%;
-			position: absolute;
-			padding:380rpx 94rpx 200rpx 94rpx;
-			color: #333;
-			left: 0;
-			top: 0;
-			display: flex;
-			flex-direction: column;
-			justify-content: center;
-			// align-items: center;
-			.name{
-				display: flex;
-				font-size: 32rpx;
-				.name-left{
-					text-align: center;
-					// padding: 0 24rpx;
-					width: 150rpx;
-					border-bottom: 2rpx solid #333;
-				}
-			}
-			.info{
-				margin-top: 68rpx;
-				text-indent: 64rpx;
-				line-height: 58rpx;
-			}
-			.signName{
-				margin-top: 32rpx;
-				display: flex;
-				.signName-left{
-					line-height: 34rpx;
-					.signName-1{
-						
-					}
-					.signName-2{
-						font-size: 28rpx;
-					}
-				}
-				.signName-right{
-					text-align: left;
-					// width: 100%;
-					padding: 0 12rpx;
-					margin-left: 12rpx;
-					
-					// width: 288rpx;
-					border-bottom: 2rpx solid #333;
-					// margin-bottom: 12rpx;
-					.list-input {
-						width: 100%;
-						padding: 0 12rpx;
-						height: 70rpx;
-						font-size: 32rpx;
-						text-align: left;
-						
-					}
-					.signDate{
-						display: flex;
-						align-items: center;
-					}
-				}
-			}
-			.signDate{
-				margin-top: 22rpx;
-				display: flex;
-				.signName-left{
-					line-height: 34rpx;
-					.signName-1{
-						
-					}
-					.signName-2{
-						font-size: 28rpx;
-					}
-				}
-				.signName-right{
-					text-align: left;
-					padding-left: 12rpx;
-					margin-left: 12rpx;
-					width: 288rpx;
-					border-bottom: 2rpx solid #333;
-					.list-input {
-						height: 70rpx;
-						font-size: 32rpx;
-						text-align: left;
-						
-					}
-					// margin-bottom: 12rpx;
-				}
-			}
-			// background-color: pink;
-		
-	}
-	.imgbox{
-		height: 1350rpx;
-		width:750rpx;
-	}
+.box {
+	padding: 0rpx 25rpx;
+	width: 100%;
+}
+.top-image {
+	width: 100%;
+	height: 300rpx;
+}
+.top-title {
+	width: 100%;
+	text-align: center;
+	padding: 25rpx 0rpx;
+	font-size: 34rpx;
+	border-bottom: 1rpx dashed #b5b5b5;
+}
+.canten {
+	text-align: center !important;
+}
+.addr {
+	color: #222222;
+	font-size: 28rpx;
+	padding: 25rpx 35rpx;
+}
+.text-box {
+	padding: 25rpx 25rpx;
+	padding-bottom: 0rpx !important;
+}
+.text {
+	color: #222222;
+	font-size: 28rpx;
+	padding-bottom: 15rpx;
+}
+.weixin-icon {
+	width: 100%;
+	text-align: center;
+	padding-top: 45rpx;
+	image {
+		width: 248rpx;
+		height: 248rpx;
+	}
+}
+.tip {
+	color: #222222;
+	font-size: 28rpx;
+	width: 100%;
+	text-align: center;
+	padding-bottom: 50rpx;
+}
+.sign-tip {
+	padding: 25rpx 0rpx;
+	text-align: center;
+	color: #222222;
+	font-size: 28rpx;
+}
+.form-box {
+	padding: 0rpx 35rpx;
+	.label {
+		font-size: 34rpx;
+		padding: 25rpx 0rpx;
+		text {
+			color: #e62129;
+			padding-left: 5rpx;
+		}
+	}
+	input {
+		font-size: 28rpx;
+		color: #222222;
+		border: 2rpx solid #979797;
+		padding: 0rpx 15rpx;
+		border-radius: 15rpx;
+		height: 80rpx;
+	}
+}
+.submit {
+	width: 70%;
+	margin: 0rpx auto;
+	margin-top: 80rpx;
+	margin-bottom: 80rpx;
+	padding: 25rpx 0;
+	text-align: center;
+	background-color: #e62129;
+	color: #ffffff;
+	font-size: 32rpx;
+	border-radius: 10rpx;
+}
+.grey {
+	background-color: #9b9b9b !important;
+}
+.certificates {
+	// padding: 24rpx;
+	width: 100%;
+	height: 100vh;
+}
+.tki-qrcode-canvas {
+	// width: 700rpx;
+	// height: 1245rpx;
+	width: 750rpx;
+	// padding: 32rpx;
+	height: 1350rpx;
+	margin: 0 auto;
+}
+.bgimg {
+	width: 100%;
+	height: 100%;
+	image {
+		width: 100%;
+		height: 100%;
+	}
+}
+.box-mian {
+	width: 100%;
+	height: 100%;
+	position: absolute;
+	padding: 380rpx 94rpx 200rpx 94rpx;
+	color: #333;
+	left: 0;
+	top: 0;
+	display: flex;
+	flex-direction: column;
+	justify-content: center;
+	// align-items: center;
+	.name {
+		display: flex;
+		font-size: 32rpx;
+		.name-left {
+			text-align: center;
+			// padding: 0 24rpx;
+			width: 150rpx;
+			border-bottom: 2rpx solid #333;
+		}
+	}
+	.info {
+		margin-top: 68rpx;
+		text-indent: 64rpx;
+		line-height: 58rpx;
+	}
+	.signName {
+		margin-top: 32rpx;
+		display: flex;
+		.signName-left {
+			line-height: 34rpx;
+			.signName-1 {
+			}
+			.signName-2 {
+				font-size: 28rpx;
+			}
+		}
+		.signName-right {
+			text-align: left;
+			// width: 100%;
+			padding: 0 12rpx;
+			margin-left: 12rpx;
+
+			// width: 288rpx;
+			border-bottom: 2rpx solid #333;
+			// margin-bottom: 12rpx;
+			.list-input {
+				width: 100%;
+				padding: 0 12rpx;
+				height: 70rpx;
+				font-size: 32rpx;
+				text-align: left;
+			}
+			.signDate {
+				display: flex;
+				align-items: center;
+			}
+		}
+	}
+	.signDate {
+		margin-top: 22rpx;
+		display: flex;
+		.signName-left {
+			line-height: 34rpx;
+			.signName-1 {
+			}
+			.signName-2 {
+				font-size: 28rpx;
+			}
+		}
+		.signName-right {
+			text-align: left;
+			padding-left: 12rpx;
+			margin-left: 12rpx;
+			width: 288rpx;
+			border-bottom: 2rpx solid #333;
+			.list-input {
+				height: 70rpx;
+				font-size: 32rpx;
+				text-align: left;
+			}
+			// margin-bottom: 12rpx;
+		}
+	}
+	// background-color: pink;
+}
+.imgbox {
+	height: 1350rpx;
+	width: 750rpx;
+}
+.upload-right {
+		flex: 1;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+
+		.upload-img {
+			width: 160rpx;
+			height: 160rpx;
+			margin-top: 24rpx;
+		}
+	}
+	.box-right{
+		font-size: 28rpx;
+		color: #222222;
+		border: 2rpx solid #979797;
+		padding: 0rpx 15rpx;
+		border-radius: 15rpx;
+		height: 80rpx;
+		line-height: 80rpx;
+	}
 </style>

BIN
static/img/graduation.jpg


BIN
static/img/graduationB.jpg


+ 5 - 1
unpackage/dist/build/h5/index.html

@@ -1,2 +1,6 @@
 <!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>鄂州市红十字会</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
-            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.d0f128df.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.2822841a.js></script><script src=/index/static/js/index.306e5f39.js></script></body></html>
+<<<<<<< HEAD
+            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.d0f128df.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.2822841a.js></script><script src=/index/static/js/index.306e5f39.js></script></body></html>
+=======
+            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.d0f128df.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.bd4ed141.js></script><script src=/index/static/js/index.a8e14cf4.js></script></body></html>
+>>>>>>> ee4b4dec311ad050999fc0eb5d70d5758473efb0

BIN
unpackage/dist/build/h5/static/img/graduation.jpg


BIN
unpackage/dist/build/h5/static/img/graduationB.jpg


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/chunk-vendors.bd4ed141.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/index.a8e14cf4.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-appliSystem.36771764.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-appliSystem.fccff09e.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-applic.af2c001e.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-chooseAddress.03dd38c5.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-chooseAddress.e9800a99.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-commonaddress.4d81d4e9.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-commonaddress.7cdc8848.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-contribution.58a4c634.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-contribution~pages-applic-helprecords~pages-applic-location~pages-applic-rescuerecords~~e1a799d0.67831425.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-contribution~pages-applic-helprecords~pages-applic-location~pages-applic-rescuerecords~~e1a799d0.da795d9f.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-donaSuccess.659860f8.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-donaSuccess.e3ed4de9.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-helprecords.3c2c2c29.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-helprecords~pages-applic-rescuerecords.2be6a1e7.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-helprecords~pages-applic-rescuerecords~pages-category-search~pages-form-certificates~pa~95f4ddf5.4a6577b7.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-helprecords~pages-applic-rescuerecords~pages-category-search~pages-form-certificates~pa~95f4ddf5.f58205b1.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-info.6b0254b5.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-info.e59983ec.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-item.6f4ce2f8.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-item.bb5e0a46.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-know.5b480e14.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-location.7d10d56d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-location.ffbec3cb.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-love.4b96c850.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-love.9123adc0.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-other.4a3d8c06.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-perSign.0be5abf6.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-register.b6e6f877.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-register.c3fa5400.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-rescuerecords.e92e3c59.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-science.13414eea.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-teamSign.52324747.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-toOrgan.0a6da803.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-toOrgan.d3cd8ed8.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-tocontrilist.62255864.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-tocontrilist.aa039331.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-tohelpActi.5b0249fa.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-tohelpActi.e1d4d263.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-toknowledge.0698b978.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-applic-toknowledge.1479a46b.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-cart-cart.4410eb3c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-category-category.78e9fd94.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-category-search.85f62179.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-applicationForm.48b2f6e2.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-certificates.932659b5.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-certificates.cc6d2138.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-certificatesList.62f192f6.js


+ 1 - 0
unpackage/dist/build/h5/static/js/pages-form-demo.17646bb3.js

@@ -0,0 +1 @@
+(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-form-demo"],{"4b44":function(t,n,e){"use strict";e.r(n);var r=e("8adb"),a=e("d46f");for(var i in a)"default"!==i&&function(t){e.d(n,t,(function(){return a[t]}))}(i);var u,c=e("f0c5"),o=Object(c["a"])(a["default"],r["b"],r["c"],!1,null,null,null,!1,r["a"],u);n["default"]=o.exports},"8adb":function(t,n,e){"use strict";var r;e.d(n,"b",(function(){return a})),e.d(n,"c",(function(){return i})),e.d(n,"a",(function(){return r}));var a=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-uni-view",[e("v-uni-canvas",{staticStyle:{width:"750px",height:"200px"},attrs:{"canvas-id":"firstCanvas",id:"firstCanvas"}})],1)},i=[]},d316:function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r={onReady:function(t){var n=uni.createCanvasContext("firstCanvas");n.setStrokeStyle("#00ff00"),n.setLineWidth(5),n.rect(0,0,200,200),n.stroke(),n.draw()},methods:{canvasIdErrorCallback:function(t){console.error(t.detail.errMsg)}}};n.default=r},d46f:function(t,n,e){"use strict";e.r(n);var r=e("d316"),a=e.n(r);for(var i in r)"default"!==i&&function(t){e.d(n,t,(function(){return r[t]}))}(i);n["default"]=a.a}}]);

+ 0 - 1
unpackage/dist/build/h5/static/js/pages-form-demo.6fe2c7ec.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-form-demo"],{1534:function(t,n,e){"use strict";e.r(n);var r=e("3dcb"),a=e("339e");for(var i in a)"default"!==i&&function(t){e.d(n,t,(function(){return a[t]}))}(i);var u,c=e("f0c5"),f=Object(c["a"])(a["default"],r["b"],r["c"],!1,null,null,null,!1,r["a"],u);n["default"]=f.exports},"339e":function(t,n,e){"use strict";e.r(n);var r=e("85ff"),a=e.n(r);for(var i in r)"default"!==i&&function(t){e.d(n,t,(function(){return r[t]}))}(i);n["default"]=a.a},"3dcb":function(t,n,e){"use strict";var r;e.d(n,"b",(function(){return a})),e.d(n,"c",(function(){return i})),e.d(n,"a",(function(){return r}));var a=function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("v-uni-view",[e("v-uni-canvas",{staticStyle:{width:"750px",height:"200px"},attrs:{"canvas-id":"firstCanvas",id:"firstCanvas"}})],1)},i=[]},"85ff":function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r={onReady:function(t){var n=uni.createCanvasContext("firstCanvas");n.setStrokeStyle("#00ff00"),n.setLineWidth(5),n.rect(0,0,200,200),n.stroke(),n.draw()},methods:{canvasIdErrorCallback:function(t){console.error(t.detail.errMsg)}}};n.default=r}}]);

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-donaSuccess.492b2559.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-donaSuccess.f7b80f5f.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-donateList.4f3dc72d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-donateList.ad7b3dfe.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-donateLove.067f6487.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-donateLove.70d8583c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-myDonate.9bf85168.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-myDonate.bdfac014.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-tovolApply.1e11e919.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-tovolApply.f4e34b18.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-form-tovolApplyDemo.3ae82b94.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-index.f8146f4b.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-joinSuc-joinNow.cda6d371.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-joinSuc-joinNow.e9fe7873.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-joinSuc-joinSuc.0d70f302.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-joinSuc-joinSuc.a538c3ce.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-login-login.42a82a58.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-login-register.12cce97c.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-login-register.54bc0da9.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-loverecord-loverecord.5b3fbd05.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-loverecord-loverecord.f054ad7d.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-public-wxLogin.b08c1aa4.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-public-wxLogin.dabf6765.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-redirect-redirect.0206da91.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-redirect-redirect.04f73784.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-train-index.a7b07f78.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-train-sign.9a57e95a.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-train-sign.ab71d5fc.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-user-user.0f21e121.js


Vissa filer visades inte eftersom för många filer har ändrats