hwq %!s(int64=3) %!d(string=hai) anos
pai
achega
33fe560a45
Modificáronse 9 ficheiros con 385 adicións e 747 borrados
  1. 12 3
      api/index.js
  2. 2 2
      api/train.js
  3. 5 5
      pages/applic/science.vue
  4. 66 256
      pages/form/applicationForm.vue
  5. 18 12
      pages/form/tovolApply.vue
  6. 72 14
      pages/train/index.vue
  7. 210 455
      pages/train/sign.vue
  8. BIN=BIN
      static/img/people.png
  9. BIN=BIN
      static/img/time.png

+ 12 - 3
api/index.js

@@ -82,15 +82,24 @@ export function joinSec(data) {
 		data
 	});
 }
-// joinSecc 器官捐赠
+//  器官捐赠
 export function joinSecc(data) {
 	return request({
-		url: '/api/add_donation',
+		url: '/api/donate/apply',
 		method: 'post',
 		data
 	});
 }
 
+//捐献类目
+export function donate_ify(data) {
+	return request({
+		url:'/api/donate/ify',
+		method:'get',
+		data
+	})
+}
+
 // 获取定位
 export function getdis(data) {
 	return request({
@@ -111,7 +120,7 @@ export function tocall(data) {
 // 救护培训报名 
 export function training(data) {
 	return request({
-		url: '/api/training',
+		url: '/api/training/lst',
 		method: 'get',
 		data
 	});

+ 2 - 2
api/train.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 //救护培训系详情
 export function get_training(data) {
 	return request({
-		url: '/api/get_training',
+		url: '/api/training/view',
 		method: 'get',
 		data
 	});
@@ -19,7 +19,7 @@ export function detail_training(data) {
 //救护培训报名
 export function sign_training(data) {
 	return request({
-		url: '/api/sign_training',
+		url: '/api/training/apply',
 		method: 'post',
 		data
 	});

+ 5 - 5
pages/applic/science.vue

@@ -12,7 +12,7 @@
 		</view>
 		<view class="list-box" v-for="(item,index) in science" :key='index' @click="Jump(item.id)">
 			<view class="box-left">
-				<image :src="item.image_input[0]" mode="" class="left-img"></image>
+				<image :src="item.image" mode="" class="left-img"></image>
 			</view>
 			<view class="box-right">
 				<view class="right-top word1_ellipsis">
@@ -42,7 +42,7 @@
 			}
 		},
 		onLoad() {
-		this.loadData();
+			this.loadData();
 		},
 		// onReachBottom() {
 		// 	this.loadData()
@@ -70,9 +70,9 @@
 			},
 			loadData(){
 				let obj = this;
-				getArticList({},1).then(({ data }) => {
-					console.log(data);
-					obj.science = data.list;
+				getArticList({ifyid:1}).then(({ data }) => {
+					console.log(data,123456);
+					obj.science = obj.science.concat(data);
 					console.log(obj.science,'999999999999999999')
 				});
 			},

+ 66 - 256
pages/form/applicationForm.vue

@@ -5,10 +5,10 @@
 			<view class="info-box">我自愿登记成为遗体器官捐献志愿者,自愿无偿捐献:</view>
 			<view class="uni-list">
 				<radio-group class="radio-box" @change="radioChange">
-					<label v-for="(item, index) in items" :key="item.name">
+					<label v-for="(item, index) in items" :key="item.id">
 						<label class="radio">
 							{{ item.name }}
-							<radio :checked="index === current" color="#E62129" style="transform:scale(0.5)" :value="item.name" />
+							<radio :checked="index === current" color="#E62129" style="transform:scale(0.5)" :value="item.id+''" />
 							<text></text>
 						</label>
 					</label>
@@ -23,14 +23,14 @@
 			</view>
 			<view class="box-1">
 				<view class="box-left">出生年月</view>
-				<picker mode="date" :value="birthday" fields="month" :start="startDate" :end="endDate" @change="bindDateChange" class="box-right">
+				<picker mode="date" :value="birthday" :start="startDate" :end="endDate" @change="bindDateChange" class="box-right">
 					<view>{{ birthday }}</view>
 				</picker>
 			</view>
 			<view class="box-1">
 				<view class="box-left">性别</view>
 				<picker @change="bindPickerSex" :value="index" :range="array" class="box-right">
-					<text>{{ sex }}</text>
+					<text>{{ sex == '0' ? '男' : sex == '1' ? '女' : sex }}</text>
 				</picker>
 			</view>
 			<view class="box-1">
@@ -53,28 +53,27 @@
 			</view>
 		</view>
 
-		<view class="top" >
+		<view class="top">
 			<view class="title">个人声明</view>
-			<view class="info-box">
-				遗体器官捐献是服务医疗事业,造福人类的高尚行为,是“人道、博爱、奉献”精神的崇高体现,我已了解遗体器官捐献的基本常识和有关政策法规。</view>
+			<view class="info-box">遗体器官捐献是服务医疗事业,造福人类的高尚行为,是“人道、博爱、奉献”精神的崇高体现,我已了解遗体器官捐献的基本常识和有关政策法规。</view>
 			<view class="info-box" style="padding-top: 0;">我自愿登记成为遗体器官捐献志愿者,自愿无偿捐献:</view>
 			<view class="uni-list" style="display: block;">
 				<checkbox-group v-if="type == '人体器官' && ready" @change="checkAllClick" style="padding-left: 50rpx;">
 					<label class="checkbox">
-						<checkbox :checked="checkAll.type" color="#E62129" style="transform:scale(0.6);margin: 0;padding: 0;" :value="checkAll.name" />{{checkAll.name}}
+						<checkbox :checked="checkAll.type" color="#E62129" style="transform:scale(0.6);margin: 0;padding: 0;" :value="checkAll.name" />
+						{{ checkAll.name }}
 					</label>
 				</checkbox-group>
 				<view style="display: flex;">
-					<view class="" v-if="type == '人体器官'" style="width: 50rpx;">
-						或:
-					</view>
+					<view class="" v-if="type == '人体器官'" style="width: 50rpx;">或:</view>
 					<checkbox-group v-if="type == '人体器官'" style="display: inline-block;width: 600rpx;" @change="checkboxChange">
 						<label class="checkbox" v-for="item in apparatus" :key="item.name">
-							<checkbox :checked="item.type" color="#E62129" style="transform:scale(0.6);margin: 0;padding: 0;" :value="item.name" />{{ item.name }}
+							<checkbox :checked="item.type" color="#E62129" style="transform:scale(0.6);margin: 0;padding: 0;" :value="item.name" />
+							{{ item.name }}
 						</label>
 					</checkbox-group>
 				</view>
-				
+
 				<view class="font">请执行人和所有亲属尊重我的决定。</view>
 			</view>
 		</view>
@@ -100,14 +99,13 @@
 				</view>
 			</view>
 		</view>
-		
+
 		<view class="buttomBox"><view class="buttom" :class="{ action: loding }" @click="!loding ? join() : ''">提交申请</view></view>
 	</view>
 </template>
 
 <script>
-import { joinSecc } from '@/api/index.js';
-import { getList } from '@/api/index.js';
+import { joinSecc, getList, donate_ify } from '@/api/index.js';
 import { upload } from '@/api/ask.js';
 export default {
 	data() {
@@ -121,54 +119,10 @@ export default {
 			type: '',
 			loding: false, //是否提交中
 			array: ['男', '女'],
-			chooseEdu: ['博士后', '博士', '硕士', '本科', '专科', '其他'],
+			chooseEdu: ['小学以下', '小学', '初中', '高中/中专', '大专/本科', '硕士', '博士', '博士后'],
 			chooseVol: ['是', '否'],
 			chooseExp: ['是', '否'],
-			items: [
-				{
-					name: '人体器官'
-				},
-				{
-					name: '眼角膜'
-				},
-				{
-					name: '遗体捐献'
-				}
-			],
-			checkAll: {
-				name: '全部器官',
-				type: false
-			},
-			apparatus: [
-				{
-					name: '肾脏',
-					type: false
-				},
-				{
-					name: '肝脏',
-					type: false
-				},
-				{
-					name: '心脏',
-					type: false
-				},
-				{
-					name: '肺脏',
-					type: false
-				},
-				{
-					name: '胰腺',
-					type: false
-				},
-				{
-					name: '小肠',
-					type: false
-				},
-				{
-					name: '其他',
-					type: false
-				}
-			],
+			items: [],
 			remark: '',
 			current: '',
 			index: 0,
@@ -181,17 +135,15 @@ export default {
 			card: '',
 			occupation: '',
 			education: '请选择你的文化程度',
+			educationid: '',
 			phone: '',
-			executor: '',//执行人名字
+			executor: '', //执行人名字
 			relation: '', //执行人关系
 			n_phone: '', //执行人电话
 			sfz: '', //执行人身份证号
 			Getchecked: false,
 			Getcheckeds: false,
 			address: '',
-			mail: '',
-			weixin: '',
-			major: '',
 			work: '',
 			other: '',
 			friendOnename: '',
@@ -214,185 +166,42 @@ export default {
 			return this.getDate('end');
 		}
 	},
+	onLoad() {
+		donate_ify().then(e => {
+			this.items = e.data;
+		});
+	},
 	methods: {
 		async join() {
-			let obj = this;
-			if (obj.type == '') {
-				obj.$api.msg('请选择你要捐献的器官');
-				return;
-			}
-			if (obj.name == '') {
-				obj.$api.msg('请输入您的姓名');
-				return;
-			}
-			if (obj.birth == '请选择你的出生年月') {
-				obj.$api.msg('请选择出生年月');
-				return;
-			}
-			if (obj.sex == '请选择你的性别') {
-				obj.$api.msg('请输入您的性别');
-				return;
-			}
-			if (obj.education == '请选择你的文化程度') {
-				obj.$api.msg('请选择您的文化程度');
-				return;
-			}
-			if (obj.card == '') {
-				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)) {
-				obj.$api.msg('请填写正确的身份证号');
-				return;
-			}
-			if (obj.phone == '') {
-				obj.$api.msg('请填写您的移动电话');
-				return;
-			}
-			const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
-			if (!reg.test(obj.phone)) {
-				obj.$api.msg('请填写正确的移动电话');
-				return;
-			}
-			if (obj.specialty == '') {
-				obj.$api.msg('请填写您的职业/职务');
-				return;
-			}
-				console.log(obj.remark,'1111');
-				if(obj.type == '眼角膜') {
-					obj.remark = '眼角膜'
-				}
-				if (obj.remark == '') {
-					obj.$api.msg('请选择要捐献的器官');
-					return;
-				}
-				if(obj.executor == '') {
-					obj.$api.msg('请填写执行人姓名');
-					return;
-				}
-				if (obj.relation == '') {
-					obj.$api.msg('请填写亲属身份');
-					return;
-				}
-				if (obj.sfz == '') {
-					obj.$api.msg('请填写亲属身份证号');
-					return;
-				}
-				// if (obj.Getcheckeds != true) {
-				// 	this.$api.msg('请阅读并同意入库!');
-				// 	return;
-				// }
-				if (obj.n_phone == '') {
-					obj.$api.msg('请填写亲属联系电话');
-					return;
-				}
-			obj.loding = true;
-			obj.body(1)
-		},
-		//器官捐献
-		body(item){
-			const obj = this;
+			const obj = this
 			joinSecc({
-				name: obj.name,
-				sex: obj.sex,
-				education: obj.education,
-				birthday: obj.birthday,
-				card: obj.card,
-				occupation: obj.occupation,
-				remark: obj.remark,
-				phone: obj.phone,
-				executor: obj.executor,
-				relation: obj.relation,
-				sfz: obj.sfz,
-				n_phone: obj.n_phone,
-				// other: obj.other //其他器官
+				full_name: obj.name, //姓名
+				sex: obj.sex, //性别0男1女
+				birthday: obj.birthday, //生日
+				id_card: obj.card, //身份证号
+				vocation: obj.occupation, //职业
+				education: obj.educationid, //学历
+				category_ids: obj.type, //捐献类型
+				mobile: obj.phone, //移动电话
+				executor: obj.executor, //捐献执行人
+				executor_id_card: obj.sfz, //执行人身份证号
+				executor_mobile: obj.n_phone, //执行人移动电话
+				executor_relation: obj.relation //执行人关系
 			})
-			.then(e => {
-				console.log(e,"2322222222222222222222222222222222222222")
-				if(e.status == 400){
-					console.log(e.msg);
-					this.$api.msg("你已报名成功,不可重复报名")
-				}else {
-					// obj.name = '';
+				.then(e => {
+					console.log(e, '2322222222222222222222222222222222222222');
+
+					obj.name = '';
 					obj.sex = '请选择你的性别';
 					obj.education = '请选择你的文化程度';
 					obj.birth = '请选择你的出生年月';
-					(obj.mz = ''), (obj.phone = '');
-					obj.address = '';
-					obj.work = '';
-					obj.specialty = '';
-					(obj.cardimg = ''), (obj.card = '');
-					obj.mail = '';
-					(obj.weixin = ''), (obj.major = '');
-					
+					obj.executor = '';
+					obj.sfz = '';
+					obj.n_phone = '';
+					obj.relation = '';
 					uni.navigateTo({
 						url: '../joinSuc/joinNow'
 					});
-				}
-			})
-			.catch(function(e) {
-				console.log('出错了');
-				console.log(e);
-			});
-		},
-		//造血干细胞捐献
-		bloud() {
-			const obj = this;
-			getList({
-				name: obj.name,
-				sex: obj.sex,
-				education: obj.education, //文化程度
-				birthday: obj.birthday,
-				card: obj.card, //身份证号
-				cardimg: obj.cardimg, //照片
-				occupation: obj.occupation, //职业或职务
-				phone: obj.phone,
-				address: obj.address, //地址
-				mail: obj.mail, // 邮箱
-				weixin: obj.weixin, //微信
-				major: obj.major, //专业或专长
-				work: obj.work, // 工作单位
-				friendOnename: obj.friendOnename, //亲友一的姓名
-				friendOnerelation: obj.friendOnerelation, //亲友一与全赠者的关系
-				friendOnephone: obj.friendOnephone, //亲友一的手机号
-				friendOneweixin: obj.friendOneweixin, //亲友一的微信号
-				friendOneaddress: obj.friendOneaddress, //亲友一的地址
-				friendTwoname: obj.friendTwoname, //亲友二的姓名
-				friendTworelation: obj.friendTworelation, //亲友二与全赠者的关系
-				friendTwophone: obj.friendTwophone, //亲友二的手机号
-				friendTwoweixin: obj.friendTwoweixin, //亲友二的微信号
-				friendTwoaddress: obj.friendTwoaddress //亲友二的地址
-			})
-				.then(e => {
-					console.log(e,"22222222222222222222222")
-					if(e.status == 400){
-						console.log(e.msg);
-						this.$api.msg("你已报名成功,不可重复报名")
-					}else {
-						// obj.name = '';
-						console.log(e,'ddddddddddddddddddddddddddd')
-						obj.name = '';
-						obj.sex = '';
-						obj.education = '';
-						obj.birthday = '';
-						obj.card = '';
-						obj.occupation = '';
-						obj.add_time = '';
-						obj.phone = '';
-						obj.tel = '';
-						obj.zd_name = '';
-						obj.address = '';
-						obj.exexutor = '';
-						obj.sfz = '';
-						obj.relation = '';
-						obj.n_phone = '';
-						obj.n_tel = '';
-						uni.navigateTo({
-							url: '../joinSuc/joinNow'
-						});
-					}
-					
 				})
 				.catch(function(e) {
 					console.log('出错了');
@@ -409,14 +218,14 @@ export default {
 		},
 		// 选择性别
 		bindPickerSex: function(e) {
-			this.sex = this.array[e.target.value];
+			this.sex = e.target.value;
 			this.index = e.target.value + 1;
 		},
 		// 选择教育程度
 		bindPickerEdu: function(e) {
 			this.education = this.chooseEdu[e.target.value];
-			// console.log('选择选择教育程度',this.education)
-			this.index = e.target.value + 1;
+			this.educationid = e.target.value;
+			console.log(this.educationid);
 		},
 		// 选择日期
 		bindDateChange: function(e) {
@@ -443,7 +252,8 @@ export default {
 		radioChange: function(evt) {
 			console.log('选择捐献', evt);
 			for (let i = 0; i < this.items.length; i++) {
-				if (this.items[i].name === evt.detail.value) {
+				console.log(this.items[i].id,evt.detail.value)
+				if (this.items[i].id == evt.detail.value) {
 					this.type = evt.detail.value;
 					console.log('this.type', this.type);
 					this.current = i;
@@ -451,7 +261,7 @@ export default {
 					break;
 				}
 			}
-			if(this.type == '遗体捐献'){
+			if (this.type == '遗体捐献') {
 				this.remark = '遗体捐献';
 				this.all = true;
 			}
@@ -464,7 +274,7 @@ export default {
 			if (obj.remark != ' ') {
 				obj.remark = '';
 			}
-			console.log(e,"`11111")
+			console.log(e, '`11111');
 			obj.remark = e.detail.value.join(',');
 			console.log(obj.remark);
 			obj.all = true;
@@ -473,9 +283,9 @@ export default {
 		checkboxChange(e) {
 			const obj = this;
 			obj.all = false;
-			this.checkAll.type = false
-			this.reload()
-			if(obj.remark != ''){
+			this.checkAll.type = false;
+			this.reload();
+			if (obj.remark != '') {
 				if (obj.remark.indexOf('all') != -1) {
 					obj.remark = '';
 				}
@@ -542,23 +352,23 @@ export default {
 			this.speciali = item.detail.value.join(',');
 		},
 		reload() {
-			this.ready = false
-			this.$nextTick(function(){
-				this.ready = true
-			})
+			this.ready = false;
+			this.$nextTick(function() {
+				this.ready = true;
+			});
 		},
 		checkAllClick(e) {
-			let obj = this
-			console.log(e.detail.value[0])
-			if(e.detail.value[0]) {
-				this.remark = e.detail.value[0]
+			let obj = this;
+			console.log(e.detail.value[0]);
+			if (e.detail.value[0]) {
+				this.remark = e.detail.value[0];
 				for (let i = 0; i < obj.apparatus.length; i++) {
 					obj.apparatus[i].type = false;
 				}
-			}else {
-				this.remark = ''
+			} else {
+				this.remark = '';
 			}
-			console.log(this.remark)
+			console.log(this.remark);
 		}
 	}
 };
@@ -839,4 +649,4 @@ page {
 .placeholder {
 	line-height: 66rpx;
 }
-</style>
+</style>

+ 18 - 12
pages/form/tovolApply.vue

@@ -34,7 +34,7 @@
 					<text class="imp">*</text>
 					
 				</view>
-				<picker mode="date" :value="birth" fields="month" :start="startDate" :end="endDate" @change="bindDateChange">
+				<picker mode="date" :value="birth" :start="startDate" :end="endDate" @change="bindDateChange">
 					<view class="box-right">{{ birth }}</view>
 				</picker>
 			</view>
@@ -393,7 +393,7 @@ export default {
 					name: '有'
 				},
 				{
-					id: '2',
+					id: '0',
 					name: '无'
 				}
 			],
@@ -454,7 +454,7 @@ export default {
 				obj.$api.msg('请输入您的姓名');
 				return;
 			}
-			if (obj.sex == '') {
+			if (obj.sex === '') {
 				obj.$api.msg('请输入您的性别');
 				return;
 			}
@@ -477,20 +477,24 @@ export default {
 			// }
 			// /^(^[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 (obj.checked1 == '') {
+			if (obj.checked1 === '') {
 				obj.$api.msg('请选择有无服务经验');
 				return;
 			}
-			if (obj.checked == '') {
+			if (obj.checked === '') {
 				obj.$api.msg('请选择是否接受过志愿者服务');
 				return;
 			}
-			if (obj.cardimg == '') {
-				obj.$api.msg('请上传您的证件');
+			// if (obj.cardimg == '') {
+			// 	obj.$api.msg('请上传您的证件');
+			// 	return;
+			// }
+			if (!obj.start_hour){
+				this.$api.msg('请选择开始时间!');
 				return;
 			}
-			if (!obj.quantum) {
-				this.$api.msg('请选择时间段!');
+			if (!obj.end_hour){
+				this.$api.msg('请选择结束时间!');
 				return;
 			}
 			if (!obj.dates) {
@@ -515,7 +519,7 @@ export default {
 			// 	return;
 			// }
 
-			obj.loding = true;
+			// obj.loding = true;
 			add_volunteers({
 				name: obj.name,//姓名
 				phone: obj.phone,//手机号
@@ -531,13 +535,14 @@ export default {
 				is_experience: obj.checked1,//有无工作经验
 				start_hour: obj.start_hour,
 				end_hour: obj.end_hour,
-				date: obj.dates,//星期几
+				work_week: obj.dates,//星期几
 				taste: obj.taste,//有兴趣参与的工作
 				taste_title: obj.worksText, //工作其他
 				speciali: obj.speciali,//专长
 				speciali_title: obj.expertiseText,//其他专长
 			})
 				.then(e => {
+					obj.loding = false;
 					obj.sex = '请选择你的性别';
 					obj.education = '请选择教育程度';
 					obj.birth = '请选择你的生日';
@@ -548,6 +553,7 @@ export default {
 				.catch(function(e) {
 					console.log('出错了');
 					console.log(e);
+					obj.loding = false;
 				});
 		},
 		imgsub() {
@@ -556,7 +562,7 @@ export default {
 				filename: ''
 			}).then(data => {
 				console.log(data,'2222')
-				this.cardimg = data[0].url;
+				this.cardimg = data[0].fullurl;
 			});
 		},
 		// 选择性别

+ 72 - 14
pages/train/index.vue

@@ -5,14 +5,43 @@
 		</view> -->
 		<swiper class="swiper-box" duration="300" @change="changeTab">
 			<swiper-item class="tab-content">
-				<scroll-view class="list-scroll-content" scroll-y >
+				<scroll-view class="list-scroll-content" scroll-y>
 					<!-- 空白页 -->
 					<empty v-if="loadingType === true && list.length === 0"></empty>
 					<!-- 订单列表 -->
-					<view class="order-item" @click="ToDetail(item)" v-for="(item, index) in list" :key="index" v-if="item.project_area == 0">
+					<view class="order-item" @click="ToDetail(item)" v-for="(item, index) in list" :key="index">
 						<view class="list-cell">
-							<image class="image" :src="item.img"></image>
+							<image class="image" :src="baseURL + item.image"></image>
 							<view class="list-tpl">{{ item.title }}</view>
+							<view class="list-tip">{{ item.info }}</view>
+							<view class="info-box">
+								<view class="list-info">
+									<image src="../../static/img/time.png" mode=""></image>
+									<view class="list-font">
+										开始时间:{{ item.reg_start }}
+									</view>
+								</view>
+								<view class="list-info">
+									<image src="../../static/img/time.png" mode=""></image>
+									<view class="list-font">
+										结束时间:{{ item.reg_end }}
+									</view>
+								</view>
+								<view class="flex">
+									<view class="list-info" style="width: 50%;">
+										<image src="../../static/img/people.png" mode=""></image>
+										<view class="list-font">
+											当前报名人数:{{ item.number }}
+										</view>
+									</view>
+									<view class="list-info" style="width: 50%;">
+										<image src="../../static/img/people.png" mode=""></image>
+										<view class="list-font">
+											最大报名人数:{{ item.max_number || 0 }}
+										</view>
+									</view>
+								</view>
+							</view>
 						</view>
 					</view>
 				</scroll-view>
@@ -25,6 +54,7 @@ import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 import empty from '@/components/empty';
 import uniPopup from '@/components/uni-popup/uni-popup.vue';
 import { training } from '@/api/index.js';
+import { mapState, mapMutations } from 'vuex';
 export default {
 	components: {
 		uniLoadMore,
@@ -36,11 +66,14 @@ export default {
 			page: 1, //当前页数
 			limit: 6, //每次信息条数
 			list: [],
-			loadingType: 'more', //加载更多状态
+			loadingType: 'more' //加载更多状态
 		};
 	},
+	computed: {
+		...mapState(['baseURL'])
+	},
 	onLoad() {
-		console.log(22)
+		console.log(22);
 		this.loadData();
 	},
 	methods: {
@@ -66,8 +99,10 @@ export default {
 					if (type === 'refresh') {
 						obj.list = [];
 					}
-					let arr = data.data
+					data.data.forEach(item => {});
+					let arr = data.data;
 					obj.list = obj.list.concat(arr);
+					console.log(obj.list, 123456);
 					//判断是否还有下一页,有是more  没有是nomore
 					if (obj.limit == arr.length) {
 						obj.page++;
@@ -96,7 +131,7 @@ export default {
 			let type = e.type;
 			let id = e.id;
 			uni.navigateTo({
-				url: '/pages/train/sign?type=' + type+'&id='+id
+				url: '/pages/train/sign?id=' + id
 			});
 		}
 	}
@@ -105,14 +140,14 @@ export default {
 
 <style lang="scss">
 page {
-	background: #F2F2F2;
+	background: #f2f2f2;
 	height: 100%;
 	padding-bottom: 25rpx;
 }
 .container {
 	height: 100%;
-	.top{
-		background-color: #FFFFFF;
+	.top {
+		background-color: #ffffff;
 		height: 88rpx;
 		display: flex;
 		align-items: center;
@@ -122,9 +157,9 @@ page {
 		color: #333333;
 	}
 	.swiper-box {
-		height:100%;
+		height: 100%;
 		.list-scroll-content {
-			height:100%;
+			height: 100%;
 		}
 	}
 }
@@ -176,11 +211,34 @@ page {
 		}
 		.list-tpl {
 			padding: 25rpx 25rpx;
-			padding-bottom: 35rpx !important;
+			padding-bottom: 0rpx !important;
 			font-size: 34rpx;
 			color: #222222;
-			font-weight:500;
+			font-weight: 500;
+		}
+		.list-tip {
+			padding: 10rpx 25rpx 35rpx;
+			font-size: 24rpx;
+			color: #b4b4b4;
+		}
+		.info-box {
+			padding: 0 25rpx 35rpx;
+			.list-info {
+				margin-top: 10rpx;
+				display: flex;
+				justify-content: flex-start;
+				align-items: center;
+				image{
+					width: 24rpx;
+					height: 24rpx;
+				}
+				.list-font {
+					margin-left: 6rpx;
+					font-size: 24rpx;
+				}
+			}
 		}
+		
 	}
 }
 </style>

+ 210 - 455
pages/train/sign.vue

@@ -1,475 +1,236 @@
 <template>
 	<view class="content">
-		<view class="team" v-if="!is_over">
-			<image class="top-image" :src="list.img"></image>
+		<view class="team">
+			<image class="top-image" :src="baseURL + list.image"></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>
+			<view class="form-box">
+				<view class="label">
+					姓名/企业姓名
+					<text>*</text>
+				</view>
 				<input type="text" v-model="name" placeholder="请填写姓名" />
-				<view class="label">联系方式<text>*</text></view>
+				<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>
+				<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-box" v-html="description">
 				<view class="text">请参训学员在培训当天携带身份证复印件1张,一寸证件照2张。</view>
-				<view class="text"> 报名咨询电话:0716-4163849</view>
+				<view class="text">报名咨询电话:0716-4163849</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 { 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
-	 },
+		jyfParser
+	},
 	data() {
 		return {
-			is_over:1,
-			type:'',//0是个人报名,1是团体报名
-			id:'',
-			description:'',
-			list:'',
+			id: '',
+			description: '',
+			list: '',
 			//个人
-			name:'',
-			phone:'',
-			addr:'',
-			work:'',
+			name: '',
+			phone: '',
 			//团队
-			company:'',
-			address:'',
-			companyName:'',
-			companyphone:'',
-			num:'',
-			people:'神农架林区红十字会',
-			signDate:'',
-			loading: true, //是否载入图片中
-			size: 180,
-			ratio: 1, //页面比例用于计算
-			canHeight: '',
-			canWeidth: '',
-			url:'',
-			img:'',
-			showcanvas:true,
-			uid:''
+			num: '',
+			size: 180
 		};
 	},
 	onLoad(option) {
 		this.type = option.type;
 		this.id = option.id;
-		if(option.uid){
+		if (option.uid) {
 			this.uid = option.uid;
-		}else{
-				this.uid = this.userInfo.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 = 'static/img/graduation.png'; //画布背景
-		let src = '/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.setTextAlign('center')
-		context.fillText(name, 170 * obj.ratio, 574 * obj.ratio)
-		context.setTextAlign('left')
-		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('签发人:', 300 * obj.ratio, 800 * obj.ratio)
-		context.fillText('Siger:', 300 * obj.ratio, 830 * obj.ratio)
-		// 画横线
-		context.moveTo(380 * obj.ratio, 830 * obj.ratio)
-		context.lineTo(660 * obj.ratio, 830 * obj.ratio)
-		context.stroke()
-		context.fillText('签发日期:', 300 * obj.ratio, 880 * obj.ratio)
-		context.fillText('Issuer Date:', 300 * obj.ratio, 910 * obj.ratio)
-		context.setFontSize(26 * obj.ratio)
-		context.fillText(m, 475 * obj.ratio, 908 * obj.ratio)
-		context.fillText('神农架林区红十字会', 440 * obj.ratio, 820 * obj.ratio)
-		// 画横线
-		context.moveTo(430 * obj.ratio, 915 * obj.ratio)
-		context.lineTo(660 * 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() {
-	
-	
 	},
+	onReady() {},
 	computed: {
-		...mapState('user', ['hasLogin', 'userInfo'])
+		...mapState('user', ['hasLogin', 'userInfo']),
+		...mapState(['baseURL'])
 	},
 	methods: {
 		...mapMutations('user', ['setUserInfo']),
 		// 分享
-		IndexShare() {
-			let obj = this;
-			let item = {
-				link:  'http://slj.igxys.com/index/#/pages/train/sign?type=' + obj.type + '&id=' + obj.id + '&uid=' + obj.userInfo.uid,// 分享链接
-				imgUrl: '/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,
+				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;'");
+				console.log(9988, obj.list);
+				if (obj.list.content != null) {
+					obj.description = obj.list.content.replace(/<img/g, "<img style='max-width:100%;height:auto;'");
 				}
 			});
-		
-		},		
-		submit(){
+		},
+		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.name) {
+				obj.$api.msg('请填写姓名/企业名!');
+				return;
 			}
-			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
-				}
+			if (!obj.phone) {
+				obj.$api.msg('请输入联系方式!');
+				return;
+			}
+			if (!obj.num) {
+				obj.$api.msg('请输入培训人数!');
+				return;
 			}
-			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);
-			});;
-			
+			data = {
+				training_id:obj.id,
+				name: obj.name,
+				Phone: obj.phone,
+				num:obj.num
+			};
+			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',
 				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() //毫秒 
+					'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)));
+					f = f.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length));
 				}
 			}
 			return f;
-			console.log(f)
-		},
+			console.log(f);
+		}
 	}
 };
 </script>
 
 <style lang="scss">
 page {
-	background: #FFFFFF;
+	background: #ffffff;
 	width: 100%;
 	height: 100%;
 	.content {
 		height: 100%;
 	}
 }
-.box{
+.box {
 	padding: 0rpx 25rpx;
 	width: 100%;
 }
-.top-image{
+.top-image {
 	width: 100%;
 	height: 300rpx;
 }
-.top-title{
+.top-title {
 	width: 100%;
 	text-align: center;
 	padding: 25rpx 0rpx;
 	font-size: 34rpx;
-	border-bottom:1rpx dashed #B5B5B5;
+	border-bottom: 1rpx dashed #b5b5b5;
 }
-.canten{
+.canten {
 	text-align: center !important;
 }
-.addr{
+.addr {
 	color: #222222;
 	font-size: 28rpx;
 	padding: 25rpx 35rpx;
 }
-.text-box{
+.text-box {
 	padding: 25rpx 25rpx;
 	padding-bottom: 0rpx !important;
 }
-.text{
+.text {
 	color: #222222;
 	font-size: 28rpx;
 	padding-bottom: 15rpx;
 }
-.weixin-icon{
+.weixin-icon {
 	width: 100%;
 	text-align: center;
 	padding-top: 45rpx;
-	image{
+	image {
 		width: 248rpx;
 		height: 248rpx;
 	}
 }
-.tip{
+.tip {
 	color: #222222;
 	font-size: 28rpx;
 	width: 100%;
 	text-align: center;
 	padding-bottom: 50rpx;
 }
-.sign-tip{
+.sign-tip {
 	padding: 25rpx 0rpx;
 	text-align: center;
 	color: #222222;
 	font-size: 28rpx;
 }
-.form-box{
+.form-box {
 	padding: 0rpx 35rpx;
-	.label{
+	.label {
 		font-size: 34rpx;
 		padding: 25rpx 0rpx;
-		text{
-			color: #E62129;
+		text {
+			color: #e62129;
 			padding-left: 5rpx;
 		}
 	}
-	input{
+	input {
 		font-size: 28rpx;
 		color: #222222;
 		border: 2rpx solid #979797;
@@ -478,137 +239,131 @@ page {
 		height: 80rpx;
 	}
 }
-.submit{
+.submit {
 	width: 70%;
 	margin: 0rpx auto;
 	margin-top: 80rpx;
 	margin-bottom: 80rpx;
 	padding: 25rpx 0;
 	text-align: center;
-	background-color: #E62129;
-	color: #FFFFFF;
+	background-color: #e62129;
+	color: #ffffff;
 	font-size: 32rpx;
 	border-radius: 10rpx;
 }
-.grey{
-	background-color: #9B9B9B !important;
+.grey {
+	background-color: #9b9b9b !important;
 }
-.certificates{
+.certificates {
 	// padding: 24rpx;
 	width: 100%;
 	height: 100vh;
 }
-		.tki-qrcode-canvas {
-			// width: 700rpx;
-			// height: 1245rpx;
-			width: 750rpx;
-			// padding: 32rpx;
-			height: 1350rpx;
-			margin: 0 auto;
-		}
-	.bgimg{
+.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%;
-		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;
 		}
 	}
-	.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 {
 			}
-			.info{
-				margin-top: 68rpx;
-				text-indent: 64rpx;
-				line-height: 58rpx;
+			.signName-2 {
+				font-size: 28rpx;
 			}
-			.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;
-					}
-				}
+		}
+		.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{
-				margin-top: 22rpx;
+			.signDate {
 				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;
-				}
+				align-items: center;
 			}
-			// background-color: pink;
-		
+		}
 	}
-	.imgbox{
-		height: 1350rpx;
-		width:750rpx;
+	.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;
+}
 </style>

BIN=BIN
static/img/people.png


BIN=BIN
static/img/time.png