239 lines
8.7 KiB
JavaScript
239 lines
8.7 KiB
JavaScript
app.controller('ProjectController', ['$scope', 'config','$http','$timeout', 'auth','$location','$routeParams','alertService','rms','common', function($scope, config, $http,$timeout, auth, $location, $routeParams,alertService,rms,common){
|
|
common.checkLogin();
|
|
|
|
$scope.replaceUrl = function(url){
|
|
return url;
|
|
};
|
|
|
|
var vm = $scope;
|
|
var projectid = $routeParams.id;
|
|
var tag = $routeParams.tag;
|
|
|
|
vm.project_activities_page = rms.get('project_activities_page') || 0;
|
|
vm.project_activities = rms.get("project_activities") || [];
|
|
vm.project_has_more = rms.get("project_has_more");
|
|
|
|
vm.project = rms.get("project") || null;
|
|
|
|
|
|
// vm.project_members_page = rms.get('project_members_page') || 0;
|
|
vm.project_master_members = rms.get("project_master_members") || [];
|
|
vm.project_develop_members = rms.get("project_develop_members") || [];
|
|
vm.project_report_members = rms.get("project_report_members") || [];
|
|
|
|
// vm.review_master_members = rms.get("review_master_members") || [];
|
|
// vm.review_develop_members = rms.get("review_master_members") || [];
|
|
|
|
vm.review_master_members = rms.get("review_master_members") || [];
|
|
vm.review_develop_members = rms.get("review_develop_members") || [];
|
|
|
|
// vm.project_members_has_more = rms.get("project_members_has_more");
|
|
|
|
vm.alertService = alertService.create();
|
|
|
|
//跳入邀请界面
|
|
vm.invite = function(){
|
|
// vm.alertService.showMessage('提示', "该功能将在近日开放,敬请期待!");
|
|
|
|
rms.save('project_activities_page',vm.project_activities_page);
|
|
rms.save("project_activities",vm.project_activities);
|
|
rms.save("project_has_more",vm.project_has_more);
|
|
rms.save("project",vm.project);
|
|
rms.save("project_master_members",vm.project_master_members);
|
|
rms.save("project_develop_members",vm.project_develop_members);
|
|
rms.save("project_report_members",vm.project_report_members);
|
|
rms.save("review_master_members",vm.review_master_members);
|
|
rms.save("review_develop_members",vm.review_develop_members);
|
|
|
|
$location.path("/project_invite_code").search({id: projectid});
|
|
};
|
|
|
|
//获取项目动态
|
|
vm.getActivities = function(page){
|
|
$http({
|
|
method: 'POST',
|
|
url: apiUrl + "projects/activities?id=" + projectid,
|
|
data:{token:auth.token(),page:page}
|
|
}).then(function successCallback(response) {
|
|
console.log(response.data);
|
|
if(response.data.status == 0){
|
|
vm.project_activities_page = response.data.page;
|
|
if(response.data.page > 0)
|
|
{
|
|
vm.project_activities = vm.project_activities.concat(response.data.data);
|
|
}
|
|
else{
|
|
vm.project_activities = response.data.data;
|
|
vm.project_activities_page = 0;
|
|
vm.project_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
|
|
}
|
|
}
|
|
else{
|
|
vm.alertService.showMessage('提示', response.data.message);
|
|
}
|
|
|
|
|
|
}, function errorCallback(response) {
|
|
});
|
|
}
|
|
|
|
vm.getMembers = function(page){
|
|
$http({
|
|
method: 'POST',
|
|
url: apiUrl + "projects/members?id=" + projectid,
|
|
data:{token:auth.token(),page:page}
|
|
}).then(function successCallback(response) {
|
|
console.log(response.data);
|
|
if(response.data.status == 0){
|
|
// vm.project_members_page = response.data.page;
|
|
// if(response.data.page > 0)
|
|
// {
|
|
// vm.project_members = vm.project_members.concat(response.data.data);
|
|
// }
|
|
// else{
|
|
// vm.project_members = response.data.data;
|
|
// vm.project_members_page = 0;
|
|
// vm.project_members_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
|
|
// }
|
|
vm.project_master_members = response.data.master_members;
|
|
vm.project_develop_members = response.data.develop_members;
|
|
vm.project_report_members = response.data.report_members;
|
|
|
|
vm.review_master_members = response.data.review_master_members;
|
|
vm.review_develop_members = response.data.review_develop_members;
|
|
}
|
|
else{
|
|
vm.alertService.showMessage('提示', response.data.message);
|
|
}
|
|
|
|
|
|
}, function errorCallback(response) {
|
|
});
|
|
}
|
|
|
|
//跳到详情页
|
|
vm.goDetail = function(type, act_id,id){
|
|
rms.save("yoffset", document.documentElement.scrollTop || document.body.scrollTop);
|
|
rms.save("project_activities",vm.project_activities);
|
|
rms.save('project_has_more', vm.project_has_more);
|
|
rms.save("project",vm.project);
|
|
$location.path('/'+type+'/'+act_id);
|
|
};
|
|
|
|
//切换 按钮
|
|
vm.tab = function(index){
|
|
vm.currentTab = index;
|
|
vm.searchText = '';
|
|
|
|
if(index == 1 && vm.project_activities.length <= 0 ){
|
|
vm.getActivities(0);
|
|
}
|
|
else if(index == 2 && vm.project_master_members.length <= 0){
|
|
vm.getMembers(0);
|
|
}
|
|
|
|
rms.save("tab_num",vm.currentTab);
|
|
};
|
|
|
|
//初始化TAB按钮
|
|
var resetMenu = function(can_setting){
|
|
if(can_setting){
|
|
vm.menus = ["项目动态", "成员管理"];
|
|
} else {
|
|
vm.menus = ['项目动态', "我的伙伴"];
|
|
}
|
|
}
|
|
if(vm.project){
|
|
resetMenu(vm.project.can_setting);
|
|
}
|
|
|
|
vm.currentTab = rms.get('tab_num');
|
|
|
|
//
|
|
if(!vm.currentTab){
|
|
$http.get(config.apiUrl+ 'projects/'+projectid+"?token="+auth.token()).then(
|
|
function(response) {
|
|
console.log(response.data);
|
|
|
|
if (response.data.status == 0){
|
|
vm.project = response.data.data;
|
|
resetMenu(vm.project.can_setting);
|
|
if(tag){
|
|
vm.tab(2);
|
|
tag = null;
|
|
vm.currentTab = 2;
|
|
}
|
|
else{
|
|
vm.tab(1);
|
|
vm.currentTab = 1;
|
|
}
|
|
}
|
|
else{
|
|
vm.alertService.showMessage('提示', response.data.message,function(){
|
|
window.history.back();
|
|
});
|
|
|
|
}
|
|
}
|
|
);
|
|
} else {
|
|
$timeout(function(){
|
|
window.scrollTo(0, rms.get("yoffset"));
|
|
});
|
|
}
|
|
|
|
vm.addPraise = function(act){
|
|
for(var i in vm.project_activities){
|
|
if(vm.project_activities[i].act_id == act.act_id){
|
|
vm.project_activities[i].praise_count += 1;
|
|
vm.project_activities[i].has_praise = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
common.addCommonPraise(act);
|
|
};
|
|
|
|
vm.decreasePraise = function(act){
|
|
for(var i in vm.project_activities){
|
|
if(vm.project_activities[i].act_id == act.act_id){
|
|
vm.project_activities[i].praise_count -= 1;
|
|
vm.project_activities[i].has_praise = false;
|
|
break;
|
|
}
|
|
}
|
|
|
|
common.decreaseCommonPraise(act);
|
|
};
|
|
|
|
vm.onSetting = function(data){
|
|
rms.save('current_edit_member', data);
|
|
|
|
rms.save('project_activities_page',vm.project_activities_page);
|
|
rms.save("project_activities",vm.project_activities);
|
|
rms.save("project_has_more",vm.project_has_more);
|
|
|
|
rms.save("project",vm.project);
|
|
rms.save("project_master_members",vm.project_master_members);
|
|
rms.save("project_develop_members",vm.project_develop_members);
|
|
rms.save("project_report_members",vm.project_report_members);
|
|
rms.save("review_master_members",vm.review_master_members);
|
|
rms.save("review_develop_members",vm.review_develop_members);
|
|
|
|
$location.path("/edit_project_member").search({id: projectid,user_id: data.user.id});
|
|
};
|
|
|
|
vm.review = function(user){
|
|
rms.save('current_review_member', user);
|
|
rms.save('current_project', vm.project);
|
|
rms.save("project",vm.project);
|
|
rms.save("project_master_members",vm.project_master_members);
|
|
rms.save("project_develop_members",vm.project_develop_members);
|
|
rms.save("project_report_members",vm.project_report_members);
|
|
rms.save("review_master_members",vm.review_master_members);
|
|
rms.save("review_develop_members",vm.review_develop_members);
|
|
|
|
$location.path("/review_project_member").search({id: projectid,user_id: user.id});
|
|
}
|
|
|
|
}]); |