| 
					
				 | 
			
			
				@@ -0,0 +1,152 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div style="padding: 10px 0px 66px 0px;min-height: 100px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <!--标题--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <h4 style="text-align:center">{{title}}</h4> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!--表单--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <fm-generate-form :data="jsonData" ref="generateForm" v-loading="loading"></fm-generate-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!--附件--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <UpLoadComponent ref="upLoadComponent"></UpLoadComponent> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!--审核意见--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div v-if="type === 'audit'"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-divider content-position="left"><span style="color: red">*</span> <i class="el-icon-document"></i> 审批意见</el-divider> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-row><el-input type="textarea" :rows="5" maxlength="500" placeholder="请填写审核意见:" v-model="comments" show-word-limit></el-input></el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!--流程历史--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <FlowHisTableCcpm ref="flowHisTableCcpm"></FlowHisTableCcpm> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <!--操作按钮--> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div class="FlowFormFooter"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button v-if="type === 'audit'" type="primary" :loading="loading" @click="agree" v-noMoreClick plain>同意</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button v-if="type === 'audit'" type="danger" :loading="loading" @click="reject" v-noMoreClick plain>驳回</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button :loading="loading" @click="close" v-noMoreClick plain>关闭</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-card> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import CcpmService from '@/api/centerservice/ccpm/CcpmService' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import UpLoadComponent from '@/views/common/UpLoadComponentCcpm' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import FlowHisTableCcpm from '@/views/modules/flowable/task/FlowHisTableCcpm' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    data () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        jsonData: {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        businessId: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        processDefKey: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        comments: '' // 审核意见 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ccpmService: null, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    activated () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    created () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.ccpmService = new CcpmService() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.init() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    components: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      UpLoadComponent, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      FlowHisTableCcpm 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 初始化 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      init () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.businessId = this.$route.query.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.processDefKey = this.$route.query.processDefKey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.title = this.$route.query.title 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.type = this.$route.query.type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.jsonData = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.comments = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$nextTick(async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.loading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$refs.upLoadComponent.clearUpload() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$refs.flowHisTableCcpm.clearFlowHis() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let res = await this.ccpmService.getByIdGenerate(this.businessId, this.processDefKey) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.jsonData = JSON.parse(JSON.stringify(res.data)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (this.commonJS.isEmpty(this.jsonData.files)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.jsonData.files = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let filesLabel = '附件' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (this.commonJS.isNotEmpty(this.jsonData.filesLabel)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              filesLabel = this.jsonData.filesLabel 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$refs.upLoadComponent.newUpload('view', this.jsonData.files, null, null, filesLabel) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$refs.flowHisTableCcpm.setFlowHis(this.jsonData.flowChart, this.jsonData.histoicFlow) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.$refs.generateForm.refresh() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 关闭 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      close () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$refs.upLoadComponent.clearUpload() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$refs.flowHisTableCcpm.clearFlowHis() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.jsonData = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.comments = '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.$store.dispatch('tagsView/delView', {fullPath: this.$route.fullPath}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.$route.query.backPath) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$router.push(this.$route.query.backPath) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$router.push('/sys/dashboard/workBench/Pending') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 同意 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      agree () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.commonJS.isEmpty(this.comments)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$message.error('请填写审批意见') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.loading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.ccpmService.reimAudit(this.businessId, 'yes', this.comments, this.processDefKey).then(({data}) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (data.success) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.$message.success(data.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.$message.error(data.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }).catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 驳回 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      reject () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (this.commonJS.isEmpty(this.comments)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$message.error('请填写审批意见') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$confirm(`确定驳回此报销申请吗?`, '提示', { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            confirmButtonText: '确定', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cancelButtonText: '取消', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            type: 'warning' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }).then(async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.loading = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.ccpmService.reimAudit(this.businessId, 'no', this.comments, this.processDefKey).then(({data}) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (data.success) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.$message.success(data.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.close() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.$message.error(data.message) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }).catch(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              this.loading = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 |