wgl 4 سال پیش
والد
کامیت
7f9a5dcea5

+ 1 - 1
config/project.js

@@ -1 +1 @@
-exports.name = 'pension'
+exports.name = 'business'

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

@@ -33,7 +33,7 @@
 			<div class="mui-content-padded">
 				<h5>上传照片</h5>
 				<div class="fyy-upphoto">
-					<div class="mui-col-xs-3" v-for="(item,index) in picList">
+					<div class="mui-col-xs-3 fyy-upphoto-close" v-for="(item,index) in picList">
 						<img :src="item" />
 						<a class="mui-icon mui-icon-closeempty" @click="delPic(item)"></a>
 					</div>

+ 156 - 156
src/projects/business/views/Master/Attendance/LeaveForm.vue

@@ -1,21 +1,21 @@
 <template>
-<div>
+	<div>
 
-	<common @asynCallBack="asynCallBack"></common>
-	<top-header :pageTitle="pageTitle" :routeName="routeName" ></top-header>
+		<common @asynCallBack="asynCallBack"></common>
+		<top-header :pageTitle="pageTitle" :routeName="routeName"></top-header>
 
-	<div class="mui-content vongi-wordcard">
+		<div class="mui-content vongi-wordcard">
 			<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="selectType">
-							<button   class="mui-btn mui-btn-block" type='button' v-text="typeName">请选择</button>
+							<button class="mui-btn mui-btn-block" type='button' v-text="typeName">请选择</button>
 						</div>
 					</div>
 					<div class="mui-input-row">
 						<label><span class="colorfe616c">*</span>审批人</label>
-						<div class="mui-navigate-right"  @click="selectPerson">
+						<div class="mui-navigate-right" @click="selectPerson">
 							<button id='' class="mui-btn mui-btn-block" type='button' v-text="approvalPersonName">请选择</button>
 						</div>
 					</div>
@@ -31,7 +31,7 @@
 					</div>
 					<div class="mui-input-row">
 						<label><span class="colorfe616c">*</span>结束日期</label>
-						<div class="mui-navigate-right"  @click="selectEndTime()">
+						<div class="mui-navigate-right" @click="selectEndTime()">
 							<button class="mui-btn mui-btn-block" type='button' v-text="tjForm.endTime">请选择</button>
 						</div>
 					</div>
@@ -40,14 +40,14 @@
 			<div class="mui-content-padded">
 				<h5><span class="colorfe616c">*</span>请假事由</h5>
 				<div class="mui-input-row">
-					<textarea id="textarea" rows="5"  v-model="tjForm.reason" placeholder="请输入"></textarea>
+					<textarea id="textarea" rows="5" v-model="tjForm.reason" placeholder="请输入"></textarea>
 				</div>
 			</div>
 
 			<div class="mui-content-padded">
 				<h5>上传照片</h5>
 				<div class="fyy-upphoto">
-					<div class="mui-col-xs-3" v-for="(item,index) in picList">
+					<div class="mui-col-xs-3 fyy-upphoto-close" v-for="(item,index) in picList">
 						<img :src="item" />
 					</div>
 					<div class="mui-col-xs-3" @click="chooseImage">
@@ -63,9 +63,9 @@
 				</button>
 			</div>
 		</div>
-	<loading :visible="isLoading"></loading>
+		<loading :visible="isLoading"></loading>
 
-</div>
+	</div>
 </template>
 
 
@@ -92,8 +92,8 @@
 				pageTitle: '请假',
 
 				isLoading: false,
