Browse Source

微信相关及打卡修改

wgl 4 năm trước cách đây
mục cha
commit
e5a99492eb

+ 69 - 12
config/pages.js

@@ -63,6 +63,18 @@ const config = {
 
 			config.output.filename = `./static/js/[name].${Timestamp}.js`
 			config.output.chunkFilename = `./static/js/[name].${Timestamp}.js`
+
+			config.performance = {
+				hints: 'warning',
+				//入口起点的最大体积 整数类型(以字节为单位)
+				maxEntrypointSize: 50000000,
+				//生成文件的最大体积 整数类型(以字节为单位 300k)
+				maxAssetSize: 30000000,
+				//只给出 js 文件的性能提示
+				assetFilter: function(assetFilename) {
+					return assetFilename.endsWith('.js');
+				}
+			}
 		},
 	},
 	//住宅小区
@@ -95,9 +107,9 @@ const config = {
 
 			config.optimization.minimize(true);
 		},
-		/* configureWebpack: (config) => {
+		configureWebpack: (config) => {
 			//开启gzip压缩,需要配置Nginx服务器gzip选项开启
-			config.plugins.push(
+			/* config.plugins.push(
 				new CompressionWebpackPlugin({
 					filename: '[path].gz[query]',
 					algorithm: 'gzip',
@@ -105,8 +117,23 @@ const config = {
 					threshold: 10240,
 					minRatio: 0.8
 				})
-			);
-		}, */
+			); */
+
+			config.output.filename = `./static/js/[name].${Timestamp}.js`
+			config.output.chunkFilename = `./static/js/[name].${Timestamp}.js`
+
+			config.performance = {
+				hints: 'warning',
+				//入口起点的最大体积 整数类型(以字节为单位)
+				maxEntrypointSize: 50000000,
+				//生成文件的最大体积 整数类型(以字节为单位 300k)
+				maxAssetSize: 30000000,
+				//只给出 js 文件的性能提示
+				assetFilter: function(assetFilename) {
+					return assetFilename.endsWith('.js');
+				}
+			}
+		},
 	},
 	//养老院
 	pension: {
@@ -138,8 +165,8 @@ const config = {
 
 			config.optimization.minimize(true);
 		},
-		/* configureWebpack: (config) => {
-			//开启gzip压缩,需要配置Nginx服务器gzip选项开启
+		configureWebpack: (config) => {
+			/* //开启gzip压缩,需要配置Nginx服务器gzip选项开启
 			config.plugins.push(
 				new CompressionWebpackPlugin({
 					filename: '[path].gz[query]',
@@ -148,8 +175,23 @@ const config = {
 					threshold: 10240,
 					minRatio: 0.8
 				})
-			);
-		}, */
+			); */
+
+			config.output.filename = `./static/js/[name].${Timestamp}.js`
+			config.output.chunkFilename = `./static/js/[name].${Timestamp}.js`
+
+			config.performance = {
+				hints: 'warning',
+				//入口起点的最大体积 整数类型(以字节为单位)
+				maxEntrypointSize: 50000000,
+				//生成文件的最大体积 整数类型(以字节为单位 300k)
+				maxAssetSize: 30000000,
+				//只给出 js 文件的性能提示
+				assetFilter: function(assetFilename) {
+					return assetFilename.endsWith('.js');
+				}
+			}
+		},
 	},
 	//入口
 	home: {
@@ -181,8 +223,8 @@ const config = {
 
 			config.optimization.minimize(true);
 		},
-		/* configureWebpack: (config) => {
-			//开启gzip压缩,需要配置Nginx服务器gzip选项开启
+		configureWebpack: (config) => {
+			/* //开启gzip压缩,需要配置Nginx服务器gzip选项开启
 			config.plugins.push(
 				new CompressionWebpackPlugin({
 					filename: '[path].gz[query]',
@@ -191,8 +233,23 @@ const config = {
 					threshold: 10240,
 					minRatio: 0.8
 				})
-			);
-		}, */
+			); */
+
+			config.output.filename = `./static/js/[name].${Timestamp}.js`
+			config.output.chunkFilename = `./static/js/[name].${Timestamp}.js`
+
+			config.performance = {
+				hints: 'warning',
+				//入口起点的最大体积 整数类型(以字节为单位)
+				maxEntrypointSize: 50000000,
+				//生成文件的最大体积 整数类型(以字节为单位 300k)
+				maxAssetSize: 30000000,
+				//只给出 js 文件的性能提示
+				assetFilter: function(assetFilename) {
+					return assetFilename.endsWith('.js');
+				}
+			}
+		},
 	}
 }
 

