angular.module('push')
.controller('unitIdentifyCtrl', function ($scope, $stateParams, $ionicActionSheet, UtilService, AccountService, $timeout, accountModel) {
if($scope.app){
$scope.setStatusBar(0);
}
$scope.defaultLan = UserService.defaultLan;
//单位类型 1企业 2高校 3政府 4机构 5园区
$scope.orgtype = $stateParams.orgtype;
var saveflg = accountModel.getSaveFlg();//获取修改标志
var personimagelist = accountModel.getInfoImageList();//获取个人附件信息
var personauthinfo = accountModel.getUserAuthInfo();
var positionaltitlelist = accountModel.getPositionalTitles();
console.log(personauthinfo);
// 判断是否存在历史信息
if (accountModel.getOldUserAuthInfo() == "") {
$scope.authinfo = {
orgcode: "",
orgtype: $scope.orgtype,
title: "",
legalperson: "",
areaid: "",
district: "",
detailaddress: "",
domain: "",
university: "",
positionaltitles: "",
department: ""
};
$scope.oldimagelist = [];
} else {
var oldauthinfo = accountModel.getOldUserAuthInfo();
$scope.authinfo = {
orgcode: oldauthinfo.orgcode,
orgtype: $scope.orgtype,
title: oldauthinfo.title,
legalperson: oldauthinfo.legalperson,
areaid: oldauthinfo.areaid,
district: oldauthinfo.district,
detailaddress: oldauthinfo.detailaddress,
domain: oldauthinfo.domain,
university: oldauthinfo.university,
positionaltitles: oldauthinfo.positionaltitles,
department: oldauthinfo.department
};
console.log($scope.authinfo);
if (angular.isDefined($scope.authinfo.district) && $scope.authinfo.district.length > 0) {
var str = $scope.authinfo.district.replace(/\//g, "");
$timeout(function () {
$scope.$broadcast("recregistplace", str);
}, 100);
}
// 判断单位信息中是否有图片信息
if (angular.isDefined(oldauthinfo.imagelist) && oldauthinfo.imagelist.length > 0) {
$scope.oldimagelist = oldauthinfo.imagelist;
}
}
if (UtilService.isDefined($scope.authinfo.positionaltitles)) {
angular.forEach(positionaltitlelist, function (val, ind) {
if (val.itemvalue == $scope.authinfo.positionaltitles) {
$scope.authinfo.positionaltitlename = val.itemkey;
}
});
}
// 初始化证件图片信息 doctype: 3在职证明 4组织机构代码 5营业执照
$scope.imagelist = [
{
id: 0,
doctype: 3,
title: "",
photo_name: ""
}, {
id: 0,
doctype: 5,
title: "",
photo_name: ""
}
];
// 遍历历史附件提取对应图片
var oldimageidlist = [0, 0, 0];
angular.forEach($scope.oldimagelist, function (val, ind) {
if (val.doctype == 3) {
$scope.imagelist[0] = val;
oldimageidlist[0] = val.id;
}
if (val.doctype == 5) {
$scope.imagelist[1] = val;
oldimageidlist[1] = val.id;
}
});
//删除图片
$scope.delectImg = function (imgind) {
$scope.imagelist[imgind] = {};
};
// 选取身份证
$scope.show_identify = function (imgind) {
// 选取身份证弹框
$ionicActionSheet.show({
buttons: [
{text: '拍照'},
{text: '从相册中添加'}
],
cancelText: '取消',
buttonClicked: function (index) {
if (index == 0) {
$timeout(function () {
openCamera(imgind);
},350);
} else if (index == 1) {
$timeout(function () {
getPictures(imgind);
},350);
}
return true;
}
});
};
//拍照
var openCamera = function (imgind) {
UtilService.getPicture(1).then(function (results) {
// console.log(results);
$scope.imagelist[imgind].id = oldimageidlist[imgind];
$scope.imagelist[imgind].photo_name = results;
$scope.imagelist[imgind].original_name = results;
$scope.imagelist[imgind].source_name = results;
}, function (err) {
});
};
//检测权限
var verifyStorage = function (imgind) {
window.imagePicker.verifyStorage(
function (results) {
if (results == "1") {
getPic(imgind);
}
}, function (error) {
}
);
};
//打开相册
var getPic = function (imgind) {
UtilService.getPictureList(1).then(function (results) {
console.log(results);
$scope.imagelist[imgind].id = oldimageidlist[imgind];
$scope.imagelist[imgind].photo_name = results[0];
$scope.imagelist[imgind].original_name = results[0];
$scope.imagelist[imgind].source_name = results[0];
}, function (err) {
});
};
var getPictures = function (imgind) {
if (device.platform == "Android") {
verifyStorage(imgind);
} else {
getPic(imgind);
}
};
//上传图片
var tempimages = [];
var uploadImages = function () {
if ($scope.orgtype == 1) {
personimagelist.push($scope.imagelist[1]);
}
if ($scope.orgtype == 2 || $scope.orgtype == 3 || $scope.orgtype == 5) {
personimagelist.push($scope.imagelist[0]);
}
if ($scope.orgtype == 4) {
if (UtilService.isDefined($scope.imagelist[0].photo_name)) {
personimagelist.push($scope.imagelist[0]);
}
if (UtilService.isDefined($scope.imagelist[1].photo_name)) {
personimagelist.push($scope.imagelist[1]);
}
}
tempimages = [];//附件总集合
var upimages = [];//上传附件集合
var doctypelist = [];//上传附件对应doctype集合
var oldidlist = [0, 0, 0, 0, 0];
angular.forEach(personimagelist, function (data, ind) {
if (data.photo_name.indexOf("file:") != -1) {
upimages.push(data.photo_name);
doctypelist.push(data.doctype);
oldidlist[ind] = data.id;
} else {
tempimages.push(data);
}
});
// console.log("--------附件类型集合--------");
// console.log(personimagelist);
UtilService.uploadFile(upimages, 0, "image/jpeg").then(function (response) {
console.log(response);
angular.forEach(response, function (value, index) {
if (value.status) {
tempimages.push({
id: oldidlist[index],
title: "",
doctype: doctypelist[index],
photo_name: value.userPhoto,
original_name: value.originalPhoto,
source_name: value.sourcePhoto,
source_size: value.source_size
});
}
});
applyI()
}, function () {
UtilService.showMess("网络不给力,请重试");
$scope.hideLoadingToast();
})
};
//接口请求
var applyI = function () {
var params = UtilService.concatJson(personauthinfo, $scope.authinfo);
params.images = angular.toJson(tempimages);//重新拼接附件
if (saveflg == 0) {
AccountService.subAuthInfo(params).then(function (response) {
UtilService.showMess("认证信息已提交,请您耐心等待……");
$timeout(function () {
$scope.go("tab.account");
}, 1000);
$scope.hideLoadingToast();
}, function () {
$scope.hideLoadingToast();
})
} else {
AccountService.updateAuthInfo(params).then(function (response) {
// console.log(response);
UtilService.showMess("修改认证申请成功");
$timeout(function () {
$scope.go("tab.account");
}, 1000);
$scope.hideLoadingToast();
}, function () {
$scope.hideLoadingToast();
})
}
};
// 提交认证信息
$scope.applyIdentifyAuth = function () {
if ($scope.orgtype == 2 && !UtilService.isDefined($scope.authinfo.university)) {
UtilService.showMess("院校名称不能为空");
return;
}
if (($scope.orgtype != 3 && $scope.orgtype != 5) && !UtilService.isDefined($scope.authinfo.title)) {
UtilService.showMess("职务不能为空");
return;
}
if ($scope.orgtype == 1 && !UtilService.isDefined($scope.authinfo.orgcode)) {
UtilService.showMess("组织机构代码不能为空");
return;
}
if (($scope.orgtype == 3 || $scope.orgtype == 5) && !UtilService.isDefined($scope.authinfo.department)) {
UtilService.showMess("部门不能为空");
return;
}
if ($scope.orgtype == 1 && (!UtilService.isDefined($scope.imagelist[1].photo_name))) {
UtilService.showMess("请上传单位的营业执照");
return;
}
if (($scope.orgtype == 2 || $scope.orgtype == 3 || $scope.orgtype == 5) && !UtilService.isDefined($scope.imagelist[0].photo_name)) {
UtilService.showMess("请上传工作证明照片");
return;
}
if ($scope.orgtype == 4 && (!UtilService.isDefined($scope.imagelist[0].photo_name) && !UtilService.isDefined($scope.imagelist[1].photo_name))) {
UtilService.showMess("请上传工作证明或营业执照照片");
return;
}
uploadImages();
$scope.showLoadingToast();
};
// 职称类型
$scope.showCardType = function () {
var buttons = [];
angular.forEach(positionaltitlelist, function (value, index) {
buttons.push({
text: '' + value.itemkey + '',
type: value.itemvalue,
name: value.itemkey
})
});
$ionicActionSheet.show({
buttons: buttons,
cancelText: '取消',
buttonClicked: function (index) {
$scope.authinfo.positionaltitles = buttons[index].type;
$scope.authinfo.positionaltitlename = buttons[index].name;
return true;
}
});
};
//接收城市选择数据
var reciveregplace = $scope.$on("registplace", function (event, data) {
$scope.authinfo.areaid = data.areaid;
$scope.authinfo.district = data.registplace;
});
//页面销毁时 回收广播
$scope.$on('$destroy', function () {
reciveregplace();
});
});