zhengkaixin 2 년 전
부모
커밋
69db826e62

+ 2 - 2
src/commin.js

@@ -51,10 +51,10 @@ import {
 		data() {
 			return {
 				//testOpenid:"oHjCawmHqG44pqUW54iBlenaHYB8",//ys
-				testOpenid:"oN5ep6Os2nExGLOW5k1cZHGwVFHE",//zkx
+				//testOpenid:"oN5ep6Os2nExGLOW5k1cZHGwVFHE",//zkx
 				//testOpenid:"oHjCawsxTJkxixR74OVp7aCKahj8",//ylm
 				
-				//testOpenid:"oHjCawgwCGen5k1-hAsimdEX5lZo",//sz
+				testOpenid:"oHjCawgwCGen5k1-hAsimdEX5lZo",//sz
 				
 				
 				isLoading: false,

+ 61 - 19
src/views-oa/Document/ExamineDetail.vue

@@ -13,17 +13,18 @@
 		<div v-show="!showPerson">
 			<div class="mui-content-padded">
 				<h5>审核记录
-				<span v-show="edit&&(examineDetail.examineStepDTOList.length==0||templateFlag)" @click="getList()"  style="
+				
+				<span v-show="false&&edit&&(examineDetail.examineStepDTOList.length==0||templateFlag)" @click="getList()"  style="
 					float: right;
 					color: #3385FF;
 				" >使用上次审批</span>
 				
-				<span v-show="edit&&(examineDetail.examineStepDTOList.length==0||templateFlag)" @click="getTemplate()"  style="
+				<span v-show="false&&edit&&(examineDetail.examineStepDTOList.length==0||templateFlag)" @click="getTemplate()"  style="
 					float: right;
 					color: #3385FF; margin-right: 20px;
 				" >使用模板</span>
 				
-					<span v-show="view&&!edit"  @click="edit=true" style="
+					<span v-show="false&&view&&!edit"  @click="edit=true" style="
 							float: right;
 							color: #3385FF;   
 						" >修改流程</span>
@@ -34,7 +35,18 @@
 				</h5>
 			</div>
 			<div class="vongi-slot" style="padding-bottom: 10px;">
-
+				<div class="vongi-slot-block" v-show="examineDetail.examineStepDTOList.length==0" >
+					<div class="vongi-slot-img" >
+					
+						<img src="@/assets/img/default_face.png">
+					</div>
+					<div class="vongi-slot-content">
+						<h4  @click="addExamineBtn(-1)"  class=" mui-h5 color-bule">选择审批人 	</h4>
+					
+						<ul class="mui-table-view mui-grid-view mui-grid-9 flex ">
+						</ul>
+					</div>
+				</div>
 				<template v-for="(item,i) in examineDetail.examineStepDTOList">
 
 					<div class="vongi-slot-block" :key="i" v-if="item.examineStep.stepType==1">
@@ -62,17 +74,17 @@
 								<span class="mui-pull-right mui-h5 color999">{{item.examineStep.checkTime}}</span>
 								
 								<span
-									v-if="!operationBool&&(item.examineStep.examineStatus==1)"
+									v-if="false&&!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>
+									v-if="update&&(item.examineStep.examineStatus==1)"
+									@click="editbtn(i,true)" class=" mui-h5 color-bule">修改</span>
 
 								<span v-if="operationBool&&(item.examineStep.examineStatus==0)"
 									class="mui-pull-right mui-h5 " style="color: red;" @click="delbtn(i)">删除</span>
 
 								<span class="mui-pull-right mui-h5"
-									v-if="operationBool&&(item.examineStep.examineStatus==0||item.examineStep.examineStatus==1)"
+									v-if="false&&operationBool&&(item.examineStep.examineStatus==0||item.examineStep.examineStatus==1)"
 									v-show="i!=examineDetail.examineStepDTOList.length-1" @click="addExamineBtn(i)">向下添加
 								</span>
 
@@ -126,8 +138,8 @@
 					<div class="vongi-slot-img"><img src="@/assets/img/icon_chaosong.png"></div>
 					<div class="vongi-slot-content">
 						<h4>抄送人
-							<span v-if="operationBool" @click="editbtn('view')" class=" mui-h5 color-bule">修改</span>
-
+							<span v-show="view" @click="editbtn('view')" class=" mui-h5 color-bule">修改</span>
+							
 						</h4>
 						<p>抄送{{ccPersonList.length}}人</p>
 						<ul class="mui-table-view mui-grid-view mui-grid-9 flex ">
@@ -144,8 +156,12 @@
 
 			</div>
 
-			<div class="addbtn" style="text-align: center;" v-if="operationBool">
-				<button type="button"  class="btn1 mui-btn mui-btn-primary" @click="addExamineBtn(-1)">添加流程</button>
+			<div class="addbtn" style="text-align: center;" v-if="false">
+				<button type="button"  class="btn1 mui-btn mui-btn-primary"
+				 v-if="false"
+				 v-show="(edit&&examineDetail.examineStepDTOList.length==0)||!edit"
+				 
+				 @click="addExamineBtn(-1)">添加流程</button>
 
 				<button type="button"  class="btn1 mui-btn mui-btn-primary" v-show="view&&edit"  @click="save">保存</button>
 
@@ -192,7 +208,8 @@
 					examineStepDTOList: [],
 
 				},
-				only: "test"
+				only: "test",
+				exaEdit:false,
 
 			}
 		},
