update handbook project association
This commit is contained in:
		
							parent
							
								
									f64500b99f
								
							
						
					
					
						commit
						49efd7ccd4
					
				| @ -199,20 +199,21 @@ export const dynamicRoutes = [ | |||||||
|     path: '/scientific', |     path: '/scientific', | ||||||
|     component: Layout, |     component: Layout, | ||||||
|     hidden: true, |     hidden: true, | ||||||
|     permissions: ['scientific:start'], |     permissions: ['scientific:projectApply'], | ||||||
|     children: [ |     children: [ | ||||||
|       { |       { | ||||||
|         path: 'start/:deployId([\\w|\\-]+)', |         path: 'projectApply/:deployId([\\w|\\-]+)', | ||||||
|         component: () => import('@/views/scientific/start'), |         component: () => import('@/views/scientific/projectApply'), | ||||||
|         name: 'ProjectApplyStart', |         name: 'ProjectApply', | ||||||
|         meta: { title: '项目申报', icon: '' } |         meta: { title: '项目申报', icon: '' } | ||||||
|       }, |       }, | ||||||
|       // {
 |       { | ||||||
|       //   path: 'detail/:procInsId([\\w|\\-]+)',
 |         path: 'handbookProjectQuery/:handbookId([\\w|\\-]+)', | ||||||
|       //   component: () => import('@/views/scientific/detail'),
 |         component: () => import('@/views/scientific/handbookProject_query'), | ||||||
|       //   name: 'WorkDetail',
 |         name: 'handbookProjectQuery', | ||||||
|       //   meta: { title: '流程详情', activeMenu: '/work/own' }
 |         meta: { title: '已申报项目' } | ||||||
|       // }
 |         // meta: { title: '已申报项目', activeMenu: '/work/own' }
 | ||||||
|  |       } | ||||||
|     ] |     ] | ||||||
|   }, |   }, | ||||||
| ] | ] | ||||||
|  | |||||||
							
								
								
									
										308
									
								
								ruoyi-ui/src/views/scientific/handbookProject_query.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										308
									
								
								ruoyi-ui/src/views/scientific/handbookProject_query.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,308 @@ | |||||||
|  | <template> | ||||||
|  |   <div class="app-container"> | ||||||
|  |     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> | ||||||
|  |       <el-form-item label="项目名称" prop="name"> | ||||||
|  |         <el-input | ||||||
|  |           v-model="queryParams.name" | ||||||
|  |           placeholder="请输入项目名称" | ||||||
|  |           clearable | ||||||
|  |           @keyup.enter.native="handleQuery" | ||||||
|  |         /> | ||||||
|  |       </el-form-item> | ||||||
|  |       <el-form-item label="项目创建时间" prop="createTime"> | ||||||
|  |         <el-date-picker clearable | ||||||
|  |                         v-model="queryParams.createTime" | ||||||
|  |                         type="date" | ||||||
|  |                         value-format="yyyy-MM-dd" | ||||||
|  |                         placeholder="请选择项目创建时间"> | ||||||
|  |         </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="primary" | ||||||
|  |           plain | ||||||
|  |           icon="el-icon-plus" | ||||||
|  |           size="mini" | ||||||
|  |           @click="handleAdd" | ||||||
|  |           v-hasPermi="['scientific:project:add']" | ||||||
|  |         >新增</el-button> | ||||||
|  |       </el-col> | ||||||
|  |       <el-col :span="1.5"> | ||||||
|  |         <el-button | ||||||
|  |           type="success" | ||||||
|  |           plain | ||||||
|  |           icon="el-icon-edit" | ||||||
|  |           size="mini" | ||||||
|  |           :disabled="single" | ||||||
|  |           @click="handleUpdate" | ||||||
|  |           v-hasPermi="['scientific:project:edit']" | ||||||
|  |         >修改</el-button> | ||||||
|  |       </el-col> | ||||||
|  |       <el-col :span="1.5"> | ||||||
|  |         <el-button | ||||||
|  |           type="danger" | ||||||
|  |           plain | ||||||
|  |           icon="el-icon-delete" | ||||||
|  |           size="mini" | ||||||
|  |           :disabled="multiple" | ||||||
|  |           @click="handleDelete" | ||||||
|  |           v-hasPermi="['scientific:project:remove']" | ||||||
|  |         >删除</el-button> | ||||||
|  |       </el-col> | ||||||
|  |       <el-col :span="1.5"> | ||||||
|  |         <el-button | ||||||
|  |           type="warning" | ||||||
|  |           plain | ||||||
|  |           icon="el-icon-download" | ||||||
|  |           size="mini" | ||||||
|  |           @click="handleExport" | ||||||
|  |           v-hasPermi="['scientific:project:export']" | ||||||
|  |         >导出</el-button> | ||||||
|  |       </el-col> | ||||||
|  |     </el-row> | ||||||
|  | 
 | ||||||
