angular.module('push')
.controller('recordTalentInfoCtrl', function ($scope,$stateParams,dataToolsService,UtilService,ConstantService, $timeout,
$ionicActionSheet,UserService) {
// 对应的是0新增/1编辑
$scope.isedit = $stateParams.isedit;
if($scope.isedit == 0){
$scope.pagetitle = "录入人才信息";
}else
if($scope.isedit == 1){
$scope.pagetitle = "编辑人才信息";
$timeout(function () {
$("#orgname").prop("disabled", true);
},300);
}else
// 复制并新建
if($scope.isedit == 2){
$scope.pagetitle = "复制并新建人才信息";
$timeout(function () {
$("#orgname").prop("disabled", true);
},300);
}
//企业基本信息
$scope.connEnterpriseModuleModel = {
id: 0,
userid: 0,
usercomefrom: "",
claid: 0,// 选中的文件夹id
taskid: 0,// 任务id
yearsetupid: 0,
yearsetupname: "",
templettype: $stateParams.pageid,// 模板id
orgname: "",
orglogo: "",// 企业logo
orgtype: ConstantService.UNITTYPE_10104,//机构类型:默认企业
orgcontent: "",// 企业简介
orgcontact: "",
orgcontactnum: "",
categoryid: "",
categoryname: "",
orggradecode: 0,// 企业研发机构等级
ishigh: 0,// 是否高企
remark: "",// 备注
userModel: {
userid: 0 // 用户id
},
organizationInfo: {
id: 0,
orgtype: ConstantService.UNITTYPE_10104,//机构类型
name: "",
about: "",// 机构简介
contact: "",
contactnum: "",
categoryid: "",
categoryname: "",
rdinstitutiontype: 0,// 企业研发机构等级
rdinstitutiontypename: "",// 企业研发机构等级
ishigh: 0,// 是否高企
logo: "",// 企业logo
high:true,
ishighInfo:"是",
images: "",// 传到后台的图片json
delimages: "",// 删除的图片
imagelist: []// app端图片插件进行传递的变量
}
};
$scope.deldemandInfo = "";
// 保存基本信息需要的格式
$scope.requestModel= {
data: {},
node: ""
};
// 获取走访录入界面的传参
$scope.rolePageModel=
{
//TODO
id: $stateParams.pageid,// 模版id
orgtype: ConstantService.UNITTYPE_10104// 走访对应的机构类型
// id: 2,// 模版id
// orgtype: 2,// 模版id
};
//人才信息
$scope.talentInfoList = [{
id: 0,
connid: 0,
companyid: 0,
creator: 0,
updater: 0,
remark: "",// 备注
name: "",// 人才名称
tel: "",//电话
position:"",//职位
academicdegreename:"",//学位
about:"",//人才简介
responsible:""//负责工作
}];
//添加、删除更多人才信息
$scope.AddOrDelTalentInfo = function (ind) {
if (ind == 0) {
$scope.talentInfoList.push({
id: 0,
connid: 0,
companyid: 0,
creator: 0,
updater: 0,
remark: "",// 备注
name: "",// 人才名称
tel: "",//电话
position:"",//职位
academicdegreename:"",//学位
about:"",//人才简介
responsible:""//负责工作
});
} else {
if ($scope.talentInfoList[ind].id != 0) {
$scope.talentInfoList.push($scope.talentInfoList[ind].id);
}
$scope.talentInfoList.splice(ind, 1);
}
};
// 获取人才的学位列表
var academicdegreebuttons = [];
var getAcademicdegreeList = function () {
dataToolsService.getTypeEntryListByTypeName("academicdegree").then(function (response) {
if (UtilService.isDefined(response) && response.data.length > 0) {
angular.forEach(response.data, function (value, index) {
var temphtml = {
text: '' + value.itemkey + '',
academicdegree: value.itemvalue,
academicdegreename: value.itemkey
};
academicdegreebuttons.push(temphtml);
});
}
}, function () {
});
// console.log(academicdegreebuttons);
};
getAcademicdegreeList();
//选择人才的学位列表
$scope.showAcademicdegreeStatus = function (ind) {
$ionicActionSheet.show({
buttons: academicdegreebuttons,
cancelText: '取消',
buttonClicked: function (index) {
$scope.talentInfoList[ind].academicdegree = academicdegreebuttons[index].academicdegree;
$scope.talentInfoList[ind].academicdegreename = academicdegreebuttons[index].academicdegreename;
return true;
}
});
};
// 清空列表中的id,置为0
var clearIdinList = function (datalist) {
if(UtilService.isDefined(datalist) && datalist.length > 0){
angular.forEach(datalist, function (value, index) {
value.id = 0;
});
}
}
// 编辑时获取走访详情
var getPublicResourceList = function () {
//TODO
$scope.connid = $stateParams.connid;
// $scope.connid = 179;
dataToolsService.getConnectioninfoDetailByConnid($scope.connid).then(function (response) {
console.log("============编辑时获取走访详情==================");
console.log(response);
// 基本信息
$scope.connEnterpriseModuleModel = response.data;
if($scope.connEnterpriseModuleModel.ishigh==1){
$scope.connEnterpriseModuleModel.ishighInfo="是";
$scope.connEnterpriseModuleModel.high=true;
}else if($scope.connEnterpriseModuleModel.ishigh==0){
$scope.connEnterpriseModuleModel.ishighInfo="否";
$scope.connEnterpriseModuleModel.high=false;
}
$scope.talentInfoList = $scope.connEnterpriseModuleModel.highleveltalentsLkList;
// 复制并新增时,清空所有的id
if($scope.isedit == 2){
$scope.connEnterpriseModuleModel.id = 0;
clearIdinList($scope.talentInfoList);
}
}, function () {
});
};
// 编辑时才获取
if($scope.isedit == 1){
getPublicResourceList();
}else
if($scope.isedit == 0){
// 新增时 默认模版id
$scope.connEnterpriseModuleModel.templettype = $stateParams.pageid;
}else
if($scope.isedit == 2){
// 复制并新增时 默认模版id
getPublicResourceList();
}
//关联相关企业
$scope.isRelateUl = false;
$scope.queryLikeName = function () {
if ($scope.connEnterpriseModuleModel.orgname.length == 0) {
$scope.companylist = [];
$scope.isRelateUl = false;
return;
}
// 全部置空
$scope.connEnterpriseModuleModel.organizationInfo.id = 0;
$scope.connEnterpriseModuleModel.orglogo = "";
$scope.connEnterpriseModuleModel.orgcontact = "";
$scope.connEnterpriseModuleModel.orgcontactnum = "";
$scope.connEnterpriseModuleModel.categoryid = 0;
$scope.connEnterpriseModuleModel.categoryname = "";
$scope.connEnterpriseModuleModel.orggradecode = 0;
$scope.connEnterpriseModuleModel.rdinstitutiontypename = "";
$scope.connEnterpriseModuleModel.ishigh = 0;
$scope.connEnterpriseModuleModel.ishighInfo="否";
$scope.connEnterpriseModuleModel.high=false;
$scope.connEnterpriseModuleModel.remark="";
$scope.rolePageModel.orgtype = ConstantService.UNITTYPE_10104;// 默认机构类型:企业
dataToolsService.getOrganizationModelByOrgname($scope.connEnterpriseModuleModel.orgname).then(function (response) {
console.log(response);
$scope.companylist = response.data;
$scope.isRelateUl = true;
}, function () {
})
};
//选中企业
$scope.setCompanyName = function (organizationInfo) {
//亚
organizationInfo.name = organizationInfo.name.replace("", "");
organizationInfo.name = organizationInfo.name.replace("", "");
$scope.connEnterpriseModuleModel.organizationInfo.id = organizationInfo.id;
$scope.connEnterpriseModuleModel.orgname = organizationInfo.name;
$scope.connEnterpriseModuleModel.orglogo = organizationInfo.logo;
$scope.connEnterpriseModuleModel.orgcontact = organizationInfo.contact;
$scope.connEnterpriseModuleModel.orgcontactnum = organizationInfo.contactnum;
$scope.rolePageModel.orgtype = organizationInfo.orgtype;// 取得选中的机构类型
$scope.connEnterpriseModuleModel.categoryid = organizationInfo.categoryid;
$scope.connEnterpriseModuleModel.categoryname = organizationInfo.categoryname;
$scope.connEnterpriseModuleModel.orggradecode = organizationInfo.rdinstitutiontype;
$scope.connEnterpriseModuleModel.rdinstitutiontypename = organizationInfo.rdinstitutiontypename;
$scope.connEnterpriseModuleModel.ishigh = organizationInfo.ishigh;
if($scope.connEnterpriseModuleModel.ishigh==1){
$scope.connEnterpriseModuleModel.ishighInfo="是";
$scope.connEnterpriseModuleModel.high=true;
}else if($scope.connEnterpriseModuleModel.ishigh==0){
$scope.connEnterpriseModuleModel.ishighInfo="否";
$scope.connEnterpriseModuleModel.high=false;
}
$scope.isRelateUl = false;
};
// 保存企业信息
var saveInfo = function () {
// 人才信息
if ($scope.talentInfoList.length > 0) {
angular.forEach($scope.talentInfoList, function (talentInfoList, $index) {
if (!UtilService.isDefined($scope.talentInfoList[$index].name)) {
$scope.talentInfoList.splice($index, 1);
}
});
}
// 保存走访基本信息
//TODO
$scope.connEnterpriseModuleModel.userModel.userid = UserService.id;
// 走访履历表中需记录机构信息
$scope.connEnterpriseModuleModel.organizationInfo.name = $scope.connEnterpriseModuleModel.orgname;
$scope.connEnterpriseModuleModel.title = $scope.connEnterpriseModuleModel.organizationInfo.name;
$scope.connEnterpriseModuleModel.templettype = $scope.rolePageModel.id;
$scope.connEnterpriseModuleModel.organizationInfo.logo = $scope.connEnterpriseModuleModel.orglogo;// 企业logo
$scope.connEnterpriseModuleModel.organizationInfo.about = $scope.connEnterpriseModuleModel.orgcontent;// 企业logo
$scope.connEnterpriseModuleModel.orgtype = $scope.rolePageModel.orgtype;// 机构类型
$scope.connEnterpriseModuleModel.organizationInfo.orgtype = $scope.rolePageModel.orgtype;// 机构类型
$scope.connEnterpriseModuleModel.organizationInfo.contact = $scope.connEnterpriseModuleModel.orgcontact;
$scope.connEnterpriseModuleModel.organizationInfo.contactnum = $scope.connEnterpriseModuleModel.orgcontactnum;
$scope.connEnterpriseModuleModel.organizationInfo.categoryid = $scope.connEnterpriseModuleModel.categoryid;
$scope.connEnterpriseModuleModel.organizationInfo.categoryname = $scope.connEnterpriseModuleModel.categoryname;
$scope.connEnterpriseModuleModel.organizationInfo.rdinstitutiontype = $scope.connEnterpriseModuleModel.orggradecode;// 企业研发机构等级
$scope.connEnterpriseModuleModel.organizationInfo.ishigh = $scope.connEnterpriseModuleModel.ishigh;// 是否高企
// 传参格式
$scope.requestModel.data = $scope.connEnterpriseModuleModel;
$scope.requestModel.node = UserService.node;
dataToolsService.saveOrganizationInfo($scope.requestModel).then(function (response) {
// console.log(response);
if(response.code == ConstantService.INTERFACE_STATUS_CODE_3350){
UtilService.showMess("添加成功");
$timeout(function () {
// 保存走访基本信息 后保存其他内容
// 取得记录id
var connid = response.data.id;
$scope.connEnterpriseModuleModel.id = connid;
// 取得机构id
var orgid = response.data.organizationInfo.id;
$scope.connEnterpriseModuleModel.organizationInfo.id = orgid;
// 保存公司人才
if ($scope.talentInfoList.length > 0) {
angular.forEach($scope.talentInfoList, function (value, index) {
value.connid = $scope.connEnterpriseModuleModel.id;
value.companyid = $scope.connEnterpriseModuleModel.organizationInfo.id;
value.creator = UserService.id;
value.updater = UserService.id;
});
// 传参格式
$scope.requestModel.data = $scope.talentInfoList;
$scope.requestModel.node = UserService.node;
dataToolsService.insertOrUpdateCompanyHighleveltalents($scope.requestModel).then(function (response) {
}, function () {
UtilService.showMess(ConstantService.INTERFACE_MESSAGE_ERROR);
})
}
// 添加成功后跳入我的录入
$scope.go("recordInfoAccount");
}, 500);
} else {
UtilService.showMess(ConstantService.INTERFACE_MESSAGE_ERROR);
}
$scope.hideLoadingToast();
saveflg = 0;
}, function () {
UtilService.showMess(ConstantService.INTERFACE_MESSAGE_ERROR);
$scope.hideLoadingToast();
saveflg = 0;
});
};
var saveflg = 0;//只允许保存触发一次,多次触发无效,默认未提交
$scope.saveTalentInfo=function () {
// 人才信息
if (!UtilService.isDefined($scope.connEnterpriseModuleModel.orgname)) {
UtilService.showMess("请填写单位名称");
return;
}
if ($scope.connEnterpriseModuleModel.orgname.length > 50) {
UtilService.showMess("单位名称不能超过50个字");
return;
}
if (saveflg != 0) {
return;
}
var result = 1;
// 人才信息
if ($scope.talentInfoList.length > 0) {
angular.forEach($scope.talentInfoList, function (talentInfoList,index) {
if (!UtilService.isDefined($scope.talentInfoList[index].name)
|| $scope.talentInfoList[index].name.length == 0) {
result = 2;
}
if (result == 1 && $scope.talentInfoList[index].name.length >8) {
result = 0;
}
if (result == 1 && UtilService.isDefined($scope.talentInfoList[index].remark) && $scope.talentInfoList[index].remark.length > 1000) {
result = 3;
}
});
if(result == 2){
UtilService.showMess("请填写姓名");
saveflg = 0;
return;
}
else
if(result == 0){
UtilService.showMess("姓名不能超过8个字");
saveflg = 0;
return;
}
else
if(result == 3){
UtilService.showMess("备注不能超过1000个字");
saveflg = 0;
return;
}
$scope.showLoadingToast();
saveInfo();
saveflg = 1;
// console.log($scope.talentInfoList);
}
};
//进入资源详情
$scope.jumpResourceDetail = function (company) {
// 先预设信息
$scope.setCompanyName(company);
// 再跳转到资源详情页
$scope.go('resourceCommonDetailsPage', {
recourceid: company.resourcelibrary.id,
recourcetype: company.resourcelibrary.restype,
recourcecomefrom: company.resourcelibrary.comefrom,
creator: company.resourcelibrary.creator
});
};
});