Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
9ce8d6ac89
|
|
@ -1,5 +1,6 @@
|
||||||
package com.bonus.bmw.homePage.controller;
|
package com.bonus.bmw.homePage.controller;
|
||||||
|
|
||||||
|
import com.bonus.bmw.homePage.entity.SevenNotAttWorkerBean;
|
||||||
import com.bonus.bmw.homePage.entity.WorkerMsgDetailBean;
|
import com.bonus.bmw.homePage.entity.WorkerMsgDetailBean;
|
||||||
import com.bonus.bmw.homePage.service.HomeSubPageService;
|
import com.bonus.bmw.homePage.service.HomeSubPageService;
|
||||||
import com.bonus.common.core.table.PageTableRequest;
|
import com.bonus.common.core.table.PageTableRequest;
|
||||||
|
|
@ -107,4 +108,12 @@ public class HomeSubPageController {
|
||||||
return service.getWorkerMsgDetail(bean);
|
return service.getWorkerMsgDetail(bean);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Log(title = "首页-七天未打卡详情页面", businessType = BusinessType.SELECT)
|
||||||
|
@PostMapping("getSevenNotAttWorker")
|
||||||
|
// @RequiresPermissions("sys:collectReturn:query")
|
||||||
|
public PageTableResponse getSevenNotAttWorker(PageTableRequest request){
|
||||||
|
return service.getSevenNotAttWorker(request);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -90,4 +90,10 @@ public interface HomePageDao {
|
||||||
void insertProRankCache(List<ProMsgBean> rankList);
|
void insertProRankCache(List<ProMsgBean> rankList);
|
||||||
|
|
||||||
List<ProMsgBean> getProRankCache(ProMsgBean o);
|
List<ProMsgBean> getProRankCache(ProMsgBean o);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 七天未打卡
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
int getSevenDayNotAttWorker(@Param("subComId") String subComId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
package com.bonus.bmw.homePage.dao;
|
package com.bonus.bmw.homePage.dao;
|
||||||
|
|
||||||
import com.bonus.bmw.homePage.entity.BuildProBean;
|
import com.bonus.bmw.homePage.entity.*;
|
||||||
import com.bonus.bmw.homePage.entity.CertificateReadBean;
|
|
||||||
import com.bonus.bmw.homePage.entity.CollectBean;
|
|
||||||
import com.bonus.bmw.homePage.entity.WorkerMsgDetailBean;
|
|
||||||
import com.bonus.bmw.person.entity.ContractBean;
|
import com.bonus.bmw.person.entity.ContractBean;
|
||||||
import com.bonus.bmw.person.entity.MapBean;
|
import com.bonus.bmw.person.entity.MapBean;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
@ -44,4 +41,11 @@ public interface HomeSubPageDao {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<CollectBean> selectCollect(CollectBean bean);
|
List<CollectBean> selectCollect(CollectBean bean);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 七天未打卡
|
||||||
|
* @param params
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<SevenNotAttWorkerBean> getSevenNotAttWorker(@Param("params") Map<String, Object> params);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -172,4 +172,6 @@ public class HomePageBean {
|
||||||
private String proGeneralName;
|
private String proGeneralName;
|
||||||
@Excel(name = "专业工程数量")
|
@Excel(name = "专业工程数量")
|
||||||
private String proNum;
|
private String proNum;
|
||||||
|
//七天未打卡
|
||||||
|
private int sevenDayNotAttWorker;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
package com.bonus.bmw.homePage.entity;
|
||||||
|
|
||||||
|
import com.bonus.bmw.getplan.entity.InfDayPlanFillContentBean;
|
||||||
|
import com.bonus.bmw.person.entity.ContractBean;
|
||||||
|
import com.bonus.bmw.team.entity.LightStatusBean;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 在建 bean
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
@ToString
|
||||||
|
public class SevenNotAttWorkerBean {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工程id
|
||||||
|
*/
|
||||||
|
private Integer proId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 工程名
|
||||||
|
*/
|
||||||
|
private String proName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分包单位id
|
||||||
|
*/
|
||||||
|
private Integer subId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分包单位名称
|
||||||
|
*/
|
||||||
|
private String subName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组id
|
||||||
|
*/
|
||||||
|
private Integer teamId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 班组name
|
||||||
|
*/
|
||||||
|
private String teamName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 人员姓名
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 身份证
|
||||||
|
*/
|
||||||
|
private String idNumber;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 岗位id
|
||||||
|
*/
|
||||||
|
private String postId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 岗位
|
||||||
|
*/
|
||||||
|
private String postName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 入场时间
|
||||||
|
*/
|
||||||
|
private String einTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 最新打卡时间
|
||||||
|
*/
|
||||||
|
private String lastClockDay;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -47,11 +47,14 @@ public class HomePageServiceImpl implements HomePageService {
|
||||||
@Override
|
@Override
|
||||||
public HomePageBean getDataOverview(HomePageBean o) {
|
public HomePageBean getDataOverview(HomePageBean o) {
|
||||||
List<HomePageBean> list = dao.getHomeCacheData(o);
|
List<HomePageBean> list = dao.getHomeCacheData(o);
|
||||||
|
//七天未打卡 20260205
|
||||||
HomePageBean homePageBean = new HomePageBean();
|
HomePageBean homePageBean = new HomePageBean();
|
||||||
if (list.size() > 0) {
|
int num = dao.getSevenDayNotAttWorker(o.getSubComId());
|
||||||
|
if (!list.isEmpty()) {
|
||||||
homePageBean.setUpdateTime(list.get(0).getUpdateTime());
|
homePageBean.setUpdateTime(list.get(0).getUpdateTime());
|
||||||
if (list.size() == 1) {
|
if (list.size() == 1) {
|
||||||
homePageBean = list.get(0);
|
homePageBean = list.get(0);
|
||||||
|
homePageBean.setSevenDayNotAttWorker(num);
|
||||||
} else {
|
} else {
|
||||||
//总工程数
|
//总工程数
|
||||||
Integer proGeneralNum = dao.getProGeneralNum(o);
|
Integer proGeneralNum = dao.getProGeneralNum(o);
|
||||||
|
|
@ -98,6 +101,7 @@ public class HomePageServiceImpl implements HomePageService {
|
||||||
homePageBean.setMediumRiskNum(mediumRiskNum);
|
homePageBean.setMediumRiskNum(mediumRiskNum);
|
||||||
homePageBean.setLowRiskNum(lowRiskNum);
|
homePageBean.setLowRiskNum(lowRiskNum);
|
||||||
homePageBean.setPlanAttNum(planAttNum);
|
homePageBean.setPlanAttNum(planAttNum);
|
||||||
|
homePageBean.setSevenDayNotAttWorker(num);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return homePageBean;
|
return homePageBean;
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.bonus.bmw.homePage.service;
|
package com.bonus.bmw.homePage.service;
|
||||||
|
|
||||||
|
import com.bonus.bmw.homePage.entity.SevenNotAttWorkerBean;
|
||||||
import com.bonus.bmw.homePage.entity.WorkerMsgDetailBean;
|
import com.bonus.bmw.homePage.entity.WorkerMsgDetailBean;
|
||||||
import com.bonus.common.core.table.PageTableRequest;
|
import com.bonus.common.core.table.PageTableRequest;
|
||||||
import com.bonus.common.core.table.PageTableResponse;
|
import com.bonus.common.core.table.PageTableResponse;
|
||||||
|
|
@ -17,4 +18,6 @@ public interface HomeSubPageService {
|
||||||
PageTableResponse getDayPlanMsg(PageTableRequest request);
|
PageTableResponse getDayPlanMsg(PageTableRequest request);
|
||||||
|
|
||||||
WorkerMsgDetailBean getWorkerMsgDetail(WorkerMsgDetailBean bean);
|
WorkerMsgDetailBean getWorkerMsgDetail(WorkerMsgDetailBean bean);
|
||||||
|
|
||||||
|
PageTableResponse getSevenNotAttWorker(PageTableRequest request);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,7 @@ import cn.hutool.core.date.DateUtil;
|
||||||
import com.bonus.bmw.getplan.entity.InfDayPlanFillContentBean;
|
import com.bonus.bmw.getplan.entity.InfDayPlanFillContentBean;
|
||||||
import com.bonus.bmw.getplan.service.GetPlanInnerService;
|
import com.bonus.bmw.getplan.service.GetPlanInnerService;
|
||||||
import com.bonus.bmw.homePage.dao.HomeSubPageDao;
|
import com.bonus.bmw.homePage.dao.HomeSubPageDao;
|
||||||
import com.bonus.bmw.homePage.entity.BuildProBean;
|
import com.bonus.bmw.homePage.entity.*;
|
||||||
import com.bonus.bmw.homePage.entity.CertificateReadBean;
|
|
||||||
import com.bonus.bmw.homePage.entity.CollectBean;
|
|
||||||
import com.bonus.bmw.homePage.entity.WorkerMsgDetailBean;
|
|
||||||
import com.bonus.bmw.person.entity.ContractBean;
|
import com.bonus.bmw.person.entity.ContractBean;
|
||||||
import com.bonus.bmw.person.entity.MapBean;
|
import com.bonus.bmw.person.entity.MapBean;
|
||||||
import com.bonus.bmw.planData.entity.InDayPlanPersonBean;
|
import com.bonus.bmw.planData.entity.InDayPlanPersonBean;
|
||||||
|
|
@ -341,6 +338,47 @@ public class HomeSubPageServiceImpl implements HomeSubPageService {
|
||||||
return o;
|
return o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageTableResponse getSevenNotAttWorker(PageTableRequest request) {
|
||||||
|
try{
|
||||||
|
Map<String, Object> params = request.getParams();
|
||||||
|
// String proName = (String) params.get("proName");
|
||||||
|
List<SevenNotAttWorkerBean> list = dao.getSevenNotAttWorker(params);
|
||||||
|
return new PageTableHandler(new PageTableHandler.CountHandler() {
|
||||||
|
@Override
|
||||||
|
public int count(PageTableRequest request1) {
|
||||||
|
return list.size();
|
||||||
|
}
|
||||||
|
}, new PageTableHandler.ListHandler() {
|
||||||
|
@Override
|
||||||
|
public List<SevenNotAttWorkerBean> list(PageTableRequest request1) {
|
||||||
|
List<SevenNotAttWorkerBean> beanList;
|
||||||
|
Integer offset = request.getOffset();
|
||||||
|
Integer limit = request.getLimit();
|
||||||
|
if ((offset + limit) < list.size()) {
|
||||||
|
beanList = list.subList(offset, offset + limit);
|
||||||
|
} else {
|
||||||
|
beanList = list.subList(offset, list.size());
|
||||||
|
}
|
||||||
|
return beanList;
|
||||||
|
}
|
||||||
|
}).handle(request);
|
||||||
|
}catch (Exception e){
|
||||||
|
log.error(e.getMessage(),e);
|
||||||
|
return new PageTableHandler(new PageTableHandler.CountHandler() {
|
||||||
|
@Override
|
||||||
|
public int count(PageTableRequest request1) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}, new PageTableHandler.ListHandler() {
|
||||||
|
@Override
|
||||||
|
public List<SevenNotAttWorkerBean> list(PageTableRequest request1) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}).handle(request);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public List<PlanWorkerBean> collectPlan(Map<String, Object> params, List<PlanWorkerBean> list){
|
public List<PlanWorkerBean> collectPlan(Map<String, Object> params, List<PlanWorkerBean> list){
|
||||||
if (StringUtils.isNotEmpty((String) params.get("userId"))) {
|
if (StringUtils.isNotEmpty((String) params.get("userId"))) {
|
||||||
List<CollectBean> listCollect = Optional.ofNullable(dao.selectCollect(
|
List<CollectBean> listCollect = Optional.ofNullable(dao.selectCollect(
|
||||||
|
|
|
||||||
|
|
@ -623,4 +623,31 @@
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
|
||||||
|
<select id="getSevenDayNotAttWorker" resultType="int">
|
||||||
|
SELECT
|
||||||
|
COUNT(DISTINCT w.id_number) AS not_clocked_in_7_days_count
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
-- 步骤1:筛选出至少7天前已入场的人员
|
||||||
|
SELECT DISTINCT
|
||||||
|
id_number
|
||||||
|
FROM
|
||||||
|
bm_worker_ein_history a
|
||||||
|
LEFT JOIN bm_project bp ON bp.id = a.project_id
|
||||||
|
WHERE
|
||||||
|
ein_time <= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
|
||||||
|
AND exit_time IS NULL
|
||||||
|
AND exit_status = - 1
|
||||||
|
<if test="subComId != null and subComId != '' ">
|
||||||
|
AND bp.project_general_id = #{subComId}
|
||||||
|
</if>
|
||||||
|
) w
|
||||||
|
LEFT JOIN (
|
||||||
|
-- 步骤2:找出近7天内有打卡的人员
|
||||||
|
SELECT DISTINCT ID_NUMBER FROM fc_face_contrast WHERE CURRENT_DAY >= DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURRENT_DAY <= CURDATE()) c ON w.id_number = c.ID_NUMBER
|
||||||
|
WHERE
|
||||||
|
c.ID_NUMBER IS NULL;
|
||||||
|
-- 近7天内无打卡记录
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -479,4 +479,34 @@
|
||||||
and is_active = 1
|
and is_active = 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
<select id="getSevenNotAttWorker" resultType="com.bonus.bmw.homePage.entity.SevenNotAttWorkerBean">
|
||||||
|
SELECT
|
||||||
|
w.id_number,bw.name,bp.`name` as proName,bs.sub_name,bst.team_name,w.ein_time,
|
||||||
|
MAX(fc.CURRENT_DAY) AS last_clock_day
|
||||||
|
FROM (
|
||||||
|
SELECT DISTINCT id_number,project_id,sub_id,team_id,ein_time
|
||||||
|
FROM bm_worker_ein_history
|
||||||
|
WHERE ein_time <= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
|
||||||
|
AND exit_time IS NULL
|
||||||
|
AND exit_status = - 1
|
||||||
|
) w
|
||||||
|
LEFT JOIN fc_face_contrast fc
|
||||||
|
ON w.id_number = fc.ID_NUMBER
|
||||||
|
LEFT JOIN bm_project bp ON bp.id = w.project_id
|
||||||
|
LEFT JOIN bm_subcontractor bs ON bs.id = w.sub_id
|
||||||
|
LEFT JOIN bm_sub_team bst ON bst.id = w.TEAM_ID
|
||||||
|
LEFT JOIN bm_worker bw ON bw.id_number = w.id_number
|
||||||
|
<where >
|
||||||
|
<if test="params.subComId != null and params.subComId != '' ">
|
||||||
|
AND bp.project_general_id = #{params.subComId}
|
||||||
|
</if>
|
||||||
|
<if test="params.proName != null and params.proName != '' ">
|
||||||
|
AND bp.name = #{params.proName}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
GROUP BY w.id_number
|
||||||
|
HAVING
|
||||||
|
(MAX(fc.CURRENT_DAY) IS NULL
|
||||||
|
OR MAX(fc.CURRENT_DAY) < DATE_SUB(CURDATE(), INTERVAL 7 DAY))
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -304,7 +304,7 @@ html {
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
background-position: 10%;
|
background-position: 10%;
|
||||||
}
|
}
|
||||||
#planPerNum>div:nth-child(1){
|
#sevenDayNotAtt>div:nth-child(1){
|
||||||
width: 35%;
|
width: 35%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
background-image: url("../../../img/work/indexScreen/planPerNum.png");
|
background-image: url("../../../img/work/indexScreen/planPerNum.png");
|
||||||
|
|
@ -765,4 +765,4 @@ html {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-top: 5%;
|
margin-top: 5%;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,4 +65,4 @@ function isWeakPassword(password) {
|
||||||
}else{
|
}else{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,126 @@
|
||||||
|
let addLoadingMsg;
|
||||||
|
var example = null;
|
||||||
|
var pers = null;
|
||||||
|
var layer;
|
||||||
|
var form;
|
||||||
|
var subComId = localStorage.getItem('subComIds');
|
||||||
|
layui.use(['layer', 'form'], function () {
|
||||||
|
layer = layui.layer;
|
||||||
|
form = layui.form;
|
||||||
|
init();
|
||||||
|
pers = checkPermission();
|
||||||
|
$("#searchBt").click(function () {
|
||||||
|
example.ajax.reload();
|
||||||
|
});
|
||||||
|
$("#resetBt").click(function () {
|
||||||
|
$("#proName").val("");
|
||||||
|
form.render();
|
||||||
|
example.ajax.reload();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
//数据加载
|
||||||
|
function init() {
|
||||||
|
example =
|
||||||
|
$('#dt-table').DataTable({
|
||||||
|
"sort": false,
|
||||||
|
"searching": false,
|
||||||
|
"processing": true, //加载数据时显示进度状态
|
||||||
|
"serverSide": true,
|
||||||
|
//表头固定
|
||||||
|
"fixedHeader": true,
|
||||||
|
"scrollX": "500px",
|
||||||
|
"scrollY": "650px",
|
||||||
|
"scrollCollapse": true,
|
||||||
|
"language": {
|
||||||
|
"url": ctxPath + "/js/plugin/datatables/Chinese.lang"
|
||||||
|
},
|
||||||
|
"ajax": {
|
||||||
|
"url": ctxPath + "/homeSubPage/getSevenNotAttWorker",
|
||||||
|
"type": "post",
|
||||||
|
"data": function (d) {
|
||||||
|
d.proName = $("#proName").val();
|
||||||
|
d.subComId = subComId;
|
||||||
|
},
|
||||||
|
"error": function (xhr, textStatus, errorThrown) {
|
||||||
|
var msg = xhr.responseText;
|
||||||
|
console.log(msg);
|
||||||
|
var response = JSON.parse(msg);
|
||||||
|
var code = response.code;
|
||||||
|
var message = response.message;
|
||||||
|
if (code == 400) {
|
||||||
|
layer.msg(message);
|
||||||
|
} else if (code == 401) {
|
||||||
|
localStorage.removeItem("smz-token");
|
||||||
|
layer.msg("token过期,请先登录", {shift: -1, time: 1000}, function () {
|
||||||
|
location.href = ctxPath + '/login.html';
|
||||||
|
});
|
||||||
|
} else if (code == 403) {
|
||||||
|
console.log("未授权:" + message);
|
||||||
|
layer.msg('未授权');
|
||||||
|
} else if (code == 500) {
|
||||||
|
console.log('系统错误:' + message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"drawCallback": function() {
|
||||||
|
// alert( '表格重绘了' );
|
||||||
|
var thisDataTable = $('#dt-table').DataTable();
|
||||||
|
$(".pagination").append("<li>" +
|
||||||
|
"<a class='paginate_button' style='padding:4px;' href='#' tabindex='0'>到 <input style='margin:0px;width:40px;' id='changePage'> 页</a>" +
|
||||||
|
"<a class='paginate_button' style='margin-bottom:1px' href='#' tabindex='0' id='dataTable-btn'>确认</a></li>");
|
||||||
|
//点击按钮跳转指定页数
|
||||||
|
$('#dataTable-btn').click(function (e) {
|
||||||
|
if ($("#changePage").val() && $("#changePage").val() > 0) {
|
||||||
|
var redirectpage = $("#changePage").val() - 1;
|
||||||
|
} else {
|
||||||
|
var redirectpage = 0;
|
||||||
|
}
|
||||||
|
thisDataTable.page(redirectpage).draw( 'page' );
|
||||||
|
});
|
||||||
|
//敲击回车键跳转指定页数
|
||||||
|
$("#changePage").keypress(function (e) {
|
||||||
|
if(event.keyCode==13){
|
||||||
|
if ($("#changePage").val() && $("#changePage").val() > 0) {
|
||||||
|
var redirectpage = $("#changePage").val() - 1;
|
||||||
|
} else {
|
||||||
|
var redirectpage = 0;
|
||||||
|
}
|
||||||
|
thisDataTable.page(redirectpage).draw( 'page' );
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
"dom": "<'dt-toolbar'r>t<'dt-toolbar-footer'<'col-sm-4 col-xs-4 hidden-xs'i><'col-xs-8 col-sm-8' p v>>",
|
||||||
|
"columns": [
|
||||||
|
{
|
||||||
|
width: '4%',
|
||||||
|
data: function (row, type, set, meta) {
|
||||||
|
var c = meta.settings._iDisplayStart + meta.row + 1;
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{"data": "name", "defaultContent": "",},
|
||||||
|
{"data": "idNumber", "defaultContent": "",},
|
||||||
|
{"data": "proName", "defaultContent": "",},
|
||||||
|
{"data": "subName", "defaultContent": "",},
|
||||||
|
{"data": "teamName", "defaultContent": "",},
|
||||||
|
{"data": "einTime", "defaultContent": "",},
|
||||||
|
{"data": "lastClockDay", "defaultContent": "",},
|
||||||
|
],
|
||||||
|
"order": [[0, "desc"], [1, "asc"]] //在栏目列上显示排序功能
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//导出
|
||||||
|
function exportData() {
|
||||||
|
var proGeneralName = $("#proGeneralName").val();
|
||||||
|
window.location.href = ctxPath + "/homePage/exportData?token=" + token
|
||||||
|
+ "&proGeneralName=" + proGeneralName
|
||||||
|
}
|
||||||
|
|
||||||
|
//刷新页面
|
||||||
|
function reloading() {
|
||||||
|
var index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
|
||||||
|
parent.layer.close(index); //再执行关闭
|
||||||
|
window.parent.location.reload();
|
||||||
|
}
|
||||||
|
|
@ -194,6 +194,7 @@ function dataOverview(subCompanyId) {
|
||||||
$('#mediumRisk').text(data.data.mediumRiskNum);
|
$('#mediumRisk').text(data.data.mediumRiskNum);
|
||||||
$('#lowRisk').text(data.data.lowRiskNum);
|
$('#lowRisk').text(data.data.lowRiskNum);
|
||||||
$('#planNum').text(data.data.planPersonNum);
|
$('#planNum').text(data.data.planPersonNum);
|
||||||
|
$('#sevenDayNotAttNum').text(data.data.sevenDayNotAttWorker)
|
||||||
$('#refreshTime').text(data.data.updateTime == null ? '数据更新时间:--' : '数据更新时间:' + data.data.updateTime);
|
$('#refreshTime').text(data.data.updateTime == null ? '数据更新时间:--' : '数据更新时间:' + data.data.updateTime);
|
||||||
closeLayer();
|
closeLayer();
|
||||||
if (flag) {
|
if (flag) {
|
||||||
|
|
@ -786,6 +787,21 @@ function planPerClick(type, value) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//七天未打卡人数
|
||||||
|
function sevenDayNotAttClick() {
|
||||||
|
var height = '99%';
|
||||||
|
var width = '75%';
|
||||||
|
var index = layer.open({
|
||||||
|
title: ['七天未打卡详情', 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'],
|
||||||
|
type: 2,
|
||||||
|
content: 'child/SevenDayNotAtt.html',
|
||||||
|
area: [width, height],
|
||||||
|
scrollbar: false, // 暂时屏蔽浏览器滚动条
|
||||||
|
maxmin: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
//电压ECharts
|
//电压ECharts
|
||||||
function proInformationLevelECharts(listRank) {
|
function proInformationLevelECharts(listRank) {
|
||||||
//先销毁
|
//先销毁
|
||||||
|
|
@ -1921,4 +1937,4 @@ function divisionOperation(a, b) {
|
||||||
return (a / b * 100).toFixed(2);
|
return (a / b * 100).toFixed(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,78 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>七天未打卡</title>
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/bootstrap.min.css">
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/dataTables.bootstrap.min.css">
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="../../../../layui/css/layui.css">
|
||||||
|
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/work/ProjectManage/proManager.css">
|
||||||
|
<style>
|
||||||
|
.layui-form input[type=checkbox], .layui-form input[type=radio], .layui-form select {
|
||||||
|
display: none !important ;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div>
|
||||||
|
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
|
||||||
|
<header style="height: 100%">
|
||||||
|
<div align="left">
|
||||||
|
<table style="width: 100%">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<form class="form-inline layui-form" onsubmit="return false">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="layui-inline" >
|
||||||
|
<div class="layui-input-inline" style="display: flex;align-items: center;">
|
||||||
|
<input type="text" id="proName" name="proName" placeholder="输入工程名称" class="layui-input">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<button id="searchBt" class="layui-btn layui-btn-sm">
|
||||||
|
查询
|
||||||
|
</button>
|
||||||
|
<button id="resetBt" class="layui-btn layui-btn-sm">
|
||||||
|
重置
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<div class="widget-body no-padding">
|
||||||
|
<table id="dt-table" class="table table-striped table-bordered table-hover" style="width:100%">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>序号</th>
|
||||||
|
<th>姓名</th>
|
||||||
|
<th>身份证</th>
|
||||||
|
<th>工程名</th>
|
||||||
|
<th>分包名字</th>
|
||||||
|
<th>班组名字</th>
|
||||||
|
<th>入场时间</th>
|
||||||
|
<th>最后打卡时间</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
<script type="text/javascript" src="../../../../js/libs/jquery-3.6.0.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../js/jq.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../js/plugin/datatables/jquery.dataTables.min.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../js/plugin/datatables/dataTables.bootstrap.min.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../js/my/permission.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../layui/layui.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../js/publicJs.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../js/select.js" ></script>
|
||||||
|
<script type="text/javascript" src="../../../../js/dict.js"></script>
|
||||||
|
<script type="text/javascript" src="../../../../js/work/indexScreen/child/SevenDayNotAtt.js"></script>
|
||||||
|
|
@ -81,6 +81,11 @@
|
||||||
<div id="attPersonNum">--</div>
|
<div id="attPersonNum">--</div>
|
||||||
<div>今日打卡</div>
|
<div>今日打卡</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div id="sevenDayNotAtt" onclick="sevenDayNotAttClick('sevenDayNotAtt')">
|
||||||
|
<div></div>
|
||||||
|
<div id="sevenDayNotAttNum">--</div>
|
||||||
|
<div>七天未打卡人数</div>
|
||||||
|
</div>
|
||||||
<!-- <div id="planPerNum" onclick="planPerClick('planPerNum', 1)">
|
<!-- <div id="planPerNum" onclick="planPerClick('planPerNum', 1)">
|
||||||
<div></div>
|
<div></div>
|
||||||
<div id="planPersonNum">--</div>
|
<div id="planPersonNum">--</div>
|
||||||
|
|
@ -351,4 +356,4 @@
|
||||||
<script type="text/javascript" src="../../../js/select.js"></script>
|
<script type="text/javascript" src="../../../js/select.js"></script>
|
||||||
<script type="text/javascript" src="../../../js/libs/echarts.js"></script>
|
<script type="text/javascript" src="../../../js/libs/echarts.js"></script>
|
||||||
<script type="text/javascript" src="../../../js/work/indexScreen/indexScreen.js"
|
<script type="text/javascript" src="../../../js/work/indexScreen/indexScreen.js"
|
||||||
defer="defer"></script>
|
defer="defer"></script>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue