socialforge/public/javascripts/wechat/controllers/project.js

293 lines
11 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.alertService_2 = 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);
vm.project_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
}
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_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);
// $location.path('/'+type+'/'+act_id);
$location.path("/"+type).search({id: 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 || !vm.project){
$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});
}
vm.goPublishNote = function(){
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);
rms.save('current_project', vm.project);
$location.path("/project_publishnote").search({id:projectid});
};
vm.quit = function(){
vm.alertService_2.showMessage('提示', "是否确认退出项目",function(){
$http({
method: 'POST',
url: apiUrl + "projects/" + projectid+"/quit",
data:{token:auth.token()}
}).then(function successCallback(response) {
console.log(response.data);
if(response.data.status == 0){
vm.alertService.showMessage('提示', response.data.message,function(){
//确定
rms.save('project_activities_page',0);
rms.save("project_activities",[]);
rms.save("project_has_more",false);
rms.save("project",null);
rms.save("project_master_members",[]);
rms.save("project_develop_members",[]);
rms.save("project_report_members",[]);
rms.save("review_master_members",[]);
rms.save("review_develop_members",[]);
rms.save('tab_num',null);
rms.save('projects',[]);
$location.path("/project_list");
});
}
else{
vm.alertService.showMessage('提示', response.data.message);
}
});
});
};
}]);