wkyy 1 tahun lalu
induk
melakukan
b279026897

+ 29 - 1
src/projects/business/apis/Master/annual.js

@@ -8,10 +8,38 @@ import Qs from 'qs';
  * @param params
  */
 
+//审批人列表
+export function approvedList() {
+    return request({
+        url: '/mobile/yearRequestForLeaveInfoApi/approvedList',
+        method: 'post',
+    })
+}
+
+//获取请假详情
+export function detail(params) {
+    return request({
+        url: '/mobile/yearRequestForLeaveInfoApi/yearRequestLeaveDetail',
+        data: Qs.stringify(params),
+        method: 'post',
+    })
+}
+
+//提交请假
+export function save(params) {
+
+	return request({
+        url: '/mobile/yearRequestForLeaveInfoApi/submitYearRequest',
+        data: Qs.stringify(params),
+        method: 'post',
+    })
+  
+}
+
 //获取考勤记录
 export function pageList(params) {
 	return request({
-		url: '/mobile/workAttendance/pageList',
+		url: '/mobile/yearRequestForLeaveInfoApi/pageList',
 		data: Qs.stringify(params),
 		method: 'post',
 	})

+ 10 - 1
src/projects/business/components/Approval/ListSp.vue

@@ -241,6 +241,14 @@
 					formId:"treatWork",
 					param:"diningName",
 					name:"companyName",
+				},
+				{},
+				{
+					title:"年假请假审核",
+					text1:"的年假请假",
+					text2:"年假请假日期",
+					formId:"yearLeaveWork",
+					param:"adjustDate"
 				}],
 				allSelect:[],
 				ids:[],
@@ -274,7 +282,8 @@
 				},
 			}
 		},