@@ -215,7 +232,12 @@
 			edit: {
 				require: false,
 				default: true,
-			},
+			},
+			update: {
+				require: false,
+				default: false,
+			},
+			
 			//是否只能查看
 			view: {
 				require: false,
@@ -366,6 +388,12 @@
 					this.isLoading = false;
 					this.init();
 					mui.toast("保存成功");
+					if(this.exaEdit||this.selectIndex == 'view'){
+						this.$emit('updateinfo');
+					}else{
+						this.$emit('getinfo',this.selectIndex);
+					}
+					
 				}).catch(error => {
 					this.isLoading = false;
 					mui.toast(error);
@@ -433,13 +461,20 @@
 					} else {
 						this.examineDetail.examineStepDTOList[this.selectIndex] = obj.selectObj
 
+					}
+					if(!this.edit){
+						this.save()
 					}
-				}
+				}
+				
 				console.log(this.examineDetail)
 			},
-			editbtn(i) {
+			editbtn(i,bl) {
+				this.exaEdit=bl;
+				
 				this.selectIndex = i
-				if (i == 'view') {
+				if (i == 'view') {
+					//this.edit=true
 					this.selectObj = {
 						examineStep: {
 							examineStatus: 0,
@@ -462,7 +497,14 @@
 			delbtn(i) {
 				this.examineDetail.examineStepDTOList.splice(i, 1)
 			},
-
+			openFromStep(){
+				var list=this.examineDetail.examineStepDTOList;
+				if(list[list.length-1].examineStep.examineStatus==0){
+					this.editbtn(list.length-1);
+				}else{
+					this.addExamineBtn(-1);
+				}
+			},
 			addExamineBtn(i) {
 
 				this.selectObj = {
@@ -630,7 +672,7 @@
 		top: 0;
 		left: 0;
 		width: 100%;
-		height: 100%;
+		height: 120%;
 		background: rgb(255, 255, 255);
 		z-index: 999;
 	}

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

@@ -41,7 +41,7 @@
 				
 				
 				<div class="mui-input-row">
-					<label><span class="colorfe616c">*</span>{{item.name}}</label>
+					<label><span class="colorfe616c" v-if="item.bt">*</span>{{item.name}}</label>
 					<input type="text" v-model="tjForm[item.value]"  :placeholder="'请填写'+item.name">
 				</div>
 			</div>
@@ -128,7 +128,7 @@
 					],
 					[//内部
 						{name:"拟发文号",value:"nfwh"},
-						{name:"提报说明",value:"tbsm"},
+						{name:"提报说明",value:"tbsm",bt:true},
 					],
 					[//外部
 						{name:"文件名称",value:"wjmc"},
@@ -138,7 +138,7 @@
 						{name:"收到时间",value:"sdsj"},
 						{name:"归入案卷号",value:"grajh"},
 						
-						{name:"提报说明",value:"tbsm"},
+						{name:"提报说明",value:"tbsm",bt:true},
 					],
 				],
 				only: "test",
@@ -339,7 +339,7 @@
 					var list=this.textList[this.tjForm.docType];
 					for(var i in list){
 						var item=list[i];
-						if(!this.tjForm[item.value]){
+						if(item.bt&&!this.tjForm[item.value]){
 							mui.toast('请填写'+item.name);
 							return false;
 						}

+ 2 - 2
src/views-oa/Document/Info.vue

@@ -61,7 +61,7 @@
 		<div class="mui-content vongi-wordcard"  v-if="list" style=" background-color: #ffffff;margin-top: 10px;    padding-top: 0px;">
 			<examineDetail :edit="false" :list="list" 
 			@getinfo="getDetail"
-			:view="detail.docStatus==0" ></examineDetail>	
+			 ></examineDetail>	
 		
 		</div>
 		
@@ -127,7 +127,7 @@ export default {
 				],
 			],
 			rightLink: {
-				show: true,
+				show: false,
 				//icon: 'icon-tongji',
 				style: 'font-size:14px',
 				title: '设为模板'

+ 1 - 1
src/views-oa/Document/List.vue

@@ -91,7 +91,7 @@
 				statusColor: ['classFF8400', 'class389E0D', 'classFF6666','classA5A5A5'],
 				
 				rightLink: {
-					show: true,
+					show: false,
 					//icon: 'icon-tongji',
 					style: 'font-size:14px',
 					title: '我的模板'

+ 2 - 2
src/views-oa/Document/Person.vue

@@ -201,7 +201,7 @@
 				})
 			},
 			ok() {
-				if (this.selectPerson.length) {
+				if (this.selectPerson.length||this.selectType == "view") {
 					var k=0;
 					for(var i in this.selectPerson){
 						var obj=this.selectPerson[i];
@@ -209,7 +209,7 @@
 							k++;
 						}
 					}
-					if(k==0){
+					if(k==0&&this.selectType != "view"){
 						mui.toast("请保留最少一人审批");
 						return
 					}

+ 93 - 10
src/views-oa/Document/VerifyInfo.vue

@@ -51,13 +51,35 @@
 		    </form>
 		    <div class="vongi-slot">
 		       
-		    </div>
-			<div v-if="actionSp" class="fyy-scon-botton">
+		  
+			
+			<div v-if="actionSp&&actionType" class="fyy-scon-botton">
+				<div class="examine-btn examine-btn1" @click="openFrom('2')">拒绝</div>
+				<div class="examine-btn examine-btn2" @click="openFromStep('1')">通过并指派下一级</div>
+			</div>
+			<div v-if="actionSp&&actionType" class="fyy-scon-botton">
+				<div class="examine-btn examine-btn2" @click="openFrom('1')">终审通过</div>
+			</div>
+			
+			<div v-if="actionSp&&!actionType" class="fyy-scon-botton">
 				<div class="examine-btn examine-btn1" @click="openFrom('2')">拒绝</div>
 				<div class="examine-btn examine-btn2" @click="openFrom('1')">通过</div>
 			</div>
+			<div v-if="actionSp&&!actionType" class="fyy-scon-botton">
+				<div class="examine-btn examine-btn2" style="background:#ff9800"  @click="openFromStep2('1')">指派下一级</div>
+				
+			</div>
+			  </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"  ></examineDetail>	
+				<examineDetail :edit="false"
+				:update="actionSpUpdate"
+				ref="examineDetailObj"
+				
+				 :view="detail.docStatus==0&&actionSp"
+				 @getinfo="doActionAsynCallBack" 
+				 @updateinfo="getDetail"
+				 :list="list"  ></examineDetail>	
 			</div>
 		
 
@@ -119,7 +141,9 @@ import * as API from '@/apis/Oa/doc'
 					opinion: '',
 					status: ''
 				},
+				actionSpUpdate:false,
 				actionSp:false,
+				actionType:true,
 				textList:[
 					[],
 					[//工程合同会签申请单
@@ -145,7 +169,7 @@ import * as API from '@/apis/Oa/doc'
 				status: ['待审核', '已通过', '未通过', '已撤销'],
 				 //  status: ['待审核', '已批准', '已拒绝','已撤销'],
 				statusColor: ['mui-btn-warning', 'mui-btn-success', 'mui-btn-danger',''],
-					
+				spstep:false,
 				
 			}
 		},
@@ -165,31 +189,64 @@ import * as API from '@/apis/Oa/doc'
                 }
                 return 'color:' + color + ';border-color:' + color + ';';
             },
+			getDetailInfo(){
+				this.getDetail()
+				this.selectIdList = [this.id];
+				if (!this.selectIdList.length) {
+					mui.toast('请选择要处理的信息');
+				} else {
+					this.subForm.status = 1;
+					this.subForm.opinion =  '同意';
+					this.openFromVisible = true;
+					//直接点击处理,不需要弹窗理由框,又需要弹窗理由框了
+					//this.doAction();
+				}
+			},
 			//获取详情
 			getDetail() {
 				this.isLoading = true;
 				this.actionSp=false;
+				this.actionType=true;
+				this.actionSpUpdate=false;
 				this.list=null;
 				API.edit( this.id).then(response => {
 				    this.detail = response.masterFile;
 					this.list=response
 					var list= response.examineStepDTOList
+					var oldobj={};
 					for(var  i in  list){
 						var obj=list[i];
 						
 						if(obj.examineStep.examineStatus==1&&this.detail.docStatus==0){
 							
+							if(obj.examineStep.examineType=="and"){
+								this.actionType=false;
+							}
 							var sz=obj.stepPersonList
 							for(var j in sz){
 								var obk=sz[j];
 								if(obk.status==0&&obk.personId==this.person_data.id){
+									
 									this.actionSp=true;
+									this.actionSpUpdate=true
+								}
+							}
+							if(oldobj.stepPersonList){
+								sz=oldobj.stepPersonList
+								for(var j in sz){
+									var obk=sz[j];
+									if(obk.personId==this.person_data.id){
+										
+										this.actionSpUpdate=true
+									}
 								}
 							}
 							
+							
 							break;
 							
 						}
+						oldobj=obj;
 						
 					}
 					
@@ -201,6 +258,7 @@ import * as API from '@/apis/Oa/doc'
 			},
 			//显示内容表单
 			openFrom(status) {
+				this.spstep=false;
 				this.selectIdList = [this.id];
 				if (!this.selectIdList.length) {
 					mui.toast('请选择要处理的信息');
@@ -212,18 +270,41 @@ import * as API from '@/apis/Oa/doc'
 					//this.doAction();
 				}
 			},
-			//检测表单
-			checkForm() {
-				return true;
+			openFromStep() {
+				this.spstep=true;
+				this.subForm.status = 1;
+				this.subForm.opinion = '同意';
+				this.openFromVisible = true;
+				
+			},
+			 openFromStep2() {
+			 	this.$refs.examineDetailObj.openFromStep()
+			 },
+			//同意拒绝
+			doActionAsynCallBack() {
+				if(this.actionType){
+					//指派+审批通过
+					this.spstep=false;
+					this.doAction()
+				}else{
+					//指派
+					this.getDetail();
+				}
+				
+				
 			},
 			//同意拒绝
 			doAction() {
-				this.subForm.masterFileId = this.id;
-				if (this.checkForm()) {
+				
+				if(this.spstep){
+					this.$refs.examineDetailObj.openFromStep()
+					this.openFromVisible = false;
+				}else{
+					this.subForm.masterFileId = this.id;
 					this.isLoading = true;
 					API.checkSubmit(this.subForm).then(response => {
 						this.isLoading = false;
-
+										
 						this.openFromVisible = false;
 						this.getDetail();
 					}).catch(error => {
@@ -231,6 +312,8 @@ import * as API from '@/apis/Oa/doc'
 						mui.toast(error);
 					})
 				}
+				
+				
 			},
 			asynCallBack() {