提交代码
parent
98abe2de96
commit
76d3f1513b
|
@ -19,6 +19,9 @@ public class SysDept extends BaseEntity
|
|||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/** 项目单位... */
|
||||
public static final String XMDW = "4";
|
||||
|
||||
/** 部门ID */
|
||||
private Long deptId;
|
||||
|
||||
|
|
|
@ -5,8 +5,9 @@ package com.yanzhu.common.core.enums;
|
|||
*/
|
||||
public enum UserTypeEnums {
|
||||
|
||||
ZSRY("00", "正式人员","key"),
|
||||
LSRY("08", "临时人员","key"),
|
||||
XTRY("00", "正式人员","key"),
|
||||
XMRY("08", "项目人员","key"),
|
||||
QTRY("99", "其它人员","key"),
|
||||
FBWTDL("80", "分包代理人","fbwtdl"),
|
||||
FBXMJL("79", "分包项目经理","fbxmjl"),
|
||||
FBBZZZ("78", "分包班组组长","fbbzzz"),
|
||||
|
|
|
@ -20,6 +20,9 @@ public class FlowTaskVo {
|
|||
@ApiModelProperty("任务Id")
|
||||
private String taskId;
|
||||
|
||||
@ApiModelProperty("任务Id")
|
||||
private List<String> taskIds;
|
||||
|
||||
@ApiModelProperty("用户Id")
|
||||
private String userId;
|
||||
|
||||
|
@ -29,6 +32,9 @@ public class FlowTaskVo {
|
|||
@ApiModelProperty("流程实例Id")
|
||||
private String instanceId;
|
||||
|
||||
@ApiModelProperty("流程实例Id")
|
||||
private List<String> instanceIds;
|
||||
|
||||
@ApiModelProperty("节点")
|
||||
private String targetKey;
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.yanzhu.common.core.annotation.Excel;
|
|||
import com.yanzhu.common.core.web.domain.BaseEntity;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 花名册人员 对象pro_project_info_subdepts_users
|
||||
|
|
|
@ -96,6 +96,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="userPhone != null and userPhone != ''"> and psu.user_phone = #{userPhone}</if>
|
||||
<if test='activeTags == "finished"'> and psu.approve_status <![CDATA[ >= ]]> 100 </if>
|
||||
<if test="isDel != null "> and psu.is_del = #{isDel}</if>
|
||||
<if test='searchValue == "active1"'> and psu.user_post != '66' </if>
|
||||
<if test="params.beginTime != null and params.beginTime != '' and params.endTime != null and params.endTime != ''"> and date(psu.use_date) between #{params.beginTime} and #{params.endTime}</if>
|
||||
and psu.is_del != 2
|
||||
</where>
|
||||
|
|
|
@ -81,7 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
from sys_user u
|
||||
left join sys_dept d on u.dept_id = d.dept_id
|
||||
left join sys_user_ext ex on u.user_id=ex.user_id
|
||||
where u.del_flag = '0' and u.remark is null
|
||||
where u.del_flag = '0' and ex.user_type != '99'
|
||||
<if test="userId != null and userId != 0">
|
||||
AND u.user_id = #{userId}
|
||||
</if>
|
||||
|
|
|
@ -107,6 +107,20 @@ public class FlowTaskController extends BaseController {
|
|||
return flowTaskService.complete(flowTaskVo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "批量审批任务")
|
||||
@Log(title = "批量审批任务", businessType = BusinessType.UPDATE)
|
||||
@PostMapping(value = "/batchComplete")
|
||||
public AjaxResult batchComplete(@RequestBody FlowTaskVo flowTaskVo) {
|
||||
for(int i=0;i<flowTaskVo.getInstanceIds().size();i++){
|
||||
FlowTaskVo taskVo = new FlowTaskVo();
|
||||
taskVo.setTaskId(flowTaskVo.getTaskIds().get(i));
|
||||
taskVo.setInstanceId(flowTaskVo.getInstanceIds().get(i));
|
||||
taskVo.setComment("审核通过");
|
||||
flowTaskService.complete(taskVo);
|
||||
}
|
||||
return success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "驳回任务")
|
||||
@Log(title = "驳回任务", businessType = BusinessType.UPDATE)
|
||||
@PostMapping(value = "/reject")
|
||||
|
|
|
@ -1025,7 +1025,13 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
|||
if(StringUtils.isNotEmpty(signets)){
|
||||
String newFilePath = filePath.replace(".pdf","-g.pdf");
|
||||
String signPath = signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath);
|
||||
PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath, SignetKeyEnums.GROUP_SIGN.getCode());
|
||||
boolean flag = false;
|
||||
try {
|
||||
flag = PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath, SignetKeyEnums.GROUP_SIGN.getCode());
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(flag){
|
||||
proProjectInfoSubdeptsUsers.setEduFilePath(newFilePath.replace(ProfileConfig.profilePath,ProfileConfig.profile));
|
||||
proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers);
|
||||
}
|
||||
|
@ -1033,6 +1039,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 项目安全承诺书文件签名章
|
||||
|
@ -1054,12 +1061,19 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
|||
if(StringUtils.isNotEmpty(signets)){
|
||||
String newFilePath = filePath.replace(".pdf","-p.pdf");
|
||||
String signPath = signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath);
|
||||
PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath,SignetKeyEnums.PROJECT_SIGN.getCode());
|
||||
boolean flag = false;
|
||||
try {
|
||||
flag = PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath,SignetKeyEnums.PROJECT_SIGN.getCode());
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(flag){
|
||||
proProjectInfoSubdeptsUsers.setEduFilePath(newFilePath.replace(ProfileConfig.profilePath,ProfileConfig.profile));
|
||||
proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 公司安全承诺书文件签名章
|
||||
|
@ -1082,12 +1096,19 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
|||
if(StringUtils.isNotEmpty(signets)){
|
||||
String newFilePath = filePath.replace(".pdf","-c.pdf");
|
||||
String signPath = signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath);
|
||||
PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath, SignetKeyEnums.COMPANY_SIGN.getCode());
|
||||
boolean flag = false;
|
||||
try {
|
||||
flag = PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath, SignetKeyEnums.COMPANY_SIGN.getCode());
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(flag){
|
||||
proProjectInfoSubdeptsUsers.setEduFilePath(newFilePath.replace(ProfileConfig.profilePath,ProfileConfig.profile));
|
||||
proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String path = "D:\\meta\\test.pdf";
|
||||
|
@ -1292,7 +1313,12 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
|||
if(StringUtils.isNotEmpty(signets)){
|
||||
String newFilePath = filePath.replace(".pdf","-g.pdf");
|
||||
String signPath = signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath);
|
||||
boolean flag = PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath, SignetKeyEnums.GROUP_SIGN.getCode());
|
||||
boolean flag = false;
|
||||
try {
|
||||
flag = PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath, SignetKeyEnums.GROUP_SIGN.getCode());
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(flag){
|
||||
filePath = newFilePath;
|
||||
}
|
||||
|
@ -1322,7 +1348,12 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
|||
if(StringUtils.isNotEmpty(signets)){
|
||||
String newFilePath = filePath.replace(".pdf","-p.pdf");
|
||||
String signPath = signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath);
|
||||
boolean flag = PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath,SignetKeyEnums.PROJECT_SIGN.getCode());
|
||||
boolean flag = false;
|
||||
try {
|
||||
flag = PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath,SignetKeyEnums.PROJECT_SIGN.getCode());
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(flag){
|
||||
filePath = newFilePath;
|
||||
}
|
||||
|
@ -1345,9 +1376,16 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
|||
if(StringUtils.isNotEmpty(signets)){
|
||||
String newFilePath = filePath.replace(".pdf","-c.pdf");
|
||||
String signPath = signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath);
|
||||
PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath, SignetKeyEnums.COMPANY_SIGN.getCode());
|
||||
boolean flag = false;
|
||||
try {
|
||||
flag = PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signPath, SignetKeyEnums.COMPANY_SIGN.getCode());
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
if(flag){
|
||||
proProjectInfoSubdeptsUsers.setEduFilePath(newFilePath.replace(ProfileConfig.profilePath,ProfileConfig.profile));
|
||||
proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers);
|
||||
}
|
||||
}else{
|
||||
throw new ServiceException("未查询三级安全教育主管签名信息...");
|
||||
}
|
||||
|
|
|
@ -238,7 +238,7 @@ public class SysUserController extends BaseController {
|
|||
@PostMapping("/register")
|
||||
public R<Long> register(@RequestBody SysUser sysUser) {
|
||||
String username = sysUser.getUserName();
|
||||
if (Objects.isNull(sysUser.getUserType()) || Objects.equals(UserTypeEnums.ZSRY.getCode(), sysUser.getUserType())) {
|
||||
if (Objects.isNull(sysUser.getUserType()) || Objects.equals(UserTypeEnums.XTRY.getCode(), sysUser.getUserType()) || Objects.equals(UserTypeEnums.XMRY.getCode(), sysUser.getUserType())) {
|
||||
if (!("true".equals(configService.selectConfigByKey("sys.account.registerUser")))) {
|
||||
return R.fail("当前系统没有开启注册功能!");
|
||||
}
|
||||
|
|
|
@ -1,28 +1,31 @@
|
|||
package com.yanzhu.system.service.impl;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.validation.Validator;
|
||||
|
||||
import com.yanzhu.common.core.constant.SecurityConstants;
|
||||
import com.yanzhu.common.core.constant.UserConstants;
|
||||
import com.yanzhu.common.core.domain.R;
|
||||
import com.yanzhu.common.core.enums.ShiFouEnums;
|
||||
import com.yanzhu.common.core.enums.UserTypeEnums;
|
||||
import com.yanzhu.common.core.exception.ServiceException;
|
||||
import com.yanzhu.common.core.text.Convert;
|
||||
import com.yanzhu.common.core.utils.DateUtils;
|
||||
import com.yanzhu.common.core.utils.SpringUtils;
|
||||
import com.yanzhu.common.core.utils.StringUtils;
|
||||
import com.yanzhu.common.core.utils.bean.BeanValidators;
|
||||
import com.yanzhu.common.core.web.domain.AjaxResult;
|
||||
import com.yanzhu.common.datascope.annotation.DataScope;
|
||||
import com.yanzhu.common.redis.service.RedisService;
|
||||
import com.yanzhu.common.security.service.TokenService;
|
||||
import com.yanzhu.common.security.utils.SecurityUtils;
|
||||
import com.yanzhu.manage.domain.ProProjectInfo;
|
||||
import com.yanzhu.manage.mapper.ProProjectInfoMapper;
|
||||
import com.yanzhu.manage.mapper.ProProjectInfoSubdeptsUsersMapper;
|
||||
import com.yanzhu.system.api.RemoteProService;
|
||||
import com.yanzhu.system.api.RemoteUserService;
|
||||
import com.yanzhu.system.api.domain.*;
|
||||
import com.yanzhu.system.api.model.LoginUser;
|
||||
import com.yanzhu.system.domain.*;
|
||||
import com.yanzhu.system.mapper.*;
|
||||
import com.yanzhu.system.service.ISysConfigService;
|
||||
import com.yanzhu.system.service.ISysUserExtService;
|
||||
import com.yanzhu.system.service.ISysUserService;
|
||||
import com.yanzhu.system.vo.AlertUserPassVo;
|
||||
import net.sourceforge.pinyin4j.PinyinHelper;
|
||||
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
|
||||
|
@ -33,15 +36,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import com.yanzhu.common.core.constant.UserConstants;
|
||||
import com.yanzhu.common.core.exception.ServiceException;
|
||||
import com.yanzhu.common.core.utils.SpringUtils;
|
||||
import com.yanzhu.common.core.utils.StringUtils;
|
||||
import com.yanzhu.common.core.utils.bean.BeanValidators;
|
||||
import com.yanzhu.common.datascope.annotation.DataScope;
|
||||
import com.yanzhu.common.security.utils.SecurityUtils;
|
||||
import com.yanzhu.system.service.ISysConfigService;
|
||||
import com.yanzhu.system.service.ISysUserService;
|
||||
|
||||
import javax.validation.Validator;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 用户 业务层处理
|
||||
|
@ -88,6 +86,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
|
||||
@Autowired
|
||||
private ISysUserExtService userExtService;
|
||||
|
||||
@Autowired
|
||||
private SysUserComMapper userComMapper;
|
||||
|
||||
|
@ -366,7 +365,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
SysUserExt where=new SysUserExt();
|
||||
where.setUserId(sysUser.getUserId());
|
||||
where.setProjectId(user.getDeptId());
|
||||
List<SysUserExt> userExts=userExtService.selectSysUserExtList(where);
|
||||
userExtService.selectSysUserExtList(where);
|
||||
|
||||
user.setUserId(sysUser.getUserId());
|
||||
user.setIsActive(0l);
|
||||
|
@ -392,7 +391,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
user.setCreateBy(user.getUpdateBy());
|
||||
user.setCreateTime(user.getUpdateTime());
|
||||
if(StringUtils.isBlank(user.getUserType())) {
|
||||
user.setUserType("99");
|
||||
user.setUserType(UserTypeEnums.XTRY.getCode());
|
||||
}
|
||||
rows=userMapper.insertUser(user);
|
||||
user.setIsActive(1l);
|
||||
|
@ -457,6 +456,7 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
if(Objects.nonNull(sysUser)){
|
||||
user.setUserId(sysUser.getUserId());
|
||||
sysUser.setUserName(user.getUserName());
|
||||
sysUser.setUserType(UserTypeEnums.QTRY.getCode());
|
||||
sysUser.setPhonenumber(user.getUserName());
|
||||
sysUser.setNickName(user.getNickName());
|
||||
sysUser.setUpdateBy(user.getUpdateBy());
|
||||
|
@ -464,9 +464,9 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
sysUser.setPassword(user.getPassword());
|
||||
userMapper.updateUser(sysUser);
|
||||
}else{
|
||||
user.setUserType(UserTypeEnums.QTRY.getCode());
|
||||
user.setCreateBy(user.getUpdateBy());
|
||||
user.setCreateTime(user.getUpdateTime());
|
||||
user.setUserType("99");
|
||||
user.setWorkType(user.getWorkType());
|
||||
userMapper.insertUser(user);
|
||||
try {
|
||||
|
@ -497,14 +497,14 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
SysUserExt where=new SysUserExt();
|
||||
where.setUserId(user.getUserId());
|
||||
where.setComId(user.getComId());
|
||||
where.setWorkType(user.getWorkType());
|
||||
where.setUserType(UserTypeEnums.QTRY.getCode());
|
||||
List<SysUserExt> userExts=userExtService.selectSysUserExtList(where);
|
||||
if(userExts.size()==0){
|
||||
where.setIsActive(1l);
|
||||
where.setProjectId(user.getDeptId());
|
||||
userExtService.insertSysUserExt(where);
|
||||
}else{
|
||||
long cnt= userExts.stream().filter(d->d.getProjectId().equals(user.getDeptId())).count();
|
||||
long cnt = userExts.stream().filter(d->d.getProjectId().equals(user.getDeptId())).count();
|
||||
if(cnt==0){
|
||||
where.setIsActive(0l);
|
||||
where.setProjectId(user.getDeptId());
|
||||
|
@ -689,11 +689,11 @@ public class SysUserServiceImpl implements ISysUserService
|
|||
userExtService.updateSysUserExt(oldExt);
|
||||
}
|
||||
try {
|
||||
if(Objects.equals(user.getUserType(),"99")){
|
||||
if(Objects.equals(user.getUserType(),UserTypeEnums.XMRY.getCode())){
|
||||
// 根据单位递归查询项目信息
|
||||
SysDept sysDept = deptMapper.selectDeptById(user.getDeptId());
|
||||
// 是项目单位时,将人员信息加入到花名册
|
||||
if(StringUtils.isNotEmpty(sysDept.getDeptType()) && Objects.equals(sysDept.getDeptType(),"4")){
|
||||
if(StringUtils.isNotEmpty(sysDept.getDeptType()) && Objects.equals(sysDept.getDeptType(),SysDept.XMDW)){
|
||||
Map<String, Object> data = packageSubDeptUsers(user,sysDept);
|
||||
remoteProService.syspushSubDeptsUser(data, SecurityConstants.INNER);
|
||||
}
|
||||
|
|
|
@ -61,6 +61,15 @@ export function complete(data) {
|
|||
})
|
||||
}
|
||||
|
||||
// 批量审批任务
|
||||
export function batchComplete(data) {
|
||||
return request({
|
||||
url: '/flowable/task/batchComplete',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 驳回任务流程
|
||||
export function reject(data) {
|
||||
return request({
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<view class="inspect_list_title">
|
||||
<view class="inspect_list_title_label inspect_list_title_width">
|
||||
<view class="inspect_list_title_number">{{(flowRecordList.length-index) < 9 ?'0'+(flowRecordList.length-index):(flowRecordList.length-index)}}</view>
|
||||
<view class="module_title module_title_flex inspect_list_title_text">{{item.taskName}}{{item.commentResult}}
|
||||
<view class="module_title module_title_flex inspect_list_title_text">{{item.taskName}}
|
||||
<text wx:if="{{item.commentResult=='通过'}}" class="timeline_for_state_1 color_green">{{item.commentResult}}</text>
|
||||
<text wx:if="{{item.commentResult=='委派'}}" class="timeline_for_state_1 color_blue">{{item.commentResult}}</text>
|
||||
<text wx:if="{{item.commentResult=='转办'}}" class="timeline_for_state_1 color_blue">{{item.commentResult}}</text>
|
||||
|
@ -236,7 +236,7 @@
|
|||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list" wx:if="{{options.category!='3' && options.category!='4' && options.category!='5'}}">
|
||||
<view class="inspect_overview_list" wx:if="{{options.category!='3' && options.category!='4' && options.category!='5' && options.category!='8'}}">
|
||||
<van-row>
|
||||
<van-col span="8"><text class="color_purple">单位委托书</text></van-col>
|
||||
<van-col span="16">
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<view class="inspect_list_title">
|
||||
<view class="inspect_list_title_label inspect_list_title_width">
|
||||
<view class="inspect_list_title_number">{{(flowRecordList.length-index) < 9 ?'0'+(flowRecordList.length-index):(flowRecordList.length-index)}}</view>
|
||||
<view class="module_title module_title_flex inspect_list_title_text">{{item.taskName}}{{item.commentResult}}
|
||||
<view class="module_title module_title_flex inspect_list_title_text">{{item.taskName}}
|
||||
<text wx:if="{{item.commentResult=='通过'}}" class="timeline_for_state_1 color_green">{{item.commentResult}}</text>
|
||||
<text wx:if="{{item.commentResult=='委派'}}" class="timeline_for_state_1 color_blue">{{item.commentResult}}</text>
|
||||
<text wx:if="{{item.commentResult=='转办'}}" class="timeline_for_state_1 color_blue">{{item.commentResult}}</text>
|
||||
|
@ -236,7 +236,7 @@
|
|||
</van-col>
|
||||
</van-row>
|
||||
</view>
|
||||
<view class="inspect_overview_list" wx:if="{{options.category!='3' && options.category!='4' && options.category!='5'}}">
|
||||
<view class="inspect_overview_list" wx:if="{{options.category!='3' && options.category!='4' && options.category!='5' && options.category!='8'}}">
|
||||
<van-row>
|
||||
<van-col span="8"><text class="color_purple">单位委托书</text></van-col>
|
||||
<van-col span="16">
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<view class="inspect_list_title">
|
||||
<view class="inspect_list_title_label inspect_list_title_width">
|
||||
<view class="inspect_list_title_number">{{(flowRecordList.length-index) < 9 ?'0'+(flowRecordList.length-index):(flowRecordList.length-index)}}</view>
|
||||
<view class="module_title module_title_flex inspect_list_title_text">{{item.taskName}}{{item.commentResult}}
|
||||
<view class="module_title module_title_flex inspect_list_title_text">{{item.taskName}}
|
||||
<text wx:if="{{item.commentResult=='通过'}}" class="timeline_for_state_1 color_green">{{item.commentResult}}</text>
|
||||
<text wx:if="{{item.commentResult=='委派'}}" class="timeline_for_state_1 color_blue">{{item.commentResult}}</text>
|
||||
<text wx:if="{{item.commentResult=='转办'}}" class="timeline_for_state_1 color_blue">{{item.commentResult}}</text>
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<view class="inspect_list_title">
|
||||
<view class="inspect_list_title_label inspect_list_title_width">
|
||||
<view class="inspect_list_title_number">{{index < 9 ?'0'+(index+1):(index+1)}}</view>
|
||||
<view class="module_title_3 module_title_flex">
|
||||
<view class="module_title module_title_flex">
|
||||
<text wx:if="{{!item.endTime}}" class="color_purple">申请时间 {{item.createTime}}</text>
|
||||
<text wx:if="{{item.endTime}}" class="color_purple">办结时间 {{item.endTime}}</text>
|
||||
</view>
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
import config from '../../../config'
|
||||
import {
|
||||
getToken
|
||||
getToken,
|
||||
getUserInfo
|
||||
} from '../../../utils/auth'
|
||||
import {
|
||||
quueryCount,
|
||||
batchComplete,
|
||||
myAwaitFlowTaskList,
|
||||
myFinishedFlowTaskList,
|
||||
} from '../../../api/flowable'
|
||||
|
@ -24,6 +26,8 @@ Page({
|
|||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
checkedAll:false,
|
||||
showChecked:false,
|
||||
imgBaseUrl: config.baseImgUrl
|
||||
},
|
||||
|
||||
|
@ -57,12 +61,18 @@ Page({
|
|||
text: app.globalData.useProjectName,
|
||||
}
|
||||
});
|
||||
let userInfo = getUserInfo();
|
||||
if(userInfo && userInfo.projectUserInfo && userInfo.projectUserInfo.subDeptType=="1"){
|
||||
this.setData({
|
||||
showChecked:true
|
||||
});
|
||||
}
|
||||
this.getListData();
|
||||
this.getFlowableCount();
|
||||
} else {
|
||||
console.log("未查询到Token...{}...准备重新登录")
|
||||
wx.redirectTo({
|
||||
url: '../login/login',
|
||||
url: '../../login/login',
|
||||
})
|
||||
}
|
||||
},
|
||||
|
@ -178,6 +188,91 @@ Page({
|
|||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 选中节点
|
||||
* @param {*} e
|
||||
*/
|
||||
selectItem: function(event){
|
||||
let procInsId = event.currentTarget.dataset.set;
|
||||
console.log("procInsId==>",procInsId)
|
||||
let _listData = this.data.listData;
|
||||
_listData.forEach(item =>{
|
||||
if(procInsId==item.procInsId){
|
||||
item.selected=!item.selected;
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
listData: _listData
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 全选
|
||||
*/
|
||||
onCheckedAll(){
|
||||
let _checked = !this.data.checkedAll;
|
||||
let _listData = this.data.listData;
|
||||
_listData.forEach(item =>{
|
||||
item.selected=_checked;
|
||||
});
|
||||
this.setData({
|
||||
listData: _listData,
|
||||
checkedAll: _checked
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 批量
|
||||
* 审核通过
|
||||
*/
|
||||
onBatchPass(){
|
||||
let taskIds = [];
|
||||
let _listData = this.data.listData;
|
||||
_listData.forEach(item =>{
|
||||
if(item.selected){
|
||||
taskIds.push(item.taskId);
|
||||
}
|
||||
});
|
||||
if(taskIds.length==0){
|
||||
app.toast("请选择要审批的数据项!","none",1500);
|
||||
return false;
|
||||
}
|
||||
let that = this;
|
||||
//弹出确认
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: '是否确认批量审批通过?',
|
||||
success: function (sm) {
|
||||
if (sm.confirm) {
|
||||
that.submitBatchPass();
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 提交审批
|
||||
*/
|
||||
submitBatchPass(){
|
||||
let taskIds = [];
|
||||
let instanceIds = [];
|
||||
let _listData = this.data.listData;
|
||||
_listData.forEach(item =>{
|
||||
if(item.selected){
|
||||
taskIds.push(item.taskId);
|
||||
instanceIds.push(item.procInsId);
|
||||
}
|
||||
});
|
||||
let _data = {
|
||||
'taskIds':taskIds,
|
||||
'instanceIds':instanceIds
|
||||
}
|
||||
batchComplete(_data).then(res =>{
|
||||
app.toast("批量审批通过成功!");
|
||||
this.onLoad();
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 办理时间计算
|
||||
* @param {*} val
|
||||
|
|
|
@ -26,10 +26,13 @@
|
|||
<view class="inspect_list_title">
|
||||
<view class="inspect_list_title_label inspect_list_title_width">
|
||||
<view class="inspect_list_title_number">{{index < 9 ?'0'+(index+1):(index+1)}}</view>
|
||||
<view class="module_title_3 module_title_flex">
|
||||
<view class="module_title module_title_flex">
|
||||
<text wx:if="{{!item.endTime}}" class="color_purple">申请时间 {{item.createTime}}</text>
|
||||
<text wx:if="{{item.endTime}}" class="color_purple">办结时间 {{item.endTime}}</text>
|
||||
</view>
|
||||
<view wx:if="{{showChecked && activeState=='dsh'}}" class="myIcon" data-set="{{item.procInsId}}" catchtap="selectItem">
|
||||
<image src="{{item.selected ? '/images/radio-selected.png' : '/images/radio.png'}}" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_list_info">
|
||||
|
@ -47,6 +50,10 @@
|
|||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view wx:if="{{listData.length>0 && showChecked && activeState=='dsh'}}" class="problem_submit_to">
|
||||
<view class="problem_submit_to_btn problem_submit_to_blue" bindtap="onCheckedAll">{{checkedAll?"全不选":"全选"}}</view>
|
||||
<view class="problem_submit_to_btn problem_submit_to_save" bindtap="onBatchPass">审批通过</view>
|
||||
</view>
|
||||
<view wx:if="{{listData.length==0}}">
|
||||
<view style="padding-top: 70px;text-align: -webkit-center;">
|
||||
<image src="https://szgcwx.jhncidg.com/staticFiles/nodata.png" style="width: 130px;height: 105px;"></image>
|
||||
|
|
|
@ -1 +1,10 @@
|
|||
/* pages/project_flowable/subDeptsUsers/index.wxss */
|
||||
.myIcon{
|
||||
position: fixed;
|
||||
right: 25px;
|
||||
}
|
||||
.myIcon image {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
background-color: #eeeeee;
|
||||
}
|
|
@ -32,6 +32,7 @@
|
|||
</van-row>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<van-tabbar wx:if="{{subDeptUserInfo.userPost!='3' && subDeptUserInfo.userPost!='4' && subDeptUserInfo.userPost!='5'}}" active="{{ active }}" bind:change="onChange" active-color="#ffffff" inactive-color="#7d95d6">
|
||||
<van-tabbar-item bindtap="XMGK">
|
||||
<image
|
||||
|
|
|
@ -187,7 +187,7 @@
|
|||
<view class="inspect_info_list">
|
||||
<view class="markers inspect_info_title">紧急联系人电话</view>
|
||||
<view class="inspect_info_content">
|
||||
<input placeholder="请填写紧急联系人电话" placeholder-style="color:#6777aa;" bindinput="inputUrgentUserPhone" class="inspect_input_fill_in" model:value="{{form.contactPhone}}" maxlength="30" />
|
||||
<input placeholder="请填写紧急联系人电话" placeholder-style="color:#6777aa;" bindinput="inputUrgentUserPhone" class="inspect_input_fill_in" model:value="{{form.contactPhone}}" maxlength="11" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_info_list">
|
||||
|
@ -305,7 +305,7 @@
|
|||
<view class="inspect_info_list">
|
||||
<view class="markers inspect_info_title">紧急联系人电话</view>
|
||||
<view class="inspect_info_content">
|
||||
<input placeholder="请填写紧急联系人电话" placeholder-style="color:#6777aa;" bindinput="inputUrgentUserPhone" class="inspect_input_fill_in" model:value="{{form.contactPhone}}" maxlength="30" />
|
||||
<input placeholder="请填写紧急联系人电话" placeholder-style="color:#6777aa;" bindinput="inputUrgentUserPhone" class="inspect_input_fill_in" model:value="{{form.contactPhone}}" maxlength="11" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_info_list">
|
||||
|
@ -448,7 +448,7 @@
|
|||
<view class="inspect_info_list">
|
||||
<view class="markers inspect_info_title">紧急联系人电话</view>
|
||||
<view class="inspect_info_content">
|
||||
<input placeholder="请填写紧急联系人电话" placeholder-style="color:#6777aa;" bindinput="inputUrgentUserPhone" class="inspect_input_fill_in" maxlength="30" model:value="{{form.contactPhone}}" />
|
||||
<input placeholder="请填写紧急联系人电话" placeholder-style="color:#6777aa;" bindinput="inputUrgentUserPhone" class="inspect_input_fill_in" maxlength="11" model:value="{{form.contactPhone}}" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="inspect_info_list" wx:if="{{userPost=='5'}}">
|
||||
|
@ -700,7 +700,7 @@
|
|||
<view class="inspect_list_info_details">
|
||||
<view class="inspect_list_info_data_2">
|
||||
<view class="inspect_list_info_data_prop bs">{{item.questionTitle}}</view>
|
||||
<view wx:if="{{item.questionType==1}}" class="question_body">
|
||||
<view wx:if="{{item.questionType!=2}}" class="question_body">
|
||||
<view wx:for="{{item.questionOption}}" wx:key="pancan" wx:for-item="pancan" wx:for-index="innerIndex" bindtap="toggleRadio" class="option" data-id="{{index+'_'+innerIndex}}">
|
||||
<view class="icon">
|
||||
<image src="{{pancan.selected ? '/images/radio-selected.png' : '/images/radio.png'}}" />
|
||||
|
@ -766,7 +766,7 @@
|
|||
<view class="inspect_list_info_details">
|
||||
<view class="inspect_list_info_data_2">
|
||||
<view class="inspect_list_info_data_prop bs">{{item.questionTitle}}</view>
|
||||
<view wx:if="{{item.questionType==1}}" class="question_body">
|
||||
<view wx:if="{{item.questionType!=2}}" class="question_body">
|
||||
<view wx:for="{{item.questionOption}}" wx:key="pancan" wx:for-item="pancan" wx:for-index="innerIndex" bindtap="toggleRadio" class="option" data-id="{{index+'_'+innerIndex}}">
|
||||
<view class="icon">
|
||||
<image src="{{pancan.selected ? '/images/radio-selected.png' : '/images/radio.png'}}" />
|
||||
|
|
|
@ -123,10 +123,10 @@ onMounted(() => {
|
|||
modelerStore.setModules('selection', markRaw(modeler.get('selection')));
|
||||
modelerStore.setModules('canvas', markRaw(modeler.get('canvas')));
|
||||
// 直接点击新建按钮时,进行新增流程图
|
||||
if (StrUtil.isBlank(props.xml.value)) {
|
||||
if (StrUtil.isBlank(props.xml)) {
|
||||
newDiagram()
|
||||
} else {
|
||||
createNewDiagram(props.xml.value)
|
||||
createNewDiagram(props.xml)
|
||||
}
|
||||
})
|
||||
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
<!--流程的基础属性-->
|
||||
<template v-if="bpmnFormData.$type === 'bpmn:Process'">
|
||||
<el-form-item label="项目单位" prop="proId">
|
||||
<el-select v-model="bpmnFormData.proId" placeholder="请选择项目单位" @change="updateElementPro" style="width:100%">
|
||||
<el-select v-model="bpmnFormData.proId" placeholder="请选择项目单位" @change="updateElementPro" disabled style="width:100%">
|
||||
<el-option
|
||||
v-for="opt in proOptions"
|
||||
:key="opt.id"
|
||||
:key="opt.id+''"
|
||||
:label="opt.projectName"
|
||||
:value="opt.id"
|
||||
:value="opt.id+''"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
@ -121,4 +121,7 @@ function initDatas(){
|
|||
}
|
||||
|
||||
initDatas();
|
||||
console.log("bpmnFormData.proId==1>",bpmnFormData.value.proId);
|
||||
bpmnFormData.value.proId = userStore.currentPrjId+'';
|
||||
console.log("bpmnFormData.proId==2>",bpmnFormData.value.proId);
|
||||
</script>
|
||||
|
|
|
@ -384,7 +384,8 @@ const data = reactive({
|
|||
isDel: null,
|
||||
userWorkType: null,
|
||||
workType: null,
|
||||
activeTags:"finished"
|
||||
activeTags:"finished",
|
||||
searchValue:"pt1"
|
||||
},
|
||||
rules: {
|
||||
subDeptId: [{ required: true, trigger: ['blur', 'change'], message: "请选择所属单位" }],
|
||||
|
|
Loading…
Reference in New Issue