提交代码

dev_xd
姜玉琦 2025-02-05 21:34:18 +08:00
parent 9f3b2b35b2
commit d45a66a2fe
24 changed files with 232 additions and 118 deletions

View File

@ -143,5 +143,10 @@
<version>${hutool.version}</version> <version>${hutool.version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@ -1,30 +1,22 @@
package com.yanzhu.system.service.impl; package com.yanzhu.common.core.utils;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.common.redis.service.RedisService;
import com.yanzhu.system.controller.ToolsController;
import okhttp3.*; import okhttp3.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@Service
public class OcrService { public class OcrService {
@Autowired
private RedisService redisService;
final String TOKEN_URL="https://aip.baidubce.com/oauth/2.0/token"; public static final String TOKEN_URL="https://aip.baidubce.com/oauth/2.0/token";
final String OCR_URL="https://aip.baidubce.com/rest/2.0/ocr/v1/idcard"; public static final String OCR_URL="https://aip.baidubce.com/rest/2.0/ocr/v1/idcard";
final String APP_ID = "6283230"; public static final String APP_ID = "6283230";
final String APP_KEY="rS40xCCuGuVNFRopPI0jlMuj"; public static final String APP_KEY="rS40xCCuGuVNFRopPI0jlMuj";
final String APP_SECRET="3bY7dADqQq3O4UpXpFA1FJAj6LN57QCS"; public static final String APP_SECRET="3bY7dADqQq3O4UpXpFA1FJAj6LN57QCS";
public String getToken() { public static String getToken() {
RequestBody body = new FormBody.Builder() RequestBody body = new FormBody.Builder()
.add("grant_type", "client_credentials") .add("grant_type", "client_credentials")
.add("client_id", APP_KEY) .add("client_id", APP_KEY)
@ -37,7 +29,7 @@ public class OcrService {
JSONObject jo=JSONObject.parseObject(result); JSONObject jo=JSONObject.parseObject(result);
return jo.getString("access_token"); return jo.getString("access_token");
} }
public String getResult(Request request) { public static String getResult(Request request) {
OkHttpClient client = new OkHttpClient(); OkHttpClient client = new OkHttpClient();
Response response; Response response;
try { try {
@ -54,7 +46,7 @@ public class OcrService {
} }
private String getJson(JSONObject data, String key) { private static String getJson(JSONObject data, String key) {
if(data!=null){ if(data!=null){
JSONObject jo=data.getJSONObject(key); JSONObject jo=data.getJSONObject(key);
if(jo!=null){ if(jo!=null){
@ -65,7 +57,7 @@ public class OcrService {
return ""; return "";
} }
public Map<String,String> getFront(String url){ public static Map<String,String> getFront(String url){
String token = getToken(); String token = getToken();
RequestBody body = new FormBody.Builder() RequestBody body = new FormBody.Builder()
.add("url", url) .add("url", url)
@ -93,7 +85,7 @@ public class OcrService {
return map; return map;
} }
public Map<String,String> getBack(String url){ public static Map<String,String> getBack(String url){
String token = getToken(); String token = getToken();
RequestBody body = new FormBody.Builder() RequestBody body = new FormBody.Builder()
.add("url", url) .add("url", url)
@ -114,18 +106,21 @@ public class OcrService {
map.put("issuing",issuing); map.put("issuing",issuing);
return map; return map;
} }
public static void main(String[] args) { public static void main(String[] args) {
//getFront(); //getFront();
getBack(); getBack();
} }
private static void getBack() { private static void getBack() {
String url="https://gss0.baidu.com/9fo3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/a8014c086e061d95103a068779f40ad162d9ca14.jpg"; String url="https://gss0.baidu.com/9fo3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/a8014c086e061d95103a068779f40ad162d9ca14.jpg";
Map o= new OcrService().getBack(url); Map o= OcrService.getBack(url);
System.out.printf(o.toString()); System.out.printf(o.toString());
} }
private static void getFront() { private static void getFront() {
String url="http://62.234.3.186/statics/2025/01/19/4491f170cd1609142f9a6f097cbf681f_20250119000046A004.jpg"; String url="http://62.234.3.186/statics/2025/01/19/4491f170cd1609142f9a6f097cbf681f_20250119000046A004.jpg";
Map o= new OcrService().getFront(url); Map o= OcrService.getFront(url);
System.out.printf(o.toString()); System.out.printf(o.toString());
} }
} }

View File

@ -34,11 +34,11 @@
<!--查询工作流操作日志--> <!--查询工作流操作日志-->
<select id="selectCommentByProcInsId" parameterType="string" resultType="Map"> <select id="selectCommentByProcInsId" parameterType="string" resultType="Map">
select * from vw_flow_comment where procInstId = #{procInstId} order by startTime DESC select * from vw_flow_comment where procInstId = #{procInstId} order by commentId DESC
</select> </select>
<select id="selectLastCommentByProcInsId" parameterType="string" resultType="Map"> <select id="selectLastCommentByProcInsId" parameterType="string" resultType="Map">
select * from vw_flow_comment where procInstId = #{procInstId} order by startTime DESC limit 1 select * from vw_flow_comment where procInstId = #{procInstId} order by commentId DESC limit 1
</select> </select>
<!--查询工作流携带的参数--> <!--查询工作流携带的参数-->

View File

@ -55,7 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectProProjectInfoSubdeptsUsersVo"> <sql id="selectProProjectInfoSubdeptsUsersVo">
select psu.id, psu.par_id, psu.com_id, psu.project_id, pi.project_name, psu.sub_dept_id, psu.sub_dept_type, dic3.dict_label as sub_dept_type_name, psu.sub_dept_name, psu.sub_dept_power_path, psu.user_id, psu.user_post, psu.sub_dept_group, select psu.id, psu.par_id, psu.com_id, psu.project_id, pi.project_name, psu.sub_dept_id, psu.sub_dept_type, dic3.dict_label as sub_dept_type_name, psu.sub_dept_name, psu.sub_dept_power_path, psu.user_id, psu.user_post, psu.sub_dept_group,
psu.sub_dept_group_name, psu.user_name, psu.card_type, psu.card_code, psu.user_sex, psu.user_picture, psu.user_phone, psu.degree_grade, dic4.dict_label as degree_grade_name, psu.user_infos, psu.craft_type, psu.craft_post, psu.edu_status, psu.edu_file_path, psu.edu_date, psu.approve_status, psu.sub_dept_group_name, psu.user_name, psu.card_type, psu.card_code, psu.user_sex, psu.user_picture, psu.user_phone, psu.degree_grade, dic4.dict_label as degree_grade_name, psu.user_infos, psu.craft_type, dic1.dict_label as craft_type_name, psu.craft_post, dic2.dict_label as craft_post_name, psu.edu_status, psu.edu_file_path, psu.edu_date, psu.approve_status,
psu.use_date, psu.use_status, psu.admit_guid, psu.qr_code, psu.sub_step, psu.illness_status, psu.sup_illness_status, psu.is_del, psu.create_by, psu.create_time, psu.update_by, psu.update_time, psu.use_date, psu.use_status, psu.admit_guid, psu.qr_code, psu.sub_step, psu.illness_status, psu.sup_illness_status, psu.is_del, psu.create_by, psu.create_time, psu.update_by, psu.update_time,
psu.remark,psu.face_guid psu.remark,psu.face_guid
from pro_project_info_subdepts_users psu from pro_project_info_subdepts_users psu

View File

@ -109,26 +109,15 @@ public class FlowBusinessKeyController extends BaseController {
*/ */
@GetMapping(value = "/queryCount") @GetMapping(value = "/queryCount")
public AjaxResult queryCount(FlowTaskEntity flowTaskEntity) { public AjaxResult queryCount(FlowTaskEntity flowTaskEntity) {
LoginUser loginUser = SecurityUtils.getLoginUser(); flowTaskEntity.setAssigneeId(SecurityUtils.getUserId());
if(SecurityUtils.isAdmin(loginUser.getUserid())){ List<SysRole> roles = SecurityUtils.getLoginUser().getSysUser().getRoles();
// TODO超管查询所有申请... if(StringUtils.isNotEmpty(roles)){
if(Objects.nonNull(loginUser.getProjectDeptId())){ List<Long> roleIds = roles.stream().map(SysRole::getRoleId).collect(Collectors.toList());
flowTaskEntity.setStartComId(Convert.toStr(loginUser.getProjectDeptId())); flowTaskEntity.setRoleIds(roleIds);
}
if(Objects.nonNull(loginUser.getProjectId())){
flowTaskEntity.setStartProId(Convert.toStr(loginUser.getProjectId()));
}
}else if(SecurityUtils.isGSAdmin()){
// 公司管理员查询公司内的所有申请...
flowTaskEntity.setStartComId(Convert.toStr(loginUser.getProjectDeptId()));
if(Objects.nonNull(loginUser.getProjectId())){
flowTaskEntity.setStartProId(Convert.toStr(loginUser.getProjectId()));
}
}else if(SecurityUtils.isXMAdmin()){
// 公司管理员查询公司内的所有申请...
flowTaskEntity.setStartProId(Convert.toStr(loginUser.getProjectId()));
}else{ }else{
flowTaskEntity.setStartUserId(Convert.toStr(loginUser.getUserid())); List<Long> roleIds = new ArrayList<>();
roleIds.add(0L);
flowTaskEntity.setRoleIds(roleIds);
} }
return success(flowBusinessKeyService.quueryCount(flowTaskEntity)); return success(flowBusinessKeyService.quueryCount(flowTaskEntity));
} }

View File

@ -0,0 +1,41 @@
package com.yanzhu.flowable.listener;
import com.yanzhu.common.core.constant.SecurityConstants;
import com.yanzhu.common.core.text.Convert;
import com.yanzhu.system.api.RemoteProService;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.delegate.ExecutionListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
/**
*
*
* Java
*
*
*
*
*
*
*
*
* @author JiangYuQi
* @date 2024/12/16
*/
@Slf4j
@Component
public class FlowGroSignListener implements ExecutionListener {
@Lazy
@Autowired
private RemoteProService remoteProService;
@Override
public void notify(DelegateExecution execution) {
log.info("班组审批签名执行监听器:{}", execution.getProcessInstanceBusinessKey());
remoteProService.subDeptsUserGroSign(Convert.toLong(execution.getProcessInstanceBusinessKey(),null), SecurityConstants.INNER);
}
}

View File

@ -0,0 +1,42 @@
package com.yanzhu.flowable.listener;
import com.yanzhu.common.core.constant.SecurityConstants;
import com.yanzhu.common.core.text.Convert;
import com.yanzhu.system.api.RemoteProService;
import lombok.extern.slf4j.Slf4j;
import org.flowable.common.engine.api.delegate.Expression;
import org.flowable.engine.delegate.DelegateExecution;
import org.flowable.engine.delegate.ExecutionListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
/**
*
*
* Java
*
*
*
*
*
*
*
*
* @author JiangYuQi
* @date 2024/12/16
*/
@Slf4j
@Component
public class FlowProSignListener implements ExecutionListener {
@Lazy
@Autowired
private RemoteProService remoteProService;
@Override
public void notify(DelegateExecution execution) {
log.info("项目审批签名执行监听器:{}", execution.getProcessInstanceBusinessKey());
remoteProService.subDeptsUserProSign(Convert.toLong(execution.getProcessInstanceBusinessKey(),null), SecurityConstants.INNER);
}
}

View File

@ -115,7 +115,6 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
}else{ }else{
taskService.addComment(taskVo.getTaskId(), taskVo.getInstanceId(), FlowComment.NORMAL.getType(), taskVo.getAssignee()+"重新提交流程申请!!"); taskService.addComment(taskVo.getTaskId(), taskVo.getInstanceId(), FlowComment.NORMAL.getType(), taskVo.getAssignee()+"重新提交流程申请!!");
} }
taskService.addComment(taskVo.getTaskId(), taskVo.getInstanceId(), FlowComment.NORMAL.getType(), taskVo.getComment());
taskService.setAssignee(taskVo.getTaskId(), userId); taskService.setAssignee(taskVo.getTaskId(), userId);
taskService.complete(taskVo.getTaskId(), taskVo.getVariables()); taskService.complete(taskVo.getTaskId(), taskVo.getVariables());
} }

View File

@ -159,17 +159,6 @@ public class ProProjectInfoSubdeptsUsersController extends BaseController
return R.ok(AjaxResult.success()); return R.ok(AjaxResult.success());
} }
/**
*
*/
@InnerAuth
@GetMapping("/subDeptsUserProSign/{busKey}")
public R<AjaxResult> subDeptsUserProSign(@PathVariable("busKey") Long busKey)
{
proProjectInfoSubdeptsUsersService.approveSubDeptsUser(busKey);
return R.ok(AjaxResult.success());
}
/** /**
* *
*/ */
@ -177,7 +166,18 @@ public class ProProjectInfoSubdeptsUsersController extends BaseController
@GetMapping("/subDeptsUserGroSign/{busKey}") @GetMapping("/subDeptsUserGroSign/{busKey}")
public R<AjaxResult> subDeptsUserGroSign(@PathVariable("busKey") Long busKey) public R<AjaxResult> subDeptsUserGroSign(@PathVariable("busKey") Long busKey)
{ {
proProjectInfoSubdeptsUsersService.approveSubDeptsUser(busKey); proProjectInfoSubdeptsUsersService.approveSubDeptsUserGroSign(busKey);
return R.ok(AjaxResult.success());
}
/**
*
*/
@InnerAuth
@GetMapping("/subDeptsUserProSign/{busKey}")
public R<AjaxResult> subDeptsUserProSign(@PathVariable("busKey") Long busKey)
{
proProjectInfoSubdeptsUsersService.approveSubDeptsUserProSign(busKey);
return R.ok(AjaxResult.success()); return R.ok(AjaxResult.success());
} }

View File

@ -112,6 +112,18 @@ public interface IProProjectInfoSubdeptsUsersService
*/ */
public void approveSubDeptsUser(Long id); public void approveSubDeptsUser(Long id);
/**
*
* @param id
*/
public void approveSubDeptsUserGroSign(Long id);
/**
*
* @param id
*/
public void approveSubDeptsUserProSign(Long id);
/** /**
* *
* *

View File

@ -393,7 +393,8 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
// 劳务人员绑定班组信息 // 劳务人员绑定班组信息
proProjectInfoSubdeptsUsers.setSubDeptGroup(parUsers.getSubDeptGroup()); proProjectInfoSubdeptsUsers.setSubDeptGroup(parUsers.getSubDeptGroup());
proProjectInfoSubdeptsUsers.setSubDeptGroupName(parUsers.getSubDeptGroupName()); proProjectInfoSubdeptsUsers.setSubDeptGroupName(parUsers.getSubDeptGroupName());
proProjectInfoSubdeptsUsers.setCraftType(parUsers.getCraftType());
proProjectInfoSubdeptsUsers.setCraftPost(parUsers.getCraftPost());
sysUser.setUserType(UserTypeEnums.FBLWRY.getCode()); sysUser.setUserType(UserTypeEnums.FBLWRY.getCode());
} }
} }
@ -835,13 +836,35 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
log.error(e.getMessage()); log.error(e.getMessage());
} }
} }
// 审核文件签名()
proProjectInfoSubdeptsUsers.setUseStatus(UseStateEnums.IN.getCode()); proProjectInfoSubdeptsUsers.setUseStatus(UseStateEnums.IN.getCode());
proProjectInfoSubdeptsUsers.setApproveStatus(ApproveStatus.exempt.getCode()); proProjectInfoSubdeptsUsers.setApproveStatus(ApproveStatus.exempt.getCode());
proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers); proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers);
//增加入场 // 人员入场信息
uniService.syncUniUser(proProjectInfoSubdeptsUsers); uniService.syncUniUser(proProjectInfoSubdeptsUsers);
} }
/**
*
* @param id
*/
@Override
public void approveSubDeptsUserGroSign(Long id){
ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id);
}
/**
*
* @param id
*/
@Override
public void approveSubDeptsUserProSign(Long id){
ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id);
}
/** /**
* ... * ...
* @param proSubdeptsUser * @param proSubdeptsUser

View File

@ -16,7 +16,7 @@ spring:
# 服务注册地址 # 服务注册地址
server-addr: @discovery.server-addr@ server-addr: @discovery.server-addr@
# 服务分组 # 服务分组
group: lijun group: JiangYuQi
config: config:
# 配置中心地址 # 配置中心地址
server-addr: @discovery.server-addr@ server-addr: @discovery.server-addr@

View File

@ -90,10 +90,7 @@
<version>3.6.2</version> <version>3.6.2</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -2,10 +2,8 @@ package com.yanzhu.system.controller;
import com.yanzhu.common.core.web.controller.BaseController; import com.yanzhu.common.core.web.controller.BaseController;
import com.yanzhu.common.core.web.domain.AjaxResult; import com.yanzhu.common.core.web.domain.AjaxResult;
import com.yanzhu.system.service.impl.OcrService; import com.yanzhu.common.core.utils.OcrService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -13,16 +11,13 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/tools") @RequestMapping("/tools")
public class ToolsController extends BaseController { public class ToolsController extends BaseController {
@Autowired
private OcrService ocrService;
@GetMapping("/id/front") @GetMapping("/id/front")
public AjaxResult getFront(String url) { public AjaxResult getFront(String url) {
return AjaxResult.success(ocrService.getFront(url)); return AjaxResult.success(OcrService.getFront(url));
} }
@GetMapping("/id/back") @GetMapping("/id/back")
public AjaxResult getBack(String url) { public AjaxResult getBack(String url) {
return AjaxResult.success(ocrService.getBack(url)); return AjaxResult.success(OcrService.getBack(url));
} }
} }

View File

@ -34,6 +34,6 @@
</view> </view>
<view class="wxlogin_btn"> <view class="wxlogin_btn">
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">微 信 登 录</button> <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">手机号快捷登录</button>
</view> </view>
</view> </view>

View File

@ -110,8 +110,8 @@ Page({
let files = res.data.eduFilePath.split('/'); let files = res.data.eduFilePath.split('/');
res.data.eduFileName = files[files.length - 1]; res.data.eduFileName = files[files.length - 1];
} }
if(res.data.user.userInfos){ if(res.data.userInfos){
res.data.user.userInfos = JSON.parse(res.data.user.userInfos); res.data.userInfos = JSON.parse(res.data.userInfos);
} }
this.setData({ this.setData({
subDeptUserData: res.data subDeptUserData: res.data
@ -343,7 +343,7 @@ Page({
let paths = e.target.dataset.set; let paths = e.target.dataset.set;
let path = []; let path = [];
paths.split(',').forEach(url => { paths.split(',').forEach(url => {
path.push(config.baseUrl + url); path.push(config.baseImgUrl + url);
}); });
wx.previewImage({ wx.previewImage({
urls: path, urls: path,

View File

@ -162,7 +162,7 @@
<text wx:if="{{options.category=='1'}}" class="color_purple">委托代理人</text> <text wx:if="{{options.category=='1'}}" class="color_purple">委托代理人</text>
<text wx:if="{{options.category!='1'}}" class="color_purple">人员姓名</text> <text wx:if="{{options.category!='1'}}" class="color_purple">人员姓名</text>
</van-col> </van-col>
<van-col span="16">{{subDeptUserData.user.nickName}}</van-col> <van-col span="16">{{subDeptUserData.userName}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list"> <view class="inspect_overview_list">
@ -171,7 +171,7 @@
<text wx:if="{{options.category=='1'}}" class="color_purple">代理人身份证</text> <text wx:if="{{options.category=='1'}}" class="color_purple">代理人身份证</text>
<text wx:if="{{options.category!='1'}}" class="color_purple">身份证号码</text> <text wx:if="{{options.category!='1'}}" class="color_purple">身份证号码</text>
</van-col> </van-col>
<van-col span="16">{{subDeptUserData.user.cardCode}}</van-col> <van-col span="16">{{subDeptUserData.cardCode}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category!='1'}}"> <view class="inspect_overview_list" wx:if="{{options.category!='1'}}">
@ -193,13 +193,13 @@
<view class="inspect_overview_list" wx:if="{{options.category!='1'}}"> <view class="inspect_overview_list" wx:if="{{options.category!='1'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">所属民族</text></van-col> <van-col span="8"><text class="color_purple">所属民族</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.nativePlace}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.nativePlace}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category!='1'}}"> <view class="inspect_overview_list" wx:if="{{options.category!='1'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">详细地址</text></van-col> <van-col span="8"><text class="color_purple">详细地址</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.address}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.address}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list"> <view class="inspect_overview_list">
@ -211,8 +211,8 @@
<van-col span="16"> <van-col span="16">
<view class="problem_list_info_con in-img-max"> <view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:key="index"> <view class="in-img-div" wx:key="index">
<image bindtap='showImg' data-set="{{subDeptUserData.user.cardImgPos}}" src="{{imgBaseUrl+subDeptUserData.user.cardImgPos+'.min.jpg'}}"></image> <image bindtap='showImg' data-set="{{subDeptUserData.userInfos.cardImgPos}}" src="{{imgBaseUrl+subDeptUserData.userInfos.cardImgPos+'.min.jpg'}}"></image>
<image bindtap='showImg' data-set="{{subDeptUserData.user.cardImgInv}}" src="{{imgBaseUrl+subDeptUserData.user.cardImgInv+'.min.jpg'}}"></image> <image bindtap='showImg' data-set="{{subDeptUserData.userInfos.cardImgInv}}" src="{{imgBaseUrl+subDeptUserData.userInfos.cardImgInv+'.min.jpg'}}"></image>
</view> </view>
</view> </view>
</van-col> </van-col>
@ -224,7 +224,7 @@
<van-col span="16"> <van-col span="16">
<view class="problem_list_info_con in-img-max"> <view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:key="index"> <view class="in-img-div" wx:key="index">
<image bindtap='showImg' data-set="{{subDeptUserData.user.userPicture}}" src="{{imgBaseUrl+subDeptUserData.user.userPicture+'.min.jpg'}}"></image> <image bindtap='showImg' data-set="{{subDeptUserData.userPicture}}" src="{{imgBaseUrl+subDeptUserData.userPicture+'.min.jpg'}}"></image>
</view> </view>
</view> </view>
</van-col> </van-col>
@ -245,37 +245,37 @@
<view class="inspect_overview_list"> <view class="inspect_overview_list">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">联系电话</text></van-col> <van-col span="8"><text class="color_purple">联系电话</text></van-col>
<van-col span="16">{{subDeptUserData.user.phonenumber}}</van-col> <van-col span="16">{{subDeptUserData.userPhone}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category!='1'}}"> <view class="inspect_overview_list" wx:if="{{options.category!='1'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">紧急联系人</text></van-col> <van-col span="8"><text class="color_purple">紧急联系人</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.emergencyContact}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.emergencyContact}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category!='1'}}"> <view class="inspect_overview_list" wx:if="{{options.category!='1'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">紧急联系电话</text></van-col> <van-col span="8"><text class="color_purple">紧急联系电话</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.contactPhone}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.contactPhone}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category=='4'}}"> <view class="inspect_overview_list" wx:if="{{options.category=='4'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">开户行名称</text></van-col> <van-col span="8"><text class="color_purple">开户行名称</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.bankName}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.bankName}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category=='4'}}"> <view class="inspect_overview_list" wx:if="{{options.category=='4'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">开户行网点</text></van-col> <van-col span="8"><text class="color_purple">开户行网点</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.bankOffice}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.bankOffice}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category=='4'}}"> <view class="inspect_overview_list" wx:if="{{options.category=='4'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">工资银行卡号</text></van-col> <van-col span="8"><text class="color_purple">工资银行卡号</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.bankCardNo}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.bankCardNo}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list"> <view class="inspect_overview_list">

View File

@ -109,8 +109,8 @@ Page({
let files = res.data.eduFilePath.split('/'); let files = res.data.eduFilePath.split('/');
res.data.eduFileName = files[files.length - 1]; res.data.eduFileName = files[files.length - 1];
} }
if(res.data.user.userInfos){ if(res.data.userInfos){
res.data.user.userInfos = JSON.parse(res.data.user.userInfos); res.data.userInfos = JSON.parse(res.data.userInfos);
} }
this.setData({ this.setData({
subDeptUserData: res.data subDeptUserData: res.data
@ -325,7 +325,7 @@ Page({
let paths = e.target.dataset.set; let paths = e.target.dataset.set;
let path = []; let path = [];
paths.split(',').forEach(url => { paths.split(',').forEach(url => {
path.push(config.baseUrl + url); path.push(config.baseImgUrl + url);
}); });
wx.previewImage({ wx.previewImage({
urls: path, urls: path,

View File

@ -162,7 +162,7 @@
<text wx:if="{{options.category=='1'}}" class="color_purple">委托代理人</text> <text wx:if="{{options.category=='1'}}" class="color_purple">委托代理人</text>
<text wx:if="{{options.category!='1'}}" class="color_purple">人员姓名</text> <text wx:if="{{options.category!='1'}}" class="color_purple">人员姓名</text>
</van-col> </van-col>
<van-col span="16">{{subDeptUserData.user.nickName}}</van-col> <van-col span="16">{{subDeptUserData.userName}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list"> <view class="inspect_overview_list">
@ -171,7 +171,7 @@
<text wx:if="{{options.category=='1'}}" class="color_purple">代理人身份证</text> <text wx:if="{{options.category=='1'}}" class="color_purple">代理人身份证</text>
<text wx:if="{{options.category!='1'}}" class="color_purple">身份证号码</text> <text wx:if="{{options.category!='1'}}" class="color_purple">身份证号码</text>
</van-col> </van-col>
<van-col span="16">{{subDeptUserData.user.cardCode}}</van-col> <van-col span="16">{{subDeptUserData.cardCode}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category!='1'}}"> <view class="inspect_overview_list" wx:if="{{options.category!='1'}}">
@ -193,13 +193,13 @@
<view class="inspect_overview_list" wx:if="{{options.category!='1'}}"> <view class="inspect_overview_list" wx:if="{{options.category!='1'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">所属民族</text></van-col> <van-col span="8"><text class="color_purple">所属民族</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.nativePlace}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.nativePlace}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category!='1'}}"> <view class="inspect_overview_list" wx:if="{{options.category!='1'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">详细地址</text></van-col> <van-col span="8"><text class="color_purple">详细地址</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.address}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.address}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list"> <view class="inspect_overview_list">
@ -211,8 +211,8 @@
<van-col span="16"> <van-col span="16">
<view class="problem_list_info_con in-img-max"> <view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:key="index"> <view class="in-img-div" wx:key="index">
<image bindtap='showImg' data-set="{{subDeptUserData.user.cardImgPos}}" src="{{imgBaseUrl+subDeptUserData.user.cardImgPos+'.min.jpg'}}"></image> <image bindtap='showImg' data-set="{{subDeptUserData.cardImgPos}}" src="{{imgBaseUrl+subDeptUserData.cardImgPos+'.min.jpg'}}"></image>
<image bindtap='showImg' data-set="{{subDeptUserData.user.cardImgInv}}" src="{{imgBaseUrl+subDeptUserData.user.cardImgInv+'.min.jpg'}}"></image> <image bindtap='showImg' data-set="{{subDeptUserData.cardImgInv}}" src="{{imgBaseUrl+subDeptUserData.cardImgInv+'.min.jpg'}}"></image>
</view> </view>
</view> </view>
</van-col> </van-col>
@ -224,7 +224,7 @@
<van-col span="16"> <van-col span="16">
<view class="problem_list_info_con in-img-max"> <view class="problem_list_info_con in-img-max">
<view class="in-img-div" wx:key="index"> <view class="in-img-div" wx:key="index">
<image bindtap='showImg' data-set="{{subDeptUserData.user.userPicture}}" src="{{imgBaseUrl+subDeptUserData.user.userPicture+'.min.jpg'}}"></image> <image bindtap='showImg' data-set="{{subDeptUserData.userPicture}}" src="{{imgBaseUrl+subDeptUserData.userPicture+'.min.jpg'}}"></image>
</view> </view>
</view> </view>
</van-col> </van-col>
@ -245,37 +245,37 @@
<view class="inspect_overview_list"> <view class="inspect_overview_list">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">联系电话</text></van-col> <van-col span="8"><text class="color_purple">联系电话</text></van-col>
<van-col span="16">{{subDeptUserData.user.phonenumber}}</van-col> <van-col span="16">{{subDeptUserData.userPhone}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category!='1'}}"> <view class="inspect_overview_list" wx:if="{{options.category!='1'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">紧急联系人</text></van-col> <van-col span="8"><text class="color_purple">紧急联系人</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.emergencyContact}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.emergencyContact}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category!='1'}}"> <view class="inspect_overview_list" wx:if="{{options.category!='1'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">紧急联系电话</text></van-col> <van-col span="8"><text class="color_purple">紧急联系电话</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.contactPhone}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.contactPhone}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category=='4'}}"> <view class="inspect_overview_list" wx:if="{{options.category=='4'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">开户行名称</text></van-col> <van-col span="8"><text class="color_purple">开户行名称</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.bankName}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.bankName}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category=='4'}}"> <view class="inspect_overview_list" wx:if="{{options.category=='4'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">开户行网点</text></van-col> <van-col span="8"><text class="color_purple">开户行网点</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.bankOffice}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.bankOffice}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list" wx:if="{{options.category=='4'}}"> <view class="inspect_overview_list" wx:if="{{options.category=='4'}}">
<van-row> <van-row>
<van-col span="8"><text class="color_purple">工资银行卡号</text></van-col> <van-col span="8"><text class="color_purple">工资银行卡号</text></van-col>
<van-col span="16">{{subDeptUserData.user.userInfos.bankCardNo}}</van-col> <van-col span="16">{{subDeptUserData.userInfos.bankCardNo}}</van-col>
</van-row> </van-row>
</view> </view>
<view class="inspect_overview_list"> <view class="inspect_overview_list">

View File

@ -360,8 +360,8 @@ Page({
//统计劳务人员信息 //统计劳务人员信息
this.getSubDeptsUsers(app.globalData.useProjectId); this.getSubDeptsUsers(app.globalData.useProjectId);
this.initSubDeptDaysCharts(app.globalData.useProjectId); this.initSubDeptDaysCharts(app.globalData.useProjectId);
this.awaitTask();
} }
this.awaitTask();
//今日出勤信息 //今日出勤信息
if (app.globalData.subDeptUserData.subDeptType=='1') { if (app.globalData.subDeptUserData.subDeptType=='1') {
this.getSubDeptsAttendanceView(app.globalData.useProjectId); this.getSubDeptsAttendanceView(app.globalData.useProjectId);
@ -523,6 +523,18 @@ Page({
}) })
}, },
showImg:function(e){
let paths = e.target.dataset.set;
let path = [];
paths.split(',').forEach(url => {
path.push(config.baseImgUrl + url);
});
wx.previewImage({
urls: path,
current: path[0]
})
},
/** /**
* 劳务管理查看详细 * 劳务管理查看详细
*/ */

View File

@ -151,7 +151,7 @@
<view class="video_ai_survey"> <view class="video_ai_survey">
<van-row> <van-row>
<van-col span="10" class="qrcode"> <van-col span="10" class="qrcode">
<image src="{{imgBaseUrl+subDeptUserInfo.qrCode}}"></image> <image bindtap='showImg' data-set="{{subDeptUserInfo.qrCode}}" src="{{imgBaseUrl+subDeptUserInfo.qrCode}}"></image>
</van-col> </van-col>
<van-col span="14"> <van-col span="14">
<view wx:if="{{subDeptUserInfo.userPost=='1'}}" class="qrtext"><text class="zz">项目经理 </text>扫描二维码登记信息,完成安全学习和在线考试,签署安全承诺书后可申请入场。</view> <view wx:if="{{subDeptUserInfo.userPost=='1'}}" class="qrtext"><text class="zz">项目经理 </text>扫描二维码登记信息,完成安全学习和在线考试,签署安全承诺书后可申请入场。</view>

View File

@ -141,7 +141,7 @@ Page({
this.setData({ this.setData({
"form.parId": options.PARID, "form.parId": options.PARID,
}); });
this.getProSubDeptsUser(); this.getProSubDeptsUser(options.PARID);
} }
let title = ""; let title = "";
let _userPostList = []; let _userPostList = [];
@ -174,7 +174,7 @@ Page({
title = "参建单位管理人员信息登记"; title = "参建单位管理人员信息登记";
} else if (options.SIGID == '4') { } else if (options.SIGID == '4') {
title = "参建单位劳务人员信息登记"; title = "参建单位劳务人员信息登记";
_userPost.push({ _userPostList.push({
"id": "4", "id": "4",
"text": "劳务人员" "text": "劳务人员"
}); });
@ -263,8 +263,8 @@ Page({
/** /**
* 查询单位上级人员信息 * 查询单位上级人员信息
*/ */
getProSubDeptsUser() { getProSubDeptsUser(parId) {
findProSubDeptsUserById(this.data.form.parId).then(res => { findProSubDeptsUserById(parId).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.setData({ this.setData({
parForm: res.data parForm: res.data
@ -1512,11 +1512,13 @@ Page({
app.toast("请上传进场半身近照!"); app.toast("请上传进场半身近照!");
return false; return false;
} }
if(userPost == '2' || userPost == '6'){
if (!form.subDeptPowerPath || form.subDeptPowerPath.length == 0) { if (!form.subDeptPowerPath || form.subDeptPowerPath.length == 0) {
app.toast("请上传委托人单位委托书!"); app.toast("请上传委托人单位委托书!");
return false; return false;
}
} }
if (!form.userName) { if (!form.userName) {
app.toast("请填写姓名!"); app.toast("请填写姓名!");
return false; return false;
@ -1654,6 +1656,8 @@ Page({
userInfos.bankName = _form.bankName; userInfos.bankName = _form.bankName;
userInfos.bankOffice = _form.bankOffice; userInfos.bankOffice = _form.bankOffice;
userInfos.bankCardNo = _form.bankCardNo; userInfos.bankCardNo = _form.bankCardNo;
userInfos.cardImgPos = _form.cardImgPos;
userInfos.cardImgInv = _form.cardImgInv;
_form.userInfos = JSON.stringify(userInfos); _form.userInfos = JSON.stringify(userInfos);
wx.showLoading({mask: true,title: '正在处理'}); wx.showLoading({mask: true,title: '正在处理'});
registerSubDeptsUsers(_form).then(res => { registerSubDeptsUsers(_form).then(res => {

View File

@ -12,7 +12,7 @@
<van-radio :name="clause" shape>同意数字工程系统《用户隐私协议》</van-radio> <van-radio :name="clause" shape>同意数字工程系统《用户隐私协议》</van-radio>
</view> --> </view> -->
<view class="wxlogin_btn"> <view class="wxlogin_btn">
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">微 信 一 键 登 录</button> <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">手机号快捷登录</button>
</view> </view>
</view> </view>
</view> </view>
@ -357,7 +357,7 @@
<file-uploader bindimages="fileUploadUserPicture" limit="{{limit}}" fileUrlArray="{{form.userPicture}}"></file-uploader> <file-uploader bindimages="fileUploadUserPicture" limit="{{limit}}" fileUrlArray="{{form.userPicture}}"></file-uploader>
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list" wx:if="userPost=='6'">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">劳务单位委托书 <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">劳务单位委托书
<text style="font-size: small; color: antiquewhite;">[需加盖劳务单位的公章委托书照片]</text> <text style="font-size: small; color: antiquewhite;">[需加盖劳务单位的公章委托书照片]</text>
</view> </view>

View File

@ -11,7 +11,7 @@
{ {
"name": "pages/project_qr/index", "name": "pages/project_qr/index",
"pathName": "pages/project_qr/index", "pathName": "pages/project_qr/index",
"query": "QRPID=132&SIGID=3&PARID=35", "query": "QRPID=132&SIGID=4&PARID=40",
"launchMode": "default", "launchMode": "default",
"scene": null "scene": null
}, },