Commit 7b3b5f0daef6820a94f73462561c19effdd3670d
1 parent
46daeb7c
m
Showing
13 changed files
with
251 additions
and
48 deletions
trash-activiti/src/main/java/com/trash/activiti/controller/ProcessDefinitionController.java
| ... | ... | @@ -8,6 +8,7 @@ import com.trash.common.core.page.TableDataInfo; |
| 8 | 8 | import com.trash.common.core.page.TableSupport; |
| 9 | 9 | import com.trash.common.enums.BusinessType; |
| 10 | 10 | import com.trash.activiti.domain.dto.ProcessDefinitionDTO; |
| 11 | +import com.trash.activiti.mapper.ActReDeploymentMapper; | |
| 11 | 12 | import com.trash.activiti.service.IProcessDefinitionService; |
| 12 | 13 | |
| 13 | 14 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -16,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile; |
| 16 | 17 | |
| 17 | 18 | import javax.servlet.http.HttpServletResponse; |
| 18 | 19 | import java.io.IOException; |
| 20 | +import java.util.List; | |
| 19 | 21 | |
| 20 | 22 | |
| 21 | 23 | /** |
| ... | ... | @@ -32,6 +34,7 @@ public class ProcessDefinitionController extends BaseController { |
| 32 | 34 | private IProcessDefinitionService processDefinitionService; |
| 33 | 35 | |
| 34 | 36 | |
| 37 | + | |
| 35 | 38 | /** |
| 36 | 39 | * 获取流程定义集合 |
| 37 | 40 | * |
| ... | ... | @@ -41,8 +44,11 @@ public class ProcessDefinitionController extends BaseController { |
| 41 | 44 | @GetMapping(value = "/list") |
| 42 | 45 | public TableDataInfo list(ProcessDefinitionDTO processDefinition) { |
| 43 | 46 | PageDomain pageDomain = TableSupport.buildPageRequest(); |
| 44 | - return getDataTable(processDefinitionService.selectProcessDefinitionList(processDefinition, pageDomain)); | |
| 45 | - | |
| 47 | + | |
| 48 | + TableDataInfo tableDataInfo = getDataTable(processDefinitionService.selectProcessDefinitionList(processDefinition, pageDomain)); | |
| 49 | + | |
| 50 | + | |
| 51 | + return tableDataInfo; | |
| 46 | 52 | } |
| 47 | 53 | |
| 48 | 54 | /** | ... | ... |
trash-activiti/src/main/java/com/trash/activiti/controller/TaskController.java
| ... | ... | @@ -11,6 +11,7 @@ import com.trash.common.core.page.TableSupport; |
| 11 | 11 | import com.trash.common.utils.ServletUtils; |
| 12 | 12 | import com.trash.activiti.domain.dto.ActTaskDTO; |
| 13 | 13 | import com.trash.activiti.domain.dto.ActWorkflowFormDataDTO; |
| 14 | +import com.trash.activiti.mapper.ActReDeploymentMapper; | |
| 14 | 15 | import com.trash.activiti.service.IActTaskService; |
| 15 | 16 | |
| 16 | 17 | import org.activiti.api.task.runtime.TaskRuntime; |
| ... | ... | @@ -30,12 +31,21 @@ public class TaskController extends BaseController { |
| 30 | 31 | @Autowired |
| 31 | 32 | private IActTaskService actTaskService; |
| 32 | 33 | |
| 34 | + @Autowired | |
| 35 | + private ActReDeploymentMapper actReDeploymentMapper; | |
| 36 | + | |
| 33 | 37 | //获取我的代办任务 |
| 34 | 38 | @GetMapping(value = "/list") |
| 35 | 39 | public TableDataInfo getTasks() { |
| 36 | 40 | PageDomain pageDomain = TableSupport.buildPageRequest(); |
| 37 | 41 | Page<ActTaskDTO> hashMaps = actTaskService.selectProcessDefinitionList(pageDomain); |
| 38 | - return getDataTable(hashMaps); | |
| 42 | + | |
| 43 | + List<String> names = actReDeploymentMapper.selectTitles(); | |
| 44 | + | |
| 45 | + TableDataInfo tableDataInfo = getDataTable(hashMaps); | |
| 46 | + tableDataInfo.setNames(names); | |
| 47 | + | |
| 48 | + return tableDataInfo; | |
| 39 | 49 | } |
| 40 | 50 | |
| 41 | 51 | @RequestMapping("/taskHistory") | ... | ... |
trash-activiti/src/main/java/com/trash/activiti/mapper/ActReDeploymentMapper.java
trash-activiti/src/main/java/com/trash/activiti/service/IFormHistoryDataService.java
| ... | ... | @@ -2,6 +2,7 @@ package com.trash.activiti.service; |
| 2 | 2 | |
| 3 | 3 | import java.util.List; |
| 4 | 4 | |
| 5 | +import com.trash.activiti.domain.ActWorkflowFormData; | |
| 5 | 6 | import com.trash.activiti.domain.dto.HistoryDataDTO; |
| 6 | 7 | |
| 7 | 8 | /** |
| ... | ... | @@ -12,5 +13,5 @@ import com.trash.activiti.domain.dto.HistoryDataDTO; |
| 12 | 13 | */ |
| 13 | 14 | public interface IFormHistoryDataService { |
| 14 | 15 | |
| 15 | - List<HistoryDataDTO> historyDataShow(String instanceId); | |
| 16 | + List<ActWorkflowFormData> historyDataShow(String instanceId); | |
| 16 | 17 | } | ... | ... |
trash-activiti/src/main/java/com/trash/activiti/service/impl/ActTaskServiceImpl.java
| ... | ... | @@ -97,36 +97,55 @@ public class ActTaskServiceImpl implements IActTaskService { |
| 97 | 97 | if (SecurityUtils.getLoginUser().getUser().getPostIds().size() == 0 || SecurityUtils.getLoginUser().getUser().getRoleIds().size() == 0) { |
| 98 | 98 | return list; |
| 99 | 99 | } |
| 100 | + | |
| 101 | + String type = ServletUtils.getParameter("type"); | |
| 102 | + String prev = ServletUtils.getParameter("prev"); | |
| 103 | + String name = ServletUtils.getParameter("name"); | |
| 104 | + | |
| 105 | + | |
| 100 | 106 | |
| 101 | - org.activiti.api.runtime.shared.query.Page<Task> pageTasks = taskRuntime | |
| 102 | - .tasks(Pageable.of((pageDomain.getPageNum() - 1) * pageDomain.getPageSize(), pageDomain.getPageSize())); | |
| 103 | - | |
| 107 | + org.activiti.api.runtime.shared.query.Page<Task> pageTasks = taskRuntime.tasks(Pageable.of((pageDomain.getPageNum() - 1) * pageDomain.getPageSize(), pageDomain.getPageSize())); | |
| 108 | + | |
| 104 | 109 | List<Task> tasks = pageTasks.getContent(); |
| 105 | 110 | int totalItems = pageTasks.getTotalItems(); |
| 106 | 111 | list.setTotal(totalItems); |
| 107 | 112 | if (totalItems != 0) { |
| 108 | - Set<String> processInstanceIdIds = tasks.parallelStream().map(t -> t.getProcessInstanceId()) | |
| 109 | - .collect(Collectors.toSet()); | |
| 113 | + Set<String> processInstanceIdIds = tasks.parallelStream().map(t -> t.getProcessInstanceId()).collect(Collectors.toSet()); | |
| 110 | 114 | |
| 111 | - List<ProcessInstance> processInstanceList = runtimeService.createProcessInstanceQuery() | |
| 112 | - .processInstanceIds(processInstanceIdIds).list(); | |
| 115 | + List<ProcessInstance> processInstanceList = runtimeService.createProcessInstanceQuery().processInstanceIds(processInstanceIdIds).list(); | |
| 116 | + | |
| 117 | + | |
| 113 | 118 | Set<String> idString = new HashSet<String>(); |
| 114 | 119 | for (ProcessInstance pi : processInstanceList) { |
| 115 | 120 | idString.add(pi.getBusinessKey()); |
| 116 | 121 | } |
| 117 | 122 | |
| 118 | 123 | List<Map<String, String>> maps = actMapper.selectWorkByIds(idString); |
| 124 | + | |
| 125 | + List<ActTaskDTO> actTaskDTOS = tasks.stream().map(t -> new ActTaskDTO(t, | |
| 126 | + processInstanceList.parallelStream().filter(pi -> t.getProcessInstanceId().equals(pi.getId())).findAny().get(), | |
| 127 | + maps.parallelStream().filter(pi -> t.getProcessInstanceId().equals(pi.get("instance_id"))).findAny().get())).collect(Collectors.toList()); | |
| 128 | + | |
| 129 | + | |
| 119 | 130 | |
| 120 | - List<ActTaskDTO> actTaskDTOS = tasks.stream() | |
| 121 | - .map(t -> new ActTaskDTO(t, | |
| 122 | - processInstanceList.parallelStream() | |
| 123 | - .filter(pi -> t.getProcessInstanceId().equals(pi.getId())).findAny().get(), | |
| 124 | - maps.parallelStream().filter(pi -> t.getProcessInstanceId().equals(pi.get("instance_id"))) | |
| 125 | - .findAny().get())) | |
| 126 | - .collect(Collectors.toList()); | |
| 127 | - | |
| 128 | - list.addAll(actTaskDTOS); | |
| 131 | + | |
| 132 | + for(ActTaskDTO dto:actTaskDTOS){ | |
| 133 | + if(name != null && !name.isEmpty() && !name.equals(dto.getInstanceName())){ | |
| 134 | + continue; | |
| 135 | + } | |
| 136 | + if(type != null && !type.isEmpty() && !type.contains(dto.getDefinitionKey())){ | |
| 137 | + continue; | |
| 138 | + } | |
| 139 | + if(prev != null && !prev.isEmpty() && (dto.getPrev() == null || !dto.getPrev().contains(prev))){ | |
| 140 | + continue; | |
| 141 | + } | |
| 142 | + | |
| 143 | + | |
| 144 | + list.add(dto); | |
| 145 | + } | |
| 129 | 146 | } |
| 147 | + | |
| 148 | + list.setTotal(list.size()); | |
| 130 | 149 | return list; |
| 131 | 150 | } |
| 132 | 151 | ... | ... |
trash-activiti/src/main/java/com/trash/activiti/service/impl/FormHistoryDataServiceImpl.java
| ... | ... | @@ -31,23 +31,23 @@ public class FormHistoryDataServiceImpl implements IFormHistoryDataService { |
| 31 | 31 | private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| 32 | 32 | |
| 33 | 33 | @Override |
| 34 | - public List<HistoryDataDTO> historyDataShow(String businessKey) { | |
| 34 | + public List<ActWorkflowFormData> historyDataShow(String businessKey) { | |
| 35 | 35 | List<HistoryDataDTO> returnHistoryFromDataDTOS=new ArrayList<>(); |
| 36 | 36 | List<ActWorkflowFormData> actWorkflowFormData = actWorkflowFormDataService.selectActWorkflowFormDataByBusinessKey(businessKey); |
| 37 | - Map<String, List<ActWorkflowFormData>> collect = actWorkflowFormData.stream().collect(Collectors.groupingBy(ActWorkflowFormData::getTaskNodeName)); | |
| 38 | - collect.entrySet().forEach( | |
| 39 | - entry -> { | |
| 40 | - HistoryDataDTO returnHistoryFromDataDTO = new HistoryDataDTO(); | |
| 41 | - returnHistoryFromDataDTO.setTaskNodeName(entry.getValue().get(0).getTaskNodeName()); | |
| 42 | - returnHistoryFromDataDTO.setCreateName(entry.getValue().get(0).getCreateName()); | |
| 43 | - returnHistoryFromDataDTO.setCreatedDate(sdf.format(entry.getValue().get(0).getCreateTime())); | |
| 44 | - returnHistoryFromDataDTO.setFormHistoryDataDTO(entry.getValue().stream().map(awfd->new HistoryFormDataDTO(awfd.getControlName(),awfd.getControlValue())).collect(Collectors.toList())); | |
| 45 | - returnHistoryFromDataDTOS.add(returnHistoryFromDataDTO); | |
| 46 | - } | |
| 47 | - ); | |
| 48 | - List<HistoryDataDTO> collect1 = returnHistoryFromDataDTOS.stream().sorted((x, y) -> x.getCreatedDate().compareTo(y.getCreatedDate())).collect(Collectors.toList()); | |
| 49 | - | |
| 50 | - return collect1; | |
| 37 | +// Map<String, List<ActWorkflowFormData>> collect = actWorkflowFormData.stream().collect(Collectors.groupingBy(ActWorkflowFormData::getTaskNodeName)); | |
| 38 | +// collect.entrySet().forEach( | |
| 39 | +// entry -> { | |
| 40 | +// HistoryDataDTO returnHistoryFromDataDTO = new HistoryDataDTO(); | |
| 41 | +// returnHistoryFromDataDTO.setTaskNodeName(entry.getValue().get(0).getTaskNodeName()); | |
| 42 | +// returnHistoryFromDataDTO.setCreateName(entry.getValue().get(0).getCreateName()); | |
| 43 | +// returnHistoryFromDataDTO.setCreatedDate(sdf.format(entry.getValue().get(0).getCreateTime())); | |
| 44 | +// returnHistoryFromDataDTO.setFormHistoryDataDTO(entry.getValue().stream().map(awfd->new HistoryFormDataDTO(awfd.getControlName(),awfd.getControlValue())).collect(Collectors.toList())); | |
| 45 | +// returnHistoryFromDataDTOS.add(returnHistoryFromDataDTO); | |
| 46 | +// } | |
| 47 | +// ); | |
| 48 | +// List<HistoryDataDTO> collect1 = returnHistoryFromDataDTOS.stream().sorted((x, y) -> x.getCreatedDate().compareTo(y.getCreatedDate())).collect(Collectors.toList()); | |
| 49 | + | |
| 50 | + return actWorkflowFormData; | |
| 51 | 51 | } |
| 52 | 52 | |
| 53 | 53 | ... | ... |
trash-activiti/src/main/resources/mapper/activiti/ActReDeploymentMapper.xml
| ... | ... | @@ -38,6 +38,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| 38 | 38 | </select> |
| 39 | 39 | |
| 40 | 40 | |
| 41 | + <select id="selectTitles" parameterType="String" resultType="java.lang.String"> | |
| 42 | + select DISTINCT title from workflow | |
| 43 | + </select> | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 41 | 48 | <select id="selectUnCompleteWorkByUsername" parameterType="String" resultType="java.lang.String"> |
| 42 | 49 | select instance_id from workflow where id in (select business_key from act_workflow_formdata where create_by = #{username} GROUP BY business_key) |
| 43 | 50 | </select> | ... | ... |
trash-common/src/main/java/com/trash/common/core/page/TableDataInfo.java
| ... | ... | @@ -24,6 +24,11 @@ public class TableDataInfo implements Serializable |
| 24 | 24 | /** 消息内容 */ |
| 25 | 25 | private String msg; |
| 26 | 26 | |
| 27 | + /** 列表数据 */ | |
| 28 | + private List<String> names; | |
| 29 | + | |
| 30 | + /** 列表数据 */ | |
| 31 | + private List<String> enames; | |
| 27 | 32 | /** |
| 28 | 33 | * 表格数据对象 |
| 29 | 34 | */ |
| ... | ... | @@ -31,7 +36,23 @@ public class TableDataInfo implements Serializable |
| 31 | 36 | { |
| 32 | 37 | } |
| 33 | 38 | |
| 34 | - /** | |
| 39 | + public List<String> getNames() { | |
| 40 | + return names; | |
| 41 | + } | |
| 42 | + | |
| 43 | + public void setNames(List<String> names) { | |
| 44 | + this.names = names; | |
| 45 | + } | |
| 46 | + | |
| 47 | + public List<String> getEnames() { | |
| 48 | + return enames; | |
| 49 | + } | |
| 50 | + | |
| 51 | + public void setEnames(List<String> enames) { | |
| 52 | + this.enames = enames; | |
| 53 | + } | |
| 54 | + | |
| 55 | + /** | |
| 35 | 56 | * 分页 |
| 36 | 57 | * |
| 37 | 58 | * @param list 列表数据 | ... | ... |
trash-ui/src/api/dayWorkReport.js
| ... | ... | @@ -109,6 +109,8 @@ export default { |
| 109 | 109 | outside: ["长沙县", "望城区", "浏阳市", "宁乡市", "株洲市", "湘潭市", "汩罗市", "湘阴县"], |
| 110 | 110 | info2:false, |
| 111 | 111 | businessKey:null, |
| 112 | + names:null, | |
| 113 | + enames:null, | |
| 112 | 114 | }; |
| 113 | 115 | }, |
| 114 | 116 | created() { |
| ... | ... | @@ -202,7 +204,6 @@ export default { |
| 202 | 204 | } |
| 203 | 205 | |
| 204 | 206 | dayWorkList(this.queryParams).then(response => { |
| 205 | - | |
| 206 | 207 | let list = response.rows; |
| 207 | 208 | |
| 208 | 209 | for (let i = 0; i < list.length; i++) { |
| ... | ... | @@ -276,10 +277,14 @@ export default { |
| 276 | 277 | if (tabIdx == 1) { |
| 277 | 278 | this.queryParams.pageNum = 1; |
| 278 | 279 | this.resetQuery(); |
| 280 | + this.names = null; | |
| 281 | + this.ename = null; | |
| 279 | 282 | this.queryParams.his = tabIdx; |
| 280 | 283 | } else if (tabIdx == 0) { |
| 281 | 284 | this.queryParams.pageNum = 1; |
| 282 | 285 | this.resetQuery(); |
| 286 | + this.names = null; | |
| 287 | + this.ename = null; | |
| 283 | 288 | this.queryParams.his = tabIdx; |
| 284 | 289 | } |
| 285 | 290 | |
| ... | ... | @@ -292,6 +297,13 @@ export default { |
| 292 | 297 | |
| 293 | 298 | dayWorkList(this.queryParams).then(response => { |
| 294 | 299 | this.threestepList = response.rows; |
| 300 | + | |
| 301 | + if(!this.names){ | |
| 302 | + this.names = response.names; | |
| 303 | + this.enames = response.enames; | |
| 304 | + } | |
| 305 | + | |
| 306 | + | |
| 295 | 307 | this.queryParams.timeRange = timeRange; |
| 296 | 308 | this.loading.close(); |
| 297 | 309 | ... | ... |
trash-ui/src/views/activiti/task/index.vue
| ... | ... | @@ -11,6 +11,35 @@ |
| 11 | 11 | </el-option> |
| 12 | 12 | </el-select> |
| 13 | 13 | |
| 14 | + <el-select v-model="queryParams.name" filterable reserve-keyword @change="getList" placeholder="名称"> | |
| 15 | + <el-option label="全部" value="" /> | |
| 16 | + <el-option v-for="item in names" :label="item" :value="item" > | |
| 17 | + </el-option> | |
| 18 | + </el-select> | |
| 19 | + | |
| 20 | + <el-select v-model="queryParams.prev" filterable reserve-keyword @change="getList" placeholder="上一节点"> | |
| 21 | + <el-option label="全部" value="" /> | |
| 22 | + <el-option v-for="item in depts" :label="item.name" :value="item.name" > | |
| 23 | + </el-option> | |
| 24 | + </el-select> | |
| 25 | + <el-select v-model="queryParams.type" filterable reserve-keyword @change="getList"> | |
| 26 | + <el-option label="全部" value="" /> | |
| 27 | + <el-option label="建筑垃圾许可证审批" value="workflow_constructsite" /> | |
| 28 | + <el-option label="消纳合同申报备案" value="workflow_conract" /> | |
| 29 | + <el-option label="处理场所备案" value="workflow_earthsites" /> | |
| 30 | + <el-option label="运输企业准入流程" value="workflow_company" /> | |
| 31 | + <el-option label="运输车辆准入流程" value="workflow_vehicle" /> | |
| 32 | + <el-option label="驾驶员信息审批" value="workflow_driver" /> | |
| 33 | + <el-option label="交办案卷" value="workflow_caseoffline" /> | |
| 34 | + <el-option label="违规案卷处置流程" value="workflow_casefile" /> | |
| 35 | + <el-option label="平台预警信息" value="violation_warning" /> | |
| 36 | + <el-option label="办文办事" value="handleAffairs" /> | |
| 37 | + <el-option label="后勤管理" value="logistics" /> | |
| 38 | + <el-option label="会议事务" value="conference" /> | |
| 39 | + <el-option label="假勤管理" value="workflow_leave" /> | |
| 40 | + <el-option label="纪检督察" value="supervision-gongdi,supervision_anjuan,supervision_company,supervision_xnc" /> | |
| 41 | + </el-select> | |
| 42 | + | |
| 14 | 43 | |
| 15 | 44 | <taskCard :task="task" v-for="task in taskList" @sendToParent="showTask"/> |
| 16 | 45 | |
| ... | ... | @@ -208,6 +237,17 @@ |
| 208 | 237 | |
| 209 | 238 | <el-dialog :title="title" :visible.sync="earthsites" width="800px" append-to-body> |
| 210 | 239 | <earthsitesInfo :businessKey="businessKey" v-if="earthsites"/> |
| 240 | + <div v-for="item in this.form.formData"> | |
| 241 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | |
| 242 | + </div> | |
| 243 | + | |
| 244 | + <el-table :data="hisfromData" v-if="hisfromData != null"> | |
| 245 | + <el-table-column label="类型" width="55" align="center" prop="controlName"/> | |
| 246 | + <el-table-column label="审批内容" align="center" prop="controlValue" /> | |
| 247 | + <el-table-column label="审批人" align="center" prop="createName" /> | |
| 248 | + <el-table-column label="审批时间" align="center" prop="createTime" /> | |
| 249 | + </el-table> | |
| 250 | + | |
| 211 | 251 | <div slot="footer" class="dialog-footer"> |
| 212 | 252 | <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> |
| 213 | 253 | <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button> |
| ... | ... | @@ -216,6 +256,18 @@ |
| 216 | 256 | |
| 217 | 257 | <el-dialog :title="title" :visible.sync="contract" width="800px" append-to-body> |
| 218 | 258 | <contractInfo :businessKey="businessKey" v-if="contract"/> |
| 259 | + | |
| 260 | + <div v-for="item in this.form.formData"> | |
| 261 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | |
| 262 | + </div> | |
| 263 | + | |
| 264 | + <el-table :data="hisfromData" v-if="hisfromData != null"> | |
| 265 | + <el-table-column label="类型" width="55" align="center" prop="controlName"/> | |
| 266 | + <el-table-column label="审批内容" align="center" prop="controlValue" /> | |
| 267 | + <el-table-column label="审批人" align="center" prop="createName" /> | |
| 268 | + <el-table-column label="审批时间" align="center" prop="createTime" /> | |
| 269 | + </el-table> | |
| 270 | + | |
| 219 | 271 | <div slot="footer" class="dialog-footer"> |
| 220 | 272 | <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button> |
| 221 | 273 | <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button> |
| ... | ... | @@ -331,6 +383,18 @@ |
| 331 | 383 | |
| 332 | 384 | <el-dialog :title="title" :visible.sync="supervisionOpen" width="700px" append-to-body :close-on-click-modal="false"> |
| 333 | 385 | <supervisionInfo :infoData="supervisionData" v-if="supervisionOpen"/> |
| 386 | + | |
| 387 | + <div v-for="item in this.form.formData"> | |
| 388 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | |
| 389 | + </div> | |
| 390 | + | |
| 391 | + <el-table :data="hisfromData" v-if="hisfromData != null"> | |
| 392 | + <el-table-column label="类型" width="55" align="center" prop="controlName"/> | |
| 393 | + <el-table-column label="审批内容" align="center" prop="controlValue" /> | |
| 394 | + <el-table-column label="审批人" align="center" prop="createName" /> | |
| 395 | + <el-table-column label="审批时间" align="center" prop="createTime" /> | |
| 396 | + </el-table> | |
| 397 | + | |
| 334 | 398 | <div slot="footer" class="dialog-footer"> |
| 335 | 399 | <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button> |
| 336 | 400 | <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button> |
| ... | ... | @@ -339,6 +403,16 @@ |
| 339 | 403 | |
| 340 | 404 | <el-dialog :title="title" :visible.sync="company" width="700px" append-to-body :close-on-click-modal="false"> |
| 341 | 405 | <companyInfo :businessKey="businessKey" v-if="company"/> |
| 406 | + <div v-for="item in this.form.formData"> | |
| 407 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | |
| 408 | + </div> | |
| 409 | + | |
| 410 | + <el-table :data="hisfromData" v-if="hisfromData != null"> | |
| 411 | + <el-table-column label="类型" width="55" align="center" prop="controlName"/> | |
| 412 | + <el-table-column label="审批内容" align="center" prop="controlValue" /> | |
| 413 | + <el-table-column label="审批人" align="center" prop="createName" /> | |
| 414 | + <el-table-column label="审批时间" align="center" prop="createTime" /> | |
| 415 | + </el-table> | |
| 342 | 416 | <div slot="footer" class="dialog-footer"> |
| 343 | 417 | <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button> |
| 344 | 418 | <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button> |
| ... | ... | @@ -347,6 +421,16 @@ |
| 347 | 421 | |
| 348 | 422 | <el-dialog :title="title" :visible.sync="vehicle" width="700px" append-to-body :close-on-click-modal="false"> |
| 349 | 423 | <vehicleInfo :businessKey="businessKey" v-if="vehicle"/> |
| 424 | + <div v-for="item in this.form.formData"> | |
| 425 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | |
| 426 | + </div> | |
| 427 | + | |
| 428 | + <el-table :data="hisfromData" v-if="hisfromData != null"> | |
| 429 | + <el-table-column label="类型" width="55" align="center" prop="controlName"/> | |
| 430 | + <el-table-column label="审批内容" align="center" prop="controlValue" /> | |
| 431 | + <el-table-column label="审批人" align="center" prop="createName" /> | |
| 432 | + <el-table-column label="审批时间" align="center" prop="createTime" /> | |
| 433 | + </el-table> | |
| 350 | 434 | <div slot="footer" class="dialog-footer"> |
| 351 | 435 | <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button> |
| 352 | 436 | <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button> |
| ... | ... | @@ -355,6 +439,16 @@ |
| 355 | 439 | |
| 356 | 440 | <el-dialog :title="title" :visible.sync="driver" width="700px" append-to-body :close-on-click-modal="false"> |
| 357 | 441 | <driverInfo :businessKey="businessKey" v-if="driver"/> |
| 442 | + <div v-for="item in this.form.formData"> | |
| 443 | + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue" placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/> | |
| 444 | + </div> | |
| 445 | + | |
| 446 | + <el-table :data="hisfromData" v-if="hisfromData != null"> | |
| 447 | + <el-table-column label="类型" width="55" align="center" prop="controlName"/> | |
| 448 | + <el-table-column label="审批内容" align="center" prop="controlValue" /> | |
| 449 | + <el-table-column label="审批人" align="center" prop="createName" /> | |
| 450 | + <el-table-column label="审批时间" align="center" prop="createTime" /> | |
| 451 | + </el-table> | |
| 358 | 452 | <div slot="footer" class="dialog-footer"> |
| 359 | 453 | <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button> |
| 360 | 454 | <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button> |
| ... | ... | @@ -375,6 +469,8 @@ import { |
| 375 | 469 | formDataSave |
| 376 | 470 | } from "@/api/activiti/task"; |
| 377 | 471 | |
| 472 | +import { historyFromData } from '@/api/activiti/historyFormdata' | |
| 473 | + | |
| 378 | 474 | |
| 379 | 475 | import {getSignByObjId, addSign, updateSign} from "@/api/sign/sign"; |
| 380 | 476 | |
| ... | ... | @@ -533,6 +629,8 @@ export default { |
| 533 | 629 | company:false, |
| 534 | 630 | driver:false, |
| 535 | 631 | vehicle:false, |
| 632 | + names:null, | |
| 633 | + hisfromData:[] | |
| 536 | 634 | }; |
| 537 | 635 | }, |
| 538 | 636 | created() { |
| ... | ... | @@ -596,6 +694,7 @@ export default { |
| 596 | 694 | this.loading = true; |
| 597 | 695 | listTask(this.queryParams).then(response => { |
| 598 | 696 | this.taskList = response.rows; |
| 697 | + this.names = response.names; | |
| 599 | 698 | this.total = response.total; |
| 600 | 699 | this.loading = false; |
| 601 | 700 | }); |
| ... | ... | @@ -637,6 +736,10 @@ export default { |
| 637 | 736 | this.businessKey = row.businessKey; |
| 638 | 737 | this.id = row.id; |
| 639 | 738 | this.taskName = row.name; |
| 739 | + historyFromData(this.businessKey).then(response => { | |
| 740 | + this.hisfromData = response.data | |
| 741 | + }) | |
| 742 | + | |
| 640 | 743 | formDataShow(row.id).then(response => { |
| 641 | 744 | let datas = response.data; |
| 642 | 745 | let formData = [] |
| ... | ... | @@ -757,6 +860,7 @@ export default { |
| 757 | 860 | |
| 758 | 861 | /** 提交按钮 */ |
| 759 | 862 | submitForm(formid, value) { |
| 863 | + debugger; | |
| 760 | 864 | this.form.formData[0].controlValue = value; |
| 761 | 865 | this.form.formData[0].controlId = formid; |
| 762 | 866 | this.form.id = this.businessKey.split(":")[1]; | ... | ... |
trash-ui/src/views/activiti/task/taskCard.vue
| ... | ... | @@ -21,7 +21,7 @@ |
| 21 | 21 | </el-row> |
| 22 | 22 | <el-row class="card_row"> |
| 23 | 23 | <el-col :span="24" class="card_grid"> |
| 24 | - <div>申请理由: {{task.reason}}</div> | |
| 24 | + <div>当前节点: {{task.name}}</div> | |
| 25 | 25 | </el-col> |
| 26 | 26 | </el-row> |
| 27 | 27 | |
| ... | ... | @@ -30,7 +30,7 @@ |
| 30 | 30 | <div>申请类型: {{task.type}}</div> |
| 31 | 31 | </el-col> |
| 32 | 32 | <el-col :span="12" class="card_grid right"> |
| 33 | - <div>创建时间: {{task.createdDate}}</div> | |
| 33 | + <div>接收时间: {{task.createdDate}}</div> | |
| 34 | 34 | </el-col> |
| 35 | 35 | </el-row> |
| 36 | 36 | </el-card> | ... | ... |
trash-ui/src/views/business/dayWorkReport/index.vue
| ... | ... | @@ -13,13 +13,20 @@ |
| 13 | 13 | <el-row> |
| 14 | 14 | <el-col :span="6"> |
| 15 | 15 | <el-form-item label="工地名称" > |
| 16 | - <el-input v-model="queryParams.name" placeholder="请输入项目名称" size="small" /> | |
| 16 | + <!-- <el-input v-model="queryParams.name" placeholder="请输入项目名称" size="small" /> --> | |
| 17 | + | |
| 18 | + <el-select v-model="queryParams.name" placeholder="请输入工地名称 " filterable size="small"> | |
| 19 | + <el-option v-for="item in names" :label="item" :value="item" /> | |
| 20 | + </el-select> | |
| 17 | 21 | </el-form-item> |
| 18 | 22 | </el-col> |
| 19 | 23 | <el-col :span="6"> |
| 20 | 24 | <el-form-item label="处理场所名称" > |
| 21 | - <el-input v-model="queryParams.earthsitesName" placeholder="请输入处理场所名称" size="small" | |
| 22 | - /> | |
| 25 | + <!-- <el-input v-model="queryParams.earthsitesName" placeholder="请输入处理场所名称" size="small" />--> | |
| 26 | + | |
| 27 | + <el-select v-model="queryParams.earthsitesName" placeholder="请输入处理场所名称 " filterable size="small"> | |
| 28 | + <el-option v-for="item in enames" :label="item" :value="item" /> | |
| 29 | + </el-select> | |
| 23 | 30 | </el-form-item> |
| 24 | 31 | </el-col> |
| 25 | 32 | <el-col :span="6"> | ... | ... |
trash-workFlow/src/main/java/com/trash/business/controller/SupervisionThreestepController.java
| ... | ... | @@ -69,17 +69,12 @@ public class SupervisionThreestepController extends BaseController |
| 69 | 69 | startPage(); |
| 70 | 70 | if(supervisionThreestep.getStatus() == null){ |
| 71 | 71 | supervisionThreestep.setCreateBy(SecurityUtils.getUsername()); |
| 72 | - | |
| 73 | 72 | }else{ |
| 74 | - | |
| 75 | - | |
| 76 | 73 | Map<String, String> map = new HashMap<String, String>(); |
| 77 | 74 | map.put("type", "CSUserDepartmentType"); |
| 78 | 75 | JSONArray depts = RemoteServerUtils.getDict(map); |
| 79 | 76 | JSONArray areas = RemoteServerUtils.getAreas(); |
| 80 | 77 | |
| 81 | - | |
| 82 | - | |
| 83 | 78 | for(Object object :depts){ |
| 84 | 79 | JSONObject dept = (JSONObject) object; |
| 85 | 80 | List<String> roles = SecurityUtils.getLoginUser().getUser().getRoleIds(); |
| ... | ... | @@ -140,7 +135,7 @@ public class SupervisionThreestepController extends BaseController |
| 140 | 135 | public TableDataInfo dayWorkList(SupervisionThreestep supervisionThreestep) |
| 141 | 136 | { |
| 142 | 137 | // startPage(); |
| 143 | - PageDomain pageDomain = TableSupport.buildPageRequest(); | |
| 138 | + PageDomain pageDomain = TableSupport.buildPageRequest(); | |
| 144 | 139 | Integer pageNum = pageDomain.getPageNum(); |
| 145 | 140 | Integer pageSize = pageDomain.getPageSize(); |
| 146 | 141 | |
| ... | ... | @@ -170,7 +165,22 @@ public class SupervisionThreestepController extends BaseController |
| 170 | 165 | |
| 171 | 166 | JSONArray areas = RemoteServerUtils.getAreas(); |
| 172 | 167 | |
| 168 | + List<String> names = new ArrayList<>(); | |
| 169 | + List<String> enames = new ArrayList<>(); | |
| 170 | + | |
| 173 | 171 | for(Map<String, String> m:list){ |
| 172 | + | |
| 173 | + if(names.indexOf(m.get("name")) == -1){ | |
| 174 | + | |
| 175 | + names.add(m.get("name")); | |
| 176 | + } | |
| 177 | + | |
| 178 | + if(enames.indexOf(m.get("ename")) == -1){ | |
| 179 | + | |
| 180 | + enames.add(m.get("ename")); | |
| 181 | + } | |
| 182 | + | |
| 183 | + | |
| 174 | 184 | for(Object object:areas){ |
| 175 | 185 | JSONObject area = (JSONObject)object; |
| 176 | 186 | |
| ... | ... | @@ -216,6 +226,9 @@ public class SupervisionThreestepController extends BaseController |
| 216 | 226 | |
| 217 | 227 | info.setRows(list); |
| 218 | 228 | |
| 229 | + info.setNames(names); | |
| 230 | + info.setEnames(enames); | |
| 231 | + | |
| 219 | 232 | info.setMsg(string + place+"工地开工数量" + count + " " + place1+"处理场所开工数量" + count1); |
| 220 | 233 | |
| 221 | 234 | return info; | ... | ... |