添加查看考生档案,查看危险化学品生产单位电子证件功能
This commit is contained in:
parent
9196b530f3
commit
b4bc3d1581
@ -0,0 +1,40 @@
|
||||
package cn.com.tenlion.controller.api.personfiles;
|
||||
|
||||
import cn.com.tenlion.service.personfiles.IPersonFilesService;
|
||||
import ink.wgink.common.base.DefaultBaseController;
|
||||
import ink.wgink.interfaces.consts.ISystemConstant;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 人员档案controller
|
||||
* @author xwangs
|
||||
* @create 2021-06-24 15:56
|
||||
* @description
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping(ISystemConstant.API_PREFIX + "/person-files")
|
||||
public class PersonFilesController extends DefaultBaseController {
|
||||
|
||||
@Autowired
|
||||
private IPersonFilesService personFilesService;
|
||||
|
||||
@GetMapping("list")
|
||||
public SuccessResultList list(ListPage page) {
|
||||
Map<String, Object> params = requestParams();
|
||||
page.setParams(params);
|
||||
return personFilesService.list(page);
|
||||
}
|
||||
|
||||
@GetMapping("get-certificate")
|
||||
public Map<String, Object> getCertificate() {
|
||||
Map<String, Object> params = requestParams();
|
||||
return personFilesService.getCertificate(params);
|
||||
}
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package cn.com.tenlion.dao.personfiles;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author xwangs
|
||||
* @create 2021-06-24 16:10
|
||||
* @description
|
||||
*/
|
||||
@Repository
|
||||
public interface IPersonFilesDao {
|
||||
|
||||
/**
|
||||
* 人员档案列表
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
List<Map<String, Object>> list(Map<String, Object> params);
|
||||
|
||||
/**
|
||||
* 查询工种证件对应关系
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getCertificateMapping(Map<String, Object> params);
|
||||
}
|
@ -65,6 +65,8 @@ public class ApplyStudentsDTO {
|
||||
private Integer applyAuditState;
|
||||
@ApiModelProperty(name = "applyTestScores", value = "考试成绩")
|
||||
private String applyTestScores;
|
||||
@ApiModelProperty(name = "bindUserAccount", value = "同意用户ID")
|
||||
private String bindUserAccount;
|
||||
@ApiModelProperty(name = "creator", value = "创建人")
|
||||
private String creator;
|
||||
@ApiModelProperty(name = "gmtCreate", value = "创建时间")
|
||||
@ -345,4 +347,12 @@ public class ApplyStudentsDTO {
|
||||
public void setExamEndTime(String examEndTime) {
|
||||
this.examEndTime = examEndTime;
|
||||
}
|
||||
|
||||
public String getBindUserAccount() {
|
||||
return bindUserAccount == null ? "" : bindUserAccount;
|
||||
}
|
||||
|
||||
public void setBindUserAccount(String bindUserAccount) {
|
||||
this.bindUserAccount = bindUserAccount;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,28 @@
|
||||
package cn.com.tenlion.service.personfiles;
|
||||
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author xwangs
|
||||
* @create 2021-06-24 16:07
|
||||
* @description
|
||||
*/
|
||||
public interface IPersonFilesService {
|
||||
|
||||
/**
|
||||
* 人员档案列表
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
SuccessResultList list(ListPage page);
|
||||
|
||||
/**
|
||||
* 根据档案查询对应证件
|
||||
* @param params
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> getCertificate(Map<String, Object> params);
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
package cn.com.tenlion.service.personfiles.impl;
|
||||
|
||||
import cn.com.tenlion.dao.personfiles.IPersonFilesDao;
|
||||
import cn.com.tenlion.pojo.dtos.applystudentsnew.ApplyStudentsNewDTO;
|
||||
import cn.com.tenlion.pojo.dtos.classplan.ClassPlanDTO;
|
||||
import cn.com.tenlion.service.applystudentsnew.IApplyStudentsNewService;
|
||||
import cn.com.tenlion.service.classplan.IClassPlanService;
|
||||
import cn.com.tenlion.service.personfiles.IPersonFilesService;
|
||||
import cn.com.tenlion.util.CertificateUtil;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import ink.wgink.common.base.DefaultBaseService;
|
||||
import ink.wgink.exceptions.SearchException;
|
||||
import ink.wgink.pojo.ListPage;
|
||||
import ink.wgink.pojo.result.SuccessResultList;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author xwangs
|
||||
* @create 2021-06-24 16:08
|
||||
* @description
|
||||
*/
|
||||
@Service
|
||||
public class PersonFilesServiceImpl extends DefaultBaseService implements IPersonFilesService {
|
||||
|
||||
@Autowired
|
||||
private IPersonFilesDao personFilesDao;
|
||||
@Autowired
|
||||
private IApplyStudentsNewService studentsNewService;
|
||||
@Autowired
|
||||
private IClassPlanService classPlanService;
|
||||
@Autowired
|
||||
private CertificateUtil certificateUtil;
|
||||
|
||||
@Override
|
||||
public SuccessResultList list(ListPage page) {
|
||||
String orgId = page.getParams().get("orgId") == null ? "" : page.getParams().get("orgId").toString();
|
||||
if("".equals(orgId)){
|
||||
return new SuccessResultList(new ArrayList<>(), 0, 0L);
|
||||
}
|
||||
PageHelper.startPage(page.getPage(), page.getRows());
|
||||
List<Map<String, Object>> list = personFilesDao.list(page.getParams());
|
||||
PageInfo<Map<String, Object>> pageInfo = new PageInfo<>(list);
|
||||
return new SuccessResultList(list, pageInfo.getPageNum(), pageInfo.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getCertificate(Map<String, Object> params) {
|
||||
if(params.get("applyStudentsNewId") == null
|
||||
|| params.get("applyStudentsNewId").toString().length() == 0){
|
||||
throw new SearchException("主键丢失,查询不到人员档案");
|
||||
}
|
||||
String applyStudentsNewId = params.get("applyStudentsNewId").toString();
|
||||
ApplyStudentsNewDTO applyStudentsNewDTO = studentsNewService.get(applyStudentsNewId);
|
||||
ClassPlanDTO classPlanDTO = classPlanService.get(applyStudentsNewDTO.getClassPlanId());
|
||||
String workTypeId = classPlanDTO.getWorkerCatalog();
|
||||
params.put("workTypeId","9f1ac1a6-7c17-4e1f-a44b-0d2de9b623ef");
|
||||
Map<String, Object> certificateMapping = personFilesDao.getCertificateMapping(params);
|
||||
String mappingCode = certificateMapping.get("mappingCode").toString();
|
||||
String certificateB64 = "";
|
||||
switch (mappingCode){
|
||||
case "TS0002" :
|
||||
certificateB64 = certificateUtil.getTS0002(applyStudentsNewDTO);
|
||||
break;
|
||||
}
|
||||
Map<String, Object> resultMap = new HashMap<>(4);
|
||||
resultMap.put("certificateB64",certificateB64);
|
||||
return resultMap;
|
||||
}
|
||||
}
|
65
src/main/java/cn/com/tenlion/util/CertificateUtil.java
Normal file
65
src/main/java/cn/com/tenlion/util/CertificateUtil.java
Normal file
@ -0,0 +1,65 @@
|
||||
package cn.com.tenlion.util;
|
||||
|
||||
import cn.com.tenlion.buildingpictures.service.picturestemplatebuilding.IPicturesTemplateBuildingService;
|
||||
import cn.com.tenlion.pojo.dtos.applystudents.ApplyStudentsDTO;
|
||||
import cn.com.tenlion.pojo.dtos.applystudentsnew.ApplyStudentsNewDTO;
|
||||
import cn.com.tenlion.pojo.dtos.cardential.CardentialDTO;
|
||||
import cn.com.tenlion.service.applystudents.IApplyStudentsService;
|
||||
import ink.wgink.module.dictionary.pojo.dtos.DataDTO;
|
||||
import ink.wgink.module.dictionary.service.IDataService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 生成证书的工具类
|
||||
* @author xwangs
|
||||
* @create 2021-06-25 10:42
|
||||
* @description
|
||||
*/
|
||||
@Component
|
||||
public class CertificateUtil {
|
||||
|
||||
@Autowired
|
||||
private IApplyStudentsService studentsService;
|
||||
@Autowired
|
||||
private IDataService dataService;
|
||||
@Autowired
|
||||
private IPicturesTemplateBuildingService picService;
|
||||
|
||||
public String getTS0002(ApplyStudentsNewDTO applyStudentsNewDTO){
|
||||
Map<String, Object> query = new HashMap<>(8);
|
||||
query.put("applyClassId", applyStudentsNewDTO.getClassPlanId());
|
||||
query.put("bindUserAccount",applyStudentsNewDTO.getUserId());
|
||||
ApplyStudentsDTO studentsDTO = studentsService.get(query);
|
||||
CardentialDTO cardentialDTO = new CardentialDTO();
|
||||
cardentialDTO.setPhoto(studentsDTO.getApplyUserCardPhoto());
|
||||
cardentialDTO.setName(applyStudentsNewDTO.getName());
|
||||
cardentialDTO.setSex(applyStudentsNewDTO.getSex());
|
||||
// 查询文化程度
|
||||
if(applyStudentsNewDTO.getEducation() == null
|
||||
|| applyStudentsNewDTO.getEducation().length() == 0){
|
||||
cardentialDTO.setEducationDegree("EMPTY");
|
||||
} else {
|
||||
DataDTO educationData = dataService.get(applyStudentsNewDTO.getEducation());
|
||||
cardentialDTO.setEducationDegree(educationData.getDataName());
|
||||
}
|
||||
cardentialDTO.setIdentity(applyStudentsNewDTO.getCardNumber());
|
||||
cardentialDTO.setDepartment(applyStudentsNewDTO.getWorkUnit());
|
||||
cardentialDTO.setPosition(applyStudentsNewDTO.getWorkTitle());
|
||||
cardentialDTO.setSueDate(applyStudentsNewDTO.getGetCardTime());
|
||||
cardentialDTO.setStartDate(applyStudentsNewDTO.getGetCardTime());
|
||||
cardentialDTO.setEndDate(applyStudentsNewDTO.getGetCardTime());
|
||||
cardentialDTO.setNumber(applyStudentsNewDTO.getIdCard());
|
||||
cardentialDTO.setQrCode("");
|
||||
String certificateB64;
|
||||
try {
|
||||
certificateB64 = picService.buildingPictures("TS0002",cardentialDTO);
|
||||
} catch (Exception e){
|
||||
return "";
|
||||
}
|
||||
return certificateB64;
|
||||
}
|
||||
}
|
@ -27,6 +27,7 @@
|
||||
<result column="apply_user_card_photo" property="applyUserCardPhoto"/>
|
||||
<result column="apply_audit_state" property="applyAuditState"/>
|
||||
<result column="apply_test_scores" property="applyTestScores"/>
|
||||
<result column="bind_user_account" property="bindUserAccount"/>
|
||||
<result column="creator" property="creator"/>
|
||||
<result column="gmt_create" property="gmtCreate"/>
|
||||
<result column="modifier" property="modifier"/>
|
||||
@ -306,11 +307,22 @@
|
||||
t1.apply_technical_titles,
|
||||
t1.apply_user_card_photo,
|
||||
t1.apply_audit_state,
|
||||
t1.apply_test_scores
|
||||
t1.apply_test_scores,
|
||||
t1.bind_user_account
|
||||
FROM
|
||||
e_apply_students t1
|
||||
WHERE
|
||||
t1.is_delete = 0 AND t1.apply_id = #{applyId}
|
||||
t1.is_delete = 0
|
||||
<if test="applyId != null and applyId != ''">
|
||||
AND t1.apply_id = #{applyId}
|
||||
</if>
|
||||
<if test="applyClassId != null and applyClassId != ''">
|
||||
AND t1.apply_class_id = #{applyClassId}
|
||||
</if>
|
||||
<if test="bindUserAccount != null and bindUserAccount != ''">
|
||||
AND t1.bind_user_account = #{bindUserAccount}
|
||||
</if>
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<!-- 班级学生表详情 -->
|
||||
|
@ -0,0 +1,49 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="cn.com.tenlion.dao.personfiles.IPersonFilesDao">
|
||||
|
||||
<select id="list" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
t1.*,
|
||||
t2.plan_type planType,
|
||||
t2.plan_number planNumber,
|
||||
t2.plan_name planName,
|
||||
t3.work_type_name workTypeName,
|
||||
t3.work_type_id workTypeId
|
||||
FROM
|
||||
e_apply_students_new t1
|
||||
LEFT JOIN e_class_plan t2 ON t1.class_plan_id = t2.class_plan_id
|
||||
LEFT JOIN e_work_type t3 ON t2.worker_catalog = t3.work_type_id
|
||||
WHERE
|
||||
t1.is_delete = '0'
|
||||
<if test="orgId != null and orgId != ''">
|
||||
AND t1.org_id = #{orgId}
|
||||
</if>
|
||||
<if test="workerCatalog != null and workerCatalog != ''">
|
||||
AND t2.worker_catalog = #{workerCatalog}
|
||||
</if>
|
||||
<if test="keywords != null and keywords !='' ">
|
||||
AND (
|
||||
t1.name LIKE CONCAT('%', #{keywords}, '%')
|
||||
OR
|
||||
t1.card_number LIKE CONCAT('%', #{keywords}, '%')
|
||||
OR
|
||||
t1.phone LIKE CONCAT('%', #{keywords}, '%')
|
||||
OR
|
||||
t3.work_type_name LIKE CONCAT('%', #{keywords}, '%')
|
||||
)
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getCertificateMapping" parameterType="map" resultType="map">
|
||||
SELECT
|
||||
t1.work_type_id workTypeId,
|
||||
t1.work_type_name workTypeName,
|
||||
t1.mapping_code mappingCode
|
||||
FROM
|
||||
e_certificate_mapping t1
|
||||
WHERE
|
||||
t1.work_type_id = #{workTypeId}
|
||||
limit 1
|
||||
</select>
|
||||
</mapper>
|
@ -0,0 +1,151 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/signup/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
<link rel="stylesheet" href="assets/js/vendor/zTree3/css/metroStyle/metroStyle.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/common.css" media="all">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-fluid layui-anim layui-anim-fadein">
|
||||
<div class="layui-row">
|
||||
<div class="layui-row layui-col-space15">
|
||||
<div class="layui-col-md2 layui-col-sm2 layui-col-xs2">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body left-tree-wrap">
|
||||
<div id="leftTreeWrap">
|
||||
<ul id="leftTree" class="ztree"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-md10 layui-col-sm10 layui-col-xs10">
|
||||
<div class="layui-card">
|
||||
<div id="listContentWrap" class="layui-card-body">
|
||||
<blockquote id="treeTitle" class="layui-elem-quote">所有人员档案</blockquote>
|
||||
<iframe id="listContent" frameborder="0" class="layadmin-iframe" style="margin-top: 65px;"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||
<script>
|
||||
var common;
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/'
|
||||
}).extend({
|
||||
index: 'lib/index'
|
||||
}).use(['index', 'ztree', 'common'], function() {
|
||||
common = layui.common;
|
||||
var $ = layui.$;
|
||||
var $win = $(window);
|
||||
var resizeTimeout = null;
|
||||
var parentId = '0';
|
||||
var parentName = '';
|
||||
var orgId = '';
|
||||
|
||||
function initData(){
|
||||
initSize();
|
||||
getOrgInfo();
|
||||
}
|
||||
initData();
|
||||
|
||||
// 初始化大小
|
||||
function initSize() {
|
||||
$('#leftTreeWrap').css({
|
||||
height: $win.height() - 40,
|
||||
overflow: 'auto'
|
||||
});
|
||||
$('#listContentWrap').css({
|
||||
height: $win.height() - 120,
|
||||
});
|
||||
}
|
||||
|
||||
function getOrgInfo(){
|
||||
top.restAjax.get(top.restAjax.path('api/teacher/getorginfo', []), {}, null, function (code, data) {
|
||||
orgId = data.institutionId;
|
||||
initThree();
|
||||
$('#listContent').attr('src', top.restAjax.path('route/personfiles/list-person-files.html?orgId={arg1}&workerCatalog={arg2}',
|
||||
[orgId,'']));
|
||||
}, function (code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
});
|
||||
}
|
||||
|
||||
// 初始化树
|
||||
function initThree() {
|
||||
var setting = {
|
||||
async: {
|
||||
enable: true,
|
||||
autoLoad: false,
|
||||
type: 'get',
|
||||
url: top.restAjax.path('api/lessons/list-tree-org-work-type?orgId={orgId}', [orgId]),
|
||||
autoParam: ['id'],
|
||||
dataFilter: function (treeId, parentNode, childNodes) {
|
||||
if (!childNodes) return null;
|
||||
for (var i = 0, l = childNodes.length; i < l; i++) {
|
||||
childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
|
||||
var str = childNodes[i].name.split('-');
|
||||
childNodes[i].name = str[0];
|
||||
childNodes[i].realName = str[0];
|
||||
}
|
||||
return childNodes;
|
||||
}
|
||||
},
|
||||
callback: {
|
||||
onClick: function (event, treeId, treeNode) {
|
||||
if(treeNode.pId == '-1'){
|
||||
$('#treeTitle').text('所有人员档案');
|
||||
$('#listContent').attr('src', top.restAjax.path('route/personfiles/list-person-files.html?orgId={arg1}&workerCatalog={arg2}',
|
||||
[orgId,'']));
|
||||
return;
|
||||
}
|
||||
if(treeNode.isParent == true){
|
||||
return;
|
||||
}
|
||||
parentId = treeNode.id;
|
||||
parentName = treeNode.realName;
|
||||
$('#treeTitle').text(parentName);
|
||||
initIFrame();
|
||||
return false;
|
||||
}
|
||||
},
|
||||
};
|
||||
var zTree = $.fn.zTree.init($("#leftTree"), setting);
|
||||
zTree.addNodes(null, {
|
||||
id: '0',
|
||||
pId: '-1',
|
||||
name: '所有开设工种',
|
||||
url: 'javascript:;',
|
||||
isParent: 'true'
|
||||
});
|
||||
common.refreshTree('leftTree');
|
||||
}
|
||||
|
||||
// 初始化IFrame
|
||||
function initIFrame() {
|
||||
$('#listContent').attr('src', top.restAjax.path('route/personfiles/list-person-files.html?orgId={arg1}&workerCatalog={arg2}',
|
||||
[orgId,parentId]));
|
||||
}
|
||||
|
||||
// 事件 - 页面变化
|
||||
$win.on('resize', function() {
|
||||
clearTimeout(resizeTimeout);
|
||||
resizeTimeout = setTimeout(function() {
|
||||
initSize();
|
||||
}, 500);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,244 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/signup/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-anim layui-anim-fadein">
|
||||
<div class="layui-row">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="test-table-reload-btn" style="margin-bottom: 10px;">
|
||||
<div class="layui-inline">
|
||||
<input type="text" id="keywords" class="layui-input search-item" autocomplete="off"
|
||||
style="width: 240px;" placeholder="培训类别|姓名|证件号码|手机号">
|
||||
</div>
|
||||
<button type="button" id="search" class="layui-btn layui-btn-sm">
|
||||
<i class="fa fa-lg fa-search"></i> 搜索
|
||||
</button>
|
||||
</div>
|
||||
<table class="layui-hide" id="dataTable" lay-filter="dataTable"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/'
|
||||
}).extend({
|
||||
index: 'lib/index'
|
||||
}).use(['index', 'table', 'laydate', 'common'], function() {
|
||||
var $ = layui.$;
|
||||
var $win = $(window);
|
||||
var table = layui.table;
|
||||
var admin = layui.admin;
|
||||
var laydate = layui.laydate;
|
||||
var common = layui.common;
|
||||
var resizeTimeout = null;
|
||||
var orgId = top.restAjax.params(window.location.href).orgId;
|
||||
var workerCatalog = top.restAjax.params(window.location.href).workerCatalog;
|
||||
var tableUrl = 'api/person-files/list';
|
||||
|
||||
function initData(){
|
||||
initTable();
|
||||
}
|
||||
initData();
|
||||
|
||||
// 初始化表格
|
||||
function initTable() {
|
||||
table.render({
|
||||
elem: '#dataTable',
|
||||
id: 'dataTable',
|
||||
url: top.restAjax.path(tableUrl, []),
|
||||
width: admin.screen() > 1 ? '100%' : '',
|
||||
height: $win.height() - 60,
|
||||
limit: 20,
|
||||
limits: [20, 40, 60, 80, 100, 200],
|
||||
where :{
|
||||
orgId: orgId,
|
||||
workerCatalog : workerCatalog
|
||||
},
|
||||
toolbar: false,
|
||||
request: {
|
||||
pageName: 'page',
|
||||
limitName: 'rows'
|
||||
},
|
||||
cols: [
|
||||
[
|
||||
{field:'rowNum', width:80, title: '序号', fixed: 'left', align:'center', templet: '<span>{{d.LAY_INDEX}}</span>'},
|
||||
{width: 150, title: '操作', align:'center',
|
||||
templet: function(row) {
|
||||
var dom = '<div class="layui-btn-group">';
|
||||
dom += '<button type="button" class="layui-btn layui-btn-xs" lay-event="showPersonFiles">查看详情</button>';
|
||||
dom += '<button type="button" class="layui-btn layui-btn-xs layui-btn-normal" lay-event="showCertificate">查看证件</button>';
|
||||
dom += '</div>';
|
||||
return dom;
|
||||
}
|
||||
},
|
||||
{field: 'name', width: 100, title: '姓名', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{width: 300, title: '参培班次', align:'center',
|
||||
templet: function(row) {
|
||||
var planNumber = row['planNumber'];
|
||||
var planType = row['planType'];
|
||||
var planName = row['planName'];
|
||||
var text = '';
|
||||
var planNumber = '[' + planNumber + '] ';
|
||||
if(planType == '1'){
|
||||
text = '[初训] ' + text;
|
||||
}
|
||||
if(planType == '2'){
|
||||
text = '[复训] ' + text;
|
||||
}
|
||||
return text + planNumber + planName;
|
||||
}
|
||||
},
|
||||
{field: 'workTypeName', width: 200, title: '工种名称', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'sex', width: 80, title: '性别', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{width: 250, title: '证件号码', align:'center',
|
||||
templet: function(row) {
|
||||
return '[' + row['card_type_name'] + ']' + row['card_number'];
|
||||
}
|
||||
},
|
||||
{field: 'phone', width: 140, title: '联系方式', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
{field: 'exam_grade', width: 140, title: '知识成绩', align:'center',
|
||||
templet: function(row) {
|
||||
var rowData = row[this.field];
|
||||
if(typeof(rowData) === 'undefined' || rowData == null || rowData == '') {
|
||||
return '-';
|
||||
}
|
||||
return rowData;
|
||||
}
|
||||
},
|
||||
]
|
||||
],
|
||||
page: true,
|
||||
parseData: function(data) {
|
||||
return {
|
||||
'code': 0,
|
||||
'msg': '',
|
||||
'count': data.total,
|
||||
'data': data.rows
|
||||
};
|
||||
}
|
||||
});
|
||||
}
|
||||
// 重载表格
|
||||
function reloadTable(currentPage) {
|
||||
table.reload('dataTable', {
|
||||
url: top.restAjax.path(tableUrl, []),
|
||||
where: {
|
||||
keywords: $('#keywords').val(),
|
||||
orgId: orgId,
|
||||
workerCatalog : workerCatalog
|
||||
},
|
||||
page: {
|
||||
curr: currentPage
|
||||
},
|
||||
height: $win.height() - 60,
|
||||
});
|
||||
}
|
||||
|
||||
table.on('tool(dataTable)', function(obj) {
|
||||
var layEvent = obj.event;
|
||||
var checkStatus = table.checkStatus('dataTable');
|
||||
var checkDatas = checkStatus.data;
|
||||
if(layEvent == 'showPersonFiles'){
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '查看档案',
|
||||
closeBtn: 1,
|
||||
area: ['90%', '90%'],
|
||||
shadeClose: false,
|
||||
anim: 2,
|
||||
content: top.restAjax.path('route/applystudentsnew/update.html?applyStudentsNewId={arg}',
|
||||
[obj.data.apply_students_new_id]),
|
||||
end: function () {
|
||||
reloadTable();
|
||||
}
|
||||
});
|
||||
}
|
||||
if(layEvent == 'showCertificate'){
|
||||
var applyStudentsNewId = obj.data.apply_students_new_id;
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '查看 [' + obj.data.workTypeName + '] 证件',
|
||||
closeBtn: 1,
|
||||
area: ['90%', '90%'],
|
||||
shadeClose: false,
|
||||
anim: 2,
|
||||
content: top.restAjax.path('route/personfiles/show-certificate.html?applyStudentsNewId={arg1}',
|
||||
[applyStudentsNewId]),
|
||||
end: function () {
|
||||
reloadTable();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// 事件 - 页面变化
|
||||
$win.on('resize', function() {
|
||||
clearTimeout(resizeTimeout);
|
||||
resizeTimeout = setTimeout(function() {
|
||||
reloadTable();
|
||||
}, 500);
|
||||
});
|
||||
// 事件 - 搜索
|
||||
$(document).on('click', '#search', function() {
|
||||
reloadTable(1);
|
||||
});
|
||||
|
||||
$(document).on('keydown', function (e) {
|
||||
if(e.keyCode == 13){
|
||||
reloadTable(1);
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,60 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<base href="/signup/">
|
||||
<meta charset="utf-8">
|
||||
<meta name="renderer" content="webkit">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
||||
<link rel="stylesheet" href="assets/fonts/font-awesome/css/font-awesome.css"/>
|
||||
<link rel="stylesheet" href="assets/layuiadmin/layui/css/layui.css" media="all">
|
||||
<link rel="stylesheet" href="assets/layuiadmin/style/admin.css" media="all">
|
||||
<link rel="stylesheet" type="text/css" href="assets/js/vendor/viewer/viewer.min.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="layui-anim layui-anim-fadein">
|
||||
<div class="layui-row">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body" style="padding: 15px;text-align: center">
|
||||
<img id="certificateB64" src="" alt="生成失败" style="display: none;">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="assets/layuiadmin/layui/layui.js"></script>
|
||||
<script src="assets/js/vendor/viewer/viewer.min.js"></script>
|
||||
<script>
|
||||
layui.config({
|
||||
base: 'assets/layuiadmin/'
|
||||
}).extend({
|
||||
index: 'lib/index'
|
||||
}).use(['index', 'table',], function() {
|
||||
var $ = layui.$;
|
||||
var $win = $(window);
|
||||
var table = layui.table;
|
||||
var admin = layui.admin;
|
||||
var laydate = layui.laydate;
|
||||
var applyStudentsNewId = top.restAjax.params(window.location.href).applyStudentsNewId;
|
||||
|
||||
function initData(){
|
||||
getCertificate();
|
||||
$('.layui-card').height($('.layui-card').height() > $win.height() ?
|
||||
$('.layui-card').height() : $win.height())
|
||||
}
|
||||
initData();
|
||||
|
||||
function getCertificate(){
|
||||
top.restAjax.get(top.restAjax.path('api/person-files/get-certificate', []),
|
||||
{applyStudentsNewId : applyStudentsNewId}, null, function (code, data) {
|
||||
$("#certificateB64").attr("src",data.certificateB64);
|
||||
$("#certificateB64").show();
|
||||
}, function (code, data) {
|
||||
top.dialog.msg(data.msg);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user