Explorar o código

对接学院/新闻

yangzj %!s(int64=3) %!d(string=hai) anos
pai
achega
40aeabb1c1
Modificáronse 37 ficheiros con 1513 adicións e 948 borrados
  1. 9 3
      h5_web/common/apiurl.js
  2. 0 1
      h5_web/common/config.js
  3. 12 4
      h5_web/common/http.api.js
  4. 36 7
      h5_web/pages.json
  5. 23 0
      h5_web/pages/applyEducationCode/applyEducationCode.scss
  6. 79 10
      h5_web/pages/applyEducationCode/applyEducationCode.vue
  7. 152 169
      h5_web/pages/mine/mine.scss
  8. 86 88
      h5_web/pages/mine/mine.vue
  9. 22 8
      h5_web/pages/myDelivery/myDelivery.scss
  10. 83 0
      h5_web/pages/myResume/addEducation.vue
  11. 76 0
      h5_web/pages/myResume/addExperience.vue
  12. 265 316
      h5_web/pages/myResume/myResume.scss
  13. 69 66
      h5_web/pages/myResume/myResume.vue
  14. 49 12
      h5_web/pages/newsDetails/newsDetails.vue
  15. 32 31
      h5_web/pages/newsInformation/newsInformation.vue
  16. 2 2
      h5_web/pages/personalModify/personalModify.vue
  17. 1 1
      h5_web/pages/phoneLogin/phoneLogin.vue
  18. 92 0
      h5_web/pages/professionalDetails/professionalDetails.vue
  19. 137 0
      h5_web/pages/progressiveIntegral/progressiveIntegral.scss
  20. 103 5
      h5_web/pages/progressiveIntegral/progressiveIntegral.vue
  21. 108 33
      h5_web/pages/schoolDetails/schoolDetails.vue
  22. 0 156
      h5_web/pages/schools/schools - 副本.vue
  23. 77 36
      h5_web/pages/schools/schools.vue
  24. BIN=BIN
      h5_web/static/img/add-experience-icon.png
  25. BIN=BIN
      h5_web/static/img/avatar-bg.png
  26. BIN=BIN
      h5_web/static/img/edit-icon.png
  27. BIN=BIN
      h5_web/static/img/jianlitongguo.png
  28. BIN=BIN
      h5_web/static/img/jinengx.png
  29. BIN=BIN
      h5_web/static/img/mianshi-houxuanren.png
  30. BIN=BIN
      h5_web/static/img/mine-bg.png
  31. BIN=BIN
      h5_web/static/img/pingjia.png
  32. BIN=BIN
      h5_web/static/img/priority-feedback-icon.png
  33. BIN=BIN
      h5_web/static/img/priority-recommendation-icon.png
  34. BIN=BIN
      h5_web/static/img/priority-shift-icon.png
  35. BIN=BIN
      h5_web/static/img/progressive-integral-bg.png
  36. BIN=BIN
      h5_web/static/img/shezhi.png
  37. BIN=BIN
      h5_web/static/img/toudimoren.png

+ 9 - 3
h5_web/common/apiurl.js

@@ -46,9 +46,15 @@ const apiurl = {
 	signOfflineUrl: '/adaptTrainOffline/sign',
 	// 根据身份证号读取信息
 	getIdInfoUrl: '/veteEduc/idcard/',
-	// 合作学校分页数据
-	getSchoolListUrl: '/school/list',
-
+	// 学院模块
+	school: {
+		// 合作学校分页数据
+		getSchoolListUrl: '/school/list',
+		// 获取学院详情
+		getSchoolDetailsUrl: '/school/getDetail/',
+		// 获取专业详情
+		getProfessonDetailsUrl: '/school/getProfessonDetail/'
+	}
 }
 
 export {

+ 0 - 1
h5_web/common/config.js

@@ -1,7 +1,6 @@
 /**
  * 配置通用 
  */
-// console.log('process.env.NODE_ENV',process.env.NODE_ENV);
 let base = '';
 if(process.env.NODE_ENV=="development"){
 	base = 'https://wx.hw.hongweisoft.com/veterans/app';

+ 12 - 4
h5_web/common/http.api.js

@@ -23,7 +23,7 @@ const install = (Vue, vm) => {
 	// 军人认证
 	let veteEduc = (params = {}) => vm.$u.post(apiurl.veteEducUrl, params);
 	// 认证状态查询
-	let getVeteEducCheck = (params = {}) => vm.$u.get(apiurl.veteEducCheckUrl,params);
+	let getVeteEducCheck = (params = {}) => vm.$u.get(apiurl.veteEducCheckUrl, params);
 	//我的认证申请
 	let getVeteEducData = (params = {}) => vm.$u.get(apiurl.veteEducUrl,params);
 	// 我的详细信息
@@ -50,8 +50,16 @@ const install = (Vue, vm) => {
 	let postSignOffline = (params = {}) => vm.$u.post(apiurl.signOfflineUrl, params);
 	// 根据身份证号读取信息
 	let getIdInfo = (params = {}) => vm.$u.get(apiurl.getIdInfoUrl+params.id);
-	// 合作学校分页数据
-	let getSchoolList = (params = {}) => vm.$u.get(apiurl.getSchoolListUrl, params);
+	
+	// 学院模块
+	let school = {
+		// 获取学院分页数据
+		getSchoolList: (params = {}) => vm.$u.get(apiurl.school.getSchoolListUrl, params),
+		// 通过学院id获取详情
+		getSchoolDetails: (params = {}) => vm.$u.get(apiurl.school.getSchoolDetailsUrl + params.id),
+		// 通过专业id获取专业详情
+		getProfessonDetails: (params = {}) => vm.$u.get(apiurl.school.getProfessonDetailsUrl + params.id)
+	}
 	
 	
 	// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
@@ -79,7 +87,7 @@ const install = (Vue, vm) => {
 		postSignOffline,
 		getAdaptTrainIdOffline,
 		getIdInfo,
-		getSchoolList
+		school
 	};
 }
 

+ 36 - 7
h5_web/pages.json

@@ -53,7 +53,9 @@
 		}, {
 			"path": "pages/newsDetails/newsDetails",
 			"style": {
-				"navigationBarTitleText": "文章详情"
+				"navigationBarTitleText": "新闻详情",
+				"navigationBarBackgroundColor": "#3D5D4C",
+				"navigationBarTextStyle": "white"
 			}
 
 		},
@@ -132,11 +134,26 @@
 			"style": {
 				"navigationBarTitleText": "简历",
 				"enablePullDownRefresh": false,
-				"navigationBarBackgroundColor": "#2a82e4",
+				"navigationBarBackgroundColor": "#3D5D4C",
 				"navigationBarTextStyle": "white"
 			}
-
 		}, {
+			"path": "pages/myResume/addExperience",
+			"style": {
+				"navigationBarTitleText": "添加工作经历",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/myResume/addEducation",
+			"style": {
+				"navigationBarTitleText": "添加培训与教育经历",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
 			"path": "pages/dynamicTracking/dynamicTracking",
 			"style": {
 				"navigationBarTitleText": "全链条动态跟踪",
@@ -148,7 +165,8 @@
 			"style": {
 				"navigationBarTitleText": "个人资料修改",
 				"enablePullDownRefresh": false,
-				"navigationBarBackgroundColor": "#fff"
+				"navigationBarBackgroundColor": "#3D5D4C",
+				"navigationBarTextStyle": "white"
 			}
 
 		}, {
@@ -164,7 +182,8 @@
 			"style": {
 				"navigationBarTitleText": "我的投递",
 				"enablePullDownRefresh": false,
-				"navigationBarBackgroundColor": "#fff"
+				"navigationBarBackgroundColor": "#3D5D4C",
+				"navigationBarTextStyle": "white"
 			}
 
 		}, {
@@ -199,7 +218,8 @@
 			"path": "pages/progressiveIntegral/progressiveIntegral",
 			"style": {
 				"navigationBarTitleText": "进步积分",
-				"enablePullDownRefresh": false
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
 			}
 
 		}, {
@@ -272,6 +292,15 @@
 				"navigationBarBackgroundColor": "#fff"
 			}
 
+		}, {
+			"path": "pages/professionalDetails/professionalDetails",
+			"style": {
+				"navigationBarTitleText": "专业详情",
+				"enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#3D5D4C",
+				"navigationBarTextStyle": "white"
+			}
+
 		}
 	],
 	"globalStyle": {
@@ -299,7 +328,7 @@
 			"pagePath": "pages/mine/mine",
 			"iconPath": "static/icons/mine-gray.png",
 			"selectedIconPath": "static/icons/mine.png",
-			"text": "我"
+			"text": "我"
 		}]
 	}
 }

+ 23 - 0
h5_web/pages/applyEducationCode/applyEducationCode.scss

@@ -51,6 +51,29 @@
 			color: #5F5F5F;
 			font-size: 20rpx;
 		}
+		.pic-url {
+			width: 184rpx;
+			height: 184rpx;
+			margin-left: 32rpx;
+			position: relative;
+			image {
+				width: 100%;
+				height: 100%;
+				border-radius: 6rpx;
+			}
+			.icon {
+				position: absolute;
+				top: 10rpx;
+				right: 10rpx;
+				z-index: 1000;
+				width: 36rpx;
+				height: 36rpx;
+				line-height: 36rpx;
+				text-align: center;
+				border-radius: 82rpx;
+				background-color: rgb(253, 49, 48);
+			}
+		}
 	}
 	.submit {
 		width: 100%;

+ 79 - 10
h5_web/pages/applyEducationCode/applyEducationCode.vue

@@ -40,8 +40,17 @@
 			</u-form-item>
 			<u-form-item label="近期1寸免冠照片:" label-position="top" label-width="200" label-align="left" prop="national">
 				<view class="pic">
-					<u-upload ref="uUpload" :action="action" :auto-upload="true" :custom-btn="true" max-count="1" :limitType="['png', 'jpg']" @on-success="uploadSuccess">
-						<view class="pic-upload-box" v-if="form.files.length === 0" slot="addBtn">
+					<u-upload
+						ref="uUpload"
+						:action="action"
+						:auto-upload="true"
+						:custom-btn="true"
+						:show-upload-list="false"
+						max-count="1"
+						:limitType="['png', 'jpg']"
+						@on-success="uploadSuccess"
+					>
+						<view class="pic-upload-box"  slot="addBtn">
 							<view class="pic-upload">
 								<image src="../../static/img/upload-add.png" mode=""/>
 								<view class="font">上传照片</view>
@@ -49,10 +58,16 @@
 							<view class="tips">支持jpg.png格式</view>
 						</view>
 					</u-upload>
-					<view class="pic-photograph" @click="photograph" v-if="form.files.length === 0">
+					<view class="pic-photograph" @click="photograph">
 						<image src="../../static/img/paizhao.png" mode=""></image>
 						<view class="font">立即拍照</view>
 					</view>
+					<view class="pic-url" v-if="form.files.length > 0">
+						<view class="icon">
+							<u-icon name="close" color="#fff" size="16" @click="clearFile"></u-icon>
+						</view>
+						<image :src="form.files[0].filesUrl" mode=""/>
+					</view>
 				</view>
 			</u-form-item>
 			<u-form-item>
@@ -61,16 +76,16 @@
 		</u-form>
 		
 		<!-- 文化程度下拉 -->
-		<u-select v-model="degrEducShow" :list="degrEducList" @confirm="degrEducChange"/>
+		<u-select v-model="degrEducShow" :list="degrEducList" @confirm="degrEducChange" :default-value="degrEducIndex"/>
 		
 		<!-- 政治面貌下拉 -->
-		<u-select v-model="politOutlookShow" :list="politOutlookList" @confirm="politOutlookChange"/>
+		<u-select v-model="politOutlookShow" :list="politOutlookList" @confirm="politOutlookChange" :default-value="politOutlookIndex"/>
 		
 		<!-- 户籍地 -->
 		<u-picker mode="region" v-model="regionShow" :default-region='["贵州省", "贵阳市", "南明区"]' @confirm="regionConfirm"/>
 		
 		<!-- 户籍类型下拉 -->
-		<u-select v-model="houseTypeShow" :list="houseTypeList" @confirm="houseTypeChange"/>
+		<u-select v-model="houseTypeShow" :list="houseTypeList" @confirm="houseTypeChange" :default-value="houseTypeIndex"/>
 	</view>
 </template>
 
@@ -169,14 +184,17 @@
 				// 文化程度
 				degrEducShow: false,
 				degrEducList: [],
+				degrEducIndex: [],
 				// 政治面貌
 				politOutlookShow: false,
 				politOutlookList: [],
+				politOutlookIndex: [],
 				// 户籍地
 				regionShow: false,
 				// 户籍类型
 				houseTypeShow: false,
-				houseTypeList: []
+				houseTypeList: [],
+				houseTypeIndex: []
 			}
 		},
 		onLoad() {
@@ -201,6 +219,27 @@
 								this.form[key] = res.data.veteEduc[key];
 							}
 						};
