瀏覽代碼

调整 ,加班,筛选

zhengkaixin 2 年之前
父節點
當前提交
432d434c7d

+ 3 - 1
.env.development

@@ -2,7 +2,9 @@ NODE_ENV=devlopment
 VUE_APP_NODE_NAME=devlopment
 OUT_PUT_NAME=dev
 VUE_APP_LOCAL_STORAGE_PREFIX=dev
-VUE_APP_BACKEND_URL=http://ykt-test.xiaoxinda.com/shinestar-server/
+VUE_APP_BACKEND_URL=http://223.75.170.44:6060/shinestar-server
+
+##VUE_APP_BACKEND_URL=http://ykt-test.xiaoxinda.com/shinestar-server/
 VUE_APP_MIRROR_BACKEND_URL=https://mirror.xiaoxinda.com/xpgjapi/
 #小鹏管家微信appid
 VUE_APP_WXAPPID=wx7e70eb62a8459869

+ 5 - 4
src/components/Cropper.vue

@@ -7,15 +7,16 @@
 		</div>
 		<div class="content">
 			<div class="show-info">
+				<div style="margin-top: 10px;">
+					<button type="button" @click="cancel" class="mui-btn">取消</button>
+					<button type="button" @click="finish" class="mui-btn" style="float: right;">确定</button>
+				</div>
 				<div class="test" :style="'width:'+cwidth+'px;height:'+cheight+'px'">
 					<vueCropper ref="cropper" :img="cropper.img " :outputSize="cropper.size" :outputType="cropper.outputType" :info="cropper.info"
 					 :canScale="cropper.canScale" :autoCrop="cropper.autoCrop" :autoCropWidth="cropper.autoCropWidth" :autoCropHeight="cropper.autoCropHeight"
 					 :fixed="cropper.fixed" :fixedNumber="cropper.fixedNumber" :enlarge="4"></vueCropper>
 				</div>
-				<div style="margin-top: 10px;">
-					<button type="button" @click="cancel" class="mui-btn">取消</button>
-					<button type="button" @click="finish" class="mui-btn" style="float: right;">确定</button>
-				</div>
+				
 				<div style="font-size: 14px;margin-top: 10px;line-height: 20px;color: red;">1.照片用于人脸识别设备,请上传清晰免冠登记照或肩部以上近照。</div>
 				<div style="font-size: 14px;margin-top: 10px;line-height: 20px;color: #888888;">2.可以拖动图片或双手指缩放图片,最好让照片填满马赛克边框。</div>
 			</div>

+ 3 - 2
src/projects/business/apis-xsy/applyclass.js

@@ -94,12 +94,13 @@ export function adjustShiftList(params) {
 }
 
 //安排调班选择人员时展示的部门