-		created() {
+		created() {
+			console.log(this.formId)
 			if(this.formId=="key"){
 				var formId= this.$route.query.formId;
 				for(var i in this.listmod){

+ 184 - 1
src/projects/business/router/master.js

@@ -861,7 +861,190 @@ const routesMaster = [
 					},
 				]
 			},
-
+			
+			//年假
+			{
+				path: 'annual',
+				component: () => import('../views/Layout.vue'),
+				children: [
+					//外勤打卡
+					{
+						path: 'sign',
+						name: 'MasterAnnualSign',
+						component: () => import('../views/Master/Annual/Sign.vue'),
+						meta: {
+							requireAuth: true,
+							role: [],
+							title: '外勤打卡',
+							mode: true
+						}
+					},
+					//考勤记录
+					{
+						path: 'list',
+						name: 'MasterAnnualList',
+						component: () => import('../views/Master/Annual/List.vue'),
+						meta: {
+							requireAuth: true,
+							role: [],
+							title: '考勤记录',
+							mode: true
+						}
+					},
+					//考勤补卡申请/外勤打卡详情
+					{
+						path: 'info',
+						name: 'MasterAnnualInfo',
+						component: () => import('../views/Master/Annual/Info.vue'),
+						meta: {
+							requireAuth: false,
+							role: [],
+							title: '考勤补卡申请详情',
+						}
+					},
+					//考勤补卡申请
+					{
+						path: 'apply',
+						name: 'MasterAnnualApply',
+						component: () => import('../views/Master/Annual/Apply.vue'),
+						meta: {
+							requireAuth: false,
+							role: [],
+							title: '考勤补卡申请',
+							form: true
+						}
+					},
+					//考勤补卡申请审核列表
+					{
+						path: 'verifyList',
+						name: 'MasterAnnualVerifyList',
+						component: () => import('../views/Master/Annual/VerifyList.vue'),
+						meta: {
+							requireAuth: true,
+							role: [],
+							title: '考勤补卡申请审核列表',
+							mode: true,
+						}
+					},
+					//考勤补卡申请详情
+					{
+						path: 'verifyInfo',
+						name: 'MasterAnnualVerifyInfo',
+						component: () => import('../views/Master/Annual/VerifyInfo.vue'),
+						meta: {
+							requireAuth: false,
+							role: [],
+							title: '考勤补卡申请详情',
+						}
+					},
+					//请假申请审核列表
+					{
+						path: 'verifyLeaveList',
+						name: 'MasterAnnualVerifyLeaveList',
+						component: () => import('../views/Master/Annual/VerifyLeaveList.vue'),
+						meta: {
+							requireAuth: true,
+							role: [],
+							title: '请假申请审核列表',
+							mode: true
+						}
+					},
+					//请假申请详情
+					{
+						path: 'verifyLeaveInfo',
+						name: 'MasterAnnualVerifyLeaveInfo',
+						component: () => import('../views/Master/Annual/VerifyLeaveInfo.vue'),
+						meta: {
+							requireAuth: false,
+							role: [],
+							title: '请假申请详情',
+						}
+					},
+					//请假记录
+					{
+						path: 'leaveList',
+						name: 'MasterAnnualLeaveList',
+						component: () => import('../views/Master/Annual/LeaveList.vue'),
+						meta: {
+							requireAuth: true,
+							role: [],
+							title: '请假记录',
+							mode: true
+						}
+					},
+					//请假详情
+					{
+						path: 'leaveInfo',
+						name: 'MasterAnnualLeaveInfo',
+						component: () => import('../views/Master/Annual/LeaveInfo.vue'),
+						meta: {
+							requireAuth: false,
+							role: [],
+							title: '请假详情',
+						}
+					},
+					//请假详情
+					{
+						path: 'leaveInfoCancel',
+						name: 'MasterAnnualLeaveInfoCancel',
+						component: () => import('../views/Master/Annual/LeaveInfoCancel.vue'),
+						meta: {
+							requireAuth: false,
+							role: [],
+							title: '销假详情',
+						}
+					},
+					
+					//请假提交
+					{
+						path: 'leaveForm',
+						name: 'MasterAnnualLeaveForm',
+						component: () => import('../views/Master/Annual/LeaveForm.vue'),
+						meta: {
+							requireAuth: false,
+							role: [],
+							title: '请假提交',
+							form: true,
+						}
+					},
+					//考勤统计列表
+					{
+						path: 'statistic',
+						name: 'MasterAnnualStatistic',
+						component: () => import('../views/Master/Annual/Statistic.vue'),
+						meta: {
+							requireAuth: true,
+							role: [],
+							title: '考勤统计(个人)',
+							mode: true,
+						}
+					},
+					//考勤统计列表
+					{
+						path: 'statisticList',
+						name: 'MasterAnnualStatisticList',
+						component: () => import('../views/Master/Annual/StatisticList.vue'),
+						meta: {
+							requireAuth: true,
+							role: [],
+							title: '考勤统计列表',
+							mode: true,
+						}
+					},
+					//考勤记录测温详情
+					{
+						path: 'temperatureInfo',
+						name: 'MasterAnnualTemperatureInfo',
+						component: () => import('../views/Master/Annual/TemperatureInfo.vue'),
+						meta: {
+							requireAuth: false,
+							role: [],
+							title: '考勤记录测温详情',
+						}
+					},
+				]
+			},
+			
 			//出差
 			{
 				path: 'businessTravel',

+ 13 - 4
src/projects/business/views-xsy/Approval/Info.vue

@@ -25,10 +25,11 @@
 			 <Info7 v-if="sp&&formId=='extraWork'" @getInfo="getInfo"></Info7>
 			 <Info8 v-if="sp&&formId=='commerceWork'" @getInfo="getInfo"></Info8>
 			 <Info9 v-if="sp&&formId=='treatWork'" @getInfo="getInfo"></Info9>
-			 <Info2 v-if="sp&&formId=='leaveCancelWork'" @getInfo="getInfo"></Info2>
+			 <Info2 v-if="sp&&formId=='leaveCancelWork'" @getInfo="getInfo"></Info2>
+			 <Info10 v-if="sp&&formId=='yearLeaveWork'" @getInfo="getInfo"></Info10>
 			 
 			 
-			<examineDetail  :style="myownerSubmit?' margin-bottom: 60px;':''"  @getOwnerSubmit="getOwnerSubmit" @allowExamine="allowExamine" :id="id" v-if="info.sp&&info.status!=4"></examineDetail>
+			<examineDetail :style="myownerSubmit?' margin-bottom: 60px;':''"  @getOwnerSubmit="getOwnerSubmit" @allowExamine="allowExamine" :id="id" v-if="info.sp&&info.status!=4"></examineDetail>
 			
 		<div class="fyy-footer" >
 			
@@ -53,7 +54,9 @@
 	import Info6 from '@/views/Master/ExtraWork/Info.vue'
 	import Info7 from '@/views/Master/ExtraWork/Info.vue'
 	import Info8 from '@/views-xsy/Commerce/Info2.vue'
-	import Info9 from '@/views-xsy/Treat/Info.vue'
+	import Info9 from '@/views-xsy/Treat/Info.vue'
+	
+	import Info10 from '@/views/Master/Annual/LeaveInfo.vue'
 	
 	import * as API_sp from '@/apis-xsy/xsy'
 	import ExamineDetail from '$project/components/ExamineDetail.vue'
@@ -72,7 +75,7 @@
 			Common,
 			Loading,
 			TopHeader,ExamineDetail,
-			Info1,Info2,Info3,Info4,Info5,Info6,Info7,Info8,Info9
+			Info1,Info2,Info3,Info4,Info5,Info6,Info7,Info8,Info9,Info10
 		},
 		data() {
 			return {
@@ -90,6 +93,9 @@
 		},
 		created() {
 			this.id = this.$route.query.id;
+			// if(this.formId == 'yearLeaveWork') {
+			// 	this.isLoading=false;
+			// }
 		},
 		methods: {
 			getOwnerSubmit(bl){
@@ -117,6 +123,9 @@
 				this.info.sp=true;
 				if(this.info.status==4){
 					this.isLoading=false;
+				}
+				if(this.formId == 'yearLeaveWork') {
+					this.info.text='年假请假申请';
 				}
 				this.$emit('spstatus',op.status);
 			},

+ 19 - 14
src/projects/business/views/Master/Annual/LeaveForm.vue

@@ -9,7 +9,8 @@
 				<form class="mui-input-group">
 					<div class="mui-input-row">
 						<label><span class="colorfe616c">*</span>请假类型</label>
-						<div class="mui-navigate-right" @click="selectType">
+						<!-- <div class="mui-navigate-right" @click="selectType"> -->
+						<div class="mui-navigate-right">
 							<button class="mui-btn mui-btn-block" type='button' v-text="typeName">请选择</button>
 						</div>
 					</div>
@@ -39,7 +40,7 @@
 					</div>
                     <div class="mui-input-row">
                         <label><span class="colorfe616c"></span>审批人</label>
-                        <div class=" " >
+                        <div class=" ">
 						<span class="mui-btn mui-btn-block" type='button' >{{examinePerson.name}}</span>
 						
                           
@@ -68,9 +69,9 @@
 			</div>
 
 			<div class="mui-content-padded mui-h6">注:<br/>
-			1、病假须上传医院证明。<br/>
-			2、请假事由中须写明请假去向。<br/>
-				<span  v-if="tjForm.leaveType==6" style="color:red" >3、丧假事由不需要上传照片,销假只需要上传火化纸质证明。</span><br/>
+			<!-- 1、病假须上传医院证明。<br/> -->
+			1、请假事由中须写明请假去向。<br/>
+				<span  v-if="tjForm.leaveType==6" style="color:red" >2、丧假事由不需要上传照片,销假只需要上传火化纸质证明。</span><br/>
 			</div>
 			<div class="vongi-btn">
 				<button class="mui-btn "  style="width: 50%;" :class="examinePerson.name?'mui-btn-success':'mui-btn-grey'"  type="submit" @click="submit(0)">
@@ -90,6 +91,7 @@
 <script>
 	import * as API_sp from '@/apis-xsy/xsy'
 	require('$project/assets/js/mui.picker.min.js');
+	import * as API_annual from '@/apis/Master/annual'
 	import * as API_Leave from '@/apis/Master/leave'
 	import Common from '$project/components/Common.vue'
 	import Loading from '$project/components/Loading.vue'
@@ -120,7 +122,7 @@
 				leaveTypeList: [],
  				approvedList: [],
                 workOverTime:0,
-				typeName: '请选择',
+				typeName: '年假',
 				approvalPersonName: '请选择',
 				id:"",
 				tjForm: {
@@ -152,7 +154,7 @@
 					return
 				}
 			    this.isLoading = true;
-			    API_Leave.detail({
+			    API_annual.detail({
 			        id: this.id
 			    }).then(response => {
 			        this.tjForm = {
@@ -163,7 +165,8 @@
 					
 					this.tjForm.id=this.id
 					this.tjForm.leaveType=response.type;
-					this.typeName=response.typeName;
+					// this.typeName=response.typeName;
+					this.typeName='年假';
 					this.daytime=response.days;
 					if(response.imageUrl){
 						this.picList=response.imageUrl.split(",")
@@ -178,13 +181,14 @@
 			getExaminePerson(){
 				var obj={
 					formId:this.tjForm.formId,
-					days:this.daytime
+					// days:this.daytime
 				}
 				if(this.tjForm.leaveType){
 					obj.leaveType=this.tjForm.leaveType
 				}
 				API_sp.examinePersonObj(obj).then(response => {
 					this.examinePerson=response
+					
 				}).catch(error => {
 					
 					mui.toast(error);
@@ -346,10 +350,11 @@
 			},
 			//表单检测
 			checkFrom() {
-				if (!this.tjForm.leaveType) {
-					mui.toast('请选择请假类型');
-					return false;
-				} else if (false) {
+				// if (!this.tjForm.leaveType) {
+				// 	mui.toast('请选择请假类型');
+				// 	return false;
+				// } else 
+				if (false) {
 					mui.toast('请选择审批人');
 					return false;
 				} else if (this.tjForm.startTime== '请选择') {
@@ -402,7 +407,7 @@
 					this.tjForm.endTime=this.tjForm.endTime+" 00:00:00"
 					
 					this.tjForm.activityId=this.examinePerson.processActivityId
-					API_Leave.save(this.tjForm).then(response => {
+					API_annual.save(this.tjForm).then(response => {
 						this.isLoading = false;
 						
 						

+ 7 - 5
src/projects/business/views/Master/Annual/LeaveInfo.vue

@@ -103,6 +103,7 @@
 	import * as WxJsApi from '$project/utils/wxJsApi'
 	
 import * as API_Leave from '@/apis/Master/leave'
+import * as API_annual from '@/apis/Master/annual'
 import Common from '$project/components/Common.vue'
 import Loading from '$project/components/Loading.vue'
 import ExamineDetail from '$project/components/ExamineDetail.vue'
@@ -120,7 +121,8 @@ export default {
     components: {
         Common,
         Loading,
-        TopHeader,ExamineDetail
+        TopHeader,
+				ExamineDetail
     },
     data() {
         return {
@@ -196,7 +198,7 @@ export default {
         //info
         getDetail() {
             this.isLoading = true;
-            API_Leave.detail({
+            API_annual.detail({
                 id: this.id
             }).then(response => {
                 this.detail = response;
@@ -208,9 +210,9 @@ export default {
                 this.daytime=day+'天';
 				this.detail.sp=true
 				this.detail.text=this.detail.typeName+"申请"
-				if(this.detail.cancelStatus!=5){
-					this.detail.statusName=this.detail.mergeStatusN;
-				}
+				// if(this.detail.cancelStatus!=5){
+				// 	this.detail.statusName=this.detail.mergeStatusN;
+				// }
 				this.$emit('getInfo',this.detail);
 				
                 this.isLoading = false;

+ 3 - 3
src/projects/business/views/Master/Annual/LeaveList.vue

@@ -15,7 +15,7 @@
 						 
 						<button class="mui-btn   mui-btn-outlined" :class="{'mui-btn-primary':mod.status==0,
 						'mui-btn-danger':mod.status==2||mod.status==3,
-						'mui-btn-success':mod.status==1||mod.status==4}"  v-text="mod.enableCancel||mod.cancelStatus!=5?mod.mergeStatusN:mod.statusN"  ></button>
+						'mui-btn-success':mod.status==1||mod.status==4}"  v-text="mod.statusN"  ></button>
 							
 					</li>
 
@@ -35,7 +35,7 @@
 
 
 <script>
-	import * as API_Leave from '@/apis/Master/leave'
+	import * as API_annual from '@/apis/Master/annual'
 	import Common from '$project/components/Common.vue'
 	import Loading from '$project/components/Loading.vue'
 	import TopHeader from '$project/components/TopHeader.vue'
@@ -110,7 +110,7 @@
 			//获取列表
 			getList() {
 				this.isLoading = true;
-				API_Leave.pageList(this.listForm).then(response => {
+				API_annual.pageList(this.listForm).then(response => {
 					if (response) {
 						if (this.listForm.pageIndex == 1) {
 							this.recordList = response.data;

+ 1 - 1
src/projects/business/views/Master/Annual/VerifyLeaveList.vue

@@ -1,6 +1,6 @@
 <template>
 	<div>
-			 <ListSp formId="2" ></ListSp>
+			 <ListSp formId="11" ></ListSp>
 	</div>
 </template>
 

+ 2 - 1
src/utils/storage.js

@@ -55,7 +55,8 @@ export const getOpenId = () => get('wx_openid')
 export const setOpenId = (data) => set('wx_openid', data)
 if (process.env.VUE_APP_NODE_NAME == 'devlopment') {
 	setOpenId("oHjCawigqi8SEAwutwkQ-VEgdp3k")//zkx
-	//setOpenId("oHjCawo-Twp2YRfuIT2Z9X4ayAtQ")//ys
+	// setOpenId("oHjCawmHqG44pqUW54iBlenaHYB8")//ys
+	// setOpenId("oHjCawg-PDb2fohr1dW4ID4RblYc")//fll
 	
 }
 export const getUserId = () => get('ali_openid')