+						if (res.data.veteEduc) {
+							this.form.veteSex = res.data.veteEduc.veteSex === 1 ? '男' : '女';
+							// 文化程度
+							this.degrEducList.forEach((item, index) => {
+								if (item.text === res.data.veteEduc.degrEducId) {
+									this.degrEducIndex = [index]
+								}
+							})
+							// 政治面貌
+							this.politOutlookList.forEach((item, index) => {
+								if (item.text === res.data.veteEduc.politOutlookId) {
+									this.politOutlookIndex = [index]
+								}
+							})
+							// 户籍类型
+							this.houseTypeList.forEach((item, index) => {
+								if (item.text === res.data.veteEduc.houseTypeId) {
+									this.houseTypeIndex = [index]
+								}
+							})
+						}
 						this.form.files = res.data.files;
 					}
 				});
@@ -233,7 +272,12 @@
 			getVetePolitOutlook(){
 				this.$u.api.getDictdataUrl({ key: 'polit_outlook' }).then(res => {
 					if(res.code == 200){						
-						this.politOutlookList = res.data;
+						this.politOutlookList = res.data.map(item => {
+							return {
+								...item,
+								value: item.text
+							}
+						});
 					}
 				});
 			},
@@ -318,10 +362,35 @@
 					sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
 					sourceType: ['camera'], //从相册选择
 					success: (res) => {
-						console.log(res);
+						const tempFilePaths = res.tempFilePaths;
+						uni.uploadFile({
+							url: this.config.uploadUrl, // 服务器地址
+							fileType: "image",// ZFB必填,不然报错
+							filePath: tempFilePaths[0], // 这个就是我们上面拍照返回或者先中照片返回的数组
+							name: 'imgFile',
+							success: (uploadFileRes) => {
+								const file = JSON.parse(uploadFileRes.data)
+								this.form.files = []
+								this.form.files.push({ filesType: 6, filesUrl: file.data.url})
+							}
+						});
 					}
 				})
 			},
