/**
* 初始化人才认定申报详情对话框
*/
var locked = false;
var TalentInfoInfoDlg = {
talentInfoInfoData : {},
validateFields: {
enterpriseId: {validators: {notEmpty: {message: '所属企业不能为空' }}},
companyName :{validators: {notEmpty: {message: '所属企业不能为空' }}},
type : {validators: {notEmpty: {message: '人才类别不能为空' }}},
name: {validators: {notEmpty: {message: '姓名不能为空'}}},
nation: {validators: {notEmpty: {message: '民族不能为空'}}},
provinceCode: {validators: {notEmpty: {message: '户籍省份不能为空'}}},
cityCode: {validators: {notEmpty: {message: '户籍市不能为空'}}},
address: {validators: {notEmpty: {message: '现居地址不能为空'}}},
highEducation: {validators: {notEmpty: {message: '最高学历不能为空'}}},
major: {validators: {notEmpty: {message: '专业不能为空'}}},
phone: {
validators: {
notEmpty: {
message: '手机号码不能为空'
},
regexp :{
regexp:/0?(13|14|15|16|17|18|19)[0-9]{9}/,
message:"手机号码格式不正确"
}
}
},
bank: {
validators: {
notEmpty: {
message: '开户银行不能为空'
},
regexp :{
regexp: /^[\u4e00-\u9fa5]*银行$/,
message:"开户银行格式不正确"
}
}
},
bankAccount: {validators: {notEmpty: {message: '银行账号不能为空'}}},
entryTime: {validators: {notEmpty: {message: '入职时间不能为空'}}},
endTime: {validators: {notEmpty: {message: '工作合同结束时间不能为空'}}},
identifyCondition: {validators: {notEmpty: {message: '认定条件不能为空'}}},
identifyConditionName: {validators: {notEmpty: {message: '认定条件名称不能为空'}}},
type: {validators: {notEmpty: {message: '人才类别不能为空'}}},
cardType:{validators:{notEmpty:{message:'证件类型不能为空'}}},
idCard: {validators: {notEmpty: {message: '证件号码不能为空'}}},
sex: {validators: {notEmpty: {message: '性别不能为空'}}},
nationality: {validators: {notEmpty: {message: '国籍/地区不能为空'}}},
birthday: {validators: {notEmpty: {message: '出生日期不能为空'}}},
politics: {validators: {notEmpty: {message: '政治面貌不能为空'}}},
graduateSchool: {validators: {notEmpty: {message: '毕业学校不能为空'}}},
post: {validators: {notEmpty: {message: '职务不能为空'}}},
email: {
validators: {
notEmpty: {
message: '电子邮箱不能为空'
},
emailAddress:{
message:"电子邮箱格式不正确"
}
}
},
bankNetwork:{
validators: {
notEmpty: {
message: '开户银行网点不能为空'
},
regexp :{
regexp: /^[\u4e00-\u9fa5]*银行[\u4e00-\u9fa5]*省?[\u4e00-\u9fa5]+市[\u4e00-\u9fa5]*$/,
message:"开户银行格式不正确"
}
}
},
introductionMode:{
validators: {
notEmpty: {
message: '引进方式不能为空'
}
}
},
startTime: {validators: {notEmpty: {message: '工作合同开始时间不能为空'}}},
talentArrange: {validators: {notEmpty: {message: '人才层次不能为空'}}},
identifyGetTime: {validators: {notEmpty: {message: '认定条件证书取得时间不能为空'}}},
breakFaith: {validators: {notEmpty: {message: '是否曾被相关主管部门列为失信个人不能为空'}}},
mainHonours: {validators: {notEmpty: {message: '主要业绩及取得的荣誉不能为空'}}},
educationAndResume: {validators: {notEmpty: {message: '教育背景及工作简历不能为空'}}}
}
};
/**
* 清除数据
*/
TalentInfoInfoDlg.clearData = function() {
this.talentInfoInfoData = {};
}
/**
* 设置对话框中的数据
*
* @param key 数据的名称
* @param val 数据的具体值
*/
TalentInfoInfoDlg.set = function(key, val) {
this.talentInfoInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;
return this;
}
/**
* 设置对话框中的数据
*
* @param key 数据的名称
* @param val 数据的具体值
*/
TalentInfoInfoDlg.get = function(key) {
return $("#" + key).val();
}
/**
* 关闭此对话框
*/
TalentInfoInfoDlg.close = function() {
parent.layer.close(window.parent.TalentInfo.layerIndex);
}
/**
* 收集数据
*/
TalentInfoInfoDlg.collectData = function() {
this
.set('id')
.set('enterpriseId')
.set('type')
.set('idCard')
.set('cardType')
.set('name')
.set('sex')
.set('nation')
.set('nationality')
.set('provinceCode')
.set('cityCode')
.set('countyCode')
.set('birthday')
.set('address')
.set('politics')
.set('highEducation')
.set('graduateSchool')
.set('major')
.set('post')
.set('phone')
.set('email')
.set('bank')
.set('bankNetwork')
.set('bankAccount')
.set('bankNumber')
.set('entryTime')
.set('startTime')
.set('endTime')
.set('talentArrange')
.set('identifyCondition')
.set('identifyGetTime')
.set('identifyConditionName')
.set('breakFaith')
.set('educationAndResume')
.set('mainHonours')
.set('industryField')
.set('title')
.set('professionalQualifications')
.set('studyAbroad')
.set('studyAbroadCountry')
.set('studyAbroadTime')
.set('description');
this.talentInfoInfoData["provinceName"] = $("#provinceCode").find("option:selected").text();
this.talentInfoInfoData["cityName"] = $("#cityCode").find("option:selected").text();
this.talentInfoInfoData["countyName"] = $("#countyCode").find("option:selected").text();
}
/**
* 验证数据
*/
TalentInfoInfoDlg.validate = function () {
$('#talentInfoForm').data("bootstrapValidator").resetForm();
$('#talentInfoForm').bootstrapValidator('validate');
return $("#talentInfoForm").data('bootstrapValidator').isValid();
}
/**
* 提交添加
*/
TalentInfoInfoDlg.addSubmit = function() {
this.clearData();
this.collectData();
if(!TalentInfoInfoDlg.validate()){
return ;
}
var id = $('#id').val();
$("#provinceName").val($("#provinceCode").find("option:selected").text());
$("#cityName").val($("#cityCode").find("option:selected").text());
if($("#countyCode").val()!=null && $("#countyCode").val()!=''){
$("#countyName").val($("#countyCode").find("option:selected").text());
}
if(id!=null && id!=''){
if(!TalentInfoInfoDlg.validateIsEdit())return;
}
$("select").each(function () {
$(this).removeAttr("disabled");
});
if(locked){
return ;
}
locked = true;
$("#talentInfoForm")[0].submit();
}
//回调
TalentInfoInfoDlg.infoCallback = function (data){
locked = false;
TalentInfoInfoDlg.setNoChangeField();
Feng.info(data.msg);
if (data.code == 200) {
window.parent.TalentInfo.table.refresh();
$("#id").val(data.obj.id);
$("#fileLi").removeAttr("style");
$("#checkState").val(data.obj.checkState);
}
}
/**
* 获取人才认定
*/
TalentInfoInfoDlg.getIdentifyCondition = function() {
var level = $("#talentArrange").val();
var type = $("#type").val();
if(level==null||level==''){
$("#identifyCondition").empty();
$("#identifyCondition").trigger('chosen:updated');
return;
}
if(type==null||type==''){
Feng.info("请先选择人才类别");
return ;
}
Feng.addAjaxSelect({
"id": "identifyCondition",
"displayCode": "id",
"displayName": "name",
"type": "GET",
"url": Feng.ctxPath + "/api/common/findIdentifyConditionByLevel?talentLevel="+level+"&type="+type
});
$("#identifyCondition").trigger('chosen:updated');
}
TalentInfoInfoDlg.bankChange = function () {
var bank = $("#bank").val();
if($.trim(bank)=='中国工商银行'){
$("#bankNumber").val('102391050013');
}else {
$("#bankNumber").val('');
}
}
/**
* 加载市
*/
TalentInfoInfoDlg.afterSelectProvince = function () {
var province = $("#provinceCode").val();
$("#cityCode").empty();
$("#countyCode").empty();
if(province==null||province==''){
return;
}
Feng.addAjaxSelect({
"id": "cityCode",
"displayCode": "code",
"displayName": "name",
"type": "GET",
"url": Feng.ctxPath + "/api/commonLocation/findCityByProvinceSelect/"+province
});
}
/**
* 加载县
*/
TalentInfoInfoDlg.afterSelectCity = function (){
var city = $("#cityCode").val();
$("#countyCode").empty();
if(city==null||city==''){
return;
}
Feng.addAjaxSelect({
"id": "countyCode",
"displayCode": "code",
"displayName": "name",
"type": "GET",
"url": Feng.ctxPath + "/api/commonLocation/findCountyByCitySelect/"+city
});
}
//初始化附件类别表单
TalentInfoInfoDlg.initFileTable = function (){
var queryData = {};
queryData['project'] = CONFIG.project_rcrd;
queryData['type'] = $("#type").val();
$("#fileTable").bootstrapTable({
url: Feng.ctxPath + "/api/talentInfo/findUnCommonFileType",
method: 'POST',
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
search: false, // 是否显示表格搜索,此搜索是客户端搜索,不会进服务端
showRefresh: false, // 是否显示刷新按钮
clickToSelect: true, // 是否启用点击选中行
singleSelect: true, // 设置True 将禁止多选
striped: true, // 是否显示行间隔色
escape: true,
pagination: false, // 设置为 true 会在表格底部显示分页条
paginationHAlign: "left",
paginationDetailHAlign: "right",
sidePagination: "server", // 设置在哪里进行分页,可选值为 'client' 或者 'server'
showColumns: false,
detailView: true, //是否显示父子表
pageList: [10, 30, 50],
queryParams: function (params) {
return $.extend(queryData,params)
},
rowStyle: function (row, index) {
return {classes:"info"};
},
columns: TalentInfoInfoDlg.initFileTypeColumn(),
onPostBody: function () {
$("td.uitd_showTip").bind("mouseover", function () {
var htm = $(this).html();
$(this).webuiPopover({title: '详情', content: htm, trigger: 'hover'}).webuiPopover('show');
});
},
onLoadSuccess: function (data) {
$("#fileTable").bootstrapTable('expandAllRows');
},
onExpandRow: function (index, row, $detail) {
var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/listTalentFile", function (data) {
if(data==null||data.length==0){
return;
}
var html = '
- 附件原名
- 预览
- 操作
';
var files = $("#files").val();
var checkState = $("#checkState").val();
for(var key in data){
var btn = "";
if(checkState!=10 || (checkState==10 && files.indexOf(row.id)!=-1)){
btn = "" +
"";
}else{
btn = "";
}
var sn = data[key].url.lastIndexOf(".");
var suffix = data[key].url.substring(sn+1,data[key].url.length);
var imgStr = "";
if(suffix=="pdf"||suffix=="PDF"){
imgStr = "";
}else if(suffix == "xlsx" || suffix=="XLSX" || suffix == 'xls' || suffix == 'XLS'){
imgStr = "";
}else{
imgStr = '
';
}
html = html + '- '+data[key].id+'
\n'+
'- '+data[key].orignName+'
\n'+
'- '+imgStr+'
\n'+
'- '+btn+'
';
}
html = html + '
';
$detail.html(html);
$(".imgs").viewer({ fullscreen:false});
}, function (data) {
Feng.error("查询失败!" + data.responseJSON.message + "!");
});
var queryData = {};
queryData["mainId"] = $("#id").val();
queryData["fileTypeId"] = row.id;
ajax.set(queryData);
ajax.start();
}
});
}
//校验是否保存基础信息
TalentInfoInfoDlg.validId = function (){
var id = $("#id").val();
if(id!=null && id!=''){
$("#fileLi").removeAttr("style");
}else{
$("#fileLi").attr("style","pointer-events: none");
}
}
//选择附件并显示附件名
TalentInfoInfoDlg.checkFile = function (content,state,fileTypeId,fileId){
if(!TalentInfoInfoDlg.validateIsEdit())return;
$("#upload_file ").unbind("change");
$("#upload_file ").change(function () {
TalentInfoInfoDlg.upload(fileTypeId,fileId);
});
$('#upload_file').val("");
$('#upload_file').click()
}
//上传附件
TalentInfoInfoDlg.upload = function (fileTypeId,fileId){
var id = $("#id").val();
if(id==null || id==''){
Feng.info("请先添加基本信息并保存后再试");
return ;
}
if(!TalentInfoInfoDlg.validateIsEdit())return;
if(fileId!=null&&fileId!='null'){
$("#fileId").val(fileId)
}else{
$("#fileId").val("");
}
$("#mainId").val(id);
$("#fileTypeId").val(fileTypeId);
var index = layer.load(0, {shade: false,time:0});
$("#index").val(index);
$("#uploadForm").submit();
}
//删除附件
TalentInfoInfoDlg.deleteFile = function (id,state){
if(!TalentInfoInfoDlg.validateIsEdit())return;
var operation = function() {
var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/deleteFile", function (data) {
if(data.code=200){
Feng.success(data.msg);
$("#fileTable").bootstrapTable("refresh", {});
}else{
Feng.error(data.msg);
}
}, function (data) {
Feng.error("删除失败!" + data.responseJSON.message + "!");
});
ajax.set("id", id);
ajax.set("type",1);
ajax.start();
}
Feng.confirm("删除后无法恢复,确认删除吗?", operation);
}
/**
* 提交审核
*/
TalentInfoInfoDlg.submitToCheck = function(){
var id = $("#id").val();
if(id==null || id==""){
Feng.info("请先填写基础信息并上传附件");
return ;
}
if(!TalentInfoInfoDlg.validateIsEdit())return;
var operation = function() {
var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/submitToCheck", function (data) {
if(data.code==200){
Feng.success(data.msg);
// $("#checkState").val(data.obj);
window.parent.TalentInfo.table.refresh();
TalentInfoInfoDlg.close();
}else{
Feng.error(data.msg);
}
}, function (data) {
Feng.error("提交审核失败!" + data.responseJSON.message + "!");
});
ajax.set("id", id);
ajax.start();
}
Feng.confirm("请确认基础信息已核对无误,相应附件已上传,一旦提交,无法修改", operation);
}
/**
* 校验是否可以修改/提交审核
*/
TalentInfoInfoDlg.validateIsEdit = function (){
var checkState = $("#checkState").val();
if(checkState != 1 && checkState != 5 && checkState != 10){
if(checkState==-1){
Feng.error("您的申报审核不通过,无法再修改");
return false;
}else if(checkState>=35){
Feng.error("您的申报已审核通过,无法再修改");
return false;
}else{
Feng.error("您的申报正在审核中,请耐心等待");
return false;
}
}
return true;
}
/**
* 初始化表格的列
*/
TalentInfoInfoDlg.initFileTypeColumn = function () {
return [
{field: 'selectItem', checkbox:false,visible:false},
{title: '名称', field: 'name', visible: true, align: 'center', valign: 'middle',width:"30%",'class': 'uitd_showTip',
formatter : function(value,row,index){
if(row.must==1){
return ' * '+ value;
}if(row.must==2){
return ''+value;
}
}
},
{title: '模板', field: 'templateUrl', visible: true, align: 'center', valign: 'middle',width:"8%",
formatter : function(value,row,index){
if(value==null||value==''||value=='null'){
return '无';
}
return "";
}
},
{title: '备注', field: 'description', visible: true, align: 'center', valign: 'middle',width:"52%",'class': 'uitd_showTip'},
{title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle',width:"10%",
formatter : function(value,row,index){
var files = $("#files").val();
var checkState = $("#checkState").val();
if(checkState!=10 || files.indexOf(value)!=-1){
return "" ;
}else{
return "审核通过,无法添加" ;
}
}
}
]
};
//回调
TalentInfoInfoDlg.callBack = function (data){
layer.close(data.obj);
Feng.info(data.msg);
if (data.code == 200) {
$("#fileTable").bootstrapTable("refresh", {});
}
}
TalentInfoInfoDlg.downloadFile = function (id,type){
window.location.href = Feng.ctxPath + "/api/common/downloadFile?id=" + id + "&type="+type;
}
//设置不可修改的字段
TalentInfoInfoDlg.setNoChangeField = function () {
var checkState = $("#checkState").val();
var fields = $("#fields").val();
if(checkState==10){
$("#photoImg").removeAttr("onclick");
$("input,textarea").each(function () {
$(this).attr("readonly","readonly");
});
$("select").each(function () {
$(this).attr("disabled","disabled");
});
if(fields!=null && fields!=''){
var arr = fields.split(",");
for(var key in arr){
if (arr[key] == "headimgurl") {
$("#photoImg").bind("click", function () {
$("#photo").click();
});
continue;
}
var name = $("#" + arr[key]).prop("tagName");
if(name=='select' || name=='SELECT'){
$("#" + arr[key]).removeAttr("disabled");
}if(name=="input" || name=='textarea' || name=="INPUT" || name=='TEXTAREA'){
$("#" + arr[key]).removeAttr("readonly");
}
}
}
}
}
$(function() {
$('#talentInfoForm').bootstrapValidator({
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
container: 'tooltip',
group:'.rowGroup',
fields: TalentInfoInfoDlg.validateFields,
live: 'enabled',
message: '该字段不能为空'
}).on('error.field.bv', function(e, data) {
// Get the tooltip
var $parent = data.element.parents('.form-group-sm'),
$icon = $parent.find('.form-control-feedback[data-bv-icon-for="' + data.field + '"]'),
title = $icon.data('bs.tooltip').getTitle();
$icon.tooltip('destroy').tooltip({
html: true,
placement: 'right',
title: title,
container: 'body'
});
});
//批量加载字典表数据
var arr = [
{"name":"nation","code":"un_nation"},
{"name":"talentArrange","code":"un_talentLevel"},
{"name":"nationality","code":"un_nationality"},
{"name":"talentType","code":"un_jbt_talentType"},
{"name":"politics","code":"un_political"},
{"name":"highEducation","code":"un_education"},
{"name":"introductionMode","code":"un_introduction_mode"},
{"name":"industryField","code":"un_industryField"},
{"name":"address","code":"un_street"}];
Feng.findChildDictBatch(JSON.stringify(arr));
//加载省份
Feng.addAjaxSelect({
"id": "provinceCode",
"displayCode": "code",
"displayName": "name",
"type": "GET",
"url": Feng.ctxPath + "/api/commonLocation/getProvinceSelect"
});
//批量加载时间控件
$(".date").each(function(){
laydate.render({
elem: this
,type: 'date'
,trigger: 'click'
});
});
var id = $("#id").val();
if(id!=null && id!=''){
$("select").each(function () {
$(this).val($(this).attr("value")).trigger("change");
});
Feng.getCheckLog("logTable",{"type":CONFIG.project_rcrd,"mainId":id,"typeFileId":"","active":1})
}
$("#address").val($("#address").attr("value"));
$("#provinceCode").val($("#provinceCode").attr("value"));
TalentInfoInfoDlg.afterSelectProvince();
$("#cityCode").val($("#cityCode").attr("value"));
TalentInfoInfoDlg.afterSelectCity();
$("#countyCode").val($("#countyCode").attr("value"));
$("#talentArrange").val($("#talentArrange").attr("value"));
TalentInfoInfoDlg.getIdentifyCondition();
$("#talentArrange").val($("#talentArrange").attr("value"));
$("#identifyCondition").val($("#identifyCondition").attr("value"));
TalentInfoInfoDlg.validId();
$("#photo").change(function (e) {
var tag = e.target;
var file = tag.files[0];
var imgSrc;
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function() {
imgSrc = this.result;
$("#photoImg").attr("src", imgSrc);
};
});
TalentInfoInfoDlg.setNoChangeField();
$("#identifyCondition").on('chosen:ready', function(e, params) {
$(".chosen-container-single .chosen-single").css("padding","4px 0px 0px 4px");
});
$("#identifyCondition").chosen({
no_results_text: "没有找到结果!",
width:'100%',
search_contains:true, //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
disable_search: false,
enable_split_word_search: true,
rtl:true
});
});