|  |     <el-table v-loading="loading" :data="projectList" @selection-change="handleSelectionChange"> | ||||||
|  |       <el-table-column type="selection" width="55" align="center" /> | ||||||
|  |       <el-table-column label="项目名称" align="center" prop="name" /> | ||||||
|  |       <el-table-column label="项目创建时间" align="center" prop="createTime" width="180"> | ||||||
|  |         <template slot-scope="scope"> | ||||||
|  |           <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> | ||||||
|  |         </template> | ||||||
|  |       </el-table-column> | ||||||
|  |       <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | ||||||
|  |         <template slot-scope="scope"> | ||||||
|  |           <el-button | ||||||
|  |             size="mini" | ||||||
|  |             type="text" | ||||||
|  |             icon="el-icon-edit" | ||||||
|  |             @click="handleUpdate(scope.row)" | ||||||
|  |             v-hasPermi="['scientific:project:edit']" | ||||||
|  |           >修改</el-button> | ||||||
|  |           <el-button | ||||||
|  |             size="mini" | ||||||
|  |             type="text" | ||||||
|  |             icon="el-icon-delete" | ||||||
|  |             @click="handleDelete(scope.row)" | ||||||
|  |             v-hasPermi="['scientific:project:remove']" | ||||||
|  |           >删除</el-button> | ||||||
|  |         </template> | ||||||
|  |       </el-table-column> | ||||||
|  |     </el-table> | ||||||
|  | 
 | ||||||
|  |     <pagination | ||||||
|  |       v-show="total>0" | ||||||
|  |       :total="total" | ||||||
|  |       :page.sync="queryParams.pageNum" | ||||||
|  |       :limit.sync="queryParams.pageSize" | ||||||
|  |       @pagination="getList" | ||||||
|  |     /> | ||||||
|  | 
 | ||||||
