Commit fcbaeea387181308154d7f486d5ce53457e1da9d

Authored by youxiw2000
2 parents 3a62b23c b11ba85f

m

Showing 37 changed files with 1213 additions and 957 deletions
trash-admin/src/main/resources/application-dev.yml
@@ -9,7 +9,7 @@ trash: @@ -9,7 +9,7 @@ trash:
9 # 实例演示开关 9 # 实例演示开关
10 demoEnabled: true 10 demoEnabled: true
11 # 文件路径 示例( Windows配置D:/trash/uploadPath,Linux配置 /home/trash/uploadPath,存储桶 trash/uploadPath,nginx配置 /trash/upload) 11 # 文件路径 示例( Windows配置D:/trash/uploadPath,Linux配置 /home/trash/uploadPath,存储桶 trash/uploadPath,nginx配置 /trash/upload)
12 - profile: D:/trash/uploadPath 12 + profile: /home/trash/uploadPath
13 # profile: E:/trash/uploadPath 13 # profile: E:/trash/uploadPath
14 # profile: F:/work/project/Documents/uploadPath/trash 14 # profile: F:/work/project/Documents/uploadPath/trash
15 # 获取ip地址开关 15 # 获取ip地址开关
@@ -86,7 +86,7 @@ spring: @@ -86,7 +86,7 @@ spring:
86 # redis 配置 86 # redis 配置
87 redis: 87 redis:
88 # 地址 88 # 地址
89 - host: localhost 89 + host: 127.0.0.1
90 # 端口,默认为6379 90 # 端口,默认为6379
91 port: 6379 91 port: 6379
92 # 密码 92 # 密码
trash-admin/src/main/resources/application-local.yml 0 → 100644
  1 +# 项目相关配置
  2 +trash:
  3 + # 名称
  4 + name: trash
  5 + # 版本
  6 + version: 3.2.0
  7 + # 版权年份
  8 + copyrightYear: 2020
  9 + # 实例演示开关
  10 + demoEnabled: true
  11 + # 文件路径 示例( Windows配置D:/trash/uploadPath,Linux配置 /home/trash/uploadPath,存储桶 trash/uploadPath,nginx配置 /trash/upload)
  12 + profile: D:/trash/uploadPath
  13 +# profile: E:/trash/uploadPath
  14 +# profile: F:/work/project/Documents/uploadPath/trash
  15 +# 获取ip地址开关
  16 + addressEnabled: false
  17 + # 验证码类型 math 数组计算 char 字符验证
  18 + captchaType: math
  19 + # 远程服务器地址
  20 + #remotePath: http://175.6.47.84:8008
  21 + #token: durable:auth:token:eyJhbGciOiJIUzUxMiJ9.eyJ5ZWEiOiJkdXJhYmxlIiwiZXhwIjo0MTAyNDE1OTk5LCJjcmVhdGVkIjoxNjg1NDE2NjEzMzU1fQ.58-J0KKfsK2pQhDQAzaBaUj-oFWMbYF1YzMAcshmcfidIkW16TZWIVhAVKPvCJvWfG54x7xB-ETxKCDLFnSctQ
  22 + #remotePath: http://cszhatu.natapp1.cc
  23 + remotePath: http://183.66.242.6:14601
  24 + token: durable:auth:token:eyJhbGciOiJIUzUxMiJ9.eyJ5ZWEiOiJjc3poIiwiZXhwIjo0MTAyNDE1OTk5LCJjcmVhdGVkIjoxNjg0NDU5MjEzNzQ2fQ.85oIrOnU7cz7L_-IGt4Bt1LXDTkFtyrdqNt05K0v9-4nsrrzzpbjbemK-yMlbnUpe4Fx2FFES-Wbw8Yr8ML69w
  25 +
  26 +
  27 +# 数据源配置
  28 +spring:
  29 + datasource:
  30 + type: com.alibaba.druid.pool.DruidDataSource
  31 + driverClassName: com.mysql.cj.jdbc.Driver
  32 + druid:
  33 + # 主库数据源
  34 + master:
  35 +# url: jdbc:mysql://localhost:3306/trash?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
  37 + username: root
  38 + password: root
  39 + # 从库数据源
  40 + slave:
  41 + # 从数据源开关/默认关闭
  42 + enabled: false
  43 + url:
  44 + username:
  45 + password:
  46 + # 初始连接数
  47 + initialSize: 5
  48 + # 最小连接池数量
  49 + minIdle: 10
  50 + # 最大连接池数量
  51 + maxActive: 20
  52 + # 配置获取连接等待超时的时间
  53 + maxWait: 60000
  54 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
  55 + timeBetweenEvictionRunsMillis: 60000
  56 + # 配置一个连接在池中最小生存的时间,单位是毫秒
  57 + minEvictableIdleTimeMillis: 300000
  58 + # 配置一个连接在池中最大生存的时间,单位是毫秒
  59 + maxEvictableIdleTimeMillis: 900000
  60 + # 配置检测连接是否有效
  61 + validationQuery: SELECT 1 FROM DUAL
  62 + testWhileIdle: true
  63 + testOnBorrow: false
  64 + testOnReturn: false
  65 + webStatFilter:
  66 + enabled: false
  67 + statViewServlet:
  68 + enabled: false
  69 + # 设置白名单,不填则允许所有访问
  70 + allow:
  71 + url-pattern: /druid/*
  72 + # 控制台管理用户名和密码
  73 + login-username: youxiw2000
  74 + login-password: Noah5201
  75 + filter:
  76 + stat:
  77 + enabled: true
  78 + # 慢SQL记录
  79 + log-slow-sql: true
  80 + slow-sql-millis: 1000
  81 + merge-sql: true
  82 + wall:
  83 + config:
  84 + multi-statement-allow: true
  85 + # redis 配置
  86 + redis:
  87 + # 地址
  88 + host: 127.0.0.1
  89 + # 端口,默认为6379
  90 + port: 6379
  91 + # 密码
  92 + password:
  93 + # 连接超时时间
  94 + timeout: 10s
  95 + database: 11
  96 + lettuce:
  97 + pool:
  98 + # 连接池中的最小空闲连接
  99 + min-idle: 0
  100 + # 连接池中的最大空闲连接
  101 + max-idle: 8
  102 + # 连接池的最大数据库连接数
  103 + max-active: 8
  104 + #连接池最大阻塞等待时间(使用负值表示没有限制)
  105 + max-wait: -1ms
  106 +# 开发环境配置
  107 +server:
  108 + # 服务器的HTTP端口,默认为8080
  109 + port: 8080
  110 + servlet:
  111 + # 应用的访问路径
  112 + context-path: /workflow
  113 + tomcat:
  114 + # tomcat的URI编码
  115 + uri-encoding: UTF-8
  116 + # tomcat最大线程数,默认为200
  117 + max-threads: 800
  118 + # Tomcat启动初始化的线程数,默认值25
  119 + min-spare-threads: 30
  120 +#华为OBS存储
  121 +huawei:
  122 + enabled: false
  123 + endPoint:
  124 + ak:
  125 + sk:
  126 + url:
  127 + bucketName:
  128 +#nginx静态文件
  129 +nginx:
  130 + enabled: false
  131 + path:
  132 + url:
  133 +
  134 +# 生成二维码 前端地址
  135 +front:
  136 + url: "http://61.169.120.202:5173/pages/order/guest/index?orderId="
0 \ No newline at end of file 137 \ No newline at end of file
trash-admin/src/main/resources/logback.xml
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <configuration> 2 <configuration>
3 <!-- 日志存放路径 --> 3 <!-- 日志存放路径 -->
4 <!-- <property name="log.path" value="/home/trash/logs" />--> 4 <!-- <property name="log.path" value="/home/trash/logs" />-->
5 - <property name="log.path" value="C:/work/project/logs/trash" /> 5 + <property name="log.path" value="logs/trash" />
6 <!-- 日志输出格式 --> 6 <!-- 日志输出格式 -->
7 <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /> 7 <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
8 8
trash-admin/src/main/resources/static/car_1.png

51.5 KB | W: | H:

76.4 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
trash-admin/src/main/resources/static/car_2.png

74.2 KB | W: | H:

50.6 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
trash-admin/src/main/resources/static/goubiche.png 0 → 100644

254 KB

trash-admin/src/main/resources/static/zixieche.jpg 0 → 100644

198 KB

trash-garbage/src/main/java/com/trash/garbage/controller/GarbageOrderController.java
@@ -29,6 +29,7 @@ import com.trash.garbage.pojo.vo.OrderDetailVo; @@ -29,6 +29,7 @@ import com.trash.garbage.pojo.vo.OrderDetailVo;
29 import com.trash.garbage.pojo.vo.ScanDriverDetailVo; 29 import com.trash.garbage.pojo.vo.ScanDriverDetailVo;
30 import com.trash.garbage.service.GarOrderService; 30 import com.trash.garbage.service.GarOrderService;
31 import com.trash.garbage.service.GarUserService; 31 import com.trash.garbage.service.GarUserService;
  32 +import lombok.extern.slf4j.Slf4j;
32 import org.apache.commons.lang3.ArrayUtils; 33 import org.apache.commons.lang3.ArrayUtils;
33 import org.springframework.beans.factory.annotation.Autowired; 34 import org.springframework.beans.factory.annotation.Autowired;
34 import org.springframework.security.access.prepost.PreAuthorize; 35 import org.springframework.security.access.prepost.PreAuthorize;
@@ -49,6 +50,7 @@ import java.util.Objects; @@ -49,6 +50,7 @@ import java.util.Objects;
49 */ 50 */
50 @RestController 51 @RestController
51 @RequestMapping("/order") 52 @RequestMapping("/order")
  53 +@Slf4j
