Merge branch 'dev_xd' of http://62.234.3.186:3000/jiangyq/YZProjectCloud into dev_xd
commit
181d2e9d53
|
@ -19,35 +19,51 @@ public class ProProjectInfoSubdeptsUsers extends BaseEntity
|
|||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
@Excel(name = "所属项目")
|
||||
private String projectName;
|
||||
/** 分包单位名称 */
|
||||
@Excel(name = "所属单位")
|
||||
private String subDeptName;
|
||||
|
||||
/** 主键 */
|
||||
private Long id;
|
||||
|
||||
@Excel(name = "姓名")
|
||||
private String userName;
|
||||
@Excel(name = "身份证")
|
||||
private String cardCode;
|
||||
@Excel(name = "性别")
|
||||
private String userSex;
|
||||
@Excel(name = "民族")
|
||||
private String userNation;
|
||||
@Excel(name = "年龄")
|
||||
private Integer userAge;
|
||||
|
||||
/** 公司主键 */
|
||||
@Excel(name = "公司主键")
|
||||
|
||||
private Long comId;
|
||||
|
||||
/** 项目主键 */
|
||||
@Excel(name = "项目主键")
|
||||
|
||||
private Long projectId;
|
||||
|
||||
/** 分包单位 */
|
||||
@Excel(name = "分包单位")
|
||||
|
||||
private Long subDeptId;
|
||||
|
||||
/** 单位类型 */
|
||||
@Excel(name = "单位类型")
|
||||
|
||||
private String subDeptType;
|
||||
|
||||
/** 分包单位名称 */
|
||||
@Excel(name = "分包单位名称")
|
||||
private String subDeptName;
|
||||
|
||||
|
||||
/** 用户主键 */
|
||||
@Excel(name = "用户主键")
|
||||
|
||||
private Long userId;
|
||||
|
||||
/** 班组编号(外键) */
|
||||
@Excel(name = "班组编号(外键)")
|
||||
|
||||
private Long subDeptGroup;
|
||||
|
||||
/** 班组名称 */
|
||||
|
@ -55,50 +71,129 @@ public class ProProjectInfoSubdeptsUsers extends BaseEntity
|
|||
private String subDeptGroupName;
|
||||
|
||||
/** 工种类型 */
|
||||
@Excel(name = "工种类型")
|
||||
|
||||
private String craftType;
|
||||
|
||||
@Excel(name = "工种类型")
|
||||
private String craftTypeName;
|
||||
/** 工种岗位 */
|
||||
@Excel(name = "工种岗位")
|
||||
private String craftPost;
|
||||
|
||||
private String craftPost;
|
||||
@Excel(name = "工种岗位")
|
||||
private String craftPostName;
|
||||
|
||||
@Excel(name = "状态")
|
||||
private String enterState;
|
||||
/** 学习状态 */
|
||||
@Excel(name = "学习状态")
|
||||
private String eduStatus;
|
||||
|
||||
/** 学习文件地址 */
|
||||
@Excel(name = "学习文件地址")
|
||||
|
||||
private String eduFilePath;
|
||||
|
||||
/** 学习签名地址 */
|
||||
@Excel(name = "学习签名地址")
|
||||
|
||||
private String eduSignPath;
|
||||
|
||||
/** 学习时间 */
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
@Excel(name = "学习时间", width = 30, dateFormat = "yyyy-MM-dd")
|
||||
|
||||
private Date eduDate;
|
||||
|
||||
/** 审批状态 */
|
||||
@Excel(name = "审批状态")
|
||||
|
||||
private Long approveStatus;
|
||||
|
||||
/** 进场状态 */
|
||||
@Excel(name = "进场状态")
|
||||
|
||||
private String useStatus;
|
||||
|
||||
/** 进行步骤 */
|
||||
@Excel(name = "进行步骤")
|
||||
|
||||
private Long subStep;
|
||||
|
||||
private String comName;
|
||||
|
||||
public String getComName() {
|
||||
return comName;
|
||||
}
|
||||
|
||||
public void setComName(String comName) {
|
||||
this.comName = comName;
|
||||
}
|
||||
|
||||
/** 疾病状态 */
|
||||
@Excel(name = "疾病状态")
|
||||
|
||||
private Long illnessStatus;
|
||||
|
||||
/** 严重疾病状态 */
|
||||
@Excel(name = "严重疾病状态")
|
||||
|
||||
private Long supIllnessStatus;
|
||||
|
||||
public String getEnterState() {
|
||||
return enterState;
|
||||
}
|
||||
|
||||
public void setEnterState(String enterState) {
|
||||
this.enterState = enterState;
|
||||
}
|
||||
|
||||
public String getUserName() {
|
||||
return userName;
|
||||
}
|
||||
|
||||
public void setUserName(String userName) {
|
||||
this.userName = userName;
|
||||
}
|
||||
|
||||
public String getCardCode() {
|
||||
return cardCode;
|
||||
}
|
||||
|
||||
public void setCardCode(String cardCode) {
|
||||
this.cardCode = cardCode;
|
||||
}
|
||||
|
||||
public String getUserSex() {
|
||||
return userSex;
|
||||
}
|
||||
|
||||
public void setUserSex(String userSex) {
|
||||
this.userSex = userSex;
|
||||
}
|
||||
|
||||
public String getUserNation() {
|
||||
return userNation;
|
||||
}
|
||||
|
||||
public void setUserNation(String userNation) {
|
||||
this.userNation = userNation;
|
||||
}
|
||||
|
||||
public Integer getUserAge() {
|
||||
return userAge;
|
||||
}
|
||||
|
||||
public void setUserAge(Integer userAge) {
|
||||
this.userAge = userAge;
|
||||
}
|
||||
|
||||
public String getCraftTypeName() {
|
||||
return craftTypeName;
|
||||
}
|
||||
|
||||
public void setCraftTypeName(String craftTypeName) {
|
||||
this.craftTypeName = craftTypeName;
|
||||
}
|
||||
|
||||
public String getCraftPostName() {
|
||||
return craftPostName;
|
||||
}
|
||||
|
||||
public void setCraftPostName(String craftPostName) {
|
||||
this.craftPostName = craftPostName;
|
||||
}
|
||||
|
||||
public SysUser getUser() {
|
||||
return user;
|
||||
}
|
||||
|
@ -119,7 +214,7 @@ public class ProProjectInfoSubdeptsUsers extends BaseEntity
|
|||
private SysUser user;
|
||||
|
||||
/** 删除标识 */
|
||||
@Excel(name = "删除标识")
|
||||
|
||||
private Long isDel;
|
||||
|
||||
public void setId(Long id)
|
||||
|
@ -312,7 +407,6 @@ public class ProProjectInfoSubdeptsUsers extends BaseEntity
|
|||
return isDel;
|
||||
}
|
||||
|
||||
private String projectName;
|
||||
|
||||
public String getProjectName() {
|
||||
return projectName;
|
||||
|
|
|
@ -7,7 +7,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<resultMap type="ProProjectInfoSubdeptsUsers" id="ProProjectInfoSubdeptsUsersResult">
|
||||
<result property="id" column="id" />
|
||||
<result property="comId" column="com_id" />
|
||||
<result property="comName" column="comName"/>
|
||||
<result property="projectId" column="project_id" />
|
||||
<result property="projectName" column="project_name" />
|
||||
<result property="subDeptId" column="sub_dept_id" />
|
||||
<result property="subDeptType" column="sub_dept_type" />
|
||||
<result property="subDeptName" column="sub_dept_name" />
|
||||
|
@ -26,6 +28,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<result property="illnessStatus" column="illness_status" />
|
||||
<result property="supIllnessStatus" column="sup_illness_status" />
|
||||
<result property="isDel" column="is_del" />
|
||||
<result property="enterState" column="enter_state" />
|
||||
<result property="craftTypeName" column="craft_type_name" />
|
||||
<result property="craftPostName" column="craft_post_name" />
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="createTime" column="create_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
|
@ -60,11 +65,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
psu.sub_dept_group_name, psu.craft_type, psu.craft_post, psu.edu_status, psu.edu_file_path, psu.edu_sign_path, psu.edu_date, psu.approve_status,
|
||||
psu.use_status, 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,su.`user_name`,su.`nick_name`,su.`user_type`,su.`card_type`,su.`card_code`,su.admitGuid,su.admitGuid usAdmitGuid,
|
||||
dic1.dict_label craft_type_name,dic2.dict_label craft_post_name,psu.enter_state,sd.dept_name comName,
|
||||
su.`user_picture`, su.`card_img_inv`,su.`card_img_pos`,su.`user_infos`,su.`email`,su.`phonenumber`,su.`sex`,su.`avatar`,su.`login_ip`,su.`login_date`
|
||||
FROM pro_project_info_subdepts_users psu
|
||||
LEFT JOIN sys_user su ON psu.user_id=su.user_id
|
||||
LEFT JOIN pro_project_info PI ON pi.id = psu.project_id
|
||||
LEFT JOIN sys_dept sd ON sd.dept_id = pi.com_id
|
||||
LEFT JOIN sys_dict_data dic1 ON psu.`craft_type`=dic1.`dict_value` AND dic1.`dict_type`='pro_craft_type'
|
||||
LEFT JOIN sys_dict_data dic2 ON psu.`craft_post`=dic2.`dict_value` AND dic2.`dict_type`='pro_craft_post'
|
||||
|
||||
</sql>
|
||||
|
||||
|
@ -82,6 +90,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="craftType != null and craftType != ''"> and psu.craft_type = #{craftType}</if>
|
||||
<if test="craftPost != null and craftPost != ''"> and psu.craft_post = #{craftPost}</if>
|
||||
<if test="eduStatus != null and eduStatus != ''"> and psu.edu_status = #{eduStatus}</if>
|
||||
<if test="enterState != null and enterState != ''"> and psu.enter_state = #{enterState}</if>
|
||||
<if test="eduFilePath != null and eduFilePath != ''"> and psu.edu_file_path = #{eduFilePath}</if>
|
||||
<if test="eduSignPath != null and eduSignPath != ''"> and psu.edu_sign_path = #{eduSignPath}</if>
|
||||
<if test="eduDate != null "> and psu.edu_date = #{eduDate}</if>
|
||||
|
@ -124,6 +133,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="illnessStatus != null">illness_status,</if>
|
||||
<if test="supIllnessStatus != null">sup_illness_status,</if>
|
||||
<if test="isDel != null">is_del,</if>
|
||||
<if test="enterState != null">enter_state,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
|
@ -151,6 +161,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="illnessStatus != null">#{illnessStatus},</if>
|
||||
<if test="supIllnessStatus != null">#{supIllnessStatus},</if>
|
||||
<if test="isDel != null">#{isDel},</if>
|
||||
<if test="enterState != null">#{enterState},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
|
@ -182,6 +193,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="illnessStatus != null">illness_status = #{illnessStatus},</if>
|
||||
<if test="supIllnessStatus != null">sup_illness_status = #{supIllnessStatus},</if>
|
||||
<if test="isDel != null">is_del = #{isDel},</if>
|
||||
<if test="enterState != null">enter_state = #{enterState},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
package com.yanzhu.manage.controller;
|
||||
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A;
|
||||
import com.yanzhu.common.core.utils.DateUtils;
|
||||
import com.yanzhu.common.core.utils.poi.ExcelUtil;
|
||||
import com.yanzhu.common.core.web.controller.BaseController;
|
||||
import com.yanzhu.common.core.web.domain.AjaxResult;
|
||||
|
@ -9,13 +12,15 @@ import com.yanzhu.common.log.enums.BusinessType;
|
|||
import com.yanzhu.common.security.annotation.RequiresPermissions;
|
||||
import com.yanzhu.manage.domain.ProProjectInfoSubdeptsUsers;
|
||||
import com.yanzhu.manage.service.IProProjectInfoSubdeptsUsersService;
|
||||
import com.yanzhu.manage.service.IUniService;
|
||||
import com.yanzhu.system.api.domain.SysUser;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 分包单位工人Controller
|
||||
|
@ -30,6 +35,8 @@ public class ProProjectInfoSubdeptsUsersController extends BaseController
|
|||
@Autowired
|
||||
private IProProjectInfoSubdeptsUsersService proProjectInfoSubdeptsUsersService;
|
||||
|
||||
@Autowired
|
||||
private IUniService uniService;
|
||||
/**
|
||||
* 查询分包单位工人列表
|
||||
*/
|
||||
|
@ -51,6 +58,20 @@ public class ProProjectInfoSubdeptsUsersController extends BaseController
|
|||
public void export(HttpServletResponse response, ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers)
|
||||
{
|
||||
List<ProProjectInfoSubdeptsUsers> list = proProjectInfoSubdeptsUsersService.selectProProjectInfoSubdeptsUsersList(proProjectInfoSubdeptsUsers);
|
||||
for(ProProjectInfoSubdeptsUsers u :list){
|
||||
SysUser su=u.getUser();
|
||||
u.setUserName(su.getUserName());
|
||||
u.setCardCode(su.getCardCode());
|
||||
u.setUserSex(su.getSex());
|
||||
u.setEnterState("0".equals(u.getEnterState())?"在场":"离场");
|
||||
JSONObject jo=JSONObject.parseObject(su.getUserInfos());
|
||||
u.setUserNation(jo.getString("nation"));
|
||||
Date dt=jo.getDate("birthDay");
|
||||
if(dt!=null){
|
||||
int age=(int)((new Date().getTime()-dt.getTime())/1000/3600/24/365);
|
||||
u.setUserAge(age);
|
||||
}
|
||||
}
|
||||
ExcelUtil<ProProjectInfoSubdeptsUsers> util = new ExcelUtil<ProProjectInfoSubdeptsUsers>(ProProjectInfoSubdeptsUsers.class);
|
||||
util.exportExcel(response, list, "分包单位工人数据");
|
||||
}
|
||||
|
@ -97,4 +118,25 @@ public class ProProjectInfoSubdeptsUsersController extends BaseController
|
|||
{
|
||||
return toAjax(proProjectInfoSubdeptsUsersService.deleteProProjectInfoSubdeptsUsersByIds(ids));
|
||||
}
|
||||
@RequiresPermissions("manage:proProjectInfoSubdeptsUsers:remove")
|
||||
@PostMapping("/enterState/{state}")
|
||||
public AjaxResult updateEnterState(@RequestBody List<Long> ids,@PathVariable int state){
|
||||
try {
|
||||
for (Long id : ids) {
|
||||
ProProjectInfoSubdeptsUsers user=proProjectInfoSubdeptsUsersService.selectProProjectInfoSubdeptsUsersById(id);
|
||||
if(user!=null) {
|
||||
if (state == 0) {//进场
|
||||
uniService.syncUserAuthDevice(id);
|
||||
} else {
|
||||
uniService.syncUserRevoke(id);
|
||||
}
|
||||
user.setEnterState(""+state);
|
||||
proProjectInfoSubdeptsUsersService.updateProProjectInfoSubdeptsUsers(user);
|
||||
}
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}catch (Exception ex){
|
||||
return AjaxResult.error(ex.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -127,7 +127,7 @@ public class UniCallBackController {
|
|||
if(proUser!=null && proUser.getUser()!=null){
|
||||
AttendanceUbiData addData=new AttendanceUbiData();
|
||||
addData.setAdmitGuid(admitGuid);
|
||||
addData.setComName(proUser.getActiveComName());
|
||||
addData.setComName(proUser.getComName());
|
||||
addData.setProjectName(proUser.getProjectName());
|
||||
addData.setComId(proUser.getComId());
|
||||
addData.setUserId(proUser.getUserId());
|
||||
|
|
|
@ -152,4 +152,16 @@ public interface IUniService {
|
|||
public Long syncUniDeviceUser(Long deviceId,Long projectId);
|
||||
|
||||
public long syncUniDeviceDelete(Long[] ids);
|
||||
|
||||
/**
|
||||
* 用户设备销权识别主体
|
||||
* @param id
|
||||
*/
|
||||
public void syncUserRevoke(Long id);
|
||||
|
||||
/**
|
||||
* 用户设备授权识别主体
|
||||
* @param id
|
||||
*/
|
||||
public void syncUserAuthDevice(Long id);
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
|||
|
||||
@Autowired
|
||||
private IUniService uniService;
|
||||
|
||||
/**
|
||||
* 查询分包单位工人
|
||||
*
|
||||
|
@ -112,6 +113,9 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
|||
@Override
|
||||
public int deleteProProjectInfoSubdeptsUsersByIds(Long[] ids)
|
||||
{
|
||||
for(Long id:ids){
|
||||
uniService.syncUserRevoke(id);
|
||||
}
|
||||
return proProjectInfoSubdeptsUsersMapper.deleteProProjectInfoSubdeptsUsersByIds(ids);
|
||||
}
|
||||
|
||||
|
@ -124,6 +128,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
|
|||
@Override
|
||||
public int deleteProProjectInfoSubdeptsUsersById(Long id)
|
||||
{
|
||||
uniService.syncUserRevoke(id);
|
||||
return proProjectInfoSubdeptsUsersMapper.deleteProProjectInfoSubdeptsUsersById(id);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -357,12 +357,56 @@ public class UniServiceImpl implements IUniService{
|
|||
public long syncUniDeviceDelete(Long[] ids) {
|
||||
long cnt=0;
|
||||
for(Long id :ids){
|
||||
cnt+=deletDevice(id);
|
||||
cnt+=deleteDevice(id);
|
||||
}
|
||||
return cnt;
|
||||
}
|
||||
|
||||
private Long deletDevice(Long id) {
|
||||
/**
|
||||
* 用户设备销权识别主体
|
||||
* @param id
|
||||
*/
|
||||
@Override
|
||||
public void syncUserRevoke(Long id) {
|
||||
ProProjectInfoSubdeptsUsers user= proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id);
|
||||
if(user==null){
|
||||
return;
|
||||
}
|
||||
AttendanceUbiDevice where=new AttendanceUbiDevice();
|
||||
where.setProjectId(user.getProjectId());
|
||||
List<AttendanceUbiDevice> devList=attendanceUbiDeviceMapper.selectAttendanceUbiDeviceList(where);
|
||||
for(AttendanceUbiDevice device :devList){
|
||||
JSONObject jo=new JSONObject();
|
||||
jo.put("projectId",user.getProjectId());
|
||||
jo.put("deviceNo",device.getDeviceNo());
|
||||
jo.put("admitGuids",user.getAdmitGuid());
|
||||
authDeviceRevoke(jo);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户设备授权识别主体
|
||||
* @param id
|
||||
*/
|
||||
@Override
|
||||
public void syncUserAuthDevice(Long id) {
|
||||
ProProjectInfoSubdeptsUsers user= proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id);
|
||||
if(user==null){
|
||||
return;
|
||||
}
|
||||
AttendanceUbiDevice where=new AttendanceUbiDevice();
|
||||
where.setProjectId(user.getProjectId());
|
||||
List<AttendanceUbiDevice> devList=attendanceUbiDeviceMapper.selectAttendanceUbiDeviceList(where);
|
||||
for(AttendanceUbiDevice device :devList) {
|
||||
JSONObject jo=new JSONObject();
|
||||
jo.put("projectId",user.getProjectId());
|
||||
jo.put("deviceNo",device.getDeviceNo());
|
||||
jo.put("admitGuids",user.getAdmitGuid());
|
||||
authDevice(jo);
|
||||
}
|
||||
}
|
||||
|
||||
private Long deleteDevice(Long id) {
|
||||
AttendanceUbiDevice device=attendanceUbiDeviceMapper.selectAttendanceUbiDeviceById(id);
|
||||
if(device==null){
|
||||
return 0l;
|
||||
|
@ -440,7 +484,7 @@ public class UniServiceImpl implements IUniService{
|
|||
userJo.put("tag",user.getNickName());
|
||||
userJo.put("cardNo",user.getUserId()+","+projectId);
|
||||
userJo.put("idCardNo",user.getCardCode());
|
||||
userJo.put("password","123456");
|
||||
userJo.put("password","");
|
||||
userJo.put("addition","");
|
||||
boolean hasUpdate=false;
|
||||
if(StringUtils.isEmpty(admitGuid)){
|
||||
|
@ -492,6 +536,7 @@ public class UniServiceImpl implements IUniService{
|
|||
}
|
||||
return ret.longValue();
|
||||
}
|
||||
|
||||
return 0l;
|
||||
}
|
||||
|
||||
|
|
|
@ -42,3 +42,12 @@ export function delProProjectInfoSubdeptsUsers(id) {
|
|||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 删除分包单位工人
|
||||
export function updateEnterState(ids,state) {
|
||||
return request({
|
||||
url: '/manage/proProjectInfoSubdeptsUsers/enterState/' + state,
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
<el-tag effect="plain">{{ form.projectName }}</el-tag>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备序列号" prop="deviceNo">
|
||||
<el-input v-model="form.deviceNo" placeholder="请输入设备序列号" />
|
||||
<el-input v-model="form.deviceNo" :disabled="data.mode=='edit'" placeholder="请输入设备序列号" />
|
||||
</el-form-item>
|
||||
<el-form-item label="通道编号" prop="channel">
|
||||
<el-input v-model="form.channel" placeholder="请输入通道编号" />
|
||||
|
@ -157,6 +157,10 @@ const data = reactive({
|
|||
})
|
||||
const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
/*行进场,离场操作 */
|
||||
function handleEnter(row){
|
||||
|
||||
}
|
||||
/**
|
||||
* 设备人员同步
|
||||
*/
|
||||
|
@ -244,6 +248,7 @@ function handleSelectionChange(selection) {
|
|||
/** 新增按钮操作 */
|
||||
function handleAdd() {
|
||||
reset();
|
||||
data.mode="add"
|
||||
form.value.projectId = data.row.projectId;
|
||||
form.value.projectName = data.row.projectName;
|
||||
form.value.source=ubi_device_source.value[0].value;
|
||||
|
@ -254,6 +259,7 @@ function handleAdd() {
|
|||
/** 修改按钮操作 */
|
||||
function handleUpdate(row) {
|
||||
reset();
|
||||
data.mode="edit"
|
||||
const _id = row.id || ids.value
|
||||
getAttendance_ubi_device(_id).then(response => {
|
||||
form.value = response.data;
|
||||
|
|
|
@ -56,26 +56,31 @@
|
|||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:export']">导出花名册</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="danger" plain icon="Download" @click="handleExport"
|
||||
<el-button type="danger" plain icon="Download" @click="handleBatchEnterState(1)"
|
||||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:export']">批量离场</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="success" plain icon="Download" @click="handleExport"
|
||||
<el-button type="success" plain icon="Download" @click="handleBatchEnterState(0)"
|
||||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:export']">批量入场</el-button>
|
||||
</el-col>
|
||||
<right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
<el-table v-loading="loading" :data="proProjectInfoSubdeptsUsersList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="所属单位" align="center" prop="subDeptName" />
|
||||
<el-table-column label="姓名" align="center" prop="user.userName" />
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="头像" align="center">
|
||||
<template #default="scope">
|
||||
<el-image :src="scope.row.user.userPicture" style="height:80px;" :preview-teleported="true" :preview-src-list="[scope.row.user.userPicture]"></el-image>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="联系电话" align="center" prop="user.phonenumber" />
|
||||
<el-table-column label="姓名" align="center" prop="user.userName" />
|
||||
<el-table-column label="身份证" align="center" prop="user.cardCode" />
|
||||
<el-table-column label="性别" align="center" prop="user.sex" width="80" />
|
||||
<el-table-column label="民族" align="center" prop="info.nation" width="80" />
|
||||
<el-table-column label="年龄" align="center" prop="info.age" width="80" />
|
||||
<el-table-column label="所属单位" align="center" prop="subDeptName" />
|
||||
|
||||
<el-table-column label="联系电话" align="center" prop="user.phonenumber" v-if="false"/>
|
||||
<el-table-column label="班组" align="center" prop="subDeptGroupName" />
|
||||
<el-table-column label="工种类型" align="center" prop="craftType">
|
||||
<template #default="scope">
|
||||
|
@ -87,17 +92,25 @@
|
|||
<dict-tag :options="pro_craft_post" :value="scope.row.craftPost" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="民族" align="center" prop="info.nation" width="80" />
|
||||
<el-table-column label="年龄" align="center" prop="info.age" width="80" />
|
||||
<el-table-column label="性别" align="center" prop="user.sex" width="80" />
|
||||
<el-table-column label="出生日期" align="center" prop="info.birthDayStr" />
|
||||
<el-table-column label="籍贯" align="center" prop="info.nativePlace" />
|
||||
|
||||
<el-table-column label="状态" align="center" prop="enterState">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.enterState==0" style="color: green;">在场</span>
|
||||
<span v-else style="color: red">离场</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="出生日期" align="center" prop="info.birthDayStr" v-if="false"/>
|
||||
<el-table-column label="籍贯" align="center" prop="info.nativePlace" v-if="false"/>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="150">
|
||||
<template #default="scope">
|
||||
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:edit']">修改</el-button>
|
||||
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
|
||||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:remove']">删除</el-button>
|
||||
<el-button link type="primary" icon="Delete" @click="handleEnter(scope.row)" v-if="scope.row.enterState==0"
|
||||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:remove']">离场</el-button>
|
||||
<el-button link type="primary" icon="Delete" @click="handleEnter(scope.row)" v-else
|
||||
v-hasPermi="['manage:proProjectInfoSubdeptsUsers:remove']">进场</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -248,7 +261,7 @@
|
|||
</template>
|
||||
|
||||
<script setup name="ProProjectInfoSubdeptsUsers">
|
||||
import { listProProjectInfoSubdeptsUsers, getProProjectInfoSubdeptsUsers, delProProjectInfoSubdeptsUsers, addProProjectInfoSubdeptsUsers, updateProProjectInfoSubdeptsUsers } from "@/api/manage/proProjectInfoSubdeptsUsers";
|
||||
import { listProProjectInfoSubdeptsUsers, getProProjectInfoSubdeptsUsers,updateEnterState, delProProjectInfoSubdeptsUsers, addProProjectInfoSubdeptsUsers, updateProProjectInfoSubdeptsUsers } from "@/api/manage/proProjectInfoSubdeptsUsers";
|
||||
import { listProProjectInfoSubdepts } from "@/api/manage/proProjectInfoSubdepts";
|
||||
import { listProProjectInfoSubdeptsGroup } from "@/api/manage/proProjectInfoSubdeptsGroup";
|
||||
import { listUser } from "@/api/system/user";
|
||||
|
@ -323,10 +336,40 @@ const data = reactive({
|
|||
phoneState: '',
|
||||
userInfo: null,
|
||||
mode: '',
|
||||
editData:null,
|
||||
});
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data);
|
||||
|
||||
//进场,离场
|
||||
function handleEnter(row){
|
||||
let ids=[row.id];
|
||||
if(row.enterState==0){
|
||||
updateEnterState(ids,1).then(d=>{
|
||||
row.enterState=1;
|
||||
});
|
||||
}else{
|
||||
updateEnterState(ids,0).then(d=>{
|
||||
row.enterState=0;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
//批量入场,批量离场
|
||||
function handleBatchEnterState(state){
|
||||
if(ids.value.length==0){
|
||||
proxy.$modal.msgWarning("请选择数据!!!");
|
||||
return;
|
||||
}
|
||||
updateEnterState(ids.value,state).then(d=>{
|
||||
proProjectInfoSubdeptsUsersList.value.forEach(it=>{
|
||||
if(ids.value.indexOf(it.id)>=0){
|
||||
it.enterState=state;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
//图片上传
|
||||
function doImageUpload() {
|
||||
setTimeout(() => {
|
||||
|
@ -527,6 +570,7 @@ function handleAdd() {
|
|||
return false;
|
||||
}
|
||||
reset();
|
||||
data.editData=null;
|
||||
data.mode = 'add';
|
||||
form.value.certificateType = "";
|
||||
form.value.projectId = userStore.currentProId;
|
||||
|
@ -538,14 +582,11 @@ function handleAdd() {
|
|||
}
|
||||
|
||||
/** 修改按钮操作 */
|
||||
function handleUpdate(row) {
|
||||
if (!userStore.currentProId) {
|
||||
proxy.$modal.msgWarning("请切换到项目数据!!!");
|
||||
return false;
|
||||
}
|
||||
function handleUpdate(row) {
|
||||
reset();
|
||||
const _id = row.id || ids.value
|
||||
data.mode = 'edit'
|
||||
data.editData=row;
|
||||
getProProjectInfoSubdeptsUsers(_id).then(response => {
|
||||
let obj = JSON.parse(JSON.stringify(response.data));
|
||||
obj.info = tryToJson(obj.user?.userInfos || "{}")
|
||||
|
@ -554,8 +595,8 @@ function handleUpdate(row) {
|
|||
form.value = obj;
|
||||
form.value.userId = obj.userId;
|
||||
|
||||
form.value.projectId = userStore.currentProId;
|
||||
form.value.projectName = userStore.currentProName;
|
||||
form.value.projectId = row.projectId;
|
||||
form.value.projectName = row.projectName;
|
||||
showEditUser(obj.user);
|
||||
data.phoneState = "edit";
|
||||
open.value = true;
|
||||
|
|
Loading…
Reference in New Issue