zhengkaixin hace 2 años
padre
commit
d8b5f3bbba

+ 8 - 0
src/apis/Oa/doc.js

@@ -48,6 +48,14 @@ export function pageList(data) {
 	})
 }
 
+export function skipStep(data) {
+	return request({
+		url: '/mobile/doc/skipStep' ,
+		data: Qs.stringify(data),
+		method: 'post',
+	})
+}
+
 export function checkPageList(data) {
 	return request({
 		url: '/mobile/doc/checkPageList' ,

+ 1 - 1
src/commin.js

@@ -47,7 +47,7 @@
 		data() {
 			return {
 				//testOpenid:"oHjCawmHqG44pqUW54iBlenaHYB8",//ys
-				testOpenid:"oHjCawjfGX-Ee2kxoG8XZWPqtNsE",//zkx
+				testOpenid:"testzkx",//zkx
 				//testOpenid:"oHjCawsxTJkxixR74OVp7aCKahj8",//ylm
 				
 				//testOpenid:"oHjCawgwCGen5k1-hAsimdEX5lZo",//sz

+ 1 - 1
src/utils/request.js

@@ -58,7 +58,7 @@ var BACKEND_URL = baseApiList[apiTypeIndex];
 if (process.env.VUE_APP_NODE_NAME == 'devlopment') {			
 	//BACKEND_URL = 'http://192.168.77.162:8086/jp-housekeeper-server/'
 	////baseApiList = ['http://127.0.0.1:8086/jp-housekeeper-server/']
-//	BACKEND_URL="http://192.168.33.220:8086/gaoa-server/";
+	//BACKEND_URL="http://192.168.33.220:8086/gaoa-server/";
 }
 
 // 创建axios实例

+ 56 - 31
src/utils/wxJsApi.js

@@ -49,14 +49,7 @@ export function getWxConfig(jsApiList) {
 
 //选择图片,多图上传和单图上传的回调处理不一样
 export function chooseImage(count) {
-	const getImgSize = str => {
-	  var strLength = str.length;
-	  var fileLength = parseInt(strLength - (strLength / 8) * 2);
-	  var size = '';
-	  size = (fileLength / 1024).toFixed(2);
 	
-	  return parseInt(size);
-	};
 	var count = count || 1;
 	let promise = new Promise((resolve, reject) => {
 		wx.chooseImage({
@@ -93,7 +86,7 @@ export function getLocalImgData(localId, fun) {
 }
 
 //上传图片
-export function uploadPic(imgBase64) {
+export function uploadPic(imgBase64,compressBl) {
 	//1,先将base64转换为blob
 		   function dataURLtoBlob(dataurl){
 		      var arr = dataurl.split(','),
@@ -113,32 +106,64 @@ export function uploadPic(imgBase64) {
 		       return new File([theBlob], fileName, {type: theBlob.type, lastModified: Date.now()});
 		    }
 			
-		
+			/* 压缩base64图片 */
+			function compress(
+			  base64, // 源图片
+			  rate, // 缩放比例
+			  callback, // 回调
+			 resolve, reject
+			) {
+			  //处理缩放,转格式
+			  var _img = new Image();
+			  _img.src = base64;//这里赋值之后就会触发onload函数
+			  _img.onload = function () {
+			    var _canvas = document.createElement('canvas');
+			    var w = this.width * rate;
+			    var h = this.height * rate;
+			    _canvas.setAttribute('width', w);
+			    _canvas.setAttribute('height', h);
+			    _canvas.getContext('2d').drawImage(this, 0, 0, w, h);//this就是这个_img,在 这里画出缩小的图
+			    var base64 = _canvas.toDataURL('image/jpeg');//然后把缩小的图转化为base64了,实现了图片的压缩
+			    _canvas.toBlob(function (blob) {
+			     
+				  callback(base64,resolve, reject);
+			    }, 'image/jpeg');
+			  };
+			} 
+		function	thiscallback(imgBase64,resolve, reject){
+			console.log(imgBase64.length)
+			
+			var formData = new FormData();
+			formData.append('photoName', '1.jpg');
+			//formData.append('photoBase64Data', imgBase64);
+			var blob= dataURLtoBlob(imgBase64)
+			var file= blobToFile(blob,'1.jpg')
+			
+			
+			formData.append('photoFile', file);
+			
+			API_Common.upload(formData).then(response => {
+				resolve(response);
+			}).catch(error => {
+				mui.toast(error);
+				reject(error);
+			})
+		}
+			
 	let promise = new Promise((resolve, reject) => {
-		var formData = new FormData();
-		formData.append('photoName', '1.jpg');
-		//formData.append('photoBase64Data', imgBase64);
-		var blob= dataURLtoBlob(imgBase64)
-		var file= blobToFile(blob,'1.jpg')
-		formData.append('photoFile', file);
+		console.log(imgBase64.length)
 		
-		console.log(file);
-		 // console.log(res)
-		 // var k=getImgSize(res.localData)
-		 // console.log("图片大小"+(k/2000))
-		 if(file.size/1024<5000){
-		 	
-		 }else{
-			 var k=parseInt(file.size/1024) 
-		 		reject("图片大小限制5M,当前图片大小为"+(k/1000)+"M,建议裁剪或拍照防止照片失真");
-		 }
+		if(compressBl){
+			compress(imgBase64,0.6,thiscallback,resolve, reject)
+			
+		}else{
+			thiscallback(imgBase64,resolve, reject)
+		}
+		
+		
+		
+	
 		
-		API_Common.upload(formData).then(response => {
-			resolve(response);
-		}).catch(error => {
-			mui.toast(error);
-			reject(error);
-		})
 	});
 	return promise;
 }

+ 48 - 4
src/views-oa/Document/ExamineDetail.vue

@@ -60,7 +60,10 @@
 								<span :class="getClass(item.examineStep,i)">{{getClassText(item.examineStep)}} </span>
 								
 								<span class="mui-pull-right mui-h5 color999">{{item.examineStep.checkTime}}</span>
-
+								
+								<span
+									v-if="!operationBool&&(item.examineStep.examineStatus==1)"
+									@click="skipStep(item.examineStep.id)" class=" mui-h5 color-bule">跳过审批</span>
 								<span
 									v-if="operationBool&&(item.examineStep.examineStatus==0||item.examineStep.examineStatus==1)"
 									@click="editbtn(i)" class=" mui-h5 color-bule">修改</span>
@@ -74,7 +77,7 @@
 								</span>
 
 							</h4>
-
+							
 							<template v-if="item.examineStep.examineType=='single'">
 
 								<p v-for="(item1,j) in item.stepPersonList" :key="'a'+j">{{item1.auditorName}}
@@ -106,7 +109,14 @@
 									<span :class="getClass(item1,i)">{{item1.opinion}}</span>
 								</p>
 							</template>
-
+							<template v-if="item.examineStep.examineStatus=='4'">
+							
+								<p >发起者跳过原因:
+									<span >{{item.examineStep.skipReason}}  </span>
+								</p>
+								<ul class="mui-table-view mui-grid-view mui-grid-9 flex ">
+								</ul>
+							</template>
 						</div>
 
 					</div>
@@ -218,6 +228,35 @@
 			}
 		},
 		methods: {
+			methodskipStep(id,skipReason){
+				this.isLoading = true;
+				API.skipStep({ 
+					id:id,
+					skipReason:skipReason,
+				}).then(response => {
+					
+				    this.isLoading = false;
+					this.$emit('getinfo');
+				}).catch(error => {
+				    this.isLoading = false;
+				    mui.toast(error);
+				})
+			},
+			skipStep(id){
+				var _this=this;
+				mui.prompt('请填写跳过当前审批原因', "跳过原因",'提示', ['取消', '确定'], function(e) {
+						if (e.index == 1) {
+						
+							if(e.value){
+								_this.methodskipStep(id,e.value)
+							}else{
+								mui.toast("请填写跳过原因")
+							}
+							
+						}
+					}
+				)
+			},
 			getDetail(id) {
 			    this.isLoading = true;
 			    API.edit( id).then(response => {
@@ -455,6 +494,9 @@
 				if ( ac.examineStatus == "3") {
 					return "已拒绝"
 				}
+				if ( ac.examineStatus == "4") {
+					return "已跳过"
+				}
 				if (ac.status == "0") {
 					return ""
 				}
@@ -484,7 +526,9 @@
 				if ( ac.examineStatus == "3") {
 					return "colorfe616c"
 				}
-				
+				if ( ac.examineStatus == "4") {
+					return "colorfe616c"
+				}
 				if (ac.status == "0") {
 					return ""
 				}

+ 4 - 4
src/views-oa/Document/Form.vue

@@ -37,10 +37,10 @@
 			</div>
 		</div>
 			<div class="mui-content-padded" style="padding-bottom:20px">
-				<h5><span class="colorfe616c">*</span>上传照片</h5>
-				<div class="fyy-upphoto">
+				<h5><span class="colorfe616c">*</span>上传照片<span style="font-size: 12px;" v-show="picList.length">点击图片可预览</span></h5>
+				<div class="fyy-upphoto" v-viewer >
 					<div class="mui-col-xs-3 fyy-upphoto-close" v-for="(item,index) in picList">
-						<img :src="item" />
+						<img :src="item"  />
 						<a class="mui-icon mui-icon-closeempty" @click="delPic(item)"></a>
 					</div>
 					<div class="mui-col-xs-3" @click="chooseImage">
@@ -216,7 +216,7 @@
 			//上传图片
 			uploadpic() {
 				this.isLoading = true;
-				WxJsApi.uploadPic(this.imgBase64).then(response => {
+				WxJsApi.uploadPic(this.imgBase64,true).then(response => {
 					this.isLoading = false;
 
 					this.picList.push(response);

+ 13 - 7
src/views-oa/Document/Info.vue

@@ -27,13 +27,16 @@
           
             <div class="mui-input-row">
                 <label>图片附件</label>
-                <span class="vongi-qingjiadt-photo"
-				 style="border-radius: 0; margin: 3px 3px;float: left;"
-				 v-for="(item,index) in picList"  >
-                   
-                   <img :src="item" v-viewer />
+				<div v-viewer>
 					
-                </span>
+					<span class="vongi-qingjiadt-photo"
+					 style="border-radius: 0; margin: 3px 3px;float: left;"
+					 v-for="(item,index) in picList"  >
+					   
+					   <img :src="item"  />
+						
+					</span>
+				</div>
             </div>
 			
 			
@@ -51,7 +54,9 @@
            
         </div>
 		<div class="mui-content vongi-wordcard"  v-if="list" style=" background-color: #ffffff;margin-top: 10px;    padding-top: 0px;">
-			<examineDetail :edit="false" :list="list" :view="detail.docStatus==0" ></examineDetail>	
+			<examineDetail :edit="false" :list="list" 
+			@getinfo="getDetail"
+			:view="detail.docStatus==0" ></examineDetail>	
 		
 		</div>
 		
@@ -197,6 +202,7 @@ export default {
         //info
         getDetail() {
             this.isLoading = true;
+			this.list=null;
             API.edit( this.id).then(response => {
                 this.detail = response.masterFile;
 				this.list=response

+ 1 - 1
vue.config.js

@@ -23,7 +23,7 @@ const conf =  {
 		outputDir: 'dist',
 		devServer: {
 			host: '0.0.0.0',
-			port: 80,
+			port: 8080,
 			//解析缓存
 			disableHostCheck: true,
 			//支持gzip