|
@@ -0,0 +1,634 @@
|
|
|
+<%--suppress ALL --%>
|
|
|
+<%@ page contentType="text/html;charset=UTF-8" %>
|
|
|
+<%@ include file="/webpage/include/taglib.jsp"%>
|
|
|
+<html>
|
|
|
+<head>
|
|
|
+ <title>员工信息管理</title>
|
|
|
+ <meta name="decorator" content="default"/>
|
|
|
+ <script type="text/javascript">
|
|
|
+ var validateForm;
|
|
|
+ function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
|
|
|
+ var ss= document.getElementById("iframe").contentWindow.document.getElementById("opinion").value
|
|
|
+ $("#opinion").val(ss);
|
|
|
+ if(obj == 2){//驳回
|
|
|
+ $("#inputForm").attr("action","${ctx}/workstaff/workStaffBasicInfo/backDirectly");
|
|
|
+ }else{
|
|
|
+ $("#inputForm").attr("action","${ctx}/workstaff/workStaffBasicInfo/passDirectly");
|
|
|
+ }
|
|
|
+ if(validateForm.form()){
|
|
|
+ $("#inputForm").submit();
|
|
|
+ return true;
|
|
|
+ }else {
|
|
|
+ parent.layer.msg("信息未填写完整!", {icon: 5});
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ function basicInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ $(".basicInfo").each(function () {
|
|
|
+ var name = $(this).attr("name");
|
|
|
+ if(name=='nativePlace.id'){
|
|
|
+ name='nativePlace';
|
|
|
+ }
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getChange',
|
|
|
+ data:{ "name":name, "achiveId":achiveId},
|
|
|
+ success:function(data) {
|
|
|
+ if(data.newValue!=null){
|
|
|
+ if(name=='nativePlace'){//地区
|
|
|
+ $("#nativePlaceId").val(data.newKey);
|
|
|
+ $("#nativePlaceName").val(data.newValue);
|
|
|
+ $("#nativePlaceName").css("color","red");
|
|
|
+ }/*else if(name=="picture"){
|
|
|
+ $("#this_upload_image_1").prop("src",data.newValue);
|
|
|
+ $("#picture").val(data.newValue);
|
|
|
+ // this_upload_show_image("1");
|
|
|
+ }*/else{
|
|
|
+ if(name=='exSoldier'){
|
|
|
+ $("#exSoldierId").val(data.newValue);
|
|
|
+ $("#exSoldierId").css("color","red");
|
|
|
+ $("#exSoldier").val(data.newKey);
|
|
|
+ }else{
|
|
|
+ $("#"+name).val(data.newValue);
|
|
|
+ $("#"+name).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ }
|
|
|
+ function eduInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#educationList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#educationList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'教育经历'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function languageInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#languageList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#languageList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'外语语种'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function experienceInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#experienceList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#experienceList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'工作经历'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function certificateInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#certificateList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#certificateList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'执业资格证书'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function titleInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#titleList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#titleList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'职称'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function familyInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#familyList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#familyList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'家庭情况'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function trainingInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#trainingList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#trainingList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'培训经历'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function socialInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#socialPositionList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#socialPositionList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'社会及行业职务'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function rewardsInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#rewardsList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#rewardsList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'奖惩情况'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function achievementInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#achievementList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#achievementList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'工作业绩'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function recordInfo(){
|
|
|
+ var achiveId=$("#id").val();
|
|
|
+ var idx1 = $("#recordList tr").length;
|
|
|
+ for(var i=0;i<idx1;i++){
|
|
|
+ var id=$("#recordList"+i+"_id").val();
|
|
|
+ $.ajax({
|
|
|
+ type:'post',
|
|
|
+ url:'${ctx}/workstaff/workStaffBasicInfo/getEdu',
|
|
|
+ async: false,
|
|
|
+ data:{ "id":id, "achiveId":achiveId,"module":'电子档案'},
|
|
|
+ success:function(data) {
|
|
|
+ if(data){
|
|
|
+ $("#"+id).css("color","red");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ $(document).ready(function() {
|
|
|
+ basicInfo();//基本信息
|
|
|
+ eduInfo();//教育经历
|
|
|
+ languageInfo();//外语语种
|
|
|
+ experienceInfo();//工作经历
|
|
|
+ certificateInfo();//执业资格证书
|
|
|
+ titleInfo();//职称
|
|
|
+ familyInfo();//家庭情况
|
|
|
+ trainingInfo();//培训经历
|
|
|
+ socialInfo();//社会及行业职务
|
|
|
+ rewardsInfo();//奖惩情况
|
|
|
+ achievementInfo();//工作业绩
|
|
|
+ recordInfo();//电子档案
|
|
|
+ validateForm = $("#inputForm").validate({
|
|
|
+ submitHandler: function(form){
|
|
|
+ loading('正在提交,请稍等...');
|
|
|
+ form.submit();
|
|
|
+ },
|
|
|
+ errorContainer: "#messageBox",
|
|
|
+ errorPlacement: function(error, element) {
|
|
|
+ $("#messageBox").text("输入有误,请先更正。");
|
|
|
+ if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
|
|
|
+ error.appendTo(element.parent().parent());
|
|
|
+ } else {
|
|
|
+ error.insertAfter(element);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ </script>
|
|
|
+ <script type="text/javascript">
|
|
|
+ //上传用户头像
|
|
|
+ function this_upload_image_button(index){
|
|
|
+ $("#this_upload_file_"+index).click();
|
|
|
+ }
|
|
|
+ function this_upload_show_image(index){
|
|
|
+ var obj =$("#this_upload_file_"+index)[0].files[0];
|
|
|
+ var fileType = obj.type;
|
|
|
+ if(obj.size>1000*1024){
|
|
|
+ layer.msg("请上传1000KB内图片格式文件!",{icon:2});
|
|
|
+ return false ;
|
|
|
+ }
|
|
|
+ var url ;
|
|
|
+ if((fileType.indexOf("png")>=0||fileType.indexOf("bmp")>=0||fileType.indexOf("jpg")>=0||fileType.indexOf("jpeg")>=0)){
|
|
|
+ url = window.URL.createObjectURL(obj);
|
|
|
+ }else {
|
|
|
+ /*$("#this_upload_msg").css({"color":"red"});*/
|
|
|
+ this_close_img(index);
|
|
|
+ layer.msg("请上传图片格式文件!",{icon:2});
|
|
|
+ return false ;
|
|
|
+ }
|
|
|
+ /*$("#this_upload_msg" + "index").removeAttr("style");*/
|
|
|
+ $("#this_upload_image_"+index).attr("src",url);
|
|
|
+
|
|
|
+ var span = '<span id="this_upload_close_'+index+'" class="pic_close glyphicon glyphicon-remove" onclick="this_close_img('+index+');"></span>';
|
|
|
+ $("#this_upload_image_" + index).before(span);
|
|
|
+ }
|
|
|
+
|
|
|
+ function this_close_img(index) {
|
|
|
+ $("#this_upload_div_"+index).remove();
|
|
|
+ this_add_div(index);
|
|
|
+ }
|
|
|
+
|
|
|
+ function this_add_div(index) {
|
|
|
+ var this_upload_div_1 =
|
|
|
+ '<div id="this_upload_div_'+ index + '" style="position:relative;">'+
|
|
|
+ '<img id="this_upload_image_' + index + '" class="upload_ico" style="cursor:pointer;" src="${pageContext.request.contextPath}/static/common/img/pic_add.png" onclick="this_upload_image_button('+index+')"/>'+
|
|
|
+ '<input id="this_upload_file_'+ index + '" type="file" style="display:none" name="pictureFile" onchange="this_upload_show_image('+index+ ')" /><br>'+
|
|
|
+ '</div>';
|
|
|
+ $("#this_upload_image_div_"+ index).html("").append(this_upload_div_1);
|
|
|
+ }
|
|
|
+
|
|
|
+ function this_upload_file_button(id){
|
|
|
+ $("#"+id).click();
|
|
|
+ }
|
|
|
+ function changeFileName(obj,index) {
|
|
|
+ var file = obj.files[0];
|
|
|
+ var url = null;
|
|
|
+ if (window.createObjectURL != undefined) { // basic
|
|
|
+ url = window.createObjectURL(file);
|
|
|
+ } else if (window.URL != undefined) { // mozilla(firefox)
|
|
|
+ url = window.URL.createObjectURL(file);
|
|
|
+ } else if (window.webkitURL != undefined) { // webkit or chrome
|
|
|
+ url = window.webkitURL.createObjectURL(file);
|
|
|
+ }
|
|
|
+ console.log(url);
|
|
|
+ var fileType = file.type;
|
|
|
+ if(index==1 && (file.size > 1000*1024 || !(fileType.indexOf("png")>=0||fileType.indexOf("bmp")>=0||fileType.indexOf("jpg")>=0||fileType.indexOf("jpeg")>=0))){
|
|
|
+ layer.msg("请上传1000KB内图片!",{icon:2});
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var spanId = $(obj).attr("id") + 'Name' + index;
|
|
|
+ var imgStr = '<img src="'+url+'" width="24" height="24" onclick="openDialogView(\'预览\',\'${ctx}/sys/picturepreview/picturePreview?url='+url+'\',\'90%\',\'90%\')" alt="'+file.name+'">';
|
|
|
+ $('#'+spanId).html(imgStr);
|
|
|
+ }
|
|
|
+
|
|
|
+ function f1(row) {
|
|
|
+ // window.parent.document.getElementById('opinion').value = row;
|
|
|
+ $("#opinion").val(row)
|
|
|
+ }
|
|
|
+ </script>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+ <div class="single-form">
|
|
|
+ <div class="container view-form">
|
|
|
+ <form:form id="inputForm" modelAttribute="workStaffBasicInfo" action="${ctx}/workstaff/workStaffBasicInfo/saveAchiveBack" enctype="multipart/form-data" method="post" class="form-horizontal">
|
|
|
+ <input type="hidden" id="opinion" name="act.comment" value="" maxlength="240">
|
|
|
+ <form:hidden path="id"/>
|
|
|
+ <form:hidden path="userId"/>
|
|
|
+ <form:hidden path="home"/>
|
|
|
+ <div class="form-group layui-row first">
|
|
|
+ <div class="form-group-label"><h2>基本信息</h2></div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7" style="padding-right: 0;">
|
|
|
+ <div class="layui-item layui-col-sm12">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>工 号:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="no" htmlEscape="false" readonly="true" class="form-control layui-input"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm12">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>性 别:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input value="${fns:getDictLabel(workStaffBasicInfo.gender,'sex','')}" type="text" readonly="true" class="form-control basicInfo layui-input" />
|
|
|
+ <input name="gender" value="${workStaffBasicInfo.gender}" type="hidden" readonly="true" class="form-control layui-input" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm12">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>身份证号码:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="idCard" htmlEscape="false" onchange="caculateAge(this.value);" readonly="true" class="form-control idCard basicInfo layui-input required"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <div style="margin-right: 120px;">
|
|
|
+ <div class="layui-item layui-col-sm12">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>姓 名:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="name" htmlEscape="false" readonly="true" class="form-control layui-input basicInfo required"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm12">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>民 族:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input value="${fns:getDictLabel(workStaffBasicInfo.nation,'nation_type','')}" type="text" readonly="true" class="form-control layui-input" />
|
|
|
+ <input name="nation" value="${workStaffBasicInfo.nation}" type="hidden" readonly="true" class="form-control layui-input" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm12">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>年 龄:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="age" htmlEscape="false" readonly="true" class="form-control basicInfo layui-input required"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="profile_box_wrapper">
|
|
|
+ <div class="profile_box">
|
|
|
+ <div id="this_upload_image_div_1">
|
|
|
+ <div id="this_upload_div_1" style="position:relative;">
|
|
|
+ <c:choose>
|
|
|
+ <c:when test="${not empty workStaffBasicInfo.pictureStr}">
|
|
|
+ <span id="this_upload_close_1" class="pic_close glyphicon glyphicon-remove" onclick="this_close_img(1)"></span>
|
|
|
+ <img alt="_blank" id="this_upload_image_1" class="upload_ico" style="cursor:pointer;" src="${workStaffBasicInfo.pictureStr}"/>
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ <img alt="_blank" id="this_upload_image_1" name="pictureFile" class="upload_ico" style="cursor:pointer;" src="${pageContext.request.contextPath}/static/common/img/pic_add.png"/>
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+ <input id="picture" type="text" name="picture" style="display: none" class="basicInfo">
|
|
|
+ <input id="this_upload_file_1" type="file" style="display:none" name="pictureFile" onchange="this_upload_show_image(1)" class="form-control"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>出生日期:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input name="birthday" value="<fmt:formatDate value="${workStaffBasicInfo.birthday}" pattern="yyyy-MM-dd"/>" type="text" readonly="true" class="form-control basicInfo layui-input" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <%--<div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>公历/农历:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input value="${fns:getDictLabel(workStaffBasicInfo.calendar,'calendar_type','')}" type="text" readonly="true" class="form-control layui-input" />
|
|
|
+ <input value="${workStaffBasicInfo.calendar}" type="hidden" readonly="true" class="form-control layui-input" />
|
|
|
+ </div>
|
|
|
+ </div>--%>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">电子邮箱:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="email" htmlEscape="false" readonly="true" class="form-control basicInfo layui-input email"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>移动电话:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="mobile" htmlEscape="false" readonly="true" class="form-control layui-input basicInfo isPhone"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label">座机:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <form:input path="phone" id="phone" placeholder="" readonly="true" htmlEscape="false" class="form-control isTel basicInfo layui-input" maxlength="50"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>员工状态:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input name="status" value="${workStaffBasicInfo.status}" type="text" readonly="true" class="form-control layui-input" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>归属部门:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input name="office.name" value="${workStaffBasicInfo.office.name}" type="text" readonly="true" class="form-control layui-input" />
|
|
|
+ <input name="office.id" value="${workStaffBasicInfo.office.id}" type="hidden" readonly="true" class="form-control layui-input" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-item layui-col-sm6 lw7">
|
|
|
+ <input name="roleId" value="${workStaffBasicInfo.roleId}" style="display: none"/>
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>岗 位:</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <input name="roleName" value="${workStaffBasicInfo.roleName}" type="text" readonly="true" class="form-control layui-input" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <div class="form-group layui-row">
|
|
|
+ <div class="form-group-label"><h2>执业资格证书</h2></div>
|
|
|
+ <div class="layui-item layui-col-xs12 form-table-container">
|
|
|
+ <table id="certificateTable" class="table table-bordered table-condensed can-edit">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th class="hide"></th>
|
|
|
+ <th width="10%"><span class="require-item">*</span>证书名称</th>
|
|
|
+ <th width="10%"><span class="require-item">*</span>证书编号</th>
|
|
|
+ <th width="10%">发证机关</th>
|
|
|
+ <th width="11%"><span class="require-item">*</span>发证日期</th>
|
|
|
+ <th width="11%">注册日期</th>
|
|
|
+ <th width="9%">注册证书编号</th>
|
|
|
+ <th width="7%">专业</th>
|
|
|
+ <th width="6%">等级</th>
|
|
|
+ <th width="6%">取得方式</th>
|
|
|
+ <th width="10%">文件<span style="color: #FF8C69; font-size: 10px; font-weight: normal; margin-left: 5px;">(图片)</span></th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody id="certificateList">
|
|
|
+ <c:forEach items="${workStaffBasicInfo.certificateList}" var="certificate" varStatus="varStatus">
|
|
|
+ <tr id="${certificate.id}">
|
|
|
+ <td class="hide">
|
|
|
+ <input type="hidden" id="certificateList${varStatus.index}_id" name="certificateList[${varStatus.index}].id" value="${certificate.id}">
|
|
|
+ <input id="certificateList${varStatus.index}_delFlag" name="certificateList[${varStatus.index}].delFlag" type="hidden" value="0"/>
|
|
|
+ <input id="certificateList${varStatus.index}_fileName" name="certificateList[${varStatus.index}].fileName" type="hidden" value="${certificate.fileName}"/>
|
|
|
+ <input id="certificateList${varStatus.index}_filePath" name="certificateList[${varStatus.index}].filePath" type="hidden" value="${certificate.filePath}"/>
|
|
|
+ <input id="certificateList${varStatus.index}_major" name="certificateList[${varStatus.index}].major" type="hidden" value="${certificate.major}"/>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <input id="certificateList${varStatus.index}_name" name="certificateList[${varStatus.index}].name" value="${certificate.name}" type="text" readonly="true" class="form-control layui-input" />
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <input id="certificateList${varStatus.index}_num" name="certificateList[${varStatus.index}].num" readonly="true" class="form-control " value="${certificate.num}"/>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <input id="certificateList${varStatus.index}_issuingAuthority" name="certificateList[${varStatus.index}].issuingAuthority" readonly="true" class="form-control" value="${certificate.issuingAuthority}"/>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <input id="certificateList${varStatus.index}_issuingDate" name="certificateList[${varStatus.index}].issuingDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
|
|
|
+ value="<fmt:formatDate value="${certificate.issuingDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <input id="certificateList${varStatus.index}_registDate" name="certificateList[${varStatus.index}].registDate" type="text" maxlength="20" class="laydate-icon form-control layer-date laydate-icondate"
|
|
|
+ value="<fmt:formatDate value="${certificate.registDate}" pattern="yyyy-MM-dd"/>" readOnly="true" />
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <input id="certificateList${varStatus.index}_registNum" name="certificateList[${varStatus.index}].registNum" readonly="true" class="form-control" value="${certificate.registNum}"/>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <select disabled readonly="true" class="form-control ">
|
|
|
+ <c:forEach items="${fns:getMainDictList('certificate_major')}" var="var">
|
|
|
+ <option value="${var.value}" <c:if test="${certificate.major eq var.value}">selected</c:if>>${var.label}</option>
|
|
|
+ </c:forEach>
|
|
|
+ </select>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <input id="certificateList${varStatus.index}_grade" name="certificateList[${varStatus.index}].grade" readonly="true" class="form-control" value="${certificate.grade}"/>
|
|
|
+ </td>
|
|
|
+ <td>
|
|
|
+ <input id="certificateList${varStatus.index}_issType" name="certificateList[${varStatus.index}].issType" readonly="true" class="form-control" value="${certificate.issType}"/>
|
|
|
+ </td>
|
|
|
+ <td class="text-left op-td">
|
|
|
+ <c:if test="${not empty certificate.filePathStr}">
|
|
|
+ <%-- 安全处理URL中的 & --%>
|
|
|
+ <c:set var="safeFilePath" value="${fn:replace(certificate.filePathStr, '&', '&')}" />
|
|
|
+
|
|
|
+ <%-- 先从 certificate.fileName 里提取扩展名 --%>
|
|
|
+ <c:set var="fileNameArr" value="${fn:split(certificate.fileName, '.')}" />
|
|
|
+ <c:set var="fileExt" value="${fn:toLowerCase(fileNameArr[fn:length(fileNameArr) - 1])}" />
|
|
|
+
|
|
|
+ <%-- 如果没有后缀,尝试从 filePathStr 里提取 --%>
|
|
|
+ <c:choose>
|
|
|
+ <c:when test="${fn:contains(certificate.fileName, '.')}">
|
|
|
+ <%-- 已经有后缀 --%>
|
|
|
+ <c:set var="downloadFileName" value="${certificate.fileName}" />
|
|
|
+ </c:when>
|
|
|
+ <c:otherwise>
|
|
|
+ <%-- 从路径最后部分提取后缀 --%>
|
|
|
+ <c:set var="pathParts" value="${fn:split(certificate.filePathStr, '/')}"/>
|
|
|
+ <c:set var="lastPart" value="${pathParts[fn:length(pathParts) - 1]}" />
|
|
|
+ <c:set var="lastPartArr" value="${fn:split(lastPart, '.')}" />
|
|
|
+ <c:set var="pathExt" value="${fn:toLowerCase(lastPartArr[fn:length(lastPartArr) - 1])}" />
|
|
|
+ <c:set var="downloadFileName" value="${certificate.fileName}.${pathExt}" />
|
|
|
+ </c:otherwise>
|
|
|
+ </c:choose>
|
|
|
+
|
|
|
+ <%-- 显示图片缩略图 --%>
|
|
|
+ <img src="${safeFilePath}" width="24" height="24"
|
|
|
+ style="cursor:pointer; vertical-align:middle;"
|
|
|
+ onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${safeFilePath}','90%','90%')"
|
|
|
+ alt="文件预览" title="点击预览" />
|
|
|
+
|
|
|
+ <%-- 下载按钮 --%>
|
|
|
+ <a href="javascript:void(0);"
|
|
|
+ title="下载文件"
|
|
|
+ style="color: #28a745; margin-left: 5px; text-decoration: none;"
|
|
|
+ onclick="downloadFile('${ctx}', '${certificate.filePath}', '${downloadFileName}')">
|
|
|
+ <i class="fa fa-download"></i>
|
|
|
+ </a>
|
|
|
+ </c:if>
|
|
|
+ <input id="certificateList${varStatus.index}_file" name="certificateList[${varStatus.index}].file" style="display:none" type="file" onchange="changeFileName(this,1)"/>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </c:forEach>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <div class="form-group-label">
|
|
|
+ <h2>审批意见</h2>
|
|
|
+ </div>
|
|
|
+ <iframe id="iframe" src="${ctx}/auditTemplate/auditTemplate/iframeView?identification=${identification}" name="listresult" frameborder="0" align="left" width="100%" height="300" scrolling="value"></iframe>
|
|
|
+ </form:form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <script type="text/javascript">
|
|
|
+ function bornTemplete(list, idx, tpl, row, idx1){
|
|
|
+ $(list).append(Mustache.render(tpl, {
|
|
|
+ idx: idx, delBtn: true, row: row,
|
|
|
+ order:idx1 + 1, idx1:idx1
|
|
|
+ }));
|
|
|
+ $(list+idx).find("select").each(function(){
|
|
|
+ $(this).val($(this).attr("data-value"));
|
|
|
+ });
|
|
|
+ $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
|
|
|
+ var ss = $(this).attr("data-value").split(',');
|
|
|
+ for (var i=0; i<ss.length; i++){
|
|
|
+ if($(this).val() == ss[i]){
|
|
|
+ $(this).attr("checked","checked");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ function delRow(obj, prefix){
|
|
|
+ var delFlag = $(prefix+"_delFlag");
|
|
|
+ delFlag.val("1");
|
|
|
+ $(obj).parent().parent().hide();
|
|
|
+ }
|
|
|
+
|
|
|
+ </script>
|
|
|
+</body>
|
|
|
+</html>
|