+ 2 - 2
src/assets/css/mui.min.css

@@ -843,14 +843,14 @@ p {
 	width: 100%;
 	height: 100%;
 	content: '';
-	background-image: url("data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%236c6c6c\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>");
+	background-image: url("data:image/svg+xml;charset=utf-8,<svg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><defs><line id='l' x1='60' x2='60' y1='7' y2='27' stroke='%236c6c6c' stroke-width='11' stroke-linecap='round'/></defs><g><use xlink:href='%23l' opacity='.27'/><use xlink:href='%23l' opacity='.27' transform='rotate(30 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(60 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(90 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(120 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(150 60,60)'/><use xlink:href='%23l' opacity='.37' transform='rotate(180 60,60)'/><use xlink:href='%23l' opacity='.46' transform='rotate(210 60,60)'/><use xlink:href='%23l' opacity='.56' transform='rotate(240 60,60)'/><use xlink:href='%23l' opacity='.66' transform='rotate(270 60,60)'/><use xlink:href='%23l' opacity='.75' transform='rotate(300 60,60)'/><use xlink:href='%23l' opacity='.85' transform='rotate(330 60,60)'/></g></svg>");
 	background-repeat: no-repeat;
 	background-position: 50%;
 	background-size: 100%
 }
 
 .mui-spinner-white:after {
-	background-image: url("data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%23fff\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>")
+	background-image: url("data:image/svg+xml;charset=utf-8,<svg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><defs><line id='l' x1='60' x2='60' y1='7' y2='27' stroke='%23fff' stroke-width='11' stroke-linecap='round'/></defs><g><use xlink:href='%23l' opacity='.27'/><use xlink:href='%23l' opacity='.27' transform='rotate(30 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(60 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(90 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(120 60,60)'/><use xlink:href='%23l' opacity='.27' transform='rotate(150 60,60)'/><use xlink:href='%23l' opacity='.37' transform='rotate(180 60,60)'/><use xlink:href='%23l' opacity='.46' transform='rotate(210 60,60)'/><use xlink:href='%23l' opacity='.56' transform='rotate(240 60,60)'/><use xlink:href='%23l' opacity='.66' transform='rotate(270 60,60)'/><use xlink:href='%23l' opacity='.75' transform='rotate(300 60,60)'/><use xlink:href='%23l' opacity='.85' transform='rotate(330 60,60)'/></g></svg>")
 }
 
 @-webkit-keyframes spinner-spin {

+ 1 - 1
src/projects/business/components/GreenCode.vue

@@ -269,7 +269,7 @@
 
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style scoped src="$project/assets/css/sczpfyy.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 	.fyy-popup-bg{
 		position: fixed;

+ 1 - 1
src/projects/business/components/NavMenu.vue

@@ -55,6 +55,6 @@
 	}
 </script>
 
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/business/views/Common/Health/Cert.vue

@@ -378,6 +378,6 @@
 
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style scoped src="$project/assets/css/sczpfyy.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/business/views/Common/Health/TemperatureInfo.vue

@@ -110,6 +110,6 @@
 
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style scoped src="$project/assets/css/sczpfyy.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/business/views/Common/Health/TemperatureRecord.vue

@@ -145,6 +145,6 @@
 </script>
 
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 </style>

+ 79 - 70
src/projects/business/views/Master/Attendance/Apply.vue

