Browse Source

配置正式环境打包

空白格 2 năm trước cách đây
mục cha
commit
48ba31327e

+ 6 - 5
h5_web/common/config.js

@@ -1,12 +1,13 @@
 /**
  * 配置通用 
  */
+// const baseUrl = 'https://wx.hw.hongweisoft.com/veterans' // 测试环境地址
+const baseUrl = 'http://api.veterans.hongweisoft.com' // 正式环境地址
 const config = {
-	baseUrl: 'https://wx.hw.hongweisoft.com/veterans/app' ,// 201服务器地址
-	// baseUrl: 'https://veterwebpro.hw.hongweisoft.com/veterans-prod-api/app' ,// 正式服务器地址
-	uploadUrl: 'https://wx.hw.hongweisoft.com/veterans/file/upload/single/minio', // 上传地址
-	timChatUrl: 'https://veterhchat.hw.hongweisoft.com/#/pages/login/login', // 线上退役军人聊天TIM
-	// timChatUrl: 'http://172.16.90.126:8081/#/pages/login/login', // 本地聊天TIM
+	baseUrl: `${baseUrl}/app` ,// 201服务器地址
+	uploadUrl: `${baseUrl}/file/upload/single/minio`, // 测试环境上传地址
+	timChatUrl: 'http://mobile.veterans.hongweisoft.com/chat/pages/login/login', // 线上退役军人聊天TIM
+	// timChatUrl: 'http://localhost:8081/chat/pages/login/login', // 本地聊天TIM
 	viewInterviewUrl: 'https://veterhwebchat.hw.hongweisoft.com/#/', // 视频聊天地址
 	version: '1.0.2'
 }

+ 4 - 0
h5_web/components/judge-auth/judge-auth.vue