+			/**
+			 * 清空图片文件
+			 */
+			clearFile() {
+				uni.showModal({
+					title: '提示',
+					content: '您确定要删除此项吗?',
+					success: async (res) => {
+						if (res.confirm) {
+							this.form.files = []
+						}
+					}
+				});
+			},
 			submit() {
 				this.$refs.uForm.validate(valid => {
 					if (valid) {
@@ -341,7 +410,7 @@
 									params.veteEduc[key] = this.form[key];
 								}
 							};
-							params.veteEduc.veteSex = params.veteEduc.veteSex === '男' ? 1 : 0
+							params.veteEduc.veteSex = params.veteEduc.veteSex === '男' ? 1 : 0;
 							this.$u.api.veteEduc(params).then(res => {
 								if (res.code === 200 ) {
 									uni.showToast({

+ 152 - 169
h5_web/pages/mine/mine.scss

@@ -1,196 +1,179 @@
 /* 部分菜单图标 */
-	@font-face {
-		font-family: 'icomoon';
-		src:  url('../../static/icon-font/fonts/icomoon.eot?f82mqt');
-		src:  url('../../static/icon-font/fonts/icomoon.eot?f82mqt#iefix') format('embedded-opentype'),
-			url('../../static/icon-font/fonts/icomoon.ttf?f82mqt') format('truetype'),
-			url('../../static/icon-font/fonts/icomoon.woff?f82mqt') format('woff'),
-			url('../../static/icon-font/fonts/icomoon.svg?f82mqt#icomoon') format('svg');
-		font-weight: normal;
-		font-style: normal;
-		font-display: block;
-	}
-
-	[class^="icon-"], [class*=" icon-"] {
-		/* use !important to prevent issues with browser extensions that change fonts */
-		font-family: 'icomoon' !important;
-		speak: never;
-		font-style: normal;
-		font-weight: normal;
-		font-variant: normal;
-		text-transform: none;
-		line-height: 1;
-
-		/* Better Font Rendering =========== */
-		-webkit-font-smoothing: antialiased;
-		-moz-osx-font-smoothing: grayscale;
-	}
-
-	.icon-resume-icon:before {
-		content: "\e900";
-		color: #808080;
-	}
-	.icon-evaluate-icon:before {
-		content: "\e901";
-		color: #808080;
-	}
-	.icon-setting-icon:before {
-		content: "\e902";
-		color: #808080;
-	}
-	.icon-delivery-icon:before {
-		content: "\e903";
-		color: #808080;
-	}
-	.icon-interview-icon:before {
-		content: "\e904";
-		color: #808080;
-	}
-	.icon-train-icon:before {
-		content: "\e905";
-		color: #808080;
-	}
 .mine {
-	position: relative;
-	.mine-bg {
-		background-color: #2a82e4;
-		height: 460rpx;
+	min-height: calc(100vh - 44px);
+	background-color: #F2F2F2;
+	font-family: 'PingFangSC-Regular, PingFang SC';
+	
+	&-bg {
+		height: 650rpx;
+		margin-top: -70rpx;
+		background-image: url(../../static/img/mine-bg.png);
+		background-repeat: no-repeat;
+		background-position: center center;
+		background-size: cover;
 	}
-	.mine-card-1 {
-		position: absolute;
-		top: 140rpx;
-		z-index: 100;
-		width: calc(100% - 32px);
-		overflow: inherit;
-		box-shadow: 0px 3px 19px 0px rgba(0, 0, 0, 0.2)!important;
-		.mine-card-1-content {
-			.user-info {
+	
+	&-info {
+		margin-top: -430rpx;
+		
+		&-header {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			&-left {
+				margin-left: 20rpx;
 				display: flex;
-				justify-content: space-between;
-				.user-info-left {
-					display: flex;
-					justify-content: space-between;
-					.user-info-left-avatar {
-						text-align: center;
-						.name {
-							font-size: 34rpx;
-							font-family: 'Microsoft YaHei';
-							color: #383838;
-							font-weight: bold;
-						}
-					}
-					.user-info-left-attribute {
-						margin-left: 20rpx;
-						.veterans,
-						.train {
-							font-size: 23rpx;
-							font-family: 'Microsoft YaHei';
-							color: #383838;
-							margin-bottom: 15rpx;
-							line-height: 38rpx;
-							.link {
-								color: #2a82e4;
-							}
-						}
-					}
-				}
-				.user-info-right {
-					width: 300rpx;
-					height: 300rpx;
+				align-items: center;
+				.avatar {
+					background-color: rgba(255, 255, 255, 0.2);
+					width: 146rpx;
+					height: 146rpx;
 					border-radius: 50%;
-					background-color: #fff;
-					position: absolute;
-					right: 50rpx;
-					top: -80rpx;
-					z-index: 3000;
 					display: flex;
-					justify-content: center;
 					align-items: center;
-					.integral {
-						width: 220rpx;
-						height: 220rpx;
-						background-color: #ffc300;
+					justify-content: center;
+					margin-right: 20rpx;
+					image {
+						width: 130rpx;
+						height: 130rpx;
 						border-radius: 50%;
-						text-align: center;
-						padding-top: 33rpx;
-						view {
-							&:first-child {
-								color: #ff5733;
-								font-size: 58rpx;
-								font-weight: bold;
-								font-family: 'Microsoft YaHei';
-							}
-							&:nth-child(2) {
-								font-size: 23rpx;
-								color: #383838;
-								font-family: 'Microsoft YaHei';
-							}
-							&:last-child {
-								display: inline-block;
-								width: 120rpx;
-								height: 40rpx;
-								line-height: 40rpx;
-								text-align: center;
-								border-radius: 20rpx;
-								background-color: #fff;
-								font-size: 23rpx;
-								color: #383838;
-								font-family: 'Microsoft YaHei';
-								margin-top: 10rpx;
-							}
-						}
 					}
 				}
+				
+				.name {
+					color: #fff;
+					font-size: 40rpx;
+					font-family: 'PingFangSC-Medium, PingFang SC';
+				}
 			}
-			.user-integral {
+			
+			&-right {
+				background: linear-gradient(270deg, #FF6100 0%, #FE7C02 100%);
+				border-top-left-radius: 40rpx;
+				border-bottom-left-radius: 40rpx;
+				border: solid 2px rgba(255, 255, 255, 0.3);
+				border-right: none;
 				display: flex;
-				justify-content: space-between;
-				.user-integral-item {
-					text-align: center;
-					view {
-						color: #383838;
-						font-family: 'Microsoft YaHei';
-						font-size: 26rpx;
-						&:last-child {
-							font-size: 32rpx;
-							font-weight: bold;
-							margin-top: 20rpx;
-						}
-						text {
-							font-size: 60rpx;
-							font-weight: bold;
-							margin-right: 5rpx;
-						}
-					}
+				align-items: center;
+				padding: 0 30rpx 0 26rpx;
+				height: 82rpx;
+				view {
 					&:first-child {
-						text {
-							color: #2a82e4;
-						}
+						font-size: 22rpx;
+						color: #fff;
+						opacity: 0.7;
 					}
 					&:nth-child(2) {
+						font-size: 60rpx;
+						color: #fff;
+						font-weight: 500;
+						margin: 0 22rpx 0 16rpx;
+					}
+				}
+			}
+		}
+		
+		&-authentication {
+			display: flex;
+			justify-content: space-between;
+			width: calc(100% - 220rpx);
+			margin: 30rpx auto;
+			font-size: 24rpx;
+			color: rgba(255, 255, 255, .6);
+			&-item {
+				display: flex;
+				align-items: center;
+				view {
+					&:last-child {
+						padding: 6rpx 16rpx;
+						background-color: rgba(255, 255, 255, 0.2);
+						border-radius: 30rpx;
+						margin-left: 10rpx;
+						font-size: 18rpx;
+					}
+				}
+			}
+		}
+		
+		&-gain {
+			display: flex;
+			justify-content: space-between;
+			width: calc(100% - 60rpx);
+			margin: 0 auto;
+			background-color: #fff;
+			border-radius: 10rpx;
+			padding: 36rpx 34rpx;
+			&-item {
+				text-align: center;
+				view {
+					&:first-child {
+						font-size: 70rpx;
+						font-weight: 500;
 						text {
-							color: #ff5733;
+							font-size: 38rpx;
+							font-weight: 400;
+							color: #6E6E6E;
 						}
 					}
 					&:last-child {
-						text {
-							color: #00baad;
+						font-size: 32rpx;
+						margin-top: 10rpx;
+						font-weight: 400;
+					}
+				}
+				&:first-child {
+					view {
+						&:first-child {
+							color: #4591E7;
+						}
+					}
+				}
+				&:nth-child(2) {
+					view {
+						&:first-child {
+							color: #FF5733;
+						}
+					}
+				}
+				&:last-child {
+					view {
+						&:first-child {
+							color: #17BEB2;
 						}
 					}
 				}
 			}
 		}
-	}
-	.grid-menu {
-		margin-top: 180rpx!important;
-		box-shadow: 0px 3px 19px 0px rgba(0, 0, 0, 0.2)!important;
-		.grid-menu-icon {
-			font-size: 64rpx;
-		}
-		.grid-text {
-			font-size: 26rpx;
-			margin-top: 16rpx;
-			color: #808080;
+		
+		&-cell1 {
+			width: calc(100% - 60rpx);
+			margin: 20rpx auto;
+			padding: 34rpx;
+			background-color: #fff;
+			border-radius: 10rpx;
+			.cell-icon {
+				margin-right: 24rpx;
+			}
+			.jianli {
+				width: 34rpx;
+				height: 34rpx;
+			}
+			.toudi {
+				width: 34rpx;
+				height: 34rpx;
+			}
+			.mianshi {
+				width: 28rpx;
+				height: 34rpx;
+			}
+			.peixun {
+				width: 30rpx;
+				height: 38rpx;
+			}
+			.pingjia {
+				width: 36rpx;
+				height: 30rpx;
+			}
 		}
 	}
 }

+ 86 - 88
h5_web/pages/mine/mine.vue

@@ -1,94 +1,84 @@
 <!-- 我的 -->
 <template>
 	<view class="mine">
+		
+		<!-- 背景 -->
 		<view class="mine-bg"></view>
-		<!--  用户信息   -->
-		<u-card class="mine-card-1" :show-head="false">
-			<view slot="body" class="mine-card-1-content">
-				<view class="user-info">
-					<view class="user-info-left">
-						<view class="user-info-left-avatar" @click="jumpPage('/pages/personalModify/personalModify')">
-							<u-avatar :src="vuex_user.avatar" mode="square" size="111"></u-avatar>
-							<view class="name">{{ vuex_user.name }}</view>
-						</view>
-						<view class="user-info-left-attribute">
-							<view class="veterans">
-								<view>退役军人</view>
-								<view class="link" @click="jumpPage('/pages/applyEducationCode/applyEducationCode')">未认证 ></view>
-							</view>
-							<view class="train">
-								<view>适应性培训</view>
-								<view class="link">未完成 ></view>
-							</view>
-						</view>
-					</view>
-					<view class="user-info-right">
-						<view class="integral" @click="jumpPage('/pages/progressiveIntegral/progressiveIntegral')">
-							<view>{{ userInfo.integral }}</view>
-							<view>进步积分</view>
-							<view>查看详情</view>
-						</view>
+		
+		<!-- 个人信息 -->
+		<view class="mine-info">
+			
+			<!-- 头像和积分 -->
+			<view class="mine-info-header">
+				<view class="mine-info-header-left">
+					<view class="avatar" @click="jumpPage('/pages/personalModify/personalModify')">
+						<image :src="memberinfo.avatar" mode=""></image>
 					</view>
+					<view class="name">{{ memberinfo.name }}</view>
 				</view>
-				<u-divider :half-width="300" :height="50" :use-slot="false"></u-divider>
-				<view class="user-integral">
-					<view class="user-integral-item">
-						<view>
-							<text>8 </text>个
-						</view>
-						<view>技能培训</view>
-					</view>
-					<view class="user-integral-item">
-						<view>
-							<text>68.5 </text>小时
-						</view>
-						<view>学习时长</view>
-					</view>
-					<view class="user-integral-item">
-						<view>
-							<text>10 </text>次
-						</view>
-						<view>获得面试</view>
-					</view>
+				<view class="mine-info-header-right" @click="jumpPage('/pages/progressiveIntegral/progressiveIntegral')">
+					<view>进步<br/>积分</view>
+					<view>688</view>
+					<u-icon name="arrow-right" color="#fff" size="30"/>
 				</view>
 			</view>
-		</u-card>
-
-		<!-- 宫格 -->
-		<u-card :show-head="false" class="grid-menu">
-			<view slot="body">
-				<u-grid :col="3" :border="false">
-					<u-grid-item @click="jumpPage('/pages/myResume/myResume')">
-						<view class="grid-menu-icon icon-resume-icon"></view>
-						<view class="grid-text">我的简历</view>
-					</u-grid-item>
-					<u-grid-item @click="jumpPage('/pages/myDelivery/myDelivery')">
-						<view class="grid-menu-icon icon-delivery-icon"></view>
-						<view class="grid-text">我的投递</view>
-					</u-grid-item>
-					<u-grid-item @click="jumpPage('/pages/myInterview/myInterview')">
-						<view class="grid-menu-icon icon-interview-icon"></view>
-						<view class="grid-text">我的面试</view>
-					</u-grid-item>
-				</u-grid>
-				<u-divider :half-width="300" :height="50" :use-slot="false"></u-divider>
-				<u-grid :col="3" :border="false">
-					<u-grid-item @click="jumpPage('/pages/mySkillsTraining/mySkillsTraining')">
-						<view class="grid-menu-icon icon-train-icon"></view>
-						<view class="grid-text">我的技能培训</view>
-					</u-grid-item>
-					<u-grid-item @click="jumpPage('/pages/myEvaluation/myEvaluation')">
-						<view class="grid-menu-icon icon-evaluate-icon"></view>
-						<view class="grid-text">我的评价</view>
-					</u-grid-item>
-					<u-grid-item @click="jumpPage('/pages/setting/setting')">
-						<view class="grid-menu-icon icon-setting-icon"></view>
-						<view class="grid-text">设置</view>
-					</u-grid-item>
-				</u-grid>
+			
+			<!-- 认证 -->
+			<view class="mine-info-authentication">
+				<view class="mine-info-authentication-item">
+					<view>退役军人</view>
+					<view v-if="memberinfo.auditStatus === 0">认证中</view>
+					<view v-else-if="memberinfo.auditStatus === 2">已认证</view>
+					<view v-else @click="jumpPage('/pages/applyEducationCode/applyEducationCode')">未认证</view>
+				</view>
+				<view class="mine-info-authentication-item">
+					<view>适应性培训</view>
+					<view @click="jumpPage('/pages/basicTraining/basicTraining')">未认证</view>
+				</view>
+			</view>
+			
+			<!-- 个人获得 -->
+			<view class="mine-info-gain">
+				<view class="mine-info-gain-item">
+					<view>8<text>个</text></view>
+					<view>技能培训</view>
+				</view>
+				<view class="mine-info-gain-item">
+					<view>68.5<text>小时</text></view>
+					<view>学习时长</view>
+				</view>
+				<view class="mine-info-gain-item">
+					<view>10<text>次</text></view>
+					<view>获得面试</view>
+				</view>
+			</view>
+			
+			<!-- 单元格 -->
+			<view class="mine-info-cell1">
+				<u-cell-group :border="false">
+					<u-cell-item title="我的简历" @click="jumpPage('/pages/myResume/myResume')">
+						<image class="cell-icon jianli" slot="icon" src="../../static/img/jianlitongguo.png" mode=""></image>
+					</u-cell-item>
+					<u-cell-item title="我的投递" @click="jumpPage('/pages/myDelivery/myDelivery')">
+						<image class="cell-icon toudi" slot="icon" src="../../static/img/toudimoren.png" mode=""></image>
+					</u-cell-item>
+					<u-cell-item title="我的面试" @click="jumpPage('/pages/myInterview/myInterview')">
+						<image class="cell-icon mianshi" slot="icon" src="../../static/img/mianshi-houxuanren.png" mode=""></image>
+					</u-cell-item>
+				</u-cell-group>
 			</view>
-		</u-card>
-    
+			<!-- 单元格 -->
+			<view class="mine-info-cell1">
+				<u-cell-group :border="false">
+					<u-cell-item title="我的技能培训" @click="jumpPage('/pages/mySkillsTraining/mySkillsTraining')">
+						<image class="cell-icon peixun" slot="icon" src="../../static/img/jinengx.png" mode=""></image>
+					</u-cell-item>
+					<u-cell-item title="我的评价" @click="jumpPage('/pages/myEvaluation/myEvaluation')">
+						<image class="cell-icon pingjia" slot="icon" src="../../static/img/pingjia.png" mode=""></image>
+					</u-cell-item>
+				</u-cell-group>
+			</view>
+		</view>
     <!-- ########################## -- 底部导航栏 -- ################################ -->
     <u-tabbar
       :list="tabbarConfig.tabbarList"
@@ -108,15 +98,23 @@
 		name: 'Mine',
 		data() {
 			return {
-				userInfo: {
-					avatar: require('@/static/img/avatar.jpg'),
-					nickName: '李明',
-					integral: '688'
-				},
-        tabbarConfig: tabbarconfig
+        tabbarConfig: tabbarconfig,
+				veteEducStatus: '',
+				memberinfo: ''
 			}
 		},
+		onShow() {
+			this.getMemberinfo()
+		},
 		methods: {
+			/**
+			 * 获取用户基本信息
+			 */
+			getMemberinfo(){
+				this.$u.api.getmemberinfo().then(res => {
+					this.memberinfo = res.data;
+				})
+			},
 			/**
 			 * 跳转到指定页面
 			 */

+ 22 - 8
h5_web/pages/myDelivery/myDelivery.scss

@@ -1,12 +1,16 @@
 /* 我的投递 */
 .delivery {
+	min-height: calc(100vh - 44px);
+	background-color: #F2F2F2;
 	&-list {
+		padding: 28rpx 0;
 		&-item {
 			display: flex;
-			align-items: center;
 			justify-content: space-between;
-			padding: 18rpx 20rpx;
+			padding: 26rpx 30rpx;
 			border-top: solid 1px #f3f3f3;
+			background-color: #fff;
+			margin-bottom: 20rpx;
 			&-left {
 				display: flex;
 				align-items: center;
@@ -14,33 +18,43 @@
 					width: 104rpx;
 					height: 104rpx;
 					margin-right: 40rpx;
+					border: solid 1px #E1E1E1;
+					border-radius: 8rpx;
 					image {
 						width: 100%;
 						height: 100%;
+						border-radius: 8rpx;
 					}
 				}
 				&-info {
 					font-size: 22rpx;
 					font-family: 'Microsoft YaHei';
-					color: #a6a6a6;
+					color: #9B9B9B;
 					line-height: 50rpx;
+					font-weight: 400;
 					view {
 						&:first-child {
-							color: #383838;
+							color: #000;
 							font-size: 30rpx;
-							font-weight: bold;
+						}
+						&:last-child {
+							color: #bbb;
 						}
 					}
 				}
 			}
 			&-right {
+				display: flex;
+				flex-direction: column;
 				view {
 					font-size: 22rpx;
 					font-family: 'Microsoft YaHei';
-					color: #a6a6a6;
+					color: #BCBCBC;
+					font-weight: 400;
 					&:first-child {
-						color: #ff5733;
-						margin-bottom: 20rpx;
+						color: #EE5A10;
+						font-weight: 500;
+						flex: 1;
 					}
 				}
 			}

+ 83 - 0
h5_web/pages/myResume/addEducation.vue

@@ -0,0 +1,83 @@
+<!-- 添加教育和培训经历 -->
+<template>
+	<view class="experience">
+		<!-- 导航栏 -->
+		<u-navbar class="experience-bar" back-text="" back-icon-color="#fff" title="添加培训与教育经历" title-color="#fff" :background="background">
+			<view class="experience-bar-right" slot="right">保存</view>
+		</u-navbar>
+		
+		<!-- 表单 -->
+		<view class="experience-form">
+			<u-form :model="form" label-position="top">
+				<u-form-item label="学校名称">
+					<u-input v-model="form.school" placeholder="请输入学校名称"/>
+				</u-form-item>
+				<u-form-item label="课程名称">
+					<u-input v-model="form.classes" placeholder="请输入课程名称"/>
+				</u-form-item>
+				<u-form-item label="在校时间">
+					<u-input v-model="form.startDate" placeholder="开始时间" disabled @click="startDateShow = true" inputAlign="center"/>
+					<u-picker mode="time" v-model="startDateShow" :params="{ year: true,
+	month: true}" :end-year="endYear" @confirm="startDateConfirm"/>
+					<view class="divider"></view>
+					<u-input v-model="form.endDate" placeholder="结束时间" @click="endDateShow = true" inputAlign="center"/>
+					<u-picker mode="time" v-model="endDateShow" :params="{ year: true,
+					month: true}" :end-year="endYear" @confirm="endDateConfirm"/>
+				</u-form-item>
+				<u-form-item label="学习内容">
+					<u-input v-model="form.content" placeholder="请输入学习内容"/>
+				</u-form-item>
+				<u-form-item label="证书名称">
+					<u-input v-model="form.certificate" placeholder="请输入证书名称"/>
+				</u-form-item>
+				<u-form-item label="老师评价">
+					<u-input v-model="form.evaluation" placeholder="请输入老师评价"/>
+				</u-form-item>
+			</u-form>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: 'AddExperience',
+		data() {
+			return {
+				background: {
+					backgroundColor: '#3D5D4C'
+				},
+				form: {
+					school: '',
+					classes: '',
+					startDate: '',
+					endDate: '',
+					content: '',
+					
+				},
+				startDateShow: false,
+				endDateShow: false,
+				endYear: (new Date()).getFullYear()
+			}
+		},
+		methods: {
+			/**
+			 * 入职时间弹框确认
+			 * @param { Object } e 
+			 */
+			startDateConfirm(e) {
+				this.form.startDate = e.year + '-' + e.month
+			},
+			/**
+			 * 离职时间弹框确认
+			 * @param { Object } e 
+			 */
+			endDateConfirm(e) {
+				this.form.endDate = e.year + '-' + e.month
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+@import './myResume.scss';
+</style>

+ 76 - 0
h5_web/pages/myResume/addExperience.vue

@@ -0,0 +1,76 @@
+<!-- 添加工作经历 -->
+<template>
+	<view class="experience">
+		<!-- 导航栏 -->
+		<u-navbar class="experience-bar" back-text="" back-icon-color="#fff" title="添加工作经历" title-color="#fff" :background="background">
+			<view class="experience-bar-right" slot="right">保存</view>
+		</u-navbar>
+		
+		<!-- 表单 -->
+		<view class="experience-form">
+			<u-form :model="form" label-position="top">
+				<u-form-item label="公司名称">
+					<u-input v-model="form.company" placeholder="请输入公司名称"/>
+				</u-form-item>
+				<u-form-item label="在职时间">
+					<u-input v-model="form.startDate" placeholder="入职时间" disabled @click="startDateShow = true" inputAlign="center"/>
+					<u-picker mode="time" v-model="startDateShow" :params="{ year: true,
+	month: true}" :end-year="endYear" @confirm="startDateConfirm"/>
+					<view class="divider"></view>
+					<u-input v-model="form.endDate" placeholder="离职时间" @click="endDateShow = true" inputAlign="center"/>
+					<u-picker mode="time" v-model="endDateShow" :params="{ year: true,
+					month: true}" :end-year="endYear" @confirm="endDateConfirm"/>
+				</u-form-item>
+				<u-form-item label="职位名称">
+					<u-input v-model="form.position" placeholder="请输入职位名称"/>
+				</u-form-item>
+				<u-form-item label="企业评价">
+					<u-input v-model="form.evaluation" placeholder="请输入企业评价"/>
+				</u-form-item>
+			</u-form>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: 'AddExperience',
+		data() {
+			return {
+				background: {
+					backgroundColor: '#3D5D4C'
+				},
+				form: {
+					company: '',
+					startDate: '',
+					endDate: '',
+					position: '',
+					evaluation: ''
+				},
+				startDateShow: false,
+				endDateShow: false,
+				endYear: (new Date()).getFullYear()
+			}
+		},
+		methods: {
+			/**
+			 * 入职时间弹框确认
+			 * @param { Object } e 
+			 */
+			startDateConfirm(e) {
+				this.form.startDate = e.year + '-' + e.month
+			},
+			/**
+			 * 离职时间弹框确认
+			 * @param { Object } e 
+			 */
+			endDateConfirm(e) {
+				this.form.endDate = e.year + '-' + e.month
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+@import './myResume.scss';
+</style>

+ 265 - 316
h5_web/pages/myResume/myResume.scss

@@ -1,317 +1,266 @@
-/* 部分菜单图标 */
-@font-face {
-	font-family: 'icomoon';
-	src:  url('../../static/icon-font/fonts/icomoon.eot?f82mqt');
-	src:  url('../../static/icon-font/fonts/icomoon.eot?f82mqt#iefix') format('embedded-opentype'),
-		url('../../static/icon-font/fonts/icomoon.ttf?f82mqt') format('truetype'),
-		url('../../static/icon-font/fonts/icomoon.woff?f82mqt') format('woff'),
-		url('../../static/icon-font/fonts/icomoon.svg?f82mqt#icomoon') format('svg');
-	font-weight: normal;
-	font-style: normal;
-	font-display: block;
-}
-
-[class^="icon-"], [class*=" icon-"] {
-	/* use !important to prevent issues with browser extensions that change fonts */
-	font-family: 'icomoon' !important;
-	speak: never;
-	font-style: normal;
-	font-weight: normal;
-	font-variant: normal;
-	text-transform: none;
-	line-height: 1;
-
-	/* Better Font Rendering =========== */
-	-webkit-font-smoothing: antialiased;
-	-moz-osx-font-smoothing: grayscale;
-}
-.icon-phone-icon:before {
-	content: "\e906";
-	color: #999;
-}
-/* 我的简历 */
-.resume {
-	width: calc(100% - 92rpx);
-	margin: 36rpx auto;
-	
-	/* 头像 */
-	.resume-head {
-		display: flex;
-		.resume-head-left {
-			margin-right: 32rpx;
-		}
-		.resume-head-right {
-			view {
-				color: #505050;
-				font-size: 30rpx;
-				font-family: 'Microsoft YaHei';
-				&:first-child {
-					font-size: 38rpx;
-					color: #505050;
-					font-weight: bold;
-					margin-bottom: 16rpx;
-				}
-				&:last-child {
-					font-size: 28rpx;
-					margin-top: 5rpx;
-				}
-				text {
-					color: #2a82e4;
-				}
-			}
-		}
-	}
-	
-	/* 基本信息 */
-	.resume-base-info {
-		margin-top: 54rpx;
-		.resume-base-info-item {
-			font-size: 32rpx;
-			color: #666666;
-			margin-top: 30rpx;
-		}
-		.resume-base-info-phone {
-			margin-top: 18rpx;
-			font-size: 30rpx;
-			color: #505050;
-		}
-	}
-	
-	/* 求职意向 */
-	.resume-job-intention {
-		margin-top: 54rpx;
-		.resume-job-intention-add {
-			margin-top: 30rpx;
-			.rjia-item {
-				color: #666666;
-				font-size: 32rpx;
-				font-family: 'Microsoft YaHei';
-				&:nth-child(2) {
-					color: #2a82e4;
-					text-align: center;
-					margin-top: 30rpx;
-				}
-				&:last-child {
-					font-size: 24rpx;
-					color: #a6a6a6;
-					margin-top: 10rpx;
-					text-align: center;
-				}
-			}
-		}
-		.resume-job-intention-info {
-			.rjii-box {
-				display: flex;
-				justify-content: space-between;
-				margin-top: 30rpx;
-				color: #666666;
-				font-size: 32rpx;
-				font-family: 'Microsoft YaHei';
-				.rjii-left {
-					line-height: 50rpx;
-				}
-				.rjii-right {
-					color: #2a82e4;
-					margin-top: 20rpx;
-				}
-			}
-			.rjii-edit-btn {
-				color: #2a82e4;
-				text-align: center;
-				margin-top: 30rpx;
-				font-size: 32rpx;
-				font-family: 'Microsoft YaHei';
-			}
-		}
-	}
-	
-	/* 自我评价 */
-	.resume-self-evaluation {
-		margin-top: 54rpx;
-		.resume-self-evaluation-add {
-			margin-top: 30rpx;
-			.rsea-item {
-				color: #666666;
-				font-size: 32rpx;
-				font-family: 'Microsoft YaHei';
-				&:nth-child(2) {
-					color: #2a82e4;
-					text-align: center;
-					margin-top: 30rpx;
-				}
-				&:last-child {
-					font-size: 24rpx;
-					color: #a6a6a6;
-					margin-top: 10rpx;
-					text-align: center;
-				}
-			}
-		}
-		.resume-self-evaluation-info {
-			.rsei-box {
-				color: #666666;
-				font-size: 32rpx;
-				font-family: 'Microsoft YaHei';
-				margin-top: 30rpx;
-				line-height: 60rpx;
-			}
-			.rsei-edit-btn {
-				color: #2a82e4;
-				text-align: center;
-				margin-top: 30rpx;
-				font-size: 32rpx;
-				font-family: 'Microsoft YaHei';
-			}
-		}
-	}
-	
-	/* 工作经历 */
-	.resume-work-experience {
-		margin-top: 54rpx;
-		.resume-work-experience-steps {
-			margin-top: 30rpx;
-		}
-		.height-110 {
-			height: 220rpx;
-			overflow: hidden;
-			transition: height 1s ease-in;
-		}
-		.height-auto {
-			height: auto;
-			transition: height 1s ease-out;
-		}
-		.resume-work-experience-btn {
-			text-align: center;
-			color: #2a82e4;
-			font-size: 28rpx;
-			padding: 30rpx 0;
-		}
-	}
-	
-	/* 培训与教育经历 */
-	.resume-train-experience {
-		margin-top: 54rpx;
-		.resume-train-experience-steps {
-			margin-top: 30rpx;
-		}
-		.height-110 {
-			height: 260rpx;
-			overflow: hidden;
-			transition: height 1s ease-in;
-		}
-		.height-auto {
-			height: auto;
-			transition: height 1s ease-out;
-		}
-		.resume-train-experience-btn {
-			text-align: center;
-			color: #2a82e4;
-			font-size: 28rpx;
-			padding: 30rpx 0;
-		}
-	}
-}
-/* 标题 */
-.title {
-	border-left: solid 20rpx #2a82e4;
-	padding-left: 20rpx;
-	font-size: 32rpx;
-	color: #505050;
-	font-family: 'Microsoft YaHei';
-	font-weight: bold;
-}
-/* 步骤条样式 */
-@import '@/uview-ui/libs/css/style.components.scss';
-
-$u-steps-item-number-width: 44rpx;
-$u-steps-item-dot-width: 20rpx;
-
-.u-steps {
-	display: flex;
-	flex-direction: column;
-	
-	.u-steps__item {
-		flex: 1;
-		text-align: center;
-		position: relative;
-		min-width: 100rpx;
-		font-size: 26rpx;
-		color: #8799a3;
-		display: flex;
-		justify-content: center;
-		flex-direction: column;
-		
-		&--row {
-			@include vue-flex;
-			flex-direction: column;
-			
-			.u-steps__item__line {
-				position: absolute;
-				z-index: 0;
-				left: 75%;
-				width: 50%;
-				
-				&--dot {
-					top: calc(#{$u-steps-item-dot-width} / 2);
-				}
-			}
-		}
-		
-		&--column {
-			@include vue-flex;
-			flex-direction: row;
-			justify-content: flex-start;
-			min-height: 120rpx;
-			
-			.u-steps__item__line {
-				position: absolute;
-				z-index: 0;
-				height: 90%;
-				top: 15%;
-				left: 10rpx;
-				&--dot {
-					left: calc(#{$u-steps-item-dot-width} / 2);
-				}
-				
-				&--number {
-					left: calc(#{$u-steps-item-number-width} / 2);
-				}
-			}
-		}
-	
-		&__dot {
-			width: $u-steps-item-dot-width;
-			height: $u-steps-item-dot-width;
-			@include vue-flex;
-			border-radius: 50%;
-			background-color: #2a82e4;
-			margin-top: 10rpx;
-		}
-		
-		&__text--row {
-			margin-top: 14rpx;
-		}
-		
-		&__text--column {
-			margin-left: 14rpx;
-		}
-	}
-	&-content {
-		text-align: left;
-		margin-left: 40rpx;
-		margin-bottom: 60rpx;
-		view {
-			font-size: 28rpx;
-			line-height: 40rpx;
-			&:first-child {
-				color: #666666;
-				font-size: 32rpx;
-				font-weight: bold;
-				margin-bottom: 10rpx;
-			}
-			text {
-				color: #ff5733;
-			}
-		}
-	}
+/* 我的简历 */
+.resume {
+	padding: 30rpx;
+	
+	&-head {
+		display: flex;
+		justify-content: space-between;
+		border-bottom: solid 1px #DBDBDB;
+		padding: 38rpx 0;
+		
+		&-left {
+			.name {
+				font-size: 50rpx;
+				font-weight: 500;
+				color: #4C4C4C;
+				display: flex;
+				align-items: center;
+				image {
+					width: 26rpx;
+					height: 26rpx;
+					margin-left: 18rpx;
+				}
+			}
+			.info {
+				display: flex;
+				margin-top: 20rpx;
+				color: #4C4C4C;
+				font-size: 24rpx;
+				.position {
+					color: #FF6901;
+					margin-left: 10rpx;
+				}
+			}
+		}
+	}
+	
+	&-base-info {
+		display: flex;
+		justify-content: space-between;
+		border-bottom: solid 1px #DBDBDB;
+		padding: 38rpx 0;
+		&-left {
+			font-size: 24rpx;
+			color: #4C4C4C;
+			line-height: 50rpx;
+			font-weight: 400;
+			.title {
+				font-size: 32rpx;
+				color: #000000;
+			}
+		}
+		&-right {
+			image {
+				width: 26rpx;
+				height: 26rpx;
+			}
+		}
+	}
+	
+	&-job-intention {
+		display: flex;
+		justify-content: space-between;
+		border-bottom: solid 1px #DBDBDB;
+		padding: 38rpx 0;
+		
+		&-left {
+			font-size: 24rpx;
+			color: #4C4C4C;
+			line-height: 50rpx;
+			font-weight: 400;
+			.title {
+				font-size: 32rpx;
+				color: #000000;
+			}
+			.supple {
+				color: #7B7B7B;
+			}
+		}
+		&-right {
+			image {
+				width: 26rpx;
+				height: 26rpx;
+			}
+		}
+	}
+	
+	&-self-evaluation {
+		display: flex;
+		justify-content: space-between;
+		border-bottom: solid 1px #DBDBDB;
+		padding: 38rpx 0;
+		
+		&-left {
+			.title {
+				font-size: 32rpx;
+				color: #000000;
+			}
+			.supple {
+				font-size: 24rpx;
+				color: #7B7B7B;
+				line-height: 50rpx;
+			}
+		}
+		&-right {
+			image {
+				width: 26rpx;
+				height: 26rpx;
+			}
+		}
+		&-info {
+			.rsei-box {
+				color: #666666;
+				font-size: 24rpx;
+				margin-top: 20rpx;
+				line-height: 40rpx;
+			}
+			.rsei-edit-btn {
+				color: #2a82e4;
+				text-align: center;
+				margin-top: 30rpx;
+				font-size: 24rpx;
+			}
+		}
+	}
+	
+	&-work-experience {
+		border-bottom: solid 1px #DBDBDB;
+		padding: 38rpx 0;
+		&-header {
+			display: flex;
+			justify-content: space-between;
+			margin-bottom: 12rpx;
+			image {
+				width: 28rpx;
+				height: 28rpx;
+			}
+			.title {
+				font-size: 32rpx;
+				color: #000;
+				font-weight: 400;
+				font-family: 'PingFangSC-Regular, PingFang SC';
+			}
+		}
+		&-list {
+			.rwel-item {
+				display: flex;
+				justify-content: space-between;
+				margin-bottom: 26rpx;
+				&-left {
+					font-size: 24rpx;
+					color: #7B7B7B;
+					line-height: 40rpx;
+					view {
+						&:first-child {
+							color: #4C4C4C;
+							font-size: 26rpx;
+						}
+						text {
+							color: #EF651F;
+						}
+					}
+				}
+				&-right {
+					display: flex;
+					color: #7B7B7B;
+					font-size: 20rpx;
+					view {
+						&:first-child {
+							margin-right: 10rpx;
+						}
+					}
+				}
+			}
+		}
+		.height-130 {
+			height: 130rpx;
+			overflow: hidden;
+		}
+		&-btn {
+			text-align: center;
+			margin: 40rpx 0 0;
+			font-size: 32rpx;
+			color: #028DFE;
+		}
+	}
+	
+	&-train-experience {
+		padding: 38rpx 0;
+		&-header {
+			display: flex;
+			justify-content: space-between;
+			margin-bottom: 12rpx;
+			image {
+				width: 28rpx;
+				height: 28rpx;
+			}
+			.title {
+				font-size: 32rpx;
+				color: #000;
+				font-weight: 400;
+				font-family: 'PingFangSC-Regular, PingFang SC';
+			}
+		}
+		&-list {
+			.rtel-item {
+				display: flex;
				justify-content: space-between;
				margin-bottom: 26rpx;
+				&-left {
+					font-size: 24rpx;
+					color: #7B7B7B;
+					line-height: 40rpx;
+					max-width: 50%;
+					view {
+						&:first-child {
+							color: #4C4C4C;
+							font-size: 26rpx;
+						}
+						text {
+							color: #EF651F;
+						}
+					}
+				}
+				&-right {
+					display: flex;
+					color: #7B7B7B;
+					font-size: 20rpx;
+					view {
+						&:first-child {
+							margin-right: 10rpx;
+						}
+					}
+				}
+			}
+		}
+		.height-130 {
+			height: 210rpx;
+			overflow: hidden;
+		}
+		&-btn {
+			text-align: center;
+			margin: 40rpx 0 0;
+			font-size: 32rpx;
+			color: #028DFE;
+		}
+	}
+}
+
+/* 添加工作经历 */
+.experience {
+	padding: 0 30rpx;
+	&-bar {
+		&-right {
+			margin-right: 24rpx;
+			color: #fff;
+			font-size: 32rpx;
+		}
+	}
+	
+	&-form {
+		.divider {
+			width: 20rpx;
+			height: 1px;
+			background-color: #5d5d5d;
+			margin: 0 5%;
+		}
+	}
 }

+ 69 - 66
h5_web/pages/myResume/myResume.vue

@@ -5,80 +5,82 @@
 		<!-- ================================ 头像部分 ================================ -->
 		<view class="resume-head" @click="jumpPage('/pages/dynamicTracking/dynamicTracking')">
 			<view class="resume-head-left">
-				<u-avatar :src="userInfo.avatar" mode="circle" size="160" />
+				<view class="name">
+					<view>{{ userInfo.nickName }}</view>
+					<image src="../../static/img/edit-icon.png" mode=""></image>
+				</view>
+				<view class="info">
+					<view>{{ userInfo.sex }} · </view>
+					<view>
+						<text class="position">{{ userInfo.company ? '入职中' : '未入职' }}</text>
+						{{ `(${ userInfo.company })` }}
+					</view>
+				</view>
 			</view>
 			<view class="resume-head-right">
-				<view>{{ userInfo.nickName }}</view>
-				<view>{{ userInfo.sex }}</view>
-				<view>
-					<text>{{ userInfo.company ? '入职中' : '未入职' }}</text>
-					{{ `(${ userInfo.company })` }}
-				</view>
+				
+				<u-avatar :src="userInfo.avatar" mode="circle" size="128" />
 			</view>
 		</view>
 
 		<!-- ================================ 基本信息部分 ================================ -->
 		<view class="resume-base-info">
-			<view class="title">基本信息</view>
-			<view class="resume-base-info-item">退役军人 / 36岁 / 群众 / 本科
+			<view class="resume-base-info-left">
+				<view class="title">基本信息</view>
+				<view class="resume-base-info-item">退役军人 · 36岁 · 群众 · 本科</view>
+				<view class="resume-base-info-phone">
+					电话:<text class="icon-phone-icon"></text> 17004240181
+				</view>
 			</view>
-			<view class="resume-base-info-phone">
-				<text class="icon-phone-icon"></text> 17004240181
+			<view class="resume-base-info-right">
+				<!-- <image src="../../static/img/edit-icon.png" mode=""></image> -->
 			</view>
 		</view>
 
 		<!-- ================================ 求职意向部分 ================================ -->
 		<view class="resume-job-intention">
-			<view class="title">求职意向</view>
-			<view class="resume-job-intention-add" v-if="jobIntention">
-				<view class="rjia-item">暂未补充求职意向...</view>
-				<view class="rjia-item" @click="jumpPage('/pages/evaluationIntention/evaluationIntention', { tabCur: 0 })">立即补充</view>
-				<view class="rjia-item">(补充信息使求职方向更加精准,增加获得面试的机会)</view>
+			<view class="resume-job-intention-left">
+				<view class="title">求职意向</view>
+				<view>保安员  4K-8K</view>
+				<view class="supple">暂末补充求意向… </view>
 			</view>
-			<view class="resume-job-intention-info" v-else>
-				<view class="rjii-box">
-					<view class="rjii-left">
-						<view>武装押运员,贵阳</view>
-						<view>银行 / 生物科学 / 精密仪器</view>
-					</view>
-					<view class="rjii-right">5000 ~ 8000元</view>
-				</view>
-				<view class="rjii-edit-btn">修改</view>
+			<view class="resume-job-intention-right">
+				<image src="../../static/img/edit-icon.png" mode="" @click="jumpPage('/pages/evaluationIntention/evaluationIntention', { tabCur: 0 })"></image>
 			</view>
 		</view>
 
 		<!-- ================================ 自我评价部分 ================================ -->
 		<view class="resume-self-evaluation">
-			<view class="title">自我评价</view>
-			<view class="resume-self-evaluation-add" v-if="selfEvaluation">
-				<view class="rsea-item">暂未补充自我评价...</view>
-				<view class="rsea-item" @click="jumpPage('/pages/evaluationIntention/evaluationIntention', { tabCur: 1 })">立即补充</view>
-				<view class="rsea-item">(补充信息使企业第一时间了解你,增加获得面试的机会)</view>
-			</view>
-			<view class="resume-self-evaluation-info" v-else>
-				<view class="rsei-box">性格开朗,工作认真负责,细心,有很强的职责心和进取心,头脑灵活,不怕吃苦,理解潜力强,能够很好的处理同事的关系,具有强烈的团队合作精神,并能承担必须的工作压力。
+			<view class="resume-self-evaluation-left">
+				<view class="title">自我评价</view>
+				<view class="supple" v-if="!isExpand">暂未补充自我评价...</view>
+				
+				<view class="resume-self-evaluation-info" v-else>
+					<view class="rsei-box">{{ userInfo.evaluate }}</view>
 				</view>
-				<view class="rsei-edit-btn">修改</view>
+			</view>
+			<view class="resume-self-evaluation-right">
+				<image src="../../static/img/edit-icon.png" mode="" @click="jumpPage('/pages/evaluationIntention/evaluationIntention', { tabCur: 1 })"></image>
 			</view>
 		</view>
 
 		<!-- ================================ 工作经历部分 ================================ -->
 		<view class="resume-work-experience">
-			<view class="title">工作经历</view>
-			<view class="resume-work-experience-steps" :class="isExpand ? 'height-auto' : 'height-110'">
-				<view class="u-steps">
-					<view class="u-steps__item u-steps__item--column" v-for="(item, index) in workExperice"
-						:key="index">
-						<view class="u-steps__item__dot"></view>
-						<view class="u-steps-content">
-							<view>{{ item.dateLine }}</view>
-							<view>{{ item.company }}</view>
-							<view>{{ item.position }}</view>
-							<view>获得企业评价:<text>{{ item.evaluate }}</text></view>
-						</view>
-						<view class="u-steps__item__line u-steps__item__line--column"
-							v-if="index < workExperice.length - 1">
-							<u-line direction="column" length="100%" :hair-line="false" color="#2a82e4" />
+			<view class="resume-work-experience-header">
+				<view class="title">工作经历</view>
+				<image src="../../static/img/add-experience-icon.png" mode="" @click="jumpPage('/pages/myResume/addExperience')"></image>
+			</view>
+			<view class="resume-work-experience-list" :class="isExpand ? 'height-auto' : 'height-130'">
+				<view class="rwel-item" v-for="(item, index) in workExperice" :key="index">
+					<view class="rwel-item-left">
+						<view>{{ item.company }}</view>
+						<view>{{ item.position }}</view>
+						<view>获得企业评价:<text>{{ item.evaluate }}</text></view>
+					</view>
+					<view class="rwel-item-right">
+						<view>{{ item.dateLine }}</view>
+						<view>
+							<u-icon name="arrow-right" color="#7B7B7B" size="20" @click="jumpPage('/pages/myResume/addExperience')"/>
 						</view>
 					</view>
 				</view>
@@ -90,22 +92,22 @@
 
 		<!-- ================================ 培训与教育经历部分 ================================ -->
 		<view class="resume-train-experience">
-			<view class="title">培训与教育经历</view>
-			<view class="resume-train-experience-steps" :class="isTrainExpand ? 'height-auto' : 'height-110'">
-				<view class="u-steps">
-					<view class="u-steps__item u-steps__item--column" v-for="(item, index) in trainExperice"
-						:key="index">
-						<view class="u-steps__item__dot"></view>
-						<view class="u-steps-content">
-							<view>{{ item.dateLine }}</view>
-							<view>{{ item.classes }}</view>
-							<view>{{ item.school }}</view>
-							<view>{{ item.content }}</view>
-							<view>获得企业评价:<text>{{ item.evaluate }}</text></view>
-						</view>
-						<view class="u-steps__item__line u-steps__item__line--column"
-							v-if="index < trainExperice.length - 1">
-							<u-line direction="column" length="100%" :hair-line="false" color="#2a82e4" />
+			<view class="resume-train-experience-header">
+				<view class="title">培训与教育经历</view>
+				<image src="../../static/img/add-experience-icon.png" mode="" @click="jumpPage('/pages/myResume/addEducation')"/>
+			</view>
+			<view class="resume-train-experience-list" :class="isTrainExpand ? 'height-auto' : 'height-130'">
+				<view class="rtel-item"  v-for="(item, index) in trainExperice" :key="index">
+					<view class="rtel-item-left">
+						<view>{{ item.classes }}</view>
+						<view>{{ item.school }}</view>
+						<view>{{ item.content }}</view>
+						<view>获得老师评价:<text>{{ item.evaluate }}</text></view>
+					</view>
+					<view class="rtel-item-right">
+						<view>{{ item.dateLine }}</view>
+						<view>
+							<u-icon name="arrow-right" color="#7B7B7B" size="20" @click="jumpPage('/pages/myResume/addEducation')"/>
 						</view>
 					</view>
 				</view>
@@ -125,7 +127,8 @@
 					avatar: require('@/static/img/avatar.jpg'),
 					nickName: '郝爱国',
 					company: '贵州威振押运有限公司',
-					sex: '男'
+					sex: '男',
+					evaluate: '性格开朗,工作认真负责,细心,有很强的职责心和进取心,头脑灵活,不怕吃苦,理解潜力强,能够很好的处理同事的关系,具有强烈的团队合作精神,并能承担必须的工作压力。'
 				},
 				// 求职意向
 				jobIntention: true,

+ 49 - 12
h5_web/pages/newsDetails/newsDetails.vue

@@ -1,6 +1,15 @@
 <template>
-	<view class="ql-editor">
-		<u-parse :html="content"></u-parse>
+	<view class="news-details">
+		<view class="news-details-header">
+			<view class="news-details-header-title">{{ newsInfo.artTitle }}</view>
+			<view class="news-details-header-subtitle">
+				<view>来源:{{ newsInfo.artAuthor }}</view>
+				<view>{{ formatDate(newsInfo.createTime) }}</view>
+			</view>
+		</view>
+		<view class="news-details-content">
+			<u-parse :html="newsInfo.artContent"></u-parse>
+		</view>
 		<u-toast ref="uToast" />
 	</view>
 </template>
@@ -9,7 +18,7 @@
 	export default{
 		data(){
 			return{
-				content:''
+				newsInfo: ''
 			}
 		},
 		onLoad(page){
@@ -23,12 +32,10 @@
 		methods:{
 			// 获取详情
 			getDetails(id) {
-				this.$u.api.getNewsDetails({id:id})
+				this.$u.api.getNewsDetails({ id: id })
 				.then(res=>{
-					console.log('getNewsDetails',JSON.parse(JSON.stringify(res)));
 					if (res.code === 200) {
-						console.log(res.data);
-						this.content = res.data.artContent;
+						this.newsInfo = res.data
 					} else {
 						this.$refs.uToast.show({
 							title: res.msg,
@@ -42,15 +49,45 @@
 						type: 'error'
 					})
 				})
+			},
+			/**
+			 * 初始化日期 MM-dd hh:mm
+			 */
+			formatDate(date) {
+				let value;
+				if (date) {
+					value = this.$u.timeFormat(date.replace(/-/g, '/'), 'mm-dd hh:MM')
+				}
+				return value;
 			}
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
-	// page{padding: 24rpx;}
-	// @import  './newsDetails.scss'
-	@import  '@/static/css/quill.bubble.scss';
-	@import  '@/static/css/quill.core.scss';
-	@import  '@/static/css/quill.snow.scss';
+	// @import  '@/static/css/quill.bubble.scss';
+	// @import  '@/static/css/quill.core.scss';
+	// @import  '@/static/css/quill.snow.scss';
+	.news-details {
+		padding: 30rpx 44rpx;
+		font-family: 'PingFangSC-Regular, PingFang SC';
+		&-header {
+			border-bottom: solid 1px #DBDBDB;
+			padding-bottom: 22rpx;
+			&-title {
+				color: #000;
+				font-size: 36rpx;
+			}
+			&-subtitle {
+				margin-top: 20rpx;
+				display: flex;
+				justify-content: space-between;
+				color: #6F6F6F;
+				font-size: 20rpx;
+			}
+		}
+		&-content {
+			padding: 18rpx 0;
+		}
+	}
 </style>

+ 32 - 31
h5_web/pages/newsInformation/newsInformation.vue

@@ -7,15 +7,15 @@
 			@query="queryList"
 		>
 			<view class="news-list">
-				<view class="news-list-item" v-for="(item, index) in newsList" :key="index">
+				<view class="news-list-item" v-for="(item, index) in newsList" :key="index" @click="jumpPage('/pages/newsDetails/newsDetails', { artId: item.artId })">
 					<view class="news-list-item-left">
-						<image :src="item.url"></image>
+						<image :src="item.artImage"></image>
 					</view>
 					<view class="news-list-item-right">
-						<view class="title">{{ item.title }}</view>
+						<view class="title">{{ item.artTitle }}</view>
 						<view class="date">
-							<view>{{ item.from }}</view>
-							<view>{{ item.date }}</view>
+							<view>来源:{{ item.artAuthor }}</view>
+							<view>{{ item.artPostTime }}</view>
 						</view>
 					</view>
 				</view>
@@ -34,37 +34,35 @@
 			}
 		},
 		methods: {
+			/**
+			 * 获取新闻列表
+			 */
+			getList(pageNum, pageSize) {
+				this.$u.api.getIndexNewsList({
+					pageNum: pageNum,
+					pageSize: pageSize,
+					artCategoryId: 2
+				}).then(res => {
+					if (res.code === 200) {
+						this.$refs.paging.complete(res.rows)
+					}
+				})
+			},
 			/**
 			 * @param { Number } pageNo
 			 * @param { Number } pageSize
 			 */
 			queryList(pageNo, pageSize) {
-				this.$refs.paging.complete([
-					{
-						url: require('../../static/img/major-党务工作.png'),
-						title: '退役军人事务部召开党史学习教育领导小组会议',
-						from: '来源:机关党委(人事司)',
-						date: '2021.10.20 07:18'
-					},
-					{
-						url: require('../../static/img/major-党务工作.png'),
-						title: '退役军人事务部召开党史学习教育领导小组会议',
-						from: '来源:机关党委(人事司)',
-						date: '2021.10.20 07:18'
-					},
-					{
-						url: require('../../static/img/major-党务工作.png'),
-						title: '退役军人事务部召开党史学习教育领导小组会议',
-						from: '来源:机关党委(人事司)',
-						date: '2021.10.20 07:18'
-					},
-					{
-						url: require('../../static/img/major-党务工作.png'),
-						title: '退役军人事务部召开党史学习教育领导小组会议',
-						from: '来源:机关党委(人事司)',
-						date: '2021.10.20 07:18'
-					}
-				])
+				this.getList(pageNo, pageSize);
+			},
+			/**
+			 * 跳转到指定页面
+			 */
+			jumpPage(url, params) {
+				this.$u.route({
+					url: url,
+					params: params
+				})
 			}
 		}
 	}
@@ -100,6 +98,9 @@
 					font-size: 20rpx;
 					display: flex;
 					justify-content: space-between;
+					view {
+						width: 50%;
+					}
 				}
 			}
 		}

+ 2 - 2
h5_web/pages/personalModify/personalModify.vue

@@ -2,9 +2,9 @@
 <template>
 	<view>
 		<u-cell-group>
-			<u-cell-item title="头像">
+			<u-cell-item title="头像修改">
 				<u-upload slot="right-icon" :custom-btn="true" :before-upload="beforeUpload" :multiple="false" :show-upload-list="false">
-					<u-avatar slot="addBtn" :src="avatarUrl" mode="square" size="100"></u-avatar>
+					<u-avatar slot="addBtn" :src="avatarUrl" mode="circle" size="100"></u-avatar>
 				</u-upload>
 			</u-cell-item>
 		</u-cell-group>

+ 1 - 1
h5_web/pages/phoneLogin/phoneLogin.vue

@@ -166,7 +166,7 @@ export default {
 					this.jumpIndex();
 				}else{
 					uni.navigateTo({
-						url: '/pages/authentication/authentication'
+						url: '/pages/applyEducationCode/applyEducationCode'
 					})
 				}
 			})

+ 92 - 0
h5_web/pages/professionalDetails/professionalDetails.vue

@@ -0,0 +1,92 @@
+<!-- 专业详情 -->
+<template>
+	<view class="details">
+		<view class="details-name">{{ professionalInfo.professionName }}</view>
+		<view class="details-code">(专业代码:{{ professionalInfo.professionCode }})</view>
+		<view class="details-content">
+			<u-parse v-if="professionalInfo.professionDetail" :html="professionalInfo.professionDetail"></u-parse>
+			<u-empty v-else text="暂无专业详情" mode="data"></u-empty>
+		</view>
+		<view class="details-total" v-if="professionalInfo.browseTimes">浏览{{ professionalInfo.browseTimes }}次</view>
+		<u-toast ref="uToast" />
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				// 专业id
+				professionalId: '',
+				// 专业信息
+				professionalInfo: ''
+			}
+		},
+		onLoad(page) {
+			if (page.id) {
+				this.professionalId = page.id
+			}
+		},
+		onShow() {
+			uni.showLoading({
+				title: '加载中'
+			})
+			if (this.professionalId) {
+				setTimeout(() => {
+					this.getProfessionalInfo(this.professionalId)
+				}, 300)
+			}
+		},
+		methods: {
+			/**
+			 * 通过本地获取专业信息
+			 */
+			getProfessionalInfo(id) {
+				this.$u.api.school.getProfessonDetails({
+					id: id
+				}).then(res => {
+					uni.hideLoading()
+					if (res.code === 200) {
+						this.professionalInfo = res.data
+					}
+				}).catch(err => {
+					uni.hideLoading()
+					this.$refs.uToast.show({
+						title: '系统错误!',
+						type: 'error'
+					})
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+.details {
+	padding: 0 32rpx;
+	font-family: 'PingFangSC-Medium, PingFang SC';
+	&-name {
+		padding-top: 60rpx;
+		text-align: center;
+		font-size: 42rpx;
+		color: #3D5D4C;
+		font-weight: 500;
+	}
+	&-code {
+		color: #606060;
+		font-size: 36rpx;
+		text-align: center;
+		margin: 30rpx 0;
+	}
+	&-content {
+		color: #545454;
+		font-size: 24rpx;
+		line-height: 40rpx;
+	}
+	&-total {
+		color: #9B9B9B;
+		font-size: 24rpx;
+		margin-top: 60rpx;
+	}
+}
+</style>

+ 137 - 0
h5_web/pages/progressiveIntegral/progressiveIntegral.scss

@@ -0,0 +1,137 @@
+/* 进步积分 */
+.integral {
+	min-height: 100vh;
+	background-color: #F2F2F2;
+	&-bg {
+		height: 560rpx;
+		margin-top: -44px;
+		background-image: url(../../static/img/progressive-integral-bg.png);
+		background-position: center center;
+		background-repeat: no-repeat;
+		background-size: cover;
+	}
+	
+	&-content {
+		margin-top: -472rpx;
+		&-header {
+			text-align: center;
+			font-size: 22rpx;
+			color: rgba($color: #fff, $alpha: 0.5);
+			position: relative;
+			&-grade {
+				font-size: 120rpx;
+				color: #FFFFFF;
+				font-weight: bold;
+			}
+			
+			&-point {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				.point {
+					width: 16rpx;
+					height: 16rpx;
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					border-radius: 50%;
+					border: solid 1px rgba($color: #fff, $alpha: 0.5);
+					margin: 0 10rpx;
+					view {
+						width: 8rpx;
+						height: 8rpx;
+						border-radius: 50%;
+						background-color: rgba($color: #fff, $alpha: 0.5);
+					}
+				}
+			}
+			
+			&-rules {
+				position: absolute;
+				right: 0;
+				top: 80rpx;
+				width: 166rpx;
+				height: 58rpx;
+				line-height: 58rpx;
+				background-color: rgba($color: #fff, $alpha: 0.7);
+				border-top-left-radius: 29rpx;
+				border-bottom-left-radius: 29rpx;
+				color: #FF6900;
+			}
+			
+			&-behavior {
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				width: calc(100% - 124rpx);
+				margin: 64rpx auto;
+				.item {
+					height: 60rpx;
+					padding: 0 44rpx;
+					background-color: rgba($color: #fff, $alpha: 0.2);
+					border-radius: 30rpx;
+					font-size: 40rpx;
+					color: #fff;
+					display: flex;
+					align-items: center;
+					text {
+						font-size: 24rpx;
+						color: rgba($color: #fff, $alpha: 0.5);
+						margin-left: 10rpx;
+					}
+				}
+			}
+		}
+		
+		&-first {
+			display: flex;
+			justify-content: space-between;
+			width: calc(100% - 60rpx);
+			margin: 30rpx auto;
+			background-color: #fff;
+			border-radius: 10rpx;
+			padding: 32rpx 60rpx;
+			&-item {
+				text-align: center;
+				color: #393939;
+				font-size: 26rpx;
+				image {
+					width: 94rpx;
+					height: 94rpx;
+					margin-top: 12rpx;
+				}
+			}
+		}
+		
+		&-list {
+			width: calc(100% - 60rpx);
+			margin: 0 auto;
+			background-color: #fff;
+			border-radius: 10rpx;
+			padding: 30rpx;
+			&-item {
+				display: flex;
+				justify-content: space-between;
+				border-bottom: solid 1px #DBDBDB;
+				padding: 16rpx 0;
+				color: #000000;
+				font-size: 28rpx;
+				.left {
+					view {
+						&:last-child {
+							color: #B2B2B2;
+							font-size: 24rpx;
+							margin-top: 10rpx;
+						}
+					}
+				}
+				.right {
+					font-size: 42rpx;
+					.reduce {
+						color: #EF651F;
+					}
+				}
+			}
+		}
+	}
+}

+ 103 - 5
h5_web/pages/progressiveIntegral/progressiveIntegral.vue

@@ -1,6 +1,63 @@
+<!-- 进步积分 -->
 <template>
-	<view>
-		进步积分
+	<view class="integral">
+		
+		<!-- 导航栏 -->
+		<u-navbar class="evaluate-intention-bar" back-text="" title="进步积分" :background="background" title-color="#fff" back-icon-color="#fff">
+		</u-navbar>
+		
+		<!-- 背景 -->
+		<view class="integral-bg"></view>
+		
+		<!-- 内容 -->
+		<view class="integral-content">
+			
+			<view class="integral-content-header">
+				<view class="integral-content-header-grade">688</view>
+				<view class="integral-content-header-point">
+					<view class="point">
+						<view></view>
+					</view>
+					<view>累计获得积分</view>
+					<view class="point">
+						<view></view>
+					</view>
+				</view>
+				<view class="integral-content-header-rules">积分规则<u-icon name="arrow-right"/></view>
+				<view class="integral-content-header-behavior">
+					<view class="item">286<text>个加分行为</text></view>
+					<view class="item">33<text>个减分行为</text></view>
+				</view>
+			</view>
+			
+			<view class="integral-content-first">
+				<view class="integral-content-first-item">
+					<image src="../../static/img/priority-recommendation-icon.png" mode=""></image>
+					<view>优先推荐</view>
+				</view>
+				<view class="integral-content-first-item">
+					<image src="../../static/img/priority-shift-icon.png" mode=""></image>
+					<view>优先分班</view>
+				</view>
+				<view class="integral-content-first-item">
+					<image src="../../static/img/priority-feedback-icon.png" mode=""></image>
+					<view>优先反馈</view>
+				</view>
+			</view>
+			
+			<view class="integral-content-list">
+				<view class="integral-content-list-item" v-for="(item, index) in integralList" :key="index">
+					<view class="left">
+						<view>{{ item.title }}</view>
+						<view>{{ item.date }}</view>
+					</view>
+					<view class="right">
+						<view v-if="item.type === 0">+{{ item.grade }}</view>
+						<view v-else class="reduce">-{{ item.grade }}</view>
+					</view>
+				</view>
+			</view>
+		</view>
 	</view>
 </template>
 
@@ -8,7 +65,48 @@
 	export default {
 		data() {
 			return {
-				
+				background: {
+					backgroundColor: '#FE7C0F'
+				},
+				// 积分列表
+				integralList: [
+					{
+						title: '签到成功',
+						date: '2021-03-25',
+						grade: 100,
+						type: 0
+					},
+					{
+						title: '积分商城兑换',
+						date: '2021-03-24',
+						grade: 5000,
+						type: 1
+					},
+					{
+						title: '签到成功',
+						date: '2021-03-24',
+						grade: 100,
+						type: 0
+					},
+					{
+						title: '签到成功',
+						date: '2021-03-23',
+						grade: 100,
+						type: 0
+					},
+					{
+						title: '签到成功',
+						date: '2021-03-22',
+						grade: 100,
+						type: 0
+					},
+					{
+						title: '签到成功',
+						date: '2021-03-21',
+						grade: 100,
+						type: 0
+					}
+				]
 			}
 		},
 		methods: {
@@ -17,6 +115,6 @@
 	}
 </script>
 
-<style>
-
+<style lang="scss" scoped>
+@import './progressiveIntegral.scss';
 </style>

+ 108 - 33
h5_web/pages/schoolDetails/schoolDetails.vue

@@ -4,13 +4,13 @@
 		<view class="school-details-bg"></view>
 		<view class="school-details-content">
 			<view class="school-details-content-logo">
-				<image src="../../static/img/avatar.jpg" mode=""></image>
+				<image :src="schoolInfo.schoolLogoUrl" mode=""></image>
 			</view>
-			<view class="school-details-content-name">贵州电子科技职业学院</view>
+			<view class="school-details-content-name">{{ schoolInfo.schoolName }}</view>
 			<view class="school-details-content-evaluate">
 				<view class="left">
 					<view class="evaluate">优秀</view>
-					<view class="describe">综合评分</view>
+					<!-- <view class="describe">综合评分</view>
 					<view class="star">
 						<u-icon name="star-fill" color="#EF651F"></u-icon>
 						<u-icon name="star-fill" color="#EF651F"></u-icon>
@@ -18,7 +18,7 @@
 						<u-icon name="star-fill" color="#EF651F"></u-icon>
 						<u-icon name="star-fill" color="#EF651F"></u-icon>
 					</view>
-					<view class="grade">4.8</view>
+					<view class="grade">4.8</view> -->
 				</view>
 				<view class="right">
 					详情
@@ -29,21 +29,21 @@
 			<view class="school-details-content-survey">
 				<view class="title">学校概况</view>
 				<view class="item">
-					<view>学校名称:贵州电子科技职业学院</view>
-					<view>学校性质:公办</view>
-					<view>培养方式:分段贯通、分类培养</view>
-					<view class="home">
+					<view>学校名称:{{ schoolInfo.schoolName || '-' }}</view>
+					<view>学校性质:{{ getSchoolTypeName(schoolInfo.schoolNature) }}</view>
+					<view>培养方式:{{ schoolInfo.trainMethod || '-' }}</view>
+					<view class="home" @click="jumpSchoolHome(schoolInfo.schoolUrl)">
 						<view>
-							学校主页:<text>http://www.gzdzxy.cn</text>
+							学校主页:<text>{{ schoolInfo.schoolUrl || '-' }}</text>
 						</view>
 						<view>
 							<u-icon name="arrow-right" color="#EF651F" size="24"/>
 						</view>
 					</view>
-					<view>招生邮箱:722899999@qq.com</view>
-					<view>联系人:陈老师、宁老师</view>
-					<view>联系电话:0851-8493208</view>
-					<view>地址:贵州省贵州贵安新区马场科技新城龙潭路1号</view>
+					<view>招生邮箱:{{ schoolInfo.email || '-' }}</view>
+					<view>联系人:{{ schoolInfo.linkUser || '-' }}</view>
+					<view>联系电话:{{ schoolInfo.linkPhone || '-' }}</view>
+					<view>地址:{{ schoolInfo.schoolAddress || '-' }}</view>
 					<view class="address">
 						<view>
 							<image src="../../static/img/dingwei.png"/>
@@ -56,13 +56,12 @@
 			<!-- 学校信息 -->
 			<view class="school-details-content-introduce">
 				<view class="title">学校信息</view>
-				<view class="content">
-					贵州电子科技职业学院2016年3月经贵州省人民政府批准成立,隶属贵州贵安新区管委会,为全日制公办普通高职院校,以全日制高等教育为主,中等职业教育为辅,同时举办非学历教育。学院的前身是贵州省电子工业学校,始建于1979年,是一所以培养电子信息技术、机械加工和电气控制技术为主的国家级重点中等职业学校、国家中等职业教育改革发展示范学校。 学校位于国家级新区贵安新区马场科技新城,占地面积870亩,投资21.6亿元,建筑面积40万平方米,办学规模10000人。学校校园环境优美,生活便利,东邻“七星湖湿地公园”,南邻青山,西邻“富士康小镇”,北邻“011基地302医院”,隔路相邻“贵安新区电子信息产业园”、“贵安新区高端制造产业园”等西南地区产业企业集中的园区,是职业院校学习、实习及就业的典型优化模式。 学校首批开设 “电子信息工程技术”、“电气自动化技术”、“计算机网络技术”、“电信服务与管理”、“数控技术”、“汽车电子技术”、“软件技术”、“电子商务”等8个专业。现有贵安财政支持建设的020电商人才孵化基地,大数据实训室、计算机云计算实训室、虚拟现实体验中心。校内建设实训基地有:电工电子与自动化技术实训基地、电子技术应用实训基地、网络实训基地、广告制作实训基地等。实训仪器、设备台套数和设施工位充足、技术先进,能够满足目前开设的各专业实训教学计划培养目标的需求。
-				</view>
+				<view class="content" v-if="schoolInfo.detatil">{{ schoolInfo.detatil }}</view>
+				<u-empty v-else text="暂无学校信息" mode="data"></u-empty>
 			</view>
 			
 			<!-- 学校相册 -->
-			<view class="school-details-content-album">
+			<!-- <view class="school-details-content-album">
 				<view class="title">学校相册</view>
 				<view class="pic-list">
 					<view
@@ -73,20 +72,26 @@
 						<image :src="item.url" mode=""></image>
 					</view>
 				</view>
-			</view>
+			</view> -->
 			
 			<!-- 特色专业 -->
-			<view class="school-details-content-major">
-				<view class="title">特色专业</view>
+			<view class="school-details-content-major" v-if="schoolInfo.twinList && schoolInfo.twinList.length > 0">
+				<view class="title">双高专业</view>
 				<view class="major-list">
-					<view class="major-list-item">
-						<view>应用化工技术(专业代码:570201)</view>
+					<view class="major-list-item" v-for="(item, index) in schoolInfo.twinList" :key="index" @click="jumpPage('/pages/professionalDetails/professionalDetails', { id: item.id })">
+						<view>{{ item.professionName }}(专业代码:{{ item.professionCode }})</view>
 						<view>
 							<u-icon name="arrow-right"/>
 						</view>
 					</view>
-					<view class="major-list-item">
-						<view>应用化工技术(专业代码:570201)</view>
+				</view>
+			</view>
+			
+			<view class="school-details-content-major" v-if="schoolInfo.enrollList && schoolInfo.enrollList.length > 0">
+				<view class="title">招生专业</view>
+				<view class="major-list">
+					<view class="major-list-item" v-for="(item, index) in schoolInfo.enrollList" :key="index" @click="jumpPage('/pages/professionalDetails/professionalDetails', { id: item.id })">
+						<view>{{ item.professionName }}(专业代码:{{ item.professionCode }})</view>
 						<view>
 							<u-icon name="arrow-right"/>
 						</view>
@@ -94,6 +99,7 @@
 				</view>
 			</view>
 		</view>
+		<u-toast ref="uToast" />
 	</view>
 </template>
 
@@ -102,18 +108,87 @@
 		data() {
 			return {
 				// 学校相册
-				picList: [
-					{
-						url: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2F5883681.s21i.faiusr.com%2F2%2FABUIABACGAAgpdOXrQUo6bG5wgYw9AM4uwI.jpg&refer=http%3A%2F%2F5883681.s21i.faiusr.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1637389823&t=ae7d50157800667800f24911b60c4a3b'
-					},
-					{
-						url: 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg105.job1001.com%2Fupload%2Falbum%2F2015-01-09%2F1420776447-A8AMV7X_960_600.JPG&refer=http%3A%2F%2Fimg105.job1001.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1637389823&t=b67bd35034b7a1f74dd4d453ecc24e4a'
-					}
-				],
+				picList: [],
+				// 学校id
+				schoolId: '',
+				// 学校信息
+				schoolInfo: {},
+				// 学校性质
+				schoolTypeList: []
+			}
+		},
+		onLoad(page) {
+			if (page.schoolId) {
+				this.schoolId = page.schoolId
+			}
+		},
+		onShow() {
+			this.getSchoolTypeList()
+			if (this.schoolId) {
+				this.getSchoolDetails(this.schoolId)
 			}
 		},
 		methods: {
-			
+			/**
+			 * 通过学校id获取学校详情
+			 * @param { String } id 学校id
+			 */
+			getSchoolDetails(id) {
+				this.$u.api.school.getSchoolDetails({
+					id: id
+				}).then(res => {
+					if (res.code === 200) {
+						this.schoolInfo = res.data
+					}
+				}).catch(err => {
+					this.$refs.uToast.show({
+						title: err.data.message,
+						type: 'error'
+					})
+				})
+			},
+			/**
+			 * 获取学校性质字典
+			 */
+			getSchoolTypeList() {
+				this.$u.api.getDictdataUrl({
+					key: 'school_nature'
+				}).then(res => {
+					if (res.code === 200) {
+						this.schoolTypeList = res.data
+					}
+				})
+			},
+			/**
+			 * 通过字典值去获取名称
+			 * @param { String } val 字典text值
+			 */
+			getSchoolTypeName(val) {
+				let name
+				this.schoolTypeList.forEach(item => {
+					if (Number(item.text) === Number(val)) {
+						name = item.label
+					}
+				})
+				return name
+			},
+			/**
+			 * 跳转到外部网页
+			 */
+			jumpSchoolHome(url) {
+				if (url) {
+					location.href = url
+				}
+			},
+			/**
+			 * 跳转到到指定页面
+			 */
+			jumpPage(url, params) {
+				this.$u.route({
+					url: url,
+					params: params
+				})
+			}
 		}
 	}
 </script>

+ 0 - 156
h5_web/pages/schools/schools - 副本.vue

@@ -1,156 +0,0 @@
-<template>
-	<view>
-		<!-- <u-empty text="此功能正在建设中" margin-top="400" src="/static/img/empty.png"></u-empty> -->
-		<u-search height="80" class="top-search" placeholder="快速搜索学院" v-model="keyword" @search="search" @custom="search" @clear="search"></u-search>
-		<!-- <u-cell-group title="教育基地">
-			<u-cell-item 
-			@click="schoolClick(item)"
-			v-for="(item,index) in schoolList" 
-			:key='item.id' 
-			:label='item.number+"个专业 | "+item.schoolNature|verifySchoolNatureFilter'
-			:title="item.schoolName">
-				<image class="cell-icon" :src="item.schoolLogoUrl" slot="icon" mode=""></image>
-			</u-cell-item>
-		</u-cell-group> -->
-		<mescroll-uni ref="mescrollRef" @init="mescrollInit" top="150" @down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">
-			<view class="school-item u-flex u-row-between" @click="schoolClick(item)" v-for="(item,index) in schoolList" :key='item.id' >
-				<view class=" u-flex">
-					<image class="school-item-img" :src="item.schoolLogoUrl" mode="scaleToFill"></image>
-					<view class="school-item-info" style="display: inline-block;">
-						<view class="up">
-							{{item.schoolName}}
-						</view>
-						<view class="down">
-							<!-- {{item.count}}个专业 | -->
-							{{item.schoolNature|verifySchoolNatureFilter}}
-						</view>
-					</view>
-				</view>
-				<view class="arrow">
-					<u-icon name="arrow-right" color="#969799" size="28"></u-icon>
-				</view>
-			</view>
-		</mescroll-uni>
-	</view>
-</template>
-
-<script>
-	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	// import mock from "../../static/js/mock.js";
-	export default{
-		mixins: [MescrollMixin], // 使用mixin (在main.js注册全局组件)
-		data(){
-			return{
-				keyword:'',
-				schoolList:[],
-				upOption:{
-					// page: {
-					// 	size: 10 // 每页数据的数量
-					// },
-					// auto:false,
-					// use:false,
-					noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
-					empty:{
-						tip: '~ 暂无数据 ~', // 提示
-						// btnText: '去看看'
-					}
-				},
-			}
-		},
-		onLoad(){
-			
-		},
-		onShow(){
-			
-		},
-		filters:{
-			verifySchoolNatureFilter(value){
-			  if (value == 1) {
-				return '公办';
-			  }else if(value == 2){
-				return '民办';
-			  }
-			 }
-		},
-		methods:{
-			search(value){
-				console.log('value',value);
-				this.mescroll.resetUpScroll();
-			},
-			/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
-			upCallback(page) {
-				// console.log('page',page)
-				//联网加载数据
-				let params ={
-					schoolName:this.keyword,
-					pageNum:page.num,
-					pageSize:page.size
-				} 
-				this.$u.api.getSchoolList(params).then(curPageData=>{
-					// console.log('curPageData',curPageData)
-					//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
-					this.mescroll.endSuccess(curPageData.rows.length);
-					//设置列表数据
-					if(page.num == 1) this.schoolList = []; //如果是第一页需手动制空列表
-					this.schoolList=this.schoolList.concat(curPageData.rows); //追加新数据
-				}).catch((err)=>{
-					uni.showToast({
-						title:'链接失败'
-					});
-					console.log('err',err)
-					//联网失败, 结束加载
-					this.mescroll.endErr();
-				})
-			},
-			schoolClick(item){
-				console.log('schoolClick item',item);
-				let analysisParams ={
-					platform:'1',//平台:1-H5 2-APP 3-小程序 4-PC端
-					pages:location.href,//页面路径
-					btnName:'',//按钮名称
-					btnEvent:'1',//按钮事件: 1-点击 2-长按 3-滑动
-					ipAddress:'',//IP地址
-					typeName:'学校关注度',//类型名称 例:学校关注度 、适应性考试等
-					typeCode:'',//类型编码 例:类型名称首字母缩写(XXGZD)
-					categoryName:item.schoolName,//类别名称 例:XX学校,SS考试
-				};
-				uni.request({
-				    url:'/apis/cityjson?ie=utf-8',
-					method:'GET',
-					success: (res) => {
-						// console.log('this',this);
-				        const reg = /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/;
-						let ip = reg.exec(res.data);
-						analysisParams.ipAddress = ip[0];
-						console.log('analysisParams',analysisParams);
-					}
-				});
-				this.$u.api.postAnalysis(analysisParams).then(res=>{
-					console.log('res',res);
-					if(res.code == 200){
-						
-					}else{
-						uni.showToast({
-							icon:'none',
-							title:res.msg
-						})
-					}
-					location.href = item.schoolUrl
-				});
-				
-			}
-			
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.top-search{padding: 24rpx;}
-	.cell-icon{width: 100rpx;height: 100rpx;margin-right: 24rpx;}
-	
-	.school-item{padding: 24rpx 24rpx;border-bottom: 1px solid #ddd;}
-	.school-item .up{font-size: 30rpx;margin-bottom: 10rpx;}
-	.school-item .down{color: #ababab;}
-	.school-item-img{width: 100rpx;height: 100rpx;margin-right: 24rpx;}
-	// @import  './schools.scss'
-</style>

+ 77 - 36
h5_web/pages/schools/schools.vue

@@ -5,21 +5,23 @@
 			<!-- 搜索 -->
 			<view class="school-search" slot="top">
 				<u-search class="school-search-input" placeholder="请输入关键词" v-model="keyword" shape="square"
-					input-align="center" :show-action="false" bg-color="#ffffff" height="70" />
+					input-align="center" :show-action="false" bg-color="#ffffff" height="70" @search="keywordChange"/>
 			</view>
 			<view class="school-list">
-				<view class="school-list-item" v-for="(item, index) in schoolList" :key="index" @click="jumpPage('/pages/schoolDetails/schoolDetails')">
+				<view class="school-list-item" v-for="(item, index) in schoolList" :key="index" @click="jumpPage('/pages/schoolDetails/schoolDetails', {
+					schoolId: item.id
+				})">
 					<view class="school-list-item-left">
 						<view class="image">
-							<image :src="item.logo" mode=""></image>
+							<image :src="item.schoolLogoUrl" mode=""></image>
 						</view>
 						<view class="title">
 							<view class="name">{{ item.schoolName }}</view>
 							<view class="grade">
-								<view class="icon">
-									<u-icon class="icon-img" name="star-fill" color="#EF651F" /> {{item.grade}}
-								</view>
-								<view>{{ item.content }}</view>
+								<!-- <view class="icon">
+									<u-icon class="icon-img" name="star-fill" color="#EF651F" /> {{item.count}}
+								</view> -->
+								<view>{{ `${item.count}个专业 · ${getSchoolTypeName(item.schoolNature)} ` }}</view>
 							</view>
 						</view>
 					</view>
@@ -40,46 +42,85 @@
 				// 搜索关键词
 				keyword: '',
 				// 学校列表
-				schoolList: []
+				schoolList: [],
+				// 学校性质列表
+				schoolTypeList: [],
+				// 分页
+				page: {
+					pageNum: 1,
+					pageSize: 10
+				}
 			}
 		},
+		onShow() {
+			this.getSchoolTypeList()
+		},
 		methods: {
+			/**
+			 * 获取列表
+			 * @param { Number } pageNum 当前页数
+			 * @param { Number } pageSize 分页大小
+			 * @param { String } schoolName 搜索关键词
+			 */
+			getList(pageNum, pageSize, schoolName) {
+				this.$u.api.school.getSchoolList({
+					pageNum: pageNum,
+					pageSize: pageSize,
+					schoolName: schoolName
+				}).then(res => {
+					if (res.code === 200) {
+						this.$refs.paging.complete(res.rows)
+					}
+				})
+			},
+			/**
+			 * 获取学校性质字典
+			 */
+			getSchoolTypeList() {
+				this.$u.api.getDictdataUrl({
+					key: 'school_nature'
+				}).then(res => {
+ 					if (res.code === 200) {
+						this.schoolTypeList = res.data
+					}
+				})
+			},
+			/**
+			 * 通过字典值去获取名称
+			 * @param { String } val 字典text值
+			 */
+			getSchoolTypeName(val) {
+				let name
+				this.schoolTypeList.forEach(item => {
+					if (Number(item.text) === Number(val)) {
+						name = item.label
+					}
+				})
+				return name
+			},
 			/**
 			 * @param { Number } pageNo
 			 * @param { Number } pageSize
 			 */
 			queryList(pageNo, pageSize) {
-				this.$refs.paging.complete([{
-						logo: require('../../static/img/avatar.jpg'),
-						schoolName: '贵阳护理职业学院',
-						grade: 3.5,
-						content: '20个专业 · 公办'
-					},
-					{
-						logo: require('../../static/img/avatar.jpg'),
-						schoolName: '贵阳护理职业学院',
-						grade: 3.5,
-						content: '20个专业 · 公办'
-					},
-					{
-						logo: require('../../static/img/avatar.jpg'),
-						schoolName: '贵阳护理职业学院',
-						grade: 3.5,
-						content: '20个专业 · 公办'
-					},
-					{
-						logo: require('../../static/img/avatar.jpg'),
-						schoolName: '贵阳护理职业学院',
-						grade: 3.5,
-						content: '20个专业 · 公办'
-					}
-				])
+				this.getList(pageNo, pageSize, this.keyword)
+			},
+			/**
+			 * 关键词搜索回车触发
+			 */
+			keywordChange() {
+				this.getList(1, 10, this.keyword)
 			},
 			/**
-			 * @param { String } url
+			 * 跳转到指定页面
+			 * @param { String } url 指定页面的路径
+			 * @param { Object } params 跳转携带参数
 			 */
-			jumpPage(url) {
-				this.$u.route(url)
+			jumpPage(url, params) {
+				this.$u.route({
+					url: url,
+					params: params
+				})
 			}
 		}
 	}

BIN=BIN
h5_web/static/img/add-experience-icon.png


BIN=BIN
h5_web/static/img/avatar-bg.png


BIN=BIN
h5_web/static/img/edit-icon.png


BIN=BIN
h5_web/static/img/jianlitongguo.png


BIN=BIN
h5_web/static/img/jinengx.png


BIN=BIN
h5_web/static/img/mianshi-houxuanren.png


BIN=BIN
h5_web/static/img/mine-bg.png


BIN=BIN
h5_web/static/img/pingjia.png


BIN=BIN
h5_web/static/img/priority-feedback-icon.png


BIN=BIN
h5_web/static/img/priority-recommendation-icon.png


BIN=BIN
h5_web/static/img/priority-shift-icon.png


BIN=BIN
h5_web/static/img/progressive-integral-bg.png


BIN=BIN
h5_web/static/img/shezhi.png


BIN=BIN
h5_web/static/img/toudimoren.png