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 9 # 实例演示开关
10 10 demoEnabled: true
11 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 13 # profile: E:/trash/uploadPath
14 14 # profile: F:/work/project/Documents/uploadPath/trash
15 15 # 获取ip地址开关
... ... @@ -86,7 +86,7 @@ spring:
86 86 # redis 配置
87 87 redis:
88 88 # 地址
89   - host: localhost
  89 + host: 127.0.0.1
90 90 # 端口,默认为6379
91 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 137 \ No newline at end of file
... ...
trash-admin/src/main/resources/logback.xml
... ... @@ -2,7 +2,7 @@
2 2 <configuration>
3 3 <!-- 日志存放路径 -->
4 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 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 29 import com.trash.garbage.pojo.vo.ScanDriverDetailVo;
30 30 import com.trash.garbage.service.GarOrderService;
31 31 import com.trash.garbage.service.GarUserService;
  32 +import lombok.extern.slf4j.Slf4j;
32 33 import org.apache.commons.lang3.ArrayUtils;
33 34 import org.springframework.beans.factory.annotation.Autowired;
34 35 import org.springframework.security.access.prepost.PreAuthorize;
... ... @@ -49,6 +50,7 @@ import java.util.Objects;
49 50 */
50 51 @RestController
51 52 @RequestMapping("/order")
  53 +@Slf4j
