Commit 9c06308f18f88f8c832e62f0c7c11059f971b327

Authored by youxiw2000
1 parent 94deb252

m

Showing 65 changed files with 1708 additions and 609 deletions

Too many changes to show.

To preserve performance only 65 of 88 files are displayed.

trash-activiti/src/main/java/com/trash/activiti/controller/TaskController.java
... ... @@ -52,11 +52,16 @@ public class TaskController extends BaseController {
52 52 }
53 53 }
54 54  
55   -
56 55 TableDataInfo tableDataInfo = getDataTable(hashMaps);
57 56  
58 57 int pageNum = pageDomain.getPageNum();
59 58 int pageSize = pageDomain.getPageSize();
  59 +
  60 + tableDataInfo.setNames(names);
  61 +
  62 + if(tableDataInfo.getRows().size() <= pageSize){
  63 + return tableDataInfo;
  64 + }
60 65  
61 66 if(tableDataInfo.getRows().size() > (pageNum)*pageSize){
62 67 tableDataInfo.setRows(tableDataInfo.getRows().subList((pageNum -1)*pageSize, (pageNum)*pageSize));
... ... @@ -64,7 +69,6 @@ public class TaskController extends BaseController {
64 69 tableDataInfo.setRows(tableDataInfo.getRows().subList((pageNum -1)*pageSize, tableDataInfo.getRows().size()));
65 70 }
66 71  
67   - tableDataInfo.setNames(names);
68 72  
69 73 return tableDataInfo;
70 74 }
... ...
trash-activiti/src/main/java/com/trash/activiti/domain/dto/ActTaskDTO.java
... ... @@ -51,77 +51,110 @@ public class ActTaskDTO
51 51  
52 52 private String checkStatus;
53 53  
  54 + private String createBy;
54 55  
  56 + private String time;
  57 +
55 58 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
56 59 private Date createdDate;
57 60 private String instanceName;
58 61 private String definitionKey;
59 62 private String businessKey;
  63 +
  64 +
  65 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
  66 + SimpleDateFormat timeSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