|  |     <!-- 添加或修改科研管理对话框 --> | ||||||
|  |     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> | ||||||
|  |       <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||||||
|  |         <el-form-item label="项目名称" prop="name"> | ||||||
|  |           <el-input v-model="form.name" placeholder="请输入项目名称" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="项目类别" prop="category"> | ||||||
|  |           <el-input v-model="form.category" placeholder="请输入项目类别" /> | ||||||
|  |         </el-form-item> | ||||||
|  |         <el-form-item label="项目创建时间" prop="createTime"> | ||||||
|  |           <el-date-picker clearable | ||||||
|  |                           v-model="form.createTime" | ||||||
|  |                           type="datetime" | ||||||
|  |                           value-format="yyyy-MM-dd HH:mm:ss" | ||||||
|  |                           placeholder="请选择项目创建时间"> | ||||||
|  |           </el-date-picker> | ||||||
|  |         </el-form-item> | ||||||
|  |       </el-form> | ||||||
|  |       <div slot="footer" class="dialog-footer"> | ||||||
|  |         <el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> | ||||||
|  |         <el-button @click="cancel">取 消</el-button> | ||||||
|  |       </div> | ||||||
|  |     </el-dialog> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { listProject, getProject, delProject, addProject, updateProject } from "@/api/scientific/project"; | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   name: "Project", | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       // 按钮loading | ||||||
|  |       buttonLoading: false, | ||||||
|  |       // 遮罩层 | ||||||
|  |       loading: true, | ||||||
|  |       // 选中数组 | ||||||
|  |       ids: [], | ||||||
|  |       // 非单个禁用 | ||||||
|  |       single: true, | ||||||
|  |       // 非多个禁用 | ||||||
|  |       multiple: true, | ||||||
|  |       // 显示搜索条件 | ||||||
|  |       showSearch: true, | ||||||
|  |       // 总条数 | ||||||
|  |       total: 0, | ||||||
|  |       // 科研管理表格数据 | ||||||
|  |       projectList: [], | ||||||
|  |       // 弹出层标题 | ||||||
|  |       title: "", | ||||||
|  |       // 是否显示弹出层 | ||||||
|  |       open: false, | ||||||
|  |       // 查询参数 | ||||||
|  |       queryParams: { | ||||||
|  |         pageNum: 1, | ||||||
|  |         pageSize: 10, | ||||||
|  |         projectId: undefined, | ||||||
|  |         handbookId: undefined, | ||||||
|  |         category: undefined, | ||||||
|  |         name: undefined, | ||||||
|  |         createTime: undefined | ||||||
|  |       }, | ||||||
|  |       // 表单参数 | ||||||
|  |       form: {}, | ||||||
|  |       // 表单校验 | ||||||
|  |       rules: { | ||||||
|  |         id: [ | ||||||
|  |           { required: true, message: "不能为空", trigger: "blur" } | ||||||
|  |         ], | ||||||
|  |         projectId: [ | ||||||
|  |           { required: true, message: "项目id不能为空", trigger: "blur" } | ||||||
|  |         ], | ||||||
|  |         handbookId: [ | ||||||
|  |           { required: true, message: "指南id不能为空", trigger: "blur" } | ||||||
|  |         ], | ||||||
|  |         category: [ | ||||||
|  |           { required: true, message: "项目类别不能为空", trigger: "blur" } | ||||||
|  |         ], | ||||||
|  |         name: [ | ||||||
|  |           { required: true, message: "项目名称不能为空", trigger: "blur" } | ||||||
|  |         ], | ||||||
|  |       }, | ||||||
|  |       handbookName: undefined, | ||||||
|  |     }; | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.getList(); | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     /** 查询科研管理列表 */ | ||||||
|  |     getList() { | ||||||
|  |       this.loading = true; | ||||||
|  |       this.queryParams.handbookId = this.$route.query && this.$route.query.handbookId; | ||||||
|  |       this.handbookName = this.$route.query && this.$route.query.handbookname; | ||||||
|  | 
 | ||||||
|  |       listProject(this.queryParams).then(response => { | ||||||
|  |         this.projectList = response.rows; | ||||||
|  |         this.total = response.total; | ||||||
|  |         this.loading = false; | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  |     // 取消按钮 | ||||||
|  |     cancel() { | ||||||
|  |       this.open = false; | ||||||
|  |       this.reset(); | ||||||
|  |     }, | ||||||
|  |     // 表单重置 | ||||||
|  |     reset() { | ||||||
|  |       this.form = { | ||||||
|  |         id: undefined, | ||||||
|  |         projectId: undefined, | ||||||
|  |         handbookId: undefined, | ||||||
|  |         category: undefined, | ||||||
|  |         name: undefined, | ||||||
|  |         createTime: undefined | ||||||
|  |       }; | ||||||
|  |       this.resetForm("form"); | ||||||
|  |     }, | ||||||
|  |     /** 搜索按钮操作 */ | ||||||
|  |     handleQuery() { | ||||||
|  |       this.queryParams.pageNum = 1; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     /** 重置按钮操作 */ | ||||||
|  |     resetQuery() { | ||||||
|  |       this.resetForm("queryForm"); | ||||||
|  |       this.handleQuery(); | ||||||
|  |     }, | ||||||
|  |     // 多选框选中数据 | ||||||
|  |     handleSelectionChange(selection) { | ||||||
|  |       this.ids = selection.map(item => item.id) | ||||||
|  |       this.single = selection.length!==1 | ||||||
|  |       this.multiple = !selection.length | ||||||
|  |     }, | ||||||
|  |     /** 新增按钮操作 */ | ||||||
|  |     handleAdd() { | ||||||
|  |       this.reset(); | ||||||
|  |       this.open = true; | ||||||
|  |       this.title = "添加科研管理"; | ||||||
|  |     }, | ||||||
|  |     /** 修改按钮操作 */ | ||||||
|  |     handleUpdate(row) { | ||||||
|  |       this.loading = true; | ||||||
|  |       this.reset(); | ||||||
|  |       const id = row.id || this.ids | ||||||
|  |       getProject(id).then(response => { | ||||||
|  |         this.loading = false; | ||||||
|  |         this.form = response.data; | ||||||
|  |         this.open = true; | ||||||
|  |         this.title = "修改科研管理"; | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  |     /** 提交按钮 */ | ||||||
|  |     submitForm() { | ||||||
|  |       this.$refs["form"].validate(valid => { | ||||||
|  |         if (valid) { | ||||||
|  |           this.buttonLoading = true; | ||||||
|  |           if (this.form.id != null) { | ||||||
|  |             updateProject(this.form).then(response => { | ||||||
|  |               this.$modal.msgSuccess("修改成功"); | ||||||
|  |               this.open = false; | ||||||
|  |               this.getList(); | ||||||
|  |             }).finally(() => { | ||||||
|  |               this.buttonLoading = false; | ||||||
|  |             }); | ||||||
|  |           } else { | ||||||
|  |             addProject(this.form).then(response => { | ||||||
|  |               this.$modal.msgSuccess("新增成功"); | ||||||
|  |               this.open = false; | ||||||
|  |               this.getList(); | ||||||
|  |             }).finally(() => { | ||||||
|  |               this.buttonLoading = false; | ||||||
|  |             }); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  |     /** 删除按钮操作 */ | ||||||
|  |     handleDelete(row) { | ||||||
|  |       const ids = row.id || this.ids; | ||||||
|  |       this.$modal.confirm('是否确认删除科研管理编号为"' + ids + '"的数据项?').then(() => { | ||||||
|  |         this.loading = true; | ||||||
|  |         return delProject(ids); | ||||||
|  |       }).then(() => { | ||||||
|  |         this.loading = false; | ||||||
|  |         this.getList(); | ||||||
|  |         this.$modal.msgSuccess("删除成功"); | ||||||
|  |       }).catch(() => { | ||||||
|  |       }).finally(() => { | ||||||
|  |         this.loading = false; | ||||||
|  |       }); | ||||||
|  |     }, | ||||||
|  |     /** 导出按钮操作 */ | ||||||
|  |     handleExport() { | ||||||
|  |       this.download('scientific/project/export', { | ||||||
|  |         ...this.queryParams | ||||||
|  |       }, `project_${new Date().getTime()}.xlsx`) | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  | </script> | ||||||
| @ -72,6 +72,7 @@ | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     <el-table v-loading="loading" :data="showList" @selection-change="handleSelectionChange"> |     <el-table v-loading="loading" :data="showList" @selection-change="handleSelectionChange"> | ||||||
|  |       <el-table-column type="selection" width="55" align="center" /> | ||||||
|       <el-table-column label="指南名称" align="center"> |       <el-table-column label="指南名称" align="center"> | ||||||
|         <template slot-scope="scope"> |         <template slot-scope="scope"> | ||||||
|           {{ scope.row.handbookname }} |           {{ scope.row.handbookname }} | ||||||
| @ -103,6 +104,12 @@ | |||||||
|           <el-button class="file" @click="projectApply(scope.row)">项目申报</el-button> |           <el-button class="file" @click="projectApply(scope.row)">项目申报</el-button> | ||||||
|         </template> |         </template> | ||||||
|       </el-table-column> |       </el-table-column> | ||||||
|  | 
 | ||||||
|  |       <el-table-column label="操作" align="center"> | ||||||
|  |         <template slot-scope="scope"> | ||||||
|  |           <el-button class="file" @click="listProject(scope.row)">已申报项目</el-button> | ||||||
|  |         </template> | ||||||
|  |       </el-table-column> | ||||||
|     </el-table> |     </el-table> | ||||||
| 
 | 
 | ||||||
|     <pagination |     <pagination | ||||||
| @ -121,14 +128,13 @@ import { | |||||||
|   stopProcess, |   stopProcess, | ||||||
|   delProcess, |   delProcess, | ||||||
|   listHandbook, |   listHandbook, | ||||||
|   detailProcess, |  | ||||||
|   detailProcesses, |   detailProcesses, | ||||||
|   listProcess |   listProcess | ||||||
| } from '@/api/workflow/process'; | } from '@/api/workflow/process'; | ||||||
| import { listAllCategory } from '@/api/workflow/category'; | import { listAllCategory } from '@/api/workflow/category'; | ||||||
| import Parser from '@/utils/generator/parser' | import Parser from '@/utils/generator/parser' | ||||||
| import {getToken} from "@/utils/auth"; | import {getToken} from "@/utils/auth"; | ||||||
| // import {deepClone} from "@/utils"; | import {listProject} from "@/api/scientific/project"; | ||||||
| 
 | 
 | ||||||
| export default { | export default { | ||||||
|   name: "handbookQuery", |   name: "handbookQuery", | ||||||
| @ -210,7 +216,7 @@ export default { | |||||||
|         const apply = response.rows[0]; |         const apply = response.rows[0]; | ||||||
|         if(apply) { |         if(apply) { | ||||||
|           this.$router.push({ |           this.$router.push({ | ||||||
|             path: '/scientific/start/' + apply.deploymentId, |             path: '/scientific/projectApply/' + apply.deploymentId, | ||||||
|             query: { |             query: { | ||||||
|               definitionId: apply.definitionId, |               definitionId: apply.definitionId, | ||||||
|               processName: row.handbookname, |               processName: row.handbookname, | ||||||
| @ -221,6 +227,18 @@ export default { | |||||||
|       }); |       }); | ||||||
|     }, |     }, | ||||||
| 
 | 
 | ||||||
|  |     listProject(row) { | ||||||
|  |       if(row.procInsId) { | ||||||
|  |         this.$router.push({ | ||||||
|  |           path: '/scientific/handbookProjectQuery/' + row.procInsId, | ||||||
|  |           query: { | ||||||
|  |             processName: row.handbookname, | ||||||
|  |             handbookId: row.procInsId, | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|     /** 查询流程定义列表 */ |     /** 查询流程定义列表 */ | ||||||
|     getList() { |     getList() { | ||||||
|       // zqjia:这个解析要模仿parser.js重写 |       // zqjia:这个解析要模仿parser.js重写 | ||||||
|  | |||||||
| @ -82,15 +82,17 @@ export default { | |||||||
|     submit(data) { |     submit(data) { | ||||||
|       if (data && this.definitionId) { |       if (data && this.definitionId) { | ||||||
|         // 启动流程并将表单数据加入流程变量 |         // 启动流程并将表单数据加入流程变量 | ||||||
|  |         // console.log(data); | ||||||
|         startProcess_(this.definitionId, JSON.stringify(data.valData)).then(res => { |         startProcess_(this.definitionId, JSON.stringify(data.valData)).then(res => { | ||||||
|           let projectData = {}; |           let projectData = {}; | ||||||
|           projectData.handbookId = this.handbookId; |           projectData.handbookId = this.handbookId; | ||||||
|           projectData.projectId = res.msg; |           projectData.projectId = res.msg; | ||||||
|  |           // zqjia:项目申报表单确定后这些信息要改 | ||||||
|           projectData.category = 1; |           projectData.category = 1; | ||||||
|           projectData.name = "测试项目"; |           projectData.name = data.valData.field101; | ||||||
|           projectData.createTime = "2024-07-14 23:28:17"; |           projectData.createTime = "2024-07-15 23:28:17"; | ||||||
|           projectData.id = undefined; |           projectData.id = undefined; | ||||||
|           console.log(projectData); |           console.log(data); | ||||||
|           addProject(projectData).then(response => { |           addProject(projectData).then(response => { | ||||||
|             this.$modal.msgSuccess("申报完成"); |             this.$modal.msgSuccess("申报完成"); | ||||||
|           }) |           }) | ||||||
							
								
								
									
										3332
									
								
								script/sql/mysql/ry-flowable-plus-jzq240715.sql
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3332
									
								
								script/sql/mysql/ry-flowable-plus-jzq240715.sql
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user