Merge branch 'weixin_guange' of https://git.trustie.net/jacknudt/trustieforge into weixin_guange
commit
6b89460295
@ -0,0 +1,35 @@
|
||||
module Mobile
|
||||
module Entities
|
||||
class ProjectMember < Grape::Entity
|
||||
include Redmine::I18n
|
||||
include ApplicationHelper
|
||||
include ApiHelper
|
||||
def self.member_expose(f)
|
||||
expose f do |u,opt|
|
||||
if u.is_a?(Hash) && u.key?(f)
|
||||
u[f]
|
||||
elsif u.is_a?(::Member)
|
||||
if u.respond_to?(f)
|
||||
u.send(f)
|
||||
else
|
||||
case f
|
||||
when :roles_id
|
||||
u.roles[0].id
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
expose :user, using: Mobile::Entities::User do |c, opt|
|
||||
if c.is_a?(::Member)
|
||||
c.user
|
||||
end
|
||||
end
|
||||
|
||||
member_expose :roles_id
|
||||
|
||||
end
|
||||
end
|
||||
end
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,21 @@
|
||||
<div class="post-container">
|
||||
<div loading-spinner></div>
|
||||
<div ng-show="current_edit_member" class="post-container" style="padding-bottom:50px;">
|
||||
<div class="blue-title">角色变更</div>
|
||||
<div class="class-detail-row f13 c-grey3"><img ng-src="/images/wechat/{{current_edit_member.user.gender==0 ? 'male' : 'female'}}.jpg" width="30" class="fl ml10 img-circle mt4" /><span class="fl mt10 ml10">{{current_edit_member.user.realname == "" ? current_edit_member.user.name : current_edit_member.user.realname}}</span><img ng-src="/images/wechat/{{current_edit_member.user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt10" /><div class="cl"></div> </div>
|
||||
<div class="course-list-row f13 c-grey3 mt10"><span class="fl ml10">角色</span></div>
|
||||
<ul class="class-list f13 c-grey3">
|
||||
<li><span class="fl ml10 class-list-name hidden">教师</span><span ng-click="selectRole(9)" ng-class="['login-box', 'fr', 'mr10', 'mt12','img-circle', {'checked': current_edit_member.roles_id == 9}]"></span></li>
|
||||
<li><span class="fl ml10 class-list-name hidden">教辅</span><span ng-click="selectRole(7)" ng-class="['login-box', 'fr', 'mr10', 'mt12','img-circle', {'checked': current_edit_member.roles_id == 7}]"></span></li>
|
||||
<li class="border-bottom-none"><span class="fl ml10 class-list-name hidden">学生</span><span ng-click="selectRole(10)" ng-class="['login-box', 'fr', 'mr10', 'mt12','img-circle', {'checked': current_edit_member.roles_id == 10}]"></span></li>
|
||||
</ul>
|
||||
<div class="bottom-tab-wrap mt10">
|
||||
<a href="javascript:void(0);" ng-click="cancel()" class="weixin-tab c-grey border-top">取消</a>
|
||||
<a href="javascript:void(0);" ng-click="edit_member_role()" class="weixin-tab link-blue2 border-top">确定</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<my-alert message="alertService.message" title="alertService.title" visible="alertService.visible" cb="alertService.cb"></my-alert>
|
||||
</div>
|
@ -0,0 +1,21 @@
|
||||
<div class="post-container">
|
||||
<div loading-spinner></div>
|
||||
<div ng-show="current_edit_member" class="post-container" style="padding-bottom:50px;">
|
||||
<div class="blue-title">角色变更</div>
|
||||
<div class="class-detail-row f13 c-grey3"><img ng-src="/images/wechat/{{current_edit_member.user.gender==0 ? 'male' : 'female'}}.jpg" width="30" class="fl ml10 img-circle mt4" /><span class="fl mt10 ml10">{{current_edit_member.user.real_name == "" ? current_edit_member.user.name : current_edit_member.user.real_name}}</span><img ng-src="/images/wechat/{{current_edit_member.user.gender==0 ? 'male' : 'female'}}.png" width="15" class="fl ml10 mt10" /><div class="cl"></div> </div>
|
||||
<div class="course-list-row f13 c-grey3 mt10"><span class="fl ml10">角色</span></div>
|
||||
<ul class="class-list f13 c-grey3">
|
||||
<li><span class="fl ml10 class-list-name hidden">管理人员</span><span ng-click="selectRole(3)" ng-class="['login-box', 'fr', 'mr10', 'mt12','img-circle', {'checked': current_edit_member.roles_id == 3}]"></span></li>
|
||||
<li><span class="fl ml10 class-list-name hidden">开发人员</span><span ng-click="selectRole(4)" ng-class="['login-box', 'fr', 'mr10', 'mt12','img-circle', {'checked': current_edit_member.roles_id == 4}]"></span></li>
|
||||
<li class="border-bottom-none"><span class="fl ml10 class-list-name hidden">报告人员</span><span ng-click="selectRole(5)" ng-class="['login-box', 'fr', 'mr10', 'mt12','img-circle', {'checked': current_edit_member.roles_id == 5}]"></span></li>
|
||||
</ul>
|
||||
<div class="bottom-tab-wrap mt10">
|
||||
<a href="javascript:void(0);" ng-click="cancel()" class="weixin-tab c-grey border-top">取消</a>
|
||||
<a href="javascript:void(0);" ng-click="edit_member_role()" class="weixin-tab link-blue2 border-top">确定</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<my-alert message="alertService.message" title="alertService.title" visible="alertService.visible" cb="alertService.cb"></my-alert>
|
||||
</div>
|
@ -0,0 +1,11 @@
|
||||
<div class="post-container">
|
||||
<div loading-spinner></div>
|
||||
|
||||
<div class="blue-title">新建项目</div>
|
||||
<form novalidate name="classForm">
|
||||
<div class="course-list-row f13 c-grey3 mt30"><span class="fl ml15 c-grey3">项目</span><input class="new-class-input ml25" ng-model="project.name" required placeholder="例如:团队写作方法与机制研究" /></div>
|
||||
<a ng-click="newProject(classForm, project)" ng-class="['finish-btn', {'btn-disabled':!classForm.$valid} ]" >完成</a>
|
||||
</form>
|
||||
|
||||
<my-alert message="alertService.message" title="alertService.title" visible="alertService.visible" cb="alertService.cb"></my-alert>
|
||||
</div>
|
@ -1,199 +1,199 @@
|
||||
|
||||
app.controller('ActivityController',
|
||||
['$anchorScroll', '$location','$scope', '$http', '$timeout', 'auth', 'rms', 'common','alertService',
|
||||
function($anchorScroll, $location,$scope, $http, $timeout, auth, rms, common, alertService){
|
||||
$scope.replaceUrl = function(url){
|
||||
return url;
|
||||
};
|
||||
|
||||
$scope.menus = ['所有动态', '课程动态', '项目动态'];
|
||||
|
||||
$scope.alertService = alertService.create();
|
||||
console.log("ActivityController load");
|
||||
|
||||
$scope.page = rms.get('page') || 0;
|
||||
$scope.activities = rms.get("activities") || [];
|
||||
$scope.has_more = rms.get("has_more");
|
||||
|
||||
$scope.course_page = rms.get('course_page') || 0;
|
||||
$scope.course_activities = rms.get("course_activities") || [];
|
||||
$scope.course_has_more = rms.get("course_has_more");
|
||||
|
||||
$scope.project_page = rms.get('project_page') || 0;
|
||||
$scope.project_activities = rms.get("project_activities") || [];
|
||||
$scope.project_has_more = rms.get("project_has_more");
|
||||
|
||||
$scope.loadActData = function(index,page){
|
||||
container_type = "All";
|
||||
switch(index){
|
||||
case 1:
|
||||
container_type = "All";
|
||||
$scope.page = page;
|
||||
break;
|
||||
case 2:
|
||||
container_type = "Course";
|
||||
$scope.course_page = page;
|
||||
break;
|
||||
case 3:
|
||||
container_type = "Project";
|
||||
$scope.project_page = page;
|
||||
break;
|
||||
}
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: apiUrl+ "activities",
|
||||
data: {token: auth.token(), page: page, container_type: container_type}
|
||||
}).then(function successCallback(response) {
|
||||
if(response.data.page >0) {
|
||||
switch(response.data.container_type){
|
||||
case "All":
|
||||
$scope.activities = $scope.activities.concat(response.data.data);
|
||||
break;
|
||||
case "Course":
|
||||
$scope.course_activities = $scope.course_activities.concat(response.data.data);
|
||||
break;
|
||||
case "Project":
|
||||
$scope.project_activities = $scope.project_activities.concat(response.data.data);
|
||||
break;
|
||||
case 3:
|
||||
}
|
||||
} else {
|
||||
switch(response.data.container_type){
|
||||
case "All":
|
||||
$scope.activities = response.data.data;
|
||||
break;
|
||||
case "Course":
|
||||
$scope.course_activities = response.data.data;
|
||||
break;
|
||||
case "Project":
|
||||
$scope.project_activities = response.data.data;
|
||||
break;
|
||||
case 3:
|
||||
}
|
||||
}
|
||||
|
||||
switch(response.data.container_type){
|
||||
case "All":
|
||||
rms.save("activities", $scope.activities);
|
||||
$scope.has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
|
||||
rms.save('has_more', $scope.has_more);
|
||||
rms.save('page', response.data.page);
|
||||
break;
|
||||
case "Course":
|
||||
rms.save("course_activities", $scope.course_activities);
|
||||
$scope.course_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
|
||||
rms.save('course_has_more', $scope.course_has_more);
|
||||
rms.save('course_page', response.data.page);
|
||||
break;
|
||||
case "Project":
|
||||
rms.save("project_activities", $scope.project_activities);
|
||||
$scope.project_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
|
||||
rms.save('project_has_more', $scope.project_has_more);
|
||||
rms.save('project_page', response.data.page);
|
||||
break;
|
||||
case 3:
|
||||
}
|
||||
console.log(response.data);
|
||||
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
$scope.tab = function(index){
|
||||
$scope.currentTab = index;
|
||||
switch(index){
|
||||
//ALL
|
||||
case 1:
|
||||
if($scope.activities.length<=0){
|
||||
$scope.loadActData(index,0);
|
||||
}
|
||||
break;
|
||||
//Course
|
||||
case 2:
|
||||
if($scope.course_activities.length<=0){
|
||||
$scope.loadActData(index,0);
|
||||
}
|
||||
break;
|
||||
//Project
|
||||
case 3:
|
||||
if($scope.project_activities.length<=0){
|
||||
$scope.loadActData(index,0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
rms.save("tab_num",$scope.currentTab);
|
||||
}
|
||||
|
||||
|
||||
$scope.currentTab = rms.get('tab_num') || 1;
|
||||
|
||||
if($scope.activities.length<=0){
|
||||
$scope.loadActData('tab_num',0);
|
||||
} else {
|
||||
$timeout(function(){
|
||||
window.scrollTo(0, rms.get("yoffset"));
|
||||
});
|
||||
}
|
||||
|
||||
//跳到详情页
|
||||
$scope.goDetail = function(type, act_id,id){
|
||||
rms.save("yoffset", document.documentElement.scrollTop || document.body.scrollTop);
|
||||
rms.save("activities",$scope.activities);
|
||||
rms.save("course_activities",$scope.course_activities);
|
||||
rms.save("project_activities",$scope.project_activities);
|
||||
$location.path('/'+type+'/'+act_id);
|
||||
}
|
||||
|
||||
$scope.addPraise = function(act){
|
||||
for(var i in $scope.activities){
|
||||
if($scope.activities[i].act_id == act.act_id){
|
||||
$scope.activities[i].praise_count += 1;
|
||||
$scope.activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in $scope.course_activities){
|
||||
if($scope.course_activities[i].act_id == act.act_id){
|
||||
$scope.course_activities[i].praise_count += 1;
|
||||
$scope.course_activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in $scope.project_activities){
|
||||
if($scope.project_activities[i].act_id == act.act_id){
|
||||
$scope.project_activities[i].praise_count += 1;
|
||||
$scope.project_activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
common.addCommonPraise(act);
|
||||
};
|
||||
|
||||
$scope.decreasePraise = function(act){
|
||||
for(var i in $scope.activities){
|
||||
if($scope.activities[i].act_id == act.act_id){
|
||||
$scope.activities[i].praise_count -= 1;
|
||||
$scope.activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in $scope.course_activities){
|
||||
if($scope.course_activities[i].act_id == act.act_id){
|
||||
$scope.course_activities[i].praise_count -= 1;
|
||||
$scope.course_activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in $scope.project_activities){
|
||||
if($scope.project_activities[i].act_id == act.act_id){
|
||||
$scope.project_activities[i].praise_count -= 1;
|
||||
$scope.project_activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
common.decreaseCommonPraise(act);
|
||||
};
|
||||
|
||||
app.controller('ActivityController',
|
||||
['$anchorScroll', '$location','$scope', '$http', '$timeout', 'auth', 'rms', 'common','alertService',
|
||||
function($anchorScroll, $location,$scope, $http, $timeout, auth, rms, common, alertService){
|
||||
$scope.replaceUrl = function(url){
|
||||
return url;
|
||||
};
|
||||
|
||||
$scope.menus = ['所有动态', '课程动态', '项目动态'];
|
||||
|
||||
$scope.alertService = alertService.create();
|
||||
console.log("ActivityController load");
|
||||
|
||||
$scope.page = rms.get('page') || 0;
|
||||
$scope.activities = rms.get("activities") || [];
|
||||
$scope.has_more = rms.get("has_more");
|
||||
|
||||
$scope.course_page = rms.get('course_page') || 0;
|
||||
$scope.course_activities = rms.get("course_activities") || [];
|
||||
$scope.course_has_more = rms.get("course_has_more");
|
||||
|
||||
$scope.project_page = rms.get('project_page') || 0;
|
||||
$scope.project_activities = rms.get("project_activities") || [];
|
||||
$scope.project_has_more = rms.get("project_has_more");
|
||||
|
||||
$scope.loadActData = function(index,page){
|
||||
container_type = "All";
|
||||
switch(index){
|
||||
case 1:
|
||||
container_type = "All";
|
||||
$scope.page = page;
|
||||
break;
|
||||
case 2:
|
||||
container_type = "Course";
|
||||
$scope.course_page = page;
|
||||
break;
|
||||
case 3:
|
||||
container_type = "Project";
|
||||
$scope.project_page = page;
|
||||
break;
|
||||
}
|
||||
|
||||
$http({
|
||||
method: 'POST',
|
||||
url: apiUrl+ "activities",
|
||||
data: {token: auth.token(), page: page, container_type: container_type}
|
||||
}).then(function successCallback(response) {
|
||||
if(response.data.page >0) {
|
||||
switch(response.data.container_type){
|
||||
case "All":
|
||||
$scope.activities = $scope.activities.concat(response.data.data);
|
||||
break;
|
||||
case "Course":
|
||||
$scope.course_activities = $scope.course_activities.concat(response.data.data);
|
||||
break;
|
||||
case "Project":
|
||||
$scope.project_activities = $scope.project_activities.concat(response.data.data);
|
||||
break;
|
||||
case 3:
|
||||
}
|
||||
} else {
|
||||
switch(response.data.container_type){
|
||||
case "All":
|
||||
$scope.activities = response.data.data;
|
||||
break;
|
||||
case "Course":
|
||||
$scope.course_activities = response.data.data;
|
||||
break;
|
||||
case "Project":
|
||||
$scope.project_activities = response.data.data;
|
||||
break;
|
||||
case 3:
|
||||
}
|
||||
}
|
||||
|
||||
switch(response.data.container_type){
|
||||
case "All":
|
||||
rms.save("activities", $scope.activities);
|
||||
$scope.has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
|
||||
rms.save('has_more', $scope.has_more);
|
||||
rms.save('page', response.data.page);
|
||||
break;
|
||||
case "Course":
|
||||
rms.save("course_activities", $scope.course_activities);
|
||||
$scope.course_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
|
||||
rms.save('course_has_more', $scope.course_has_more);
|
||||
rms.save('course_page', response.data.page);
|
||||
break;
|
||||
case "Project":
|
||||
rms.save("project_activities", $scope.project_activities);
|
||||
$scope.project_has_more = (response.data.count + response.data.page * 10) < response.data.all_count;
|
||||
rms.save('project_has_more', $scope.project_has_more);
|
||||
rms.save('project_page', response.data.page);
|
||||
break;
|
||||
case 3:
|
||||
}
|
||||
console.log(response.data);
|
||||
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
};
|
||||
|
||||
$scope.tab = function(index){
|
||||
$scope.currentTab = index;
|
||||
switch(index){
|
||||
//ALL
|
||||
case 1:
|
||||
if($scope.activities.length<=0){
|
||||
$scope.loadActData(index,0);
|
||||
}
|
||||
break;
|
||||
//Course
|
||||
case 2:
|
||||
if($scope.course_activities.length<=0){
|
||||
$scope.loadActData(index,0);
|
||||
}
|
||||
break;
|
||||
//Project
|
||||
case 3:
|
||||
if($scope.project_activities.length<=0){
|
||||
$scope.loadActData(index,0);
|
||||
}
|
||||
break;
|
||||
}
|
||||
rms.save("tab_num",$scope.currentTab);
|
||||
}
|
||||
|
||||
|
||||
$scope.currentTab = rms.get('tab_num') || 1;
|
||||
|
||||
if($scope.activities.length<=0){
|
||||
$scope.loadActData('tab_num',0);
|
||||
} else {
|
||||
$timeout(function(){
|
||||
window.scrollTo(0, rms.get("yoffset"));
|
||||
});
|
||||
}
|
||||
|
||||
//跳到详情页
|
||||
$scope.goDetail = function(type, act_id,id){
|
||||
rms.save("yoffset", document.documentElement.scrollTop || document.body.scrollTop);
|
||||
rms.save("activities",$scope.activities);
|
||||
rms.save("course_activities",$scope.course_activities);
|
||||
rms.save("project_activities",$scope.project_activities);
|
||||
$location.path('/'+type+'/'+act_id);
|
||||
}
|
||||
|
||||
$scope.addPraise = function(act){
|
||||
for(var i in $scope.activities){
|
||||
if($scope.activities[i].act_id == act.act_id){
|
||||
$scope.activities[i].praise_count += 1;
|
||||
$scope.activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in $scope.course_activities){
|
||||
if($scope.course_activities[i].act_id == act.act_id){
|
||||
$scope.course_activities[i].praise_count += 1;
|
||||
$scope.course_activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in $scope.project_activities){
|
||||
if($scope.project_activities[i].act_id == act.act_id){
|
||||
$scope.project_activities[i].praise_count += 1;
|
||||
$scope.project_activities[i].has_praise = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
common.addCommonPraise(act);
|
||||
};
|
||||
|
||||
$scope.decreasePraise = function(act){
|
||||
for(var i in $scope.activities){
|
||||
if($scope.activities[i].act_id == act.act_id){
|
||||
$scope.activities[i].praise_count -= 1;
|
||||
$scope.activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in $scope.course_activities){
|
||||
if($scope.course_activities[i].act_id == act.act_id){
|
||||
$scope.course_activities[i].praise_count -= 1;
|
||||
$scope.course_activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
for(var i in $scope.project_activities){
|
||||
if($scope.project_activities[i].act_id == act.act_id){
|
||||
$scope.project_activities[i].praise_count -= 1;
|
||||
$scope.project_activities[i].has_praise = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
common.decreaseCommonPraise(act);
|
||||
};
|
||||
}]);
|
@ -0,0 +1,71 @@
|
||||
|
||||
|
||||
app.controller('EditClassMemberController', ['$scope', '$http', 'auth', 'config', 'alertService','$location','$routeParams','rms', function($scope, $http, auth, config, alertService, $location,$routeParams, rms){
|
||||
var vm = $scope;
|
||||
|
||||
// vm.current_edit_member = rms.get('current_edit_member');
|
||||
vm.current_edit_member = null;
|
||||
|
||||
vm.alertService = alertService.create();
|
||||
|
||||
var course_id = $routeParams.id;
|
||||
var user_id = $routeParams.user_id;
|
||||
if(!vm.current_edit_member){
|
||||
$http.post(config.apiUrl+'courses/get_member_info', {
|
||||
token: auth.token(),
|
||||
id: course_id,
|
||||
user_id:user_id
|
||||
}).then(function(response){
|
||||
if(response.data.status!=0){
|
||||
vm.alertService.showMessage('提示', response.data.message);
|
||||
} else {
|
||||
course_id = response.data.course_id;
|
||||
user_id = response.data.user_id;
|
||||
vm.current_edit_member = response.data.member_info;
|
||||
vm.current_roles_id = vm.current_edit_member.roles_id;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
console.log(vm.current_edit_member);
|
||||
|
||||
vm.cancel = function(){
|
||||
vm.alertService.showMessage('提示', '您确定不对角色进行变更吗?', function(){
|
||||
// rms.save("project_master_members",[]);
|
||||
// rms.save("project_develop_members",[]);
|
||||
// rms.save("project_report_members",[]);
|
||||
window.history.back();
|
||||
// $location.path("/project").search({id: project_id});
|
||||
});
|
||||
};
|
||||
|
||||
vm.edit_member_role = function(){
|
||||
if(vm.current_roles_id == vm.current_edit_member.roles_id){
|
||||
vm.alertService.showMessage('提示', "该用户当前已是该角色");
|
||||
return;
|
||||
}
|
||||
|
||||
$http.post(config.apiUrl+'courses/edit_member_role', {
|
||||
token: auth.token(),
|
||||
id: course_id,
|
||||
user_id:vm.current_edit_member.user.id,
|
||||
role_id:vm.current_edit_member.roles_id
|
||||
}).then(function(response){
|
||||
if(response.data.status!=0){
|
||||
vm.alertService.showMessage('提示', response.data.message);
|
||||
} else {
|
||||
vm.alertService.showMessage('提示', '修改角色成功', function(){
|
||||
// window.history.back();
|
||||
$location.path("/class").search({id: course_id});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
vm.selectRole = function(role_id){
|
||||
vm.current_edit_member.roles_id = role_id;
|
||||
}
|
||||
|
||||
}] );
|
@ -0,0 +1,80 @@
|
||||
|
||||
|
||||
app.controller('EditProjectMemberController', ['$scope', '$http', 'auth', 'config', 'alertService','$location','$routeParams','rms', function($scope, $http, auth, config, alertService, $location,$routeParams, rms){
|
||||
var vm = $scope;
|
||||
|
||||
// vm.current_edit_member = rms.get('current_edit_member');
|
||||
|
||||
vm.current_edit_member = null;
|
||||
|
||||
vm.alertService = alertService.create();
|
||||
|
||||
var project_id = $routeParams.id;
|
||||
var user_id = $routeParams.user_id;
|
||||
if(!vm.current_edit_member){
|
||||
$http.post(config.apiUrl+'projects/get_member_info', {
|
||||
token: auth.token(),
|
||||
id: project_id,
|
||||
user_id:user_id
|
||||
}).then(function(response){
|
||||
if(response.data.status!=0){
|
||||
vm.alertService.showMessage('提示', response.data.message);
|
||||
} else {
|
||||
project_id = response.data.project_id;
|
||||
user_id = response.data.user_id;
|
||||
vm.current_edit_member = response.data.member_info;
|
||||
vm.current_roles_id = vm.current_edit_member.roles_id;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
console.log(vm.current_edit_member);
|
||||
|
||||
vm.cancel = function(){
|
||||
vm.alertService.showMessage('提示', '您确定不对角色进行变更吗?', function(){
|
||||
// rms.save("project_master_members",[]);
|
||||
// rms.save("project_develop_members",[]);
|
||||
// rms.save("project_report_members",[]);
|
||||
window.history.back();
|
||||
// $location.path("/project").search({id: project_id});
|
||||
});
|
||||
};
|
||||
|
||||
vm.edit_member_role = function(){
|
||||
if(vm.current_roles_id == vm.current_edit_member.roles_id){
|
||||
vm.alertService.showMessage('提示', "该用户当前已是该角色");
|
||||
return;
|
||||
}
|
||||
|
||||
$http.post(config.apiUrl+'projects/edit_member_role', {
|
||||
token: auth.token(),
|
||||
id: project_id,
|
||||
user_id:vm.current_edit_member.user.id,
|
||||
role_id:vm.current_edit_member.roles_id
|
||||
}).then(function(response){
|
||||
if(response.data.status!=0){
|
||||
vm.alertService.showMessage('提示', response.data.message);
|
||||
} else {
|
||||
vm.alertService.showMessage('提示', '修改角色成功', 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('tab_num',null);
|
||||
// window.history.back();
|
||||
$location.path("/project").search({id: project_id});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
};
|
||||
|
||||
vm.selectRole = function(role_id){
|
||||
vm.current_edit_member.roles_id = role_id;
|
||||
}
|
||||
|
||||
}] );
|
@ -0,0 +1,47 @@
|
||||
|
||||
|
||||
app.controller('NewProjectController', ['$scope', '$http', 'auth', 'config', 'alertService','$location','rms', function($scope, $http, auth, config, alertService, $location,rms){
|
||||
var vm = $scope;
|
||||
|
||||
vm.alertService = alertService.create();
|
||||
|
||||
vm.project = {
|
||||
name:""
|
||||
};
|
||||
|
||||
vm.addClass = function(){
|
||||
vm.syllabus.courses.push({});
|
||||
};
|
||||
|
||||
vm.deleteClass = function(index){
|
||||
vm.syllabus.courses.splice(index, 1);
|
||||
}
|
||||
|
||||
vm.newProject = function (frm, project) {
|
||||
frm.$setSubmitted();
|
||||
console.log(project);
|
||||
|
||||
if(!frm.$valid){
|
||||
console.log(frm.$error);
|
||||
return;
|
||||
}
|
||||
|
||||
$http.post(config.apiUrl+"projects/create", {
|
||||
token: auth.token(),
|
||||
name: project.name
|
||||
}).then(function(response){
|
||||
if(response.data.status!=0){
|
||||
vm.alertService.showMessage('出错了', response.data.message);
|
||||
} else {
|
||||
vm.alertService.showMessage('提示', '新建项目成功', function(){
|
||||
// window.history.back();
|
||||
rms.save('projects',[]);
|
||||
$location.path("/project_list");
|
||||
});
|
||||
}
|
||||
console.log(response.data.data);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}] );
|
@ -1,64 +1,197 @@
|
||||
app.controller('ProjectController', ['$scope', 'config','$http', 'auth','$location','$routeParams','alertService','rms', function($scope, config, $http, auth, $location, $routeParams,alertService,rms){
|
||||
app.controller('ProjectController', ['$scope', 'config','$http','$timeout', 'auth','$location','$routeParams','alertService','rms','common', function($scope, config, $http,$timeout, auth, $location, $routeParams,alertService,rms,common){
|
||||
$scope.replaceUrl = function(url){
|
||||
return url;
|
||||
};
|
||||
|
||||
var vm = $scope;
|
||||
var projectid = $routeParams.id;
|
||||
|
||||
vm.project_activities = [];
|
||||
vm.project_activities_page = 0;
|
||||
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 = [];
|
||||
vm.project_members_page = 0;
|
||||
|
||||
// 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.currentTab = 1;
|
||||
vm.tab = function(index){
|
||||
vm.currentTab = index;
|
||||
vm.searchText = '';
|
||||
// vm.project_members_has_more = rms.get("project_members_has_more");
|
||||
|
||||
if(index == 1){
|
||||
$http.get(config.apiUrl + 'project/activities?token='+auth.token()+'&project_id='+projectid).then(
|
||||
function(response) {
|
||||
console.log(response.data);
|
||||
vm.project_activities = response.data.data;
|
||||
vm.alertService = alertService.create();
|
||||
|
||||
//跳入邀请界面
|
||||
vm.invite = function(){
|
||||
vm.alertService.showMessage('提示', "该功能将在近日开发,敬请期待!");
|
||||
|
||||
|
||||
// $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 if(index == 2){
|
||||
$http.get(config.apiUrl + 'project/members?token='+auth.token()+'&project_id='+projectid).then(
|
||||
function(response) {
|
||||
console.log(response.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);
|
||||
}
|
||||
|
||||
|
||||
$http.get(config.apiUrl+ 'project/'+projectid+"?token="+auth.token()).then(
|
||||
function(response) {
|
||||
}, 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;
|
||||
|
||||
if (response.data.status == 0){
|
||||
vm.project = response.data.data;
|
||||
resetMenu(vm.project.can_setting);
|
||||
vm.tab(1);
|
||||
}
|
||||
else{
|
||||
vm.alertService.showMessage('提示', response.data.message);
|
||||
}
|
||||
|
||||
|
||||
}, function errorCallback(response) {
|
||||
});
|
||||
}
|
||||
|
||||
//跳到详情页
|
||||
vm.goDetail = function(type, act_id,id){
|
||||
rms.save("yoffset", document.documentElement.scrollTop);
|
||||
rms.save("project_activities",vm.project_activities);
|
||||
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);
|
||||
vm.tab(1);
|
||||
}
|
||||
else{
|
||||
vm.alertService.showMessage('提示', response.data.message,function(){
|
||||
window.history.back();
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
);
|
||||
vm.currentTab = 1;
|
||||
vm.tab(vm.currentTab);
|
||||
} 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);
|
||||
|
||||
$location.path("/edit_project_member").search({id: projectid,user_id: data.user.id});
|
||||
};
|
||||
|
||||
}]);
|
Loading…
Reference in new issue