52 public class GarbageOrderController { 54 public class GarbageOrderController {
53 55
54 @Autowired 56 @Autowired
@@ -92,6 +94,7 @@ public class GarbageOrderController { @@ -92,6 +94,7 @@ public class GarbageOrderController {
92 // 上传并返回新文件名称 94 // 上传并返回新文件名称
93 fileName = FileUploadUtils.upload(filePath, file); 95 fileName = FileUploadUtils.upload(filePath, file);
94 } catch (IOException e) { 96 } catch (IOException e) {
  97 + log.error("上传图片异常",e);
95 throw new BizException(ResultCode.CODE_400, ResultCode.CODE_400.getMsg()); 98 throw new BizException(ResultCode.CODE_400, ResultCode.CODE_400.getMsg());
96 } 99 }
97 String url = serverConfig.getUrl() + fileName; 100 String url = serverConfig.getUrl() + fileName;
trash-garbage/src/main/java/com/trash/garbage/mapper/GarOrderMatchHandlerMapper.java
@@ -7,6 +7,7 @@ import com.trash.garbage.pojo.vo.DispatchDriverVo; @@ -7,6 +7,7 @@ import com.trash.garbage.pojo.vo.DispatchDriverVo;
7 import org.apache.ibatis.annotations.Param; 7 import org.apache.ibatis.annotations.Param;
8 8
9 import java.util.List; 9 import java.util.List;
  10 +import java.util.Set;
10 11
11 /** 12 /**
12 * @author 20412 13 * @author 20412
@@ -16,7 +17,7 @@ import java.util.List; @@ -16,7 +17,7 @@ import java.util.List;
16 */ 17 */
17 public interface GarOrderMatchHandlerMapper extends BaseMapper<GarOrderMatchHandler> { 18 public interface GarOrderMatchHandlerMapper extends BaseMapper<GarOrderMatchHandler> {
18 19
19 - List<DispatchDriverVo> queryDriverListWithDispatchStatus(@Param("orderId") String orderId, @Param("companyId") Long id); 20 + List<DispatchDriverVo> queryDriverListWithDispatchStatus(@Param("orderId") String orderId, @Param("companyId") Long id,@Param("containerVolumees") Set<String> containerVolumees);
20 } 21 }
21 22
22 23
trash-garbage/src/main/java/com/trash/garbage/pojo/domain/GarOrderCar.java
1 package com.trash.garbage.pojo.domain; 1 package com.trash.garbage.pojo.domain;
2 2
3 -import com.baomidou.mybatisplus.annotation.*; 3 +import com.baomidou.mybatisplus.annotation.FieldFill;
  4 +import com.baomidou.mybatisplus.annotation.TableField;
  5 +import com.baomidou.mybatisplus.annotation.TableId;
  6 +import com.baomidou.mybatisplus.annotation.TableName;
  7 +import lombok.Data;
4 8
5 import java.io.Serializable; 9 import java.io.Serializable;
6 import java.util.Date; 10 import java.util.Date;
7 -import lombok.Data;  
8 11
9 /** 12 /**
10 * 订单车辆信息 13 * 订单车辆信息
@@ -57,6 +60,10 @@ public class GarOrderCar implements Serializable { @@ -57,6 +60,10 @@ public class GarOrderCar implements Serializable {
57 */ 60 */
58 @TableField(fill = FieldFill.INSERT_UPDATE) 61 @TableField(fill = FieldFill.INSERT_UPDATE)
59 private String garUpdateBy; 62 private String garUpdateBy;
  63 + /**车辆ID*/
  64 + private Integer carId;
  65 + /**车辆容积*/
  66 + private String containerVolume;
60 67
61 /** 68 /**
62 * 69 *
@@ -66,6 +73,8 @@ public class GarOrderCar implements Serializable { @@ -66,6 +73,8 @@ public class GarOrderCar implements Serializable {
66 @TableField(exist = false) 73 @TableField(exist = false)
67 private static final long serialVersionUID = 1L; 74 private static final long serialVersionUID = 1L;
68 75
  76 +
  77 +
69 public String getGarId() { 78 public String getGarId() {
70 return garId; 79 return garId;
71 } 80 }
trash-garbage/src/main/java/com/trash/garbage/pojo/dto/OrderDto.java
@@ -106,6 +106,8 @@ public class OrderDto { @@ -106,6 +106,8 @@ public class OrderDto {
106 private Integer id; 106 private Integer id;
107 private String garOrderCarType; 107 private String garOrderCarType;
108 108
  109 + private String containerVolume;
  110 +
109 public Integer getGarOrderCarNumber() { 111 public Integer getGarOrderCarNumber() {
110 return garOrderCarNumber; 112 return garOrderCarNumber;
111 } 113 }
@@ -141,8 +143,13 @@ public class OrderDto { @@ -141,8 +143,13 @@ public class OrderDto {
141 this.id = id; 143 this.id = id;
142 } 144 }
143 145
  146 + public String getContainerVolume() {
  147 + return containerVolume;
  148 + }
144 149
145 - 150 + public void setContainerVolume(String containerVolume) {
  151 + this.containerVolume = containerVolume;
  152 + }
146 } 153 }
147 154
148 public List<CarInfo> getGarCarInfoList() { 155 public List<CarInfo> getGarCarInfoList() {
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderCarService.java
1 package com.trash.garbage.service; 1 package com.trash.garbage.service;
2 2
3 -import com.trash.garbage.pojo.domain.GarOrderCar;  
4 import com.baomidou.mybatisplus.extension.service.IService; 3 import com.baomidou.mybatisplus.extension.service.IService;
  4 +import com.trash.garbage.pojo.domain.GarOrderCar;
  5 +
  6 +import java.util.List;
5 7
6 /** 8 /**
7 * @author 20412 9 * @author 20412
@@ -9,5 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService; @@ -9,5 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
9 * @createDate 2024-01-09 14:26:09 11 * @createDate 2024-01-09 14:26:09
10 */ 12 */
11 public interface GarOrderCarService extends IService<GarOrderCar> { 13 public interface GarOrderCarService extends IService<GarOrderCar> {
12 - 14 + List<GarOrderCar> queryByOrderId(String orderId);
13 } 15 }
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderMatchHandlerService.java
1 package com.trash.garbage.service; 1 package com.trash.garbage.service;
2 2
3 -import com.trash.garbage.pojo.domain.GarOrderMatchHandler;  
4 import com.baomidou.mybatisplus.extension.service.IService; 3 import com.baomidou.mybatisplus.extension.service.IService;
  4 +import com.trash.garbage.pojo.domain.GarOrderMatchHandler;
5 import com.trash.garbage.pojo.vo.DispatchDriverVo; 5 import com.trash.garbage.pojo.vo.DispatchDriverVo;
6 -import org.apache.ibatis.annotations.Param;  
7 6
8 import java.util.List; 7 import java.util.List;
  8 +import java.util.Set;
9 9
10 /** 10 /**
11 * @author 20412 11 * @author 20412
@@ -14,5 +14,5 @@ import java.util.List; @@ -14,5 +14,5 @@ import java.util.List;
14 */ 14 */
15 public interface GarOrderMatchHandlerService extends IService<GarOrderMatchHandler> { 15 public interface GarOrderMatchHandlerService extends IService<GarOrderMatchHandler> {
16 16
17 - List<DispatchDriverVo> queryDriverListWithDispatchStatus(String orderId, Long companyId); 17 + List<DispatchDriverVo> queryDriverListWithDispatchStatus(String orderId, Long companyId, Set<String> containerVolumees);
18 } 18 }
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderCarServiceImpl.java
1 package com.trash.garbage.service.impl; 1 package com.trash.garbage.service.impl;
2 2
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
3 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 import com.trash.garbage.pojo.domain.GarOrderCar; 5 import com.trash.garbage.pojo.domain.GarOrderCar;
5 import com.trash.garbage.service.GarOrderCarService; 6 import com.trash.garbage.service.GarOrderCarService;
6 import com.trash.garbage.mapper.GarOrderCarMapper; 7 import com.trash.garbage.mapper.GarOrderCarMapper;
7 import org.springframework.stereotype.Service; 8 import org.springframework.stereotype.Service;
8 9
  10 +import java.util.List;
  11 +
9 /** 12 /**
10 -* @author 20412  
11 -* @description 针对表【gar_order_car(订单车辆信息)】的数据库操作Service实现  
12 -* @createDate 2024-01-09 14:26:09  
13 -*/ 13 + * @author 20412
  14 + * @description 针对表【gar_order_car(订单车辆信息)】的数据库操作Service实现
  15 + * @createDate 2024-01-09 14:26:09
  16 + */
14 @Service 17 @Service
15 public class GarOrderCarServiceImpl extends ServiceImpl<GarOrderCarMapper, GarOrderCar> 18 public class GarOrderCarServiceImpl extends ServiceImpl<GarOrderCarMapper, GarOrderCar>
16 - implements GarOrderCarService{ 19 + implements GarOrderCarService {
17 20
  21 + @Override
  22 + public List<GarOrderCar> queryByOrderId(String orderId) {
  23 + LambdaQueryWrapper<GarOrderCar> wrapper = new LambdaQueryWrapper<>();
  24 + wrapper.eq(GarOrderCar::getGarOrderId, orderId);
  25 + return list(wrapper);
  26 + }
18 } 27 }
19 28
20 29
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderMatchHandlerServiceImpl.java
@@ -8,6 +8,7 @@ import com.trash.garbage.service.GarOrderMatchHandlerService; @@ -8,6 +8,7 @@ import com.trash.garbage.service.GarOrderMatchHandlerService;
8 import org.springframework.stereotype.Service; 8 import org.springframework.stereotype.Service;
9 9
10 import java.util.List; 10 import java.util.List;
  11 +import java.util.Set;
11 12
12 /** 13 /**
13 * @author 20412 14 * @author 20412
@@ -19,8 +20,8 @@ public class GarOrderMatchHandlerServiceImpl extends ServiceImpl&lt;GarOrderMatchHa @@ -19,8 +20,8 @@ public class GarOrderMatchHandlerServiceImpl extends ServiceImpl&lt;GarOrderMatchHa
19 implements GarOrderMatchHandlerService { 20 implements GarOrderMatchHandlerService {
20 21
21 @Override 22 @Override
22 - public List<DispatchDriverVo> queryDriverListWithDispatchStatus(String orderId, Long id) {  
23 - return baseMapper.queryDriverListWithDispatchStatus(orderId, id); 23 + public List<DispatchDriverVo> queryDriverListWithDispatchStatus(String orderId, Long id, Set<String> containerVolumees) {
  24 + return baseMapper.queryDriverListWithDispatchStatus(orderId, id,containerVolumees);
24 } 25 }
25 } 26 }
26 27
trash-garbage/src/main/java/com/trash/garbage/service/impl/GarOrderServiceImpl.java
@@ -106,6 +106,8 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt; @@ -106,6 +106,8 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
106 GarOrderCar car = new GarOrderCar(); 106 GarOrderCar car = new GarOrderCar();
107 car.setGarOrderCarType(carInfo.getGarOrderCarType()); 107 car.setGarOrderCarType(carInfo.getGarOrderCarType());
108 car.setGarOrderId(order.getGarOrderId()); 108 car.setGarOrderId(order.getGarOrderId());
  109 + car.setCarId(carInfo.getId());
  110 + car.setContainerVolume(carInfo.getContainerVolume());
109 car.setGarOrderCarUserType(GlobalStatus.GarOrderStatus.PLAN_CAR_TYPE.getValue()); 111 car.setGarOrderCarUserType(GlobalStatus.GarOrderStatus.PLAN_CAR_TYPE.getValue());
110 garOrderCars.add(car); 112 garOrderCars.add(car);
111 } 113 }
@@ -486,6 +488,8 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt; @@ -486,6 +488,8 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
486 GarOrderCar car = new GarOrderCar(); 488 GarOrderCar car = new GarOrderCar();
487 car.setGarOrderCarType(carInfo.getGarOrderCarType()); 489 car.setGarOrderCarType(carInfo.getGarOrderCarType());
488 car.setGarOrderId(dto.getGarOrderId()); 490 car.setGarOrderId(dto.getGarOrderId());
  491 + car.setContainerVolume(carInfo.getContainerVolume());
  492 + car.setCarId(carInfo.getId());
489 car.setGarOrderCarUserType(GlobalStatus.GarOrderStatus.REAL_CAR_TYPE.getValue()); 493 car.setGarOrderCarUserType(GlobalStatus.GarOrderStatus.REAL_CAR_TYPE.getValue());
490 garOrderCars.add(car); 494 garOrderCars.add(car);
491 } 495 }
@@ -817,8 +821,18 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt; @@ -817,8 +821,18 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
817 TransportationEnterprise enterprise = new TransportationEnterprise(); 821 TransportationEnterprise enterprise = new TransportationEnterprise();
818 enterprise.setServicePhone(tel); 822 enterprise.setServicePhone(tel);
819 List<TransportationEnterprise> enterprises = transportationEnterpriseService.selectTransportationEnterpriseList(enterprise); 823 List<TransportationEnterprise> enterprises = transportationEnterpriseService.selectTransportationEnterpriseList(enterprise);
  824 + if(CollectionUtils.isEmpty(enterprises)){
  825 + return Collections.emptyList();
  826 + }
  827 +
  828 + List<GarOrderCar> garOrderCars = garOrderCarService.queryByOrderId(orderId);
  829 + if(CollectionUtils.isEmpty(garOrderCars)){
  830 + return Collections.emptyList();
  831 + }
  832 +
  833 + Set<String> containerVolumees = garOrderCars.stream().map(GarOrderCar::getContainerVolume).collect(Collectors.toSet());
820 // 选中的司机 834 // 选中的司机
821 - List<DispatchDriverVo> voList = handlerService.queryDriverListWithDispatchStatus(orderId, enterprises.get(0).getId()); 835 + List<DispatchDriverVo> voList = handlerService.queryDriverListWithDispatchStatus(orderId, enterprises.get(0).getId(),containerVolumees);
822 return voList; 836 return voList;
823 } 837 }
824 838
trash-garbage/src/main/resources/mapper/GarOrderMatchHandlerMapper.xml
@@ -58,6 +58,9 @@ @@ -58,6 +58,9 @@
58 LEFT JOIN gar_order_match_handler gar ON gar.gar_order_handler_tel = driver.phoneNo 58 LEFT JOIN gar_order_match_handler gar ON gar.gar_order_handler_tel = driver.phoneNo
59 AND gar.gar_order_id = #{orderId} AND gar.gar_handler_car_code = car.car_code 59 AND gar.gar_order_id = #{orderId} AND gar.gar_handler_car_code = car.car_code
60 WHERE 60 WHERE
61 - driver.company_id = #{companyId} 61 + driver.company_id = #{companyId} and container_volume in
  62 + <foreach collection="containerVolumees" item="item" open="(" close=")" separator=",">
  63 + #{item}
  64 + </foreach>
62 </select> 65 </select>
63 </mapper> 66 </mapper>
trash-ui/src/views/activiti/task/index.vue
1 -<template>  
2 - <div class="app-container">  
3 - <el-select v-model="queryParams.dept" filterable reserve-keyword >  
4 - <el-option v-for="item in depts" :label="item.name"  
5 - :value="item.code" :key="item.code">  
6 - </el-option>  
7 - </el-select>  
8 - <el-select v-model="queryParams.role" filterable reserve-keyword >  
9 - <el-option v-for="item in roles" :label="item.name"  
10 - :value="item.code" :key="item.code">  
11 - </el-option>  
12 - </el-select>  
13 -  
14 - <el-input v-model="queryParams.name" placeholder="名称" style="width:200px;"></el-input>  
15 - <!-- <el-select v-model="queryParams.name" filterable reserve-keyword :filter-method="remoteName" placeholder="名称">  
16 - <el-option v-for="item in names" :label="item" :value="item">  
17 - </el-option>  
18 - </el-select> -->  
19 -  
20 - <el-select v-model="queryParams.prev" filterable reserve-keyword placeholder="上一节点">  
21 - <el-option v-for="item in prev" :label="item.name" :value="item.name">  
22 - </el-option>  
23 - </el-select>  
24 - <el-select v-model="queryParams.type" filterable reserve-keyword>  
25 - <el-option label="建筑垃圾许可证审批" value="workflow_constructsite"/>  
26 - <el-option label="消纳合同申报备案" value="workflow_conract"/>  
27 - <el-option label="处理场所备案" value="workflow_earthsites"/>  
28 - <el-option label="运输企业准入流程" value="workflow_company"/>  
29 - <el-option label="运输车辆准入流程" value="workflow_vehicle"/>  
30 - <el-option label="驾驶员信息审批" value="workflow_driver"/>  
31 - <el-option label="报工审批" value="workflow_threestep"/>  
32 - <el-option label="交办案卷" value="workflow_caseoffline"/>  
33 - <el-option label="违规案卷处置流程" value="workflow_casefile"/>  
34 - <el-option label="平台预警信息" value="violation_warning"/>  
35 - <el-option label="办文办事" value="handleAffairs"/>  
36 - <el-option label="后勤管理" value="logistics"/>  
37 - <el-option label="会议事务" value="conference"/>  
38 - <el-option label="假勤管理" value="workflow_leave"/>  
39 - <el-option label="纪检督察" value="supervision-gongdi,supervision_anjuan,supervision_company,supervision_xnc,supervision_casefile,supervision_contract,workflow_supervision"/>  
40 - </el-select>  
41 -  
42 - <el-button type="primary" size="mini" @click="queryParams.pageNum = 1;getList();">搜索</el-button>  
43 - <el-button size="mini" @click="resetQuery">重置</el-button>  
44 -  
45 -  
46 - <taskCard :task="task" v-for="task in taskList" @sendToParent="showTask"/>  
47 -  
48 - <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"  
49 - @pagination="getList"/>  
50 -  
51 - <!-- 审批对话框 -->  
52 - <el-dialog :title="title" :visible.sync="open" v-if="open" width="500px" append-to-body>  
53 -  
54 - <div slot="footer" class="dialog-footer">  
55 - <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>  
56 - <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>  
57 - </div>  
58 - </el-dialog>  
59 -  
60 - <el-dialog :title="title" :visible.sync="open2" width="800px" append-to-body>  
61 - <threestepInfo :businessKey="businessKey" v-if="open2"/>  
62 - <el-form ref="form" :model="form" :rules="rules" label-width="120px">  
63 - <el-row type="flex" justify="center">  
64 - <el-col>  
65 - <el-form-item label="补充说明" prop="subReason">  
66 - <el-input type="textarea" v-model="form.subReason" maxlength=100 show-word-limit='true'/>  
67 - </el-form-item>  
68 - </el-col>  
69 - </el-row>  
70 - <el-row type="flex" justify="center">  
71 - <el-col :span="12">  
72 - <el-form-item label="渣管负责人">  
73 - <el-input v-model="form.earthPipPerson"/>  
74 - </el-form-item>  
75 - </el-col>  
76 - <el-col :span="12">  
77 - <el-form-item label="执法负责人">  
78 - <el-input v-model="form.enforcePerson"/>  
79 - </el-form-item>  
80 - </el-col>  
81 - </el-row>  
82 - <el-row type="flex" justify="center">  
83 - <el-col>  
84 - 上传补充材料:<a style="color:blue;font-size: 12px;" @click="picSample=true">示意图</a>  
85 - </el-col>  
86 - </el-row>  
87 - <el-row type="flex" justify="center" style="margin-top: 20px;"> 1 +<template>
  2 + <div class="app-container">
  3 + <el-select v-model="queryParams.dept" filterable reserve-keyword >
  4 + <el-option v-for="item in depts" :label="item.name"
  5 + :value="item.code" :key="item.code">
  6 + </el-option>
  7 + </el-select>
  8 + <el-select v-model="queryParams.role" filterable reserve-keyword >
  9 + <el-option v-for="item in roles" :label="item.name"
  10 + :value="item.code" :key="item.code">
  11 + </el-option>
  12 + </el-select>
  13 +
  14 + <el-input v-model="queryParams.name" placeholder="名称" style="width:200px;"></el-input>
  15 + <!-- <el-select v-model="queryParams.name" filterable reserve-keyword :filter-method="remoteName" placeholder="名称">
  16 + <el-option v-for="item in names" :label="item" :value="item">
  17 + </el-option>
  18 + </el-select> -->
  19 +
  20 + <el-select v-model="queryParams.prev" filterable reserve-keyword placeholder="上一节点">
  21 + <el-option v-for="item in prev" :label="item.name" :value="item.name">
  22 + </el-option>
  23 + </el-select>
  24 + <el-select v-model="queryParams.type" filterable reserve-keyword>
  25 + <el-option label="建筑垃圾许可证审批" value="workflow_constructsite"/>
  26 + <el-option label="消纳合同申报备案" value="workflow_conract"/>
  27 + <el-option label="处理场所备案" value="workflow_earthsites"/>
  28 + <el-option label="运输企业准入流程" value="workflow_company"/>
  29 + <el-option label="运输车辆准入流程" value="workflow_vehicle"/>
  30 + <el-option label="驾驶员信息审批" value="workflow_driver"/>
  31 + <el-option label="报工审批" value="workflow_threestep"/>
  32 + <el-option label="交办案卷" value="workflow_caseoffline"/>
  33 + <el-option label="违规案卷处置流程" value="workflow_casefile"/>
  34 + <el-option label="平台预警信息" value="violation_warning"/>
  35 + <el-option label="办文办事" value="handleAffairs"/>
  36 + <el-option label="后勤管理" value="logistics"/>
  37 + <el-option label="会议事务" value="conference"/>
  38 + <el-option label="假勤管理" value="workflow_leave"/>
  39 + <el-option label="纪检督察" value="supervision-gongdi,supervision_anjuan,supervision_company,supervision_xnc,supervision_casefile,supervision_contract,workflow_supervision"/>
  40 + </el-select>
  41 +
  42 + <el-button type="primary" size="mini" @click="queryParams.pageNum = 1;getList();">搜索</el-button>
  43 + <el-button size="mini" @click="resetQuery">重置</el-button>
  44 +
  45 +
  46 + <taskCard :task="task" v-for="task in taskList" @sendToParent="showTask"/>
  47 +
  48 + <pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
  49 + @pagination="getList"/>
  50 +
  51 + <!-- 审批对话框 -->
  52 + <el-dialog :title="title" :visible.sync="open" v-if="open" width="500px" append-to-body>
  53 +
  54 + <div slot="footer" class="dialog-footer">
  55 + <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>
  56 + <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>
  57 + </div>
  58 + </el-dialog>
  59 +
  60 + <el-dialog :title="title" :visible.sync="open2" width="800px" append-to-body>
  61 + <threestepInfo :businessKey="businessKey" v-if="open2"/>
  62 + <el-form ref="form" :model="form" :rules="rules" label-width="120px">
  63 + <el-row type="flex" justify="center">
  64 + <el-col>
  65 + <el-form-item label="补充说明" prop="subReason">
  66 + <el-input type="textarea" v-model="form.subReason" maxlength=100 show-word-limit='true'/>
  67 + </el-form-item>
  68 + </el-col>
  69 + </el-row>
  70 + <el-row type="flex" justify="center">
  71 + <el-col :span="12">
  72 + <el-form-item label="渣管负责人">
  73 + <el-input v-model="form.earthPipPerson"/>
  74 + </el-form-item>
  75 + </el-col>
  76 + <el-col :span="12">
  77 + <el-form-item label="执法负责人">
  78 + <el-input v-model="form.enforcePerson"/>
  79 + </el-form-item>
  80 + </el-col>
  81 + </el-row>
  82 + <el-row type="flex" justify="center">
  83 + <el-col>
  84 + 上传补充材料:<a style="color:blue;font-size: 12px;" @click="picSample=true">示意图</a>
  85 + </el-col>
  86 + </el-row>
  87 + <el-row type="flex" justify="center" style="margin-top: 20px;">
88 <el-col :span="6"> 88 <el-col :span="6">
89 - <span style="color: red;" >*</span>  
90 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(0)">履职情况照片</a>  
91 - <br/>  
92 - <el-image v-for="item in slides[0]"  
93 - style="width: 100px; height: 100px; margin: 5px;"  
94 - :src="item.url"  
95 - :preview-src-list="[item.url]"  
96 - :z-index="2000">  
97 - </el-image>  
98 - <el-input v-model="form.sub_img0" type="hidden"></el-input>  
99 - <p v-for="img in form.sub_img0">{{ img.split(":")[0] }}<a @click="removeImage(0,img)" style="color:red">  
100 - x</a>  
101 - </p>  
102 - </el-col> 89 + <span style="color: red;" >*</span>
  90 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(0)">履职情况照片</a>
  91 + <br/>
  92 + <el-image v-for="item in slides[0]"
  93 + style="width: 100px; height: 100px; margin: 5px;"
  94 + :src="item.url"
  95 + :preview-src-list="[item.url]"
  96 + :z-index="2000">
  97 + </el-image>
  98 + <el-input v-model="form.sub_img0" type="hidden"></el-input>
  99 + <p v-for="img in form.sub_img0">{{ img.split(":")[0] }}<a @click="removeImage(0,img)" style="color:red">
  100 + x</a>
  101 + </p>
  102 + </el-col>
103 <el-col :span="6"> 103 <el-col :span="6">
104 - <span style="color: red;" >*</span>  
105 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(1)">水枪水嘴照片</a>  
106 - <br/>  
107 - <el-image v-for="item in slides[1]"  
108 - style="width: 100px; height: 100px; margin: 5px;"  
109 - :src="item.url"  
110 - :preview-src-list="[item.url]"  
111 - :z-index="2000">  
112 - </el-image>  
113 - <el-input v-model="form.sub_img1" type="hidden"></el-input>  
114 - <p v-for="img in form.sub_img1">{{ img.split(":")[0] }}<a @click="removeImage(1,img)" style="color:red">  
115 - x</a>  
116 - </p>  
117 - </el-col>  
118 - <el-col :span="6">  
119 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(2)">照明照片</a>  
120 - <br/>  
121 - <el-image v-for="item in slides[2]"  
122 - style="width: 100px; height: 100px; margin: 5px;"  
123 - :src="item.url"  
124 - :preview-src-list="[item.url]"  
125 - :z-index="2000">  
126 - </el-image>  
127 - <el-input v-model="form.sub_img2" type="hidden"></el-input>  
128 - <p v-for="img in form.sub_img2">{{ img.split(":")[0] }}<a @click="removeImage(2,img)" style="color:red">  
129 - x</a>  
130 - </p>  
131 - </el-col> 104 + <span style="color: red;" >*</span>
  105 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(1)">水枪水嘴照片</a>
  106 + <br/>
  107 + <el-image v-for="item in slides[1]"
  108 + style="width: 100px; height: 100px; margin: 5px;"
  109 + :src="item.url"
  110 + :preview-src-list="[item.url]"
  111 + :z-index="2000">
  112 + </el-image>
  113 + <el-input v-model="form.sub_img1" type="hidden"></el-input>
  114 + <p v-for="img in form.sub_img1">{{ img.split(":")[0] }}<a @click="removeImage(1,img)" style="color:red">
  115 + x</a>
  116 + </p>
  117 + </el-col>
132 <el-col :span="6"> 118 <el-col :span="6">
133 - <span style="color: red;" >*</span>  
134 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(3)">视频监控照片</a>  
135 - <br/>  
136 - <el-image v-for="item in slides[3]"  
137 - style="width: 100px; height: 100px; margin: 5px;"  
138 - :src="item.url"  
139 - :preview-src-list="[item.url]"  
140 - :z-index="2000">  
141 - </el-image>  
142 - <el-input v-model="form.sub_img3" type="hidden"></el-input>  
143 - <p v-for="img in form.sub_img3">{{ img.split(":")[0] }}<a @click="removeImage(3,img)" style="color:red">  
144 - x</a>  
145 - </p>  
146 - </el-col>  
147 - </el-row>  
148 - <el-row type="flex" justify="center"> 119 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(2)">照明照片</a>
  120 + <br/>
  121 + <el-image v-for="item in slides[2]"
  122 + style="width: 100px; height: 100px; margin: 5px;"
  123 + :src="item.url"
  124 + :preview-src-list="[item.url]"
  125 + :z-index="2000">
  126 + </el-image>
  127 + <el-input v-model="form.sub_img2" type="hidden"></el-input>
  128 + <p v-for="img in form.sub_img2">{{ img.split(":")[0] }}<a @click="removeImage(2,img)" style="color:red">
  129 + x</a>
  130 + </p>
  131 + </el-col>
149 <el-col :span="6"> 132 <el-col :span="6">
150 - <span style="color: red;" >*</span>  
151 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(4)">洗车机照片</a>  
152 - <br/>  
153 - <el-image v-for="item in slides[4]"  
154 - style="width: 100px; height: 100px; margin: 5px;"  
155 - :src="item.url"  
156 - :preview-src-list="[item.url]"  
157 - :z-index="2000">  
158 - </el-image>  
159 - <el-input v-model="form.sub_img4" type="hidden"></el-input>  
160 - <p v-for="img in form.sub_img4">{{ img.split(":")[0] }}<a @click="removeImage(4,img)" style="color:red">  
161 - x</a>  
162 - </p>  
163 - </el-col> 133 + <span style="color: red;" >*</span>
  134 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(3)">视频监控照片</a>
  135 + <br/>
  136 + <el-image v-for="item in slides[3]"
  137 + style="width: 100px; height: 100px; margin: 5px;"
  138 + :src="item.url"
  139 + :preview-src-list="[item.url]"
  140 + :z-index="2000">
  141 + </el-image>
  142 + <el-input v-model="form.sub_img3" type="hidden"></el-input>
  143 + <p v-for="img in form.sub_img3">{{ img.split(":")[0] }}<a @click="removeImage(3,img)" style="color:red">
  144 + x</a>
  145 + </p>
  146 + </el-col>
  147 + </el-row>
  148 + <el-row type="flex" justify="center">
164 <el-col :span="6"> 149 <el-col :span="6">
165 - <span style="color: red;" >*</span>  
166 - <a style="color:blue;font-size: 12px;"  
167 - @click="showFileUpload(5)">{{ form.type == 0 ? "摄像头视频截图1" : "洗车设施照片" }}</a>  
168 - <br/>  
169 - <el-image v-for="item in slides[5]"  
170 - style="width: 100px; height: 100px; margin: 5px;"  
171 - :src="item.url"  
172 - :preview-src-list="[item.url]"  
173 - :z-index="2000">  
174 - </el-image>  
175 - <el-input v-model="form.sub_img5" type="hidden"></el-input>  
176 - <p v-for="img in form.sub_img5">{{ img.split(":")[0] }}<a @click="removeImage(5,img)" style="color:red">  
177 - x</a>  
178 - </p>  
179 - </el-col> 150 + <span style="color: red;" >*</span>
  151 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(4)">洗车机照片</a>
  152 + <br/>
  153 + <el-image v-for="item in slides[4]"
  154 + style="width: 100px; height: 100px; margin: 5px;"
  155 + :src="item.url"
  156 + :preview-src-list="[item.url]"
  157 + :z-index="2000">
  158 + </el-image>
  159 + <el-input v-model="form.sub_img4" type="hidden"></el-input>
  160 + <p v-for="img in form.sub_img4">{{ img.split(":")[0] }}<a @click="removeImage(4,img)" style="color:red">
  161 + x</a>
  162 + </p>
  163 + </el-col>
180 <el-col :span="6"> 164 <el-col :span="6">
181 - <span style="color: red;" v-if="form.type == 0">*</span>  
182 - <a style="color:blue;font-size: 12px;"  
183 - @click="showFileUpload(6)">{{ form.type == 0 ? "摄像头视频截图2" : "雾炮机" }}</a>  
184 - <br/>  
185 - <el-image v-for="item in slides[6]"  
186 - style="width: 100px; height: 100px; margin: 5px;"  
187 - :src="item.url"  
188 - :preview-src-list="[item.url]"  
189 - :z-index="2000">  
190 - </el-image>  
191 - <el-input v-model="form.sub_img6" type="hidden"></el-input>  
192 - <p v-for="img in form.sub_img6">{{ img.split(":")[0] }}<a @click="removeImage(6,img)" style="color:red">  
193 - x</a>  
194 - </p>  
195 - </el-col> 165 + <span style="color: red;" >*</span>
  166 + <a style="color:blue;font-size: 12px;"
  167 + @click="showFileUpload(5)">{{ form.type == 0 ? "摄像头视频截图1" : "洗车设施照片" }}</a>
  168 + <br/>
  169 + <el-image v-for="item in slides[5]"
  170 + style="width: 100px; height: 100px; margin: 5px;"
  171 + :src="item.url"
  172 + :preview-src-list="[item.url]"
  173 + :z-index="2000">
  174 + </el-image>
  175 + <el-input v-model="form.sub_img5" type="hidden"></el-input>
  176 + <p v-for="img in form.sub_img5">{{ img.split(":")[0] }}<a @click="removeImage(5,img)" style="color:red">
  177 + x</a>
  178 + </p>
  179 + </el-col>
196 <el-col :span="6"> 180 <el-col :span="6">
197 - <span style="color: red;" >*</span>  
198 - <a style="color:blue;font-size: 12px;"  
199 - @click="showFileUpload(7)">{{ form.type == 0 ? "摄像头视频截图3" : "裸露黄土覆盖照片" }}</a>  
200 - <br/>  
201 - <el-image v-for="item in slides[7]"  
202 - style="width: 100px; height: 100px; margin: 5px;"  
203 - :src="item.url"  
204 - :preview-src-list="[item.url]"  
205 - :z-index="2000">  
206 - </el-image>  
207 - <el-input v-model="form.sub_img7" type="hidden"></el-input>  
208 - <p v-for="img in form.sub_img7">{{ img.split(":")[0] }}<a @click="removeImage(7,img)" style="color:red">  
209 - x</a>  
210 - </p>  
211 - </el-col>  
212 - </el-row>  
213 - <el-row type="flex" justify="center">  
214 - <el-col :span="5">  
215 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(8)">其他1</a>  
216 - <br/>  
217 - <el-image v-for="item in slides[8]"  
218 - style="width: 100px; height: 100px; margin: 5px;"  
219 - :src="item.url"  
220 - :preview-src-list="[item.url]"  
221 - :z-index="2000">  
222 - </el-image>  
223 - <el-input v-model="form.sub_img8" type="hidden"></el-input>  
224 - <p v-for="img in form.sub_img8">{{ img.split(":")[0] }}<a @click="removeImage(8,img)" style="color:red">  
225 - x</a>  
226 - </p>  
227 - </el-col>  
228 - <el-col :span="5">  
229 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(9)">其他2</a>  
230 - <br/>  
231 - <el-image v-for="item in slides[9]"  
232 - style="width: 100px; height: 100px; margin: 5px;"  
233 - :src="item.url"  
234 - :preview-src-list="[item.url]"  
235 - :z-index="2000">  
236 - </el-image>  
237 - <el-input v-model="form.sub_img9" type="hidden"></el-input>  
238 - <p v-for="img in form.sub_img9">{{ img.split(":")[0] }}<a @click="removeImage(9,img)" style="color:red">  
239 - x</a>  
240 - </p>  
241 - </el-col>  
242 - <el-col :span="5">  
243 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(10)">其他3</a>  
244 - <br/>  
245 - <el-image v-for="item in slides[10]"  
246 - style="width: 100px; height: 100px; margin: 5px;"  
247 - :src="item.url"  
248 - :preview-src-list="[item.url]"  
249 - :z-index="2000">  
250 - </el-image>  
251 - <el-input v-model="form.sub_img10" type="hidden"></el-input>  
252 - <p v-for="img in form.sub_img10">{{ img.split(":")[0] }}<a @click="removeImage(10,img)" style="color:red">  
253 - x</a>  
254 - </p>  
255 - </el-col>  
256 - <el-col :span="5">  
257 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(11)">其他4</a>  
258 - <br/>  
259 - <el-image v-for="item in slides[11]"  
260 - style="width: 100px; height: 100px; margin: 5px;"  
261 - :src="item.url"  
262 - :preview-src-list="[item.url]"  
263 - :z-index="2000">  
264 - </el-image>  
265 - <el-input v-model="form.sub_img11" type="hidden"></el-input>  
266 - <p v-for="img in form.sub_img11">{{ img.split(":")[0] }}<a @click="removeImage(11,img)" style="color:red">  
267 - x</a>  
268 - </p>  
269 - </el-col>  
270 - <el-col :span="4">  
271 - <a style="color:blue;font-size: 12px;" @click="showFileUpload(12)">其他5</a>  
272 - <br/>  
273 - <el-image v-for="item in slides[12]"  
274 - style="width: 100px; height: 100px; margin: 5px;"  
275 - :src="item.url"  
276 - :preview-src-list="[item.url]"  
277 - :z-index="2000">  
278 - </el-image>  
279 - <el-input v-model="form.sub_img12" type="hidden"></el-input>  
280 - <p v-for="img in form.sub_img12">{{ img.split(":")[0] }}<a @click="removeImage(12,img)" style="color:red">  
281 - x</a>  
282 - </p>  
283 - </el-col>  
284 - </el-row>  
285 - </el-form>  
286 -  
287 -  
288 - <div slot="footer" class="dialog-footer">  
289 - <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>  
290 - <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>  
291 - </div>  
292 - </el-dialog>  
293 -  
294 -  
295 - <el-dialog title="附件" :visible.sync="uploadImageDialog" append-to-body :beforeClose="handleClose">  
296 - <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList"  
297 - :on-success="uploadSuccess" :before-upload="beforeUpload">  
298 - <el-button size="small" type="primary">选择附件</el-button>  
299 - <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg pdf word png文件</div>  
300 - </el-upload>  
301 - <div style="height: 40px;width:100%;">  
302 - <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button>  
303 - </div>  
304 - </el-dialog>  
305 -  
306 - <el-dialog title="示意图" :visible.sync="picSample" append-to-body>  
307 - <img src="../../../assets/logo/logo.jpg" width="100%" height="800px"/>  
308 - </el-dialog>  
309 -  
310 - <!-- 会议管理 -->  
311 - <el-dialog :title="title" :visible.sync="conferenceOpen" width="850px" append-to-body :close-on-click-modal="false"> 181 + <span style="color: red;" v-if="form.type == 0">*</span>
  182 + <a style="color:blue;font-size: 12px;"
  183 + @click="showFileUpload(6)">{{ form.type == 0 ? "摄像头视频截图2" : "雾炮机" }}</a>
  184 + <br/>
  185 + <el-image v-for="item in slides[6]"
  186 + style="width: 100px; height: 100px; margin: 5px;"
  187 + :src="item.url"
  188 + :preview-src-list="[item.url]"
  189 + :z-index="2000">
  190 + </el-image>
  191 + <el-input v-model="form.sub_img6" type="hidden"></el-input>
  192 + <p v-for="img in form.sub_img6">{{ img.split(":")[0] }}<a @click="removeImage(6,img)" style="color:red">
  193 + x</a>
  194 + </p>
  195 + </el-col>
  196 + <el-col :span="6">
  197 + <span style="color: red;" >*</span>
  198 + <a style="color:blue;font-size: 12px;"
  199 + @click="showFileUpload(7)">{{ form.type == 0 ? "摄像头视频截图3" : "裸露黄土覆盖照片" }}</a>
  200 + <br/>
  201 + <el-image v-for="item in slides[7]"
  202 + style="width: 100px; height: 100px; margin: 5px;"
  203 + :src="item.url"
  204 + :preview-src-list="[item.url]"
  205 + :z-index="2000">
  206 + </el-image>
  207 + <el-input v-model="form.sub_img7" type="hidden"></el-input>
  208 + <p v-for="img in form.sub_img7">{{ img.split(":")[0] }}<a @click="removeImage(7,img)" style="color:red">
  209 + x</a>
  210 + </p>
  211 + </el-col>
  212 + </el-row>
  213 + <el-row type="flex" justify="center">
  214 + <el-col :span="5">
  215 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(8)">其他1</a>
  216 + <br/>
  217 + <el-image v-for="item in slides[8]"
  218 + style="width: 100px; height: 100px; margin: 5px;"
  219 + :src="item.url"
  220 + :preview-src-list="[item.url]"
  221 + :z-index="2000">
  222 + </el-image>
  223 + <el-input v-model="form.sub_img8" type="hidden"></el-input>
  224 + <p v-for="img in form.sub_img8">{{ img.split(":")[0] }}<a @click="removeImage(8,img)" style="color:red">
  225 + x</a>
  226 + </p>
  227 + </el-col>
  228 + <el-col :span="5">
  229 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(9)">其他2</a>
  230 + <br/>
  231 + <el-image v-for="item in slides[9]"
  232 + style="width: 100px; height: 100px; margin: 5px;"
  233 + :src="item.url"
  234 + :preview-src-list="[item.url]"
  235 + :z-index="2000">
  236 + </el-image>
  237 + <el-input v-model="form.sub_img9" type="hidden"></el-input>
  238 + <p v-for="img in form.sub_img9">{{ img.split(":")[0] }}<a @click="removeImage(9,img)" style="color:red">
  239 + x</a>
  240 + </p>
  241 + </el-col>
  242 + <el-col :span="5">
  243 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(10)">其他3</a>
  244 + <br/>
  245 + <el-image v-for="item in slides[10]"
  246 + style="width: 100px; height: 100px; margin: 5px;"
  247 + :src="item.url"
  248 + :preview-src-list="[item.url]"
  249 + :z-index="2000">
  250 + </el-image>
  251 + <el-input v-model="form.sub_img10" type="hidden"></el-input>
  252 + <p v-for="img in form.sub_img10">{{ img.split(":")[0] }}<a @click="removeImage(10,img)" style="color:red">
  253 + x</a>
  254 + </p>
  255 + </el-col>
  256 + <el-col :span="5">
  257 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(11)">其他4</a>
  258 + <br/>
  259 + <el-image v-for="item in slides[11]"
  260 + style="width: 100px; height: 100px; margin: 5px;"
  261 + :src="item.url"
  262 + :preview-src-list="[item.url]"
  263 + :z-index="2000">
  264 + </el-image>
  265 + <el-input v-model="form.sub_img11" type="hidden"></el-input>
  266 + <p v-for="img in form.sub_img11">{{ img.split(":")[0] }}<a @click="removeImage(11,img)" style="color:red">
  267 + x</a>
  268 + </p>
  269 + </el-col>
  270 + <el-col :span="4">
  271 + <a style="color:blue;font-size: 12px;" @click="showFileUpload(12)">其他5</a>
  272 + <br/>
  273 + <el-image v-for="item in slides[12]"
  274 + style="width: 100px; height: 100px; margin: 5px;"
  275 + :src="item.url"
  276 + :preview-src-list="[item.url]"
  277 + :z-index="2000">
  278 + </el-image>
  279 + <el-input v-model="form.sub_img12" type="hidden"></el-input>
  280 + <p v-for="img in form.sub_img12">{{ img.split(":")[0] }}<a @click="removeImage(12,img)" style="color:red">
  281 + x</a>
  282 + </p>
  283 + </el-col>
  284 + </el-row>
  285 + </el-form>
  286 +
  287 +
  288 + <div slot="footer" class="dialog-footer">
  289 + <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>
  290 + <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>
  291 + </div>
  292 + </el-dialog>
  293 +
  294 +
  295 + <el-dialog title="附件" :visible.sync="uploadImageDialog" append-to-body :beforeClose="handleClose">
  296 + <el-upload multiple :headers="upload.headers" :action="upload.url" :file-list="fileList"
  297 + :on-success="uploadSuccess" :before-upload="beforeUpload">
  298 + <el-button size="small" type="primary">选择附件</el-button>
  299 + <div slot="tip" class="el-upload__tip">只能上传不超过 20MB 的jpg pdf word png文件</div>
  300 + </el-upload>
  301 + <div style="height: 40px;width:100%;">
  302 + <el-button type="primary" style="margin-top: 20px;float:right;" @click="handleClose">关闭</el-button>
  303 + </div>
  304 + </el-dialog>
  305 +
  306 + <el-dialog title="示意图" :visible.sync="picSample" append-to-body>
  307 + <img src="../../../assets/logo/logo.jpg" width="100%" height="800px"/>
  308 + </el-dialog>
  309 +
  310 + <!-- 会议管理 -->
  311 + <el-dialog :title="title" :visible.sync="conferenceOpen" width="850px" append-to-body :close-on-click-modal="false">
312 <conferenceInfo :idInfo="idInfo" v-if="conferenceOpen"/> 312 <conferenceInfo :idInfo="idInfo" v-if="conferenceOpen"/>
313 -  
314 -  
315 - <div slot="footer" class="dialog-footer">  
316 - <el-button type="danger" @click="conferenceSubmitForm(1)">驳回</el-button>  
317 - <el-button type="primary" @click="conferenceSubmitForm(0)">通过</el-button>  
318 - </div>  
319 - </el-dialog>  
320 -  
321 - <!-- 请假申请 -->  
322 - <el-dialog :title="title" :visible.sync="leaveApplicationOpen" width="500px" append-to-body  
323 - :close-on-click-modal="false">  
324 - <leaveApplicationInfo :idInfo="idInfo" v-if="leaveApplicationOpen"/>  
325 - <div slot="footer" class="dialog-footer">  
326 - <el-button type="danger" @click="leaveApplicationSubmitForm(1)">驳回</el-button>  
327 - <el-button type="primary" @click="leaveApplicationSubmitForm(0)">通过</el-button>  
328 - </div>  
329 - </el-dialog>  
330 -  
331 -  
332 - <el-dialog :title="title" :visible.sync="construct" width="1500px" append-to-body>  
333 - <companyInfo :businessKey="businessKey" :businessType="2" :signData="signData" v-if="construct"/>  
334 - <div v-for="item in this.form.formData">  
335 - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"  
336 - placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>  
337 - </div>  
338 -  
339 -  
340 - <el-table :data="hisfromData" v-if="hisfromData != null">  
341 - <el-table-column label="处理意见" align="center" prop="controlValue"/>  
342 - <el-table-column label="处理人" align="center" prop="createName"/>  
343 - <el-table-column label="处理时间" align="center" prop="createTime"/>  
344 - </el-table>  
345 - <div slot="footer" class="dialog-footer">  
346 - <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>  
347 - <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>  
348 - </div>  
349 - </el-dialog>  
350 -  
351 - <el-dialog :title="title" :visible.sync="earthsites" width="1500px" append-to-body>  
352 - <companyInfo :businessKey="businessKey" :businessType="3" v-if="earthsites"/>  
353 - <div v-for="item in this.form.formData">  
354 - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"  
355 - placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>  
356 - </div>  
357 -  
358 - <el-table :data="hisfromData" v-if="hisfromData != null">  
359 -  
360 - <el-table-column label="处理意见" align="center" prop="controlValue"/>  
361 - <el-table-column label="处理人" align="center" prop="createName"/>  
362 - <el-table-column label="处理时间" align="center" prop="createTime"/>  
363 - </el-table>  
364 -  
365 - <div slot="footer" class="dialog-footer">  
366 - <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>  
367 - <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>  
368 - </div>  
369 - </el-dialog>  
370 -  
371 - <el-dialog :title="title" :visible.sync="contract" width="1500px" append-to-body>  
372 - <companyInfo :businessKey="businessKey" :businessType="4" v-if="contract"/>  
373 -  
374 - <div v-for="item in this.form.formData">  
375 - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"  
376 - placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>  
377 - </div>  
378 -  
379 - <el-table :data="hisfromData" v-if="hisfromData != null">  
380 -  
381 - <el-table-column label="处理意见" align="center" prop="controlValue"/>  
382 - <el-table-column label="处理人" align="center" prop="createName"/>  
383 - <el-table-column label="处理时间" align="center" prop="createTime"/>  
384 - </el-table>  
385 -  
386 - <div slot="footer" class="dialog-footer">  
387 - <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>  
388 - <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>  
389 - </div>  
390 - </el-dialog>  
391 -  
392 - <!-- 后勤管理 -->  
393 - <el-dialog :title="title" :visible.sync="logisticsInfoOpen" width="500px" append-to-body  
394 - :close-on-click-modal="false">  
395 - <logisticsInfo :idInfo="idInfo" v-if="logisticsInfoOpen"/>  
396 - <div slot="footer" class="dialog-footer">  
397 - <el-button type="danger" @click="logisticsInfoSubmitForm(1)">驳回</el-button>  
398 - <el-button type="primary" @click="logisticsInfoSubmitForm(0)">通过</el-button>  
399 - </div>  
400 - </el-dialog>  
401 -  
402 - <!-- 办文办事 -->  
403 - <el-dialog :title="title" :visible.sync="handleAffairsInfoOpen" width="600px" append-to-body  
404 - :close-on-click-modal="false">  
405 - <handleInfo ref="handleAffairsInfoRef" :idInfo="idInfo" v-if="handleAffairsInfoOpen"  
406 - :businessKey="definitionKey"  
407 - :controlId="controlId"/>  
408 - <el-form label-width="110px" v-if="definitionKey=='yuelan'">  
409 - <el-form-item label="阅览部门:">  
410 - <el-select ref="formDeptNameRef" v-model="deptName" placeholder="请选择部门" style="width: 100% "  
411 - @change="changeDepts">  
412 - <el-option v-for="item in depts" :label="item.name" :value="item.code" :key="item.code"/>  
413 - </el-select>  
414 - </el-form-item>  
415 - <el-form-item label="阅览人:">  
416 - <treeselect v-model="users" :multiple="true" :options="options" placeholder="请选择" @select="handleSelect"/>  
417 - </el-form-item>  
418 - </el-form>  
419 - <div v-for="item in this.form.formData">  
420 - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"  
421 - placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>  
422 - </div>  
423 -  
424 -  
425 - <el-table :data="hisfromData" v-if="hisfromData != null">  
426 - <el-table-column label="处理意见" align="center" prop="controlValue"/>  
427 - <el-table-column label="处理人" align="center" prop="createName"/>  
428 - <el-table-column label="处理时间" align="center" prop="createTime"/>  
429 - </el-table>  
430 -  
431 - <div slot="footer" class="dialog-footer">  
432 - <div slot="footer" class="dialog-footer">  
433 - <el-button type="danger" @click="handleAffairsSubmitForm(1)"  
434 - v-if="controlId!='FormProperty_11p96vq' && controlId!='FormProperty_0d6ngk1' && definitionKey!='yuelanxuexi' && definitionKey!='yuelan'">  
435 - 驳回  
436 - </el-button>  
437 - <el-button type="primary" @click="handleAffairsSubmitForm(0)">通过</el-button>  
438 - </div>  
439 - </div>  
440 - </el-dialog>  
441 -  
442 - <!-- 线下案卷交办 -->  
443 - <el-dialog :title="title" :visible.sync="caseOffline" width="600px" append-to-body :close-on-click-modal="false">  
444 - <caseOfflineInfo :businessKey="businessKey" v-if="caseOffline"/>  
445 - <el-form v-if="caseOffline" label-width="120px">  
446 - <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见">  
447 - </el-input>  
448 - <el-upload multiple :headers="upload.headers" :action="upload.url"  
449 - accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi"  
450 - :show-file-list="false"  
451 - :on-success="uploadSuccess1" :before-upload="beforeUpload">  
452 - <el-button size="small" type="primary">选择附件</el-button>  
453 - <div slot="tip" class="el-upload__tip">只能上传不超过 100MB 的jpg、png、pdf、word、avi、mp4文件</div>  
454 - </el-upload>  
455 - <el-image v-for="item in slides1"  
456 - style="width: 150px; height: 100px; margin: 5px;"  
457 - :src="item.url"  
458 - :preview-src-list="[item.url]"  
459 - :z-index="2000">  
460 - </el-image>  
461 - <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"  
462 - v-for="item in videoSrc1">  
463 - <video width="100%" controls="controls" height="100%" :src="item.url"></video>  
464 - </div>  
465 - <div style="color: blue;" v-for="(img,index) in form.replyImg">{{ img.split("/")[img.split("/").length - 1] }}<a  
466 - @click="removeAttchItem(index,img)" style="color:red;"> X</a></div>  
467 -  
468 - </el-form>  
469 - <div slot="footer" class="dialog-footer">  
470 - <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)"  
471 - v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回  
472 - </el-button>  
473 - <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>  
474 - </div>  
475 - </el-dialog>  
476 -  
477 - <!-- 平台违规信息 -->  
478 - <el-dialog :title="title" :visible.sync="violationCaseFile" width="850px" append-to-body  
479 - :close-on-click-modal="false">  
480 - <violationCaseFileInfo :idInfo="businessKey" v-if="violationCaseFile" :entryType="0"/>  
481 - <el-form v-if="violationCaseFile" label-width="120px">  
482 - <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见">  
483 - </el-input>  
484 - <el-upload multiple :headers="upload.headers" :action="upload.url"  
485 - accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi"  
486 - :show-file-list="false"  
487 - :on-success="uploadSuccess1" :before-upload="beforeUpload">  
488 - <el-button size="small" type="primary">选择附件</el-button>  
489 - <div slot="tip" class="el-upload__tip">只能上传不超过 100MB 的jpg、png、pdf、word、avi、mp4文件</div>  
490 - </el-upload>  
491 - <el-image v-for="item in slides1"  
492 - style="width: 150px; height: 100px; margin: 5px;"  
493 - :src="item.url"  
494 - :preview-src-list="[item.url]"  
495 - :z-index="2000">  
496 - </el-image>  
497 - <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"  
498 - v-for="item in videoSrc1">  
499 - <video width="100%" controls="controls" height="100%" :src="item.url"></video>  
500 - </div>  
501 - <div style="color: blue;" v-for="(img,index) in form.replyImg">{{ img.split("/")[img.split("/").length - 1] }}<a  
502 - @click="removeAttchItem(index,img)" style="color:red;"> X</a></div>  
503 -  
504 - </el-form>  
505 -  
506 -  
507 - <div slot="footer" class="dialog-footer">  
508 - <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)"  
509 - v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回  
510 - </el-button>  
511 - <el-button type="primary"  
512 -  
513 - v-loading.fullscreen.lock="modalLoading"  
514 - @click="submitForm(form.formData[0].controlId,0)">通过</el-button>  
515 - </div>  
516 - </el-dialog>  
517 -  
518 - <!-- 违规预警信息 -->  
519 - <el-dialog :title="title" :visible.sync="violationCaseFile1" width="850px" append-to-body  
520 - :close-on-click-modal="false">  
521 - <violationWarningInformationInfo :idInfo="businessKey" v-if="violationCaseFile1" :entryType="0"/>  
522 - <el-form v-if="violationCaseFile1" label-width="120px">  
523 - <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见">  
524 - </el-input>  
525 - <el-upload multiple :headers="upload.headers" :action="upload.url"  
526 - accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi"  
527 - :show-file-list="false"  
528 - :on-success="uploadSuccess1" :before-upload="beforeUpload">  
529 - <el-button size="small" type="primary">选择附件</el-button>  
530 - <div slot="tip" class="el-upload__tip">只能上传不超过 100MB 的jpg、png、pdf、word、avi、mp4文件</div>  
531 - </el-upload>  
532 - <el-image v-for="item in slides1"  
533 - style="width: 150px; height: 100px; margin: 5px;"  
534 - :src="item.url"  
535 - :preview-src-list="[item.url]"  
536 - :z-index="2000">  
537 - </el-image>  
538 - <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"  
539 - v-for="item in videoSrc1">  
540 - <video width="100%" controls="controls" height="100%" :src="item.url"></video>  
541 - </div>  
542 - <div style="color: blue;" v-for="(img,index) in form.replyImg">{{ img.split("/")[img.split("/").length - 1] }}<a  
543 - @click="removeAttchItem(index,img)" style="color:red;"> X</a></div>  
544 - </el-form>  
545 -  
546 -  
547 - <div slot="footer" class="dialog-footer">  
548 - <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)"  
549 - v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回  
550 - </el-button>  
551 - <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>  
552 - </div>  
553 - </el-dialog>  
554 -  
555 - <el-dialog :title="title" :visible.sync="supervisionOpen" width="700px" append-to-body  
556 - :close-on-click-modal="false">  
557 - <supervisionInfo :infoData="supervisionData" v-if="supervisionOpen"/>  
558 -  
559 - <div v-for="item in this.form.formData">  
560 - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"  
561 - placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>  
562 - </div>  
563 -  
564 - <el-table :data="hisfromData" v-if="hisfromData != null">  
565 -  
566 - <el-table-column label="处理意见" align="center" prop="controlValue"/>  
567 - <el-table-column label="处理人" align="center" prop="createName"/>  
568 - <el-table-column label="处理时间" align="center" prop="createTime"/>  
569 - </el-table>  
570 -  
571 - <div slot="footer" class="dialog-footer">  
572 - <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>  
573 - <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>  
574 - </div>  
575 - </el-dialog>  
576 -  
577 - <el-dialog :title="title" :visible.sync="company" width="1500px" append-to-body :close-on-click-modal="false">  
578 - <companyInfo :businessKey="businessKey" :businessType="0" v-if="company"/>  
579 - <div v-for="item in this.form.formData">  
580 - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"  
581 - placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>  
582 - </div>  
583 -  
584 - <el-table :data="hisfromData" v-if="hisfromData != null">  
585 -  
586 - <el-table-column label="处理意见" align="center" prop="controlValue"/>  
587 - <el-table-column label="处理人" align="center" prop="createName"/>  
588 - <el-table-column label="处理时间" align="center" prop="createTime"/>  
589 - </el-table>  
590 - <div slot="footer" class="dialog-footer">  
591 - <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>  
592 - <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>  
593 - </div>  
594 - </el-dialog>  
595 -  
596 - <el-dialog :title="title" :visible.sync="vehicle" width="1500px" append-to-body :close-on-click-modal="false">  
597 - <companyInfo :businessKey="businessKey" :businessType="1" v-if="vehicle"/>  
598 - <div v-for="item in this.form.formData">  
599 - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"  
600 - placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>  
601 - </div>  
602 -  
603 - <el-table :data="hisfromData" v-if="hisfromData != null">  
604 -  
605 - <el-table-column label="处理意见" align="center" prop="controlValue"/>  
606 - <el-table-column label="处理人" align="center" prop="createName"/>  
607 - <el-table-column label="处理时间" align="center" prop="createTime"/>  
608 - </el-table>  
609 - <div slot="footer" class="dialog-footer">  
610 - <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>  
611 - <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>  
612 - </div>  
613 - </el-dialog>  
614 -  
615 - <el-dialog :title="title" :visible.sync="driver" width="1500px" append-to-body :close-on-click-modal="false">  
616 - <companyInfo :businessKey="businessKey" :businessType="5" v-if="driver"/>  
617 - <div v-for="item in this.form.formData">  
618 - <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"  
619 - placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>  
620 - </div>  
621 -  
622 - <el-table :data="hisfromData" v-if="hisfromData != null">  
623 -  
624 - <el-table-column label="处理意见" align="center" prop="controlValue"/>  
625 - <el-table-column label="处理人" align="center" prop="createName"/>  
626 - <el-table-column label="处理时间" align="center" prop="createTime"/>  
627 - </el-table>  
628 - <div slot="footer" class="dialog-footer">  
629 - <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>  
630 - <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>  
631 - </div>  
632 - </el-dialog>  
633 -  
634 - </div>  
635 -</template>  
636 -  
637 -<style>  
638 -@import '../../../assets/css/task.css';  
639 -</style>  
640 -  
641 -<script>  
642 - import {formDataSave, formDataShow, listTask,getNames} from "@/api/activiti/task";  
643 - import {historyFromData} from '@/api/activiti/historyFormdata'  
644 - import {addSign, getSignByObjId} from "@/api/sign/sign";  
645 - import {updateCaseOffline} from "@/api/caseOffline/caseOffline";  
646 - import {updateViolationCaseFileReader} from "@/api/casefile/violationCaseFile";  
647 - import {updateViolationCaseFileReader1} from "@/api/casefile/violationWarningInformation";  
648 - import {getDict, getSupervision, getUsers} from "@/api/dict";  
649 - import {activeThreestep} from "@/api/business/threestep";  
650 - import {getToken} from "@/utils/auth";  
651 - import {addReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess";  
652 - import {updateHandleAffairs} from "@/api/office/handle";  
653 - import Treeselect from "@riophae/vue-treeselect";  
654 - import '@riophae/vue-treeselect/dist/vue-treeselect.css'  
655 - import leaveHistoryForm from "@/views/workflow/leaveHistoryForm";  
656 - import threestepInfo from "@/views/business/threestep/threestepInfo";  
657 - import taskCard from "@/views/activiti/task/taskCard";  
658 - import conferenceInfo from "@/views/office/conference/conferenceInfo";  
659 - import leaveApplicationInfo from "@/views/office/leaveApplication/leaveApplicationInfo";  
660 - import constructsiteInfo from "@/views/activiti/task/constructsiteInfo";  
661 - import earthsitesInfo from "@/views/activiti/task/earthsitesInfo";  
662 - import contractInfo from "@/views/activiti/task/contractInfo";  
663 - import logisticsInfo from "@/views/office/logistics/logisticsInfo";  
664 - import handleInfo from "@/views/office/handle/handleInfo";  
665 - import caseOfflineInfo from "@/views/caseOffline/caseOffline/caseOfflineInfo";  
666 - import violationCaseFileInfo from "@/views/h5/task/violationCaseFileInfo";  
667 - import violationWarningInformationInfo from "@/views/h5/task/violationWarningInformationInfo";  
668 - import supervisionInfo from "@/views/activiti/task/SupervisionInfo";  
669 - import companyInfo from "@/views/activiti/task/companyInfo";  
670 - import driverInfo from "@/views/activiti/task/driverInfo";  
671 - import vehicleInfo from "@/views/activiti/task/vehicleInfo";  
672 -  
673 - import taskmethod from '@/api/taskmethod'  
674 -  
675 - export default {  
676 - name: "task",  
677 - mixins: [taskmethod],  
678 - components: {  
679 - taskCard,  
680 - leaveHistoryForm,  
681 - threestepInfo,  
682 - conferenceInfo,  
683 - leaveApplicationInfo,  
684 - logisticsInfo,  
685 - handleInfo,  
686 - constructsiteInfo,  
687 - Treeselect,  
688 - earthsitesInfo,  
689 - contractInfo,  
690 - caseOfflineInfo,  
691 - violationCaseFileInfo,  
692 - violationWarningInformationInfo,  
693 - supervisionInfo,  
694 - companyInfo,  
695 - driverInfo,  
696 - vehicleInfo  
697 - },  
698 - data() {  
699 - return {  
700 - modalLoading:false,  
701 - id: '',  
702 - definitionKey: '',  
703 - businessKey: '',  
704 - // 遮罩层  
705 - loading: true,  
706 - // 选中数组  
707 - ids: [],  
708 - // 非单个禁用  
709 - single: true,  
710 - // 非多个禁用  
711 - multiple: true,  
712 - // 显示搜索条件  
713 - showSearch: true,  
714 - // 总条数  
715 - total: 0,  
716 - // 请假表格数据  
717 - taskList: [],  
718 - // 弹出层标题  
719 - title: "",  
720 - // 是否显示弹出层  
721 - picSample: false,  
722 - taskName: null,  
723 - // 查询参数  
724 - queryParams: {  
725 - name:null,  
726 - pageNum: 1,  
727 - pageSize: 10,  
728 - role: null,  
729 - dept: null,  
730 - },  
731 - // 表单参数  
732 - form: {  
733 - formData: []  
734 - },  
735 - needShow: false,  
736 - // 表单校验  
737 - rules: {  
738 - subReason: [{  
739 - required: true,  
740 - message: '请填写补充说明',  
741 - trigger: 'blur'  
742 - },],  
743 -  
744 - },  
745 - picIndex: 0,  
746 - fileList: [],  
747 - upload: {  
748 - // 是否显示弹出层(用户导入)  
749 - open: false,  
750 - // 弹出层标题(用户导入)  
751 - title: "",  
752 - // 是否禁用上传  
753 - isUploading: false,  
754 - // 设置上传的请求头部  
755 - headers: {  
756 - Authorization: "Bearer " + getToken()  
757 - },  
758 - // 上传的地址  
759 - url: process.env.VUE_APP_BASE_API + "/business/threestep/upload",  
760 - },  
761 - controlId: null,  
762 - users: [],  
763 - options: [],  
764 - usersName: [],  
765 - deptName: null,  
766 - supervisionData: null,  
767 - uploadImageDialog: false,  
768 - idInfo: null,  
769 - signData: null,  
770 - areas: [],  
771 - roles: [],  
772 - depts: [],  
773 - signDataInfo: null,  
774 - earthsites: false,  
775 - contract: false,  
776 - logisticsInfoOpen: false,  
777 - handleAffairsInfoOpen: false,  
778 - caseOffline: false,  
779 - violationCaseFile: false,  
780 - violationCaseFile1: false,  
781 - supervisionOpen: false,  
782 - open: false,  
783 - open2: false,  
784 - conferenceOpen: false,  
785 - construct: false,  
786 - leaveApplicationOpen: false,  
787 - prev:[],  
788 - userNodes: [],  
789 - company: false,  
790 - driver: false,  
791 - vehicle: false,  
792 - names: null,  
793 - hisfromData: [],  
794 - slides: [],  
795 - slidesArys: [],  
796 - slides1: [],  
797 - videoSrc1: [],  
798 - };  
799 - },  
800 - created() {  
801 - let dep = {type: "CSUserDepartmentType"};  
802 -  
803 - getDict(dep).then(res => {  
804 - this.depts = res.result;  
805 - for(let i in res.result){  
806 - if(res.result[i].name.indexOf("渣土办") < 1){  
807 - this.prev.push(res.result[i]);  
808 - }  
809 - }  
810 - });  
811 -  
812 - let role = {type: "CSUserPostType"};  
813 -  
814 - getDict(role).then(res => {  
815 - this.roles = res.result;  
816 - });  
817 -  
818 - listTask(this.queryParams).then(response => {  
819 - this.taskList = response.rows;  
820 - this.names = response.names;  
821 - this.total = response.total;  
822 - this.loading = false;  
823 - });  
824 - },  
825 - methods: {  
826 -  
827 - },  
828 - }  
829 -  
830 -</script> 313 +
  314 + <div v-for="item in this.form.formData">
  315 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  316 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  317 + </div>
  318 +<!-- <el-table :data="hisfromData" v-if="hisfromData != null">-->
  319 +
  320 +<!-- <el-table-column label="处理意见" align="center" prop="controlValue"/>-->
  321 +<!-- <el-table-column label="处理人" align="center" prop="createName"/>-->
  322 +<!-- <el-table-column label="处理时间" align="center" prop="createTime"/>-->
  323 +<!-- </el-table>-->
  324 + <div slot="footer" class="dialog-footer">
  325 + <el-button type="danger" @click="conferenceSubmitForm(1)">驳回</el-button>
  326 + <el-button type="primary" @click="conferenceSubmitForm(0)">通过</el-button>
  327 + </div>
  328 + </el-dialog>
  329 +
  330 + <!-- 请假申请 -->
  331 + <el-dialog :title="title" :visible.sync="leaveApplicationOpen" width="500px" append-to-body
  332 + :close-on-click-modal="false">
  333 + <leaveApplicationInfo :idInfo="idInfo" v-if="leaveApplicationOpen"/>
  334 + <div v-for="item in this.form.formData">
  335 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  336 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  337 + </div>
  338 + <el-table :data="hisfromData" v-if="hisfromData != null">
  339 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  340 + <el-table-column label="处理人" align="center" prop="createName"/>
  341 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  342 + </el-table>
  343 + <div slot="footer" class="dialog-footer">
  344 + <el-button type="danger" @click="leaveApplicationSubmitForm(1)">驳回</el-button>
  345 + <el-button type="primary" @click="leaveApplicationSubmitForm(0)">通过</el-button>
  346 + </div>
  347 + </el-dialog>
  348 +
  349 +
  350 + <el-dialog :title="title" :visible.sync="construct" width="1500px" append-to-body>
  351 + <companyInfo :businessKey="businessKey" :businessType="2" :signData="signData" v-if="construct"/>
  352 + <div v-for="item in this.form.formData">
  353 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  354 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  355 + </div>
  356 +
  357 +
  358 + <el-table :data="hisfromData" v-if="hisfromData != null">
  359 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  360 + <el-table-column label="处理人" align="center" prop="createName"/>
  361 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  362 + </el-table>
  363 + <div slot="footer" class="dialog-footer">
  364 + <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>
  365 + <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>
  366 + </div>
  367 + </el-dialog>
  368 +
  369 + <el-dialog :title="title" :visible.sync="earthsites" width="1500px" append-to-body>
  370 + <companyInfo :businessKey="businessKey" :businessType="3" v-if="earthsites"/>
  371 + <div v-for="item in this.form.formData">
  372 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  373 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  374 + </div>
  375 +
  376 + <el-table :data="hisfromData" v-if="hisfromData != null">
  377 +
  378 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  379 + <el-table-column label="处理人" align="center" prop="createName"/>
  380 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  381 + </el-table>
  382 +
  383 + <div slot="footer" class="dialog-footer">
  384 + <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>
  385 + <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>
  386 + </div>
  387 + </el-dialog>
  388 +
  389 + <el-dialog :title="title" :visible.sync="contract" width="1500px" append-to-body>
  390 + <companyInfo :businessKey="businessKey" :businessType="4" v-if="contract"/>
  391 +
  392 + <div v-for="item in this.form.formData">
  393 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  394 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  395 + </div>
  396 +
  397 + <el-table :data="hisfromData" v-if="hisfromData != null">
  398 +
  399 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  400 + <el-table-column label="处理人" align="center" prop="createName"/>
  401 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  402 + </el-table>
  403 +
  404 + <div slot="footer" class="dialog-footer">
  405 + <el-button type="danger" @click="submitForm(form.formData[0].controlId ,1)">驳回</el-button>
  406 + <el-button type="primary" @click="submitForm(form.formData[0].controlId ,0)">通过</el-button>
  407 + </div>
  408 + </el-dialog>
  409 +
  410 + <!-- 后勤管理 -->
  411 + <el-dialog :title="title" :visible.sync="logisticsInfoOpen" width="500px" append-to-body
  412 + :close-on-click-modal="false">
  413 + <logisticsInfo :idInfo="idInfo" v-if="logisticsInfoOpen"/>
  414 + <el-table :data="hisfromData" v-if="hisfromData != null">
  415 + <div v-for="item in this.form.formData">
  416 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  417 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  418 + </div>
  419 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  420 + <el-table-column label="处理人" align="center" prop="createName"/>
  421 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  422 + </el-table>
  423 + <div slot="footer" class="dialog-footer">
  424 + <el-button type="danger" @click="logisticsInfoSubmitForm(1)">驳回</el-button>
  425 + <el-button type="primary" @click="logisticsInfoSubmitForm(0)">通过</el-button>
  426 + </div>
  427 + </el-dialog>
  428 +
  429 + <!-- 办文办事 -->
  430 + <el-dialog :title="title" :visible.sync="handleAffairsInfoOpen" width="600px" append-to-body
  431 + :close-on-click-modal="false">
  432 + <handleInfo ref="handleAffairsInfoRef" :idInfo="idInfo" v-if="handleAffairsInfoOpen"
  433 + :businessKey="definitionKey"
  434 + :controlId="controlId"/>
  435 + <el-form label-width="110px" v-if="definitionKey=='yuelan'">
  436 + <el-form-item label="阅览部门:">
  437 + <el-select ref="formDeptNameRef" v-model="deptName" placeholder="请选择部门" style="width: 100% "
  438 + @change="changeDepts">
  439 + <el-option v-for="item in depts" :label="item.name" :value="item.code" :key="item.code"/>
  440 + </el-select>
  441 + </el-form-item>
  442 + <el-form-item label="阅览人:">
  443 + <treeselect v-model="users" :multiple="true" :options="options" placeholder="请选择" @select="handleSelect"/>
  444 + </el-form-item>
  445 + </el-form>
  446 + <div v-for="item in this.form.formData">
  447 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  448 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  449 + </div>
  450 +
  451 +
  452 + <el-table :data="hisfromData" v-if="hisfromData != null">
  453 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  454 + <el-table-column label="处理人" align="center" prop="createName"/>
  455 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  456 + </el-table>
  457 +
  458 + <div slot="footer" class="dialog-footer">
  459 + <div slot="footer" class="dialog-footer">
  460 + <el-button type="danger" @click="handleAffairsSubmitForm(1)"
  461 + v-if="controlId!='FormProperty_11p96vq' && controlId!='FormProperty_0d6ngk1' && definitionKey!='yuelanxuexi' && definitionKey!='yuelan'">
  462 + 驳回
  463 + </el-button>
  464 + <el-button type="primary" @click="handleAffairsSubmitForm(0)">通过</el-button>
  465 + </div>
  466 + </div>
  467 + </el-dialog>
  468 +
  469 + <!-- 线下案卷交办 -->
  470 + <el-dialog :title="title" :visible.sync="caseOffline" width="600px" append-to-body :close-on-click-modal="false">
  471 + <caseOfflineInfo :businessKey="businessKey" v-if="caseOffline"/>
  472 + <el-form v-if="caseOffline" label-width="120px">
  473 + <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见">
  474 + </el-input>
  475 + <el-upload multiple :headers="upload.headers" :action="upload.url"
  476 + accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi"
  477 + :show-file-list="false"
  478 + :on-success="uploadSuccess1" :before-upload="beforeUpload">
  479 + <el-button size="small" type="primary">选择附件</el-button>
  480 + <div slot="tip" class="el-upload__tip">只能上传不超过 100MB 的jpg、png、pdf、word、avi、mp4文件</div>
  481 + </el-upload>
  482 + <el-image v-for="item in slides1"
  483 + style="width: 150px; height: 100px; margin: 5px;"
  484 + :src="item.url"
  485 + :preview-src-list="[item.url]"
  486 + :z-index="2000">
  487 + </el-image>
  488 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  489 + v-for="item in videoSrc1">
  490 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  491 + </div>
  492 + <div style="color: blue;" v-for="(img,index) in form.replyImg">{{ img.split("/")[img.split("/").length - 1] }}<a
  493 + @click="removeAttchItem(index,img)" style="color:red;"> X</a></div>
  494 +
  495 + </el-form>
  496 + <div slot="footer" class="dialog-footer">
  497 + <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)"
  498 + v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回
  499 + </el-button>
  500 + <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>
  501 + </div>
  502 + </el-dialog>
  503 +
  504 + <!-- 平台违规信息 -->
  505 + <el-dialog :title="title" :visible.sync="violationCaseFile" width="850px" append-to-body
  506 + :close-on-click-modal="false">
  507 + <violationCaseFileInfo :idInfo="businessKey" v-if="violationCaseFile" :entryType="0"/>
  508 + <el-form v-if="violationCaseFile" label-width="120px">
  509 + <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见">
  510 + </el-input>
  511 + <el-upload multiple :headers="upload.headers" :action="upload.url"
  512 + accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi"
  513 + :show-file-list="false"
  514 + :on-success="uploadSuccess1" :before-upload="beforeUpload">
  515 + <el-button size="small" type="primary">选择附件</el-button>
  516 + <div slot="tip" class="el-upload__tip">只能上传不超过 100MB 的jpg、png、pdf、word、avi、mp4文件</div>
  517 + </el-upload>
  518 + <el-image v-for="item in slides1"
  519 + style="width: 150px; height: 100px; margin: 5px;"
  520 + :src="item.url"
  521 + :preview-src-list="[item.url]"
  522 + :z-index="2000">
  523 + </el-image>
  524 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  525 + v-for="item in videoSrc1">
  526 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  527 + </div>
  528 + <div style="color: blue;" v-for="(img,index) in form.replyImg">{{ img.split("/")[img.split("/").length - 1] }}<a
  529 + @click="removeAttchItem(index,img)" style="color:red;"> X</a></div>
  530 +
  531 + </el-form>
  532 +
  533 +
  534 + <div slot="footer" class="dialog-footer">
  535 + <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)"
  536 + v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回
  537 + </el-button>
  538 + <el-button type="primary"
  539 +
  540 + v-loading.fullscreen.lock="modalLoading"
  541 + @click="submitForm(form.formData[0].controlId,0)">通过</el-button>
  542 + </div>
  543 + </el-dialog>
  544 +
  545 + <!-- 违规预警信息 -->
  546 + <el-dialog :title="title" :visible.sync="violationCaseFile1" width="850px" append-to-body
  547 + :close-on-click-modal="false">
  548 + <violationWarningInformationInfo :idInfo="businessKey" v-if="violationCaseFile1" :entryType="0"/>
  549 + <el-form v-if="violationCaseFile1" label-width="120px">
  550 + <el-input v-model="form.reply" type="textarea" :rows="3" placeholder="回复意见">
  551 + </el-input>
  552 + <el-upload multiple :headers="upload.headers" :action="upload.url"
  553 + accept=".docx,.doc,.pdf,.png,.jpeg,.png,.jpg,.mp4,.avi"
  554 + :show-file-list="false"
  555 + :on-success="uploadSuccess1" :before-upload="beforeUpload">
  556 + <el-button size="small" type="primary">选择附件</el-button>
  557 + <div slot="tip" class="el-upload__tip">只能上传不超过 100MB 的jpg、png、pdf、word、avi、mp4文件</div>
  558 + </el-upload>
  559 + <el-image v-for="item in slides1"
  560 + style="width: 150px; height: 100px; margin: 5px;"
  561 + :src="item.url"
  562 + :preview-src-list="[item.url]"
  563 + :z-index="2000">
  564 + </el-image>
  565 + <div style="display: inline-block;margin: 5px;position: relative; width: 150px;height: 100px;overflow:hidden;"
  566 + v-for="item in videoSrc1">
  567 + <video width="100%" controls="controls" height="100%" :src="item.url"></video>
  568 + </div>
  569 + <div style="color: blue;" v-for="(img,index) in form.replyImg">{{ img.split("/")[img.split("/").length - 1] }}<a
  570 + @click="removeAttchItem(index,img)" style="color:red;"> X</a></div>
  571 + </el-form>
  572 +
  573 +
  574 + <div slot="footer" class="dialog-footer">
  575 + <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)"
  576 + v-if="this.taskName != '车辆所属企业' && this.taskName != '渣土办科员'">驳回
  577 + </el-button>
  578 + <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>
  579 + </div>
  580 + </el-dialog>
  581 +
  582 + <el-dialog :title="title" :visible.sync="supervisionOpen" width="700px" append-to-body
  583 + :close-on-click-modal="false">
  584 + <supervisionInfo :infoData="supervisionData" v-if="supervisionOpen"/>
  585 +
  586 + <div v-for="item in this.form.formData">
  587 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  588 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  589 + </div>
  590 +
  591 + <el-table :data="hisfromData" v-if="hisfromData != null">
  592 +
  593 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  594 + <el-table-column label="处理人" align="center" prop="createName"/>
  595 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  596 + </el-table>
  597 +
  598 + <div slot="footer" class="dialog-footer">
  599 + <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>
  600 + <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>
  601 + </div>
  602 + </el-dialog>
  603 +
  604 + <el-dialog :title="title" :visible.sync="company" width="1500px" append-to-body :close-on-click-modal="false">
  605 + <companyInfo :businessKey="businessKey" :businessType="0" v-if="company"/>
  606 + <div v-for="item in this.form.formData">
  607 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  608 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  609 + </div>
  610 +
  611 + <el-table :data="hisfromData" v-if="hisfromData != null">
  612 +
  613 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  614 + <el-table-column label="处理人" align="center" prop="createName"/>
  615 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  616 + </el-table>
  617 + <div slot="footer" class="dialog-footer">
  618 + <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>
  619 + <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>
  620 + </div>
  621 + </el-dialog>
  622 +
  623 + <el-dialog :title="title" :visible.sync="vehicle" width="1500px" append-to-body :close-on-click-modal="false">
  624 + <companyInfo :businessKey="businessKey" :businessType="1" v-if="vehicle"/>
  625 + <div v-for="item in this.form.formData">
  626 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  627 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  628 + </div>
  629 +
  630 + <el-table :data="hisfromData" v-if="hisfromData != null">
  631 +
  632 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  633 + <el-table-column label="处理人" align="center" prop="createName"/>
  634 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  635 + </el-table>
  636 + <div slot="footer" class="dialog-footer">
  637 + <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>
  638 + <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>
  639 + </div>
  640 + </el-dialog>
  641 +
  642 + <el-dialog :title="title" :visible.sync="driver" width="1500px" append-to-body :close-on-click-modal="false">
  643 + <companyInfo :businessKey="businessKey" :businessType="5" v-if="driver"/>
  644 + <div v-for="item in this.form.formData">
  645 + <el-input v-if="item.controlType=='textarea'" :label="item.controlLable" v-model="item.controlValue"
  646 + placeholder="批注" type="textarea" :rows="3" style="margin-top:20px;"/>
  647 + </div>
  648 +
  649 + <el-table :data="hisfromData" v-if="hisfromData != null">
  650 +
  651 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  652 + <el-table-column label="处理人" align="center" prop="createName"/>
  653 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  654 + </el-table>
  655 + <div slot="footer" class="dialog-footer">
  656 + <el-button type="danger" @click="submitForm(form.formData[0].controlId,1)">驳回</el-button>
  657 + <el-button type="primary" @click="submitForm(form.formData[0].controlId,0)">通过</el-button>
  658 + </div>
  659 + </el-dialog>
  660 +
  661 + </div>
  662 +</template>
  663 +
  664 +<style>
  665 +@import '../../../assets/css/task.css';
  666 +</style>
  667 +
  668 +<script>
  669 + import {formDataSave, formDataShow, listTask,getNames} from "@/api/activiti/task";
  670 + import {historyFromData} from '@/api/activiti/historyFormdata'
  671 + import {addSign, getSignByObjId} from "@/api/sign/sign";
  672 + import {updateCaseOffline} from "@/api/caseOffline/caseOffline";
  673 + import {updateViolationCaseFileReader} from "@/api/casefile/violationCaseFile";
  674 + import {updateViolationCaseFileReader1} from "@/api/casefile/violationWarningInformation";
  675 + import {getDict, getSupervision, getUsers} from "@/api/dict";
  676 + import {activeThreestep} from "@/api/business/threestep";
  677 + import {getToken} from "@/utils/auth";
  678 + import {addReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess";
  679 + import {updateHandleAffairs} from "@/api/office/handle";
  680 + import Treeselect from "@riophae/vue-treeselect";
  681 + import '@riophae/vue-treeselect/dist/vue-treeselect.css'
  682 + import leaveHistoryForm from "@/views/workflow/leaveHistoryForm";
  683 + import threestepInfo from "@/views/business/threestep/threestepInfo";
  684 + import taskCard from "@/views/activiti/task/taskCard";
  685 + import conferenceInfo from "@/views/office/conference/conferenceInfo";
  686 + import leaveApplicationInfo from "@/views/office/leaveApplication/leaveApplicationInfo";
  687 + import constructsiteInfo from "@/views/activiti/task/constructsiteInfo";
  688 + import earthsitesInfo from "@/views/activiti/task/earthsitesInfo";
  689 + import contractInfo from "@/views/activiti/task/contractInfo";
  690 + import logisticsInfo from "@/views/office/logistics/logisticsInfo";
  691 + import handleInfo from "@/views/office/handle/handleInfo";
  692 + import caseOfflineInfo from "@/views/caseOffline/caseOffline/caseOfflineInfo";
  693 + import violationCaseFileInfo from "@/views/h5/task/violationCaseFileInfo";
  694 + import violationWarningInformationInfo from "@/views/h5/task/violationWarningInformationInfo";
  695 + import supervisionInfo from "@/views/activiti/task/SupervisionInfo";
  696 + import companyInfo from "@/views/activiti/task/companyInfo";
  697 + import driverInfo from "@/views/activiti/task/driverInfo";
  698 + import vehicleInfo from "@/views/activiti/task/vehicleInfo";
  699 +
  700 + import taskmethod from '@/api/taskmethod'
  701 +
  702 + export default {
  703 + name: "task",
  704 + mixins: [taskmethod],
  705 + components: {
  706 + taskCard,
  707 + leaveHistoryForm,
  708 + threestepInfo,
  709 + conferenceInfo,
  710 + leaveApplicationInfo,
  711 + logisticsInfo,
  712 + handleInfo,
  713 + constructsiteInfo,
  714 + Treeselect,
  715 + earthsitesInfo,
  716 + contractInfo,
  717 + caseOfflineInfo,
  718 + violationCaseFileInfo,
  719 + violationWarningInformationInfo,
  720 + supervisionInfo,
  721 + companyInfo,
  722 + driverInfo,
  723 + vehicleInfo
  724 + },
  725 + data() {
  726 + return {
  727 + modalLoading:false,
  728 + id: '',
  729 + definitionKey: '',
  730 + businessKey: '',
  731 + // 遮罩层
  732 + loading: true,
  733 + // 选中数组
  734 + ids: [],
  735 + // 非单个禁用
  736 + single: true,
  737 + // 非多个禁用
  738 + multiple: true,
  739 + // 显示搜索条件
  740 + showSearch: true,
  741 + // 总条数
  742 + total: 0,
  743 + // 请假表格数据
  744 + taskList: [],
  745 + // 弹出层标题
  746 + title: "",
  747 + // 是否显示弹出层
  748 + picSample: false,
  749 + taskName: null,
  750 + // 查询参数
  751 + queryParams: {
  752 + name:null,
  753 + pageNum: 1,
  754 + pageSize: 10,
  755 + role: null,
  756 + dept: null,
  757 + },
  758 + // 表单参数
  759 + form: {
  760 + formData: []
  761 + },
  762 + needShow: false,
  763 + // 表单校验
  764 + rules: {
  765 + subReason: [{
  766 + required: true,
  767 + message: '请填写补充说明',
  768 + trigger: 'blur'
  769 + },],
  770 +
  771 + },
  772 + picIndex: 0,
  773 + fileList: [],
  774 + upload: {
  775 + // 是否显示弹出层(用户导入)
  776 + open: false,
  777 + // 弹出层标题(用户导入)
  778 + title: "",
  779 + // 是否禁用上传
  780 + isUploading: false,
  781 + // 设置上传的请求头部
  782 + headers: {
  783 + Authorization: "Bearer " + getToken()
  784 + },
  785 + // 上传的地址
  786 + url: process.env.VUE_APP_BASE_API + "/business/threestep/upload",
  787 + },
  788 + controlId: null,
  789 + users: [],
  790 + options: [],
  791 + usersName: [],
  792 + deptName: null,
  793 + supervisionData: null,
  794 + uploadImageDialog: false,
  795 + idInfo: null,
  796 + signData: null,
  797 + areas: [],
  798 + roles: [],
  799 + depts: [],
  800 + signDataInfo: null,
  801 + earthsites: false,
  802 + contract: false,
  803 + logisticsInfoOpen: false,
  804 + handleAffairsInfoOpen: false,
  805 + caseOffline: false,
  806 + violationCaseFile: false,
  807 + violationCaseFile1: false,
  808 + supervisionOpen: false,
  809 + open: false,
  810 + open2: false,
  811 + conferenceOpen: false,
  812 + construct: false,
  813 + leaveApplicationOpen: false,
  814 + prev:[],
  815 + userNodes: [],
  816 + company: false,
  817 + driver: false,
  818 + vehicle: false,
  819 + names: null,
  820 + hisfromData: [],
  821 + slides: [],
  822 + slidesArys: [],
  823 + slides1: [],
  824 + videoSrc1: [],
  825 + };
  826 + },
  827 + created() {
  828 + let dep = {type: "CSUserDepartmentType"};
  829 +
  830 + getDict(dep).then(res => {
  831 + this.depts = res.result;
  832 + for(let i in res.result){
  833 + if(res.result[i].name.indexOf("渣土办") < 1){
  834 + this.prev.push(res.result[i]);
  835 + }
  836 + }
  837 + });
  838 +
  839 + let role = {type: "CSUserPostType"};
  840 +
  841 + getDict(role).then(res => {
  842 + this.roles = res.result;
  843 + });
  844 +
  845 + listTask(this.queryParams).then(response => {
  846 + this.taskList = response.rows;
  847 + this.names = response.names;
  848 + this.total = response.total;
  849 + this.loading = false;
  850 + });
  851 + },
  852 + methods: {
  853 +
  854 + },
  855 + }
  856 +
  857 +</script>
trash-ui/src/views/h5/leaveApplication/index.vue
@@ -20,13 +20,15 @@ @@ -20,13 +20,15 @@
20 <el-select v-model="queryParams.type" placeholder="请选择请假类型" size="small"> 20 <el-select v-model="queryParams.type" placeholder="请选择请假类型" size="small">
21 <el-option label="事假" value="事假"/> 21 <el-option label="事假" value="事假"/>
22 <el-option label="病假" value="病假"/> 22 <el-option label="病假" value="病假"/>
23 - <el-option label="年假" value="年假"/>  
24 <el-option label="婚假" value="婚假"/> 23 <el-option label="婚假" value="婚假"/>
25 <el-option label="产假" value="产假"/> 24 <el-option label="产假" value="产假"/>
26 <el-option label="丧假" value="丧假"/> 25 <el-option label="丧假" value="丧假"/>
27 - <el-option label="探亲假" value="探亲假"/>  
28 - <el-option label="护理假" value="护理假"/>  
29 <el-option label="公休假" value="公休假"/> 26 <el-option label="公休假" value="公休假"/>
  27 + <el-option label="探亲假" value="探亲假"/>
  28 + <el-option label="护理假" value="护理假"/>
  29 + <el-option label="亲子假" value="亲子假"/>
  30 + <el-option label="育儿假" value="育儿假"/>
  31 + <el-option label="其他" value="其他"/>
30 </el-select> 32 </el-select>
31 </el-form-item> 33 </el-form-item>
32 <el-form-item> 34 <el-form-item>
@@ -109,13 +111,15 @@ @@ -109,13 +111,15 @@
109 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%"> 111 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%">
110 <el-option label="事假" value="事假"/> 112 <el-option label="事假" value="事假"/>
111 <el-option label="病假" value="病假"/> 113 <el-option label="病假" value="病假"/>
112 - <el-option label="年假" value="年假"/>  
113 <el-option label="婚假" value="婚假"/> 114 <el-option label="婚假" value="婚假"/>
114 <el-option label="产假" value="产假"/> 115 <el-option label="产假" value="产假"/>
115 <el-option label="丧假" value="丧假"/> 116 <el-option label="丧假" value="丧假"/>
  117 + <el-option label="公休假" value="公休假"/>
116 <el-option label="探亲假" value="探亲假"/> 118 <el-option label="探亲假" value="探亲假"/>
117 - <el-option label="公休假" value="公休假"/>  
118 <el-option label="护理假" value="护理假"/> 119 <el-option label="护理假" value="护理假"/>
  120 + <el-option label="亲子假" value="亲子假"/>
  121 + <el-option label="育儿假" value="育儿假"/>
  122 + <el-option label="其他" value="其他"/>
119 </el-select> 123 </el-select>
120 </el-form-item> 124 </el-form-item>
121 125
@@ -201,7 +205,8 @@ @@ -201,7 +205,8 @@
201 </div> 205 </div>
202 </template> 206 </template>
203 207
204 -<script src="@/api/leave.js"/> 208 +<script src="@/api/leave.js">
  209 +</script>
205 <style scope> 210 <style scope>
206 .el-select-dropdown__item{ 211 .el-select-dropdown__item{
207 width:300px; 212 width:300px;
trash-ui/src/views/h5/leaveApplication/leaveApplicationInfo.vue
@@ -10,12 +10,15 @@ @@ -10,12 +10,15 @@
10 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%" :disabled="true"> 10 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%" :disabled="true">
11 <el-option label="事假" value="事假"/> 11 <el-option label="事假" value="事假"/>
12 <el-option label="病假" value="病假"/> 12 <el-option label="病假" value="病假"/>
13 - <el-option label="年假" value="年假"/>  
14 <el-option label="婚假" value="婚假"/> 13 <el-option label="婚假" value="婚假"/>
15 <el-option label="产假" value="产假"/> 14 <el-option label="产假" value="产假"/>
16 <el-option label="丧假" value="丧假"/> 15 <el-option label="丧假" value="丧假"/>
  16 + <el-option label="公休假" value="公休假"/>
17 <el-option label="探亲假" value="探亲假"/> 17 <el-option label="探亲假" value="探亲假"/>
18 <el-option label="护理假" value="护理假"/> 18 <el-option label="护理假" value="护理假"/>
  19 + <el-option label="亲子假" value="亲子假"/>
  20 + <el-option label="育儿假" value="育儿假"/>
  21 + <el-option label="其他" value="其他"/>
19 </el-select> 22 </el-select>
20 </el-form-item> 23 </el-form-item>
21 24
@@ -45,11 +48,12 @@ @@ -45,11 +48,12 @@
45 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/> 48 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/>
46 </el-form-item> 49 </el-form-item>
47 <el-form-item label="附件图片预览" v-if="slide1.length!=0"> 50 <el-form-item label="附件图片预览" v-if="slide1.length!=0">
48 - <el-image v-for="item in slide1" 51 + <el-image v-for="(item, index) in slide1"
49 style="width: 150px; height: 100px; margin: 5px;" 52 style="width: 150px; height: 100px; margin: 5px;"
50 :src="item" 53 :src="item"
51 :preview-src-list="slide1" 54 :preview-src-list="slide1"
52 - :z-index="2000"> 55 + :z-index="2000"
  56 + :key="index">
53 </el-image> 57 </el-image>
54 </el-form-item> 58 </el-form-item>
55 <el-table :data="fileEntityList"> 59 <el-table :data="fileEntityList">
@@ -67,6 +71,11 @@ @@ -67,6 +71,11 @@
67 </template> 71 </template>
68 </el-table-column> 72 </el-table-column>
69 </el-table> 73 </el-table>
  74 + <el-table :data="hisfromData" v-if="hisfromData != null">
  75 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  76 + <el-table-column label="处理人" align="center" prop="createName"/>
  77 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  78 + </el-table>
70 </el-form> 79 </el-form>
71 </div> 80 </div>
72 </template> 81 </template>
@@ -74,7 +83,7 @@ @@ -74,7 +83,7 @@
74 <script> 83 <script>
75 import {getLeaveApplication} from "@/api/office/leaveApplication"; 84 import {getLeaveApplication} from "@/api/office/leaveApplication";
76 import Editor from '@/components/ZcEditor'; 85 import Editor from '@/components/ZcEditor';
77 -import {getBase64} from "@/api/business/threestep"; 86 +import {historyFromData} from "@/api/activiti/historyFormdata";
78 87
79 export default { 88 export default {
80 name: "leaveApplicationInfo", 89 name: "leaveApplicationInfo",
@@ -93,7 +102,9 @@ export default { @@ -93,7 +102,9 @@ export default {
93 fileEntityList: [], 102 fileEntityList: [],
94 showPic: null, 103 showPic: null,
95 picImage: null, 104 picImage: null,
96 - slide1: [] 105 + slide1: [],
  106 + taskNodeName:null,
  107 + hisfromData:[]
97 } 108 }
98 }, 109 },
99 created() { 110 created() {
@@ -103,13 +114,19 @@ export default { @@ -103,13 +114,19 @@ export default {
103 init() { 114 init() {
104 getLeaveApplication(this.idInfo).then(response => { 115 getLeaveApplication(this.idInfo).then(response => {
105 this.form = response.data.leaveApplication; 116 this.form = response.data.leaveApplication;
  117 + historyFromData("workflow_leave:" + this.idInfo).then(response => {
  118 + for(let i in response.data){
  119 + this.hisfromData.push(response.data[i]);
  120 + }
  121 + })
106 let files = JSON.stringify(response.data.uploadFiles); 122 let files = JSON.stringify(response.data.uploadFiles);
107 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); 123 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
108 this.fileEntityList.map(item => { 124 this.fileEntityList.map(item => {
109 - if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){ 125 + if (item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1) {
110 this.slide1.push(process.env.VUE_APP_BASE_API + item.url); 126 this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
111 } 127 }
112 - }) 128 + });
  129 + //this.$set(this.form,"taskNodeName",this.form.taskNodeName)
113 }); 130 });
114 }, 131 },
115 /** 文件下载 */ 132 /** 文件下载 */
@@ -122,6 +139,12 @@ export default { @@ -122,6 +139,12 @@ export default {
122 a.setAttribute('href', process.env.VUE_APP_BASE_API + url); 139 a.setAttribute('href', process.env.VUE_APP_BASE_API + url);
123 a.click() 140 a.click()
124 }, 141 },
  142 +
  143 + getHistoryData(){
  144 + historyFromData("workflow_leave:" + this.idInfo).then(response => {
  145 + return response.data[response.data.length - 1].taskNodeName;
  146 + })
  147 + }
125 } 148 }
126 } 149 }
127 </script> 150 </script>
trash-ui/src/views/office/conference/conferenceInfo.vue
@@ -64,12 +64,21 @@ @@ -64,12 +64,21 @@
64 </el-table-column> 64 </el-table-column>
65 </el-table> 65 </el-table>
66 </el-row> 66 </el-row>
  67 + <el-row>
  68 + <el-table :data="hisfromData" v-if="hisfromData != null">
  69 +
  70 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  71 + <el-table-column label="处理人" align="center" prop="createName"/>
  72 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  73 + </el-table>
  74 + </el-row>