@@ -6,20 +6,20 @@
 		<div class="mui-content vongi-wordcard">
 			<div class="mui-content-padded vongi-wordcard-padded">
 				<h5>当前打卡班次</h5>
-				<h3>2020-04-18<span>07:30 - 09:00</span></h3>
+				<h3>{{tjForm.workAttendanceDate}}<span v-text="tjForm.workAttendanceTime"></span></h3>
 			</div>
 			<div class="mui-content-padded">
 				<form class="mui-input-group">
 					<div class="mui-input-row">
 						<label><span class="colorfe616c">*</span>选择审批人</label>
 						<div class="mui-navigate-right" @click="selectPerson">
-							<button class="mui-btn mui-btn-block" type='button' v-text="tjForm.approvalPersonName">郑强</button>
+							<span class="mui-btn mui-btn-block" type='button' v-text="approvalPersonName"></span>
 						</div>
 					</div>
 					<div class="mui-input-row">
-						<label><span class="colorfe616c">*</span>选择卡类型</label>
+						<label><span class="colorfe616c">*</span>选择卡类型</label>
 						<div class="mui-navigate-right" @click="selectType">
-							<button class="mui-btn mui-btn-block" type='button' v-text="tjForm.typeName"></button>
+							<span class="mui-btn mui-btn-block" v-text="typeName"></span>
 						</div>
 					</div>
 				</form>
@@ -27,14 +27,14 @@
 			<div class="mui-content-padded">
 				<h5><span class="colorfe616c">*</span>申请理由</h5>
 				<div class="mui-input-row">
-					<textarea id="textarea" rows="5" placeholder="请输入"></textarea>
+					<textarea v-model="tjForm.content" rows="5" placeholder="请输入"></textarea>
 				</div>
 			</div>
 			<div class="mui-content-padded">
 				<h5>上传照片</h5>
 				<div class="fyy-upphoto">
-					<div class="mui-col-xs-3">
-						<img src="~$project/assets/img/zhaop.jpg" />
+					<div class="mui-col-xs-3" v-for="(item,index) in picList">
+						<img :src="item" />
 					</div>
 					<div class="mui-col-xs-3" @click="chooseImage">
 						<a><span class="mui-icon mui-icon-plusempty"></span></a>
@@ -42,7 +42,7 @@
 				</div>
 			</div>
 			<div class="vongi-btn">
-				<button class="mui-btn mui-btn-primary " type="submit">
+				<button class="mui-btn mui-btn-primary" type="button" @click="submit">
 					提交
 				</button>
 			</div>
@@ -54,7 +54,6 @@
 
 <script>
 	require('$project/assets/js/mui.picker.min.js');
-	import * as API_WeiXin from '$project/apis/weixin'
 	import * as API_Attendance from '@/apis/Master/attendance'
 	import Common from '$project/components/Common.vue'
 	import Loading from '$project/components/Loading.vue'
@@ -63,7 +62,7 @@
 		mapGetters,
 		mapMutations
 	} from 'vuex'
-	import wx from 'weixin-js-sdk'
+	import * as WxJsApi from '$project/utils/wxJsApi'
 	export default {
 		name: 'MasterAttendanceApply',
 		components: {
@@ -91,6 +90,8 @@
 					longitude: '',
 					latitude: '',
 				},
+				//typeName: '',
+				approvalPersonName: '',
 				personList: [],
 				picList: [],
 			}
@@ -126,69 +127,28 @@
 					mui.toast(error);
 				})
 			},