-export function arrangeShiftCompanyList(params) {
+export function arrangeShiftCompanyList(params,batchJob) {
  
 	return request({
 		url: '/mobile/adjustShiftApi/arrangeShiftCompanyList',
 		data: Qs.stringify({
-			companyId:params
+			companyId:params,
+			batchJob:batchJob
 		}),
 		method: 'post',
 	})

+ 19 - 1
src/projects/business/apis-xsy/xsy.js

@@ -2,10 +2,27 @@ import request from '$project/utils/request'
 import Qs from 'qs';
 
 //审批人查看
-export function examinePerson(formId) {
+export function examinePersonList(formId) {
+	var params= {
+		formId:formId
+	}
+	
+	return request({
+		url: '/mobile/adjustShiftApi/processTemplateList',
+	
+		data: Qs.stringify(params),
+		method: 'post',
+	})
+}
+
+//审批人查看
+export function examinePerson(formId,processTemplateId) {
 	var 	params= {
 			formId:formId
 		}
+		if(processTemplateId){
+			params.processTemplateId=processTemplateId
+		}
 	return request({
 		url: '/mobile/adjustShiftApi/examinePerson',
 	
@@ -13,6 +30,7 @@ export function examinePerson(formId) {
 		method: 'post',
 	})
 }
+ 
 //审批人查看 obj
 export function examinePersonObj(params) {
  

+ 53 - 3
src/projects/business/components/Approval/ListSp.vue

@@ -5,6 +5,16 @@
     <header class="mui-bar mui-bar-nav">
 			<h1 class="mui-title">{{mymod.title}}</h1>
 			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
+			
+			<a  @click="doRightLink" v-show="false&&!switchTab" class="fyy-bar mui-pull-right">
+				<span class="mui-icon" >
+					<span class="header-right-wz" style="font-size:14px">
+						统计<i></i>
+					</span>
+					
+				</span>
+			</a>
+			
 		</header>
 		<div class="mui-content vongi-wordcard-sp">
 			<div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
@@ -46,6 +56,18 @@
 						</div>
 					</div>
 					<div  class="mui-slider-item mui-control-content" v-show="!switchTab">
+						<div class="searchclass" style="">
+							<div class="mui-input-row mui-plus-hidden">
+								<input type="search" class="mui-input-speech mui-input-clear"
+									v-model="listForm2.name" @search="getList2(true)"
+								 placeholder="输入姓名搜索" data-input-clear="4" data-input-speech="4">
+								 
+								<span class="mui-icon mui-icon-clear mui-hidden"></span>
+								<span  @click="getList2(true)" 
+								style="width: 20%;font-size: 18px;    top: 12px;"
+								class="mui-icon mui-icon-speech mui-icon-search">筛选</span>
+							</div>
+						</div>								
 						<div class="mui-scroll-wrapper">
 							<div class="mui-scroll">
 								<ul class="mui-table-view mui-table-view-chevron">
@@ -75,6 +97,13 @@
 									</li>
 									
 								</ul>
+								<div 
+								style="
+								    text-align: center;
+								    margin-top: 5px;
+								    color: #9e9e9e;
+								"
+								v-if="recordList2.length&&recordList2.length==listForm2.recordsTotal">----已经到底了----</div>
 								<NullList :remark="'暂无已处理记录'" v-if="!recordList2.length"></NullList>
 								
 							</div>
@@ -234,6 +263,7 @@
 					pageIndex: 1,
 					pageSize: 20,
 					totalPage: 1,
+					name:'',
 				},
 				recordList2: [],
 				subForm: {
@@ -264,6 +294,9 @@
 			}
 		},
 		methods: {
+			doRightLink(){
+				
+			},
 			leaveItem(detail){
 				if(this.formId=="2"){
 					if(detail.startTime==detail.endTime&&detail.startTimeQuantum=='0'&&detail.endTimeQuantum=='1'){
@@ -350,7 +383,10 @@
 				}
 			},
 			//获取列表
-			getList2() {
+			getList2(bl) {
+				if(bl){
+					this.listForm2.pageIndex=1
+				}
 				this.isLoading = true;
 				API.alreadyExamineShiftList(this.listForm2).then(response => {
 					if (response) {
@@ -364,13 +400,14 @@
 							this.listForm2.pageIndex = response.pageNumber;
 							this.listForm2.totalPage = response.totalPage;
 							
+							
 						} else {
 							this.recordList2 = [
 								...this.recordList2,
 								...response.data
 							];
 						}
-						
+						this.listForm2.recordsTotal=response.recordsTotal
 					}
 					
 					this.listForm2.pageIndex++;
@@ -464,5 +501,18 @@
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style src="$project/assets/css/xsy.css"></style>
 <style>
-	
+	.searchclass{
+		background-color: white;
+	}
+	.searchclass input{
+		margin-left: 10px;
+		margin-top: 8px;
+		    margin-bottom: 3px;
+		    padding: 4px 8px;
+		    background-color: #F0F0F0;
+		    max-width: 75%;
+			
+		    font-size: 16px;
+		    top: 12px;
+	}
 </style>

+ 7 - 1
src/projects/business/views-xsy/PlanClass/Person.vue

@@ -95,6 +95,10 @@
 				default:"",
 				required:false
 			},
+			batchJob:{
+				default:0,
+				required:false
+			},
 		},
 		methods: {
 			checkboxBtn(obj,bl,i){
@@ -214,7 +218,9 @@
 			getArrangeShiftCompanyList(){
 					this.isLoading = true;
 				
-				API.arrangeShiftCompanyList(this.companyId).then(response => {
+				API.arrangeShiftCompanyList(
+				
+				this.companyId,this.batchJob).then(response => {
 					  this.arrangeShiftCompanyList=response.list;;
 					 this.getArrangeShiftPersonList();
 					this.isLoading = false;

+ 54 - 4
src/projects/business/views-xsy/WorkOvertime/Add.vue

@@ -2,7 +2,7 @@
 <div>
 			<top-header :pageTitle="pageTitle" v-show="!stepSelect"></top-header>
 			
-			<select-person  v-if="initSelectPerson"  v-show="stepSelectPerson"  :setids="subForm.personIds"  :setnames="seletPerson"  @confirm="confirm2"></select-person>
+			<select-person  v-if="initSelectPerson" batchJob="1" v-show="stepSelectPerson"  :setids="subForm.personIds"  :setnames="seletPerson"  @confirm="confirm2"></select-person>
 			
 			<div class="mui-content vongi-fx  vongi-qingjiadt margin60"  v-show="!stepSelect">
 				<form class="mui-input-group vongi-editme margin10 mt-10">
@@ -43,7 +43,18 @@
 						<textarea id="textarea" rows="3" v-model="subForm.reason" placeholder="请填写加班原因"></textarea>
 					</div>
 				</form>
+				
+				 
+				
                 <form class="mui-input-group vongi-editme">
+					<div class="mui-input-row" v-show="examinePersonList.length>1" >
+						<label><i class="colorfe616c">*</i>&nbsp;审批模板</label>
+						<button class="mui-btn mui-btn-block mui-navigate-right" 
+						@click="selectSpBtn" v-html="seletSpName" 
+						type='button' style="width:65%">
+							请选择
+						</button>
+					</div>
 					<div class="mui-input-row">
 						<label>&nbsp;&nbsp;审核人</label>
 						<span  v-text="examinePerson.name">赵振</span>
@@ -91,6 +102,7 @@
 		},
 		data() {
 			return {
+				examinePersonList:[],
 				examinePerson:{},
 				pageTitle: '加班申请',
 
@@ -100,6 +112,8 @@
 				initSelectPerson:false,
 				stepSelectPerson:false,
 				seletPerson:"请选择",
+				seletSpName:"请选择",
+				
 				subForm: {
 					personIds:"",
 					reason: '',
@@ -163,6 +177,26 @@
 					 this.subForm.personIds=temp.selectId.join();
 				}
 			},
+			//类型选择
+			selectSpBtn() {
+				var picker = new mui.PopPicker();
+				var list= this.examinePersonList
+				var data=[]
+				for (var i = 0; i < list.length; i++) {
+					data.push({
+						value: list[i]['id'],
+						text: list[i]['name']
+					})
+				}
+				picker.setData(data);
+				var _this = this;
+				picker.show(function(selectItems) {
+				
+					_this.seletSpName=selectItems[0].text
+					_this.getExaminePerson(selectItems[0].value)
+					//_this.typeName = selectItems[0].text;
+				})
+			},
 			selectPersonBtn(){
 				this.initSelectPerson=true;
 				this.stepSelectPerson=true;
@@ -257,6 +291,8 @@
 				this.subForm.draft=status;
 				if (this.checkForm()) {
 					this.isLoading = true;
+					
+					this.subForm.processTemplateId=this.examinePerson.processTemplateId;
 					API_ExtraWork.workOverPathSubmit(this.subForm).then(response => {
 						this.isLoading = false;
 						if(status){
@@ -282,10 +318,24 @@
 				var hoursArr = hourDistanceArr(this.subForm.startTime, this.subForm.endTime);
 				this.subForm.hours = hoursArr[0];
 			},
-			getExaminePerson(){
+			getExaminePersonList(){
+				
+				API_sp.examinePersonList(this.subForm.formId).then(response => {
+					this.examinePersonList=response.list
+					if(this.examinePersonList.length){
+						this.seletSpName=this.examinePersonList[0].name
+						this.getExaminePerson(this.examinePersonList[0].id)
+					}
+				}).catch(error => {
+					
+					mui.toast(error);
+				})
+			},
+			getExaminePerson(id){
 				
-				API_sp.examinePerson(this.subForm.formId).then(response => {
+				API_sp.examinePerson(this.subForm.formId,id).then(response => {
 					this.examinePerson=response
+					this.examinePerson.processTemplateId=id
 				}).catch(error => {
 					
 					mui.toast(error);
@@ -298,7 +348,7 @@
 		mounted() {
 			//获取审核人列表
 			//this.getBusinessOutApprovalPerson();
-			this.getExaminePerson();
+			this.getExaminePersonList();
 			this.getInfo();
 		},
 		destroyed() {},

+ 2 - 0
src/utils/request.js

@@ -21,6 +21,8 @@ if (process.env.VUE_APP_NODE_NAME == 'devlopment') {
 		
 		//BACKEND_URL="https://ykt-test.xiaoxinda.com/shinestar-server/"
 		BACKEND_URL='http://223.75.170.44:6060/shinestar-server';
+	//	BACKEND_URL='http://192.168.11.120:8086/shinestar-server';
+		
 		
 }
 

+ 1 - 1
src/utils/request2.js

@@ -16,7 +16,7 @@ axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'
 var BACKEND_URL = process.env.VUE_APP_BACKEND_URL;
 
 if (process.env.VUE_APP_NODE_NAME == 'devlopment') {
-		// BACKEND_URL='http://192.168.33.120:8086/shinestar-server';
+		// BACKEND_URL='http://192.168.12.120:8086/shinestar-server';
 		// BACKEND_URL='http://192.168.33.90:8086/shinestar-server';
 		
 	//	BACKEND_URL="https://ykt-test.xiaoxinda.com/shinestar-server/"

+ 3 - 1
src/utils/storage.js

@@ -53,7 +53,9 @@ export const clear = () => engine.clear()
 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")
+}
 export const getUserId = () => get('ali_openid')
 
 export const setUserId = (data) => set('ali_openid', data)