67 </el-form> 75 </el-form>
68 </template> 76 </template>
69 77
70 <script> 78 <script>
71 import {getConference} from "@/api/office/conference"; 79 import {getConference} from "@/api/office/conference";
72 import Editor from '@/components/ZcEditor'; 80 import Editor from '@/components/ZcEditor';
  81 +import {historyFromData} from "@/api/activiti/historyFormdata";
73 export default { 82 export default {
74 name: "conferenceInfo", 83 name: "conferenceInfo",
75 components: {Editor}, 84 components: {Editor},
@@ -85,7 +94,8 @@ export default { @@ -85,7 +94,8 @@ export default {
85 return { 94 return {
86 form: {}, 95 form: {},
87 fileEntityList:[], 96 fileEntityList:[],
88 - slide1:[] 97 + slide1:[],
  98 + hisfromData:[]
89 } 99 }
90 }, 100 },
91 created() { 101 created() {
@@ -95,6 +105,11 @@ export default { @@ -95,6 +105,11 @@ export default {
95 init(){ 105 init(){
96 getConference(this.idInfo).then(response => { 106 getConference(this.idInfo).then(response => {
97 this.form = response.data.conference; 107 this.form = response.data.conference;
  108 + historyFromData("conference:" + this.idInfo).then(response => {
  109 + for(let i in response.data){
  110 + this.hisfromData.push(response.data[i]);
  111 + }
  112 + })
98 let files = JSON.stringify(response.data.uploadFiles); 113 let files = JSON.stringify(response.data.uploadFiles);
99 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")) 114 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"))
100 this.fileEntityList.map(item => { 115 this.fileEntityList.map(item => {
trash-ui/src/views/office/handle/handleInfo.vue
@@ -114,12 +114,20 @@ @@ -114,12 +114,20 @@
114 </el-table-column> 114 </el-table-column>
115 </el-table> 115 </el-table>
116 </el-row> 116 </el-row>
  117 + <el-row>
  118 + <el-table :data="hisfromData" v-if="hisfromData != null">
  119 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  120 + <el-table-column label="处理人" align="center" prop="createName"/>
  121 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  122 + </el-table>
  123 + </el-row>
117 </el-form> 124 </el-form>
118 </template> 125 </template>
119 126
120 <script> 127 <script>
121 import {getHandle} from "@/api/office/handle"; 128 import {getHandle} from "@/api/office/handle";
122 import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess"; 129 import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess";
  130 +import {historyFromData} from "@/api/activiti/historyFormdata";
123 131
124 export default { 132 export default {
125 name: "handleInfo", 133 name: "handleInfo",
@@ -168,7 +176,8 @@ export default { @@ -168,7 +176,8 @@ export default {
168 "name": "治理部" 176 "name": "治理部"
169 }, 177 },
170 ], 178 ],
171 - slide1:[] 179 + slide1:[],
  180 + hisfromData:[]
172 } 181 }
173 }, 182 },
174 created() { 183 created() {
@@ -179,6 +188,21 @@ export default { @@ -179,6 +188,21 @@ export default {
179 getHandle(this.idInfo).then(response => { 188 getHandle(this.idInfo).then(response => {
180 this.form = response.data.handleAffairs; 189 this.form = response.data.handleAffairs;
181 let files = JSON.stringify(response.data.uploadFiles); 190 let files = JSON.stringify(response.data.uploadFiles);
  191 + historyFromData("handleAffairs:" + this.idInfo).then(response => {
  192 + for(let i in response.data){
  193 + this.hisfromData.push(response.data[i]);
  194 + }
  195 + })
  196 + historyFromData("gongwenchuli:" + this.idInfo).then(response => {
  197 + for(let i in response.data){
  198 + this.hisfromData.push(response.data[i]);
  199 + }
  200 + })
  201 + historyFromData("yuelan:" + this.idInfo).then(response => {
  202 + for(let i in response.data){
  203 + this.hisfromData.push(response.data[i]);
  204 + }
  205 + })
182 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name")); 206 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
183 this.fileEntityList.map(item => { 207 this.fileEntityList.map(item => {
184 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){ 208 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){
trash-ui/src/views/office/leaveApplication/index.vue
@@ -20,13 +20,15 @@ @@ -20,13 +20,15 @@
20 <el-select v-model="queryParams.type" placeholder="请选择请假类型" size="small"> 20 <el-select v-model="queryParams.type" placeholder="请选择请假类型" size="small">
21 <el-option label="事假" value="事假"/> 21 <el-option label="事假" value="事假"/>
22 <el-option label="病假" value="病假"/> 22 <el-option label="病假" value="病假"/>
23 - <el-option label="年假" value="年假"/>  
24 <el-option label="婚假" value="婚假"/> 23 <el-option label="婚假" value="婚假"/>
25 <el-option label="产假" value="产假"/> 24 <el-option label="产假" value="产假"/>
26 <el-option label="丧假" value="丧假"/> 25 <el-option label="丧假" value="丧假"/>
  26 + <el-option label="公休假" value="公休假"/>
27 <el-option label="探亲假" value="探亲假"/> 27 <el-option label="探亲假" value="探亲假"/>
28 <el-option label="护理假" value="护理假"/> 28 <el-option label="护理假" value="护理假"/>
29 - <el-option label="公休假" value="公休假"/> 29 + <el-option label="亲子假" value="亲子假"/>
  30 + <el-option label="育儿假" value="育儿假"/>
  31 + <el-option label="其他" value="其他"/>
30 </el-select> 32 </el-select>
31 </el-form-item> 33 </el-form-item>
32 <el-form-item> 34 <el-form-item>
@@ -155,13 +157,15 @@ @@ -155,13 +157,15 @@
155 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%"> 157 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%">
156 <el-option label="事假" value="事假"/> 158 <el-option label="事假" value="事假"/>
157 <el-option label="病假" value="病假"/> 159 <el-option label="病假" value="病假"/>
158 - <el-option label="年假" value="年假"/>  
159 <el-option label="婚假" value="婚假"/> 160 <el-option label="婚假" value="婚假"/>
160 <el-option label="产假" value="产假"/> 161 <el-option label="产假" value="产假"/>
161 <el-option label="丧假" value="丧假"/> 162 <el-option label="丧假" value="丧假"/>
  163 + <el-option label="公休假" value="公休假"/>
162 <el-option label="探亲假" value="探亲假"/> 164 <el-option label="探亲假" value="探亲假"/>
163 <el-option label="护理假" value="护理假"/> 165 <el-option label="护理假" value="护理假"/>
164 - <el-option label="公休假" value="公休假"/> 166 + <el-option label="亲子假" value="亲子假"/>
  167 + <el-option label="育儿假" value="育儿假"/>
  168 + <el-option label="其他" value="其他"/>
165 </el-select> 169 </el-select>
166 </el-form-item> 170 </el-form-item>
167 171
trash-ui/src/views/office/leaveApplication/leaveApplicationInfo.vue
@@ -10,12 +10,15 @@ @@ -10,12 +10,15 @@
10 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%" :disabled="true"> 10 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%" :disabled="true">
11 <el-option label="事假" value="事假"/> 11 <el-option label="事假" value="事假"/>
12 <el-option label="病假" value="病假"/> 12 <el-option label="病假" value="病假"/>
13 - <el-option label="年假" value="年假"/>  
14 <el-option label="婚假" value="婚假"/> 13 <el-option label="婚假" value="婚假"/>
15 <el-option label="产假" value="产假"/> 14 <el-option label="产假" value="产假"/>
16 <el-option label="丧假" value="丧假"/> 15 <el-option label="丧假" value="丧假"/>
  16 + <el-option label="公休假" value="公休假"/>
17 <el-option label="探亲假" value="探亲假"/> 17 <el-option label="探亲假" value="探亲假"/>
18 <el-option label="护理假" value="护理假"/> 18 <el-option label="护理假" value="护理假"/>
  19 + <el-option label="亲子假" value="亲子假"/>
  20 + <el-option label="育儿假" value="育儿假"/>
  21 + <el-option label="其他" value="其他"/>
19 </el-select> 22 </el-select>
20 </el-form-item> 23 </el-form-item>
21 24
@@ -45,11 +48,12 @@ @@ -45,11 +48,12 @@
45 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/> 48 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/>
46 </el-form-item> 49 </el-form-item>
47 <el-form-item label="附件图片预览" v-if="slide1.length!=0"> 50 <el-form-item label="附件图片预览" v-if="slide1.length!=0">
48 - <el-image v-for="item in slide1" 51 + <el-image v-for="(item, index) in slide1"
49 style="width: 150px; height: 100px; margin: 5px;" 52 style="width: 150px; height: 100px; margin: 5px;"
50 :src="item" 53 :src="item"
51 :preview-src-list="slide1" 54 :preview-src-list="slide1"
52 - :z-index="2000"> 55 + :z-index="2000"
  56 + :key="index">
53 </el-image> 57 </el-image>
54 </el-form-item> 58 </el-form-item>
55 <el-table :data="fileEntityList"> 59 <el-table :data="fileEntityList">
@@ -109,7 +113,7 @@ export default { @@ -109,7 +113,7 @@ export default {
109 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){ 113 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){
110 this.slide1.push(process.env.VUE_APP_BASE_API + item.url); 114 this.slide1.push(process.env.VUE_APP_BASE_API + item.url);
111 } 115 }
112 - }) 116 + });
113 }); 117 });
114 }, 118 },
115 /** 文件下载 */ 119 /** 文件下载 */
trash-ui/src/views/office/logistics/logisticsInfo.vue
@@ -54,12 +54,18 @@ @@ -54,12 +54,18 @@
54 :disabled="true" 54 :disabled="true"
55 @input="form.quantity=form.quantity.replace(/[^0-9]/g,'');"/> 55 @input="form.quantity=form.quantity.replace(/[^0-9]/g,'');"/>
56 </el-form-item> 56 </el-form-item>
  57 + <el-table :data="hisfromData" v-if="hisfromData != null">
  58 + <el-table-column label="处理意见" align="center" prop="controlValue"/>
  59 + <el-table-column label="处理人" align="center" prop="createName"/>
  60 + <el-table-column label="处理时间" align="center" prop="createTime"/>
  61 + </el-table>
57 </el-form> 62 </el-form>
58 </template> 63 </template>
59 64
60 <script> 65 <script>
61 import {getLogistics} from "@/api/office/logistics"; 66 import {getLogistics} from "@/api/office/logistics";
62 import {getDict} from "@/api/dict"; 67 import {getDict} from "@/api/dict";
  68 +import {historyFromData} from "@/api/activiti/historyFormdata";
63 export default { 69 export default {
64 name: "logisticsInfo", 70 name: "logisticsInfo",
65 props: { 71 props: {
@@ -74,7 +80,8 @@ export default { @@ -74,7 +80,8 @@ export default {
74 return { 80 return {
75 form: {}, 81 form: {},
76 type:null, 82 type:null,
77 - depts:[] 83 + depts:[],
  84 + hisfromData:[]
78 } 85 }
79 }, 86 },
80 created() { 87 created() {
@@ -89,6 +96,11 @@ export default { @@ -89,6 +96,11 @@ export default {
89 getLogistics(this.idInfo).then(response => { 96 getLogistics(this.idInfo).then(response => {
90 this.form = response.data 97 this.form = response.data
91 this.type = response.data.type; 98 this.type = response.data.type;
  99 + historyFromData("logistics:" + this.idInfo).then(response => {
  100 + for(let i in response.data){
  101 + this.hisfromData.push(response.data[i]);
  102 + }
  103 + })
92 }); 104 });
93 } 105 }
94 } 106 }
trash-ui/src/views/unit/carInfo/index.vue
@@ -12,9 +12,9 @@ @@ -12,9 +12,9 @@
12 </el-form-item> 12 </el-form-item>
13 <el-form-item label="车辆类型" prop="carType"> 13 <el-form-item label="车辆类型" prop="carType">
14 <el-select v-model="queryParams.carType" placeholder="请选择车辆类型" clearable style="width: 100%;" size="small"> 14 <el-select v-model="queryParams.carType" placeholder="请选择车辆类型" clearable style="width: 100%;" size="small">
15 - <el-option label="燃油渣土车" value="燃油渣土车" />  
16 - <el-option label="电动渣土车" value="电动渣土车" />  
17 - <el-option label="其它" value="其它" /> 15 + <el-option label="轻型货车" value="轻型货车" />
  16 + <el-option label="中型货车" value="中型货车" />
  17 + <el-option label="大中型货车" value="大中型货车" />
18 </el-select> 18 </el-select>
19 </el-form-item> 19 </el-form-item>
20 <el-form-item label="车牌号" prop="carCode"> 20 <el-form-item label="车牌号" prop="carCode">
trash-ui/src/views/unit/carInfo/info.vue
@@ -17,9 +17,9 @@ @@ -17,9 +17,9 @@
17 <el-col :span="7"> 17 <el-col :span="7">
18 <el-form-item label="车辆类型" prop="carType"> 18 <el-form-item label="车辆类型" prop="carType">
19 <el-select v-model="form.carType" placeholder="请选择车辆类型" clearable style="width: 100%;"> 19 <el-select v-model="form.carType" placeholder="请选择车辆类型" clearable style="width: 100%;">
20 - <el-option label="燃油渣土车" value="燃油渣土车" />  
21 - <el-option label="电动渣土车" value="电动渣土车" />  
22 - <el-option label="其它" value="其它" /> 20 + <el-option label="轻型货车" value="轻型货车" />
  21 + <el-option label="中型货车" value="中型货车" />
  22 + <el-option label="大中型货车" value="大中型货车" />
23 </el-select> 23 </el-select>
24 </el-form-item> 24 </el-form-item>
25 </el-col> 25 </el-col>
@@ -672,7 +672,7 @@ export default { @@ -672,7 +672,7 @@ export default {
672 form.lengthWidthHeight = form.length+";"+form.width+";"+form.height; 672 form.lengthWidthHeight = form.length+";"+form.width+";"+form.height;
673 }else{ 673 }else{
674 this.$message({ 674 this.$message({
675 - message: '请填写长宽高!', 675 + message: '请在体积下拉框选择长宽高填写!',
676 type: 'warning' 676 type: 'warning'
677 }); 677 });
678 return; 678 return;
trash-unit/src/main/java/com/trash/carInfo/mapper/CarInfoMapper.java
1 package com.trash.carInfo.mapper; 1 package com.trash.carInfo.mapper;
2 2
3 -import java.util.List;  
4 -  
5 import com.trash.carInfo.domain.CarDriverRelation; 3 import com.trash.carInfo.domain.CarDriverRelation;
6 import com.trash.carInfo.domain.CarInfo; 4 import com.trash.carInfo.domain.CarInfo;
7 import com.trash.carInfo.domain.vo.CarInfoVo; 5 import com.trash.carInfo.domain.vo.CarInfoVo;
  6 +import org.apache.ibatis.annotations.Param;
  7 +
  8 +import java.util.List;
8 9
9 /** 10 /**
10 * 运输车辆管理Mapper接口 11 * 运输车辆管理Mapper接口
@@ -30,6 +31,8 @@ public interface CarInfoMapper @@ -30,6 +31,8 @@ public interface CarInfoMapper
30 */ 31 */
31 List<CarInfoVo> selectCarInfoList(CarInfoVo carInfo); 32 List<CarInfoVo> selectCarInfoList(CarInfoVo carInfo);
32 33
  34 + List<CarInfoVo> selectByCompanyId(@Param("companyId") Long companyId);
  35 +
33 /** 36 /**
34 * 新增运输车辆管理 37 * 新增运输车辆管理
35 * 38 *
trash-unit/src/main/java/com/trash/carInfo/service/ICarInfoService.java
1 package com.trash.carInfo.service; 1 package com.trash.carInfo.service;
2 2
3 -import java.io.IOException;  
4 -import java.util.List;  
5 import com.trash.carInfo.domain.CarInfo; 3 import com.trash.carInfo.domain.CarInfo;
6 import com.trash.carInfo.domain.vo.CarInfoVo; 4 import com.trash.carInfo.domain.vo.CarInfoVo;
7 import org.springframework.web.multipart.MultipartFile; 5 import org.springframework.web.multipart.MultipartFile;
8 6
  7 +import java.io.IOException;
  8 +import java.util.List;
  9 +
9 /** 10 /**
10 * 运输车辆管理Service接口 11 * 运输车辆管理Service接口
11 * 12 *
@@ -30,6 +31,8 @@ public interface ICarInfoService @@ -30,6 +31,8 @@ public interface ICarInfoService
30 */ 31 */
31 List<CarInfoVo> selectCarInfoList(CarInfoVo carInfo); 32 List<CarInfoVo> selectCarInfoList(CarInfoVo carInfo);
32 33
  34 + List<CarInfoVo> selectByCompanyId(Long companyId);
  35 +
33 /** 36 /**
34 * 新增运输车辆管理 37 * 新增运输车辆管理
35 * 38 *
trash-unit/src/main/java/com/trash/carInfo/service/impl/CarInfoServiceImpl.java
1 package com.trash.carInfo.service.impl; 1 package com.trash.carInfo.service.impl;
2 2
3 -import java.io.IOException;  
4 -import java.util.List;  
5 -  
6 import com.trash.carInfo.domain.CarDriverRelation; 3 import com.trash.carInfo.domain.CarDriverRelation;
  4 +import com.trash.carInfo.domain.CarInfo;
7 import com.trash.carInfo.domain.vo.CarInfoVo; 5 import com.trash.carInfo.domain.vo.CarInfoVo;
  6 +import com.trash.carInfo.mapper.CarInfoMapper;
  7 +import com.trash.carInfo.service.ICarInfoService;
8 import com.trash.common.config.trashConfig; 8 import com.trash.common.config.trashConfig;
9 import com.trash.common.utils.DateUtils; 9 import com.trash.common.utils.DateUtils;
10 import com.trash.common.utils.SecurityUtils; 10 import com.trash.common.utils.SecurityUtils;
11 -import com.trash.enterprise.domain.TransportationEnterprise;  
12 import com.trash.enterprise.mapper.TransportationEnterpriseMapper; 11 import com.trash.enterprise.mapper.TransportationEnterpriseMapper;
13 import org.springframework.beans.factory.annotation.Autowired; 12 import org.springframework.beans.factory.annotation.Autowired;
14 import org.springframework.stereotype.Service; 13 import org.springframework.stereotype.Service;
15 -import com.trash.carInfo.mapper.CarInfoMapper;  
16 -import com.trash.carInfo.domain.CarInfo;  
17 -import com.trash.carInfo.service.ICarInfoService;  
18 import org.springframework.transaction.annotation.Transactional; 14 import org.springframework.transaction.annotation.Transactional;
19 import org.springframework.web.multipart.MultipartFile; 15 import org.springframework.web.multipart.MultipartFile;
20 16
  17 +import java.io.IOException;
  18 +import java.util.List;
  19 +
21 import static com.trash.common.utils.file.FileUploadUtils.upload; 20 import static com.trash.common.utils.file.FileUploadUtils.upload;
22 21
23 /** 22 /**
@@ -59,6 +58,11 @@ public class CarInfoServiceImpl implements ICarInfoService @@ -59,6 +58,11 @@ public class CarInfoServiceImpl implements ICarInfoService
59 return carInfoMapper.selectCarInfoList(carInfo); 58 return carInfoMapper.selectCarInfoList(carInfo);
60 } 59 }
61 60
  61 + @Override
  62 + public List<CarInfoVo> selectByCompanyId(Long companyId) {
  63 + return carInfoMapper.selectByCompanyId(companyId);
  64 + }
  65 +
62 /** 66 /**
63 * 新增运输车辆管理 67 * 新增运输车辆管理
64 * 68 *
trash-unit/src/main/resources/mapper/unit/CarInfoMapper.xml
@@ -149,6 +149,13 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -149,6 +149,13 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
149 <include refid="selectCarInfoVo"/> 149 <include refid="selectCarInfoVo"/>
150 where id = #{id} 150 where id = #{id}
151 </select> 151 </select>
  152 +
  153 +
  154 + <select id="selectByCompanyId" parameterType="Long" resultMap="CarInfoVoResult">
  155 + <include refid="selectCarInfoForCompanyVo"/>
  156 + where car.company_id=#{companyId}
  157 + </select>
  158 +
152 159
153 <insert id="insertCarInfo" parameterType="CarInfo" useGeneratedKeys="true" keyProperty="id"> 160 <insert id="insertCarInfo" parameterType="CarInfo" useGeneratedKeys="true" keyProperty="id">
154 insert into car_info 161 insert into car_info
trash-workFlow/src/main/java/com/trash/office/listener/ConferenceEndListener.java
@@ -31,28 +31,13 @@ public class ConferenceEndListener implements ExecutionListener { @@ -31,28 +31,13 @@ public class ConferenceEndListener implements ExecutionListener {
31 if("1".equals(status)){ 31 if("1".equals(status)){
32 //设置为通过状态 32 //设置为通过状态
33 conference.setStatus(1); 33 conference.setStatus(1);
34 - //添加后勤管理(通过状态) 34 + //修改后勤管理(通过状态)
35 conferenceMapper.updateConference(conference); 35 conferenceMapper.updateConference(conference);
36 }else if("2".equals(status)){ 36 }else if("2".equals(status)){
37 //设置为驳回状态 37 //设置为驳回状态
38 conference.setStatus(2); 38 conference.setStatus(2);
39 - //删除当前后勤管理  
40 - conferenceMapper.deleteConferenceById(conference.getId());  
41 - //添加后勤管理(驳回状态)  
42 - conferenceMapper.insertConference(conference);  
43 - //获取上传文件  
44 - UploadFileMapper uploadFileMapper = SpringUtils.getBean(UploadFileMapper.class);  
45 - //查出旧的文件上传数据  
46 - UploadFile uploadFile = new UploadFile();  
47 - uploadFile.setTableName("conference");  
48 - uploadFile.setTableNumber(id.toString());  
49 - List<UploadFile> list = uploadFileMapper.selectUploadFileList(uploadFile);  
50 - //添加请假申请(驳回状态)  
51 - for (UploadFile uploadFile1 : list) {  
52 - //将上传文件的表id 设置为新的请假申请id  
53 - uploadFile1.setTableNumber(conference.getId().toString());  
54 - uploadFileMapper.updateUploadFile(uploadFile1);  
55 - } 39 + //修改后勤管理(驳回状态)
  40 + conferenceMapper.updateConference(conference);
56 } 41 }
57 //流程历史存档 42 //流程历史存档
58 WorkflowMapper workflowMapper = SpringUtils.getBean(WorkflowMapper.class); 43 WorkflowMapper workflowMapper = SpringUtils.getBean(WorkflowMapper.class);
trash-workFlow/src/main/java/com/trash/office/listener/HandleAffairsEndListener.java
@@ -70,23 +70,8 @@ public class HandleAffairsEndListener implements ExecutionListener { @@ -70,23 +70,8 @@ public class HandleAffairsEndListener implements ExecutionListener {
70 //信访部门重置为null 70 //信访部门重置为null
71 handleAffairs.setDeptId(null); 71 handleAffairs.setDeptId(null);
72 handleAffairs.setDeptName(null); 72 handleAffairs.setDeptName(null);
73 - //删除当前办文办事  
74 - handleAffairsMapper.deleteHandleAffairsById(id);  
75 - //添加办文办事(驳回状态)  
76 - handleAffairsMapper.insertHandleAffairs(handleAffairs);  
77 - //获取上传文件  
78 - UploadFileMapper uploadFileMapper = SpringUtils.getBean(UploadFileMapper.class);  
79 - //查出旧的文件上传数据  
80 - UploadFile uploadFile = new UploadFile();  
81 - uploadFile.setTableName("handle_affairs");  
82 - uploadFile.setTableNumber(id.toString());  
83 - List<UploadFile> list = uploadFileMapper.selectUploadFileList(uploadFile);  
84 - //添加请假申请(驳回状态)  
85 - for (UploadFile uploadFile1 : list) {  
86 - //将上传文件的表id 设置为新的请假申请id  
87 - uploadFile1.setTableNumber(handleAffairs.getId().toString());  
88 - uploadFileMapper.updateUploadFile(uploadFile1);  
89 - } 73 + //修改办文办事(驳回状态)
  74 + handleAffairsMapper.updateHandleAffairs(handleAffairs);
90 }else if ("3".equals(status)){ 75 }else if ("3".equals(status)){
91 //将部门id,部门名称,意见设置为null 76 //将部门id,部门名称,意见设置为null
92 handleAffairs.setOpinion(null); 77 handleAffairs.setOpinion(null);
trash-workFlow/src/main/java/com/trash/office/listener/HandleAffairsTwoEndListener.java
@@ -44,23 +44,7 @@ public class HandleAffairsTwoEndListener implements ExecutionListener { @@ -44,23 +44,7 @@ public class HandleAffairsTwoEndListener implements ExecutionListener {
44 //信访部门重置为null 44 //信访部门重置为null
45 handleAffairs.setDeptId(null); 45 handleAffairs.setDeptId(null);
46 handleAffairs.setDeptName(null); 46 handleAffairs.setDeptName(null);
47 - //删除当前办文办事  
48 - handleAffairsMapper.deleteHandleAffairsById(id);  
49 - //添加办文办事(驳回状态)  
50 - handleAffairsMapper.insertHandleAffairs(handleAffairs);  
51 - //获取上传文件  
52 - UploadFileMapper uploadFileMapper = SpringUtils.getBean(UploadFileMapper.class);  
53 - //查出旧的文件上传数据  
54 - UploadFile uploadFile = new UploadFile();  
55 - uploadFile.setTableName("handle_affairs");  
56 - uploadFile.setTableNumber(id.toString());  
57 - List<UploadFile> list = uploadFileMapper.selectUploadFileList(uploadFile);  
58 - //添加请假申请(驳回状态)  
59 - for (UploadFile uploadFile1 : list) {  
60 - //将上传文件的表id 设置为新的请假申请id  
61 - uploadFile1.setTableNumber(handleAffairs.getId().toString());  
62 - uploadFileMapper.updateUploadFile(uploadFile1);  
63 - } 47 + handleAffairsMapper.updateHandleAffairs(handleAffairs);
64 } 48 }
65 workflowUtils.sendDataToHisTory(delegateExecution,state); 49 workflowUtils.sendDataToHisTory(delegateExecution,state);
66 } 50 }
trash-workFlow/src/main/java/com/trash/office/listener/LogisticsEndListener.java
@@ -36,10 +36,8 @@ public class LogisticsEndListener implements ExecutionListener { @@ -36,10 +36,8 @@ public class LogisticsEndListener implements ExecutionListener {
36 }else if("2".equals(status)){ 36 }else if("2".equals(status)){
37 //设置为驳回状态 37 //设置为驳回状态
38 logisticsManagement.setStatus(2); 38 logisticsManagement.setStatus(2);
39 - //删除当前后勤管理  
40 - logisticsManagementMapper.deleteLogisticsManagementById(id);  
41 - //添加后勤管理(驳回状态)  
42 - logisticsManagementMapper.insertLogisticsManagement(logisticsManagement); 39 + //修改当前后勤管理
  40 + logisticsManagementMapper.updateLogisticsManagement(logisticsManagement);
43 } 41 }
44 //流程历史存档 42 //流程历史存档
45 WorkflowMapper workflowMapper = SpringUtils.getBean(WorkflowMapper.class); 43 WorkflowMapper workflowMapper = SpringUtils.getBean(WorkflowMapper.class);
trash-workFlow/src/main/java/com/trash/office/listener/leaveEndListener.java
@@ -45,22 +45,8 @@ public class leaveEndListener implements ExecutionListener { @@ -45,22 +45,8 @@ public class leaveEndListener implements ExecutionListener {
45 //设置为驳回状态 45 //设置为驳回状态
46 leaveApplication.setStatus(2); 46 leaveApplication.setStatus(2);
47 //删除当前请假申请 47 //删除当前请假申请
48 - leaveApplicationMapper.deleteLeaveApplicationById(id); 48 + leaveApplicationMapper.updateLeaveApplication(leaveApplication);
49 49
50 - //获取上传文件  
51 - UploadFileMapper uploadFileMapper = SpringUtils.getBean(UploadFileMapper.class);  
52 - //查出旧的文件上传数据  
53 - UploadFile uploadFile = new UploadFile();  
54 - uploadFile.setTableName("leave_application");  
55 - uploadFile.setTableNumber(id.toString());  
56 - List<UploadFile> list = uploadFileMapper.selectUploadFileList(uploadFile);  
57 - //添加请假申请(驳回状态)  
58 - leaveApplicationMapper.insertLeaveApplication(leaveApplication);  
59 - for (UploadFile uploadFile1 : list) {  
60 - //将上传文件的表id 设置为新的请假申请id  
61 - uploadFile1.setTableNumber(leaveApplication.getId().toString());  
62 - uploadFileMapper.updateUploadFile(uploadFile1);  
63 - }  
64 } 50 }
65 51
66 WorkflowMapper workflowMapper = SpringUtils.getBean(WorkflowMapper.class); 52 WorkflowMapper workflowMapper = SpringUtils.getBean(WorkflowMapper.class);
trash-workFlow/src/main/java/com/trash/office/service/impl/LeaveApplicationServiceImpl.java
@@ -4,6 +4,7 @@ import java.io.IOException; @@ -4,6 +4,7 @@ import java.io.IOException;
4 import java.util.List; 4 import java.util.List;
5 import java.util.stream.Collectors; 5 import java.util.stream.Collectors;
6 6
  7 +import com.trash.common.core.domain.entity.SysUser;
7 import com.trash.common.utils.DateUtils; 8 import com.trash.common.utils.DateUtils;
8 import com.trash.common.utils.SecurityUtils; 9 import com.trash.common.utils.SecurityUtils;
9 import com.trash.common.utils.file.FileUploadUtils; 10 import com.trash.common.utils.file.FileUploadUtils;
@@ -204,7 +205,8 @@ public class LeaveApplicationServiceImpl implements ILeaveApplicationService @@ -204,7 +205,8 @@ public class LeaveApplicationServiceImpl implements ILeaveApplicationService
204 * @param leaveApplication 205 * @param leaveApplication
205 */ 206 */
206 public void initiatingProcess(LeaveApplication leaveApplication){ 207 public void initiatingProcess(LeaveApplication leaveApplication){
207 - List<String> roleIds = SecurityUtils.getLoginUser().getUser().getRoleIds(); 208 + SysUser sysUser = SecurityUtils.getLoginUser().getUser();
  209 + List<String> roleIds = sysUser.getPostIds();
208 Integer roleId = 0; 210 Integer roleId = 0;
209 for (String role : roleIds){ 211 for (String role : roleIds){
210 //如果是角色id为3的则为部长或部长以上 212 //如果是角色id为3的则为部长或部长以上