var local = window.location.href;
|
var userid = local.substring(local.lastIndexOf('=')+1,local.length);
|
|
$(function(){
|
UpFile()
|
|
/*
|
表单验证
|
*/
|
cheackForm("from");
|
cheackForm("unitform");
|
});
|
|
function UpFile() {
|
var callBackUrl = "http://" + window.location.host + baseURL + "admin/modules/ajaxuploadproxy.html";
|
new AjaxUpload('#upload', {
|
action: restServerBaseURL + 'sys/attachment/upload?token=' + token,
|
name: 'file',
|
data: {callBackUrl:callBackUrl,category:'user'},
|
autoSubmit:true,
|
responseType:"json",
|
onSubmit:function(file, extension){
|
if (!(extension && /^(jpg|jpeg|png|gif)$/.test(extension.toLowerCase()))){
|
alert('只支持jpg、png、gif格式的图片!');
|
return false;
|
}
|
layer.load(2);
|
},
|
onComplete : function(file, r){
|
/* layer.closeAll('loading');
|
if(r.code == 0){
|
vm.reload();
|
}else{
|
alert(r.msg);
|
}*/
|
}
|
});
|
//所属单位隐藏操作框
|
$("li a").bind('click',function(){
|
if ($(this)[0].id == "userunit-tab") {
|
$("#caozuo").css("display","none");
|
}else{
|
$("#caozuo").css("display","");
|
}
|
});
|
//附件
|
var callBackFileUrl = "http://" + window.location.host + baseURL + "admin/modules/ajaxuploadproxy.html";
|
new AjaxUpload('#uploadAffix', {
|
action: restServerBaseURL + 'sys/attachment/upload?token=' + token,
|
name: 'file',
|
data: {callBackUrl:callBackUrl,category:'userAffix'},
|
autoSubmit:true,
|
responseType:"json",
|
onSubmit:function(file, extension){
|
layer.msg('上传中',{icon: 16,shade: 0.5});
|
if (!(extension && /^(pdf)$/.test(extension.toLowerCase()))){
|
alert('只支持pdf格式!');
|
return false;
|
}
|
var f = $('input[name^="file"]')[0].files[0];
|
if($('input[name^="file"]').length > 1){
|
f = $('input[name^="file"]')[1].files[0];
|
}
|
if(f.size > 20*1024*1024) {
|
alert("上传文件大小不能超过20M!");
|
return false;
|
}
|
},
|
onComplete : function(file, r){
|
layer.closeAll('loading');
|
if(r.code == 500) {
|
alert(r.msg);
|
}
|
}
|
});
|
}
|
|
function ajaxUploadComplete(code,path){
|
layer.closeAll('loading');
|
if(code == 0){
|
if (path.toString().indexOf('userAffix') != -1) {
|
if($("#deleteAffix").css("display") == ''){
|
deleteAffix();
|
}
|
vm.user.certificateurl = decodeURIComponent(path.toString());
|
$("#deleteAffix").css("display","");
|
$("#affixUrl").css("display","");
|
$("#affixUrl").attr("href",uploadFileResource+vm.user.certificateurl);
|
}else{
|
vm.user.photourl = decodeURIComponent(path.toString());
|
$("#imgUrl").attr("src",uploadFileResource + vm.user.photourl);
|
}
|
}else{
|
alert("上传失败");
|
}
|
}
|
|
var vm = new Vue({
|
el:'#rapp',
|
data:{
|
showList:true,
|
title: null,
|
user: {},
|
form2:null,
|
isEdit:false,
|
userunit:{},
|
isupdate:null,
|
oldunitid:null,
|
olddeptid:null
|
},
|
methods: {
|
saveOrUpdate: function () {
|
var url = vm.title == "新增" ? "org/user/save" : "org/user/update";
|
vm.user.userstatus = parseInt($("#U_TYPE").attr("value"));
|
vm.user.isreceivemsg = $("#isreceivemsg")[0].checked==true ? 1 : 0;
|
vm.user.education =$("#U_EDUCATION").val();
|
vm.user.jobtitle = $("#jobtitle").val();
|
vm.user.joblevel = $("#joblevel").val();
|
if(vm.pwd == $("#PASSWORD").val()) {
|
$("#PASSWORD").removeAttr("minlength");
|
$("#PASSWORD").removeAttr("userpwd");
|
// minlength="6" userpwd="true"
|
}
|
if ($("#from").valid()) {
|
$.ajax({
|
type: "POST",
|
url: restServerBaseURL + url,
|
contentType: "application/json",
|
data: JSON.stringify(vm.user),
|
success: function(r){
|
if(r.code === 0){
|
alert('操作成功', function(){
|
if (vm.title == "新增") {
|
window.location.href = window.location.href+"?userId="+r.userid;
|
}else{
|
window.location.reload();
|
}
|
if(parent.opener.vm && parent.opener.vm.reload){
|
parent.opener.vm.reload();
|
}
|
});
|
}else{
|
alert(r.msg);
|
}
|
}
|
});
|
}
|
},
|
getInfo: function(userid){
|
$.get(restServerBaseURL + "org/user/info/"+userid, function(r){
|
vm.user = r.user;
|
vm.pwd = vm.user.password;
|
var textname = "";var textid = "";
|
if(vm.user.isreceivemsg==1){
|
$("#isreceivemsg").attr("checked", true);
|
}
|
if (vm.user != null) {
|
switch(vm.user.userstatus){
|
case 0:
|
textname = "正常";
|
break;
|
case 1:
|
textname = "禁用";
|
break;
|
case 2:
|
textname = "删除";
|
break;
|
case 3:
|
textname = "申请";
|
break;
|
case 4:
|
textname = "拒批";
|
break;
|
default:
|
textname = "";
|
}
|
textid = vm.user.userstatus;
|
}
|
$("#U_TYPE").text(textname);
|
$("#U_TYPE").attr("value",textid);
|
if (vm.user.photourl != null && vm.user.photourl != "") {
|
$("#imgUrl").attr("src",uploadFileResource + vm.user.photourl);
|
}
|
if (vm.user.certificateurl != null && vm.user.certificateurl != "") {
|
$("#affixUrl").css("display","");
|
$("#affixUrl").attr("href",uploadFileResource + vm.user.certificateurl);
|
$("#deleteAffix").css("display","");
|
}
|
$("#U_EDUCATION").val(vm.user.education);
|
$("#jobtitle").val(vm.user.jobtitle);
|
$("#joblevel").val(vm.user.joblevel);
|
});
|
},
|
changeStatus:function(status){
|
var tip = status==1?'禁用':'删除';
|
confirm('确定要'+tip+'该用户?', function(s) {
|
if (s == "ok") { //判断点击确定才执行 ccr modify 2018-12-16
|
vm.user.userstatus = status;
|
$.ajax({
|
type: "POST",
|
url: restServerBaseURL + "org/user/updateStatusByUserId",
|
contentType: "application/json",
|
data: JSON.stringify(vm.user),
|
success: function(r) {
|
if (r.code === 0) {
|
alert('操作成功', function() {
|
window.location.reload();
|
});
|
}
|
else {
|
alert(r.msg);
|
}
|
}
|
});
|
}
|
});
|
},
|
//刷新所属单位
|
reloadUserUnit:function(){
|
vm.showList = true;
|
var page = $("#jqGrid").jqGrid('getGridParam','page');
|
//点击查询时,当前页设置为第一页
|
$("#jqGrid").jqGrid('setGridParam',{
|
postData:{'userid':vm.userunit.userid},
|
page:1
|
}).trigger("reloadGrid");
|
},
|
//删除所属单位
|
delUserUnit:function(){
|
var ids = getSelectedRows();
|
if(ids == null){
|
return;
|
}
|
var userunitids = "";//规则:用户id|单位id,部门id|...(|分割)
|
userunitids = userid;
|
var rowsid = $("#jqGrid").jqGrid('getGridParam','selarrrow');
|
for(var i = 0;i<rowsid.length;i++){
|
var rowData = $("#jqGrid").jqGrid('getRowData',rowsid[i]);
|
userunitids += "|" + rowData.unitid + "," + (rowData.deptid != ""?rowData.deptid:0);
|
}
|
confirm('确定要删除选中的记录?', function(){
|
$.ajax({
|
type: "POST",
|
url: restServerBaseURL + "org/userunit/delete",
|
data: {
|
userunitids:userunitids
|
},
|
success: function(r){
|
if(r.code == 0){
|
alert('操作成功', function(){
|
vm.reloadUserUnit();
|
});
|
}else{
|
alert(r.msg);
|
}
|
}
|
});
|
});
|
},
|
//获取所属单位信息
|
getUserUnitInfo:function(type,unitid,userid,deptid){
|
var posname = "";
|
if (type == 0) {
|
this.isupdate = 0;
|
initModal(0,posname,"",0);
|
}else{
|
this.isupdate = 1;
|
if (unitid != '' && userid != '') {
|
var id = userid+"|"+unitid+"|"+deptid;
|
$.get(restServerBaseURL + "org/userunit/queryObjectByUnitid/"+id, function(r){
|
vm.userunit = r.userunit;
|
posname = vm.userunit.posname != null ? vm.userunit.posname :"";
|
vm.oldunitid = vm.userunit.unitid;
|
vm.olddeptid = vm.userunit.deptid != null ? vm.userunit.deptid : "";
|
$("#worktype").val(vm.userunit.worktype);
|
$("#workseasdate").val((vm.userunit.workseasdate!=null&&vm.userunit.workseasdate.length >= 10)
|
?vm.userunit.workseasdate.substring(0,10):"");
|
$("#workstartdate").val((vm.userunit.workstartdate!=null&&vm.userunit.workstartdate.length >= 10)
|
?vm.userunit.workstartdate.substring(0,10):"");
|
$("#workenddate").val((vm.userunit.workenddate!=null&&vm.userunit.workenddate.length >= 10)
|
?vm.userunit.workenddate = vm.userunit.workenddate.substring(0,10):"");
|
initModal(1,posname,vm.userunit.unitname,vm.userunit.deptid);
|
});
|
}
|
}
|
},
|
//保存所属单位
|
saveUserUnit:function(){
|
var url = vm.isupdate == 0 ? "org/userunit/save" : "org/userunit/update";
|
//校验必填
|
// if ($("#pinyin").val() == "" || $("#pinyin").val() == null) {
|
// $("#pinyin").css("borderColor","red");
|
// return false;
|
// }
|
//到职日期大于离职日期
|
var workstartdate = $("#workstartdate").val();
|
var workenddate = $("#workenddate").val();
|
if(workstartdate != '' && workenddate != ''){
|
var workstart = new Date(workstartdate.replace(/-/g,"/"));
|
var workend = new Date(workenddate.replace(/-/g,"/"));
|
if(workstart > workend){
|
alert("到职日期不能大于离职日期!");
|
return false;
|
}
|
}
|
vm.userunit.workseasdate = null;
|
vm.userunit.workstartdate = null;
|
vm.userunit.workenddate = null;
|
vm.userunit.workseasdatestr = $("#workseasdate").val();
|
vm.userunit.workstartdatestr = workstartdate;
|
vm.userunit.workenddatestr = workenddate;
|
vm.userunit.posname = $("#posname option:selected").attr("name");
|
vm.userunit.worktype = $("#worktype").val();
|
var name =$("#pinyin").val();
|
if($("#unitform").valid()) {
|
$.get(restServerBaseURL + "org/unit/queryObjectByFullName/" + encodeURI(name), function (r) {
|
if (r != null && r.code == 0 && r.unit != null) {//存在
|
var ounit = vm.oldunitid != null ? vm.oldunitid : 0;
|
vm.userunit.unitid = r.unit.unitid;
|
vm.userunit.oldUnitid = ounit;
|
vm.userunit.userid = userid;
|
vm.userunit.olddeptid = vm.olddeptid != null ? vm.olddeptid : null;
|
vm.userunit.deptid = $("#deptid").val();
|
$.ajax({
|
type: "POST",
|
url: restServerBaseURL + url,
|
contentType: "application/json",
|
data: JSON.stringify(vm.userunit),
|
success: function (result) {
|
if (result.code == 0) {
|
alert('操作成功', function () {
|
$("#ModelClose").click();
|
vm.reloadUserUnit();
|
if (parent.opener.vm && parent.opener.vm.reload) {
|
parent.opener.vm.reload();
|
}
|
});
|
} else {
|
alert(result.msg);
|
}
|
}
|
});
|
} else {
|
alert("不存在此单位,请检查!");
|
}
|
});
|
}
|
}
|
},
|
created: function(){
|
var search = window.location.search;
|
var userId = "";
|
if(search.indexOf("?") > -1){
|
search = search.replace("?", "");
|
userId = search.split('=')[1];
|
}
|
if(userId == ""){
|
this.title = "新增";
|
this.user = {};
|
$("#U_TYPE").text("待申请");
|
$("#U_TYPE").attr("value",3);
|
} else {
|
this.isEdit = true;
|
this.title = "编辑";
|
this.getInfo(userId);
|
$("#LOGINNAME").prop("readonly","readonly");
|
}
|
//绑定“职务名称”
|
$.ajax({
|
type: "GET",
|
url: restServerBaseURL + "sys/fieldvalue/queryListByKey?key=JobLevel",
|
contentType: "application/json",
|
success: function(msg) {
|
var sysFieldList = msg.sysFieldList;
|
jQuery.each(sysFieldList, function(i, item) {
|
if(item.vcode == vm.user.joblevel){
|
jQuery("#joblevel").append("<option value=" + item.vcode + " selected='selected'>" + item.vtext + "</option>");
|
}else {
|
jQuery("#joblevel").append("<option value=" + item.vcode + ">" + item.vtext + "</option>");
|
}
|
});
|
}
|
});
|
}
|
});
|
|
//根据用户名称获取首字母值
|
function changeToPinYin(){
|
var name = $("#CHINESENAME").val();
|
if(name == "" || name == null){
|
return;
|
}
|
$.ajax({
|
type: "GET",
|
url: restServerBaseURL + "org/unit/changeToPinYin?name="+encodeURI(name),
|
contentType: "application/json",
|
success: function(msg) {
|
var pinyin = msg.pinyin;
|
if(pinyin != "") pinyin = decodeURI(pinyin);
|
$("#SPELLFIRST").val("");
|
$("#SPELLFIRST").val(pinyin);
|
vm.user.spellfirst = pinyin;
|
}
|
});
|
}
|
|
function initUserUnitList(){
|
$("#jqGrid").jqGrid({
|
url: restServerBaseURL + 'org/userunit/list?userid='+userid,
|
datatype: "json",
|
colModel: [
|
{ label: '用户名', name: 'username', index: 'USERNAME', width: 50,align:'center',
|
formatter:function(value,grid,rows,state){
|
var unitid = rows.unitid,userid = rows.userid,deptid = rows.deptid;
|
var html = "<a style='cursor:pointer;color:black;text-decoration:underline;' data-toggle='modal' onclick='vm.getUserUnitInfo(1,"+
|
unitid+","+userid+","+deptid+")' data-target='#myModal'>"+rows.username+"</a>";
|
return html;
|
}
|
},
|
{ label: '单位名称', name: 'unitname', index: 'UNITNAME', width: 120,align:'center' },
|
{ label: '部门名称', name: 'deptname', index: 'DEPTNAME', width: 120,align:'center' },
|
{ label: '职务名称', name: 'posname', index: 'POSNAME', width: 60,align:'center' },
|
{ label: '从事本职工作时间', name: 'workseasdate', index: 'WORKSEASDATE', width: 120,align:'center',
|
formatter:function(value,grid,rows,state){
|
var dateStr = rows.workseasdate;
|
if (dateStr != null && dateStr !='') {
|
return dateStr.substring(0,10);
|
}
|
else
|
{
|
return "";
|
}
|
}
|
},
|
{ label: '在职情况', name: 'worktype', index: 'WORKTYPE', width: 60,align:'center',
|
formatter:function(value,grid,rows,state){
|
//在职情况1 表示在职、3 表示借调、5 表示离职
|
var type = parseInt(rows.worktype);
|
var typeName = "";
|
switch(type){
|
case 1:
|
typeName="在职";
|
break;
|
case 3:
|
typeName="借调";
|
break;
|
case 5:
|
typeName="离职";
|
break;
|
default:
|
typeName="";
|
break;
|
}
|
return typeName;
|
}
|
},
|
{ label: '到职日期', name: 'workstartdate', index: 'WORKSTARTDATE', width: 60,align:'center',
|
formatter:function(value,grid,rows,state){
|
var dateStr = rows.workstartdate;
|
if (dateStr != null && dateStr !='') {
|
return dateStr.substring(0,10);
|
}
|
else
|
{
|
return "";
|
}
|
}
|
},
|
{ label: '离职日期', name: 'workenddate', index: 'WORKENDDATE', width: 60 ,align:'center',
|
formatter:function(value,grid,rows,state){
|
var dateStr = rows.workenddate;
|
if (dateStr != null && dateStr !='') {
|
return dateStr.substring(0,10);
|
}
|
else
|
{
|
return "";
|
}
|
}
|
} ,
|
{ label: 'rn', name: 'unitid,deptid',index:'rn', width: 50, key: true,hidden:true },
|
{ label: '单位id', name: 'unitid', index: 'UNITID', width: 60,align:'center',hidden:true },
|
{ label: '部门id', name: 'deptid', index: 'DEPTID', width: 120,align:'center',hidden:true }
|
],
|
viewrecords: true,
|
height: "100%",
|
rowNum: 10,
|
//rowList : [10,30,50],
|
rownumbers: true,
|
rownumWidth: 25,
|
autowidth:true,
|
multiselect: true,
|
pager: "#jqGridPager",
|
jsonReader : {
|
root: "page.list",
|
page: "page.currPage",
|
total: "page.totalPage",
|
records: "page.totalCount"
|
},
|
prmNames : {
|
page:"page",
|
rows:"limit",
|
order: "order"
|
},
|
gridComplete:function(){
|
//隐藏grid底部滚动条
|
$("#jqGrid").closest(".ui-jqgrid-bdiv").css({ "overflow-x" : "hidden" });
|
}
|
});
|
$("#jqGrid").setGridWidth($("#caozuo").width());
|
}
|
|
function initModal(type,posname,unitname,deptid){
|
if (type == 0) {
|
$("#myModal input").each(function(){
|
$(this).val("");
|
});
|
$("#worktype").val("1"); //默认选择 ccr modify 2018-12-28
|
$("#posname").val("");
|
$("#deptid").val("");
|
}
|
$.ajax({//获取职务名称
|
type: "GET",
|
url: restServerBaseURL + "sys/fieldvalue/queryListByKey?key=JobLevel",
|
contentType: "application/json",
|
success: function(msg) {
|
var sysFieldList = msg.sysFieldList;
|
jQuery("#posname").empty().append("<option name='' value=''>--请选择--</option>")
|
jQuery.each(sysFieldList, function(i, item) {
|
jQuery("#posname").append("<option name='"+ item.vtext +"' value=" + item.vcode + ">" + item.vtext + "</option>");
|
});
|
if (posname != "") {
|
$("#posname option[name="+posname+"]").attr("selected",true);
|
}
|
}
|
});
|
initDeptList(unitname,deptid);
|
}
|
|
$(function () {
|
$("[validate='true']").on("input propertychange keydown change",function(){
|
if ($(this).val() != '') {
|
$(this).css("borderColor",'');
|
}
|
});
|
})
|
|
//单位名称自动完成
|
function findPinyinByKeyWord(){
|
var pinyin = $("#pinyin").val();
|
$("#pinyin").autocomplete({
|
source: restServerBaseURL + 'org/user/findPinyinByKeyWord?keyWord='+encodeURI(encodeURI(pinyin)),
|
minLength: 1,
|
select:function(event,ui){
|
initDeptList(ui.item.value,0);
|
}
|
});
|
$("#ui-id-1").css("z-index","9999");
|
}
|
|
function deleteAffix(){
|
var path = vm.user.certificateurl;
|
$.ajax({
|
type: "POST",
|
url: restServerBaseURL + "org/user/deleteCertificateUrl",
|
contentType: "application/json",
|
data: JSON.stringify({userid:vm.user.userid,path:path}),
|
success: function(r){
|
if(r.code === 0){
|
alert('删除成功', function(){
|
$("#deleteAffix").css("display","none");
|
$("#affixUrl").css("display","none");
|
$("#affixUrl").attr("href","");
|
vm.user.certificateurl="";
|
});
|
}else{
|
alert(r.msg);
|
}
|
}
|
});
|
}
|
|
//获取部门列表
|
function initDeptList(unitname,deptid){
|
$.ajax({
|
type: "GET",
|
url: restServerBaseURL + "org/unit/queryDeptList?unitname="+(unitname != ""?encodeURI(unitname):unitname),
|
contentType: "application/json",
|
success: function(data) {
|
var list = data.units;
|
jQuery("#deptid").empty().append("<option name='' value=''>--请选择--</option>")
|
if(list.length > 0){
|
jQuery.each(list, function(i, item) {
|
jQuery("#deptid").append("<option name='"+ item.unitname +"' value=" + item.unitid + ">" + item.unitname + "</option>");
|
});
|
}
|
if (deptid != 0) {
|
$("#deptid").val(deptid)
|
}
|
}
|
});
|
}
|