-			//获取微信配置
-			getWxConfig() {
-				this.isLoading = true;
-				API_WeiXin.getConfig().then(response => {
-					var wxconfig = response.wxConfig;
-					console.log(wxconfig.nonceStr)
-					this.wxConfig = wxconfig;
-					wx.config({
-						debug: false, // 开启调试模式,
-						appId: wxconfig.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
-						timestamp: wxconfig.timestamp, // 必填,生成签名的时间戳
-						nonceStr: wxconfig.nonceStr, // 必填,生成签名的随机串
-						signature: wxconfig.signature, // 必填,签名,见附录1
-						jsApiList: ['chooseImage', 'getLocalImgData'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
-					});
-
-					this.isLoading = false;
-				}).catch(error => {
-					this.isLoading = false;
-					mui.toast(error);
-				})
-			},
 			//微信选择图片
 			chooseImage() {
-				var _this = this;
-				wx.chooseImage({
-					count: 1,
-					sizeType: ['compressed'],
-					sourceType: ['album', 'camera'],
-					success: function(res) {
-						var localIds = res.localIds;
-						console.log(localIds);
-						wx.getLocalImgData({
-							localId: localIds[0],
-							success: function(res) {
-								var localData = res.localData;
+				WxJsApi.chooseImage().then(res => {
+					var localData = res.localData;
 
-								if (localData.indexOf('data:image') != 0) {
-									//判断是否有这样的头部
-									localData = 'data:image/jpeg;base64,' + localData
-								}
-								localData = localData.replace(/\r|\n/g, '').replace('data:image/jgp', 'data:image/jpeg')
-								_this.imgBase64 = localData;
-								//显示裁剪图片
-								//_this.showCropper(field);
-								_this.uploadpic();
-							}
-						});
+					if (localData.indexOf('data:image') != 0) {
+						//判断是否有这样的头部
+						localData = 'data:image/jpeg;base64,' + localData
 					}
-				});
+					localData = localData.replace(/\r|\n/g, '').replace('data:image/jgp', 'data:image/jpeg')
+					this.imgBase64 = localData;
+					//显示裁剪图片
+					//_this.showCropper(field);
+					this.uploadpic();
+				}).catch(error => {
+					mui.toast(error);
+				})
 			},
 			//上传图片
 			uploadpic() {
 				this.isLoading = true;
-				var _this = this;
-				var formData = new FormData();
-				formData.append('photoName', '1.jpg');
-				formData.append('photoBase64Data', this.imgBase64);
-
-				console.log(formData);
-				console.log(typeof formData);
-
-				API_Common.uploadBase64(formData).then(response => {
+				WxJsApi.uploadPic(this.imgBase64).then(response => {
 					this.isLoading = false;
 
 					this.picList.push(response);
@@ -204,7 +164,7 @@
 				picker.setData(_this.syPersonList);
 				picker.show(function(selectItems) {
 					_this.tjForm.approvalPersonId = selectItems[0].value;
-					_this.tjForm.approvalPersonName = selectItems[0].text;
+					_this.approvalPersonName = selectItems[0].text;
 				})
 			},
 			//类型选择
@@ -225,17 +185,50 @@
 				var _this = this;
 				picker.show(function(selectItems) {
 					_this.tjForm.type = selectItems[0].value;
-					_this.tjForm.typeName = selectItems[0].text;
+					//_this.typeName = selectItems[0].text;
 				})
 			},
+			//表单检测
+			checkFrom() {
+				if (!this.tjForm.type) {
+					mui.toast('请选择打卡类型');
+					return false;
+				} else if (!this.tjForm.approvalPersonId) {
+					mui.toast('请选择审批人');
+					return false;
+				} else if (!this.tjForm.content) {
+					mui.toast('请输入申请内容');
+					return false;
+				} else {
+					return true;
+				}
+			},
+			//提交
+			submit() {
+				if (this.checkFrom()) {
+					this.tjForm.photoFile = this.picList.join(',');
+					this.isLoading = true;
+					API_Attendance.postPatchCard(this.tjForm).then(response => {
+						this.isLoading = false;
+						this.$router.push({
+							name: 'Master',
+							query: {}
+						})
+					}).catch(error => {
+						this.isLoading = false;
+						mui.toast(error);
+					})
+				}
+			},
 			asynCallBack() {
 
 			},
 		},
 		mounted() {
+			//获取微信配置
+			WxJsApi.getWxConfig();
 			this.getTime();
 			this.getPsersonList();
-			this.getWxConfig();
 		},
 		destroyed() {},
 		computed: {
@@ -256,6 +249,22 @@
 					console.log(newValue)
 				}
 			},
+			typeName: {
+				// getter
+				get: function() {
+					if (this.tjForm.type == '1') {
+						return '外勤打卡';
+					} else if (this.tjForm.type == '2') {
+						return '补卡';
+					} else {
+						return '无';
+					}
+				},
+				// setter
+				set: function(newValue) {
+					console.log(newValue)
+				}
+			},
 			...mapGetters({
 				openId: 'wx_openid',
 				token: 'token',
@@ -265,7 +274,7 @@
 </script>
 
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
-<style scoped src="$project/assets/css/mui.picker.min.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/mui.picker.min.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/business/views/Master/Attendance/Info.vue

@@ -149,6 +149,6 @@
 </script>
 
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/business/views/Master/Attendance/List.vue

@@ -174,6 +174,6 @@
 </script>
 
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/business/views/Master/Attendance/VerifyList.vue

@@ -111,6 +111,6 @@
 </script>
 
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style>
 </style>

+ 1 - 1
src/projects/business/views/Master/Center.vue

@@ -152,6 +152,6 @@
 
 
 <style scoped src="$project/assets/css/xpgj.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 </style>

+ 16 - 57
src/projects/business/views/Master/EditInfo.vue

@@ -49,7 +49,7 @@
 		mapGetters,
 		mapMutations
 	} from 'vuex'
-	import wx from 'weixin-js-sdk'
+	import * as WxJsApi from '$project/utils/wxJsApi'
 	export default {
 		name: 'MasterEditInfo',
 		components: {
@@ -99,69 +99,28 @@
 					mui.toast(error);
 				})
 			},
-			//获取微信配置
-			getWxConfig() {
-				this.isLoading = true;
-				API_WeiXin.getConfig().then(response => {
-					var wxconfig = response.wxConfig;
-					console.log(wxconfig.nonceStr)
-					this.wxConfig = wxconfig;
-					wx.config({
-						debug: false, // 开启调试模式,
-						appId: wxconfig.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
-						timestamp: wxconfig.timestamp, // 必填,生成签名的时间戳
-						nonceStr: wxconfig.nonceStr, // 必填,生成签名的随机串
-						signature: wxconfig.signature, // 必填,签名,见附录1
-						jsApiList: ['chooseImage', 'getLocalImgData'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
-					});
-
-					this.isLoading = false;
-				}).catch(error => {
-					this.isLoading = false;
-					mui.toast(error);
-				})
-			},
 			//微信选择图片
 			chooseImage(field) {
-				var _this = this;
-				wx.chooseImage({
-					count: 1,
-					sizeType: ['compressed'],
-					sourceType: ['album', 'camera'],
-					success: function(res) {
-						var localIds = res.localIds;
-						console.log(localIds);
-						wx.getLocalImgData({
-							localId: localIds[0],
-							success: function(res) {
-								var localData = res.localData;
+				WxJsApi.chooseImage().then(res => {
+					var localData = res.localData;
 
-								if (localData.indexOf('data:image') != 0) {
-									//判断是否有这样的头部
-									localData = 'data:image/jpeg;base64,' + localData
-								}
-								localData = localData.replace(/\r|\n/g, '').replace('data:image/jgp', 'data:image/jpeg')
-								_this.imgBase64 = localData;
-								//显示裁剪图片
-								//_this.showCropper(field);
-								_this.uploadpic(field);
-							}
-						});
+					if (localData.indexOf('data:image') != 0) {
+						//判断是否有这样的头部
+						localData = 'data:image/jpeg;base64,' + localData
 					}
-				});
+					localData = localData.replace(/\r|\n/g, '').replace('data:image/jgp', 'data:image/jpeg')
+					this.imgBase64 = localData;
+					//显示裁剪图片
+					//_this.showCropper(field);
+					this.uploadpic(field);
+				}).catch(error => {
+					mui.toast(error);
+				})
 			},
 			//上传图片
 			uploadpic(field) {
 				this.isLoading = true;
-				var _this = this;
-				var formData = new FormData();
-				formData.append('photoName', '1.jpg');
-				formData.append('photoBase64Data', this.imgBase64);
-
-				console.log(formData);
-				console.log(typeof formData);
-
-				API_Common.uploadBase64(formData).then(response => {
+				WxJsApi.uploadPic(this.imgBase64).then(response => {
 					this.isLoading = false;
 
 					this.subForm[field] = response;
@@ -176,7 +135,7 @@
 		},
 		mounted() {
 			//获取微信配置
-			this.getWxConfig();
+			WxJsApi.getWxConfig();
 		},
 		destroyed() {
 

+ 1 - 1
src/projects/business/views/Master/Health/Report.vue

@@ -97,6 +97,6 @@
 
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style scoped src="$project/assets/css/sczpfyy.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/business/views/Master/Home.vue

@@ -230,6 +230,6 @@
 </script>
 
 <style scoped src="$project/assets/css/xpgj.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/business/views/Master/Message.vue

@@ -122,6 +122,6 @@
 </script>
 
 <style scoped src="$project/assets/css/xpgj.css"></style>
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/home/views/Home.vue

@@ -108,7 +108,7 @@
 	}
 </script>
 
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/home/views/Login.vue

@@ -166,7 +166,7 @@
 	}
 </script>
 
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style scoped>
 </style>

+ 1 - 1
src/projects/home/views/Role.vue

@@ -141,7 +141,7 @@
 	}
 </script>
 
-<style scoped src="$project/assets/css/iconfont.css"></style>
+<style src="$project/assets/css/iconfont.css"></style>
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style scoped>
 </style>

+ 69 - 0
src/utils/wxJsApi.js

@@ -0,0 +1,69 @@
+import wx from 'weixin-js-sdk'
+import * as API_WeiXin from '$project/apis/weixin'
+import * as API_Common from '$project/apis/common'
+
+//获取微信配置
+export function getWxConfig(jsApiList) {
+	let promise = new Promise((resolve, reject) => {
+		var jsApiList = jsApiList || ['chooseImage', 'getLocalImgData'];
+		API_WeiXin.getConfig().then(response => {
+			var wxconfig = response.wxConfig;
+			console.log(wxconfig.nonceStr)
+			wx.config({
+				debug: false, // 开启调试模式,
+				appId: wxconfig.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
+				timestamp: wxconfig.timestamp, // 必填,生成签名的时间戳
+				nonceStr: wxconfig.nonceStr, // 必填,生成签名的随机串
+				signature: wxconfig.signature, // 必填,签名,见附录1
+				jsApiList: jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
+			});
+			resolve(response);
+		}).catch(error => {
+			mui.toast(error);
+			reject(error);
+		})
+	})
+	return promise;
+}
+
+//选择图片
+export function chooseImage() {
+	let promise = new Promise((resolve, reject) => {
+		wx.chooseImage({
+			count: 1,
+			sizeType: ['compressed'],
+			sourceType: ['album', 'camera'],
+			success: function(res) {
+				var localIds = res.localIds;
+				console.log(localIds);
+				wx.getLocalImgData({
+					localId: localIds[0],
+					success: function(res) {
+						resolve(res);
+					}
+				});
+			}
+		});
+	});
+	return promise;
+}
+
+//上传图片
+export function uploadPic(imgBase64) {
+	let promise = new Promise((resolve, reject) => {
+		var formData = new FormData();
+		formData.append('photoName', '1.jpg');
+		formData.append('photoBase64Data', imgBase64);
+
+		console.log(formData);
+		console.log(typeof formData);
+
+		API_Common.uploadBase64(formData).then(response => {
+			resolve(response);
+		}).catch(error => {
+			mui.toast(error);
+			reject(error);
+		})
+	});
+	return promise;
+}