| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  | <template> | 
					
						
							|  |  |  |  |   <div class="app-container"> | 
					
						
							|  |  |  |  |     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> | 
					
						
							|  |  |  |  |       <el-form-item label="流程标识" prop="processKey"> | 
					
						
							|  |  |  |  |         <el-input | 
					
						
							|  |  |  |  |           v-model="queryParams.processKey" | 
					
						
							|  |  |  |  |           placeholder="请输入流程标识" | 
					
						
							|  |  |  |  |           clearable | 
					
						
							|  |  |  |  |           size="small" | 
					
						
							|  |  |  |  |           @keyup.enter.native="handleQuery" | 
					
						
							|  |  |  |  |         /> | 
					
						
							|  |  |  |  |       </el-form-item> | 
					
						
							|  |  |  |  |       <el-form-item label="流程名称" prop="processName"> | 
					
						
							|  |  |  |  |         <el-input | 
					
						
							|  |  |  |  |           v-model="queryParams.processName" | 
					
						
							|  |  |  |  |           placeholder="请输入流程名称" | 
					
						
							|  |  |  |  |           clearable | 
					
						
							|  |  |  |  |           size="small" | 
					
						
							|  |  |  |  |           @keyup.enter.native="handleQuery" | 
					
						
							|  |  |  |  |         /> | 
					
						
							|  |  |  |  |       </el-form-item> | 
					
						
							|  |  |  |  |       <el-form-item label="流程分类" prop="category"> | 
					
						
							|  |  |  |  |         <el-select v-model="queryParams.category" clearable placeholder="请选择" size="small"> | 
					
						
							|  |  |  |  |           <el-option | 
					
						
							|  |  |  |  |             v-for="item in categoryOptions" | 
					
						
							|  |  |  |  |             :key="item.categoryId" | 
					
						
							|  |  |  |  |             :label="item.categoryName" | 
					
						
							|  |  |  |  |             :value="item.code"> | 
					
						
							|  |  |  |  |           </el-option> | 
					
						
							|  |  |  |  |         </el-select> | 
					
						
							|  |  |  |  |       </el-form-item> | 
					
						
							|  |  |  |  |       <el-form-item label="提交时间"> | 
					
						
							|  |  |  |  |         <el-date-picker | 
					
						
							|  |  |  |  |           v-model="dateRange" | 
					
						
							|  |  |  |  |           style="width: 240px" | 
					
						
							|  |  |  |  |           value-format="yyyy-MM-dd HH:mm:ss" | 
					
						
							|  |  |  |  |           type="daterange" | 
					
						
							|  |  |  |  |           range-separator="-" | 
					
						
							|  |  |  |  |           start-placeholder="开始日期" | 
					
						
							|  |  |  |  |           end-placeholder="结束日期" | 
					
						
							|  |  |  |  |           :default-time="['00:00:00', '23:59:59']" | 
					
						
							|  |  |  |  |         ></el-date-picker> | 
					
						
							|  |  |  |  |       </el-form-item> | 
					
						
							|  |  |  |  |       <el-form-item> | 
					
						
							|  |  |  |  |         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> | 
					
						
							|  |  |  |  |         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> | 
					
						
							|  |  |  |  |       </el-form-item> | 
					
						
							|  |  |  |  |     </el-form> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     <el-row :gutter="10" class="mb8"> | 
					
						
							|  |  |  |  |       <el-col :span="1.5"> | 
					
						
							|  |  |  |  |         <el-button | 
					
						
							|  |  |  |  |           type="danger" | 
					
						
							|  |  |  |  |           plain | 
					
						
							|  |  |  |  |           icon="el-icon-delete" | 
					
						
							|  |  |  |  |           size="mini" | 
					
						
							|  |  |  |  |           :disabled="multiple" | 
					
						
							|  |  |  |  |           @click="handleDelete" | 
					
						
							|  |  |  |  |         >删除</el-button> | 
					
						
							|  |  |  |  |       </el-col> | 
					
						
							|  |  |  |  |       <el-col :span="1.5"> | 
					
						
							|  |  |  |  |         <el-button | 
					
						
							|  |  |  |  |           type="warning" | 
					
						
							|  |  |  |  |           plain | 
					
						
							|  |  |  |  |           icon="el-icon-download" | 
					
						
							|  |  |  |  |           size="mini" | 
					
						
							|  |  |  |  |           v-hasPermi="['workflow:process:ownExport']" | 
					
						
							|  |  |  |  |           @click="handleExport" | 
					
						
							|  |  |  |  |         >导出</el-button> | 
					
						
							|  |  |  |  |       </el-col> | 
					
						
							|  |  |  |  |     </el-row> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     <el-table v-loading="loading" :data="showList" @selection-change="handleSelectionChange"> | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |       <el-table-column type="selection" width="55" align="center" /> | 
					
						
							|  |  |  |  |       <el-table-column label="序号" type="index" width="50"></el-table-column> | 
					
						
							|  |  |  |  |       <el-table-column label="申报信息名称" align="center" width="280px" :min-width="280"> | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |         <template slot-scope="scope"> | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |           <el-tag size="medium">{{ scope.row.projectName }}</el-tag> | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |         </template> | 
					
						
							|  |  |  |  |       </el-table-column> | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |       <el-table-column label="发布人" align="center" prop="directorName" /> | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |       <el-table-column label="指南类别" align="center"> | 
					
						
							|  |  |  |  |         <template slot-scope="scope"> | 
					
						
							|  |  |  |  |           {{ scope.row.handbookclass }} | 
					
						
							|  |  |  |  |         </template> | 
					
						
							|  |  |  |  |       </el-table-column> | 
					
						
							|  |  |  |  |       <el-table-column label="指南级别" align="center"> | 
					
						
							|  |  |  |  |         <template slot-scope="scope"> | 
					
						
							|  |  |  |  |           {{ scope.row.handbooklevel }} | 
					
						
							|  |  |  |  |         </template> | 
					
						
							|  |  |  |  |       </el-table-column> | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |       <el-table-column label="申报结束日期" align="center"> | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |         <template slot-scope="scope"> | 
					
						
							|  |  |  |  |           {{ scope.row.handbookdate }} | 
					
						
							|  |  |  |  |         </template> | 
					
						
							|  |  |  |  |       </el-table-column> | 
					
						
							|  |  |  |  |       <el-table-column label="指南文件" align="center"> | 
					
						
							|  |  |  |  |         <template slot-scope="scope"> | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |           <el-button class="file" | 
					
						
							|  |  |  |  |             type="text" | 
					
						
							|  |  |  |  |             icon="el-icon-download" | 
					
						
							|  |  |  |  |             @click="handbookDownload(scope.row.handbookfile)" | 
					
						
							|  |  |  |  |           >下载</el-button> | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |         </template> | 
					
						
							|  |  |  |  |       </el-table-column> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       <el-table-column label="项目申报" align="center"> | 
					
						
							|  |  |  |  |         <template slot-scope="scope"> | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |           <el-button class="file"  | 
					
						
							|  |  |  |  |             type="text" | 
					
						
							|  |  |  |  |             icon="el-icon-top" | 
					
						
							|  |  |  |  |             @click="projectApply(scope.row)" | 
					
						
							|  |  |  |  |           >进入申报</el-button> | 
					
						
							|  |  |  |  |         </template> | 
					
						
							|  |  |  |  |       </el-table-column> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       <el-table-column label="操作" align="center"> | 
					
						
							|  |  |  |  |         <template slot-scope="scope"> | 
					
						
							|  |  |  |  |           <el-button class="file"  | 
					
						
							|  |  |  |  |             type="text" | 
					
						
							|  |  |  |  |             icon="el-icon-folder-checked" | 
					
						
							|  |  |  |  |             @click="listProject(scope.row)" | 
					
						
							|  |  |  |  |           >已申报项目</el-button> | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |         </template> | 
					
						
							|  |  |  |  |       </el-table-column> | 
					
						
							|  |  |  |  |     </el-table> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     <pagination | 
					
						
							|  |  |  |  |       v-show="total>0" | 
					
						
							|  |  |  |  |       :total="total" | 
					
						
							|  |  |  |  |       :page.sync="queryParams.pageNum" | 
					
						
							|  |  |  |  |       :limit.sync="queryParams.pageSize" | 
					
						
							|  |  |  |  |       @pagination="getList" | 
					
						
							|  |  |  |  |     /> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   </div> | 
					
						
							|  |  |  |  | </template> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <script> | 
					
						
							|  |  |  |  | import { | 
					
						
							|  |  |  |  |   stopProcess, | 
					
						
							|  |  |  |  |   delProcess, | 
					
						
							|  |  |  |  |   listHandbook, | 
					
						
							|  |  |  |  |   detailProcesses, | 
					
						
							|  |  |  |  |   listProcess | 
					
						
							|  |  |  |  | } from '@/api/workflow/process'; | 
					
						
							|  |  |  |  | import { listAllCategory } from '@/api/workflow/category'; | 
					
						
							|  |  |  |  | import Parser from '@/utils/generator/parser' | 
					
						
							|  |  |  |  | import {getToken} from "@/utils/auth"; | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  | import {listProject} from "@/api/scientific/project"; | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | export default { | 
					
						
							|  |  |  |  |   name: "handbookQuery", | 
					
						
							|  |  |  |  |   dicts: ['wf_process_status'], | 
					
						
							|  |  |  |  |   components: { | 
					
						
							|  |  |  |  |     Parser, | 
					
						
							|  |  |  |  |   }, | 
					
						
							|  |  |  |  |   data() { | 
					
						
							|  |  |  |  |     return { | 
					
						
							|  |  |  |  |       // 遮罩层
 | 
					
						
							|  |  |  |  |       loading: true, | 
					
						
							|  |  |  |  |       processLoading: true, | 
					
						
							|  |  |  |  |       // 选中数组
 | 
					
						
							|  |  |  |  |       ids: [], | 
					
						
							|  |  |  |  |       // 非单个禁用
 | 
					
						
							|  |  |  |  |       single: true, | 
					
						
							|  |  |  |  |       // 非多个禁用
 | 
					
						
							|  |  |  |  |       multiple: true, | 
					
						
							|  |  |  |  |       // 显示搜索条件
 | 
					
						
							|  |  |  |  |       showSearch: true, | 
					
						
							|  |  |  |  |       // 总条数
 | 
					
						
							|  |  |  |  |       total: 0, | 
					
						
							|  |  |  |  |       categoryOptions: [], | 
					
						
							|  |  |  |  |       processTotal:0, | 
					
						
							|  |  |  |  |       // 弹出层标题
 | 
					
						
							|  |  |  |  |       title: "", | 
					
						
							|  |  |  |  |       // 是否显示弹出层
 | 
					
						
							|  |  |  |  |       open: false, | 
					
						
							|  |  |  |  |       src: "", | 
					
						
							|  |  |  |  |       definitionList:[], | 
					
						
							|  |  |  |  |       // 日期范围
 | 
					
						
							|  |  |  |  |       dateRange: [], | 
					
						
							|  |  |  |  |       // 查询参数
 | 
					
						
							|  |  |  |  |       queryParams: { | 
					
						
							|  |  |  |  |         pageNum: 1, | 
					
						
							|  |  |  |  |         pageSize: 10, | 
					
						
							|  |  |  |  |         processKey: undefined, | 
					
						
							|  |  |  |  |         processName: undefined, | 
					
						
							|  |  |  |  |         category: "007" | 
					
						
							|  |  |  |  |       }, | 
					
						
							|  |  |  |  |       // 表单参数
 | 
					
						
							|  |  |  |  |       form: {}, | 
					
						
							|  |  |  |  |       // 表单校验
 | 
					
						
							|  |  |  |  |       rules: { | 
					
						
							|  |  |  |  |       }, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |       // 从后端查询的原始列表数据
 | 
					
						
							|  |  |  |  |       handbookList: [], | 
					
						
							|  |  |  |  |       // 解析用于显示的数据
 | 
					
						
							|  |  |  |  |       showList: [], | 
					
						
							|  |  |  |  |     }; | 
					
						
							|  |  |  |  |   }, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   async created() { | 
					
						
							|  |  |  |  |      await this.getList(); | 
					
						
							|  |  |  |  |      await this.getProcessDetails(); | 
					
						
							|  |  |  |  |   }, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |   methods: { | 
					
						
							|  |  |  |  |     // 文件下载
 | 
					
						
							|  |  |  |  |     handbookDownload(handbookfile) { | 
					
						
							|  |  |  |  |       handbookfile.forEach( file => { | 
					
						
							|  |  |  |  |         if(file.response.code === 200 && file.ossId) { | 
					
						
							|  |  |  |  |           this.$download.oss(file.ossId); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       }) | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     projectApply(row) { | 
					
						
							|  |  |  |  |       let queryParams = { | 
					
						
							|  |  |  |  |         pageNum: 1, | 
					
						
							|  |  |  |  |           pageSize: 10, | 
					
						
							|  |  |  |  |           processKey: undefined, | 
					
						
							|  |  |  |  |           processName: "项目申报", | 
					
						
							|  |  |  |  |           category: "002" | 
					
						
							|  |  |  |  |       }; | 
					
						
							|  |  |  |  |       // 跳转到项目申报
 | 
					
						
							|  |  |  |  |       listProcess(queryParams).then(response => { | 
					
						
							|  |  |  |  |         const apply = response.rows[0]; | 
					
						
							|  |  |  |  |         if(apply) { | 
					
						
							|  |  |  |  |           this.$router.push({ | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |             path: '/scientific/projectApply/' + apply.deploymentId, | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |             query: { | 
					
						
							|  |  |  |  |               definitionId: apply.definitionId, | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |               processName: row.handbookname, | 
					
						
							|  |  |  |  |               handbookId: row.procInsId, | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |             } | 
					
						
							|  |  |  |  |           }) | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       }); | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |     listProject(row) { | 
					
						
							|  |  |  |  |       if(row.procInsId) { | 
					
						
							|  |  |  |  |         this.$router.push({ | 
					
						
							|  |  |  |  |           path: '/scientific/handbookProjectQuery/' + row.procInsId, | 
					
						
							|  |  |  |  |           query: { | 
					
						
							|  |  |  |  |             processName: row.handbookname, | 
					
						
							|  |  |  |  |             handbookId: row.procInsId, | 
					
						
							|  |  |  |  |           } | 
					
						
							|  |  |  |  |         }) | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |     /** 查询流程定义列表 */ | 
					
						
							|  |  |  |  |     getList() { | 
					
						
							|  |  |  |  |       // zqjia:这个解析要模仿parser.js重写
 | 
					
						
							|  |  |  |  |       return new Promise((resolve,reject)=>{ | 
					
						
							|  |  |  |  |         this.showList = []; | 
					
						
							|  |  |  |  |         this.loading = true; | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |         // 先列出所有的指南流程
 | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |         listHandbook(this.addDateRange(this.queryParams, this.dateRange)).then(response => { | 
					
						
							|  |  |  |  |           this.handbookList = response.rows; | 
					
						
							|  |  |  |  |           this.total = response.total; | 
					
						
							|  |  |  |  |           this.loading = false; | 
					
						
							|  |  |  |  |           resolve(); | 
					
						
							|  |  |  |  |         }); | 
					
						
							|  |  |  |  |       }) | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // 流程任务重获取变量表单
 | 
					
						
							|  |  |  |  |     getProcessDetails() { | 
					
						
							|  |  |  |  |       return new Promise((resolve, reject)=>{ | 
					
						
							|  |  |  |  |         let pId = []; | 
					
						
							|  |  |  |  |         let tId = []; | 
					
						
							|  |  |  |  |         this.handbookList.forEach(handbook => { | 
					
						
							|  |  |  |  |           pId.push(handbook.procInsId); | 
					
						
							|  |  |  |  |           tId.push(undefined); | 
					
						
							|  |  |  |  |         }) | 
					
						
							|  |  |  |  |         const params = {procInsIds: pId}; | 
					
						
							|  |  |  |  |         detailProcesses(pId).then(res => { | 
					
						
							|  |  |  |  |           res.rows.forEach(row => { | 
					
						
							|  |  |  |  |             let processForm = row.processFormList[0]; | 
					
						
							|  |  |  |  |             let formData = []; | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |             // 从原始表单中筛选解析的数据显示
 | 
					
						
							|  |  |  |  |             this.parseFormData(processForm.fields, formData); | 
					
						
							|  |  |  |  |             formData["procInsId"] = row.procInsId; | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |             this.showList.push(formData); | 
					
						
							|  |  |  |  |           }) | 
					
						
							|  |  |  |  |         }) | 
					
						
							|  |  |  |  |       }) | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     /** 查询流程分类列表 */ | 
					
						
							|  |  |  |  |     getCategoryList() { | 
					
						
							|  |  |  |  |       listAllCategory().then(response => this.categoryOptions = response.data) | 
					
						
							|  |  |  |  |     }, | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |     /** | 
					
						
							|  |  |  |  |      * 从原始的流程表单中解析字段数据 | 
					
						
							|  |  |  |  |      * @author zqjia | 
					
						
							|  |  |  |  |      */ | 
					
						
							|  |  |  |  |     parseFormData(componentList, formData) { | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |       componentList.forEach(cur => { | 
					
						
							|  |  |  |  |         this.buildOptionMethod(cur) | 
					
						
							|  |  |  |  |         const config = cur.__config__; | 
					
						
							|  |  |  |  |         if (cur.__vModel__) { | 
					
						
							|  |  |  |  |           if(cur.__slot__ && 'options' in cur.__slot__) { | 
					
						
							|  |  |  |  |             formData[cur.__vModel__] = cur.__slot__.options[config.defaultValue-1].label; | 
					
						
							|  |  |  |  |           } | 
					
						
							|  |  |  |  |           else { | 
					
						
							|  |  |  |  |             formData[cur.__vModel__] = config.defaultValue; | 
					
						
							|  |  |  |  |           } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         if (config.children) { | 
					
						
							| 
									
										
										
										
											2024-07-25 11:15:26 +08:00
										 |  |  |  |           this.parseFormData(config.children, formData); | 
					
						
							| 
									
										
										
										
											2024-07-14 00:43:04 +08:00
										 |  |  |  |         } | 
					
						
							|  |  |  |  |       }) | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // 特殊处理的 Option
 | 
					
						
							|  |  |  |  |     buildOptionMethod(scheme) { | 
					
						
							|  |  |  |  |       const config = scheme.__config__; | 
					
						
							|  |  |  |  |       if (config && config.tag === 'el-cascader') { | 
					
						
							|  |  |  |  |         if (config.dataType === 'dynamic') { | 
					
						
							|  |  |  |  |           this.$axios({ | 
					
						
							|  |  |  |  |             method: config.method, | 
					
						
							|  |  |  |  |             url: config.url | 
					
						
							|  |  |  |  |           }).then(resp => { | 
					
						
							|  |  |  |  |             var { data } = resp | 
					
						
							|  |  |  |  |             scheme[config.dataConsumer] = data[config.dataKey] | 
					
						
							|  |  |  |  |           }); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |     // 取消按钮
 | 
					
						
							|  |  |  |  |     cancel() { | 
					
						
							|  |  |  |  |       this.open = false; | 
					
						
							|  |  |  |  |       this.reset(); | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     // 表单重置
 | 
					
						
							|  |  |  |  |     reset() { | 
					
						
							|  |  |  |  |       this.form = { | 
					
						
							|  |  |  |  |         id: null, | 
					
						
							|  |  |  |  |         name: null, | 
					
						
							|  |  |  |  |         category: null, | 
					
						
							|  |  |  |  |         key: null, | 
					
						
							|  |  |  |  |         tenantId: null, | 
					
						
							|  |  |  |  |         deployTime: null, | 
					
						
							|  |  |  |  |         derivedFrom: null, | 
					
						
							|  |  |  |  |         derivedFromRoot: null, | 
					
						
							|  |  |  |  |         parentDeploymentId: null, | 
					
						
							|  |  |  |  |         engineVersion: null | 
					
						
							|  |  |  |  |       }; | 
					
						
							|  |  |  |  |       this.resetForm("form"); | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     /** 搜索按钮操作 */ | 
					
						
							|  |  |  |  |     handleQuery() { | 
					
						
							|  |  |  |  |       this.queryParams.pageNum = 1; | 
					
						
							|  |  |  |  |       this.getList(); | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     /** 重置按钮操作 */ | 
					
						
							|  |  |  |  |     resetQuery() { | 
					
						
							|  |  |  |  |       this.dateRange = []; | 
					
						
							|  |  |  |  |       this.resetForm("queryForm"); | 
					
						
							|  |  |  |  |       this.handleQuery(); | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     // 多选框选中数据
 | 
					
						
							|  |  |  |  |     handleSelectionChange(selection) { | 
					
						
							|  |  |  |  |       this.ids = selection.map(item => item.procInsId); | 
					
						
							|  |  |  |  |       this.single = selection.length !== 1; | 
					
						
							|  |  |  |  |       this.multiple = !selection.length; | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     handleAgain(row) { | 
					
						
							|  |  |  |  |       this.$router.push({ | 
					
						
							|  |  |  |  |         path: '/workflow/process/start/' + row.deployId, | 
					
						
							|  |  |  |  |         query: { | 
					
						
							|  |  |  |  |           definitionId: row.procDefId, | 
					
						
							|  |  |  |  |           procInsId: row.procInsId | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       }) | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     /**  取消流程申请 */ | 
					
						
							|  |  |  |  |     handleStop(row){ | 
					
						
							|  |  |  |  |       const params = { | 
					
						
							|  |  |  |  |         procInsId: row.procInsId | 
					
						
							|  |  |  |  |       } | 
					
						
							|  |  |  |  |       stopProcess(params).then( res => { | 
					
						
							|  |  |  |  |         this.$modal.msgSuccess(res.msg); | 
					
						
							|  |  |  |  |         this.getList(); | 
					
						
							|  |  |  |  |       }); | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     /** 流程流转记录 */ | 
					
						
							|  |  |  |  |     handleFlowRecord(row) { | 
					
						
							|  |  |  |  |       this.$router.push({ | 
					
						
							|  |  |  |  |         path: '/workflow/process/detail/' + row.procInsId, | 
					
						
							|  |  |  |  |         query: { | 
					
						
							|  |  |  |  |           processed: false | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |       }) | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     /** 删除按钮操作 */ | 
					
						
							|  |  |  |  |     handleDelete(row) { | 
					
						
							|  |  |  |  |       const ids = row.procInsId || this.ids; | 
					
						
							|  |  |  |  |       this.$confirm('是否确认删除流程定义编号为"' + ids + '"的数据项?', "警告", { | 
					
						
							|  |  |  |  |         confirmButtonText: "确定", | 
					
						
							|  |  |  |  |         cancelButtonText: "取消", | 
					
						
							|  |  |  |  |         type: "warning" | 
					
						
							|  |  |  |  |       }).then(function() { | 
					
						
							|  |  |  |  |         return delProcess(ids); | 
					
						
							|  |  |  |  |       }).then(() => { | 
					
						
							|  |  |  |  |         this.getList(); | 
					
						
							|  |  |  |  |         this.$modal.msgSuccess("删除成功"); | 
					
						
							|  |  |  |  |       }) | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     /** 导出按钮操作 */ | 
					
						
							|  |  |  |  |     handleExport() { | 
					
						
							|  |  |  |  |       this.download('workflow/process/ownExport', { | 
					
						
							|  |  |  |  |         ...this.queryParams | 
					
						
							|  |  |  |  |       }, `wf_own_process_${new Date().getTime()}.xlsx`) | 
					
						
							|  |  |  |  |     }, | 
					
						
							|  |  |  |  |     categoryFormat(row, column) { | 
					
						
							|  |  |  |  |       return this.categoryOptions.find(k => k.code === row.category)?.categoryName ?? ''; | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  |   } | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | </script> | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | <style scoped> | 
					
						
							|  |  |  |  | .file { | 
					
						
							|  |  |  |  |   border: none; | 
					
						
							|  |  |  |  |   background: none; | 
					
						
							|  |  |  |  |   /* 取消其他默认样式 */ | 
					
						
							|  |  |  |  |   box-shadow: none; | 
					
						
							|  |  |  |  |   padding: 0; | 
					
						
							|  |  |  |  |   margin: 0; | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | .file:hover { | 
					
						
							|  |  |  |  |   background: none; /* 去掉鼠标悬停时的背景 */ | 
					
						
							|  |  |  |  |   /* 如果需要,可以添加其他hover效果 */ | 
					
						
							|  |  |  |  | } | 
					
						
							|  |  |  |  | </style> | 
					
						
							|  |  |  |  | 
 |