52 54 public class GarbageOrderController {
53 55  
54 56 @Autowired
... ... @@ -92,6 +94,7 @@ public class GarbageOrderController {
92 94 // 上传并返回新文件名称
93 95 fileName = FileUploadUtils.upload(filePath, file);
94 96 } catch (IOException e) {
  97 + log.error("上传图片异常",e);
95 98 throw new BizException(ResultCode.CODE_400, ResultCode.CODE_400.getMsg());
96 99 }
97 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 7 import org.apache.ibatis.annotations.Param;
8 8  
9 9 import java.util.List;
  10 +import java.util.Set;
10 11  
11 12 /**
12 13 * @author 20412
... ... @@ -16,7 +17,7 @@ import java.util.List;
16 17 */
17 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 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 9 import java.io.Serializable;
6 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 60 */
58 61 @TableField(fill = FieldFill.INSERT_UPDATE)
59 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 73 @TableField(exist = false)
67 74 private static final long serialVersionUID = 1L;
68 75  
  76 +
  77 +
69 78 public String getGarId() {
70 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 106 private Integer id;
107 107 private String garOrderCarType;
108 108  
  109 + private String containerVolume;
  110 +
109 111 public Integer getGarOrderCarNumber() {
110 112 return garOrderCarNumber;
111 113 }
... ... @@ -141,8 +143,13 @@ public class OrderDto {
141 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 155 public List<CarInfo> getGarCarInfoList() {
... ...
trash-garbage/src/main/java/com/trash/garbage/service/GarOrderCarService.java
1 1 package com.trash.garbage.service;
2 2  
3   -import com.trash.garbage.pojo.domain.GarOrderCar;
4 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 9 * @author 20412
... ... @@ -9,5 +11,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
9 11 * @createDate 2024-01-09 14:26:09
10 12 */
11 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 1 package com.trash.garbage.service;
2 2  
3   -import com.trash.garbage.pojo.domain.GarOrderMatchHandler;
4 3 import com.baomidou.mybatisplus.extension.service.IService;
  4 +import com.trash.garbage.pojo.domain.GarOrderMatchHandler;
5 5 import com.trash.garbage.pojo.vo.DispatchDriverVo;
6   -import org.apache.ibatis.annotations.Param;
7 6  
8 7 import java.util.List;
  8 +import java.util.Set;
9 9  
10 10 /**
11 11 * @author 20412
... ... @@ -14,5 +14,5 @@ import java.util.List;
14 14 */
15 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 1 package com.trash.garbage.service.impl;
2 2  
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
3 4 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
4 5 import com.trash.garbage.pojo.domain.GarOrderCar;
5 6 import com.trash.garbage.service.GarOrderCarService;
6 7 import com.trash.garbage.mapper.GarOrderCarMapper;
7 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 17 @Service
15 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 8 import org.springframework.stereotype.Service;
9 9  
10 10 import java.util.List;
  11 +import java.util.Set;
11 12  
12 13 /**
13 14 * @author 20412
... ... @@ -19,8 +20,8 @@ public class GarOrderMatchHandlerServiceImpl extends ServiceImpl&lt;GarOrderMatchHa
19 20 implements GarOrderMatchHandlerService {
20 21  
21 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 106 GarOrderCar car = new GarOrderCar();
107 107 car.setGarOrderCarType(carInfo.getGarOrderCarType());
108 108 car.setGarOrderId(order.getGarOrderId());
  109 + car.setCarId(carInfo.getId());
  110 + car.setContainerVolume(carInfo.getContainerVolume());
109 111 car.setGarOrderCarUserType(GlobalStatus.GarOrderStatus.PLAN_CAR_TYPE.getValue());
110 112 garOrderCars.add(car);
111 113 }
... ... @@ -486,6 +488,8 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
486 488 GarOrderCar car = new GarOrderCar();
487 489 car.setGarOrderCarType(carInfo.getGarOrderCarType());
488 490 car.setGarOrderId(dto.getGarOrderId());
  491 + car.setContainerVolume(carInfo.getContainerVolume());
  492 + car.setCarId(carInfo.getId());
489 493 car.setGarOrderCarUserType(GlobalStatus.GarOrderStatus.REAL_CAR_TYPE.getValue());
490 494 garOrderCars.add(car);
491 495 }
... ... @@ -817,8 +821,18 @@ public class GarOrderServiceImpl extends ServiceImpl&lt;GarOrderMapper, GarOrder&gt;
817 821 TransportationEnterprise enterprise = new TransportationEnterprise();
818 822 enterprise.setServicePhone(tel);
819 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 836 return voList;
823 837 }
824 838  
... ...
trash-garbage/src/main/resources/mapper/GarOrderMatchHandlerMapper.xml
... ... @@ -58,6 +58,9 @@
58 58 LEFT JOIN gar_order_match_handler gar ON gar.gar_order_handler_tel = driver.phoneNo
59 59 AND gar.gar_order_id = #{orderId} AND gar.gar_handler_car_code = car.car_code
60 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 65 </select>
63 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 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 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 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 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 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 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 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 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 20 <el-select v-model="queryParams.type" placeholder="请选择请假类型" size="small">
21 21 <el-option label="事假" value="事假"/>
22 22 <el-option label="病假" value="病假"/>
23   - <el-option label="年假" value="年假"/>
24 23 <el-option label="婚假" value="婚假"/>
25 24 <el-option label="产假" value="产假"/>
26 25 <el-option label="丧假" value="丧假"/>
27   - <el-option label="探亲假" value="探亲假"/>
28   - <el-option label="护理假" value="护理假"/>
29 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 32 </el-select>
31 33 </el-form-item>
32 34 <el-form-item>
... ... @@ -109,13 +111,15 @@
109 111 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%">
110 112 <el-option label="事假" value="事假"/>
111 113 <el-option label="病假" value="病假"/>
112   - <el-option label="年假" value="年假"/>
113 114 <el-option label="婚假" value="婚假"/>
114 115 <el-option label="产假" value="产假"/>
115 116 <el-option label="丧假" value="丧假"/>
  117 + <el-option label="公休假" value="公休假"/>
116 118 <el-option label="探亲假" value="探亲假"/>
117   - <el-option label="公休假" value="公休假"/>
118 119 <el-option label="护理假" value="护理假"/>
  120 + <el-option label="亲子假" value="亲子假"/>
  121 + <el-option label="育儿假" value="育儿假"/>
  122 + <el-option label="其他" value="其他"/>
119 123 </el-select>
120 124 </el-form-item>
121 125  
... ... @@ -201,7 +205,8 @@
201 205 </div>
202 206 </template>
203 207  
204   -<script src="@/api/leave.js"/>
  208 +<script src="@/api/leave.js">
  209 +</script>
205 210 <style scope>
206 211 .el-select-dropdown__item{
207 212 width:300px;
... ...
trash-ui/src/views/h5/leaveApplication/leaveApplicationInfo.vue
... ... @@ -10,12 +10,15 @@
10 10 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%" :disabled="true">
11 11 <el-option label="事假" value="事假"/>
12 12 <el-option label="病假" value="病假"/>
13   - <el-option label="年假" value="年假"/>
14 13 <el-option label="婚假" value="婚假"/>
15 14 <el-option label="产假" value="产假"/>
16 15 <el-option label="丧假" value="丧假"/>
  16 + <el-option label="公休假" value="公休假"/>
17 17 <el-option label="探亲假" value="探亲假"/>
18 18 <el-option label="护理假" value="护理假"/>
  19 + <el-option label="亲子假" value="亲子假"/>
  20 + <el-option label="育儿假" value="育儿假"/>
  21 + <el-option label="其他" value="其他"/>
19 22 </el-select>
20 23 </el-form-item>
21 24  
... ... @@ -45,11 +48,12 @@
45 48 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/>
46 49 </el-form-item>
47 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 52 style="width: 150px; height: 100px; margin: 5px;"
50 53 :src="item"
51 54 :preview-src-list="slide1"
52   - :z-index="2000">
  55 + :z-index="2000"
  56 + :key="index">
53 57 </el-image>
54 58 </el-form-item>
55 59 <el-table :data="fileEntityList">
... ... @@ -67,6 +71,11 @@
67 71 </template>
68 72 </el-table-column>
69 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 79 </el-form>
71 80 </div>
72 81 </template>
... ... @@ -74,7 +83,7 @@
74 83 <script>
75 84 import {getLeaveApplication} from "@/api/office/leaveApplication";
76 85 import Editor from '@/components/ZcEditor';
77   -import {getBase64} from "@/api/business/threestep";
  86 +import {historyFromData} from "@/api/activiti/historyFormdata";
78 87  
79 88 export default {
80 89 name: "leaveApplicationInfo",
... ... @@ -93,7 +102,9 @@ export default {
93 102 fileEntityList: [],
94 103 showPic: null,
95 104 picImage: null,
96   - slide1: []
  105 + slide1: [],
  106 + taskNodeName:null,
  107 + hisfromData:[]
97 108 }
98 109 },
99 110 created() {
... ... @@ -103,13 +114,19 @@ export default {
103 114 init() {
104 115 getLeaveApplication(this.idInfo).then(response => {
105 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 122 let files = JSON.stringify(response.data.uploadFiles);
107 123 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
108 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 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 139 a.setAttribute('href', process.env.VUE_APP_BASE_API + url);
123 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 150 </script>
... ...
trash-ui/src/views/office/conference/conferenceInfo.vue
... ... @@ -64,12 +64,21 @@
64 64 </el-table-column>
65 65 </el-table>
66 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 75 </el-form>
68 76 </template>
69 77  
70 78 <script>
71 79 import {getConference} from "@/api/office/conference";
72 80 import Editor from '@/components/ZcEditor';
  81 +import {historyFromData} from "@/api/activiti/historyFormdata";
73 82 export default {
74 83 name: "conferenceInfo",
75 84 components: {Editor},
... ... @@ -85,7 +94,8 @@ export default {
85 94 return {
86 95 form: {},
87 96 fileEntityList:[],
88   - slide1:[]
  97 + slide1:[],
  98 + hisfromData:[]
89 99 }
90 100 },
91 101 created() {
... ... @@ -95,6 +105,11 @@ export default {
95 105 init(){
96 106 getConference(this.idInfo).then(response => {
97 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 113 let files = JSON.stringify(response.data.uploadFiles);
99 114 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"))
100 115 this.fileEntityList.map(item => {
... ...
trash-ui/src/views/office/handle/handleInfo.vue
... ... @@ -114,12 +114,20 @@
114 114 </el-table-column>
115 115 </el-table>
116 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 124 </el-form>
118 125 </template>
119 126  
120 127 <script>
121 128 import {getHandle} from "@/api/office/handle";
122 129 import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess";
  130 +import {historyFromData} from "@/api/activiti/historyFormdata";
123 131  
124 132 export default {
125 133 name: "handleInfo",
... ... @@ -168,7 +176,8 @@ export default {
168 176 "name": "治理部"
169 177 },
170 178 ],
171   - slide1:[]
  179 + slide1:[],
  180 + hisfromData:[]
172 181 }
173 182 },
174 183 created() {
... ... @@ -179,6 +188,21 @@ export default {
179 188 getHandle(this.idInfo).then(response => {
180 189 this.form = response.data.handleAffairs;
181 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 206 this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
183 207 this.fileEntityList.map(item => {
184 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 20 <el-select v-model="queryParams.type" placeholder="请选择请假类型" size="small">
21 21 <el-option label="事假" value="事假"/>
22 22 <el-option label="病假" value="病假"/>
23   - <el-option label="年假" value="年假"/>
24 23 <el-option label="婚假" value="婚假"/>
25 24 <el-option label="产假" value="产假"/>
26 25 <el-option label="丧假" value="丧假"/>
  26 + <el-option label="公休假" value="公休假"/>
27 27 <el-option label="探亲假" value="探亲假"/>
28 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 32 </el-select>
31 33 </el-form-item>
32 34 <el-form-item>
... ... @@ -155,13 +157,15 @@
155 157 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%">
156 158 <el-option label="事假" value="事假"/>
157 159 <el-option label="病假" value="病假"/>
158   - <el-option label="年假" value="年假"/>
159 160 <el-option label="婚假" value="婚假"/>
160 161 <el-option label="产假" value="产假"/>
161 162 <el-option label="丧假" value="丧假"/>
  163 + <el-option label="公休假" value="公休假"/>
162 164 <el-option label="探亲假" value="探亲假"/>
163 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 169 </el-select>
166 170 </el-form-item>
167 171  
... ...
trash-ui/src/views/office/leaveApplication/leaveApplicationInfo.vue
... ... @@ -10,12 +10,15 @@
10 10 <el-select v-model="form.type" placeholder="请选择请假类型" style="width: 100%" :disabled="true">
11 11 <el-option label="事假" value="事假"/>
12 12 <el-option label="病假" value="病假"/>
13   - <el-option label="年假" value="年假"/>
14 13 <el-option label="婚假" value="婚假"/>
15 14 <el-option label="产假" value="产假"/>
16 15 <el-option label="丧假" value="丧假"/>
  16 + <el-option label="公休假" value="公休假"/>
17 17 <el-option label="探亲假" value="探亲假"/>
18 18 <el-option label="护理假" value="护理假"/>
  19 + <el-option label="亲子假" value="亲子假"/>
  20 + <el-option label="育儿假" value="育儿假"/>
  21 + <el-option label="其他" value="其他"/>
19 22 </el-select>
20 23 </el-form-item>
21 24  
... ... @@ -45,11 +48,12 @@
45 48 <el-input v-model="form.content" type="textarea" :rows="4" :disabled="true"/>
46 49 </el-form-item>
47 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 52 style="width: 150px; height: 100px; margin: 5px;"
50 53 :src="item"
51 54 :preview-src-list="slide1"
52   - :z-index="2000">
  55 + :z-index="2000"
  56 + :key="index">
53 57 </el-image>
54 58 </el-form-item>
55 59 <el-table :data="fileEntityList">
... ... @@ -109,7 +113,7 @@ export default {
109 113 if(item.url.indexOf(".jpg") > -1 || item.url.indexOf(".png") > -1 || item.url.indexOf(".jpeg") > -1 || item.url.indexOf(".jpg") > -1){
110 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 54 :disabled="true"
55 55 @input="form.quantity=form.quantity.replace(/[^0-9]/g,'');"/>
56 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 62 </el-form>
58 63 </template>
59 64  
60 65 <script>
61 66 import {getLogistics} from "@/api/office/logistics";
62 67 import {getDict} from "@/api/dict";
  68 +import {historyFromData} from "@/api/activiti/historyFormdata";
63 69 export default {
64 70 name: "logisticsInfo",
65 71 props: {
... ... @@ -74,7 +80,8 @@ export default {
74 80 return {
75 81 form: {},
76 82 type:null,
77   - depts:[]
  83 + depts:[],
  84 + hisfromData:[]
78 85 }
79 86 },
80 87 created() {
... ... @@ -89,6 +96,11 @@ export default {
89 96 getLogistics(this.idInfo).then(response => {
90 97 this.form = response.data
91 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 12 </el-form-item>
13 13 <el-form-item label="车辆类型" prop="carType">
14 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 18 </el-select>
19 19 </el-form-item>
20 20 <el-form-item label="车牌号" prop="carCode">
... ...
trash-ui/src/views/unit/carInfo/info.vue
... ... @@ -17,9 +17,9 @@
17 17 <el-col :span="7">
18 18 <el-form-item label="车辆类型" prop="carType">
19 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 23 </el-select>
24 24 </el-form-item>
25 25 </el-col>
... ... @@ -672,7 +672,7 @@ export default {
672 672 form.lengthWidthHeight = form.length+";"+form.width+";"+form.height;
673 673 }else{
674 674 this.$message({
675   - message: '请填写长宽高!',
  675 + message: '请在体积下拉框选择长宽高填写!',
676 676 type: 'warning'
677 677 });
678 678 return;
... ...
trash-unit/src/main/java/com/trash/carInfo/mapper/CarInfoMapper.java
1 1 package com.trash.carInfo.mapper;
2 2  
3   -import java.util.List;
4   -
5 3 import com.trash.carInfo.domain.CarDriverRelation;
6 4 import com.trash.carInfo.domain.CarInfo;
7 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 11 * 运输车辆管理Mapper接口
... ... @@ -30,6 +31,8 @@ public interface CarInfoMapper
30 31 */
31 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 1 package com.trash.carInfo.service;
2 2  
3   -import java.io.IOException;
4   -import java.util.List;
5 3 import com.trash.carInfo.domain.CarInfo;
6 4 import com.trash.carInfo.domain.vo.CarInfoVo;
7 5 import org.springframework.web.multipart.MultipartFile;
8 6  
  7 +import java.io.IOException;
  8 +import java.util.List;
  9 +
9 10 /**
10 11 * 运输车辆管理Service接口
11 12 *
... ... @@ -30,6 +31,8 @@ public interface ICarInfoService
30 31 */
31 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 1 package com.trash.carInfo.service.impl;
2 2  
3   -import java.io.IOException;
4   -import java.util.List;
5   -
6 3 import com.trash.carInfo.domain.CarDriverRelation;
  4 +import com.trash.carInfo.domain.CarInfo;
7 5 import com.trash.carInfo.domain.vo.CarInfoVo;
  6 +import com.trash.carInfo.mapper.CarInfoMapper;
  7 +import com.trash.carInfo.service.ICarInfoService;
8 8 import com.trash.common.config.trashConfig;
9 9 import com.trash.common.utils.DateUtils;
10 10 import com.trash.common.utils.SecurityUtils;
11   -import com.trash.enterprise.domain.TransportationEnterprise;
12 11 import com.trash.enterprise.mapper.TransportationEnterpriseMapper;
13 12 import org.springframework.beans.factory.annotation.Autowired;
14 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 14 import org.springframework.transaction.annotation.Transactional;
19 15 import org.springframework.web.multipart.MultipartFile;
20 16  
  17 +import java.io.IOException;
  18 +import java.util.List;
  19 +
21 20 import static com.trash.common.utils.file.FileUploadUtils.upload;
22 21  
23 22 /**
... ... @@ -59,6 +58,11 @@ public class CarInfoServiceImpl implements ICarInfoService
59 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 149 <include refid="selectCarInfoVo"/>
150 150 where id = #{id}
151 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 160 <insert id="insertCarInfo" parameterType="CarInfo" useGeneratedKeys="true" keyProperty="id">
154 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 31 if("1".equals(status)){
32 32 //设置为通过状态
33 33 conference.setStatus(1);
34   - //添加后勤管理(通过状态)
  34 + //修改后勤管理(通过状态)
35 35 conferenceMapper.updateConference(conference);
36 36 }else if("2".equals(status)){
37 37 //设置为驳回状态
38 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 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 70 //信访部门重置为null
71 71 handleAffairs.setDeptId(null);
72 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 75 }else if ("3".equals(status)){
91 76 //将部门id,部门名称,意见设置为null
92 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 44 //信访部门重置为null
45 45 handleAffairs.setDeptId(null);
46 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 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 36 }else if("2".equals(status)){
37 37 //设置为驳回状态
38 38 logisticsManagement.setStatus(2);
39   - //删除当前后勤管理
40   - logisticsManagementMapper.deleteLogisticsManagementById(id);
41   - //添加后勤管理(驳回状态)
42   - logisticsManagementMapper.insertLogisticsManagement(logisticsManagement);
  39 + //修改当前后勤管理
  40 + logisticsManagementMapper.updateLogisticsManagement(logisticsManagement);
43 41 }
44 42 //流程历史存档
45 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 45 //设置为驳回状态
46 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 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 4 import java.util.List;
5 5 import java.util.stream.Collectors;
6 6  
  7 +import com.trash.common.core.domain.entity.SysUser;
7 8 import com.trash.common.utils.DateUtils;
8 9 import com.trash.common.utils.SecurityUtils;
9 10 import com.trash.common.utils.file.FileUploadUtils;
... ... @@ -204,7 +205,8 @@ public class LeaveApplicationServiceImpl implements ILeaveApplicationService
204 205 * @param leaveApplication
205 206 */
206 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 210 Integer roleId = 0;
209 211 for (String role : roleIds){
210 212 //如果是角色id为3的则为部长或部长以上
... ...