update handbook project association
This commit is contained in:
		
							parent
							
								
									f64500b99f
								
							
						
					
					
						commit
						49efd7ccd4
					
				| @ -199,20 +199,21 @@ export const dynamicRoutes = [ | ||||
|     path: '/scientific', | ||||
|     component: Layout, | ||||
|     hidden: true, | ||||
|     permissions: ['scientific:start'], | ||||
|     permissions: ['scientific:projectApply'], | ||||
|     children: [ | ||||
|       { | ||||
|         path: 'start/:deployId([\\w|\\-]+)', | ||||
|         component: () => import('@/views/scientific/start'), | ||||
|         name: 'ProjectApplyStart', | ||||
|         path: 'projectApply/:deployId([\\w|\\-]+)', | ||||
|         component: () => import('@/views/scientific/projectApply'), | ||||
|         name: 'ProjectApply', | ||||
|         meta: { title: '项目申报', icon: '' } | ||||
|       }, | ||||
|       // {
 | ||||
|       //   path: 'detail/:procInsId([\\w|\\-]+)',
 | ||||
|       //   component: () => import('@/views/scientific/detail'),
 | ||||
|       //   name: 'WorkDetail',
 | ||||
|       //   meta: { title: '流程详情', activeMenu: '/work/own' }
 | ||||
|       // }
 | ||||
|       { | ||||
|         path: 'handbookProjectQuery/:handbookId([\\w|\\-]+)', | ||||
|         component: () => import('@/views/scientific/handbookProject_query'), | ||||
|         name: 'handbookProjectQuery', | ||||
|         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-column type="selection" width="55" align="center" /> | ||||
|       <el-table-column label="指南名称" align="center"> | ||||
|         <template slot-scope="scope"> | ||||
|           {{ scope.row.handbookname }} | ||||
| @ -103,6 +104,12 @@ | ||||
|           <el-button class="file" @click="projectApply(scope.row)">项目申报</el-button> | ||||
|         </template> | ||||
|       </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> | ||||
| 
 | ||||
|     <pagination | ||||
| @ -121,14 +128,13 @@ import { | ||||
|   stopProcess, | ||||
|   delProcess, | ||||
|   listHandbook, | ||||
|   detailProcess, | ||||
|   detailProcesses, | ||||
|   listProcess | ||||
| } from '@/api/workflow/process'; | ||||
| import { listAllCategory } from '@/api/workflow/category'; | ||||
| import Parser from '@/utils/generator/parser' | ||||
| import {getToken} from "@/utils/auth"; | ||||
| // import {deepClone} from "@/utils"; | ||||
| import {listProject} from "@/api/scientific/project"; | ||||
| 
 | ||||
| export default { | ||||
|   name: "handbookQuery", | ||||
| @ -210,7 +216,7 @@ export default { | ||||
|         const apply = response.rows[0]; | ||||
|         if(apply) { | ||||
|           this.$router.push({ | ||||
|             path: '/scientific/start/' + apply.deploymentId, | ||||
|             path: '/scientific/projectApply/' + apply.deploymentId, | ||||
|             query: { | ||||
|               definitionId: apply.definitionId, | ||||
|               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() { | ||||
|       // zqjia:这个解析要模仿parser.js重写 | ||||
|  | ||||
| @ -82,15 +82,17 @@ export default { | ||||
|     submit(data) { | ||||
|       if (data && this.definitionId) { | ||||
|         // 启动流程并将表单数据加入流程变量 | ||||
|         // console.log(data); | ||||
|         startProcess_(this.definitionId, JSON.stringify(data.valData)).then(res => { | ||||
|           let projectData = {}; | ||||
|           projectData.handbookId = this.handbookId; | ||||
|           projectData.projectId = res.msg; | ||||
|           // zqjia:项目申报表单确定后这些信息要改 | ||||
|           projectData.category = 1; | ||||
|           projectData.name = "测试项目"; | ||||
|           projectData.createTime = "2024-07-14 23:28:17"; | ||||
|           projectData.name = data.valData.field101; | ||||
|           projectData.createTime = "2024-07-15 23:28:17"; | ||||
|           projectData.id = undefined; | ||||
|           console.log(projectData); | ||||
|           console.log(data); | ||||
|           addProject(projectData).then(response => { | ||||
|             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