60 67  
61 68 public ActTaskDTO() {
62 69 }
63 70  
64   - public ActTaskDTO(ProcessInstance processInstance, Map<String, String> map,ActWorkflowFormData from) {
  71 + public ActTaskDTO(ProcessInstance processInstance, Map<String, Object> map,ActWorkflowFormData from) {
65 72 this.id = processInstance.getId();
66 73 this.instanceName = processInstance.getName();
67 74 this.definitionKey= processInstance.getProcessDefinitionKey();
68 75 this.businessKey= processInstance.getBusinessKey();
69 76 this.checkStatus = from.getControlValue().equals("通过") ? "0" : "1";
70 77 this.createdDate = from.getCreateTime();
71   - getData(map);
  78 + try {
  79 + this.reason = map.get("reason").toString();;
  80 + this.type = map.get("type").toString();;
  81 +
  82 + this.time = map.get("createTime").toString();
  83 + this.createBy = map.get("create_by").toString();;
  84 + } catch (Exception e) {
  85 + e.printStackTrace();
  86 + }
72 87 }
73 88  
74   - public ActTaskDTO(HistoricProcessInstance processInstance, Map<String, String> map,ActWorkflowFormData from) {
  89 + public ActTaskDTO(HistoricProcessInstance processInstance, Map<String, Object> map) {
75 90 this.id = processInstance.getId();
76 91 this.instanceName = processInstance.getName();
77 92 this.definitionKey= processInstance.getProcessDefinitionKey();
78 93 this.businessKey= processInstance.getBusinessKey();
79   - this.checkStatus = from.getControlValue().equals("通过") ? "0" : "1";
80   - this.createdDate = from.getCreateTime();
81   -
82   - getData(map);
  94 + try {
  95 + this.checkStatus = map.get("state").toString();;
  96 + this.createdDate = timeSdf.parse(map.get("createTime").toString());
  97 + this.reason = map.get("reason").toString();;
  98 + this.type = map.get("type").toString();;
  99 + this.createBy = map.get("create_by").toString();;
  100 + this.time = map.get("createTime").toString();
  101 + } catch (Exception e) {
  102 + e.printStackTrace();
  103 + }
83 104 }
84 105  
85 106  
86 107  
87   - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
88 108  
89   - public ActTaskDTO(Task task, ProcessInstance processInstance,Map<String,String> map) {
  109 + public ActTaskDTO(Task task, Map<String,Object> map) {
90 110 this.id = task.getId();
91 111 this.name = task.getName();
92 112 this.status = task.getStatus().toString();
93 113 this.createdDate = task.getCreatedDate();
94   - this.instanceName = processInstance.getName();
95   - this.definitionKey=processInstance.getProcessDefinitionKey();
96   - this.businessKey=processInstance.getBusinessKey();
97   -
98   - getPrevNext(task, processInstance);
99   -
100   - getData(map);
  114 + try {
  115 + this.instanceName = map.get("title").toString();
  116 + this.definitionKey = map.get("id").toString().split(":")[0];
  117 + this.businessKey = map.get("id").toString();
  118 + this.reason = map.get("reason").toString();
  119 + this.type = map.get("type").toString();
  120 + this.createBy = map.get("create_by").toString();
  121 + this.time = map.get("createTime").toString();
  122 + } catch (Exception e) {
  123 + e.printStackTrace();
  124 + }
  125 + getPrevNext(task);
  126 +
101 127  
102 128 }
103 129  
104 130  
105   - private void getPrevNext(Task task, ProcessInstance processInstance) {
  131 + private void getPrevNext(Task task) {
106 132  
107   - BpmnModel model = SpringUtils.getBean(RepositoryService.class).getBpmnModel(processInstance.getProcessDefinitionId());
108   -
  133 +
  134 + long date = new Date().getTime();
109 135 RedisCache cache = SpringUtils.getBean(RedisCache.class);
110   -
111   - List<org.activiti.bpmn.model.Process> processes = model.getProcesses();
112   - org.activiti.engine.task.Task et = SpringUtils.getBean(TaskService.class).createTaskQuery().taskId(this.id).singleResult();
  136 +
  137 + String exeId = cache.getCacheObject(this.id);
  138 + org.activiti.engine.task.Task et;
  139 +
  140 + if(exeId == null){
  141 + et = SpringUtils.getBean(TaskService.class).createTaskQuery().taskId(this.id).singleResult();
  142 + exeId = et.getExecutionId();
  143 + cache.setCacheObject(this.id, exeId);
  144 + }
113 145  
114   - Map<String, Object> params= cache.getCacheMap(et.getExecutionId());
  146 + Map<String, Object> params= cache.getCacheMap(exeId);
115 147  
116 148 if(params == null){
117   - params= SpringUtils.getBean(RuntimeService.class).getVariables(et.getExecutionId());
118   - cache.setCacheMap(et.getExecutionId(), params);
  149 + params= SpringUtils.getBean(RuntimeService.class).getVariables(exeId);
  150 + cache.setCacheMap(exeId, params);
119 151 }
120 152  
121 153 String route = null;
122 154 String index = null;
123 155  
124   - String key = processInstance.getProcessDefinitionKey();
  156 + String key = this.businessKey.split(":")[0];
  157 +
125 158  
126 159 if(params.get("route")!=null){
127 160 route = params.get("route").toString();
... ... @@ -136,13 +169,17 @@ public class ActTaskDTO
136 169 if(list.size() > 0){
137 170  
138 171 if(list.indexOf(task.getName())>0){
139   - this.prev = list.get(list.indexOf(et.getName())-1);
  172 + this.prev = list.get(list.indexOf(task.getName())-1);
140 173 }
141 174 if(list.size() > (list.indexOf(task.getName())+1)){
142   - this.next = list.get(list.indexOf(et.getName())+1);
  175 + this.next = list.get(list.indexOf(task.getName())+1);
143 176 }
144 177 return;
145 178 }
  179 +
  180 +
  181 + BpmnModel model = SpringUtils.getBean(RepositoryService.class).getBpmnModel(task.getProcessDefinitionId());
  182 + List<org.activiti.bpmn.model.Process> processes = model.getProcesses();
146 183  
147 184 List<String> modelList = new ArrayList<String>();
148 185  
... ... @@ -200,14 +237,13 @@ public class ActTaskDTO
200 237  
201 238 cache.setCacheList(key, modelList);
202 239  
203   - if(modelList.indexOf(et.getName())>0){
204   - this.prev = modelList.get(modelList.indexOf(et.getName())-1);
  240 + if(modelList.indexOf(task.getName())>0){
  241 + this.prev = modelList.get(modelList.indexOf(task.getName())-1);
205 242 }
206   - if(modelList.size() > (modelList.indexOf(et.getName())+1)){
207   - this.next = modelList.get(modelList.indexOf(et.getName())+1);
  243 + if(modelList.size() > (modelList.indexOf(task.getName())+1)){
  244 + this.next = modelList.get(modelList.indexOf(task.getName())+1);
208 245 }
209   -
210   - System.out.println(modelList.toString());
  246 +
211 247 //
212 248 //
213 249  
... ... @@ -311,14 +347,6 @@ public class ActTaskDTO
311 347 // }
312 348 }
313 349  
314   - private void getData(Map<String, String> map) {
315   - try {
316   - this.reason = map.get("reason");
317   - this.type = map.get("type");
318   - } catch (Exception e) {
319   - e.printStackTrace();
320   - }
321   - }
322 350  
323 351  
324 352 public String getId() {
... ... @@ -417,7 +445,23 @@ public class ActTaskDTO
417 445 public void setCheckStatus(String checkStatus) {
418 446 this.checkStatus = checkStatus;
419 447 }
420   -
421   -
  448 +
  449 + public String getCreateBy() {
  450 + return createBy;
  451 + }
  452 +
  453 + public void setCreateBy(String createBy) {
  454 + this.createBy = createBy;
  455 + }
  456 +
  457 + public String getTime() {
  458 + return time;
  459 + }
  460 +
  461 + public void setTime(String time) {
  462 + this.time = time;
  463 + }
  464 +
  465 +
422 466  
423 467 }
... ...
trash-activiti/src/main/java/com/trash/activiti/mapper/ActReDeploymentMapper.java
... ... @@ -18,9 +18,9 @@ public interface ActReDeploymentMapper {
18 18  
19 19 public List<ActReDeploymentVO> selectActReDeploymentByIds(@Param("ids") Set<String> ids);
20 20  
21   - public List<Map<String, String>> selectWorkByIds(@Param("ids") Set<String> idString);
  21 + public List<Map<String, Object>> selectWorkByIds(@Param("ids") Set<String> idString);
22 22  
23   - public List<Map<String, String>> selectHistoryWorkByPIds(@Param("ids") Set<String> id);
  23 + public List<Map<String, Object>> selectHistoryWorkByPIds(@Param("ids") Set<String> id);
24 24  
25 25 public Set<String> selectUnCompleteWorkByUsername(Map map);
26 26  
... ...
trash-activiti/src/main/java/com/trash/activiti/service/impl/ActTaskServiceImpl.java
... ... @@ -10,7 +10,9 @@ import java.util.HashSet;
10 10 import java.util.List;
11 11 import java.util.Map;
12 12 import java.util.Set;
  13 +import java.util.concurrent.BlockingQueue;
13 14 import java.util.concurrent.TimeUnit;
  15 +import java.util.stream.Collector;
14 16 import java.util.stream.Collectors;
15 17  
16 18 import javax.validation.constraints.Null;
... ... @@ -32,6 +34,7 @@ import org.activiti.engine.TaskService;
32 34 import org.activiti.engine.history.HistoricProcessInstance;
33 35 import org.activiti.engine.history.HistoricProcessInstanceQuery;
34 36 import org.activiti.engine.runtime.ProcessInstance;
  37 +import org.activiti.engine.runtime.ProcessInstanceQuery;
35 38 import org.activiti.engine.task.IdentityLink;
36 39 import org.apache.commons.collections4.map.HashedMap;
37 40 import org.springframework.beans.factory.annotation.Autowired;
... ... @@ -57,6 +60,8 @@ import com.trash.common.utils.SecurityUtils;
57 60 import com.trash.common.utils.ServletUtils;
58 61 import com.trash.common.utils.spring.SpringUtils;
59 62  
  63 +import io.jsonwebtoken.lang.Strings;
  64 +
60 65 @Service
61 66 public class ActTaskServiceImpl implements IActTaskService {
62 67  
... ... @@ -117,78 +122,96 @@ public class ActTaskServiceImpl implements IActTaskService {
117 122 if(type != null && type.isEmpty()){
118 123 type = null;
119 124 }
120   - if(name != null && name.isEmpty()){
121   - name = null;
122   - }
123 125 if(prev != null && prev.isEmpty()){
124 126 prev = null;
125 127 }
126 128  
127   - List<ActTaskDTO> cacheList = null;
128 129  
129   - if(cacheList != null){
130   -
131   - actTaskDTOS.addAll(cacheList);
  130 + String[] strings;
  131 + Set<String> keys = new HashSet<String>();
  132 +
  133 + if(type != null && !type.isEmpty()){
  134 + strings = type.split(",");
  135 + keys = new HashSet<String>();
132 136  
  137 + for(String str:strings ){
  138 + keys.add(str);
  139 + }
  140 + }
  141 + org.activiti.api.runtime.shared.query.Page<Task> pageTasks;
  142 +
  143 + int pageNum = pageDomain.getPageNum();
  144 + int pageSize = pageDomain.getPageSize();
  145 + if(prev == null){
  146 + pageTasks = taskRuntime.tasks(Pageable.of((pageNum-1) * pageSize,pageSize),null,keys,name);
133 147 }else{
134   - org.activiti.api.runtime.shared.query.Page<Task> pageTasks = taskRuntime.tasks(Pageable.of(0,999999));
135   -
  148 + pageTasks = taskRuntime.tasks(Pageable.of(0,999999),null,keys,name);
  149 + }
  150 +
136 151 List<Task> tasks = pageTasks.getContent();
137 152 int totalItems = pageTasks.getTotalItems();
138 153  
  154 + list.setTotal(totalItems);
  155 +
139 156 if (totalItems != 0) {
  157 +
  158 +
140 159 Set<String> processInstanceIdIds = tasks.parallelStream().map(t -> t.getProcessInstanceId()).collect(Collectors.toSet());
141   -
142   - List<ProcessInstance> processInstanceList = runtimeService.createProcessInstanceQuery().processInstanceIds(processInstanceIdIds).list();
143 160  
  161 + ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery();
  162 +
  163 + if(name != null && !name.isEmpty()){
  164 + query.processInstanceNameLike(name);
  165 + }
  166 + if(keys.size()>0){
  167 + query.processDefinitionKeys(keys);
  168 + }
  169 +
  170 +
  171 + List<ProcessInstance> processInstanceList = query.processInstanceIds(processInstanceIdIds).list();
  172 +
144 173  
145 174 Set<String> idString = new HashSet<String>();
146 175 for (ProcessInstance pi : processInstanceList) {
147 176 idString.add(pi.getBusinessKey());
148 177 }
  178 +
  179 + if(idString.size() == 0){
  180 + return list;
  181 + }
149 182  
150   - List<Map<String, String>> maps = actMapper.selectWorkByIds(idString);
151   - try {
152   -
153   -
154   - for(Task t:tasks){
155   - for(ProcessInstance pInstance : processInstanceList){
156   - if(pInstance.getId().equals(t.getProcessInstanceId())){
157   - for(Map map:maps){
158   - if(pInstance.getId().equals(map.get("instance_id"))){
159   - ActTaskDTO atc = new ActTaskDTO(t, pInstance, map);
160   -
161   - actTaskDTOS.add(atc);
162   - break;
163   - }
164   - }
  183 + List<Map<String, Object>> maps = actMapper.selectWorkByIds(idString);
165 184  
  185 +
  186 + for(Map<String, Object> map:maps){
  187 + try {
  188 + ActTaskDTO dto = new ActTaskDTO(tasks.parallelStream().filter(t -> t.getProcessInstanceId().equals(map.get("instance_id"))).findAny().get(),map);
  189 +
  190 + if(prev != null && !prev.isEmpty() && (dto.getPrev() == null || !dto.getPrev().contains(prev))){
  191 + continue;
166 192 }
  193 +
  194 + list.add(dto);
  195 + } catch (Exception e) {
  196 + e.printStackTrace();
167 197 }
168 198 }
169   - } catch (Exception e) {
170   - e.printStackTrace();
171   - }
172   -
173   -
174   - }
175   -
176   - }
177   -
178   - for(ActTaskDTO dto:actTaskDTOS){
179   - if(name != null && !name.isEmpty() && !name.equals(dto.getInstanceName())){
180   - continue;
181   - }
182   - if(type != null && !type.isEmpty() && !type.contains(dto.getDefinitionKey())){
183   - continue;
184 199 }
185   - if(prev != null && !prev.isEmpty() && (dto.getPrev() == null || !dto.getPrev().contains(prev))){
186   - continue;
  200 +
  201 + if(prev != null){
  202 + list.setTotal(list.size());
187 203 }
188   - list.add(dto);
189   - }
190   -
191   - list.setTotal(list.size());
  204 +
  205 +
  206 + list.sort(new Comparator<ActTaskDTO>() {
  207 +
  208 + @Override
  209 + public int compare(ActTaskDTO o1, ActTaskDTO o2) {
  210 + // TODO Auto-generated method stub
  211 + return (int) (o2.getCreatedDate().getTime() - o1.getCreatedDate().getTime());
  212 + }
  213 + });
  214 +
192 215 return list;
193 216 }
194 217  
... ... @@ -215,12 +238,9 @@ public class ActTaskServiceImpl implements IActTaskService {
215 238 if(name != null)
216 239 map.put("name", name);
217 240  
218   - List<String> collect = actMapper.selectCompleteWorkByUsername(map);
219   -
220   - if (collect.size() > 0) {
221   - Set<String> set = new HashSet(collect);
  241 +
222 242 List<HistoricProcessInstance> processInstanceList;
223   - HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery().involvedUser(username).processInstanceIds(set);
  243 + HistoricProcessInstanceQuery query = historyService.createHistoricProcessInstanceQuery().involvedUser(username);
224 244  
225 245 if(name != null)
226 246 query.processInstanceNameLike(name);
... ... @@ -233,16 +253,15 @@ public class ActTaskServiceImpl implements IActTaskService {
233 253 idString.add(pi.getId());
234 254 }
235 255  
236   - List<Map<String, String>> maps = actMapper.selectHistoryWorkByPIds(idString);
  256 + List<Map<String, Object>> maps = actMapper.selectHistoryWorkByPIds(idString);
237 257  
238   - List<ActWorkflowFormData> dataList = actWorkflowFormDataMapper.selectActWorkFlowFormDataListByUser(username);
  258 +// List<ActWorkflowFormData> dataList = actWorkflowFormDataMapper.selectActWorkFlowFormDataListByUser(username);
239 259  
240 260 if (processInstanceList.size() > 0) {
241 261 for (HistoricProcessInstance p : processInstanceList) {
242 262 try {
243 263 ActTaskDTO dto = new ActTaskDTO(p,
244   - maps.parallelStream().filter(pi -> p.getId().equals(pi.get("instance_id"))).findAny().get(),
245   - dataList.parallelStream().filter(pi -> p.getBusinessKey().equals(pi.getBusinessKey())).findAny().get());
  264 + maps.parallelStream().filter(pi -> p.getId().equals(pi.get("instance_id"))).findAny().get());
246 265  
247 266  
248 267 if(type != null && !type.isEmpty() && !type.contains(dto.getDefinitionKey())){
... ... @@ -252,11 +271,11 @@ public class ActTaskServiceImpl implements IActTaskService {
252 271  
253 272 list.add(dto);}
254 273 catch (Exception e) {
255   - // TODO: handle exception
  274 + e.printStackTrace();
256 275 }
257 276 }
258 277  
259   - }
  278 +
260 279 }
261 280  
262 281 list.sort(new Comparator<ActTaskDTO>() {
... ... @@ -295,11 +314,10 @@ public class ActTaskServiceImpl implements IActTaskService {
295 314 }
296 315  
297 316  
298   - Set<String> collect = actMapper.selectUnCompleteWorkByUsername(map);
  317 + List<ProcessInstance> processInstanceList = runtimeService.createProcessInstanceQuery().involvedUser(username).list();
299 318  
300   - if (collect.size() > 0) {
  319 + if (processInstanceList.size() > 0) {
301 320  
302   - List<ProcessInstance> processInstanceList = runtimeService.createProcessInstanceQuery().processInstanceIds(collect).list();
303 321  
304 322 list.setTotal(processInstanceList.size());
305 323  
... ... @@ -308,7 +326,7 @@ public class ActTaskServiceImpl implements IActTaskService {
308 326 idString.add(pi.getBusinessKey());
309 327 }
310 328  
311   - List<Map<String, String>> maps = actMapper.selectWorkByIds(idString);
  329 + List<Map<String, Object>> maps = actMapper.selectWorkByIds(idString);
312 330  
313 331 List<ActWorkflowFormData> dataList = actWorkflowFormDataMapper.selectActWorkFlowFormDataListByUser(username);
314 332 if (processInstanceList.size() > 0) {
... ...
trash-activiti/src/main/java/com/trash/activiti/service/impl/myTaskServiceImpl.java
... ... @@ -24,9 +24,12 @@ import org.activiti.api.task.model.payloads.UpdateTaskPayload;
24 24 import org.activiti.api.task.model.payloads.UpdateTaskVariablePayload;
25 25 import org.activiti.api.task.runtime.TaskRuntime;
26 26 import org.activiti.api.task.runtime.conf.TaskRuntimeConfiguration;
  27 +import org.activiti.engine.RuntimeService;
27 28 import org.activiti.engine.TaskService;
28 29 import org.activiti.engine.impl.TaskQueryImpl;
29 30 import org.activiti.engine.query.QueryProperty;
  31 +import org.activiti.engine.runtime.ProcessInstance;
  32 +import org.activiti.engine.runtime.ProcessInstanceQuery;
30 33 import org.activiti.engine.task.IdentityLink;
31 34 import org.activiti.engine.task.IdentityLinkType;
32 35 import org.activiti.engine.task.NativeTaskQuery;
... ... @@ -35,6 +38,7 @@ import org.activiti.runtime.api.impl.TaskRuntimeHelper;
35 38 import org.activiti.runtime.api.model.impl.APITaskConverter;
36 39 import org.activiti.runtime.api.model.impl.APIVariableInstanceConverter;
37 40 import org.activiti.runtime.api.query.impl.PageImpl;
  41 +import org.springframework.beans.factory.annotation.Autowired;
38 42 import org.springframework.security.access.prepost.PreAuthorize;
39 43 import org.springframework.stereotype.Service;
40 44  
... ... @@ -44,8 +48,12 @@ import com.trash.common.utils.SecurityUtils;
44 48  
45 49 import java.util.ArrayList;
46 50 import java.util.Date;
  51 +import java.util.HashSet;
47 52 import java.util.List;
48 53 import java.util.Objects;
  54 +import java.util.Set;
  55 +import java.util.stream.Collector;
  56 +import java.util.stream.Collectors;
49 57  
50 58 @PreAuthorize("hasRole('ACTIVITI_USER')")
51 59 @Service
... ... @@ -64,6 +72,9 @@ public class myTaskServiceImpl implements myTaskService {
64 72 private final SecurityManager securityManager;
65 73  
66 74 private final TaskRuntimeHelper taskRuntimeHelper;
  75 +
  76 + @Autowired
  77 + RuntimeService runtimeService;
67 78  
68 79 public myTaskServiceImpl(TaskService taskService,
69 80 UserGroupManager userGroupManager,
... ... @@ -101,18 +112,15 @@ public class myTaskServiceImpl implements myTaskService {
101 112  
102 113 @Override
103 114 public Page<Task> tasks(Pageable pageable) {
104   - return tasks(pageable,null);
  115 + return tasks(pageable,null,null,null);
105 116 }
106   -
107 117 @Override
108   - public Page<Task> tasks(Pageable pageable,GetTasksPayload getTasksPayload) {
  118 + public Page<Task> tasks(Pageable pageable,GetTasksPayload getTasksPayload,Set<String> defKey,String name) {
  119 +
109 120  
110 121 TaskQuery crossQuery = taskService.createTaskQuery();
111 122 TaskQuery crossQuery1 = taskService.createTaskQuery();
112 123  
113   -
114   - TaskQuery crossQuery2 = taskService.createTaskQuery();
115   -
116 124 TaskQuery userQuery = taskService.createTaskQuery();
117 125  
118 126 userQuery.taskAssignee(SecurityUtils.getUsername());
... ... @@ -124,8 +132,7 @@ public class myTaskServiceImpl implements myTaskService {
124 132  
125 133 List<String> posts = SecurityUtils.getLoginUser().getUser().getPostIds();
126 134 List<String> roles = SecurityUtils.getLoginUser().getUser().getRoleIds();
127   -
128   -
  135 +
129 136 if(posts == null || posts == null){
130 137 crossQuery.taskCandidateOrAssigned(SecurityUtils.getUsername());
131 138 crossQuery1.taskCandidateOrAssigned(SecurityUtils.getUsername());
... ... @@ -153,17 +160,38 @@ public class myTaskServiceImpl implements myTaskService {
153 160 }
154 161 }
155 162  
  163 +
156 164 for(org.activiti.engine.task.Task tasks : userQuery.list()){
157 165 pid.add(tasks.getProcessInstanceId());
158 166 }
159 167  
  168 +
  169 + ProcessInstanceQuery query = runtimeService.createProcessInstanceQuery();
  170 +
  171 + if(name != null && !name.isEmpty()){
  172 + query.processInstanceNameLike(name);
  173 + }
  174 + if(defKey.size()>0){
  175 + query.processDefinitionKeys(defKey);
  176 + }
  177 +
  178 + if(pid.size()>0){
  179 + Set<String> idSet = new HashSet<>();
  180 +
  181 + for(String str:pid){
  182 + idSet.add(str);
  183 + }
  184 +
  185 + pid = query.processInstanceIds(idSet).list().parallelStream().map(p->p.getId()).collect(Collectors.toList());
  186 + }
  187 +
  188 +
  189 +
160 190 if(pid.size() > 0){
161 191 taskQuery.processInstanceIdIn(pid).orderByTaskCreateTime().desc();
162 192 }else{
163 193 taskQuery.taskAssignee(SecurityUtils.getUsername()).orderByTaskCreateTime().desc();
164 194 }
165   -
166   -
167 195  
168 196 List<Task> tasks = taskConverter.from(taskQuery.listPage(pageable.getStartIndex(),
169 197 pageable.getMaxItems()));
... ...
trash-activiti/src/main/java/com/trash/activiti/service/myTaskService.java
1 1 package com.trash.activiti.service;
2 2 import java.util.List;
  3 +import java.util.Set;
3 4  
4 5 import org.activiti.api.model.shared.model.VariableInstance;
5 6 import org.activiti.api.runtime.shared.query.Page;
... ... @@ -46,8 +47,10 @@ public interface myTaskService {
46 47 * - the authenticated user is the actual assignee
47 48 * - the user belongs to a group that is a candidate for the task
48 49 */
  50 +
  51 +
49 52 Page<Task> tasks(Pageable pageable,
50   - GetTasksPayload getTasksPayload);
  53 + GetTasksPayload getTasksPayload,Set<String> defKey,String name);
51 54  
52 55 /**
53 56 * Creates a task based on the following rules
... ...
trash-activiti/src/main/resources/mapper/activiti/ActReDeploymentMapper.xml
... ... @@ -24,17 +24,18 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
24 24 </select>
25 25  
26 26 <select id="selectWorkByIds" parameterType="String" resultType="java.util.Map">
27   - select start_time as startTime,end_time as endTime, reason,type,instance_id,create_time as createTime from workflow where id in
  27 + select id,title,start_time as startTime,end_time as endTime, reason,type,instance_id,create_time as createTime,create_by,state from workflow where id in
28 28 <foreach item="id" collection="ids" open="(" separator="," close=")">
29 29 #{id}
30 30 </foreach>
31 31 </select>
32 32  
33 33 <select id="selectHistoryWorkByPIds" parameterType="String" resultType="java.util.Map">
34   - select start_time as startTime,end_time as endTime, reason,type,instance_id,create_time as createTime from workflow_hi where instance_id in
  34 + select id,start_time as startTime,end_time as endTime, reason,type,instance_id,create_time as createTime,create_by,state from workflow_hi where instance_id in
35 35 <foreach item="id" collection="ids" open="(" separator="," close=")">
36 36 #{id}
37 37 </foreach>
  38 + GROUP BY id ORDER BY create_time
38 39 </select>
39 40  
40 41  
... ...
trash-activiti/src/main/resources/mapper/activiti/ActWorkflowFormDataMapper.xml
... ... @@ -41,11 +41,13 @@
41 41 <select id="selectActWorkflowFormDataByBusinessKey" parameterType="string" resultMap="ActWorkflowFormDataResult">
42 42 <include refid="selectActWorkflowFormDataVo"/>
43 43 where business_key = #{businessKey}
  44 + order by create_time DESC
44 45 </select>
45 46  
46 47 <select id="selectActWorkFlowFormDataListByUser" parameterType="string" resultMap="ActWorkflowFormDataResult">
47   - <include refid="selectActWorkflowFormDataVo"/>
48   - where create_by = #{username} and control_name = "审批" GROUP BY business_key order by create_time DESC;
  48 + select * from act_workflow_formdata where id in (
  49 + select max(id)from act_workflow_formdata
  50 + where create_by = #{username} and control_name = "审批" GROUP BY business_key );
49 51 </select>
50 52  
51 53  
... ...
trash-admin/src/main/java/com/trash/web/controller/system/SysLoginController.java
... ... @@ -132,7 +132,10 @@ public class SysLoginController
132 132 }
133 133  
134 134 // // 权限集合
135   -// Set<String> permissions = permissionService.getMenuPermission(user);
  135 + Set<String> ps = permissionService.getMenuPermission(user);
  136 +
  137 + permissions.addAll(ps);
  138 +
136 139 AjaxResult ajax = AjaxResult.success();
137 140 ajax.put("user", user);
138 141 ajax.put("roles", roles);
... ...
trash-admin/src/main/resources/application-dev.yml
... ... @@ -10,7 +10,7 @@ trash:
10 10 demoEnabled: true
11 11 # 文件路径 示例( Windows配置D:/trash/uploadPath,Linux配置 /home/trash/uploadPath,存储桶 trash/uploadPath,nginx配置 /trash/upload)
12 12 # profile: E:/trash/uploadPath
13   - profile: D:/work/project/Documents/uploadPath/trash
  13 + profile: F:/work/project/Documents/uploadPath/trash
14 14 # 获取ip地址开关
15 15 addressEnabled: false
16 16 # 验证码类型 math 数组计算 char 字符验证
... ... @@ -32,7 +32,8 @@ spring:
32 32 druid:
33 33 # 主库数据源
34 34 master:
35   - url: jdbc:mysql://localhost:3306/trash1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
  35 + #url: jdbc:mysql://localhost:3306/trash1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
  36 + url: jdbc:mysql://192.168.168.141:3306/trash?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true
36 37 username: root
37 38 password: root
38 39 # 从库数据源
... ...
trash-common/src/main/java/com/trash/common/utils/RemoteServerUtils.java
... ... @@ -71,6 +71,35 @@ public class RemoteServerUtils {
71 71  
72 72 public static String BasevehicleInfo = "/api/gpsservice/cs/basevehicle/";
73 73  
  74 +
  75 + public static String ContractList = "/api/siteservice/cs/sitecontract/ledger/list";
  76 +
  77 +
  78 + public static JSONArray getContractList(Map map){
  79 + JSONArray list=null;
  80 + Object object = post(ContractList,map);
  81 +
  82 + if(object != null){
  83 + JSONObject jsonObject = JSON.parseObject(object.toString());
  84 + list = jsonObject.getJSONArray("list");
  85 + }
  86 +
  87 + return list;
  88 + }
  89 +
  90 + public static JSONArray getContractList(Map map,String token){
  91 + JSONArray list=null;
  92 + Object object = post(ContractList,map,token);
  93 +
  94 + if(object != null){
  95 + JSONObject jsonObject = JSON.parseObject(object.toString());
  96 + list = jsonObject.getJSONArray("list");
  97 + }
  98 +
  99 + return list;
  100 + }
  101 +
  102 +
74 103 public static JSONArray getEarthSitesList(Map map){
75 104 JSONArray list=null;
76 105 Object object = post(EarthSitesList,map);
... ... @@ -450,9 +479,14 @@ public class RemoteServerUtils {
450 479 .readTimeout(30, TimeUnit.SECONDS)
451 480 .build();
452 481 }
  482 +
453 483 String token = SecurityUtils.getLoginUser().getToken();
454   -
455   - token = "Bearer auth:token:"+ token;
  484 +
  485 + if(token.contains("durable:")){
  486 + token = token.replace("durable:", "Bearer durable:auth:token:");
  487 + }else{
  488 + token = "Bearer auth:token:"+ token;
  489 + }
456 490  
457 491 String param = JSON.toJSON(obj).toString();
458 492  
... ... @@ -492,9 +526,14 @@ public class RemoteServerUtils {
492 526 }
493 527  
494 528 String token = SecurityUtils.getLoginUser().getToken();
495   -
496   -
497   - token = "Bearer auth:token:"+ token;
  529 +
  530 +
  531 + if(token.contains("durable:")){
  532 + token = token.replace("durable:", "Bearer durable:auth:token:");
  533 + }else{
  534 + token = "Bearer auth:token:"+ token;
  535 + }
  536 +
498 537 String params = "";
499 538  
500 539  
... ...
trash-framework/src/main/java/com/trash/framework/web/service/SysLoginService.java
... ... @@ -59,6 +59,7 @@ public class SysLoginService
59 59  
60 60 @Autowired
61 61 UserDetailsService UserDetailsService;
  62 +
62 63 /**
63 64 * 登录验证
64 65 *
... ... @@ -216,8 +217,16 @@ public class SysLoginService
216 217  
217 218 loginUser.setUser(user);
218 219  
  220 +
219 221 set.add("*:*:*");//测试直接给admin
220 222  
  223 + for(Object object:userJson.getJSONArray("menus")){
  224 + JSONObject menu = (JSONObject) object;
  225 +
  226 + set.add(menu.getString("code"));
  227 + }
  228 +
  229 +
221 230 SysRole role = new SysRole();
222 231  
223 232 role.setRoleKey("admin");
... ...
trash-quartz/src/main/java/com/trash/quartz/task/DriverTask.java
... ... @@ -289,9 +289,14 @@ public class DriverTask
289 289 }
290 290  
291 291 public void checkAllTask()
292   - {
  292 + {
293 293 LogUtils.getBlock("=================== 删除超时报工数据 定时器执行 当前时间: " + simpleDateFormat.format(new Date()));
294 294  
  295 + if(TOKEN == null){
  296 + TOKEN = trashConfig.getToken();
  297 + }
  298 + SpringUtils.getBean(ISupervisionThreestepService.class).updateTodayData(TOKEN);
  299 +
295 300 SpringUtils.getBean(IActTaskService.class).endAllThreesteptask("workflow_threestep");
296 301  
297 302 SpringUtils.getBean(IWorkflowService.class).deleteWorkflowByName("workflow_threestep");
... ...
trash-system/src/main/resources/mapper/system/SysMenuMapper.xml
... ... @@ -107,7 +107,7 @@
107 107 left join sys_role_menu rm on m.menu_id = rm.menu_id
108 108 left join sys_user_role ur on rm.role_id = ur.role_id
109 109 left join sys_role r on r.role_id = ur.role_id
110   - where m.status = '0' and r.status = '0' and ur.user_id = #{userId}
  110 + where m.status = '0' and r.status = '0'
111 111 </select>
112 112  
113 113 <select id="selectMenuById" parameterType="Long" resultMap="SysMenuResult">
... ...
trash-ui/src/api/business/driver.js
... ... @@ -24,6 +24,16 @@ export function getNames(query) {
24 24 params: query
25 25 })
26 26 }
  27 +export function getlicenseplates(query) {
  28 + return request({
  29 + url: '/business/driverCredit/licenseplates',
  30 + method: 'get',
  31 + params: query
  32 + })
  33 +}
  34 +
  35 +
  36 +
27 37  
28 38 export function historyCredit(query) {
29 39 return request({
... ...
trash-ui/src/api/caseOfflineInfo.js
... ... @@ -47,6 +47,8 @@ export default {
47 47 // 表单校验
48 48 rules: {},
49 49 caseType: [
  50 + {code: 7, name: "无许可消纳(工)"},
  51 + {code: 8, name: "无许可消纳(消)"},
50 52 {code: 0, name: "渣土处置工地(含处理场所)的渣土运输车辆出场车身不洁,车轮带泥"},
51 53 {code: 1, name: "未洗车出场或者出场清洁不彻底"},
52 54 {code: 2, name: "渣土运输车辆货箱顶盖未按规定关闭到位或未按规定和标准装载渣土出场"},
... ... @@ -54,8 +56,6 @@ export default {
54 56 {code: 4, name: "渣土处置工地未按规定时间开停工"},
55 57 {code: 5, name: "渣土处置工地洗车设施等破损、未正常使用及措施不到位的"},
56 58 {code: 6, name: "渣土处置工地、处理场所(含回填场)出入口两侧50米范围内出现渣土污染、污水外排等现象"},
57   - {code: 7, name: "其他1"},
58   - {code: 8, name: "其他2"},
59 59 {code: 9, name: "其他3"}
60 60 ],
61 61 fileList: [],
... ...
trash-ui/src/api/dayWorkReport.js
... ... @@ -130,6 +130,28 @@ export default {
130 130 },
131 131 methods: {
132 132 getInfo(row,type){
  133 +
  134 + if(!type){
  135 + row.status = row.status == 1 ? "开工" : row.status;
  136 + type = row.type;
  137 +
  138 + obj = {
  139 + objectId:row.objectId,
  140 + name:row.name,
  141 + selfCheckTime:row.selfCheckTime,
  142 + earthsitesId:row.eid,
  143 + type:row.type
  144 + }
  145 +
  146 + postThreestep(obj).then(res=>{
  147 + if(res){
  148 + this.businessKey = res.data.id + "";
  149 + this.info2 = true;
  150 + }
  151 + });
  152 +
  153 + return;
  154 + }
133 155 let obj = {};
134 156 if(type == 0){
135 157 if(row.status != "开工"){
... ... @@ -204,6 +226,8 @@ export default {
204 226 this.queryParams.page = 1;
205 227 this.queryParams.pageSize = 9999;
206 228  
  229 + console.log(this.queryParams);
  230 +
207 231 if (this.queryParams.timeRange) {
208 232 this.queryParams.workStartTime = this.queryParams.timeRange[0];
209 233 this.queryParams.workEndTime = this.queryParams.timeRange[1];
... ... @@ -294,9 +318,6 @@ export default {
294 318 this.queryParams.his = tabIdx;
295 319 }
296 320  
297   -
298   -
299   -
300 321 const timeRange = this.queryParams.timeRange;
301 322 if (this.queryParams.timeRange) {
302 323 this.queryParams.workStartTime = this.queryParams.timeRange[0];
... ... @@ -313,6 +334,12 @@ export default {
313 334 this.queryParams.type = 1;
314 335 }
315 336  
  337 + getNames(this.queryParams).then(res => {
  338 +
  339 + this.names = res;
  340 + })
  341 +
  342 +
316 343 listThreestep(this.queryParams).then(response => {
317 344 this.threestepList = response.rows;
318 345 this.total = response.total;
... ... @@ -387,7 +414,7 @@ export default {
387 414 /** 搜索按钮操作 */
388 415 handleQuery() {
389 416 this.queryParams.pageNum = 1;
390   - this.getList();
  417 + this.getList(this.queryParams.his);
391 418 },
392 419 /** 重置按钮操作 */
393 420 resetQuery() {
... ... @@ -525,13 +552,13 @@ export default {
525 552 }).then(response => {
526 553 this.download(response.message);
527 554 })
528   -
  555 +
529 556 return;
530 557 }
531   -
532   -
533   -
534   -
  558 +
  559 +
  560 +
  561 +
535 562 let curPage = this.queryParams.page;
536 563 let curSize = this.queryParams.pageSize;
537 564 let that = this;
... ...
trash-ui/src/api/driver_credit.js
... ... @@ -6,6 +6,7 @@ import {
6 6 updateCredit,
7 7 exportCredit,
8 8 getNames,
  9 + getlicenseplates,
9 10 historyCredit
10 11 } from "@/api/business/driver";
11 12 import h5Page from '@/views/h5/Pagination';
... ... @@ -38,7 +39,7 @@ export default {
38 39 creditList: [],
39 40 creditListInfo: [],
40 41 dictNames:[],
41   - dictTypes:[],
  42 + dictLicenseplateNo:[],
42 43 dictPlaces:[],
43 44 driverList:[],
44 45 names:[],
... ... @@ -58,7 +59,7 @@ export default {
58 59 time: null,
59 60 reason: null,
60 61 status: 0,
61   - lostCredit: 1
  62 + lostCredit: 1,
62 63 },
63 64 // 表单参数
64 65 form: {},
... ... @@ -82,6 +83,8 @@ export default {
82 83 this.getList();
83 84 this.getNamesData();
84 85  
  86 + this.licenseplateData();
  87 +
85 88  
86 89 let data = {valid:0};
87 90 driverList(data).then(res=>{
... ... @@ -99,6 +102,12 @@ export default {
99 102 });
100 103  
101 104 },
  105 + licenseplateData(){
  106 + getlicenseplates(this.queryParams).then(response => {
  107 + this.dictLicenseplateNo = response;
  108 + });
  109 + },
  110 +
102 111 getNamesData(){
103 112 getNames(this.queryParams).then(response => {
104 113 this.dictNames = response;
... ... @@ -123,6 +132,12 @@ export default {
123 132 if(this.driverList[i].name == value){
124 133 this.form.objectId = this.driverList[i].id;
125 134 this.form.idNumber = this.driverList[i].identityNo;
  135 + if(this.driverList[i].licenseplateNo){
  136 + this.form.licenseplateNo = this.driverList[i].licenseplateNo;
  137 + }else{
  138 + this.form.licenseplateNo = "未绑定车辆";
  139 + }
  140 + break;
126 141 }
127 142 }
128 143 },
... ...
trash-ui/src/api/three_step.js
... ... @@ -60,6 +60,7 @@ export default {
60 60 showSearch: true,
61 61 // 总条数
62 62 total: 0,
  63 + rangeNumber: 10,
63 64 // 报工自查表格数据
64 65 names:[],
65 66 threestepList: [],
... ... @@ -109,6 +110,7 @@ export default {
109 110 },
110 111 // 表单参数
111 112 form: {
  113 + trucks:[],
112 114 companys:null,
113 115 companyTrucks:null,
114 116  
... ... @@ -141,7 +143,7 @@ export default {
141 143 message: '请填写完整',
142 144 trigger: 'change'
143 145 },],
144   - companyTrucks: [{
  146 + trucks: [{
145 147 required: false,
146 148 message: '请填写完整',
147 149 trigger: 'change'
... ... @@ -183,6 +185,7 @@ export default {
183 185 info2: false,
184 186 slides: [],
185 187 slidesArys: [],
  188 + videos:[],
186 189 };
187 190 },
188 191 created() {
... ... @@ -200,6 +203,10 @@ export default {
200 203 }
201 204 });
202 205  
  206 + if(!this.checkPer(['business.supervision.threestep.selfcheck'])){
  207 + this.queryParams.pageStatus = 1;
  208 + }
  209 +
203 210 this.getList(this.queryParams.pageStatus);
204 211  
205 212 },
... ... @@ -298,13 +305,17 @@ export default {
298 305 return;
299 306  
300 307  
  308 + this.getCompanyTrucks(item.id);
  309 + },
  310 + getCompanyTrucks(objId){
  311 +
301 312 this.form.companys = null;
302 313 this.form.companyTrucks = null;
303 314 this.companyList = [];
304 315 this.truckList = [];
305 316  
306   - constructionById(item.id).then(response => {
307   - this.companyList.push({id: item.transportCompanyId, name: item.transportCompany});
  317 + constructionById(objId).then(response => {
  318 + this.companyList.push({id: response.result.transportCompanyId, name: response.result.transportCompany});
308 319 let query = {
309 320 'page': 1,
310 321 'size': 9999,
... ... @@ -314,12 +325,12 @@ export default {
314 325  
315 326 let ids = [];
316 327  
317   - ids.push(item.transportCompanyId);
  328 + ids.push(response.result.transportCompanyId);
318 329  
319 330 query.companyID = ids + "";
320 331 query.valid = 0;
321 332  
322   - getConstructionTruck(item.id).then(res => {
  333 + getConstructionTruck(objId).then(res => {
323 334 for (let i in res.result) {
324 335 this.companyList.push({id: res.result[i].companyId, name: res.result[i].companyName});
325 336 for (let j in res.result[i].vehicleList) {
... ... @@ -337,7 +348,9 @@ export default {
337 348 });
338 349 });
339 350 });
  351 +
340 352 },
  353 +
341 354 downloadFile(path) {
342 355 window.location.href = process.env.VUE_APP_BASE_API + "/business/threestep/download?path=" + encodeURI(path);
343 356 },
... ... @@ -347,6 +360,11 @@ export default {
347 360 this.slides[index].splice(i,1);
348 361 }
349 362 }
  363 + for(let i=0;i<this.videos[index].length;i++){
  364 + if(this.videos[index][i].alt == img){
  365 + this.videos[index].splice(i,1);
  366 + }
  367 + }
350 368 let target = "img" + index;
351 369 this.form[target].splice(this.form[target].indexOf(img), 1);
352 370 this.$forceUpdate();
... ... @@ -359,6 +377,11 @@ export default {
359 377 this.slides[index1].splice(i,1);
360 378 }
361 379 }
  380 + for(let i=0;i<this.videos[index].length;i++){
  381 + if(this.videos[index][i].alt == img){
  382 + this.videos[index].splice(i,1);
  383 + }
  384 + }
362 385 this.$forceUpdate();
363 386 },
364 387  
... ... @@ -384,30 +407,50 @@ export default {
384 407 this.form[target].push(res);
385 408 if(file.name.indexOf('.jpg') > -1 ||file.name.indexOf('.png') > -1){
386 409 let url = URL.createObjectURL(file.raw)
387   - this.slidesArys.push({
  410 + if(!this.slides[this.picIndex]){
  411 + this.slides[this.picIndex] = [];
  412 + }
  413 +
  414 + this.slides[this.picIndex].push({
388 415 url:url,
389 416 alt:res
390 417 })
391   - this.slides[this.picIndex] = this.slidesArys;
392 418 }
  419 + if(file.name.indexOf('.avi') > -1 ||file.name.indexOf('.mp4') > -1){
  420 +
  421 + let url = URL.createObjectURL(file.raw)
  422 + if(!this.videos[this.picIndex]){
  423 + this.videos[this.picIndex] = [];
  424 + }
  425 + this.videos[this.picIndex].push({
  426 + url:url,
  427 + alt:res
  428 + });
  429 + }
  430 +
393 431 },
394 432 showFileUpload(i) {
395 433 this.uploadImageDialog = true;
396 434 this.picIndex = i;
397 435 },
398 436 beforeUpload(file) {
  437 + console.log(file);
399 438 let isRightSize = file.size / 1024 / 1024 < 20
400 439 if (!isRightSize) {
401 440 this.$message.error('文件大小超过 20MB')
402 441 return isRightSize;
403 442 }
  443 +
404 444 let isAccept = false;
405   - if (file.name.indexOf('.docx') > -1 || file.name.indexOf(".jpg") > -1 || file.name.indexOf('.doc') > -1 || file
406   - .name.indexOf('.pdf') > -1||file.name.indexOf('.png') > -1) {
  445 + let name = file.name + "";
  446 + name = name.toLowerCase();
  447 +
  448 + if (name.indexOf('.docx') > -1 || name.indexOf(".jpg") > -1 || name.indexOf('.doc') > -1 || file
  449 + .name.indexOf('.pdf') > -1||name.indexOf('.png') > -1 ||name.indexOf('.mp4') > -1 ||name.indexOf('.avi') > -1) {
407 450 isAccept = true;
408 451 }
409 452 if (!isAccept) {
410   - this.$message.error('应该选择PDF、PNG、JPG、WORD类型的文件')
  453 + this.$message.error('应该选择PDF、PNG、JPG、MP4,AVI,WORD类型的文件')
411 454 return isAccept;
412 455 }
413 456  
... ... @@ -420,7 +463,7 @@ export default {
420 463 selectType(value) {
421 464  
422 465 this.rules.companys[0].required = false;
423   - this.rules.companyTrucks[0].required = false;
  466 + this.rules.trucks[0].required = false;
424 467  
425 468 this.form.name = null;
426 469 this.bindname = null;
... ... @@ -430,7 +473,7 @@ export default {
430 473 constructionsitesList(this.remoteQueryData).then(res => {
431 474 this.remoteData = res.result.list;
432 475 this.rules.companys[0].required = true;
433   - this.rules.companyTrucks[0].required = true;
  476 + this.rules.trucks[0].required = true;
434 477  
435 478 });
436 479 } else {
... ... @@ -508,6 +551,7 @@ export default {
508 551 selfCheckTime: null,
509 552 objectId: null,
510 553 earthsitesId: null,
  554 + trucks:[],
511 555 createTime: null,
512 556 checkTime: null,
513 557 earthsitesName: null,
... ... @@ -530,6 +574,8 @@ export default {
530 574 person: null,
531 575 phone: null
532 576 };
  577 + this.videos = [];
  578 + this.slides = [];
533 579 this.resetForm("form");
534 580 },
535 581 /** 搜索按钮操作 */
... ... @@ -569,10 +615,12 @@ export default {
569 615 reSub(row) {
570 616 this.reset();
571 617  
572   - this.open = true;
573 618 this.title = "再次提交";
  619 +
  620 + this.open = true;
574 621 getThreestep(row.id).then(res => {
575 622 this.form = res.data;
  623 +
576 624 this.form.type = this.form.type + "";
577 625 this.form.place = Number(this.form.place);
578 626 this.bindname = res.data.earthsitesName;
... ... @@ -580,13 +628,64 @@ export default {
580 628 this.form.companys = res.data.companys.split(",");
581 629 }
582 630 if (res.data.companyTrucks) {
583   - this.form.companyTrucks = res.data.companyTrucks.split(",");
  631 + this.form.trucks = res.data.companyTrucks.split(",");
584 632 }
585 633 for (let i = 0; i < 13; i++) {
586 634 if (this.form["img" + i]) {
587 635 this.form["img" + i] = this.form["img" + i].split(",");
588 636 }
589 637 }
  638 +
  639 + this.companyList = [];
  640 + this.truckList = [];
  641 +
  642 + constructionById(this.form.objectId).then(response => {
  643 + this.companyList.push({id: response.result.transportCompanyId, name: response.result.transportCompany});
  644 + let query = {
  645 + 'page': 1,
  646 + 'size': 9999,
  647 + 'dishonestState': 0,
  648 + 'valid': 0
  649 + }
  650 +
  651 + let ids = [];
  652 +
  653 + ids.push(response.result.transportCompanyId);
  654 +
  655 + query.companyID = ids + "";
  656 + query.valid = 0;
  657 +
  658 + getConstructionTruck(this.form.objectId).then(res => {
  659 + for (let i in res.result) {
  660 + this.companyList.push({id: res.result[i].companyId, name: res.result[i].companyName});
  661 + for (let j in res.result[i].vehicleList) {
  662 + this.truckList.push({
  663 + id: res.result[i].vehicleList[j].id,
  664 + licenseplateNo: res.result[i].vehicleList[j].licenseplateNo,
  665 + companyName: res.result[i].companyName
  666 + });
  667 + }
  668 + }
  669 + truckList(query).then(res => {
  670 + let trucks = [];
  671 + for (let i in res.result.list) {
  672 + for(let j in this.form.trucks){
  673 + if(this.form.trucks[j] == res.result.list[i].id){
  674 + trucks.push(res.result.list[i].licenseplateNo);
  675 + break;
  676 + }
  677 + }
  678 +
  679 + this.truckList.push(res.result.list[i]);
  680 + }
  681 + this.form.trucks = trucks;
  682 + });
  683 + });
  684 + });
  685 +
  686 +
  687 +
  688 +
590 689 });
591 690 },
592 691  
... ... @@ -615,6 +714,21 @@ export default {
615 714 },
616 715 /** 提交按钮 */
617 716 submitForm() {
  717 + debugger;
  718 + if(this.form.trucks){
  719 + this.form.companyTrucks = [];
  720 + for(let i in this.form.trucks){
  721 + for(let j in this.truckList){
  722 + if(this.truckList[j].licenseplateNo == this.form.trucks[i]){
  723 + this.form.companyTrucks.push(this.truckList[j].id);
  724 + break;
  725 + }
  726 + }
  727 + }
  728 + }
  729 +
  730 +
  731 +
618 732 this.$refs["form"].validate(valid => {
619 733 if (valid) {
620 734  
... ... @@ -740,6 +854,11 @@ export default {
740 854 }
741 855 });
742 856 },
  857 + loadMore(n) {
  858 + // n是默认初始展示的条数会在渲染的时候就可以获取,具体可以打log查看
  859 + // elementui下拉超过7条才会出滚动条,如果初始不出滚动条无法触发loadMore方法
  860 + return () => (this.rangeNumber += 5); // 每次滚动到底部可以新增条数 可自定义
  861 + },
743 862 /** 删除按钮操作 */
744 863 handleDelete(row) {
745 864 const ids = row.id || this.ids;
... ... @@ -767,5 +886,25 @@ export default {
767 886 this.download(response.message);
768 887 })
769 888 }
770   - }
  889 + },
  890 + directives:{
  891 + 'el-select-loadmore':(el, binding) => {
  892 + // 获取element-ui定义好的scroll盒子
  893 + const SELECTWRAP_DOM = el.querySelector(".el-select-dropdown .el-select-dropdown__wrap");
  894 + if(SELECTWRAP_DOM){
  895 + SELECTWRAP_DOM.addEventListener("scroll", function () {
  896 + /**
  897 + * scrollHeight 获取元素内容高度(只读)
  898 + * scrollTop 获取或者设置元素的偏移值,
  899 + * 常用于:计算滚动条的位置, 当一个元素的容器没有产生垂直方向的滚动条, 那它的scrollTop的值默认为0.
  900 + * clientHeight 读取元素的可见高度(只读)
  901 + * 如果元素滚动到底, 下面等式返回true, 没有则返回false:
  902 + * ele.scrollHeight - ele.scrollTop === ele.clientHeight;
  903 + */
  904 + const condition = this.scrollHeight - this.scrollTop <= this.clientHeight;
  905 + if (condition) binding.value();
  906 + });
  907 + }
  908 + },
  909 + }
771 910 };
... ...
trash-ui/src/api/truck_active.js
... ... @@ -147,38 +147,36 @@ export default {
147 147 id: res.result.transportCompanyId,
148 148 name: res.result.transportCompany
149 149 });
  150 +
  151 + let query = {
  152 + 'page': 1,
  153 + 'size': 9999,
  154 + 'dishonestState': 0,
  155 + 'valid': 0
  156 + }
150 157  
151   - mainworkcompany(item.id).then(response => {
152   -
153   - let query = {
154   - 'page': 1,
155   - 'size': 9999,
156   - 'dishonestState': 0,
157   - 'valid': 0
158   - }
  158 + let ids = [];
159 159  
160   - query.companyID = res.result.transportCompanyId+ "";
161   - query.valid = 0;
  160 + ids.push(item.transportCompanyId);
162 161  
163   - getConstructionTruck(item.objectId).then(res => {
164   - for (let i in res.result) {
165   - this.companyList.push({
166   - id: res.result[i].companyId,
167   - name: res.result[i].companyName
  162 + query.companyID = ids + "";
  163 + query.valid = 0;
  164 +
  165 + getConstructionTruck(item.id).then(res => {
  166 + for (let i in res.result) {
  167 + this.companyList.push({id: res.result[i].companyId, name: res.result[i].companyName});
  168 + for (let j in res.result[i].vehicleList) {
  169 + this.truckList.push({
  170 + id: res.result[i].vehicleList[j].id,
  171 + licenseplateNo: res.result[i].vehicleList[j].licenseplateNo,
  172 + companyName: res.result[i].companyName
168 173 });
169   - for (let j in res.result[i].vehicleList) {
170   - this.truckList.push({
171   - id: res.result[i].vehicleList[j].id,
172   - licenseplateNo: res.result[i].vehicleList[j].licenseplateNo,
173   - companyName: res.result[i].companyName
174   - });
175   - }
176 174 }
177   - truckList(query).then(res => {
178   - for (let i in res.result.list) {
179   - this.truckList.push(res.result.list[i]);
180   - }
181   - });
  175 + }
  176 + truckList(query).then(res => {
  177 + for (let i in res.result.list) {
  178 + this.truckList.push(res.result.list[i]);
  179 + }
182 180 });
183 181 });
184 182 });
... ...
trash-ui/src/api/vio_casefile.js
... ... @@ -85,7 +85,7 @@ export default {
85 85 {code: 5, name: "出入口道路硬化"},
86 86 {code: 6, name: "车辆冲洗是否到位"},
87 87 {code: 7, name: "雾炮机是否正常开启"},
88   - {code: 8, name: "使用专用车运输"},
  88 + {code: 8, name: "使用专用车运输"},
89 89 {code: 9, name: "监控点位未对准"},
90 90 {code: 10, name: "未报开工作业"},
91 91 {code: 11, name: "视频设备离线超时报警"},
... ...
trash-ui/src/layout/index55.vue renamed to trash-ui/src/layout/index5.vue
trash-ui/src/main.js
... ... @@ -17,6 +17,7 @@ import permission from &#39;./directive/permission&#39;
17 17 import './assets/icons' // icon
18 18 import './permission' // permission control
19 19 import { getDicts } from "@/api/system/dict/data";
  20 +import { checkPermi } from "@/utils/permission";
20 21 import { getConfigKey } from "@/api/system/config";
21 22 import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree,parseStatus } from "@/utils/trash";
22 23 import Pagination from "@/components/Pagination";
... ... @@ -34,6 +35,7 @@ Vue.prototype.selectDictLabels = selectDictLabels
34 35 Vue.prototype.download = download
35 36 Vue.prototype.handleTree = handleTree
36 37 Vue.prototype.parseStatus = parseStatus
  38 +Vue.prototype.checkPer = checkPermi
37 39  
38 40 Vue.prototype.msgSuccess = function (msg) {
39 41 this.$message({ showClose: true, message: msg, type: "success" });
... ...
trash-ui/src/utils/permission.js
... ... @@ -46,4 +46,4 @@ export function checkRole(value) {
46 46 console.error(`need roles! Like checkRole="['admin','editor']"`)
47 47 return false
48 48 }
49   -}
50 49 \ No newline at end of file
  50 +}
... ...
trash-ui/src/views/activiti/definition/index.vue
... ... @@ -71,7 +71,6 @@
71 71 type="text"
72 72 icon="el-icon-edit"
73 73 @click="OnlineModificationProcess(scope.row)"
74   - v-hasPermi="['activiti:modeler']"
75 74 >查看
76 75 </el-button>
77 76 <el-button
... ... @@ -79,7 +78,6 @@
79 78 type="text"
80 79 icon="el-icon-edit"
81 80 @click="suspendOrActiveApply(scope.row)"
82   - v-hasPermi="['activiti:modeler']"
83 81 >{{scope.row.suspendState==1?'挂起':'激活'}}
84 82 </el-button>
85 83  
... ... @@ -88,7 +86,6 @@
88 86 type="text"
89 87 icon="el-icon-delete"
90 88 @click="handleDelete(scope.row)"
91   - v-hasPermi="['activiti:modeler']"
92 89 >删除
93 90 </el-button>
94 91 </template>
... ...
trash-ui/src/views/activiti/task/companyInfo.vue
1 1 <template>
2   - <div>
3   - <div v-loading="loading" style="border: 1px solid black;">
4   - <el-row >
5   - <el-col :span="6" class="bd">企业名称</el-col>
6   - <el-col :span="6" class="bd">{{infoData.name}}</el-col>
7   - <el-col :span="6" class="bd bd_left">企业简称</el-col>
8   - <el-col :span="6" class="bd">{{infoData.abbreviation}}</el-col>
9   - </el-row>
10   - <el-row >
11   - <el-col :span="6" class="bd">注册地所属区域</el-col>
12   - <el-col :span="6" class="bd">{{infoData.areaName}}</el-col>
13   - <el-col :span="6" class="bd bd_left">企业道路运输经营许可证有效期</el-col>
14   - <el-col :span="6" class="bd">{{infoData.registrationValidTime}}</el-col>
15   - </el-row>
16   - <el-row >
17   - <el-col :span="6" class="bd bd_left">企业入市时间</el-col>
18   - <el-col :span="6" class="bd">{{infoData.entryTime}}</el-col>
19   - <el-col :span="6" class="bd">企业营业执照有效期</el-col>
20   - <el-col :span="6" class="bd">{{infoData.businessLicenseValidTime}}</el-col>
21   - </el-row>
22   - <el-row >
23   - <el-col :span="6" class="bd">办公地址</el-col>
24   - <el-col :span="6" class="bd">{{infoData.officeAddress}}</el-col>
25   - <el-col :span="6" class="bd bd_left">停车场位置</el-col>
26   - <el-col :span="6" class="bd">{{infoData.parkingAddress}}</el-col>
27   - </el-row>
28   - <el-row >
29   - <el-col :span="6" class="bd">停车场面积</el-col>
30   - <el-col :span="6" class="bd">{{infoData.parkingArea}}</el-col>
31   - <el-col :span="6" class="bd bd_left">运输车辆总数</el-col>
32   - <el-col :span="6" class="bd">{{infoData.vehicleCount}}</el-col>
33   - </el-row>
34   - <el-row >
35   - <el-col :span="6" class="bd">企业安全负责人姓名及联系方式</el-col>
36   - <el-col :span="6" class="bd">{{infoData.principal}}:{{infoData.principalPhoneNo}}</el-col>
37   - <el-col :span="6" class="bd">社会统一信用代码编号</el-col>
38   - <el-col :span="6" class="bd">{{infoData.creditCode}}</el-col>
39   - </el-row>
40   - <el-row >
41   - <el-col :span="6" class="bd bd_left">法人代表姓名及联系方式</el-col>
42   - <el-col :span="6" class="bd">{{infoData.corporation}}:{{infoData.corporationPhoneNo}}</el-col>
43   - <el-col :span="6" class="bd bd_left">安全管理人员</el-col>
44   - <el-col :span="6" class="bd">{{infoData.safetyOfficer}}</el-col>
45   - </el-row>
46   - <el-row >
47   - <el-col :span="6" class="bd bd_left">备注</el-col>
48   - <el-col :span="18" class="bd">{{infoData.comment}}</el-col>
49   - </el-row>
50   -
51   - <div v-for="dict in dicts">
52   - <p >{{dict.name}}</p>
53   - <el-image v-for="item in infoData.attachmentList"
54   - style="width: 40px; height: 40px; margin: 5px;"
55   - :src="'/remotedown/' + item.attachmentPath"
56   - :z-index="2000"
57   - v-if="item.typeCode == dict.code && (path.toLowerCase().indexOf(".jpg") > -1 || path.toLowerCase().indexOf(".png") > -1)">
58   - </el-image>
59   - <a v-for="item in infoData.attachmentList" @click="downloadFile(item.attachmentPath);" style="color:blue;"
60   - v-if="item.typeCode == dict.code
61   - && path.toLowerCase().indexOf(".jpg") == -1
62   - && path.toLowerCase().indexOf(".png") == -1"><p>{{item.name}}</p></a>
63   - </div>
64   - <!-- <el-dialog title="" :visible.sync="showPic" append-to-body width="400px">
65   - <el-image
66   - style="width: 350px; height: 350px; margin: 5px;"
67   - :src="'/remotedown/' + picImage"
68   - :preview-src-list="[picImage]"
69   - :z-index="2000">
70   - </el-image>
71   - </el-dialog> -->
72   - </div>
73   - </div>
  2 + <iframe width="100%" height="600px" frameborder="no" id="iFrame" :src=src></iframe>
74 3 </template>
75 4  
76 5 <script>
... ... @@ -89,15 +18,20 @@ import store from &quot;@/store&quot;;
89 18 } from "@/api/dict";
90 19  
91 20  
  21 +
92 22 export default {
93 23 name: "ThreestepInfo",
94 24 props: {
95 25 businessKey: {
96 26 type: String
97 27 },
  28 + businessType: {
  29 + type: Number
  30 + },
98 31 },
99 32 data() {
100 33 return {
  34 + src:"",
101 35 sign: store.getters.avatar, //裁剪图片的地址
102 36 areas: [],
103 37 loading: null,
... ... @@ -129,16 +63,7 @@ import store from &quot;@/store&quot;;
129 63 },
130 64 created() {
131 65  
132   - getDict({type:"CSCompanyAttachmentType"}).then(res=>{
133   - this.dicts = res.result;
134   - });
135 66  
136   - this.loading = true;
137   - this.getInfo();
138   -
139   - },
140   - methods: {
141   - getInfo() {
142 67 let id;
143 68 if (this.businessKey.split(":").length == 2) {
144 69 id = this.businessKey.split(":")[1];
... ... @@ -146,40 +71,28 @@ import store from &quot;@/store&quot;;
146 71 id = this.businessKey;
147 72 }
148 73  
149   - getCompanyInfo(id).then(response => {
150   -
151   - this.infoData = response.result;
152   - // getArea().then(res => {
153   - // this.areas = res.result;
154   - // this.loading = false;
155   - // for (let i = 0; i < this.areas.length; i++) {
156   - // if (Number(this.infoData.place) == this.areas[i].code) {
157   - // this.infoData.place = this.areas[i].name;
158   - // }
159   - // }
160   - // });
161   -
162   - // for(let i in obj){
163   - // if(this.objectDict[i]){
164   - // this.infoData.push({label:this.objectDict[i] ,value:obj[i]})
165   - // }
166   - // }
167   - this.loading = false;
168   - });
169   - },
170   - downloadFile(path){
171   - let file = "/remotedown/" + path;
172   -
173   - if(path.indexOf(".jpg") != -1){
174   - this.showPic = true;
  74 + let http = "http://183.66.242.6:14601";
175 75  
176   - this.picImage = file;
177   - return;
  76 + if(this.businessType == 0){
  77 + this.src = http + "/single/#/enterprise-information/information-detail?id=" + id;
  78 + }
  79 + if(this.businessType == 1){
  80 + this.src = http + "/single/#/vehicleInformation/information-detail?id=" + id;
  81 + }
  82 + if(this.businessType == 2){
  83 + this.src = http + "/single/#/constructionInfo/detail?id="+id+"&type=detail";
  84 + }
  85 + if(this.businessType == 3){
  86 + this.src = http + "/single/#/absorptionsitedetail?absorptionId=" + id;
  87 + }
  88 + if(this.businessType == 4){
  89 + this.src = http + "/single/#/contractInfo/detail?id=" + id;
  90 + }
  91 + if(this.businessType == 5){
  92 + this.src = http + "/single/#/driverdetail?driverId=" + id;
178 93 }
179 94  
180   - window.open(file,"new window");
181   - }
182   - }
  95 + },
183 96  
184 97 }
185 98 </script>
... ...
trash-ui/src/views/activiti/task/companyInfo3.vue 0 → 100644
  1 +<template>
  2 + <div>
  3 + <div v-loading="loading" style="border: 1px solid black;">
  4 + <el-row >
  5 + <el-col :span="6" class="bd">企业名称</el-col>
  6 + <el-col :span="6" class="bd">{{infoData.name}}</el-col>
  7 + <el-col :span="6" class="bd bd_left">企业简称</el-col>
  8 + <el-col :span="6" class="bd">{{infoData.abbreviation}}</el-col>
  9 + </el-row>
  10 + <el-row >
  11 + <el-col :span="6" class="bd">注册地所属区域</el-col>
  12 + <el-col :span="6" class="bd">{{infoData.areaName}}</el-col>
  13 + <el-col :span="6" class="bd bd_left">企业道路运输经营许可证有效期</el-col>
  14 + <el-col :span="6" class="bd">{{infoData.registrationValidTime}}</el-col>
  15 + </el-row>
  16 + <el-row >
  17 + <el-col :span="6" class="bd bd_left">企业入市时间</el-col>
  18 + <el-col :span="6" class="bd">{{infoData.entryTime}}</el-col>
  19 + <el-col :span="6" class="bd">企业营业执照有效期</el-col>
  20 + <el-col :span="6" class="bd">{{infoData.businessLicenseValidTime}}</el-col>
  21 + </el-row>
  22 + <el-row >
  23 + <el-col :span="6" class="bd">办公地址</el-col>
  24 + <el-col :span="6" class="bd">{{infoData.officeAddress}}</el-col>
  25 + <el-col :span="6" class="bd bd_left">停车场位置</el-col>
  26 + <el-col :span="6" class="bd">{{infoData.parkingAddress}}</el-col>
  27 + </el-row>
  28 + <el-row >
  29 + <el-col :span="6" class="bd">停车场面积</el-col>
  30 + <el-col :span="6" class="bd">{{infoData.parkingArea}}</el-col>
  31 + <el-col :span="6" class="bd bd_left">运输车辆总数</el-col>
  32 + <el-col :span="6" class="bd">{{infoData.vehicleCount}}</el-col>
  33 + </el-row>
  34 + <el-row >
  35 + <el-col :span="6" class="bd">企业安全负责人姓名及联系方式</el-col>
  36 + <el-col :span="6" class="bd">{{infoData.principal}}:{{infoData.principalPhoneNo}}</el-col>
  37 + <el-col :span="6" class="bd">社会统一信用代码编号</el-col>
  38 + <el-col :span="6" class="bd">{{infoData.creditCode}}</el-col>
  39 + </el-row>
  40 + <el-row >
  41 + <el-col :span="6" class="bd bd_left">法人代表姓名及联系方式</el-col>
  42 + <el-col :span="6" class="bd">{{infoData.corporation}}:{{infoData.corporationPhoneNo}}</el-col>
  43 + <el-col :span="6" class="bd bd_left">安全管理人员</el-col>
  44 + <el-col :span="6" class="bd">{{infoData.safetyOfficer}}</el-col>
  45 + </el-row>
  46 + <el-row >
  47 + <el-col :span="6" class="bd bd_left">备注</el-col>
  48 + <el-col :span="18" class="bd">{{infoData.comment}}</el-col>
  49 + </el-row>
  50 +
  51 + <div v-for="dict in dicts">
  52 + <p >{{dict.name}}</p>
  53 + <el-image v-for="item in infoData.attachmentList"
  54 + style="width: 40px; height: 40px; margin: 5px;"
  55 + :src="'/remotedown/' + item.attachmentPath"
  56 + :z-index="2000"
  57 + :preview-src-list="[slides1('/remotedown/' + item.attachmentPath)]"
  58 + v-if="item.typeCode == dict.code && (item.attachmentPath.toLowerCase().indexOf('.jpg') > -1 || item.attachmentPath.toLowerCase().indexOf('.png') > -1)">
  59 + </el-image>
  60 + <a v-for="item in infoData.attachmentList"
  61 + @click="downloadFile(item.attachmentPath);"
  62 + style="color:blue;"
  63 + v-if="item.typeCode == dict.code
  64 + && item.attachmentPath.toLowerCase().indexOf('.jpg') == -1
  65 + && item.attachmentPath.toLowerCase().indexOf('.png') == -1"><p>{{item.name}}</p></a>
  66 + </div>
  67 + <!-- <el-dialog title="" :visible.sync="showPic" append-to-body width="400px">
  68 + <el-image
  69 + style="width: 350px; height: 350px; margin: 5px;"
  70 + :src="'/remotedown/' + picImage"
  71 + :preview-src-list="[picImage]"
  72 + :z-index="2000">
  73 + </el-image>
  74 + </el-dialog> -->
  75 + </div>
  76 + </div>
  77 +</template>
  78 +
  79 +<script>
  80 +
  81 +
  82 +import store from "@/store";
  83 + import {
  84 + getToken
  85 + } from "@/utils/auth";
  86 +
  87 +
  88 + import {
  89 + getCompanyInfo,
  90 + getArea,
  91 + getDict
  92 + } from "@/api/dict";
  93 +
  94 +
  95 + export default {
  96 + name: "ThreestepInfo",
  97 + props: {
  98 + businessKey: {
  99 + type: String
  100 + },
  101 + },
  102 + data() {
  103 + return {
  104 + sign: store.getters.avatar, //裁剪图片的地址
  105 + areas: [],
  106 + loading: null,
  107 + objectDict: {
  108 + constructionSiteID:"工地ID",
  109 + constructionSiteName:"工地名称",
  110 + earthSiteID:"处理场所ID",
  111 + earthSiteName:"处理场所名称",
  112 + absorbCapacity:"消纳容量",
  113 + startTime:"有效期开始时间 yyyy-mM-dd",
  114 + endTime:"有效期结束时间 yyyy-mM-dd",
  115 + type:"建筑垃圾类型ID",
  116 + typeName:"垃圾类型名称",
  117 + contractNo:"消纳合同编号",
  118 + routeName:"线路名称",
  119 + routeWidth:"线路宽度",
  120 + auditStatus:"审核状态 0-审核中 1-审核通过 2-审核驳回",
  121 + auditStatusName:"审核状态名称",
  122 + contractStatus:"合同状态",
  123 + contractStatusName:"合同状态名称",
  124 + routePoints:"线路信息"},
  125 +
  126 + infoData: {},
  127 +
  128 + dicts:null,
  129 + showPic:false,
  130 + picImage:null,
  131 + }
  132 + },
  133 + created() {
  134 +
  135 + getDict({type:"CSCompanyAttachmentType"}).then(res=>{
  136 + this.dicts = res.result;
  137 + });
  138 +
  139 + this.loading = true;
  140 + this.getInfo();
  141 +
  142 + },
  143 + methods: {
  144 + slides1(img){
  145 + return img;
  146 + },
  147 + getInfo() {
  148 + let id;
  149 + if (this.businessKey.split(":").length == 2) {
  150 + id = this.businessKey.split(":")[1];
  151 + } else {
  152 + id = this.businessKey;
  153 + }
  154 +
  155 + getCompanyInfo(id).then(response => {
  156 +
  157 + this.infoData = response.result;
  158 + // getArea().then(res => {
  159 + // this.areas = res.result;
  160 + // this.loading = false;
  161 + // for (let i = 0; i < this.areas.length; i++) {
  162 + // if (Number(this.infoData.place) == this.areas[i].code) {
  163 + // this.infoData.place = this.areas[i].name;
  164 + // }
  165 + // }
  166 + // });
  167 +
  168 + // for(let i in obj){
  169 + // if(this.objectDict[i]){
  170 + // this.infoData.push({label:this.objectDict[i] ,value:obj[i]})
  171 + // }
  172 + // }
  173 + this.loading = false;
  174 + });
  175 + },
  176 + downloadFile(path){
  177 + let file = "/remotedown/" + path;
  178 +
  179 + if(path.indexOf(".jpg") != -1){
  180 + this.showPic = true;
  181 +
  182 + this.picImage = file;
  183 + return;
  184 + }
  185 +
  186 + window.open(file,"new window");
  187 + }
  188 + }
  189 +
  190 + }
  191 +</script>
  192 +<style>
  193 + .bd{
  194 + padding:5px;
  195 + }
  196 +
  197 +
  198 +
  199 +</style>
... ...
trash-ui/src/views/activiti/task/driverInfo.vue
... ... @@ -36,18 +36,23 @@
36 36 <el-col :span="12" class="bd">{{infoData.remark}}</el-col>
37 37 </el-row>
38 38  
39   - <div v-for="dict in dicts">
40   - <p >{{dict.name}}</p>
41   - <a v-for="item in infoData.attachment" @click="downloadFile(item.attachmentPath);" style="color:blue;" v-if="item.typeCode == dict.code"><p>{{item.name}}</p></a>
42   - </div>
43   - <el-dialog title="" :visible.sync="showPic" append-to-body width="400px">
44   - <el-image
45   - style="width: 350px; height: 350px; margin: 5px;"
46   - :src="picImage"
47   - :preview-src-list="[picImage]"
48   - :z-index="2000">
49   - </el-image>
50   - </el-dialog>
  39 + <div v-for="dict in dicts">
  40 + <p >{{dict.name}}</p>
  41 +
  42 + <el-image v-for="item in infoData.attachment"
  43 + style="width: 40px; height: 40px; margin: 5px;"
  44 + :src="'/remotedown/' + item.attachmentPath"
  45 + :z-index="2000"
  46 + :preview-src-list="[slides1('/remotedown/' + item.attachmentPath)]"
  47 + v-if="Number(item.typeCode) == (dict.code) && (item.attachmentPath.toLowerCase().indexOf('.jpg') > -1 || item.attachmentPath.toLowerCase().indexOf('.png') > -1)">
  48 + </el-image>
  49 + <a v-for="item in infoData.attachment"
  50 + @click="downloadFile(item.attachmentPath);"
  51 + style="color:blue;"
  52 + v-if="Number(item.typeCode) == (dict.code)
  53 + && item.attachmentPath.toLowerCase().indexOf('.jpg') == -1
  54 + && item.attachmentPath.toLowerCase().indexOf('.png') == -1"><p>{{item.name}}</p></a>
  55 + </div>
51 56 </div>
52 57 </div>
53 58 </template>
... ... @@ -96,6 +101,9 @@ import store from &quot;@/store&quot;;
96 101  
97 102 },
98 103 methods: {
  104 + slides1(img){
  105 + return img;
  106 + },
99 107 getInfo() {
100 108 let id;
101 109 if (this.businessKey.split(":").length == 2) {
... ...
trash-ui/src/views/activiti/task/index.vue
... ... @@ -40,10 +40,10 @@
40 40 <el-option label="纪检督察" value="supervision-gongdi,supervision_anjuan,supervision_company,supervision_xnc"/>
41 41 </el-select>
42 42  
43   - <el-button type="primary" size="mini" @click="getList">搜索</el-button>
  43 + <el-button type="primary" size="mini" @click="queryParams.pageNum = 1;getList();">搜索</el-button>
44 44 <el-button size="mini" @click="resetQuery">重置</el-button>
45 45  
46   -
  46 +
47 47 <taskCard :task="task" v-for="task in taskList" @sendToParent="showTask"/>
48 48  
49 49 <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
... ... @@ -60,7 +60,7 @@
60 60  
61 61 <el-dialog :title="title" :visible.sync="open2" width="800px" append-to-body>
62 62 <threestepInfo :businessKey="businessKey" v-if="open2"/>
63   - <el-form v-if="taskName == '巡查'" :rules="rules" label-width="120px">
  63 + <el-form :rules="rules" label-width="120px">
64 64 <el-row type="flex" justify="center">
65 65 <el-col>
66 66 <el-form-item label="补充说明">
... ... @@ -321,19 +321,27 @@
321 321 </el-dialog>
322 322  
323 323  
324   - <el-dialog :title="title" :visible.sync="construct" width="800px" append-to-body>
325   - <constructsiteInfo :businessKey="businessKey" :signData="signData" v-if="construct"/>
326   - <el-row>
327   - <el-input v-model="signDataInfo" type="textarea" :rows="4" style="margin-top: 10px;"></el-input>
328   - </el-row>
  324 + <el-dialog :title="title" :visible.sync="construct" width="1200px" append-to-body>
  325 + <companyInfo :businessKey="businessKey" :businessType="2" :signData="signData" v-if="construct"/>
  326 + <div v-for="item in this.form.formData">
  327 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  328 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  329 + </div>
  330 +
  331 +
  332 + <el-table :data="hisfromData" v-if="hisfromData != null">
  333 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  334 + <el-table-column label="审批人" align="center" prop="createName"/>
  335 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  336 + </el-table>
329 337 <div slot="footer" class="dialog-footer">
330 338 <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>
331 339 <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>
332 340 </div>
333 341 </el-dialog>
334 342  
335   - <el-dialog :title="title" :visible.sync="earthsites" width="800px" append-to-body>
336   - <earthsitesInfo :businessKey="businessKey" v-if="earthsites"/>
  343 + <el-dialog :title="title" :visible.sync="earthsites" width="1200px" append-to-body>
  344 + <companyInfo :businessKey="businessKey" :businessType="3" v-if="earthsites"/>
337 345 <div v-for="item in this.form.formData">
338 346 <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
339 347 placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
... ... @@ -352,8 +360,8 @@
352 360 </div>
353 361 </el-dialog>
354 362  
355   - <el-dialog :title="title" :visible.sync="contract" width="800px" append-to-body>
356   - <contractInfo :businessKey="businessKey" v-if="contract"/>
  363 + <el-dialog :title="title" :visible.sync="contract" width="1200px" append-to-body>
  364 + <companyInfo :businessKey="businessKey" :businessType="4" v-if="contract"/>
357 365  
358 366 <div v-for="item in this.form.formData">
359 367 <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
... ... @@ -543,8 +551,8 @@
543 551 </div>
544 552 </el-dialog>
545 553  
546   - <el-dialog :title="title" :visible.sync="company" width="700px" append-to-body :close-on-click-modal="false">
547   - <companyInfo :businessKey="businessKey" v-if="company"/>
  554 + <el-dialog :title="title" :visible.sync="company" width="1200px" append-to-body :close-on-click-modal="false">
  555 + <companyInfo :businessKey="businessKey" :businessType="0" v-if="company"/>
548 556 <div v-for="item in this.form.formData">
549 557 <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
550 558 placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
... ... @@ -562,8 +570,8 @@
562 570 </div>
563 571 </el-dialog>
564 572  
565   - <el-dialog :title="title" :visible.sync="vehicle" width="700px" append-to-body :close-on-click-modal="false">
566   - <vehicleInfo :businessKey="businessKey" v-if="vehicle"/>
  573 + <el-dialog :title="title" :visible.sync="vehicle" width="1200px" append-to-body :close-on-click-modal="false">
  574 + <companyInfo :businessKey="businessKey" :businessType="1" v-if="vehicle"/>
567 575 <div v-for="item in this.form.formData">
568 576 <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
569 577 placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
... ... @@ -581,8 +589,8 @@
581 589 </div>
582 590 </el-dialog>
583 591  
584   - <el-dialog :title="title" :visible.sync="driver" width="700px" append-to-body :close-on-click-modal="false">
585   - <driverInfo :businessKey="businessKey" v-if="driver"/>
  592 + <el-dialog :title="title" :visible.sync="driver" width="1200px" append-to-body :close-on-click-modal="false">
  593 + <companyInfo :businessKey="businessKey" :businessType="5" v-if="driver"/>
586 594 <div v-for="item in this.form.formData">
587 595 <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
588 596 placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
... ... @@ -776,7 +784,7 @@ export default {
776 784 getDict(dep).then(res => {
777 785 this.depts = res.result;
778 786 for(let i in res.result){
779   - if(res.result[i].indexOf("渣土办") < 1){
  787 + if(res.result[i].name.indexOf("渣土办") < 1){
780 788 this.prev.push(res.result[i]);
781 789 }
782 790 }
... ... @@ -945,12 +953,18 @@ export default {
945 953 this.id = row.id;
946 954 this.taskName = row.name;
947 955 historyFromData(this.businessKey).then(response => {
948   - this.hisfromData = response.data
  956 + this.hisfromData = [];
  957 + this.hisfromData.push({createName:row.createBy,controlValue:row.reason,createTime:row.time})
  958 + for(let i in response.data){
  959 +
  960 + this.hisfromData.push(response.data[i]);
  961 + }
949 962 })
950 963  
951 964 formDataShow(row.id).then(response => {
952 965 let datas = response.data;
953 966 let formData = []
  967 + let text = "";
954 968 for (let i = 0; i < datas.length; i++) {
955 969 let strings = datas[i].split('--__!!')
956 970 let controlValue = null
... ... @@ -960,6 +974,9 @@ export default {
960 974 controlValue = idx;
961 975 controlDefault = strings[4]
962 976 break;
  977 + case 'textarea':
  978 + text = controlValue;
  979 + break;
963 980 // default:
964 981 }
965 982 formData.push({
... ... @@ -988,16 +1005,8 @@ export default {
988 1005 return;
989 1006 }
990 1007  
991   - if (this.definitionKey == "workflow_constructsite") {
992   - getSignByObjId(this.businessKey.split(":")[1]).then(res => {
993   - if (this.definitionKey == "workflow_constructsite") {
994   -
995   - this.signDataInfo = "经现场查勘及核对资料,现场设施基本达到净车出场标准,建议按程序办理相关手续,妥否,请批示。";
996   -
997   - this.signData = res.data;
998   - this.construct = true;
999   - }
1000   - });
  1008 + if (this.definitionKey == "workflow_constructsite" || this.definitionKey == "workflow_constructsite_edit") {
  1009 + this.construct = true;
1001 1010 return;
1002 1011 }
1003 1012 if (this.definitionKey == "workflow_earthsites") {
... ... @@ -1072,7 +1081,6 @@ export default {
1072 1081  
1073 1082 /** 提交按钮 */
1074 1083 submitForm(formid, value) {
1075   - debugger;
1076 1084 this.form.formData[0].controlValue = value;
1077 1085 this.form.formData[0].controlId = formid;
1078 1086 this.form.id = this.businessKey.split(":")[1];
... ... @@ -1121,18 +1129,28 @@ export default {
1121 1129 let query = {
1122 1130 objectId: objId,
1123 1131 };
  1132 + let text = "";
  1133 + for (let i = 0; i < this.form.formData.length; i++) {
  1134 + let strings = this.form.formData[i];
  1135 + switch (strings.controlType) {
  1136 + case 'textarea':
  1137 + text = strings.controlValue;
  1138 + break;
  1139 + }
  1140 + }
  1141 +
1124 1142 if (this.taskName == "勘察科员") {
1125 1143 query.idx = 0;
1126   - query.sign1Text = this.signDataInfo;
  1144 + query.sign1Text = text;
1127 1145 } else if (this.taskName == "堪察部长") {
1128 1146 query.idx = 1;
1129   - query.sign2Text = this.signDataInfo;
  1147 + query.sign2Text = text;
1130 1148 } else if (this.taskName == "堪察分管领导") {
1131 1149 query.idx = 2;
1132   - query.sign3Text = this.signDataInfo;
  1150 + query.sign3Text = text
1133 1151 } else if (this.taskName == "中心负责人") {
1134 1152 query.idx = 3;
1135   - query.sign4Text = this.signDataInfo;
  1153 + query.sign4Text = text;
1136 1154 }
1137 1155  
1138 1156 addSign(query).then(res => {
... ... @@ -1291,7 +1309,8 @@ export default {
1291 1309 }
1292 1310 if (this.definitionKey == "workflow_company" ||
1293 1311 this.definitionKey == "workflow_driver" ||
1294   - this.definitionKey == "workflow_vehicle") {
  1312 + this.definitionKey == "workflow_vehicle" ||
  1313 + this.definitionKey == "workflow_constructsite_edit") {
1295 1314 formDataSave(this.id, this.form.formData).then(response => {
1296 1315 this.msgSuccess("审批成功");
1297 1316 this.cancel();
... ...
trash-ui/src/views/activiti/task/sitePaper.vue
... ... @@ -4,10 +4,10 @@
4 4 <el-button @click="printBody" :style="{'display':hide}">打印</el-button>
5 5  
6 6 <div id="printItem">
7   - <h2 style="text-align:center;">长沙市建筑垃圾处置技术勘意见表</h2>
  7 + <h2 style="text-align:center;">长沙市建筑垃圾处置技术勘意见表</h2>
8 8 <el-row style="border: 1px solid black;" type="flex" align="middle" justify="center">
9 9 <el-col :span="1" class="bd_padding">
10   - 勘人员填写
  10 + 勘人员填写
11 11 </el-col>
12 12 <el-col :span="23" class="bd_left">
13 13 <el-row class="bd_bottom" >
... ...
trash-ui/src/views/activiti/task/taskCard.vue
1 1 <template>
2 2 <el-card class="box-card">
3 3 <div
4   - :class="{card_status:true,notcheck:!task.checkStatus,dismiss:task.checkStatus=='1',agree:task.checkStatus=='0'}">
5   - {{task.checkStatus? task.checkStatus=="0"?"已同意":"已拒绝" : "待审批"}}</div>
  4 + :class="{card_status:true,notcheck:!task.checkStatus,dismiss:task.checkStatus=='2',agree:task.checkStatus=='1'}">
  5 + {{task.checkStatus? task.checkStatus=="1"?"已同意":"已拒绝" : "待审批"}}</div>
6 6 <el-row class="card_row">
7 7 <el-col :span="20" class="card_grid">
8 8 <div class="card_title">{{task.instanceName}}</div>
... ...
trash-ui/src/views/activiti/task/vehicleInfo.vue
... ... @@ -50,10 +50,22 @@
50 50 <el-col :span="18" class="bd">{{infoData.comment}}</el-col>
51 51 </el-row>
52 52  
53   - <div v-for="dict in dicts">
54   - <p >{{dict.name}}</p>
55   - <a v-for="item in infoData.attachmentList" @click="downloadFile(item.attachmentPath);" style="color:blue;" v-if="item.typeCode == dict.code"><p>{{item.name}}</p></a>
56   - </div>
  53 + <div v-for="dict in dicts">
  54 + <p >{{dict.name}}</p>
  55 + <el-image v-for="item in infoData.attachmentList"
  56 + style="width: 40px; height: 40px; margin: 5px;"
  57 + :src="'/remotedown/' + item.attachmentPath"
  58 + :z-index="2000"
  59 + :preview-src-list="[slides1('/remotedown/' + item.attachmentPath)]"
  60 + v-if="item.typeCode == dict.code && (item.attachmentPath.toLowerCase().indexOf('.jpg') > -1 || item.attachmentPath.toLowerCase().indexOf('.png') > -1)">
  61 + </el-image>
  62 + <a v-for="item in infoData.attachmentList"
  63 + @click="downloadFile(item.attachmentPath);"
  64 + style="color:blue;"
  65 + v-if="item.typeCode == dict.code
  66 + && item.attachmentPath.toLowerCase().indexOf('.jpg') == -1
  67 + && item.attachmentPath.toLowerCase().indexOf('.png') == -1"><p>{{item.name}}</p></a>
  68 + </div>
57 69  
58 70 </div>
59 71  
... ... @@ -114,6 +126,9 @@ import store from &quot;@/store&quot;;
114 126  
115 127 },
116 128 methods: {
  129 + slides1(img){
  130 + return img;
  131 + },
117 132 getInfo() {
118 133 let id;
119 134 if (this.businessKey.split(":").length == 2) {
... ...
trash-ui/src/views/activiti/taskhistory/index.vue
... ... @@ -43,12 +43,17 @@
43 43 </el-dialog>
44 44 <el-dialog :title="title" :visible.sync="open2" width="800px" append-to-body>
45 45 <threestepInfo :businessKey="businessKey" v-if="open2"/>
  46 + <el-table :data="hisfromData" v-if="hisfromData != null">
  47 +
  48 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  49 + <el-table-column label="审批人" align="center" prop="createName"/>
  50 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  51 + </el-table>
46 52 </el-dialog>
47 53  
48   - <el-dialog :title="title" :visible.sync="construct" width="800px" append-to-body>
49   - <constructsiteInfo :businessKey="businessKey" :signData="signData" v-if="construct"/>
  54 + <el-dialog :title="title" :visible.sync="construct" width="1200px" append-to-body>
  55 + <companyInfo :businessKey="businessKey" :businessType="2" :signData="signData" v-if="construct"/>
50 56 <el-table :data="hisfromData" v-if="hisfromData != null">
51   -
52 57 <el-table-column label="审批意见" align="center" prop="controlValue"/>
53 58 <el-table-column label="审批人" align="center" prop="createName"/>
54 59 <el-table-column label="审批时间" align="center" prop="createTime"/>
... ... @@ -65,18 +70,17 @@
65 70 </el-dialog>
66 71  
67 72  
68   - <el-dialog :title="title" :visible.sync="earthsites" width="800px" append-to-body>
69   - <earthsitesInfo :businessKey="businessKey" v-if="earthsites"/>
  73 + <el-dialog :title="title" :visible.sync="earthsites" width="1200px" append-to-body>
  74 + <companyInfo :businessKey="businessKey" :businessType="3" v-if="earthsites"/>
70 75 <el-table :data="hisfromData" v-if="hisfromData != null">
71   -
72 76 <el-table-column label="审批意见" align="center" prop="controlValue"/>
73 77 <el-table-column label="审批人" align="center" prop="createName"/>
74 78 <el-table-column label="审批时间" align="center" prop="createTime"/>
75 79 </el-table>
76 80 </el-dialog>
77 81  
78   - <el-dialog :title="title" :visible.sync="contract" width="800px" append-to-body>
79   - <contractInfo :businessKey="businessKey" v-if="contract"/>
  82 + <el-dialog :title="title" :visible.sync="contract" width="1200px" append-to-body>
  83 + <companyInfo :businessKey="businessKey" :businessType="4" v-if="contract"/>
80 84 <el-table :data="hisfromData" v-if="hisfromData != null">
81 85  
82 86 <el-table-column label="审批意见" align="center" prop="controlValue"/>
... ... @@ -127,8 +131,8 @@
127 131 </el-table>
128 132 </el-dialog>
129 133  
130   - <el-dialog :title="title" :visible.sync="company" width="850px" append-to-body :close-on-click-modal="false">
131   - <companyInfo :businessKey="businessKey" v-if="company"/>
  134 + <el-dialog :title="title" :visible.sync="company" width="1200px" append-to-body :close-on-click-modal="false">
  135 + <companyInfo :businessKey="businessKey" :businessType="0" v-if="company"/>
132 136 <el-table :data="hisfromData" v-if="hisfromData != null">
133 137  
134 138 <el-table-column label="审批意见" align="center" prop="controlValue"/>
... ... @@ -138,7 +142,7 @@
138 142 </el-dialog>
139 143  
140 144 <el-dialog :title="title" :visible.sync="vehicle" width="850px" append-to-body :close-on-click-modal="false">
141   - <vehicleInfo :businessKey="businessKey" v-if="vehicle"/>
  145 + <companyInfo :businessKey="businessKey" :businessType="1" v-if="vehicle"/>
142 146 <el-table :data="hisfromData" v-if="hisfromData != null">
143 147  
144 148 <el-table-column label="审批意见" align="center" prop="controlValue"/>
... ... @@ -148,7 +152,7 @@
148 152 </el-dialog>
149 153  
150 154 <el-dialog :title="title" :visible.sync="driver" width="850px" append-to-body :close-on-click-modal="false">
151   - <driverInfo :businessKey="businessKey" v-if="driver"/>
  155 + <companyInfo :businessKey="businessKey" :businessType="5" v-if="driver"/>
152 156 <el-table :data="hisfromData" v-if="hisfromData != null">
153 157  
154 158 <el-table-column label="审批意见" align="center" prop="controlValue"/>
... ... @@ -167,6 +171,8 @@ import {
167 171 formDataShow
168 172 } from "@/api/activiti/taskhistory";
169 173  
  174 +import {historyFromData} from '@/api/activiti/historyFormdata'
  175 +
170 176 import {getSignByObjId, addSign, updateSign} from "@/api/sign/sign";
171 177 import taskCard from "@/views/activiti/task/taskCard";
172 178 import earthSitesForm from "@/views/workflow/earthSitesForm";
... ... @@ -317,7 +323,7 @@ export default {
317 323 this.taskList = response.rows;
318 324 this.total = response.total;
319 325 this.loading = false;
320   -
  326 +
321 327 if(!this.names)
322 328 this.names = response.names;
323 329 });
... ... @@ -358,7 +364,14 @@ export default {
358 364 this.id = row.id;
359 365  
360 366 historyFromData(this.businessKey).then(response => {
361   - this.hisfromData = response.data
  367 +
  368 + this.hisfromData = [];
  369 +
  370 + this.hisfromData.push({createName:row.createBy,controlValue:row.reason,createTime:row.time});
  371 + for(let i in response.data){
  372 +
  373 + this.hisfromData.push(response.data[i]);
  374 + }
362 375 })
363 376  
364 377  
... ... @@ -408,12 +421,10 @@ export default {
408 421 this.leaveApplicationOpen = true;
409 422 return;
410 423 }
  424 + if (this.definitionKey == "workflow_constructsite" || this.definitionKey == "workflow_constructsite_edit") {
  425 +
411 426  
412   - if (this.definitionKey == "workflow_constructsite") {
413   - getSignByObjId(this.businessKey.split(":")[1]).then(res => {
414   - this.signData = res;
415 427 this.construct = true;
416   - });
417 428 return;
418 429 }
419 430 if (this.definitionKey == "workflow_earthsites") {
... ...
trash-ui/src/views/business/CompanyCredit/index.vue
... ... @@ -61,7 +61,7 @@
61 61  
62 62 <el-row :gutter="10" class="mb8">
63 63 <el-col :span="1.5">
64   - <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['Company:credit:add']" v-if="queryParams.status==0">新增</el-button>
  64 + <el-button type="primary" size="mini" @click="handleAdd" v-if="queryParams.status==0 && checkPer(['businessmanage.credit.CompanyCredit.add'])">新增</el-button>
65 65 </el-col>
66 66 <el-col :span="1.5">
67 67 <el-button size="mini" @click="handleExport" v-hasPermi="['Company:credit:export']">导出</el-button>
... ... @@ -88,7 +88,8 @@
88 88 <el-table-column label="失信原因" align="center" prop="reason" />
89 89 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
90 90 <template slot-scope="scope">
91   - <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==0">撤销失信</el-button>
  91 + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['Company:credit:edit']" v-if="queryParams.status==0 &&
  92 + checkPer(['businessmanage.credit.CompanyCredit.revoke'])">撤销失信</el-button>
92 93 <el-button size="mini" type="text" icon="el-icon-edit" @click="getDataInfo(scope.row)" v-if="queryParams.status==1">查看</el-button>
93 94 </template>
94 95 </el-table-column>
... ... @@ -168,4 +169,3 @@
168 169  
169 170  
170 171 <script src="../../../api/company_credit.js" />
171   -
... ...
trash-ui/src/views/business/ConstructionCredit/index.vue
... ... @@ -56,7 +56,8 @@
56 56 <el-row :gutter="10" class="mb8">
57 57 <el-col :span="1.5">
58 58 <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['business:ConstructionCredit:add']"
59   - v-if="queryParams.status==0">新增</el-button>
  59 + v-if="queryParams.status==0 &&
  60 + checkPer(['businessmanage.credit.ConstructionCredit.add'])">新增</el-button>
60 61 </el-col>
61 62 <el-col :span="1.5">
62 63 <el-button size="mini" @click="handleExport" v-hasPermi="['business:ConstructionCredit:export']">导出</el-button>
... ... @@ -86,7 +87,8 @@
86 87 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
87 88 <template slot-scope="scope">
88 89 <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
89   - v-hasPermi="['business:ConstructionCredit:edit']" v-if="queryParams.status==0">撤销失信</el-button>
  90 + v-hasPermi="['business:ConstructionCredit:edit']" v-if="queryParams.status==0&&
  91 + checkPer(['businessmanage.credit.ConstructionCredit.revoke'])">撤销失信</el-button>
90 92 <el-button size="mini" type="text" icon="el-icon-edit" @click="getDataInfo(scope.row)"
91 93 v-if="queryParams.status==1">查看</el-button>
92 94 </template>
... ...
trash-ui/src/views/business/DriverCredit/index.vue
... ... @@ -12,8 +12,7 @@
12 12 <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch">
13 13 <el-row type="flex" justify="center">
14 14 <el-col>
15   - <el-form-item label="驾驶员姓名" prop="name"
16   - style="float:right;">
  15 + <el-form-item label="驾驶员姓名" prop="name">
17 16 <el-select v-model="queryParams.name"
18 17 filterable
19 18  
... ... @@ -29,7 +28,24 @@
29 28 </el-select>
30 29 </el-form-item>
31 30 </el-col>
  31 + <el-col>
  32 + <el-form-item label="车牌号" prop="licenseplateNo">
  33 + <el-select v-model="queryParams.licenseplateNo"
  34 + filterable
  35 +
  36 + reserve-keyword
  37 + placeholder="车牌号"
  38 + size="small"
  39 + :loading="loading">
  40 + <el-option
  41 + v-for="item in dictLicenseplateNo"
  42 + :label="item"
  43 + :value="item">
  44 + </el-option>
  45 + </el-select>
  46 + </el-form-item>
32 47  
  48 + </el-col>
33 49 <el-col>
34 50 <el-form-item label="失信日期" prop="time" v-show="queryParams.status==0">
35 51 <el-date-picker size="small" style="width: 200px" v-model="queryParams.time" type="date"
... ... @@ -43,7 +59,9 @@
43 59  
44 60 <el-row :gutter="10" class="mb8">
45 61 <el-col :span="1.5">
46   - <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['driver:credit:add']" v-if="queryParams.status==0">新增</el-button>
  62 + <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['driver:credit:add']" v-if="queryParams.status==0
  63 + && checkPer(['businessmanage.credit.DriverCredit.add'])">新增</el-button>
  64 +
47 65 </el-col>
48 66 <el-col :span="1.5">
49 67 <el-button size="mini" @click="handleExport" v-hasPermi="['driver:credit:export']">导出</el-button>
... ... @@ -62,6 +80,7 @@
62 80 <el-table-column label="序号" align="center" type="index" />
63 81 <el-table-column label="驾驶员姓名" align="center" prop="name" />
64 82 <el-table-column label="证件号码" align="center" prop="idNumber" />
  83 + <el-table-column label="车牌号" align="center" prop="licenseplateNo" />
65 84 <el-table-column label="失信时间" align="center" prop="time" width="180" v-if="queryParams.status==0">
66 85 <template slot-scope="scope">
67 86 <span>{{ parseTime(scope.row.time, '{y}-{m}-{d}') }}</span>
... ... @@ -70,7 +89,8 @@
70 89 <el-table-column label="失信原因" align="center" prop="reason" />
71 90 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
72 91 <template slot-scope="scope">
73   - <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['driver:credit:edit']" v-if="queryParams.status==0">撤销失信</el-button>
  92 + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['driver:credit:edit']" v-if="queryParams.status==0&&
  93 + checkPer(['businessmanage.credit.DriverCredit.revoke'])">撤销失信</el-button>
74 94 <el-button size="mini" type="text" icon="el-icon-edit" @click="getDataInfo(scope.row)" v-if="queryParams.status==1">查看</el-button>
75 95 </template>
76 96 </el-table-column>
... ... @@ -102,6 +122,9 @@
102 122 <el-form-item label="证件号码" prop="idNumber">
103 123 <el-input v-model="form.idNumber" placeholder="证件号码" disabled/>
104 124 </el-form-item>
  125 + <el-form-item label="车牌号" prop="licenseplateNo">
  126 + <el-input v-model="form.licenseplateNo" placeholder="车牌号" disabled/>
  127 + </el-form-item>
105 128 <el-form-item label="失信原因" prop="reason">
106 129 <el-input v-model="form.reason" placeholder="失信原因" />
107 130 </el-form-item>
... ...
trash-ui/src/views/business/EarthSitesCredit/index.vue
... ... @@ -54,7 +54,8 @@
54 54  
55 55 <el-row :gutter="10" class="mb8">
56 56 <el-col :span="1.5">
57   - <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['EarthSites:credit:add']" v-if="queryParams.status==0">新增</el-button>
  57 + <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['EarthSites:credit:add']" v-if="queryParams.status==0&&
  58 + checkPer(['businessmanage.credit.EarthSitesCredi.add'])">新增</el-button>
58 59 </el-col>
59 60 <el-col :span="1.5">
60 61 <el-button size="mini" @click="handleExport" v-hasPermi="['EarthSites:credit:export']">导出</el-button>
... ... @@ -82,7 +83,8 @@
82 83 <el-table-column label="失信原因" align="center" prop="reason" />
83 84 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
84 85 <template slot-scope="scope">
85   - <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['EarthSites:credit:edit']" v-if="queryParams.status==0">撤销失信</el-button>
  86 + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['EarthSites:credit:edit']" v-if="queryParams.status==0&&
  87 + checkPer(['businessmanage.credit.EarthSitesCredi.revoke'])">撤销失信</el-button>
86 88 <el-button size="mini" type="text" icon="el-icon-edit" @click="getDataInfo(scope.row)" v-if="queryParams.status==1">查看</el-button>
87 89 </template>
88 90 </el-table-column>
... ...
trash-ui/src/views/business/TruckCredit/index.vue
... ... @@ -50,7 +50,8 @@
50 50 <el-row :gutter="10" class="mb8">
51 51 <el-col :span="1.5">
52 52 <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['truck:credit:add']"
53   - v-if="queryParams.status==0">新增</el-button>
  53 + v-if="queryParams.status==0&&
  54 + checkPer(['businessmanage.credit.TruckCredit.add'])">新增</el-button>
54 55 </el-col>
55 56 <el-col :span="1.5">
56 57 <el-button size="mini" @click="handleExport" v-hasPermi="['truck:credit:export']">导出</el-button>
... ... @@ -79,7 +80,7 @@
79 80 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
80 81 <template slot-scope="scope">
81 82 <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
82   - v-hasPermi="['truck:credit:edit']" v-if="queryParams.status==0">撤销失信</el-button>
  83 + v-hasPermi="['truck:credit:edit']" v-if="queryParams.status==0&& checkPer(['businessmanage.credit.TruckCredit.revoke'])">撤销失信</el-button>
83 84 <el-button size="mini" type="text" icon="el-icon-edit" @click="getDataInfo(scope.row)"
84 85 v-if="queryParams.status==1">查看</el-button>
85 86 </template>
... ...
trash-ui/src/views/business/dayWorkReport/index.vue
... ... @@ -18,7 +18,7 @@
18 18 </el-row>
19 19  
20 20 <el-form :model="queryParams" ref="queryForm" label-width="100px">
21   - <el-row>
  21 + <el-row v-if="this.queryParams.his < 2">
22 22 <el-col :span="6">
23 23 <el-form-item label="工地名称" >
24 24 <!-- <el-input v-model="queryParams.name" placeholder="请输入项目名称" size="small" /> -->
... ... @@ -52,6 +52,25 @@
52 52 </el-form-item>
53 53 </el-col>
54 54 </el-row>
  55 + <el-row v-if="this.queryParams.his > 1">
  56 + <el-col :span="6">
  57 + <el-form-item label="名称" >
  58 + <!-- <el-input v-model="queryParams.name" placeholder="请输入项目名称" size="small" /> -->
  59 +
  60 + <el-select v-model="queryParams.name" placeholder="请输入工地名称 " filterable size="small">
  61 + <el-option v-for="item in names" :label="item" :value="item" />
  62 + </el-select>
  63 + </el-form-item>
  64 + </el-col>
  65 +
  66 + <el-col :span="6">
  67 + <el-form-item label="区属" >
  68 + <el-select v-model="queryParams.place" placeholder="工地所属区域 " size="small">
  69 + <el-option v-for="item in areas" :label="item.name" :value="item.code" />
  70 + </el-select>
  71 + </el-form-item>
  72 + </el-col>
  73 + </el-row>
55 74 <el-row>
56 75 <el-col :span="6">
57 76 <el-form-item label="开始时间" v-if="this.queryParams.his > 0">
... ... @@ -78,7 +97,7 @@
78 97 <el-col :span="1.5">
79 98 <el-button size="mini" @click="handleExport" v-hasPermi="['business:threestep:export']">导出</el-button>
80 99 </el-col>
81   - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  100 + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList(queryParams.his)"></right-toolbar>
82 101 </el-row>
83 102  
84 103 <el-table :data="threestepList" @selection-change="handleSelectionChange" v-if="!queryParams.his || queryParams.his == 1">
... ... @@ -130,7 +149,7 @@
130 149 </el-table-column>
131 150 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
132 151 <template slot-scope="scope">
133   - <el-button size="mini" type="text" @click="getInfo(scope.row,0);" v-hasPermi="['business:threestep:edit']">查看详情</el-button>
  152 + <el-button size="mini" type="text" @click="getInfo(scope.row);" v-hasPermi="['business:threestep:edit']">查看详情</el-button>
134 153 </template>
135 154 </el-table-column>
136 155 </el-table>
... ...
trash-ui/src/views/business/threestep/index.vue
... ... @@ -3,11 +3,11 @@
3 3 <el-row :gutter="10" class="mb8">
4 4 <el-col :span="1.5">
5 5 <el-button :class="{'el-button':true, 'el-button--primary':this.queryParams.pageStatus==0}" size="mini"
6   - @click="getList(0);">报工自查</el-button>
  6 + @click="getList(0);" v-if="checkPer(['business.supervision.threestep.selfcheck'])">报工自查</el-button>
7 7 </el-col>
8 8 <el-col :span="1.5">
9 9 <el-button :class="{'el-button':true,'el-button--primary':this.queryParams.pageStatus==1}" size="mini"
10   - @click="getList(1);">报工抽查</el-button>
  10 + @click="getList(1);" v-if="checkPer(['business.supervision.threestep.spotcheck'])">报工抽查</el-button>
11 11 </el-col>
12 12 </el-row>
13 13  
... ... @@ -48,10 +48,11 @@
48 48  
49 49 <el-row :gutter="10" class="mb8">
50 50 <el-col :span="1.5">
51   - <el-button type="primary" size="mini" @click="handleAdd" v-hasPermi="['business:threestep:add']" v-if="this.queryParams.pageStatus==0 && new Date().getHours() > 7 && new Date().getHours() < 24">新增</el-button>
  51 + <el-button type="primary" size="mini" @click="handleAdd" v-if="this.queryParams.pageStatus==0 && new Date().getHours() > 7 && new Date().getHours() < 24
  52 + && checkPer(['business.supervision.threestep.add'])">新增</el-button>
52 53 </el-col>
53 54 <el-col :span="1.5">
54   - <el-button size="mini" @click="handleExport" v-hasPermi="['business:threestep:export']">导出</el-button>
  55 + <el-button size="mini" @click="handleExport">导出</el-button>
55 56 </el-col>
56 57 <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
57 58 </el-row>
... ... @@ -87,17 +88,16 @@
87 88 <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
88 89 <template slot-scope="scope">
89 90 <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row,0)"
90   - v-hasPermi="['business:threestep:edit']" v-if="queryParams.pageStatus==1 && scope.row.status==1 && scope.row.checkEndTime == null">抽查</el-button>
  91 + v-if="queryParams.pageStatus==1 && scope.row.status==1 && scope.row.checkEndTime == null
  92 + && checkPer(['business.supervision.threestep.spot'])">抽查</el-button>
91 93 <el-button size="mini" type="text" icon="el-icon-edit" @click="reSub(scope.row)"
92   - v-hasPermi="['business:threestep:add']" v-if="scope.row.status==2">被驳回</el-button>
93   -
94   - <el-button size="mini" type="text" @click="handleUpdate(scope.row,1)" v-hasPermi="['business:threestep:edit']">查看详情</el-button>
  94 + v-if="scope.row.status==2 && checkPer(['business.supervision.threestep.add'])">被驳回</el-button>
  95 + <el-button size="mini" type="text" @click="handleUpdate(scope.row,1)">查看详情</el-button>
95 96 </template>
96 97 </el-table-column>
97 98 </el-table>
98 99  
99   - <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
100   - @pagination="getList" />
  100 + <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
101 101  
102 102 <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body v-loading="loading">
103 103 <el-form ref="form" :model="form" :rules="rules" label-width="100px" v-if="open">
... ... @@ -122,38 +122,16 @@
122 122 <el-row type="flex" justify="center" v-if="form.type != null">
123 123 <el-col >
124 124 <el-form-item :label="labelName" prop="name">
125   - <el-select v-model="form.name" filterable reserve-keyword @change="getObjId">
126   - <el-option v-for="item in remoteData" :label="item.name"
  125 + <el-select v-model="form.name" filterable reserve-keyword @change="getObjId" v-el-select-loadmore="loadMore(rangeNumber)">
  126 + <el-option v-for="item in remoteData.slice(0, rangeNumber)" :label="item.name"
127 127 :value="item.name" :key="item.id" v-if="!form.place || item.areaCode == form.place">
128 128 </el-option>
129 129 </el-select>
130 130 </el-form-item>
131 131 </el-col>
132   - <!-- <el-col :span="12">
133   - <el-form-item :label="labelName2" prop="place">
134   - <el-select v-model="bindname" filterable reserve-keyword @change="getEarthsiteId">
135   - <el-option v-if="item.show"
136   - v-for="item in bindData"
137   - :label="item.name"
138   - :value="item.name"
139   - :key="item.id">
140   - </el-option>
141   - </el-select>
142   - </el-form-item>
143   - </el-col> -->
144 132 </el-row>
145   - <!-- <el-row type="flex" justify="center" v-if="form.type != null">
146   - <el-col>
147   - <el-form-item label="消纳合同" prop="contract">
148   - <el-select v-model="form.contract" filterable reserve-keyword @change="conractCheck">
149   - <el-option v-for="item in filterContract" :label="item.contractNo" :value="item.contractNo" :key="item.id">
150   - </el-option>
151   - </el-select>
152   - </el-form-item>
153   - </el-col>
154   - </el-row> -->
155 133 <el-row type="flex" justify="center" v-if="form.type == 0" >
156   - <el-col :span="12" >
  134 + <el-col :span="24" >
157 135 <el-form-item label="运输企业" prop="companys">
158 136 <el-select v-model="form.companys" filterable multiple @change="checkCompany" >
159 137 <el-option v-for="item in companyList" :label="item.name" :value="item.name" :key="item.id"
... ... @@ -161,12 +139,14 @@
161 139 </el-select>
162 140 </el-form-item>
163 141 </el-col>
164   - <el-col :span="12" >
165   - <el-form-item label="运输车辆" prop="companyTrucks" >
166   - <el-select v-model="form.companyTrucks" filterable multiple reserve-keyword >
167   - <el-option v-for="item in truckList" :label="item.licenseplateNo" :value="item.id" :key="item.id"
168   - v-if="form.companys && (form.companys.indexOf(item.companyName) > -1)"></el-option>
169   - </el-select>
  142 + </el-row>
  143 +
  144 + <el-row type="flex" justify="center" v-if="form.type == 0" >
  145 + <el-col :span="24" >
  146 + <el-form-item label="运输车辆" prop="trucks" >
  147 + <el-checkbox-group v-model="form.trucks" style="max-height: 200px;overflow: auto;">
  148 + <el-checkbox :label="item.licenseplateNo" v-for="item in truckList" v-if="form.companys && (form.companys.indexOf(item.companyName) > -1)"/>
  149 + </el-checkbox-group>
170 150 </el-form-item>
171 151 </el-col>
172 152 </el-row>
... ... @@ -196,6 +176,10 @@
196 176 :preview-src-list="[item.url]"
197 177 :z-index="2000">
198 178 </el-image>
  179 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  180 + v-for="item in videos[0]">
  181 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  182 + </div>
199 183 <el-input v-model="form.img0" type="hidden"></el-input>
200 184 <p v-for="(img,index) in form.img0">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(0,img)" style="color:red"> x</a></p>
201 185 </el-col>
... ... @@ -208,6 +192,11 @@
208 192 :preview-src-list="[item.url]"
209 193 :z-index="2000">
210 194 </el-image>
  195 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  196 + v-for="item in videos[1]" >
  197 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  198 + </div>
  199 +
211 200 <el-input v-model="form.img1" type="hidden"></el-input>
212 201 <p v-for="(img,index) in form.img1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(1,img)" style="color:red"> x</a></p>
213 202 </el-col>
... ... @@ -220,6 +209,10 @@
220 209 :preview-src-list="[item.url]"
221 210 :z-index="2000">
222 211 </el-image>
  212 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  213 + v-for="item in videos[2]" >
  214 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  215 + </div>
223 216 <el-input v-model="form.img2" type="hidden"></el-input>
224 217 <p v-for="(img,index) in form.img2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(2,img)" style="color:red"> x</a></p>
225 218 </el-col>
... ... @@ -232,6 +225,10 @@
232 225 :preview-src-list="[item.url]"
233 226 :z-index="2000">
234 227 </el-image>
  228 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  229 + v-for="item in videos[3]" >
  230 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  231 + </div>
235 232 <el-input v-model="form.img3" type="hidden"></el-input>
236 233 <p v-for="(img,index) in form.img3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(3,img)" style="color:red"> x</a></p>
237 234 </el-col>
... ... @@ -246,6 +243,10 @@
246 243 :preview-src-list="[item.url]"
247 244 :z-index="2000">
248 245 </el-image>
  246 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  247 + v-for="item in videos[4]" >
  248 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  249 + </div>
249 250 <el-input v-model="form.img4" type="hidden"></el-input>
250 251 <p v-for="(img,index) in form.img4">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(4,img)" style="color:red"> x</a></p>
251 252 </el-col>
... ... @@ -258,6 +259,10 @@
258 259 :preview-src-list="[item.url]"
259 260 :z-index="2000">
260 261 </el-image>
  262 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  263 + v-for="item in videos[5]" >
  264 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  265 + </div>
261 266 <el-input v-model="form.img5" type="hidden"></el-input>
262 267 <p v-for="(img,index) in form.img5">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(5,img)" style="color:red"> x</a></p>
263 268 </el-col>
... ... @@ -270,6 +275,10 @@
270 275 :preview-src-list="[item.url]"
271 276 :z-index="2000">
272 277 </el-image>
  278 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  279 + v-for="item in videos[6]" >
  280 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  281 + </div>
273 282 <el-input v-model="form.img6" type="hidden"></el-input>
274 283 <p v-for="(img,index) in form.img6">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(6,img)" style="color:red"> x</a></p>
275 284 </el-col>
... ... @@ -282,6 +291,10 @@
282 291 :preview-src-list="[item.url]"
283 292 :z-index="2000">
284 293 </el-image>
  294 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  295 + v-for="item in videos[7]" >
  296 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  297 + </div>
285 298 <el-input v-model="form.img7" type="hidden"></el-input>
286 299 <p v-for="(img,index) in form.img7">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(7,img)" style="color:red"> x</a></p>
287 300 </el-col>
... ... @@ -296,6 +309,10 @@
296 309 :preview-src-list="[item.url]"
297 310 :z-index="2000">
298 311 </el-image>
  312 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  313 + v-for="item in videos[8]" >
  314 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  315 + </div>
299 316 <el-input v-model="form.img8" type="hidden"></el-input>
300 317 <p v-for="(img,index) in form.img8">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(8,img)" style="color:red"> x</a></p>
301 318 </el-col>
... ... @@ -308,6 +325,10 @@
308 325 :preview-src-list="[item.url]"
309 326 :z-index="2000">
310 327 </el-image>
  328 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  329 + v-for="item in videos[9]" >
  330 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  331 + </div>
311 332 <el-input v-model="form.img9" type="hidden"></el-input>
312 333 <p v-for="(img,index) in form.img9">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(9,img)" style="color:red"> x</a></p>
313 334 </el-col>
... ... @@ -320,6 +341,10 @@
320 341 :preview-src-list="[item.url]"
321 342 :z-index="2000">
322 343 </el-image>
  344 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  345 + v-for="item in videos[10]" >
  346 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  347 + </div>
323 348 <el-input v-model="form.img10" type="hidden"></el-input>
324 349 <p v-for="(img,index) in form.img10">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(10,img)" style="color:red"> x</a></p>
325 350 </el-col>
... ... @@ -332,6 +357,10 @@
332 357 :preview-src-list="[item.url]"
333 358 :z-index="2000">
334 359 </el-image>
  360 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  361 + v-for="item in videos[11]" >
  362 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  363 + </div>
335 364 <el-input v-model="form.img11" type="hidden"></el-input>
336 365 <p v-for="(img,index) in form.img11">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(11,img)" style="color:red"> x</a></p>
337 366 </el-col>
... ... @@ -344,6 +373,10 @@
344 373 :preview-src-list="[item.url]"
345 374 :z-index="2000">
346 375 </el-image>
  376 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  377 + v-for="item in videos[12]" >
  378 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  379 + </div>
347 380 <el-input v-model="form.img12" type="hidden"></el-input>
348 381 <p v-for="(img,index) in form.img12">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(12,img)" style="color:red"> x</a></p>
349 382 </el-col>
... ... @@ -378,6 +411,10 @@
378 411 :preview-src-list="[item.url]"
379 412 :z-index="2000">
380 413 </el-image>
  414 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  415 + v-for="item in videos[91]" >
  416 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  417 + </div>
381 418 <el-input v-model="form.attchItem1" type="hidden"></el-input>
382 419 <p v-for="(img,index) in form.attchItem1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(1,img,91)" style="color:red"> x</a></p>
383 420 </el-col>
... ... @@ -390,6 +427,10 @@
390 427 :preview-src-list="[item.url]"
391 428 :z-index="2000">
392 429 </el-image>
  430 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  431 + v-for="item in videos[92]" >
  432 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  433 + </div>
393 434 <el-input v-model="form.attchItem2" type="hidden"></el-input>
394 435 <p v-for="(img,index) in form.attchItem2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(2,img,92)" style="color:red"> x</a></p>
395 436 </el-col>
... ... @@ -402,6 +443,10 @@
402 443 :preview-src-list="[item.url]"
403 444 :z-index="2000">
404 445 </el-image>
  446 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  447 + v-for="item in videos[93]" >
  448 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  449 + </div>
405 450 <el-input v-model="form.attchItem3" type="hidden"></el-input>
406 451 <p v-for="(img,index) in form.attchItem3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(3,img,93)" style="color:red"> x</a></p>
407 452 </el-col>
... ... @@ -424,7 +469,7 @@
424 469 <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList"
425 470 :on-success="uploadSuccess" :before-upload="beforeUpload">
426 471 <el-button size="small" type="primary">选择附件</el-button>
427   - <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg、png、pdf、word文件</div>
  472 + <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg、png、pdf、mp4,avi,word文件</div>
428 473 </el-upload>
429 474 <div style="height: 40px;width:100%;">
430 475 <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button>
... ...
trash-ui/src/views/business/threestep/threestepInfo.vue
... ... @@ -79,6 +79,11 @@
79 79 :preview-src-list="[slides1(img)]"
80 80 :z-index="2000">
81 81 </el-image>
  82 +
  83 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  84 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  85 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  86 + </div>
82 87 <br/>
83 88 <a @click="downloadFile(img);" style="color: blue;">{{img.split("/")[img.split("/").length -1]}}</a>
84 89 </el-col>
... ... @@ -94,6 +99,10 @@
94 99 :preview-src-list="[slides1(img)]"
95 100 :z-index="2000">
96 101 </el-image>
  102 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  103 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  104 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  105 + </div>
97 106 <br/>
98 107 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
99 108 </el-col>
... ... @@ -109,6 +118,10 @@
109 118 :preview-src-list="[slides1(img)]"
110 119 :z-index="2000">
111 120 </el-image>
  121 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  122 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  123 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  124 + </div>
112 125 <br/>
113 126 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
114 127 </el-col>
... ... @@ -124,6 +137,10 @@
124 137 :preview-src-list="[slides1(img)]"
125 138 :z-index="2000">
126 139 </el-image>
  140 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  141 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  142 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  143 + </div>
127 144 <br/>
128 145 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
129 146 </el-col>
... ... @@ -139,6 +156,10 @@
139 156 :preview-src-list="[slides1(img)]"
140 157 :z-index="2000">
141 158 </el-image>
  159 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  160 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  161 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  162 + </div>
142 163 <br/>
143 164 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
144 165 </el-col>
... ... @@ -154,6 +175,10 @@
154 175 :preview-src-list="[slides1(img)]"
155 176 :z-index="2000">
156 177 </el-image>
  178 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  179 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  180 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  181 + </div>
157 182 <br/>
158 183 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
159 184 </el-col>
... ... @@ -169,6 +194,10 @@
169 194 :preview-src-list="[slides1(img)]"
170 195 :z-index="2000">
171 196 </el-image>
  197 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  198 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  199 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  200 + </div>
172 201 <br/>
173 202 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
174 203 </el-col>
... ... @@ -184,6 +213,10 @@
184 213 :preview-src-list="[slides1(img)]"
185 214 :z-index="2000">
186 215 </el-image>
  216 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  217 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  218 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  219 + </div>
187 220 <br/>
188 221 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
189 222 </el-col>
... ... @@ -199,6 +232,10 @@
199 232 :preview-src-list="[slides1(img)]"
200 233 :z-index="2000">
201 234 </el-image>
  235 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  236 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  237 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  238 + </div>
202 239 <br/>
203 240 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
204 241 </el-col>
... ... @@ -214,6 +251,10 @@
214 251 :preview-src-list="[slides1(img)]"
215 252 :z-index="2000">
216 253 </el-image>
  254 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  255 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  256 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  257 + </div>
217 258 <br/>
218 259 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
219 260 </el-col>
... ... @@ -229,6 +270,10 @@
229 270 :preview-src-list="[slides1(img)]"
230 271 :z-index="2000">
231 272 </el-image>
  273 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  274 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  275 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  276 + </div>
232 277 <br/>
233 278 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
234 279 </el-col>
... ... @@ -244,6 +289,10 @@
244 289 :preview-src-list="[slides1(img)]"
245 290 :z-index="2000">
246 291 </el-image>
  292 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  293 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  294 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  295 + </div>
247 296 <br/>
248 297 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
249 298 </el-col>
... ... @@ -259,6 +308,10 @@
259 308 :preview-src-list="[slides1(img)]"
260 309 :z-index="2000">
261 310 </el-image>
  311 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  312 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  313 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  314 + </div>
262 315 <br/>
263 316 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
264 317 </el-col>
... ... @@ -307,6 +360,10 @@
307 360 :preview-src-list="[slides1(img)]"
308 361 :z-index="2000">
309 362 </el-image>
  363 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  364 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  365 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  366 + </div>
310 367 <br/>
311 368 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
312 369 </el-col>
... ... @@ -322,6 +379,10 @@
322 379 :preview-src-list="[slides1(img)]"
323 380 :z-index="2000">
324 381 </el-image>
  382 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  383 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  384 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  385 + </div>
325 386 <br/>
326 387 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
327 388 </el-col>
... ... @@ -337,6 +398,10 @@
337 398 :preview-src-list="[slides1(img)]"
338 399 :z-index="2000">
339 400 </el-image>
  401 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  402 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  403 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  404 + </div>
340 405 <br/>
341 406 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
342 407 </el-col>
... ... @@ -352,6 +417,10 @@
352 417 :preview-src-list="[slides1(img)]"
353 418 :z-index="2000">
354 419 </el-image>
  420 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  421 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  422 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  423 + </div>
355 424 <br/>
356 425 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
357 426 </el-col>
... ... @@ -367,6 +436,10 @@
367 436 :preview-src-list="[slides1(img)]"
368 437 :z-index="2000">
369 438 </el-image>
  439 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  440 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  441 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  442 + </div>
370 443 <br/>
371 444 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
372 445 </el-col>
... ... @@ -382,6 +455,10 @@
382 455 :preview-src-list="[slides1(img)]"
383 456 :z-index="2000">
384 457 </el-image>
  458 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  459 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  460 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  461 + </div>
385 462 <br/>
386 463 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
387 464 </el-col>
... ... @@ -397,6 +474,10 @@
397 474 :preview-src-list="[slides1(img)]"
398 475 :z-index="2000">
399 476 </el-image>
  477 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  478 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  479 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  480 + </div>
400 481 <br/>
401 482 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
402 483 </el-col>
... ... @@ -412,6 +493,10 @@
412 493 :preview-src-list="[slides1(img)]"
413 494 :z-index="2000">
414 495 </el-image>
  496 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  497 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  498 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  499 + </div>
415 500 <br/>
416 501 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
417 502 </el-col>
... ... @@ -427,6 +512,10 @@
427 512 :preview-src-list="[slides1(img)]"
428 513 :z-index="2000">
429 514 </el-image>
  515 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  516 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  517 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  518 + </div>
430 519 <br/>
431 520 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
432 521 </el-col>
... ... @@ -442,6 +531,10 @@
442 531 :preview-src-list="[slides1(img)]"
443 532 :z-index="2000">
444 533 </el-image>
  534 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  535 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  536 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  537 + </div>
445 538 <br/>
446 539 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
447 540 </el-col>
... ... @@ -457,6 +550,10 @@
457 550 :preview-src-list="[slides1(img)]"
458 551 :z-index="2000">
459 552 </el-image>
  553 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  554 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  555 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  556 + </div>
460 557 <br/>
461 558 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
462 559 </el-col>
... ... @@ -472,6 +569,10 @@
472 569 :preview-src-list="[slides1(img)]"
473 570 :z-index="2000">
474 571 </el-image>
  572 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  573 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  574 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  575 + </div>
475 576 <br/>
476 577 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
477 578 </el-col>
... ... @@ -487,6 +588,10 @@
487 588 :preview-src-list="[slides1(img)]"
488 589 :z-index="2000">
489 590 </el-image>
  591 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  592 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  593 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  594 + </div>
490 595 <br/>
491 596 <a @click="downloadFile(img);" style="color: blue;" >{{img.split("/")[img.split("/").length -1]}}</a>
492 597 </el-col>
... ...
trash-ui/src/views/business/truckActivate/index.vue
... ... @@ -45,7 +45,7 @@
45 45 <el-row :gutter="10" class="mb8">
46 46 <el-col :span="1.5">
47 47 <el-button
48   - v-if="this.queryParams.status==0"
  48 + v-if="this.queryParams.status==0 && checkPer(['business.supervision.truckActivate.active'])"
49 49 type="primary"
50 50 size="mini"
51 51 @click="handleAdd"
... ...
trash-ui/src/views/caseOffline/caseOffline/index.vue
... ... @@ -33,6 +33,7 @@
33 33 size="mini"
34 34 @click="handleAdd"
35 35 v-hasPermi="['caseOffline:caseOffline:add']"
  36 + v-if="checkPer(['intelligencecontrols.messagemanage.add'])"
36 37 >新增
37 38 </el-button>
38 39 </el-col>
... ... @@ -96,7 +97,7 @@
96 97 </el-select>
97 98 </el-form-item>
98 99 <el-form-item :label="form.siteType==0?'工地名称':'处理场所名称'" prop="siteName">
99   - <el-select v-model="form.siteName" placeholder="请选择类型">
  100 + <el-select v-model="form.siteName" placeholder="请选择类型" allow-create filterable>
100 101 <el-option v-for="item in data[form.siteType]" :label="item.name" :value="item.name"
101 102 @native.click="getSite(item)"/>
102 103 </el-select>
... ... @@ -124,8 +125,8 @@
124 125 <video width="100%" controls="controls" height="100%" :src="item.url"></video>
125 126 </div>
126 127 <el-input v-model="form.attach" type="hidden"></el-input>
127   - <div style="color: blue;" v-for="(img,index) in form.attach">{{ img.split("/")[img.split("/").length - 1] }}<a
128   - @click="removeAttchItem(index,img)" style="color:red;">X</a></div>
  128 + <div style="color: blue;" v-for="(img,index) in form.attach">{{ img.split("/")[img.split("/").length - 1] }}
  129 + <a @click="removeAttchItem(index,img)" style="color:red;">X</a></div>
129 130 </el-form-item>
130 131  
131 132 </el-form>
... ...
trash-ui/src/views/casefile/violationCaseFile/index.vue
... ... @@ -54,6 +54,8 @@
54 54 size="mini"
55 55 @click="handleAdd"
56 56 v-hasPermi="['casefile:violationCaseFile:add']"
  57 +
  58 + v-if="checkPer(['intelligencecontrols.messagemanage.enter'])"
57 59 >违规案卷录入</el-button>
58 60 </el-col>
59 61 <!-- <el-col :span="1.5">-->
... ...
trash-ui/src/views/casefile/violationWarningInformation/index.vue
... ... @@ -46,6 +46,8 @@
46 46 size="mini"
47 47 @click="handleAdd"
48 48 v-hasPermi="['casefile:violationWarningInformation:add']"
  49 +
  50 + v-if="checkPer(['taskrun.messagetask.add'])"
49 51 >预警信息录入</el-button>
50 52 </el-col>
51 53 <!-- <el-col :span="1.5">-->
... ...
trash-ui/src/views/h5/caseOffline/index.vue
... ... @@ -95,7 +95,7 @@
95 95 </el-select>
96 96 </el-form-item>
97 97 <el-form-item :label="form.siteType==0?'工地名称':'处理场所名称'" prop="siteName">
98   - <el-select v-model="form.siteName" placeholder="请选择类型">
  98 + <el-select v-model="form.siteName" placeholder="请选择类型" allow-create filterable>
99 99 <el-option v-for="item in data[form.siteType]" :label="item.name" :value="item.name" @native.click="getSite(item)"/>
100 100 </el-select>
101 101 </el-form-item>
... ...
trash-ui/src/views/h5/dayWorkReport/index.vue
1 1 <template>
2 2 <div class="app-container" >
3 3 <el-row :gutter="10" class="mb8">
4   - <el-col :span="1.5">
5   - <el-button :class="{'el-button':true, 'el-button--primary':this.queryParams.pageStatus==0}" size="mini"
6   - @click="getList(0);">报工记录</el-button>
7   - </el-col>
8   - <el-col :span="1.5">
9   - <el-button :class="{'el-button':true,'el-button--primary':this.queryParams.pageStatus==1}" size="mini"
10   - @click="getList(1);">历史报工记录</el-button>
11   - </el-col>
12   - </el-row>
  4 + <el-col :span="1.5">
  5 + <el-button :class="{'el-button':true, 'el-button--primary':this.queryParams.pageStatus==0}" size="mini" @click="getList(0);">有效报工记录</el-button>
  6 + </el-col>
  7 + <el-col :span="1.5">
  8 + <el-button :class="{'el-button':true,'el-button--primary':this.queryParams.pageStatus==1}" size="mini" @click="getList(1);">历史报工记录</el-button>
  9 + </el-col>
  10 +
  11 + <el-col :span="1.5">
  12 + <el-button :class="{'el-button':true, 'el-button--primary':this.queryParams.pageStatus==2}" size="mini" @click="getList(2);">工地报工记录</el-button>
  13 + </el-col>
  14 + <el-col :span="1.5">
  15 + <el-button :class="{'el-button':true,'el-button--primary':this.queryParams.pageStatus==3}" size="mini" @click="getList(3);">处理场所报工记录</el-button>
  16 + </el-col>
  17 +
  18 + </el-row>
  19 +
  20 + <el-form :model="queryParams" ref="queryForm" label-width="100px">
  21 + <el-row v-if="this.queryParams.his < 2">
  22 + <el-form-item label="工地名称" >
  23 + <!-- <el-input v-model="queryParams.name" placeholder="请输入项目名称" size="small" /> -->
  24 +
  25 + <el-select v-model="queryParams.name" placeholder="请输入工地名称 " filterable size="small">
  26 + <el-option v-for="item in names" :label="item" :value="item" />
  27 + </el-select>
  28 + </el-form-item>
  29 + <el-form-item label="处理场所名称" >
  30 + <!-- <el-input v-model="queryParams.earthsitesName" placeholder="请输入处理场所名称" size="small" />-->
  31 +
  32 + <el-select v-model="queryParams.earthsitesName" placeholder="请输入处理场所名称 " filterable size="small">
  33 + <el-option v-for="item in enames" :label="item" :value="item" />
  34 + </el-select>
  35 + </el-form-item>
  36 + <el-form-item label="工地区属" >
  37 + <el-select v-model="queryParams.place" placeholder="工地所属区域 " size="small">
  38 + <el-option v-for="item in areas" :label="item.name" :value="item.code" />
  39 + </el-select>
  40 + </el-form-item>
  41 + <el-form-item label="处理场所区属" >
  42 + <el-select v-model="queryParams.subReason" placeholder="工地所属区域 " size="small">
  43 + <el-option v-for="item in areas" :label="item.name" :value="item.name" />
  44 + </el-select>
  45 + </el-form-item>
  46 + </el-row>
  47 + <el-row v-if="this.queryParams.his > 1">
  48 + <el-form-item label="名称" >
  49 + <!-- <el-input v-model="queryParams.name" placeholder="请输入项目名称" size="small" /> -->
13 50  
14   - <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="100px">
15   - <el-form-item label="工地名称" prop="name">
16   - <el-input v-model="queryParams.name" placeholder="请输入项目名称" size="small"
17   - />
18   - </el-form-item>
19   - <el-form-item label="处理场所名称" prop="earthsitesName">
20   - <el-input v-model="queryParams.earthsitesName" placeholder="请输入处理场所名称" size="small"
21   - />
22   - </el-form-item>
23   - <el-form-item label="工地区属" prop="place">
24   - <el-select v-model="queryParams.place" placeholder="工地所属区域 " size="small">
25   - <el-option v-for="item in areas" :label="item.name" :value="item.code" />
26   - </el-select>
27   - </el-form-item>
28   -
29   - <el-form-item label="处理场所区属" prop="subReason">
30   - <el-select v-model="queryParams.subReason" placeholder="工地所属区域 " size="small">
31   - <el-option v-for="item in areas" :label="item.name" :value="item.name" />
32   - </el-select>
33   - </el-form-item>
34   - <el-form-item label="开始时间" prop="workStartTime" v-if="this.queryParams.his==1">
35   - <el-date-picker size="small" style="width: 200px" v-model="queryParams.workStartTime" type="date"
36   - value-format="yyyy-MM-dd" placeholder="开始时间">
37   - </el-date-picker>
38   - </el-form-item>
39   - <el-form-item label="结束时间" prop="workEndTime" v-if="this.queryParams.his==1">
40   - <el-date-picker size="small" style="width: 200px" v-model="queryParams.workEndTime" type="date"
41   - value-format="yyyy-MM-dd" placeholder="结束时间">
42   - </el-date-picker>
43   - </el-form-item>
44   -
45   - <el-form-item>
46   - <el-button type="primary" size="mini" @click="handleQuery">搜索</el-button>
47   - <el-button size="mini" @click="resetQuery">重置</el-button>
48   - </el-form-item>
49   - </el-form>
50   -
51   -
52   - <p> {{dayWorkCount}}</p>
  51 + <el-select v-model="queryParams.name" placeholder="请输入工地名称 " filterable size="small">
  52 + <el-option v-for="item in names" :label="item" :value="item" />
  53 + </el-select>
  54 + </el-form-item>
  55 +
  56 + <el-form-item label="区属" >
  57 + <el-select v-model="queryParams.place" placeholder="工地所属区域 " size="small">
  58 + <el-option v-for="item in areas" :label="item.name" :value="item.code" />
  59 + </el-select>
  60 + </el-form-item>
  61 + </el-row>
  62 + <el-row>
  63 + <el-form-item label="开始时间" v-if="this.queryParams.his > 0">
  64 + <el-date-picker
  65 + v-model="queryParams.timeRange"
  66 + value-format="yyyy-MM-dd HH:mm:ss"
  67 + type="datetimerange"
  68 + range-separator="至"
  69 + start-placeholder="开始日期"
  70 + end-placeholder="结束日期">
  71 + </el-date-picker>
  72 + </el-form-item>
  73 + </el-row>
  74 + <el-form-item>
  75 + <el-button type="primary" size="mini" @click="handleQuery">搜索</el-button>
  76 + <el-button size="mini" @click="resetQuery">重置</el-button>
  77 + </el-form-item>
  78 + </el-form>
  79 +
  80 + <p v-if="queryParams.his < 2"> {{dayWorkCount}}</p>
53 81  
54 82  
55 83 <el-row :gutter="10" class="mb8">
56 84 <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
57 85 </el-row>
58 86  
59   - <el-card class="box-card" v-for="item in threestepList" style="margin-bottom: 10px;">
  87 + <el-card class="box-card" v-for="item in threestepList" style="margin-bottom: 10px;" v-if="!queryParams.his || queryParams.his == 1">
60 88 <p>{{item.createTime}} {{item.descript}}</p>
61 89 <el-row class="card_row">
62 90 <el-col :span="24" class="card_grid">
... ... @@ -94,6 +122,27 @@
94 122 <div>申请报工时间:{{item.eselfCheckTime}}</div>
95 123 </el-col>
96 124 </el-row>
  125 + </el-card>
  126 +
  127 + <el-card class="box-card" v-for="item in threestepList" style="margin-bottom: 10px;" v-if="queryParams.his > 1">
  128 + <el-row class="card_row">
  129 + <el-col :span="24" class="card_grid">
  130 + <div class="card_title" style="font-weight: bold;">名称:{{item.name}}</div>
  131 + </el-col>
  132 + </el-row>
  133 + <el-row class="card_row">
  134 + <el-col :span="24" class="card_grid">
  135 + <div class="card_title" style="font-weight: bold;">类型:{{ item.type==0?"工地":"处理场所"}}</div>
  136 + </el-col>
  137 + </el-row>
  138 + <el-row class="card_row">
  139 + <el-col :span="24" class="card_grid" >
  140 + <span >所属区:{{item.place}}</span>
  141 + </el-col>
  142 + <el-col :span="24" class="card_grid" >
  143 + <span >申请报工时间:{{item.selfCheckTime}}</span>
  144 + </el-col>
  145 + </el-row>
97 146  
98 147 </el-card>
99 148  
... ...
trash-ui/src/views/h5/task/companyInfo.vue 0 → 100644
  1 +<template>
  2 + <iframe width="100%" height="600px" frameborder="no" id="iFrame" :src=src></iframe>
  3 +</template>
  4 +
  5 +<script>
  6 +
  7 +
  8 +import store from "@/store";
  9 + import {
  10 + getToken
  11 + } from "@/utils/auth";
  12 +
  13 +
  14 + import {
  15 + getCompanyInfo,
  16 + getArea,
  17 + getDict
  18 + } from "@/api/dict";
  19 +
  20 +
  21 +
  22 + export default {
  23 + name: "ThreestepInfo",
  24 + props: {
  25 + businessKey: {
  26 + type: String
  27 + },
  28 + businessType: {
  29 + type: Number
  30 + },
  31 + },
  32 + data() {
  33 + return {
  34 + src:"",
  35 + sign: store.getters.avatar, //裁剪图片的地址
  36 + areas: [],
  37 + loading: null,
  38 + objectDict: {
  39 + constructionSiteID:"工地ID",
  40 + constructionSiteName:"工地名称",
  41 + earthSiteID:"处理场所ID",
  42 + earthSiteName:"处理场所名称",
  43 + absorbCapacity:"消纳容量",
  44 + startTime:"有效期开始时间 yyyy-mM-dd",
  45 + endTime:"有效期结束时间 yyyy-mM-dd",
  46 + type:"建筑垃圾类型ID",
  47 + typeName:"垃圾类型名称",
  48 + contractNo:"消纳合同编号",
  49 + routeName:"线路名称",
  50 + routeWidth:"线路宽度",
  51 + auditStatus:"审核状态 0-审核中 1-审核通过 2-审核驳回",
  52 + auditStatusName:"审核状态名称",
  53 + contractStatus:"合同状态",
  54 + contractStatusName:"合同状态名称",
  55 + routePoints:"线路信息"},
  56 +
  57 + infoData: {},
  58 +
  59 + dicts:null,
  60 + showPic:false,
  61 + picImage:null,
  62 + }
  63 + },
  64 + created() {
  65 +
  66 +
  67 + let id;
  68 + if (this.businessKey.split(":").length == 2) {
  69 + id = this.businessKey.split(":")[1];
  70 + } else {
  71 + id = this.businessKey;
  72 + }
  73 +
  74 + let http = "http://183.66.242.6:14601";
  75 +
  76 + if(this.businessType == 0){
  77 + this.src = http + "/single/#/enterprise-information/information-detail?id=" + id;
  78 + }
  79 + if(this.businessType == 1){
  80 + this.src = http + "/single/#/vehicleInformation/information-detail?id=" + id;
  81 + }
  82 + if(this.businessType == 2){
  83 + this.src = http + "/single/#/constructionInfo/detail?id="+id+"&type=detail";
  84 + }
  85 + if(this.businessType == 3){
  86 + this.src = http + "/single/#/absorptionsitedetail?absorptionId=" + id;
  87 + }
  88 + if(this.businessType == 4){
  89 + this.src = http + "/single/#/contractInfo/detail?id=" + id;
  90 + }
  91 + if(this.businessType == 5){
  92 + this.src = http + "/single/#/driverdetail?driverId=" + id;
  93 + }
  94 +
  95 + },
  96 +
  97 + }
  98 +</script>
  99 +<style>
  100 + .bd{
  101 + padding:5px;
  102 + }
  103 +
  104 +
  105 +
  106 +</style>
... ...
trash-ui/src/views/h5/task/index.vue
... ... @@ -19,7 +19,6 @@
19 19  
20 20 <!-- 审批对话框 -->
21 21 <el-dialog :title="title" :visible.sync="open" v-if="open" width="300px" append-to-body>
22   -
23 22 <div slot="footer" class="dialog-footer">
24 23 <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>
25 24 <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>
... ... @@ -28,7 +27,7 @@
28 27  
29 28 <el-dialog :title="title" :visible.sync="open2" width="400px" append-to-body>
30 29 <threestepInfo :businessKey="businessKey" v-if="open2" />
31   - <el-form v-if="taskName == '巡查'" :rules="rules" label-width="100px">
  30 + <el-form :rules="rules" label-width="100px">
32 31 <el-row >
33 32 <el-form-item label="补充说明">
34 33 <el-input type="textarea" v-model="form.subReason" />
... ... @@ -194,11 +193,17 @@
194 193  
195 194  
196 195 <el-dialog :title="title" :visible.sync="construct" width="300px" append-to-body>
197   - <constructsiteInfo :businessKey="businessKey" :signData="signData" v-if="construct" />
198   - <el-row>
  196 + <companyInfo :businessKey="businessKey" :businessType="2" :signData="signData" v-if="construct"/>
  197 + <div v-for="item in this.form.formData">
  198 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  199 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  200 + </div>
199 201  
200   - <el-input v-model="signDataInfo" type="textarea" :rows="4" style="margin-top: 10px;"></el-input>
201   - </el-row>
  202 + <el-table :data="hisfromData" v-if="hisfromData != null">
  203 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  204 + <el-table-column label="审批人" align="center" prop="createName"/>
  205 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  206 + </el-table>
202 207 <div slot="footer" class="dialog-footer">
203 208 <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>
204 209 <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>
... ... @@ -207,7 +212,18 @@
207 212  
208 213  
209 214 <el-dialog :title="title" :visible.sync="earthsites" width="300px" append-to-body>
210   - <earthsitesInfo :businessKey="businessKey" v-if="earthsites" />
  215 + <companyInfo :businessKey="businessKey" :businessType="3" v-if="earthsites"/>
  216 + <div v-for="item in this.form.formData">
  217 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  218 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  219 + </div>
  220 +
  221 + <el-table :data="hisfromData" v-if="hisfromData != null">
  222 +
  223 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  224 + <el-table-column label="审批人" align="center" prop="createName"/>
  225 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  226 + </el-table>
211 227 <div slot="footer" class="dialog-footer">
212 228 <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>
213 229 <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>
... ... @@ -215,7 +231,19 @@
215 231 </el-dialog>
216 232  
217 233 <el-dialog :title="title" :visible.sync="contract" width="300px" append-to-body>
218   - <contractInfo :businessKey="businessKey" v-if="contract" />
  234 + <companyInfo :businessKey="businessKey" :businessType="4" v-if="contract"/>
  235 +
  236 + <div v-for="item in this.form.formData">
  237 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  238 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  239 + </div>
  240 +
  241 + <el-table :data="hisfromData" v-if="hisfromData != null">
  242 +
  243 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  244 + <el-table-column label="审批人" align="center" prop="createName"/>
  245 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  246 + </el-table>
219 247 <div slot="footer" class="dialog-footer">
220 248 <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>
221 249 <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>
... ... @@ -340,7 +368,18 @@
340 368 </el-dialog>
341 369  
342 370 <el-dialog :title="title" :visible.sync="company" width="300px" append-to-body :close-on-click-modal="false">
343   - <companyInfo :businessKey="businessKey" v-if="company"/>
  371 + <companyInfo :businessKey="businessKey" :businessType="0" v-if="company"/>
  372 + <div v-for="item in this.form.formData">
  373 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  374 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  375 + </div>
  376 +
  377 + <el-table :data="hisfromData" v-if="hisfromData != null">
  378 +
  379 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  380 + <el-table-column label="审批人" align="center" prop="createName"/>
  381 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  382 + </el-table>
344 383 <div slot="footer" class="dialog-footer">
345 384 <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>
346 385 <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>
... ... @@ -348,7 +387,18 @@
348 387 </el-dialog>
349 388  
350 389 <el-dialog :title="title" :visible.sync="vehicle" width="300px" append-to-body :close-on-click-modal="false">
351   - <vehicleInfo :businessKey="businessKey" v-if="vehicle"/>
  390 + <companyInfo :businessKey="businessKey" :businessType="1" v-if="vehicle"/>
  391 + <div v-for="item in this.form.formData">
  392 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  393 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  394 + </div>
  395 +
  396 + <el-table :data="hisfromData" v-if="hisfromData != null">
  397 +
  398 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  399 + <el-table-column label="审批人" align="center" prop="createName"/>
  400 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  401 + </el-table>
352 402 <div slot="footer" class="dialog-footer">
353 403 <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>
354 404 <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>
... ... @@ -356,7 +406,18 @@
356 406 </el-dialog>
357 407  
358 408 <el-dialog :title="title" :visible.sync="driver" width="300px" append-to-body :close-on-click-modal="false">
359   - <driverInfo :businessKey="businessKey" v-if="driver"/>
  409 + <companyInfo :businessKey="businessKey" :businessType="5" v-if="driver"/>
  410 + <div v-for="item in this.form.formData">
  411 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  412 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  413 + </div>
  414 +
  415 + <el-table :data="hisfromData" v-if="hisfromData != null">
  416 +
  417 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  418 + <el-table-column label="审批人" align="center" prop="createName"/>
  419 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  420 + </el-table>
360 421 <div slot="footer" class="dialog-footer">
361 422 <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>
362 423 <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>
... ... @@ -672,8 +733,7 @@ export default {
672 733 this.leaveApplicationOpen = true;
673 734 return;
674 735 }
675   -
676   - if (this.definitionKey == "workflow_constructsite") {
  736 + if (this.definitionKey == "workflow_constructsite" || this.definitionKey == "workflow_constructsite_edit") {
677 737  
678 738 this.construct = true;
679 739 return;
... ... @@ -980,7 +1040,8 @@ export default {
980 1040 }
981 1041 if(this.definitionKey == "workflow_company" ||
982 1042 this.definitionKey == "workflow_driver" ||
983   - this.definitionKey == "workflow_vehicle" ){
  1043 + this.definitionKey == "workflow_vehicle" ||
  1044 + this.definitionKey == "workflow_constructsite_edit"){
984 1045 formDataSave(this.id, this.form.formData).then(response => {
985 1046 this.msgSuccess("审批成功");
986 1047 this.cancel();
... ...
trash-ui/src/views/h5/task/sitePaper.vue
... ... @@ -2,10 +2,10 @@
2 2 <div v-loading="loading">
3 3  
4 4 <div id="printItem">
5   - <h2 style="text-align:center;">长沙市建筑垃圾处置技术勘意见表</h2>
  5 + <h2 style="text-align:center;">长沙市建筑垃圾处置技术勘意见表</h2>
6 6 <el-row style="border: 1px solid black;" type="flex" align="middle" justify="center">
7 7 <el-col :span="2" class="bd_padding">
8   - 勘人员填写
  8 + 勘人员填写
9 9 </el-col>
10 10 <el-col :span="22" class="bd_left">
11 11 <el-row class="bd_bottom" >
... ...
trash-ui/src/views/h5/task/threestepInfo.vue
... ... @@ -81,6 +81,10 @@
81 81 :preview-src-list="[slides1(img)]"
82 82 :z-index="2000">
83 83 </el-image>
  84 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  85 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  86 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  87 + </div>
84 88 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
85 89 </el-row>
86 90 </el-col>
... ... @@ -98,6 +102,10 @@
98 102 :preview-src-list="[slides1(img)]"
99 103 :z-index="2000">
100 104 </el-image>
  105 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  106 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  107 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  108 + </div>
101 109 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
102 110 </el-row>
103 111 </el-col>
... ... @@ -115,6 +123,10 @@
115 123 :preview-src-list="[slides1(img)]"
116 124 :z-index="2000">
117 125 </el-image>
  126 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  127 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  128 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  129 + </div>
118 130 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
119 131  
120 132 </el-row>
... ... @@ -133,6 +145,10 @@
133 145 :preview-src-list="[slides1(img)]"
134 146 :z-index="2000">
135 147 </el-image>
  148 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  149 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  150 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  151 + </div>
136 152 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
137 153  
138 154 </el-row>
... ... @@ -151,6 +167,10 @@
151 167 :preview-src-list="[slides1(img)]"
152 168 :z-index="2000">
153 169 </el-image>
  170 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  171 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  172 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  173 + </div>
154 174 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
155 175  
156 176 </el-row>
... ... @@ -169,6 +189,10 @@
169 189 :preview-src-list="[slides1(img)]"
170 190 :z-index="2000">
171 191 </el-image>
  192 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  193 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  194 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  195 + </div>
172 196 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
173 197  
174 198 </el-row>
... ... @@ -187,6 +211,10 @@
187 211 :preview-src-list="[slides1(img)]"
188 212 :z-index="2000">
189 213 </el-image>
  214 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  215 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  216 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  217 + </div>
190 218 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
191 219  
192 220 </el-row>
... ... @@ -205,6 +233,10 @@
205 233 :preview-src-list="[slides1(img)]"
206 234 :z-index="2000">
207 235 </el-image>
  236 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  237 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  238 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  239 + </div>
208 240 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
209 241  
210 242 </el-row>
... ... @@ -223,6 +255,10 @@
223 255 :preview-src-list="[slides1(img)]"
224 256 :z-index="2000">
225 257 </el-image>
  258 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  259 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  260 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  261 + </div>
226 262 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
227 263  
228 264 </el-row>
... ... @@ -241,6 +277,10 @@
241 277 :preview-src-list="[slides1(img)]"
242 278 :z-index="2000">
243 279 </el-image>
  280 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  281 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  282 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  283 + </div>
244 284 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
245 285  
246 286 </el-row>
... ... @@ -259,6 +299,10 @@
259 299 :preview-src-list="[slides1(img)]"
260 300 :z-index="2000">
261 301 </el-image>
  302 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  303 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  304 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  305 + </div>
262 306 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
263 307  
264 308 </el-row>
... ... @@ -277,8 +321,12 @@
277 321 :preview-src-list="[slides1(img)]"
278 322 :z-index="2000">
279 323 </el-image>
  324 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  325 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  326 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  327 + </div>
280 328 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
281   -
  329 +
282 330 </el-row>
283 331 </el-col>
284 332 </el-row>
... ... @@ -295,6 +343,10 @@
295 343 :preview-src-list="[slides1(img)]"
296 344 :z-index="2000">
297 345 </el-image>
  346 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  347 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  348 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  349 + </div>
298 350 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
299 351  
300 352 </el-row>
... ... @@ -340,6 +392,10 @@
340 392 :preview-src-list="[slides1(img)]"
341 393 :z-index="2000">
342 394 </el-image>
  395 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  396 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  397 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  398 + </div>
343 399 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
344 400  
345 401 </el-row>
... ... @@ -358,6 +414,10 @@
358 414 :preview-src-list="[slides1(img)]"
359 415 :z-index="2000">
360 416 </el-image>
  417 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  418 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  419 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  420 + </div>
361 421 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
362 422  
363 423 </el-row>
... ... @@ -376,6 +436,10 @@
376 436 :preview-src-list="[slides1(img)]"
377 437 :z-index="2000">
378 438 </el-image>
  439 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  440 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  441 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  442 + </div>
379 443 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
380 444  
381 445 </el-row>
... ... @@ -394,6 +458,10 @@
394 458 :preview-src-list="[slides1(img)]"
395 459 :z-index="2000">
396 460 </el-image>
  461 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  462 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  463 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  464 + </div>
397 465 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
398 466  
399 467 </el-row>
... ... @@ -412,6 +480,10 @@
412 480 :preview-src-list="[slides1(img)]"
413 481 :z-index="2000">
414 482 </el-image>
  483 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  484 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  485 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  486 + </div>
415 487 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
416 488  
417 489 </el-row>
... ... @@ -430,6 +502,10 @@
430 502 :preview-src-list="[slides1(img)]"
431 503 :z-index="2000">
432 504 </el-image>
  505 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  506 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  507 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  508 + </div>
433 509 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
434 510  
435 511 </el-row>
... ... @@ -448,6 +524,10 @@
448 524 :preview-src-list="[slides1(img)]"
449 525 :z-index="2000">
450 526 </el-image>
  527 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  528 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  529 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  530 + </div>
451 531 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
452 532  
453 533 </el-row>
... ... @@ -466,6 +546,10 @@
466 546 :preview-src-list="[slides1(img)]"
467 547 :z-index="2000">
468 548 </el-image>
  549 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  550 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  551 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  552 + </div>
469 553 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
470 554  
471 555 </el-row>
... ... @@ -484,6 +568,10 @@
484 568 :preview-src-list="[slides1(img)]"
485 569 :z-index="2000">
486 570 </el-image>
  571 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  572 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  573 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  574 + </div>
487 575 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
488 576  
489 577 </el-row>
... ... @@ -502,6 +590,10 @@
502 590 :preview-src-list="[slides1(img)]"
503 591 :z-index="2000">
504 592 </el-image>
  593 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  594 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  595 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  596 + </div>
505 597 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
506 598  
507 599 </el-row>
... ... @@ -520,6 +612,10 @@
520 612 :preview-src-list="[slides1(img)]"
521 613 :z-index="2000">
522 614 </el-image>
  615 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  616 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  617 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  618 + </div>
523 619 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
524 620  
525 621 </el-row>
... ... @@ -538,6 +634,10 @@
538 634 :preview-src-list="[slides1(img)]"
539 635 :z-index="2000">
540 636 </el-image>
  637 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  638 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  639 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  640 + </div>
541 641 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
542 642  
543 643 </el-row>
... ... @@ -556,6 +656,10 @@
556 656 :preview-src-list="[slides1(img)]"
557 657 :z-index="2000">
558 658 </el-image>
  659 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  660 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  661 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  662 + </div>
559 663 <a @click="downloadFile(img);" style="color: blue;">{{ img.split("/")[img.split("/").length - 1] }}</a>
560 664  
561 665 </el-row>
... ... @@ -589,6 +693,10 @@
589 693 :preview-src-list="[slides1(sub_img)]"
590 694 :z-index="2000">
591 695 </el-image>
  696 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  697 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  698 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  699 + </div>
592 700 <a @click="downloadFile(sub_img);" style="color: blue;">附件1 - {{ index + 1 }}</a>
593 701  
594 702 </el-row>
... ... @@ -607,6 +715,10 @@
607 715 :preview-src-list="[slides1(sub_img)]"
608 716 :z-index="2000">
609 717 </el-image>
  718 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  719 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  720 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  721 + </div>
610 722 <a @click="downloadFile(sub_img);" style="color: blue;">附件2 - {{ index + 1 }}</a>
611 723  
612 724 </el-row>
... ... @@ -625,6 +737,10 @@
625 737 :preview-src-list="[slides1(sub_img)]"
626 738 :z-index="2000">
627 739 </el-image>
  740 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  741 + v-if="img.indexOf('.mp4') > -1 || img.indexOf('.avi') > -1" >
  742 + <video width="100%" controls="controls" height="100%" :src="slides1(img)"></video>
  743 + </div>
628 744 <a @click="downloadFile(sub_img);" style="color: blue;">附件3 - {{ index + 1 }}</a>
629 745  
630 746 </el-row>
... ...
trash-ui/src/views/h5/taskhistory/index.vue
... ... @@ -11,7 +11,13 @@
11 11 </el-dialog>
12 12  
13 13 <el-dialog :title="title" :visible.sync="construct" width="300px" append-to-body>
14   - <constructsiteInfo :businessKey="businessKey" :signData="signData" v-if="construct" />
  14 + <companyInfo :businessKey="businessKey" :businessType="2" :signData="signData" v-if="construct"/>
  15 +
  16 + <el-table :data="hisfromData" v-if="hisfromData != null">
  17 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  18 + <el-table-column label="审批人" align="center" prop="createName"/>
  19 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  20 + </el-table>
15 21 </el-dialog>
16 22 <!-- 会议管理 -->
17 23 <el-dialog :title="title" :visible.sync="conferenceOpen" width="300px" append-to-body>
... ... @@ -25,11 +31,27 @@
25 31  
26 32  
27 33 <el-dialog :title="title" :visible.sync="earthsites" width="300px" append-to-body>
28   - <earthsitesInfo :businessKey="businessKey" v-if="earthsites" />
  34 + <companyInfo :businessKey="businessKey" :businessType="3" v-if="earthsites"/>
  35 +
  36 +
  37 + <el-table :data="hisfromData" v-if="hisfromData != null">
  38 +
  39 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  40 + <el-table-column label="审批人" align="center" prop="createName"/>
  41 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  42 + </el-table>
29 43 </el-dialog>
30 44  
31 45 <el-dialog :title="title" :visible.sync="contract" width="300px" append-to-body>
32   - <contractInfo :businessKey="businessKey" v-if="contract" />
  46 + <companyInfo :businessKey="businessKey" :businessType="4" v-if="contract"/>
  47 +
  48 +
  49 + <el-table :data="hisfromData" v-if="hisfromData != null">
  50 +
  51 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  52 + <el-table-column label="审批人" align="center" prop="createName"/>
  53 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  54 + </el-table>
33 55 </el-dialog>
34 56  
35 57  
... ... @@ -67,15 +89,36 @@
67 89 <supervisionInfo :infoData="supervisionData"/>
68 90 </el-dialog>
69 91 <el-dialog :title="title" :visible.sync="company" width="300px" append-to-body :close-on-click-modal="false">
70   - <companyInfo :businessKey="businessKey" v-if="company"/>
  92 + <companyInfo :businessKey="businessKey" :businessType="0" v-if="company"/>
  93 +
  94 + <el-table :data="hisfromData" v-if="hisfromData != null">
  95 +
  96 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  97 + <el-table-column label="审批人" align="center" prop="createName"/>
  98 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  99 + </el-table>
71 100 </el-dialog>
72 101  
73 102 <el-dialog :title="title" :visible.sync="vehicle" width="300px" append-to-body :close-on-click-modal="false">
74   - <vehicleInfo :businessKey="businessKey" v-if="vehicle"/>
  103 + <companyInfo :businessKey="businessKey" :businessType="1" v-if="vehicle"/>
  104 +
  105 + <el-table :data="hisfromData" v-if="hisfromData != null">
  106 +
  107 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  108 + <el-table-column label="审批人" align="center" prop="createName"/>
  109 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  110 + </el-table>
75 111 </el-dialog>
76 112  
77 113 <el-dialog :title="title" :visible.sync="driver" width="300px" append-to-body :close-on-click-modal="false">
78   - <driverInfo :businessKey="businessKey" v-if="driver"/>
  114 + <companyInfo :businessKey="businessKey" :businessType="5" v-if="driver"/>
  115 +
  116 + <el-table :data="hisfromData" v-if="hisfromData != null">
  117 +
  118 + <el-table-column label="审批意见" align="center" prop="controlValue"/>
  119 + <el-table-column label="审批人" align="center" prop="createName"/>
  120 + <el-table-column label="审批时间" align="center" prop="createTime"/>
  121 + </el-table>
79 122 </el-dialog>
80 123  
81 124 </div>
... ... @@ -319,12 +362,9 @@
319 362 this.leaveApplicationOpen = true;
320 363 return;
321 364 }
  365 + if (this.definitionKey == "workflow_constructsite" || this.definitionKey == "workflow_constructsite_edit") {
322 366  
323   - if(this.definitionKey == "workflow_constructsite"){
324   - getSignByObjId(this.businessKey.split(":")[1]).then(res=>{
325   - this.signData = res;
326 367 this.construct = true;
327   - });
328 368 return;
329 369 }
330 370 if(this.definitionKey == "workflow_earthsites"){
... ...
trash-ui/src/views/h5/threestep/index.vue
... ... @@ -91,30 +91,13 @@
91 91 </el-select>
92 92 </el-form-item>
93 93 <el-form-item :label="labelName" prop="name" v-if="form.type!=null">
94   - <el-select v-model="form.name" filterable reserve-keyword @change="getObjId">
95   - <el-option v-for="item in remoteData" :label="item.name"
  94 + <el-select v-model="form.name" filterable reserve-keyword @change="getObjId" v-el-select-loadmore="loadMore(rangeNumber)">
  95 + <el-option v-for="item in remoteData.slice(0, rangeNumber)" :label="item.name"
96 96 :value="item.name" :key="item.id" v-if="!form.place || item.areaCode == form.place">
97 97 </el-option>
98 98 </el-select>
99 99 </el-form-item>
100 100  
101   - <el-form-item :label="labelName2" prop="place" v-if="form.type!=null">
102   - <el-select v-model="bindname" filterable reserve-keyword @change="getEarthsiteId">
103   - <el-option v-if="item.show"
104   - v-for="item in bindData"
105   - :label="item.name"
106   - :value="item.name"
107   - :key="item.id">
108   - </el-option>
109   - </el-select>
110   - </el-form-item>
111   -
112   - <el-form-item label="消纳合同" prop="contract" v-if="form.type!=null">
113   - <el-select v-model="form.contract" filterable reserve-keyword @change="conractCheck">
114   - <el-option v-for="item in filterContract" :label="item.contractNo" :value="item.contractNo" :key="item.id">
115   - </el-option>
116   - </el-select>
117   - </el-form-item>
118 101  
119 102 <el-form-item label="运输企业" prop="companys" v-if="form.type==0">
120 103 <el-select v-model="form.companys" filterable multiple @change="checkCompany" >
... ... @@ -123,12 +106,11 @@
123 106 </el-select>
124 107 </el-form-item>
125 108  
126   - <el-form-item label="运输车辆" prop="companyTrucks" v-if="form.type==0">
127   - <el-select v-model="form.companyTrucks" filterable multiple reserve-keyword >
128   - <el-option v-for="item in truckList" :label="item.licenseplateNo" :value="item.id" :key="item.id"
129   - v-if="form.companys && (form.companys.indexOf(item.companyName) > -1)"></el-option>
130   - </el-select>
131   - </el-form-item>
  109 + <el-form-item label="运输车辆" prop="trucks" >
  110 + <el-checkbox-group v-model="form.trucks" style="max-height: 200px;overflow: auto;">
  111 + <el-checkbox :label="item.licenseplateNo" v-for="item in truckList" v-if="form.companys && (form.companys.indexOf(item.companyName) > -1)"/>
  112 + </el-checkbox-group>
  113 + </el-form-item>
132 114  
133 115 <el-form-item label="现场负责人" prop="person" v-if="form.type!=null">
134 116 <el-input v-model="form.person" :maxlength="20" show-word-limit />
... ... @@ -149,6 +131,10 @@
149 131 :preview-src-list="[item.url]"
150 132 :z-index="2000">
151 133 </el-image>
  134 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  135 + v-for="item in videos[0]" >
  136 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  137 + </div>
152 138 <el-input v-model="form.img0" type="hidden"></el-input>
153 139 <p v-for="(img,index) in form.img0">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(0,img)" style="color:red"> x</a></p>
154 140 </el-col>
... ... @@ -160,6 +146,10 @@
160 146 :preview-src-list="[item.url]"
161 147 :z-index="2000">
162 148 </el-image>
  149 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  150 + v-for="item in videos[1]" >
  151 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  152 + </div>
163 153 <el-input v-model="form.img1" type="hidden"></el-input>
164 154 <p v-for="(img,index) in form.img1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(1,img)" style="color:red"> x</a></p>
165 155 </el-col>
... ... @@ -173,6 +163,10 @@
173 163 :preview-src-list="[item.url]"
174 164 :z-index="2000">
175 165 </el-image>
  166 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  167 + v-for="item in videos[2]" >
  168 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  169 + </div>
176 170 <el-input v-model="form.img2" type="hidden"></el-input>
177 171 <p v-for="(img,index) in form.img2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(2,img)" style="color:red"> x</a></p>
178 172 </el-col>
... ... @@ -184,6 +178,10 @@
184 178 :preview-src-list="[item.url]"
185 179 :z-index="2000">
186 180 </el-image>
  181 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  182 + v-for="item in videos[3]" >
  183 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  184 + </div>
187 185 <el-input v-model="form.img3" type="hidden"></el-input>
188 186 <p v-for="(img,index) in form.img3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(3,img)" style="color:red"> x</a></p>
189 187 </el-col>
... ... @@ -197,6 +195,10 @@
197 195 :preview-src-list="[item.url]"
198 196 :z-index="2000">
199 197 </el-image>
  198 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  199 + v-for="item in videos[4]" >
  200 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  201 + </div>
200 202 <el-input v-model="form.img4" type="hidden"></el-input>
201 203 <p v-for="(img,index) in form.img4">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(4,img)" style="color:red"> x</a></p>
202 204 </el-col>
... ... @@ -208,6 +210,10 @@
208 210 :preview-src-list="[item.url]"
209 211 :z-index="2000">
210 212 </el-image>
  213 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  214 + v-for="item in videos[5]" >
  215 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  216 + </div>
211 217 <el-input v-model="form.img5" type="hidden"></el-input>
212 218 <p v-for="(img,index) in form.img5">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(5,img)" style="color:red"> x</a></p>
213 219 </el-col>
... ... @@ -221,6 +227,10 @@
221 227 :preview-src-list="[item.url]"
222 228 :z-index="2000">
223 229 </el-image>
  230 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  231 + v-for="item in videos[6]" >
  232 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  233 + </div>
224 234 <el-input v-model="form.img6" type="hidden"></el-input>
225 235 <p v-for="(img,index) in form.img6">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(6,img)" style="color:red"> x</a></p>
226 236 </el-col>
... ... @@ -232,6 +242,10 @@
232 242 :preview-src-list="[item.url]"
233 243 :z-index="2000">
234 244 </el-image>
  245 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  246 + v-for="item in videos[7]" >
  247 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  248 + </div>
235 249 <el-input v-model="form.img7" type="hidden"></el-input>
236 250 <p v-for="(img,index) in form.img7">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(7,img)" style="color:red"> x</a></p>
237 251 </el-col>
... ... @@ -245,6 +259,10 @@
245 259 :preview-src-list="[item.url]"
246 260 :z-index="2000">
247 261 </el-image>
  262 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  263 + v-for="item in videos[8]" >
  264 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  265 + </div>
248 266 <el-input v-model="form.img8" type="hidden"></el-input>
249 267 <p v-for="(img,index) in form.img8">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(8,img)" style="color:red"> x</a></p>
250 268 </el-col>
... ... @@ -256,6 +274,10 @@
256 274 :preview-src-list="[item.url]"
257 275 :z-index="2000">
258 276 </el-image>
  277 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  278 + v-for="item in videos[9]" >
  279 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  280 + </div>
259 281 <el-input v-model="form.img9" type="hidden"></el-input>
260 282 <p v-for="(img,index) in form.img9">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(9,img)" style="color:red"> x</a></p>
261 283 </el-col>
... ... @@ -269,6 +291,10 @@
269 291 :preview-src-list="[item.url]"
270 292 :z-index="2000">
271 293 </el-image>
  294 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  295 + v-for="item in videos[10]" >
  296 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  297 + </div>
272 298 <el-input v-model="form.img10" type="hidden"></el-input>
273 299 <p v-for="(img,index) in form.img10">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(10,img)" style="color:red"> x</a></p>
274 300 </el-col>
... ... @@ -280,6 +306,10 @@
280 306 :preview-src-list="[item.url]"
281 307 :z-index="2000">
282 308 </el-image>
  309 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  310 + v-for="item in videos[11]" >
  311 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  312 + </div>
283 313 <el-input v-model="form.img11" type="hidden"></el-input>
284 314 <p v-for="(img,index) in form.img11">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(11,img)" style="color:red"> x</a></p>
285 315 </el-col>
... ... @@ -293,6 +323,10 @@
293 323 :preview-src-list="[item.url]"
294 324 :z-index="2000">
295 325 </el-image>
  326 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  327 + v-for="item in videos[12]" >
  328 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  329 + </div>
296 330 <el-input v-model="form.img12" type="hidden"></el-input>
297 331 <p v-for="(img,index) in form.img12">{{img.split("/")[img.split("/").length -1]}}<a @click="removeImage(12,img)" style="color:red"> x</a></p>
298 332 </el-col>
... ... @@ -326,6 +360,10 @@
326 360 :preview-src-list="[item.url]"
327 361 :z-index="2000">
328 362 </el-image>
  363 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  364 + v-for="item in videos[91]" >
  365 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  366 + </div>
329 367 <el-input v-model="form.attchItem1" type="hidden"></el-input>
330 368 <p v-for="(img,index) in form.attchItem1">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(1,img,91)" style="color:red"> x</a></p>
331 369 </el-col>
... ... @@ -337,6 +375,10 @@
337 375 :preview-src-list="[item.url]"
338 376 :z-index="2000">
339 377 </el-image>
  378 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  379 + v-for="item in videos[92]" >
  380 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  381 + </div>
340 382 <el-input v-model="form.attchItem2" type="hidden"></el-input>
341 383 <p v-for="(img,index) in form.attchItem2">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(2,img,92)" style="color:red"> x</a></p>
342 384 </el-col>
... ... @@ -348,6 +390,10 @@
348 390 :preview-src-list="[item.url]"
349 391 :z-index="2000">
350 392 </el-image>
  393 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  394 + v-for="item in videos[93]" >
  395 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  396 + </div>
351 397 <el-input v-model="form.attchItem3" type="hidden"></el-input>
352 398 <p v-for="(img,index) in form.attchItem3">{{img.split("/")[img.split("/").length -1]}}<a @click="removeAttchItem(3,img,93)" style="color:red"> x</a></p>
353 399 </el-col>
... ...
trash-workFlow/src/main/java/com/trash/business/controller/CompanyCreditController.java
... ... @@ -47,7 +47,6 @@ public class CompanyCreditController extends BaseController
47 47 return getDataTable(list);
48 48 }
49 49  
50   - @PreAuthorize("@ss.hasPermi('business:credit:list')")
51 50 @GetMapping("/historyCredit")
52 51 public TableDataInfo historyCredit(CompanyCredit companyCredit)
53 52 {
... ... @@ -75,7 +74,6 @@ public class CompanyCreditController extends BaseController
75 74 /**
76 75 * 导出企业失信列表
77 76 */
78   - @PreAuthorize("@ss.hasPermi('Company:credit:export')")
79 77 @Log(title = "企业失信", businessType = BusinessType.EXPORT)
80 78 @GetMapping("/export")
81 79 public AjaxResult export(CompanyCredit companyCredit)
... ... @@ -109,7 +107,6 @@ public class CompanyCreditController extends BaseController
109 107 /**
110 108 * 获取企业失信详细信息
111 109 */
112   - @PreAuthorize("@ss.hasPermi('Company:credit:query')")
113 110 @GetMapping(value = "/{id}")
114 111 public AjaxResult getInfo(@PathVariable("id") Long id)
115 112 {
... ... @@ -119,7 +116,6 @@ public class CompanyCreditController extends BaseController
119 116 /**
120 117 * 新增企业失信
121 118 */
122   - @PreAuthorize("@ss.hasPermi('Company:credit:add')")
123 119 @Log(title = "企业失信", businessType = BusinessType.INSERT)
124 120 @PostMapping
125 121 public AjaxResult add(@RequestBody CompanyCredit companyCredit)
... ... @@ -134,7 +130,6 @@ public class CompanyCreditController extends BaseController
134 130 /**
135 131 * 修改企业失信
136 132 */
137   - @PreAuthorize("@ss.hasPermi('Company:credit:edit')")
138 133 @Log(title = "企业失信", businessType = BusinessType.UPDATE)
139 134 @PutMapping
140 135 public AjaxResult edit(@RequestBody CompanyCredit companyCredit)
... ... @@ -149,7 +144,6 @@ public class CompanyCreditController extends BaseController
149 144 /**
150 145 * 删除企业失信
151 146 */
152   - @PreAuthorize("@ss.hasPermi('Company:credit:remove')")
153 147 @Log(title = "企业失信", businessType = BusinessType.DELETE)
154 148 @DeleteMapping("/{ids}")
155 149 public AjaxResult remove(@PathVariable Long[] ids)
... ...
trash-workFlow/src/main/java/com/trash/business/controller/ConstructionCreditController.java
... ... @@ -47,7 +47,6 @@ public class ConstructionCreditController extends BaseController
47 47 return getDataTable(list);
48 48 }
49 49  
50   - @PreAuthorize("@ss.hasPermi('business:ConstructionCredit:list')")
51 50 @GetMapping("/historyCredit")
52 51 public TableDataInfo historyCredit(ConstructionCredit constructionCredit)
53 52 {
... ... @@ -60,7 +59,6 @@ public class ConstructionCreditController extends BaseController
60 59 /**
61 60 * 导出工地失信列表
62 61 */
63   - @PreAuthorize("@ss.hasPermi('business:ConstructionCredit:export')")
64 62 @Log(title = "工地失信", businessType = BusinessType.EXPORT)
65 63 @GetMapping("/export")
66 64 public AjaxResult export(ConstructionCredit constructionCredit)
... ... @@ -86,7 +84,6 @@ public class ConstructionCreditController extends BaseController
86 84 /**
87 85 * 获取工地失信详细信息
88 86 */
89   - @PreAuthorize("@ss.hasPermi('business:ConstructionCredit:query')")
90 87 @GetMapping(value = "/{id}")
91 88 public AjaxResult getInfo(@PathVariable("id") Long id)
92 89 {
... ... @@ -96,7 +93,6 @@ public class ConstructionCreditController extends BaseController
96 93 /**
97 94 * 新增工地失信
98 95 */
99   - @PreAuthorize("@ss.hasPermi('business:ConstructionCredit:add')")
100 96 @Log(title = "工地失信", businessType = BusinessType.INSERT)
101 97 @PostMapping
102 98 public AjaxResult add(@RequestBody ConstructionCredit constructionCredit)
... ... @@ -107,7 +103,6 @@ public class ConstructionCreditController extends BaseController
107 103 /**
108 104 * 修改工地失信
109 105 */
110   - @PreAuthorize("@ss.hasPermi('business:ConstructionCredit:edit')")
111 106 @Log(title = "工地失信", businessType = BusinessType.UPDATE)
112 107 @PutMapping
113 108 public AjaxResult edit(@RequestBody ConstructionCredit constructionCredit)
... ... @@ -143,7 +138,6 @@ public class ConstructionCreditController extends BaseController
143 138 /**
144 139 * 删除工地失信
145 140 */
146   - @PreAuthorize("@ss.hasPermi('business:ConstructionCredit:remove')")
147 141 @Log(title = "工地失信", businessType = BusinessType.DELETE)
148 142 @DeleteMapping("/{ids}")
149 143 public AjaxResult remove(@PathVariable Long[] ids)
... ...
trash-workFlow/src/main/java/com/trash/business/controller/ConstructionSignController.java
... ... @@ -36,7 +36,6 @@ public class ConstructionSignController extends BaseController
36 36 /**
37 37 * 查询sign列表
38 38 */
39   - @PreAuthorize("@ss.hasPermi('sign:sign:list')")
40 39 @GetMapping("/list")
41 40 public TableDataInfo list(ConstructionSign constructionSign)
42 41 {
... ... @@ -48,7 +47,6 @@ public class ConstructionSignController extends BaseController
48 47 /**
49 48 * 导出sign列表
50 49 */
51   - @PreAuthorize("@ss.hasPermi('sign:sign:export')")
52 50 @Log(title = "sign", businessType = BusinessType.EXPORT)
53 51 @GetMapping("/export")
54 52 public AjaxResult export(ConstructionSign constructionSign)
... ... @@ -62,10 +60,6 @@ public class ConstructionSignController extends BaseController
62 60 return util.exportExcel(list, "sign");
63 61 }
64 62  
65   - /**
66   - * 获取sign详细信息
67   - */
68   - @PreAuthorize("@ss.hasPermi('sign:sign:query')")
69 63 @GetMapping(value = "/{id}")
70 64 public AjaxResult getInfo(@PathVariable("id") Long id)
71 65 {
... ... @@ -86,7 +80,6 @@ public class ConstructionSignController extends BaseController
86 80 /**
87 81 * 新增sign
88 82 */
89   - @PreAuthorize("@ss.hasPermi('sign:sign:add')")
90 83 @Log(title = "sign", businessType = BusinessType.INSERT)
91 84 @PostMapping
92 85 public AjaxResult add(@RequestBody ConstructionSign constructionSign)
... ... @@ -94,10 +87,6 @@ public class ConstructionSignController extends BaseController
94 87 return toAjax(constructionSignService.insertConstructionSign(constructionSign));
95 88 }
96 89  
97   - /**
98   - * 修改sign
99   - */
100   - @PreAuthorize("@ss.hasPermi('sign:sign:edit')")
101 90 @Log(title = "sign", businessType = BusinessType.UPDATE)
102 91 @PutMapping
103 92 public AjaxResult edit(@RequestBody ConstructionSign constructionSign)
... ... @@ -108,7 +97,6 @@ public class ConstructionSignController extends BaseController
108 97 /**
109 98 * 删除sign
110 99 */
111   - @PreAuthorize("@ss.hasPermi('sign:sign:remove')")
112 100 @Log(title = "sign", businessType = BusinessType.DELETE)
113 101 @DeleteMapping("/{ids}")
114 102 public AjaxResult remove(@PathVariable Long[] ids)
... ...
trash-workFlow/src/main/java/com/trash/business/controller/DriverCreditController.java
... ... @@ -19,6 +19,7 @@ import com.trash.common.core.controller.BaseController;
19 19 import com.trash.common.core.domain.AjaxResult;
20 20 import com.trash.common.enums.BusinessType;
21 21 import com.trash.business.domain.DriverCredit;
  22 +import com.trash.business.mapper.DriverCreditMapper;
22 23 import com.trash.business.service.IDriverCreditService;
23 24 import com.trash.common.utils.poi.ExcelUtil;
24 25 import com.trash.common.core.page.TableDataInfo;
... ... @@ -35,6 +36,9 @@ public class DriverCreditController extends BaseController
35 36 {
36 37 @Autowired
37 38 private IDriverCreditService driverCreditService;
  39 +
  40 + @Autowired
  41 + private DriverCreditMapper mapper;
38 42  
39 43 /**
40 44 * 查询驾驶员失信列表
... ... @@ -47,7 +51,6 @@ public class DriverCreditController extends BaseController
47 51 return getDataTable(list);
48 52 }
49 53  
50   - @PreAuthorize("@ss.hasPermi('driver:credit:list')")
51 54 @GetMapping("/historyCredit")
52 55 public TableDataInfo historyCredit(DriverCredit driverCredit)
53 56 {
... ... @@ -63,13 +66,22 @@ public class DriverCreditController extends BaseController
63 66 if(credit.getStatus() == 1){
64 67 credit.setStatus(null);
65 68 }
66   - return driverCreditService.getNames(credit);
  69 + return mapper.getNames(credit);
  70 + }
  71 +
  72 + @GetMapping("/licenseplates")
  73 + public List<String> getLicenseplates(DriverCredit credit)
  74 + {
  75 +
  76 + if(credit.getStatus() == 1){
  77 + credit.setStatus(null);
  78 + }
  79 + return mapper.getLicenseplate(credit);
67 80 }
68 81  
69 82 /**
70 83 * 导出驾驶员失信列表
71 84 */
72   - @PreAuthorize("@ss.hasPermi('driver:credit:export')")
73 85 @Log(title = "驾驶员失信", businessType = BusinessType.EXPORT)
74 86 @GetMapping("/export")
75 87 public AjaxResult export(DriverCredit driverCredit)
... ... @@ -96,7 +108,6 @@ public class DriverCreditController extends BaseController
96 108 /**
97 109 * 获取驾驶员失信详细信息
98 110 */
99   - @PreAuthorize("@ss.hasPermi('driver:credit:query')")
100 111 @GetMapping(value = "/{id}")
101 112 public AjaxResult getInfo(@PathVariable("id") Long id)
102 113 {
... ... @@ -106,7 +117,6 @@ public class DriverCreditController extends BaseController
106 117 /**
107 118 * 新增驾驶员失信
108 119 */
109   - @PreAuthorize("@ss.hasPermi('driver:credit:add')")
110 120 @Log(title = "驾驶员失信", businessType = BusinessType.INSERT)
111 121 @PostMapping
112 122 public AjaxResult add(@RequestBody DriverCredit driverCredit)
... ... @@ -117,7 +127,6 @@ public class DriverCreditController extends BaseController
117 127 /**
118 128 * 修改驾驶员失信
119 129 */
120   - @PreAuthorize("@ss.hasPermi('driver:credit:edit')")
121 130 @Log(title = "驾驶员失信", businessType = BusinessType.UPDATE)
122 131 @PutMapping
123 132 public AjaxResult edit(@RequestBody DriverCredit driverCredit)
... ... @@ -128,7 +137,6 @@ public class DriverCreditController extends BaseController
128 137 /**
129 138 * 删除驾驶员失信
130 139 */
131   - @PreAuthorize("@ss.hasPermi('driver:credit:remove')")
132 140 @Log(title = "驾驶员失信", businessType = BusinessType.DELETE)
133 141 @DeleteMapping("/{ids}")
134 142 public AjaxResult remove(@PathVariable Long[] ids)
... ...
trash-workFlow/src/main/java/com/trash/business/controller/EarthsitesCreditController.java
... ... @@ -50,7 +50,7 @@ public class EarthsitesCreditController extends BaseController
50 50 /**
51 51 * 导出消纳场失信列表
52 52 */
53   - @PreAuthorize("@ss.hasPermi('EarthSites:credit:export')")
  53 +
54 54  
55 55 @Log(title = "消纳场失信", businessType = BusinessType.EXPORT)
56 56 @GetMapping("/export")
... ... @@ -77,7 +77,6 @@ public class EarthsitesCreditController extends BaseController
77 77 /**
78 78 * 获取消纳场失信详细信息
79 79 */
80   - @PreAuthorize("@ss.hasPermi('EarthSites:credit:query')")
81 80 @GetMapping(value = "/{id}")
82 81 public AjaxResult getInfo(@PathVariable("id") Long id)
83 82 {
... ... @@ -87,7 +86,6 @@ public class EarthsitesCreditController extends BaseController
87 86 /**
88 87 * 新增消纳场失信
89 88 */
90   - @PreAuthorize("@ss.hasPermi('EarthSites:credit:add')")
91 89 @Log(title = "消纳场失信", businessType = BusinessType.INSERT)
92 90 @PostMapping
93 91 public AjaxResult add(@RequestBody EarthsitesCredit earthsitesCredit)
... ... @@ -98,7 +96,6 @@ public class EarthsitesCreditController extends BaseController
98 96 /**
99 97 * 修改消纳场失信
100 98 */
101   - @PreAuthorize("@ss.hasPermi('EarthSites:credit:edit')")
102 99 @Log(title = "消纳场失信", businessType = BusinessType.UPDATE)
103 100 @PutMapping
104 101 public AjaxResult edit(@RequestBody EarthsitesCredit earthsitesCredit)
... ... @@ -109,7 +106,6 @@ public class EarthsitesCreditController extends BaseController
109 106 /**
110 107 * 删除消纳场失信
111 108 */
112   - @PreAuthorize("@ss.hasPermi('EarthSites:credit:remove')")
113 109 @Log(title = "消纳场失信", businessType = BusinessType.DELETE)
114 110 @DeleteMapping("/{ids}")
115 111 public AjaxResult remove(@PathVariable Long[] ids)
... ... @@ -117,7 +113,6 @@ public class EarthsitesCreditController extends BaseController
117 113 return toAjax(earthsitesCreditService.deleteEarthsitesCreditByIds(ids));
118 114 }
119 115  
120   - @PreAuthorize("@ss.hasPermi('EarthSites:credit:list')")
121 116 @GetMapping("/historyCredit")
122 117 public TableDataInfo historyCredit(EarthsitesCredit earthsitesCredit)
123 118 {
... ...
trash-workFlow/src/main/java/com/trash/business/controller/SupervisionSpecialController.java
... ... @@ -36,7 +36,6 @@ public class SupervisionSpecialController extends BaseController
36 36 /**
37 37 * 查询专项督察列表
38 38 */
39   - @PreAuthorize("@ss.hasPermi('SupervisionSpecial:SupervisionSpecial:list')")
40 39 @GetMapping("/list")
41 40 public TableDataInfo list(SupervisionSpecial supervisionSpecial)
42 41 {
... ... @@ -48,7 +47,6 @@ public class SupervisionSpecialController extends BaseController
48 47 /**
49 48 * 导出专项督察列表
50 49 */
51   - @PreAuthorize("@ss.hasPermi('SupervisionSpecial:SupervisionSpecial:export')")
52 50 @Log(title = "专项督察", businessType = BusinessType.EXPORT)
53 51 @GetMapping("/export")
54 52 public AjaxResult export(SupervisionSpecial supervisionSpecial)
... ... @@ -65,7 +63,6 @@ public class SupervisionSpecialController extends BaseController
65 63 /**
66 64 * 获取专项督察详细信息
67 65 */
68   - @PreAuthorize("@ss.hasPermi('SupervisionSpecial:SupervisionSpecial:query')")
69 66 @GetMapping(value = "/{id}")
70 67 public AjaxResult getInfo(@PathVariable("id") String id)
71 68 {
... ... @@ -75,7 +72,6 @@ public class SupervisionSpecialController extends BaseController
75 72 /**
76 73 * 新增专项督察
77 74 */
78   - @PreAuthorize("@ss.hasPermi('SupervisionSpecial:SupervisionSpecial:add')")
79 75 @Log(title = "专项督察", businessType = BusinessType.INSERT)
80 76 @PostMapping
81 77 public AjaxResult add(@RequestBody SupervisionSpecial supervisionSpecial)
... ... @@ -86,7 +82,6 @@ public class SupervisionSpecialController extends BaseController
86 82 /**
87 83 * 修改专项督察
88 84 */
89   - @PreAuthorize("@ss.hasPermi('SupervisionSpecial:SupervisionSpecial:edit')")
90 85 @Log(title = "专项督察", businessType = BusinessType.UPDATE)
91 86 @PutMapping
92 87 public AjaxResult edit(@RequestBody SupervisionSpecial supervisionSpecial)
... ... @@ -97,7 +92,6 @@ public class SupervisionSpecialController extends BaseController
97 92 /**
98 93 * 删除专项督察
99 94 */
100   - @PreAuthorize("@ss.hasPermi('SupervisionSpecial:SupervisionSpecial:remove')")
101 95 @Log(title = "专项督察", businessType = BusinessType.DELETE)
102 96 @DeleteMapping("/{ids}")
103 97 public AjaxResult remove(@PathVariable String[] ids)
... ...
trash-workFlow/src/main/java/com/trash/business/controller/SupervisionThreestepController.java
... ... @@ -62,7 +62,6 @@ public class SupervisionThreestepController extends BaseController
62 62 /**
63 63 * 查询三查机制列表
64 64 */
65   - @PreAuthorize("@ss.hasPermi('business:threestep:list')")
66 65 @GetMapping("/list")
67 66 public TableDataInfo list(SupervisionThreestep supervisionThreestep)
68 67 {
... ... @@ -115,7 +114,6 @@ public class SupervisionThreestepController extends BaseController
115 114 return getDataTable(list);
116 115 }
117 116  
118   - @PreAuthorize("@ss.hasPermi('business:threestep:list')")
119 117 @PostMapping("/list")
120 118 public AjaxResult postList(@RequestBody SupervisionThreestep supervisionThreestep)
121 119 {
... ... @@ -130,7 +128,6 @@ public class SupervisionThreestepController extends BaseController
130 128 /**
131 129 * 查询三查机制列表
132 130 */
133   - @PreAuthorize("@ss.hasPermi('business:threestep:list')")
134 131 @GetMapping("/dayWorkList")
135 132 public TableDataInfo dayWorkList(SupervisionThreestep supervisionThreestep)
136 133 {
... ... @@ -276,7 +273,6 @@ public class SupervisionThreestepController extends BaseController
276 273 /**
277 274 * 导出三查机制列表
278 275 */
279   - @PreAuthorize("@ss.hasPermi('business:threestep:export')")
280 276 @Log(title = "三查机制", businessType = BusinessType.EXPORT)
281 277 @GetMapping("/export")
282 278 public AjaxResult export(SupervisionThreestep supervisionThreestep)
... ... @@ -329,7 +325,6 @@ public class SupervisionThreestepController extends BaseController
329 325 /**
330 326 * 新增三查机制
331 327 */
332   - @PreAuthorize("@ss.hasPermi('business:threestep:add')")
333 328 @Log(title = "三查机制", businessType = BusinessType.INSERT)
334 329 @PostMapping
335 330 public AjaxResult add(@RequestBody SupervisionThreestep supervisionThreestep)
... ... @@ -347,7 +342,6 @@ public class SupervisionThreestepController extends BaseController
347 342 /**
348 343 * 修改三查机制
349 344 */
350   - @PreAuthorize("@ss.hasPermi('business:threestep:edit')")
351 345 @Log(title = "三查机制", businessType = BusinessType.UPDATE)
352 346 @PutMapping
353 347 public AjaxResult edit(@RequestBody SupervisionThreestep supervisionThreestep)
... ... @@ -355,7 +349,6 @@ public class SupervisionThreestepController extends BaseController
355 349 return toAjax(supervisionThreestepService.updateSupervisionThreestep(supervisionThreestep));
356 350 }
357 351  
358   - @PreAuthorize("@ss.hasPermi('business:threestep:edit')")
359 352 @Log(title = "三查机制", businessType = BusinessType.UPDATE)
360 353 @PostMapping(value="/active")
361 354 public AjaxResult active(@RequestBody SupervisionThreestep supervisionThreestep)
... ... @@ -368,7 +361,6 @@ public class SupervisionThreestepController extends BaseController
368 361 /**
369 362 * 删除三查机制
370 363 */
371   - @PreAuthorize("@ss.hasPermi('business:threestep:remove')")
372 364 @Log(title = "三查机制", businessType = BusinessType.DELETE)
373 365 @DeleteMapping("/{ids}")
374 366 public AjaxResult remove(@PathVariable Long[] ids)
... ...
trash-workFlow/src/main/java/com/trash/business/controller/TruckActivateController.java
... ... @@ -40,7 +40,6 @@ public class TruckActivateController extends BaseController
40 40 /**
41 41 * 查询车辆激活列表
42 42 */
43   - @PreAuthorize("@ss.hasPermi('business:truckActivate:list')")
44 43 @GetMapping("/list")
45 44 public TableDataInfo list(TruckActivate truckActivate)
46 45 {
... ... @@ -52,7 +51,6 @@ public class TruckActivateController extends BaseController
52 51 /**
53 52 * 导出车辆激活列表
54 53 */
55   - @PreAuthorize("@ss.hasPermi('business:truckActivate:export')")
56 54 @Log(title = "车辆激活", businessType = BusinessType.EXPORT)
57 55 @GetMapping("/export")
58 56 public AjaxResult export(TruckActivate truckActivate)
... ... @@ -81,7 +79,6 @@ public class TruckActivateController extends BaseController
81 79 /**
82 80 * 获取车辆激活详细信息
83 81 */
84   - @PreAuthorize("@ss.hasPermi('business:truckActivate:query')")
85 82 @GetMapping(value = "/{id}")
86 83 public AjaxResult getInfo(@PathVariable("id") Long id)
87 84 {
... ... @@ -91,7 +88,6 @@ public class TruckActivateController extends BaseController
91 88 /**
92 89 * 新增车辆激活
93 90 */
94   - @PreAuthorize("@ss.hasPermi('business:truckActivate:add')")
95 91 @Log(title = "车辆激活", businessType = BusinessType.INSERT)
96 92 @PostMapping
97 93 public AjaxResult add(@RequestBody TruckActivate truckActivate)
... ... @@ -128,7 +124,6 @@ public class TruckActivateController extends BaseController
128 124 /**
129 125 * 修改车辆激活
130 126 */
131   - @PreAuthorize("@ss.hasPermi('business:truckActivate:edit')")
132 127 @Log(title = "车辆激活", businessType = BusinessType.UPDATE)
133 128 @PutMapping
134 129 public AjaxResult edit(@RequestBody TruckActivate truckActivate)
... ... @@ -155,7 +150,6 @@ public class TruckActivateController extends BaseController
155 150 /**
156 151 * 删除车辆激活
157 152 */
158   - @PreAuthorize("@ss.hasPermi('business:truckActivate:remove')")
159 153 @Log(title = "车辆激活", businessType = BusinessType.DELETE)
160 154 @DeleteMapping("/{ids}")
161 155 public AjaxResult remove(@PathVariable Long[] ids)
... ...
trash-workFlow/src/main/java/com/trash/business/controller/TruckCreditController.java
... ... @@ -47,7 +47,6 @@ public class TruckCreditController extends BaseController
47 47 return getDataTable(list);
48 48 }
49 49  
50   - @PreAuthorize("@ss.hasPermi('business:credit:list')")
51 50 @GetMapping("/historyCredit")
52 51 public TableDataInfo historyCredit(TruckCredit truckCredit)
53 52 {
... ... @@ -76,7 +75,6 @@ public class TruckCreditController extends BaseController
76 75 /**
77 76 * 导出车辆失信列表
78 77 */
79   - @PreAuthorize("@ss.hasPermi('truck:credit:export')")
80 78 @Log(title = "车辆失信", businessType = BusinessType.EXPORT)
81 79 @GetMapping("/export")
82 80 public AjaxResult export(TruckCredit truckCredit)
... ... @@ -103,7 +101,6 @@ public class TruckCreditController extends BaseController
103 101 /**
104 102 * 获取车辆失信详细信息
105 103 */
106   - @PreAuthorize("@ss.hasPermi('truck:credit:query')")
107 104 @GetMapping(value = "/{id}")
108 105 public AjaxResult getInfo(@PathVariable("id") Long id)
109 106 {
... ... @@ -113,7 +110,6 @@ public class TruckCreditController extends BaseController
113 110 /**
114 111 * 新增车辆失信
115 112 */
116   - @PreAuthorize("@ss.hasPermi('truck:credit:add')")
117 113 @Log(title = "车辆失信", businessType = BusinessType.INSERT)
118 114 @PostMapping
119 115 public AjaxResult add(@RequestBody TruckCredit truckCredit)
... ... @@ -124,7 +120,6 @@ public class TruckCreditController extends BaseController
124 120 /**
125 121 * 修改车辆失信
126 122 */
127   - @PreAuthorize("@ss.hasPermi('truck:credit:edit')")
128 123 @Log(title = "车辆失信", businessType = BusinessType.UPDATE)
129 124 @PutMapping
130 125 public AjaxResult edit(@RequestBody TruckCredit truckCredit)
... ... @@ -135,7 +130,6 @@ public class TruckCreditController extends BaseController
135 130 /**
136 131 * 删除车辆失信
137 132 */
138   - @PreAuthorize("@ss.hasPermi('truck:credit:remove')")
139 133 @Log(title = "车辆失信", businessType = BusinessType.DELETE)
140 134 @DeleteMapping("/{ids}")
141 135 public AjaxResult remove(@PathVariable Long[] ids)
... ...
trash-workFlow/src/main/java/com/trash/business/domain/DriverCredit.java
... ... @@ -28,6 +28,10 @@ public class DriverCredit extends BaseEntity
28 28 /** 证件号码 */
29 29 @Excel(name = "证件号码")
30 30 private String idNumber;
  31 +
  32 + @Excel(name = "车牌号")
  33 + private String licenseplateNo;
  34 +
31 35  
32 36 /** 失信时间 */
33 37 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
... ... @@ -50,7 +54,15 @@ public class DriverCredit extends BaseEntity
50 54  
51 55  
52 56  
53   - public void setId(Long id)
  57 + public String getLicenseplateNo() {
  58 + return licenseplateNo;
  59 + }
  60 +
  61 + public void setLicenseplateNo(String licenseplateNo) {
  62 + this.licenseplateNo = licenseplateNo;
  63 + }
  64 +
  65 + public void setId(Long id)
54 66 {
55 67 this.id = id;
56 68 }
... ...
trash-workFlow/src/main/java/com/trash/business/mapper/DriverCreditMapper.java
... ... @@ -63,4 +63,6 @@ public interface DriverCreditMapper
63 63 List<String> getNames(DriverCredit driverCredit);
64 64  
65 65 List<DriverCredit> selectDriverCreditHistory(DriverCredit driverCredit);
  66 +
  67 + List<String> getLicenseplate(DriverCredit credit);
66 68 }
67 69 \ No newline at end of file
... ...
trash-workFlow/src/main/java/com/trash/business/service/ISupervisionThreestepService.java
... ... @@ -81,6 +81,8 @@ public interface ISupervisionThreestepService
81 81 public List<String> getNames(SupervisionThreestep supervisionThreestep);
82 82  
83 83 public List<Map> selectDayWorkListByType(SupervisionThreestep supervisionThreestep);
  84 +
  85 + void updateTodayData(String token);
84 86  
85 87  
86 88 }
... ...