@@ -45,6 +45,10 @@ export default {
 							this.content = '您的认证已被撤销,该功能需要认证后才能使用!'
 							this.show = true
 							break;
+						case 9:
+							this.content = '您还未进行认证,该功能需要认证后才能使用!'
+							this.show = true
+							break;
 					}
 				} else {
 					this.$refs.uToast.show({

+ 191 - 132
h5_web/pages/applyEducationCode/applyEducationCode.vue

@@ -1,13 +1,14 @@
 <!-- 退役军人职业教育码申请 -->
 <template>
 	<view class="apply-code">
-		<u-navbar back-text="" title="" back-icon-color="#FFFFFF" :background="{ background: '#3D5D4C' }" :border-bottom="false"></u-navbar>
+		<u-navbar back-text="" title="" back-icon-color="#FFFFFF" :background="{ background: '#3D5D4C' }"
+			:border-bottom="false" :custom-back="customBack"></u-navbar>
 		<u-form :model="form" ref="uForm" label-width="160" label-align="left">
 			<u-form-item label="姓名:" prop="veteName" :required="true">
 				<u-input v-model="form.veteName" placeholder="请输入真实姓名" />
 			</u-form-item>
 			<u-form-item label="身份证号:" prop="veteIdCard" :required="true">
-				<u-input v-model="form.veteIdCard" placeholder="请输入身份证号" @blur="idNumberChange" maxlength="18"/>
+				<u-input v-model="form.veteIdCard" placeholder="请输入身份证号" @blur="idNumberChange" maxlength="18" />
 			</u-form-item>
 			<u-form-item label="性别:" prop="veteSex" :required="true">
 				<u-input v-model="form.veteSex" placeholder="输入身份证自动获取" disabled />
@@ -16,9 +17,10 @@
 				<u-input v-model="form.nation" placeholder="请输入您的民族" />
 			</u-form-item>
 			<u-form-item label="所在区域:" prop="veteHousehArea" :required="true">
-				<u-input v-model="form.veteHousehArea" placeholder="请选择您的户籍区域" type="select" @click="areaShow = true"/>
+				<u-input v-model="form.veteHousehArea" placeholder="请选择您的户籍区域" type="select" @click="areaShow = true" />
 			</u-form-item>
-			<u-form-item label="现家庭详细地址:" label-position="top" label-width="200" label-align="left" prop="veteResiAddress" :required="true">
+			<u-form-item label="现家庭详细地址:" label-position="top" label-width="200" label-align="left"
+				prop="veteResiAddress" :required="true">
 				<u-input v-model="form.veteResiAddress" placeholder="请输入您的现家庭详细地址" />
 			</u-form-item>
 			<u-form-item label="户籍类别:" prop="houseTypeId">
@@ -29,13 +31,14 @@
 				</u-radio-group>
 			</u-form-item>
 			<u-form-item label="户籍地:" prop="veteHousehRegi">
-				<u-input v-model="form.veteHousehRegi" placeholder="请选择您的户籍地" type="select" @click="regionClick"/>
+				<u-input v-model="form.veteHousehRegi" placeholder="请选择您的户籍地" type="select" @click="regionClick" />
 			</u-form-item>
 			<u-form-item label="文化程度:" prop="degrEduc" :required="true">
-				<u-input v-model="form.degrEduc" placeholder="请选择您的文化程度" type="select" @click="degrEducShow = true"/>
+				<u-input v-model="form.degrEduc" placeholder="请选择您的文化程度" type="select" @click="degrEducShow = true" />
 			</u-form-item>
 			<u-form-item label="政治面貌:" prop="politOutlook" :required="true">
-				<u-input v-model="form.politOutlook" placeholder="请选择您的政治面貌" type="select" @click="politOutlookShow = true"/>
+				<u-input v-model="form.politOutlook" placeholder="请选择您的政治面貌" type="select"
+					@click="politOutlookShow = true" />
 			</u-form-item>
 			<u-form-item label="就业状况:" prop="jobStatus">
 				<u-radio-group v-model="form.jobStatus">
@@ -45,7 +48,8 @@
 				</u-radio-group>
 			</u-form-item>
 			<u-form-item label="薪资范围:" prop="salaryRangeName">
-				<u-input v-model="form.salaryRangeName" placeholder="请选择您的薪资范围" type="select" @click="salaryRangeShow = true"/>
+				<u-input v-model="form.salaryRangeName" placeholder="请选择您的薪资范围" type="select"
+					@click="salaryRangeShow = true" />
 			</u-form-item>
 			<u-form-item label="QQ:" prop="qqNum">
 				<u-input v-model="form.qqNum" placeholder="请输入您的QQ" />
@@ -55,18 +59,12 @@
 			</u-form-item>
 			<u-form-item label="近期1寸免冠照片:" label-position="top" label-width="200" label-align="left" :required="true">
 				<view class="pic">
-					<u-upload
-						ref="uUpload"
-						:action="action"
-						:custom-btn="true"
-						:max-count="1"
-						:limitType="['png', 'jpg']"
-						@on-success="uploadSuccess"
-						@on-remove="uploadRemove"
-					>
+					<u-upload ref="uUpload" :action="action" :custom-btn="true" :header="{
+							'Authorization': `Bearer ${vuex_token}`
+						}" :max-count="1" :limitType="['png', 'jpg']" @on-success="uploadSuccess" @on-remove="uploadRemove">
 						<view class="pic-upload-box" slot="addBtn">
 							<view class="pic-upload">
-								<image src="../../static/img/upload-add.png" mode=""/>
+								<image src="../../static/img/upload-add.png" mode="" />
 								<view class="font">上传照片</view>
 							</view>
 							<view class="tips">支持jpg.png格式</view>
@@ -88,26 +86,29 @@
 				<u-button type="primary" class="submit" @click="submit">提交</u-button>
 			</u-form-item>
 		</u-form>
-		
+
 		<!-- 文化程度下拉 -->
-		<u-select v-model="degrEducShow" :list="degrEducList" @confirm="degrEducChange" :default-value="degrEducIndex"/>
-		
+		<u-select v-model="degrEducShow" :list="degrEducList" @confirm="degrEducChange"
+			:default-value="degrEducIndex" />
+
 		<!-- 政治面貌下拉 -->
-		<u-select v-model="politOutlookShow" :list="politOutlookList" @confirm="politOutlookChange" :default-value="politOutlookIndex"/>
-		
+		<u-select v-model="politOutlookShow" :list="politOutlookList" @confirm="politOutlookChange"
+			:default-value="politOutlookIndex" />
+
 		<!-- 户籍地下拉 -->
-		<city-select-province v-model="regionShow" :default-region="[]" @city-change="regionConfirm"/>
-		
+		<city-select-province v-model="regionShow" :default-region="[]" @city-change="regionConfirm" />
+
 		<!-- 户籍区域下拉 -->
-		<u-city-select v-model="areaShow" :default-region="[]" @city-change="areaConfirm"/>
-		
+		<u-city-select v-model="areaShow" :default-region="[]" @city-change="areaConfirm" />
+
 		<!-- 工资范围下拉 -->
-		<u-select v-model="salaryRangeShow" :list="salaryRangeList" @confirm="salaryRangeChange" :default-value="salaryRangeIndex"/>
+		<u-select v-model="salaryRangeShow" :list="salaryRangeList" @confirm="salaryRangeChange"
+			:default-value="salaryRangeIndex" />
 	</view>
 </template>
 
 <script>
-	import citySelectProvince  from '../../uview-ui/components/u-city-select-province/u-city-select-province.vue'
+	import citySelectProvince from '../../uview-ui/components/u-city-select-province/u-city-select-province.vue'
 	export default {
 		components: {
 			citySelectProvince
@@ -126,13 +127,13 @@
 					degrEduc: '',
 					degrEducId: '',
 					houseType: '',
-					houseTypeId:'',
+					houseTypeId: '',
 					politOutlook: '',
-					politOutlookId:'',
+					politOutlookId: '',
 					veteHousehRegi: '',
 					veteHousehArea: '',
 					veteResiAddress: '',
-					veteDateBirth:'',
+					veteDateBirth: '',
 					veteStatus: '1',
 					files: [],
 					jobStatus: '',
@@ -147,43 +148,37 @@
 				},
 				// 表单验证
 				rules: {
-					veteName: [
-						{ required: true, message: '请输入姓名', trigger: [ 'change', 'blur' ]}
-					],
-					veteIdCard: [
-						{ 
-							required: true,
-							pattern: /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/,
-							// 正则检验前先将值转为字符串
-							transform(value) {
-								return String(value);
-							},
-							message: '请正确输入身份证号',
-							trigger: ['change', 'blur']
-						}
-					],
-					vetePhone: [
-						{
-							pattern: /^(?:(?:\+|00)86)?1[3-9]\d{9}$/,
-							message: '请正确输入手机号',
-							required: true,
-							trigger: ['change', 'blur'],
-						}
-					],
-					veteHousehArea:[
-						{
-							required: true,
-							message: '请选择户籍区域',
-							trigger: ['change', 'blur'],
-						}
-					],
-					veteResiAddress:[
-						{
-							required: true,
-							message: '请填写详细地址',
-							trigger: ['change', 'blur'],
-						}
-					],
+					veteName: [{
+						required: true,
+						message: '请输入姓名',
+						trigger: ['change', 'blur']
+					}],
+					veteIdCard: [{
+						required: true,
+						pattern: /(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/,
+						// 正则检验前先将值转为字符串
+						transform(value) {
+							return String(value);
+						},
+						message: '请正确输入身份证号',
+						trigger: ['change', 'blur']
+					}],
+					vetePhone: [{
+						pattern: /^(?:(?:\+|00)86)?1[3-9]\d{9}$/,
+						message: '请正确输入手机号',
+						required: true,
+						trigger: ['change', 'blur'],
+					}],
+					veteHousehArea: [{
+						required: true,
+						message: '请选择户籍区域',
+						trigger: ['change', 'blur'],
+					}],
+					veteResiAddress: [{
+						required: true,
+						message: '请填写详细地址',
+						trigger: ['change', 'blur'],
+					}],
 					// nation:[
 					// 	{
 					// 		required: true,
@@ -191,20 +186,16 @@
 					// 		trigger: ['change', 'blur'],
 					// 	}
 					// ],
-					degrEduc:[
-						{
-							required: true,
-							message: '请选择文化程度',
-							trigger: ['change', 'blur'],
-						}
-					],
-					politOutlook:[
-						{
-							required: true,
-							message: '请选择政治面貌',
-							trigger: ['change', 'blur']
-						}
-					],
+					degrEduc: [{
+						required: true,
+						message: '请选择文化程度',
+						trigger: ['change', 'blur'],
+					}],
+					politOutlook: [{
+						required: true,
+						message: '请选择政治面貌',
+						trigger: ['change', 'blur']
+					}],
 					// houseTypeId:[
 					// 	{
 					// 		required: true,
@@ -266,15 +257,58 @@
 			this.form.vetePhone = this.vuex_user.mobile;
 		},
 		methods: {
+			customBack() {
+				const pages = getCurrentPages();
+				if (pages.length >= 2) {
+					uni.setStorageSync('last_page', pages[pages.length - 2].route);
+					if (pages[pages.length - 2].options) {
+						uni.setStorageSync(
+							'last_page_options',
+							pages[pages.length - 2].options
+						);
+					}
+					this.jumpPostion()
+				} else {
+					uni.switchTab({
+						url: `/pages/index/index`
+					});
+				}
+			},
+			/**
+			 * 跳转
+			 * @param {*} userInfo
+			 */
+			jumpPostion() {
+				const last_page = uni.getStorageSync('last_page') || '',
+					switchTabList = ['pages/index/index', 'pages/mycode/mycode', 'pages/mine/mine']
+				if (last_page && switchTabList.indexOf(last_page) < 0) {
+					const last_page_options = uni.getStorageSync('last_page_options') || '';
+					const str = JSON.stringify(last_page_options)
+						.replaceAll('{', '')
+						.replaceAll('}', '')
+						.replaceAll('"', '')
+						.replaceAll(':', '=')
+						.replaceAll(',', '&');
+					// 清空其他路由,直接跳转最后登录的页面
+					uni.reLaunch({
+						url: `/${last_page}?${str}`
+					});
+					return;
+				} else {
+					uni.switchTab({
+						url: `/${last_page}`
+					});
+				}
+			},
 			/**
 			 * 获取已经提交的数据
 			 */
-			getVeteEducData(){
+			getVeteEducData() {
 				this.$u.api.getVeteEducData().then(res => {
-					if(res.code == 200){
+					if (res.code == 200) {
 						const data = res.data
-						for(let key  in data.veteEduc) {
-							if(key !== 'files'){
+						for (let key in data.veteEduc) {
+							if (key !== 'files') {
 								this.form[key] = data.veteEduc[key];
 							}
 						};
@@ -299,8 +333,9 @@
 								}
 							})
 							// 户籍区域
-							if(data.veteEduc.provinceName && data.veteEduc.cityName && data.veteEduc.areaName) {
-								this.form.veteHousehArea = data.veteEduc.provinceName + '-' + data.veteEduc.cityName + '-' + data.veteEduc.areaName;
+							if (data.veteEduc.provinceName && data.veteEduc.cityName && data.veteEduc.areaName) {
+								this.form.veteHousehArea = data.veteEduc.provinceName + '-' + data.veteEduc
+									.cityName + '-' + data.veteEduc.areaName;
 							}
 							// 薪资范围
 							this.form.salaryRange = data.veteEduc.salaryRange
@@ -318,9 +353,11 @@
 			/**
 			 * 获取文化程度类别
 			 */
-			getVeteDegrEduc(){
-				this.$u.api.getDictdataUrl({key:'degr_educ'}).then(res=>{
-					if(res.code == 200){						
+			getVeteDegrEduc() {
+				this.$u.api.getDictdataUrl({
+					key: 'degr_educ'
+				}).then(res => {
+					if (res.code == 200) {
 						this.degrEducList = res.data.map(item => {
 							return {
 								...item,
@@ -340,9 +377,11 @@
 			/**
 			 * 获取政治面貌类别
 			 */
-			getVetePolitOutlook(){
-				this.$u.api.getDictdataUrl({ key: 'polit_outlook' }).then(res => {
-					if(res.code == 200){						
+			getVetePolitOutlook() {
+				this.$u.api.getDictdataUrl({
+					key: 'polit_outlook'
+				}).then(res => {
+					if (res.code == 200) {
 						this.politOutlookList = res.data.map(item => {
 							return {
 								...item,
@@ -362,7 +401,7 @@
 			/**
 			 * 户籍地
 			 */
-			regionConfirm(e){
+			regionConfirm(e) {
 				this.form.veteHousehRegi = `${e.province.label}-${e.city.label}`
 			},
 			/**
@@ -386,9 +425,11 @@
 			/**
 			 * 获取户籍类别
 			 */
-			getVeteHouseType(){
-				this.$u.api.getDictdataUrl({ key:'house_type' }).then(res => {
-					if(res.code === 200){						
+			getVeteHouseType() {
+				this.$u.api.getDictdataUrl({
+					key: 'house_type'
+				}).then(res => {
+					if (res.code === 200) {
 						this.houseTypeList = res.data.map(item => {
 							return {
 								...item,
@@ -401,7 +442,7 @@
 			/**
 			 * 户籍类别单选触发
 			 */
-			houseTypeChange(val){
+			houseTypeChange(val) {
 				this.houseTypeList.forEach(item => {
 					if (item.value === val) {
 						this.form.houseType = item.label
@@ -411,9 +452,11 @@
 			/**
 			 * 获取薪资范围
 			 */
-			getSalaryRange(){
-				this.$u.api.getDictdataUrl({ key:'salary_range' }).then(res => {
-					if(res.code === 200){						
+			getSalaryRange() {
+				this.$u.api.getDictdataUrl({
+					key: 'salary_range'
+				}).then(res => {
+					if (res.code === 200) {
 						this.salaryRangeList = res.data.map(item => {
 							return {
 								...item,
@@ -434,9 +477,11 @@
 			/**
 			 * 就业状态
 			 */
-			getEmploymentStatus(){
-				this.$u.api.getDictdataUrl({ key:'member_job_status' }).then(res => {
-					if(res.code === 200){						
+			getEmploymentStatus() {
+				this.$u.api.getDictdataUrl({
+					key: 'member_job_status'
+				}).then(res => {
+					if (res.code === 200) {
 						this.employmentStatusList = res.data.map(item => {
 							return {
 								...item,
@@ -458,17 +503,20 @@
 				// 根据身份证得出性别
 				this.form.veteSex = (parseInt(val.substr(16, 1)) % 2 === 1 ? '男' : '女');
 				// 设置出生日期
-				this.form.veteDateBirth = val.substring(6, 10) + "-" + val.substring(10, 12) + "-" + val.substring(12, 14) + ' 00:00:00';
+				this.form.veteDateBirth = val.substring(6, 10) + "-" + val.substring(10, 12) + "-" + val.substring(12,
+					14) + ' 00:00:00';
 				// 根据身份证号获取基本信息
-				this.$u.api.getIdInfo({ id: this.form.veteIdCard }).then(res=>{
+				this.$u.api.getIdInfo({
+					id: this.form.veteIdCard
+				}).then(res => {
 					if (res.code === 200) {
-					  if (res.data) {
-					  	this.form.nation = res.data.nation;
-					  	this.form.veteName = res.data.veteName;
-					  	this.form.vetePhone = res.data.vetePhone;
-					  	this.form.veteResiAddress = res.data.veteResiAddress;
-					  }
-					} else{
+						if (res.data) {
+							this.form.nation = res.data.nation;
+							this.form.veteName = res.data.veteName;
+							this.form.vetePhone = res.data.vetePhone;
+							this.form.veteResiAddress = res.data.veteResiAddress;
+						}
+					} else {
 						uni.showToast({
 							icon: 'none',
 							title: res.msg
@@ -481,7 +529,10 @@
 			 */
 			uploadSuccess(e) {
 				this.form.files = []
-				this.form.files.push({ filesType: 6, filesUrl: e.data.url})
+				this.form.files.push({
+					filesType: 6,
+					filesUrl: e.data.url
+				})
 			},
 			/**
 			 * 图片移除
@@ -502,13 +553,19 @@
 						const tempFilePaths = res.tempFilePaths;
 						uni.uploadFile({
 							url: this.config.uploadUrl, // 服务器地址
-							fileType: "image",// ZFB必填,不然报错
+							fileType: "image", // ZFB必填,不然报错
 							filePath: tempFilePaths[0], // 这个就是我们上面拍照返回或者先中照片返回的数组
+							header: {
+								Authorization: `Bearer ${vuex_token}`
+							},
 							name: 'imgFile',
 							success: (uploadFileRes) => {
 								const file = JSON.parse(uploadFileRes.data)
 								this.form.files = []
-								this.form.files.push({ filesType: 6, filesUrl: file.data.url})
+								this.form.files.push({
+									filesType: 6,
+									filesUrl: file.data.url
+								})
 							}
 						});
 					}
@@ -531,37 +588,39 @@
 			submit() {
 				this.$refs.uForm.validate(valid => {
 					if (valid) {
-						if (this.form.files.length < 1){
+						if (this.form.files.length < 1) {
 							uni.showToast({
-							    title: '近期1寸免冠照片',
-									icon:'none',
-							    duration: 2000
+								title: '近期1寸免冠照片',
+								icon: 'none',
+								duration: 2000
 							});
 						} else {
 							let params = {
 								veteEduc: {}
 							};
 							params.files = this.form.files
-							for(let key  in this.form) {
+							for (let key in this.form) {
 								if (key !== 'files') {
 									params.veteEduc[key] = this.form[key];
 								}
 							};
 							params.veteEduc.veteSex = params.veteEduc.veteSex === '男' ? 0 : 1;
 							this.$u.api.veteEduc(params).then(res => {
-								if (res.code === 200 ) {
+								if (res.code === 200) {
 									uni.showToast({
-									    title: '提交成功,等待审核!',
-									    duration: 2000,
-											success: () => {
-												this.$u.route('/pages/applyEducationCode/applyEducationSuccess')
-											}
+										title: '提交成功,等待审核!',
+										duration: 2000,
+										success: () => {
+											this.$u.route(
+												'/pages/applyEducationCode/applyEducationSuccess'
+											)
+										}
 									});
 								} else {
 									uni.showToast({
-									    title: res.msg,
-											icon:'none',
-									    duration: 2000
+										title: res.msg,
+										icon: 'none',
+										duration: 2000
 									});
 								}
 							})

+ 28 - 24
h5_web/pages/entrepreneurshipGuidelines/addPlan/addPlan.vue

@@ -1,13 +1,16 @@
 <template>
 	<view class="plan">
-		<u-navbar back-text="" title="" back-icon-color="#FFFFFF" :background="{ background: '#3D5D4C' }" :border-bottom="false"></u-navbar>
+		<u-navbar back-text="" title="" back-icon-color="#FFFFFF" :background="{ background: '#3D5D4C' }"
+			:border-bottom="false"></u-navbar>
 		<u-form :model="form" ref="uForm">
 			<u-form-item label="名称:" prop="title" label-position="top">
 				<u-input v-model="form.title" placeholder="请输入名称" :border="true" />
 			</u-form-item>
 			<u-form-item label="描述:" prop="description" label-position="top">
 				<view class="box">
-					<jinEdit placeholder="请输入描述" @editOk="editOk" :uploadFileUrl="config.uploadUrl"></jinEdit>
+					<jinEdit placeholder="请输入描述" @editOk="editOk" :uploadFileUrl="config.uploadUrl" :header="{
+								Authorization: `Bearer ${vuex_token}`
+							}"></jinEdit>
 				</view>
 			</u-form-item>
 			<u-form-item label="创业计划书:" prop="planBookUrl" label-position="top">
@@ -48,27 +51,21 @@
 					planBookName: ''
 				},
 				rules: {
-					title: [
-						{
-							required: true,
-							message: '请输入名称',
-							trigger: ['change', 'blur'],
-						}
-					],
-					description: [
-						{
-							required: true,
-							message: '请输入描述',
-							trigger: ['change', 'blur'],
-						}
-					],
-					planBookUrl: [
-						{
-							required: true,
-							message: '请上传企业计划书',
-							trigger: ['change', 'blur'],
-						}
-					]
+					title: [{
+						required: true,
+						message: '请输入名称',
+						trigger: ['change', 'blur'],
+					}],
+					description: [{
+						required: true,
+						message: '请输入描述',
+						trigger: ['change', 'blur'],
+					}],
+					planBookUrl: [{
+						required: true,
+						message: '请上传企业计划书',
+						trigger: ['change', 'blur'],
+					}]
 				},
 				fileList: []
 			}
@@ -131,10 +128,15 @@
 							await uni.uploadFile({
 								url: this.config.uploadUrl,
 								filePath: temp,
+								header: {
+									Authorization: `Bearer ${vuex_token}`
+								},
 								success: res => {
 									const data = JSON.parse(res.data).data
 									if (data.suffix === 'pdf') {
-										this.fileList = [{ ...data }]
+										this.fileList = [{
+											...data
+										}]
 										this.form.planBookUrl = data.url
 										this.form.planBookName = data.fileName
 									} else {
@@ -216,9 +218,11 @@
 	.plan {
 		padding: 34rpx 30rpx;
 		font-family: PingFangSC-Regular, PingFang SC;
+
 		.box {
 			border: solid 1px #dcdfe6;
 		}
+
 		.upload {
 			width: 100%;
 			display: flex;

+ 6 - 12
h5_web/pages/personalModify/personalModify.vue

@@ -3,16 +3,10 @@
 	<view>
 		<u-cell-group>
 			<u-cell-item title="头像修改">
-				<u-upload
-					slot="right-icon"
-					:action="action"
-					:custom-btn="true"
-					:before-upload="beforeUpload"
-					:multiple="false"
-					:show-upload-list="false"
-					:limitType="['png', 'jpg']"
-					@on-success="uploadSuccess"
-				>
+				<u-upload slot="right-icon" :action="action" :custom-btn="true" :before-upload="beforeUpload"
+					:multiple="false" :show-upload-list="false" :header="{
+						Authorization: `Bearer ${vuex_token}`
+					}" :limitType="['png', 'jpg']" @on-success="uploadSuccess">
 					<u-avatar slot="addBtn" :src="avatarUrl" mode="circle" size="100"></u-avatar>
 				</u-upload>
 			</u-cell-item>
@@ -37,13 +31,13 @@
 			/**
 			 * 获取用户基本信息
 			 */
-			getMemberinfo(){
+			getMemberinfo() {
 				uni.showLoading({
 					mask: true,
 					title: '数据请求中...'
 				})
 				this.$u.api.getmemberinfo().then(res => {
-					if (res.code === 200){
+					if (res.code === 200) {
 						this.avatarUrl = res.data.avatar;
 						uni.hideLoading()
 					} else {

+ 60 - 75
h5_web/pages/questionConsulting/questionConsulting.vue

@@ -1,87 +1,73 @@
 <template>
-  <view class="questionconsulting">
-    <u-navbar back-icon-name=""
-      title-color="#FFFFFF"
-      :border-bottom="false"
-      back-text="取消"
-      :back-text-style="backTextStyle"
-      :background="{background: '#3D5D4C' }"
-      title="问题咨询" />
+	<view class="questionconsulting">
+		<u-navbar back-icon-name="" title-color="#FFFFFF" :border-bottom="false" back-text="取消"
+			:back-text-style="backTextStyle" :background="{background: '#3D5D4C' }" title="问题咨询" />
 
-    <view class="questionconsulting-problemdesc">
-      <u-input v-model="problemDesc"
-        type="textarea"
-        :border="true"
-        :height="278"
-        :auto-height="true"
-        placeholder="请描述您关于学历提升相关的问题,尽可能详细,便于进行准确分析解答" />
-    </view>
+		<view class="questionconsulting-problemdesc">
+			<u-input v-model="problemDesc" type="textarea" :border="true" :height="278" :auto-height="true"
+				placeholder="请描述您关于学历提升相关的问题,尽可能详细,便于进行准确分析解答" />
+		</view>
 
-    <view class="questionconsulting-attachment">
-      <u-upload ref="questionUpload"
-        :action="action"
-        :auto-upload="true"
-        :custom-btn="true"
-        :show-upload-list="false"
-        max-count="3"
-        :limitType="['png', 'jpg']"
-        @on-success="questionUploadSuccess">
-        <view class="attachment-upload-box"
-          slot="addBtn">
-          <view class="attachment-upload">
-            <image src="../../static/svg/question-attachment-upload.svg"
-              mode="aspectFill" />
-            <view class="font">添加照片/视频</view>
-          </view>
-          <view class="tips">支持jpg.png格式</view>
-        </view>
-      </u-upload>
-      <view class="attachment-url" v-if="questionClearFiles.length > 0">
-        <view class="icon">
-          <u-icon name="close" color="#fff" size="16" @click="questionClearFile"></u-icon>
-        </view>
-        <image :src="questionClearFiles[0].filesUrl" mode=""/>
-      </view>
-    </view>
+		<view class="questionconsulting-attachment">
+			<u-upload ref="questionUpload" :action="action" :auto-upload="true" :custom-btn="true"
+				:show-upload-list="false" max-count="3" :header="{
+					Authorization: `Bearer ${vuex_token}`
+				}" :limitType="['png', 'jpg']" @on-success="questionUploadSuccess">
+				<view class="attachment-upload-box" slot="addBtn">
+					<view class="attachment-upload">
+						<image src="../../static/svg/question-attachment-upload.svg" mode="aspectFill" />
+						<view class="font">添加照片/视频</view>
+					</view>
+					<view class="tips">支持jpg.png格式</view>
+				</view>
+			</u-upload>
+			<view class="attachment-url" v-if="questionClearFiles.length > 0">
+				<view class="icon">
+					<u-icon name="close" color="#fff" size="16" @click="questionClearFile"></u-icon>
+				</view>
+				<image :src="questionClearFiles[0].filesUrl" mode="" />
+			</view>
+		</view>
 
-    <view class="questionbtn">
-      <view class="questionbtn-container">
-        <view class="questionbtn-content">
-          <view>
-            <u-button type="primary"
-              @click="questionSubmitBtnClick"
-              class="questionsubmitbtn">提交</u-button>
-          </view>
-        </view>
-      </view>
-    </view>
-  </view>
+		<view class="questionbtn">
+			<view class="questionbtn-container">
+				<view class="questionbtn-content">
+					<view>
+						<u-button type="primary" @click="questionSubmitBtnClick" class="questionsubmitbtn">提交</u-button>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
 </template>
 
 <script>
-  export default {
-    data() {
-      return {
+	export default {
+		data() {
+			return {
 				// 上传地址
 				action: this.config.uploadUrl,
-        problemDesc: '',
-        questionClearFiles: [],
-        backTextStyle: {
-          color: '#FFFFFF',
-          fontSize: '24rpx',
-          fontFamily: 'PingFangSC-Regular, PingFang SC',
-          fontWeight: 400,
-          lineHeight: '33rpx'
-        }
-      }
-    },
-    methods: {
+				problemDesc: '',
+				questionClearFiles: [],
+				backTextStyle: {
+					color: '#FFFFFF',
+					fontSize: '24rpx',
+					fontFamily: 'PingFangSC-Regular, PingFang SC',
+					fontWeight: 400,
+					lineHeight: '33rpx'
+				}
+			}
+		},
+		methods: {
 			/**
 			 * 上传附件成功
 			 */
 			questionUploadSuccess(e) {
 				this.questionClearFiles = []
-				this.questionClearFiles.push({ filesType: 6, filesUrl: e.data.url})
+				this.questionClearFiles.push({
+					filesType: 6,
+					filesUrl: e.data.url
+				})
 			},
 			/**
 			 * 清空上传附件
@@ -97,11 +83,10 @@
 					}
 				});
 			},
-    }
-  }
+		}
+	}
 </script>
 
-<style lang="scss"
-  scoped>
-  @import './scss/questionConsulting.scss'
+<style lang="scss" scoped>
+	@import './scss/questionConsulting.scss'
 </style>

+ 39 - 44
h5_web/pages/skillsTraining/addAchievementCertificate/addAchievementCertificate.vue

@@ -1,7 +1,8 @@
 <!-- 录入成绩和证书 -->
 <template>
 	<view class="achievement" id="achievement">
-		<u-navbar back-text="" title="" back-icon-color="#FFFFFF" :background="{ background: '#3D5D4C' }" :border-bottom="false"></u-navbar>
+		<u-navbar back-text="" title="" back-icon-color="#FFFFFF" :background="{ background: '#3D5D4C' }"
+			:border-bottom="false"></u-navbar>
 		<u-form :model="form" ref="uForm" class="achievement-form">
 			<u-form-item label="考试名称:" label-position="top" :required="true" prop="examName">
 				<u-input v-model="form.examName" placeholder="请输入内容" />
@@ -29,7 +30,9 @@
 					<u-input v-model="form.certificateName" placeholder="请输入内容" border />
 				</u-form-item>
 				<u-form-item label="证书相片" label-width="140" :border-bottom="false">
-					<u-upload :action="upload.action" :custom-btn="true" :limitType="['png', 'jpg']" :max-count="2" @on-success="uploadSuccess" @on-remove="uploadRemove">
+					<u-upload :action="upload.action" :custom-btn="true" :header="{
+								Authorization: `Bearer ${vuex_token}`
+							}" :limitType="['png', 'jpg']" :max-count="2" @on-success="uploadSuccess" @on-remove="uploadRemove">
 						<view class="upload-button" slot="addBtn">
 							<view class="upload-button-icon">
 								<u-image src="../../../static/img/upload-add.png" mode="aspectFill" width="62"
@@ -70,46 +73,36 @@
 				// 证书等级
 				gradeList: [],
 				rules: {
-					examName: [
-						{ 
-							required: true, 
-							message: '请输入考试名称', 
-							// 可以单个或者同时写两个触发验证方式 
-							trigger: ['change','blur'],
-						}
-					],
-					score: [
-						{
-							required: true, 
-							message: '请输入得分', 
-							// 可以单个或者同时写两个触发验证方式 
-							trigger: ['change','blur'],
-						}
-					],
-					fullScore: [
-						{
-							required: true, 
-							message: '请输入满分', 
-							// 可以单个或者同时写两个触发验证方式 
-							trigger: ['change','blur'],
-						}
-					],
-					passDate: [
-						{
-							required: true, 
-							message: '请选择通过日期', 
-							// 可以单个或者同时写两个触发验证方式 
-							trigger: ['change','blur'],
-						}
-					],
-					gradeName: [
-						{
-							required: true, 
-							message: '请选择证书等级', 
-							// 可以单个或者同时写两个触发验证方式 
-							trigger: [ 'change', 'blur' ]
-						}
-					]
+					examName: [{
+						required: true,
+						message: '请输入考试名称',
+						// 可以单个或者同时写两个触发验证方式 
+						trigger: ['change', 'blur'],
+					}],
+					score: [{
+						required: true,
+						message: '请输入得分',
+						// 可以单个或者同时写两个触发验证方式 
+						trigger: ['change', 'blur'],
+					}],
+					fullScore: [{
+						required: true,
+						message: '请输入满分',
+						// 可以单个或者同时写两个触发验证方式 
+						trigger: ['change', 'blur'],
+					}],
+					passDate: [{
+						required: true,
+						message: '请选择通过日期',
+						// 可以单个或者同时写两个触发验证方式 
+						trigger: ['change', 'blur'],
+					}],
+					gradeName: [{
+						required: true,
+						message: '请选择证书等级',
+						// 可以单个或者同时写两个触发验证方式 
+						trigger: ['change', 'blur']
+					}]
 				},
 				dateShow: false,
 				upload: {
@@ -130,8 +123,10 @@
 			 * 获取证书等级
 			 */
 			getCertificateGrade() {
-				this.$u.api.getDictdataUrl({ key:'certificate_grade' }).then(res=>{
-					if(res.code == 200){						
+				this.$u.api.getDictdataUrl({
+					key: 'certificate_grade'
+				}).then(res => {
+					if (res.code == 200) {
 						this.gradeList = res.data.map(item => {
 							return {
 								...item,

+ 1 - 1
h5_web/vue.config.js

@@ -2,7 +2,7 @@ module.exports = {
 	devServer: {
 		proxy: { //配置跨域
 			'/apis': {
-				target: 'http://pv.sohu.com', //搜狐的域名
+				target: 'http://api.veterans.hongweisoft.com/api', //搜狐的域名
 				ws: false,
 				changOrigin: true, //允许跨域
 				pathRewrite: {