-				leaveTypeList:[],
-				approvedList:[],
+				leaveTypeList: [],
+				approvedList: [],
 				typeName: '请选择',
 				approvalPersonName: '请选择',
 				tjForm: {
@@ -117,163 +117,163 @@
 		created() {
 
 		},
-			methods: {
-				//审批类型
-				getLeaveTypeList() {
-					API_Leave.leaveTypeList().then(response => {
+		methods: {
+			//审批类型
+			getLeaveTypeList() {
+				API_Leave.leaveTypeList().then(response => {
 
-						for(var i in response){
-							var mod=response[i]
-							mod.text=mod.name
-							this.leaveTypeList.push(mod)
-						}
-					}).catch(error => {
-						mui.toast(error);
-					})
-				},
-				//获取审核人列表
-				getPsersonList() {
-					this.isLoading = true;
-					API_Leave.approvedList().then(response => {
+					for (var i in response) {
+						var mod = response[i]
+						mod.text = mod.name
+						this.leaveTypeList.push(mod)
+					}
+				}).catch(error => {
+					mui.toast(error);
+				})
+			},
+			//获取审核人列表
+			getPsersonList() {
+				this.isLoading = true;
+				API_Leave.approvedList().then(response => {
 
-						for(var i in response){
-							var mod=response[i]
-							mod.text=mod.name
-							mod.value=mod.id;
+					for (var i in response) {
+						var mod = response[i]
+						mod.text = mod.name
+						mod.value = mod.id;
 
-							this.approvedList.push(mod)
-						}
+						this.approvedList.push(mod)
+					}
 
-						this.isLoading = false;
-					}).catch(error => {
-						this.isLoading = false;
-						mui.toast(error);
-					})
-				},
-				//微信选择图片
-				chooseImage() {
-					WxJsApi.chooseImage().then(res => {
-						var localData = res.localData;
+					this.isLoading = false;
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+			//微信选择图片
+			chooseImage() {
+				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();
-					}).catch(error => {
-						mui.toast(error);
-					})
-				},
-				//上传图片
-				uploadpic() {
-					this.isLoading = true;
-					WxJsApi.uploadPic(this.imgBase64).then(response => {
-						this.isLoading = false;
+					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;
+				WxJsApi.uploadPic(this.imgBase64).then(response => {
+					this.isLoading = false;
 
-						this.picList.push(response);
-					}).catch(error => {
-						this.isLoading = false;
-						mui.toast(error);
-					})
-				},
-				//选择审核人
-				selectPerson() {
-					var _this = this;
-					var picker = new mui.PopPicker();
+					this.picList.push(response);
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+			//选择审核人
+			selectPerson() {
+				var _this = this;
+				var picker = new mui.PopPicker();
 
-					picker.setData(_this.approvedList);
-					picker.show(function(selectItems) {
-						_this.tjForm.approvedId = selectItems[0].value;
-						_this.approvalPersonName = selectItems[0].text;
-					})
-				},
-				//选择时间
-				selectStartTime() {
-					var _this = this;
-					var startTime= _this.tjForm.startTime=='请选择'? new Date():_this.tjForm.startTime;
+				picker.setData(_this.approvedList);
+				picker.show(function(selectItems) {
+					_this.tjForm.approvedId = selectItems[0].value;
+					_this.approvalPersonName = selectItems[0].text;
+				})
+			},
+			//选择时间
+			selectStartTime() {
+				var _this = this;
+				var startTime = _this.tjForm.startTime == '请选择' ? new Date() : _this.tjForm.startTime;
 
-					var picker = new mui.DtPicker({
-						"type": "datetime",
-						"beginYear": 2020,
-						"endYear": 2040,
-					});
-					picker.show(function(rs) {
-						_this.tjForm.startTime = rs.text;
-					});
-				},
-				//选择时间
-				selectEndTime() {
-					var _this = this;
-					var picker = new mui.DtPicker({
-						"type": "datetime",
-						"beginYear": 2020,
-						"endYear": 2040,
-						"beginDate": _this.tjForm.startTime,
-					});
-					picker.show(function(rs) {
-						_this.tjForm.endTime = rs.text;
-					});
-				},
-				//类型选择
-				selectType() {
-					var picker = new mui.PopPicker();
+				var picker = new mui.DtPicker({
+					"type": "datetime",
+					"beginYear": 2020,
+					"endYear": 2040,
+				});
+				picker.show(function(rs) {
+					_this.tjForm.startTime = rs.text;
+				});
+			},
+			//选择时间
+			selectEndTime() {
+				var _this = this;
+				var picker = new mui.DtPicker({
+					"type": "datetime",
+					"beginYear": 2020,
+					"endYear": 2040,
+					"beginDate": _this.tjForm.startTime,
+				});
+				picker.show(function(rs) {
+					_this.tjForm.endTime = rs.text;
+				});
+			},
+			//类型选择
+			selectType() {
+				var picker = new mui.PopPicker();
 
-					picker.setData(this.leaveTypeList);
-					var _this = this;
-					picker.show(function(selectItems) {
-						_this.tjForm.leaveType = selectItems[0].value;
-						_this.typeName = selectItems[0].text;
-					})
-				},
-				//表单检测
-				checkFrom() {
-					if (!this.tjForm.leaveType) {
-						mui.toast('请选择请假类型');
-						return false;
-					} else if (!this.tjForm.approvedId) {
-						mui.toast('请选择审批人');
-						return false;
-					} else if (!this.tjForm.startTime) {
-						mui.toast('请选择开始日期');
-						return false;
-					}else if (!this.tjForm.endTime) {
-						mui.toast('请选择结束日期');
-						return false;
-					}else if (!this.tjForm.reason) {
-						mui.toast('请输入请假理由');
-						return false;
-					} else {
-						return true;
-					}
+				picker.setData(this.leaveTypeList);
+				var _this = this;
+				picker.show(function(selectItems) {
+					_this.tjForm.leaveType = selectItems[0].value;
+					_this.typeName = selectItems[0].text;
+				})
+			},
+			//表单检测
+			checkFrom() {
+				if (!this.tjForm.leaveType) {
+					mui.toast('请选择请假类型');
+					return false;
+				} else if (!this.tjForm.approvedId) {
+					mui.toast('请选择审批人');
+					return false;
+				} else if (!this.tjForm.startTime) {
+					mui.toast('请选择开始日期');
+					return false;
+				} else if (!this.tjForm.endTime) {
+					mui.toast('请选择结束日期');
+					return false;
+				} else if (!this.tjForm.reason) {
+					mui.toast('请输入请假理由');
+					return false;
+				} else {
+					return true;
+				}
 
 
-				},
-				//提交
-				submit() {
-					if (this.checkFrom()) {
-						this.tjForm.imageUrl = this.picList.join(',');
-						this.isLoading = true;
-						API_Leave.save(this.tjForm).then(response => {
-							this.isLoading = false;
-							mui.toast("提交成功!");
-							this.$router.push({
-								name: 'MasterAttendanceLeaveList',
-								query: {}
-							})
-						}).catch(error => {
-							this.isLoading = false;
-							mui.toast(error);
+			},
+			//提交
+			submit() {
+				if (this.checkFrom()) {
+					this.tjForm.imageUrl = this.picList.join(',');
+					this.isLoading = true;
+					API_Leave.save(this.tjForm).then(response => {
+						this.isLoading = false;
+						mui.toast("提交成功!");
+						this.$router.push({
+							name: 'MasterAttendanceLeaveList',
+							query: {}
 						})
-					}
-				},
-				asynCallBack() {
+					}).catch(error => {
+						this.isLoading = false;
+						mui.toast(error);
+					})
+				}
+			},
+			asynCallBack() {
 
-				},
 			},
+		},
 		mounted() {
 			//获取微信配置
 			WxJsApi.getWxConfig();

+ 2 - 11
src/projects/business/views/Master/Attendance/Sign.vue

@@ -31,23 +31,14 @@
 			<div class="mui-content-padded">
 				<h5>上传照片</h5>
 				<div class="fyy-upphoto">
-					<div class="mui-col-xs-3 fyy-upphoto-close">
-						<img src="~$project/assets/img/zhaop.jpg" />
-						<a class="mui-icon mui-icon-closeempty" href=""></a>
-					</div>
-					<div class="mui-col-xs-3">
-						<a><span class="mui-icon mui-icon-plusempty"></span></a>
-					</div>
-				</div>
-				<!-- <div class="fyy-upphoto">
-					<div class="mui-col-xs-3" v-for="(item,index) in picList">
+					<div class="mui-col-xs-3 fyy-upphoto-close" v-for="(item,index) in picList">
 						<img :src="item" />
 						<a class="mui-icon mui-icon-closeempty" @click="delPic(item)"></a>
 					</div>
 					<div class="mui-col-xs-3" @click="chooseImage">
 						<a><span class="mui-icon mui-icon-plusempty"></span></a>
 					</div>
-				</div> -->
+				</div>
 			</div>
 			<div class="vongi-btn">
 				<button class="mui-btn mui-btn-primary" type="button" @click="submit">

+ 22 - 0
src/projects/pension/apis/Common/device.js

@@ -0,0 +1,22 @@
+import request from '@/utils/request'
+import Qs from 'qs';
+
+//获取手环设备列表
+export function getWatchList() {
+	return request({
+		url: '/mobile/watchApi/getWatchList',
+		data: Qs.stringify({}),
+		method: 'post',
+	})
+}
+
+//设置默认手环设备
+export function setDefaultWatch(deviceNo) {
+	return request({
+		url: '/mobile/watchApi/setDefaultWatch',
+		data: Qs.stringify({
+			deviceNo: deviceNo
+		}),
+		method: 'post',
+	})
+}

+ 11 - 0
src/projects/pension/apis/Master/health.js

@@ -0,0 +1,11 @@
+import request from '@/utils/request'
+import Qs from 'qs';
+
+//获取健康数据
+export function getHeathData() {
+	return request({
+		url: '/mobile/watchApi/getWatchNewData',
+		data: Qs.stringify({}),
+		method: 'post',
+	})
+}

+ 6 - 7
src/projects/pension/views/Common/Device/Add.vue

@@ -1,11 +1,11 @@
 <template>
-<div>
-    <header class="mui-bar mui-bar-nav">
+	<div>
+		<header class="mui-bar mui-bar-nav">
 			<h1 class="mui-title">关联新设备</h1>
 			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
 		</header>
 		<div class="mui-content">
-			
+
 			<div class="mui-content-padded vongi-qingjiadt vongi-editme">
 				<form class="mui-input-group">
 					<div class="mui-input-row">
@@ -25,11 +25,11 @@
 			</div>
 			<div class="vongi-btn vongi-login-btn">
 				<button class="mui-btn mui-btn-pink">
-						 
-					</button>
+					保 存
+				</button>
 			</div>
 		</div>
-</div>
+	</div>
 </template>
 
 <script>
@@ -40,4 +40,3 @@
 <style src="$project/assets/css/iconfont.css"></style>
 <style>
 </style>
-

+ 89 - 26
src/projects/pension/views/Common/Device/List.vue

@@ -1,45 +1,108 @@
 <template>
-<div>
-    <header class="mui-bar mui-bar-nav">
-			<h1 class="mui-title">设备列表</h1>
-			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
-		</header>
+	<div>
+		<common ref="common" @asynCallBack="asynCallBack"></common>
+		<top-header :pageTitle="pageTitle"></top-header>
+
 		<div class="mui-content vongi-qqhm vongi-sblist">
 			<ul class="mui-table-view">
-				<li class="mui-table-view-cell">
-					<a href="#" class="mui-radio">
-						<div class="mui-col-xs-10  mui-pull-left ">
-							<div class="mui-media-object mui-pull-left "><img src="~$project/assets/img/02.jpg" width="50" /></div>
-							<div class="mui-media-body">
-								<h3 class='mui-ellipsis'>父亲的智能手表</h3>
-								<p class='mui-ellipsis mui-h3'>JP01351704</p>
-							</div>
-						</div>
-						<input name="radio1" type="radio" checked>
-					</a>
-				</li>
-				<li class="mui-table-view-cell">
-					<a href="#" class="mui-radio">
+				<li v-for="(item,index) in watchList" class="mui-table-view-cell">
+					<a @click="defaultWatch(item.deviceNo)" class="mui-radio">
 						<div class="mui-col-xs-10  mui-pull-left ">
 							<div class="mui-media-object mui-pull-left "><img src="~$project/assets/img/02.jpg" width="50" /></div>
 							<div class="mui-media-body">
-								<h3 class='mui-ellipsis'>父亲的智能手表父亲的智能手表父亲的智能手表父亲的智能手表父亲的智能手表</h3>
-								<p class='mui-ellipsis mui-h3'>JP01351704</p>
+								<h3 class='mui-ellipsis' v-text="item.aliasName"></h3>
+								<p class='mui-ellipsis mui-h3' v-text="item.deviceNo"></p>
 							</div>
 						</div>
-						<input name="radio1" type="radio" checked>
+						<input name="radio1" type="radio" :checked="item.isDefault" readonly="readonly">
 					</a>
 				</li>
 			</ul>
-			
 		</div>
-		<div class="fyy-footer">
+		<!-- <div class="fyy-footer">
 			<div class="bindfyy-btn"><button type="submit" class="mui-btn mui-btn-pink ">关联新设备</button></div>
-		</div>
-</div>
+		</div> -->
+	</div>
 </template>
 
 <script>
+	import * as API_Device from '@/apis/Common/device'
+	import Common from '$project/components/Common.vue'
+	import Loading from '$project/components/Loading.vue'
+	import TopHeader from '$project/components/TopHeader.vue'
+	import NavMenu from '@/components/NavMenu.vue'
+	import {
+		mapGetters,
+		mapMutations
+	} from 'vuex'
+	export default {
+		name: 'CommonDeviceList',
+		components: {
+			Common,
+			Loading,
+			TopHeader,
+			NavMenu
+		},
+		data() {
+			return {
+				isLoading: false,
+
+				watchList: [],
+
+				pageTitle: '设备列表',
+			}
+		},
+		created() {},
+		methods: {
+			//获取手环列表
+			getWatchList() {
+				this.isLoading = true;
+				API_Device.getWatchList().then(response => {
+					this.isLoading = false;
+
+					this.watchList = response;
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+			//切换默认手环
+			defaultWatch(deviceNo) {
+				this.isLoading = true;
+				API_Device.setDefaultWatch(deviceNo).then(response => {
+					this.isLoading = false;
+
+					this.getWatchList();
+					this.$router.push({
+						name: 'Master'
+					})
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+
+			asynCallBack() {},
+		},
+		mounted() {
+			//获取手环列表
+			this.getWatchList();
+		},
+		destroyed() {
+
+		},
+		computed: {
+			...mapGetters({
+				openId: 'wx_openid',
+				token: 'token',
+				person_data: 'person_data',
+				person_popedom: 'person_popedom',
+				menu_list: 'menu_list',
+				common_menu_list: 'common_menu_list',
+				persion_home_model: 'persion_home_model'
+			})
+		}
+	}
 </script>
 
 <style scoped src="$project/assets/css/pension.css"></style>

+ 95 - 7
src/projects/pension/views/Master/Health/Archives.vue

@@ -1,9 +1,8 @@
 <template>
-<div>
-    <header class="mui-bar mui-bar-nav">
-			<h1 class="mui-title">健康档案</h1>
-			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
-		</header>
+	<div>
+		<common ref="common" @asynCallBack="asynCallBack"></common>
+		<top-header :pageTitle="pageTitle"></top-header>
+
 		<div class="mui-content vongi-color">
 			<ul class="mui-table-view">
 				<li class="mui-table-view-cell mui-col-xs-4">
@@ -51,18 +50,107 @@
 				<li class="mui-table-view-cell mui-col-xs-12">
 					<div class="vongi-color-block block-green">
 						<span class="vongi-color-unit"></span>
-						<div class="mui-h1">湖北省荆州市沙市</div>
+						<div class="mui-h1" v-text="address"></div>
 						<div class="mui-media-body">定位</div>
 					</div>
 				</li>
 			</ul>
 		</div>
-</div>
+	</div>
 </template>
 
 <script>
+	import * as API_Health from '@/apis/Master/health'
+	import Common from '$project/components/Common.vue'
+	import Loading from '$project/components/Loading.vue'
+	import TopHeader from '$project/components/TopHeader.vue'
+	import NavMenu from '@/components/NavMenu.vue'
+	import {
+		mapGetters,
+		mapMutations
+	} from 'vuex'
+	import MapLoader from '$project/utils/AMap'
+	export default {
+		name: 'MasterHealthArchives',
+		components: {
+			Common,
+			Loading,
+			TopHeader,
+			NavMenu
+		},
+		data() {
+			return {
+				isLoading: false,
+
+				pageTitle: '健康档案',
+
+				healthData: [],
+
+				address: '……',
+			}
+		},
+		created() {},
+		methods: {
+			//获取手环数据
+			getHeathData() {
+				this.isLoading = true;
+				API_Health.getHeathData().then(response => {
+					this.isLoading = false;
+
+					this.healthData = response;
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+			//获取定位地址
+			getPositionByLonLats(longitude, latitude) {
+				var _this = this;
+				MapLoader().then(AMap => {
+					var lnglatXY = [longitude, latitude];
+					AMap.service('AMap.Geocoder', function() {
+						let geocoder = new AMap.Geocoder({});
+						geocoder.getAddress(lnglatXY, function(status, result) {
+							console.log(lnglatXY);
+							console.log(status, result);
+							if (status === 'complete' && result.info === 'OK') {
+								var address = result.regeocode.formattedAddress;
+								console.log(address);
+								_this.address = address;
+							} else {
+								_this.address = '无法获取定位';
+							}
+						});
+					});
+				}).catch(error => {
+					console.log(error)
+				})
+			},
+
+			asynCallBack() {},
+		},
+		mounted() {
+			//获取手环数据
+			this.getHeathData();
+		},
+		destroyed() {
+
+		},
+		computed: {
+			...mapGetters({
+				openId: 'wx_openid',
+				token: 'token',
+				person_data: 'person_data',
+				person_popedom: 'person_popedom',
+				menu_list: 'menu_list',
+				common_menu_list: 'common_menu_list',
+				persion_home_model: 'persion_home_model'
+			})
+		}
+	}
 </script>
 
+
 <style scoped src="$project/assets/css/pension.css"></style>
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style src="$project/assets/css/iconfont.css"></style>