From db7c267a47ac16dfb66781bb24c1b88713f08974 Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Mon, 25 Jul 2016 17:02:42 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=8D=95=E4=B8=AA?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=8A=A8=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/projects.rb | 23 +-- public/assets/wechat/project.html | 133 ++++++++++++------ .../javascripts/wechat/controllers/project.js | 129 +++++++++++++---- 3 files changed, 205 insertions(+), 80 deletions(-) diff --git a/app/api/mobile/apis/projects.rb b/app/api/mobile/apis/projects.rb index 181e5746b..c1ada723c 100644 --- a/app/api/mobile/apis/projects.rb +++ b/app/api/mobile/apis/projects.rb @@ -29,7 +29,7 @@ module Mobile ps = ProjectsService.new project = ps.show_project(params,current_user) - if project[:status] != 9 + if project[:status] == 9 {status:-1, message: '该项目不存在或已被删除啦' } else present :data, project, with: Mobile::Entities::Project,user: current_user @@ -40,19 +40,26 @@ module Mobile desc "获取项目动态" params do + requires :id, type: Integer requires :token, type: String - end - post 'auth' do + post 'activities' do authenticate! - auth = 0 + user = current_user - if (current_user.user_extensions && current_user.user_extensions.identity == 0 && current_user.allowed_to?(:add_course, nil, :global => true)) - auth = 1 - end + project_types = "('Message','Issue','Project')" + activities = UserActivity.where("(container_type = 'Project' and container_id = #{params[:id]} and act_type in #{project_types})").order('updated_at desc') - present :auth, auth + page = params[:page] ? params[:page] : 0 + all_count = activities.count + activities = activities.limit(10).offset(page * 10) + count = activities.count + present :data, activities, with: Mobile::Entities::Activity,user: user + present :all_count, all_count + present :count, count + present :page, page + present :status, 0 end desc "获取项目" diff --git a/public/assets/wechat/project.html b/public/assets/wechat/project.html index f9618411d..2f14b0a3d 100644 --- a/public/assets/wechat/project.html +++ b/public/assets/wechat/project.html @@ -1,60 +1,105 @@
-
邀请码
+
邀请码
{{menu}}
- - - - - - - +
+
+
+
+
+
+
+
+ +
{{act.latest_update}}
+
+ +
+
+ 状态:{{act.issue_detail.issue_status}} 优先级:{{act.issue_detail.issue_priority}}
+ 指派给:{{act.issue_detail.issue_assigned_to}} 完成度:{{act.issue_detail.done_ratio}}% +
+
+
+ +
+
+
{{act.praise_count}}
+
{{act.praise_count}}
+
+ +
+
+
+
+
- - -
-
- -
-
-
-
{{r.filename}}发送
-

暂无课件,
- 请登录Trustie网站,在PC浏览器中上传课件。

-
-
-
授课老师
+
+
+
+
+
+
+ +
{{act.latest_update}}
+
+ +
+
+
+
+
+ +
+
+
{{act.praise_count}}
+
{{act.praise_count}}
+
+ +
+
+
+
+
-
- {{teacher.name}}{{teacher.role_name|identify}} -
+
+
+
+
+
+ + +
+
+
+
+
-
我的同学
-
- {{student.name}} -
-
-
- -
-
{{r.homework_name}}发送
-

暂无作业,
- 请登录Trustie网站,在PC浏览器中上传作业。

-
- -
-
{{r.exercise_name}}发送
-

暂无小测验,
- 请登录Trustie网站,在PC浏览器中上传小测验。

+
+
更多
- -
diff --git a/public/javascripts/wechat/controllers/project.js b/public/javascripts/wechat/controllers/project.js index 5020d040b..569ea3dd3 100644 --- a/public/javascripts/wechat/controllers/project.js +++ b/public/javascripts/wechat/controllers/project.js @@ -1,64 +1,137 @@ -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") vm.project_members = []; vm.project_members_page = 0; + vm.alertService = alertService.create(); + + //获取项目动态 + 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); + 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; + } - vm.currentTab = 1; + }, 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){ - $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.getActivities(0); } else if(index == 2){ - $http.get(config.apiUrl + 'project/members?token='+auth.token()+'&project_id='+projectid).then( + $http.get(config.apiUrl + 'projects/members?token='+auth.token()+'&project_id='+projectid).then( function(response) { console.log(response.data); vm.project_activities = response.data.data; } ) } + + rms.save("tab_num",$scope.currentTab); }; + //初始化TAB按钮 + var resetMenu = function(can_setting){ + if(can_setting){ + vm.menus = ["项目动态", "成员管理"]; + } else { + vm.menus = ['项目动态', "我的伙伴"]; + } - $http.get(config.apiUrl+ 'project/'+projectid+"?token="+auth.token()).then( - function(response) { - console.log(response.data); + } + if(vm.project){ + resetMenu(vm.project.can_setting); + } - 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); + 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); + }; - var resetMenu = function(can_setting){ - if(can_setting){ - vm.menus = ["项目动态", "成员管理"]; - } else { - vm.menus = ['项目动态', "我的伙伴"]; + 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); + }; }]); \ No newline at end of file From e6e8d73a66bba14536987c15d2d8bbe3153c2c84 Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Tue, 26 Jul 2016 09:46:55 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/javascripts/wechat/others/factory.js | 1 + 1 file changed, 1 insertion(+) diff --git a/public/javascripts/wechat/others/factory.js b/public/javascripts/wechat/others/factory.js index 11281c8b8..89e2b700f 100644 --- a/public/javascripts/wechat/others/factory.js +++ b/public/javascripts/wechat/others/factory.js @@ -159,6 +159,7 @@ app.factory('common', ['$http', 'auth', '$routeParams','rms','config', function( return $http({ method: 'POST', url: apiUrl+ type + "/" + id, + dataType: 'jsonp', data:{token:auth.token(),type:replytype,page:page} }) }; From 1ae23bafe44ceb73253cea825c338c82f1b93d74 Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Tue, 26 Jul 2016 10:12:49 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E6=94=B9=E5=9B=9E=E5=8E=9F=E6=9D=A5?= =?UTF-8?q?=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/plugins/acts_as_watchable/lib/acts_as_watchable.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plugins/acts_as_watchable/lib/acts_as_watchable.rb b/lib/plugins/acts_as_watchable/lib/acts_as_watchable.rb index 5fd428166..26c78cdd2 100644 --- a/lib/plugins/acts_as_watchable/lib/acts_as_watchable.rb +++ b/lib/plugins/acts_as_watchable/lib/acts_as_watchable.rb @@ -10,7 +10,7 @@ module Redmine def acts_as_watchable(options = {}) return if self.included_modules.include?(Redmine::Acts::Watchable::InstanceMethods) class_eval do - has_many :watchers, :dependent => :delete_all + has_many :watchers, :as => :watchable, :dependent => :delete_all has_many :watcher_users, :through => :watchers, :source => :user, :validate => false scope :watched_by, lambda { |user_id| @@ -51,7 +51,7 @@ module Redmine #通过model层删除以触发before_destroy事件 -by zjc watchers = Watcher.find_by_sql "select * from `watchers` where watchable_type = 'Principal' AND watchable_id = #{self.id} AND user_id = #{user.id}" watchers.each do |watcher| - watcher.destroy + watcher.destroy end #Watcher.delete_all "watchable_type = 'Principal' AND watchable_id = #{self.id} AND user_id = #{user.id}" else From 653b98d832549d28087f7c37a650f53be2c47c51 Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Wed, 27 Jul 2016 14:30:19 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9B=B8=E5=85=B3=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/courses.rb | 48 +++++ app/api/mobile/apis/projects.rb | 102 +++++++---- app/api/mobile/entities/course.rb | 9 + app/api/mobile/entities/project.rb | 16 +- app/api/mobile/entities/project_member.rb | 35 ++++ app/api/mobile/entities/user.rb | 16 +- app/services/courses_service.rb | 18 +- public/assets/wechat/class.html | 7 +- public/assets/wechat/class_list.html | 2 +- public/assets/wechat/edit_class_member.html | 21 +++ public/assets/wechat/edit_project_member.html | 21 +++ public/assets/wechat/new_project.html | 11 ++ public/assets/wechat/project.html | 169 ++++++++++-------- public/assets/wechat/project_list.html | 4 +- .../javascripts/wechat/controllers/class.js | 10 +- .../wechat/controllers/edit_class.js | 2 +- .../wechat/controllers/edit_class_member.js | 71 ++++++++ .../wechat/controllers/edit_project_member.js | 80 +++++++++ .../wechat/controllers/new_project.js | 47 +++++ .../javascripts/wechat/controllers/project.js | 92 +++++++--- .../wechat/controllers/project_list.js | 35 ++-- public/javascripts/wechat/others/routes.js | 3 + public/stylesheets/weui/weixin.css | 4 +- 23 files changed, 667 insertions(+), 156 deletions(-) create mode 100644 app/api/mobile/entities/project_member.rb create mode 100644 public/assets/wechat/edit_class_member.html create mode 100644 public/assets/wechat/edit_project_member.html create mode 100644 public/assets/wechat/new_project.html create mode 100644 public/javascripts/wechat/controllers/edit_class_member.js create mode 100644 public/javascripts/wechat/controllers/edit_project_member.js create mode 100644 public/javascripts/wechat/controllers/new_project.js diff --git a/app/api/mobile/apis/courses.rb b/app/api/mobile/apis/courses.rb index 60e00280e..7b2c4ff1a 100644 --- a/app/api/mobile/apis/courses.rb +++ b/app/api/mobile/apis/courses.rb @@ -419,6 +419,54 @@ module Mobile end + desc "获取班级某成员角色信息" + params do + requires :id, type: Integer + requires :token, type: String + requires :user_id, type: Integer + end + post 'get_member_info' do + authenticate! + + c = Course.find("#{params[:id]}") + + my_member = c.member_principals.where("users.id=#{params[:user_id]}").first + + if my_member && my_member.roles[0] + present :course_id,params[:id] + present :user_id,params[:user_id] + present :member_info,my_member, with: Mobile::Entities::ProjectMember + present :status, 0 + else + present :status, -1 + end + + end + + desc "修改班级某成员角色信息" + params do + requires :id, type: Integer + requires :token, type: String + requires :user_id, type: Integer + requires :role_id, type: Integer + end + post 'edit_member_role' do + authenticate! + + c = Course.find("#{params[:id]}") + + #7教辅 9教师 10学生 + if c.tea_id == params[:user_id] || c.tea_id != current_user.id || !(params[:role_id] == 7 || params[:role_id] == 9 || params[:role_id] == 10) + present :status, -1 + else + + cs = CoursesService.new + cs.set_user_course_role params + + present :status, 0 + end + end + end end end diff --git a/app/api/mobile/apis/projects.rb b/app/api/mobile/apis/projects.rb index c1ada723c..fa8e0dcb2 100644 --- a/app/api/mobile/apis/projects.rb +++ b/app/api/mobile/apis/projects.rb @@ -62,69 +62,111 @@ module Mobile present :status, 0 end - desc "获取项目" + desc "获取项目成员" params do + requires :id, type: Integer requires :token, type: String end - post 'auth' do + post 'members' do authenticate! - auth = 0 + project = Project.find("#{params[:id]}") + members = project.member_principals + + master_members = project.member_principals.includes(:roles, :principal).where("member_roles.role_id=3").all.sort - if (current_user.user_extensions && current_user.user_extensions.identity == 0 && current_user.allowed_to?(:add_course, nil, :global => true)) - auth = 1 + master_members.each do |m| + if m.user_id == project.user_id + master_members.delete(m) + master_members.insert(0,m) + break + end end - present :auth, auth + develop_members = project.member_principals.includes(:roles, :principal).where("member_roles.role_id=4").all.sort + report_members = project.member_principals.includes(:roles, :principal).where("member_roles.role_id=5").all.sort + + present :master_members,master_members, with: Mobile::Entities::ProjectMember + present :develop_members,develop_members, with: Mobile::Entities::ProjectMember + present :report_members,report_members, with: Mobile::Entities::ProjectMember + present :status, 0 end - desc "新建大纲" + desc "获取项目某成员角色信息" params do + requires :id, type: Integer requires :token, type: String - requires :title, type: String, desc: '大纲标题' - requires :courses, type: Array[String], desc: '课程名' + requires :user_id, type: Integer end - post do + post 'get_member_info' do authenticate! - ss = SyllabusesService.new + project = Project.find("#{params[:id]}") - sy = ss.create(current_user, params[:title], - params[:courses].map{|c| {name: c} }) + my_member = project.member_principals.where("users.id=#{params[:user_id]}").first - if sy.new_record? - {status:-1, message: '创建大纲失败' } - else - present :data, sy, with: Mobile::Entities::Syllabus,user: current_user + if my_member && my_member.roles[0] + present :project_id,params[:id] + present :user_id,params[:user_id] + present :member_info,my_member, with: Mobile::Entities::ProjectMember present :status, 0 + else + present :status, -1 end end - desc '编辑大纲' + desc "修改项目某成员角色信息" params do + requires :id, type: Integer requires :token, type: String - requires :title, type: String, desc: '大纲标题' - # requires :add_courses, type: Array[String], desc: '课程名' - # requires :modify_courses, type: Array[Integer,String], desc: '课程名' + requires :user_id, type: Integer + requires :role_id, type: Integer end - post ':id/edit' do - + post 'edit_member_role' do authenticate! - ss = SyllabusesService.new + project = Project.find("#{params[:id]}") - #修改课程大纲 - status = ss.edit(current_user, params) + my_member = project.member_principals.where("users.id=#{current_user.id}").first - if status == -1 - {status:status, message: '修改课程信息失败' } + #3管理 4开发 5报告 + if !(my_member && my_member.roles[0] && my_member.roles[0].id == 3 ) || project.user_id == params[:user_id] || !(params[:role_id] == 3 || params[:role_id] == 4 || params[:role_id] == 5) + present :status, -1 else - present :status, status + + present :status, 0 end end - end + desc "新建项目" + params do + requires :token, type: String + requires :name, type: String, desc: '项目名称' + end + post 'create' do + authenticate! + + + + present :status, 0 + + end + + desc "加入项目" + params do + requires :token, type: String + requires :invite_code, type: String, desc: '邀请码' + end + post 'create' do + authenticate! + + + + present :status, 0 + end + + end end end end \ No newline at end of file diff --git a/app/api/mobile/entities/course.rb b/app/api/mobile/entities/course.rb index 88c8ba144..aaf5dd78b 100644 --- a/app/api/mobile/entities/course.rb +++ b/app/api/mobile/entities/course.rb @@ -86,6 +86,15 @@ module Mobile expose :my_homework,using: Mobile::Entities::Homework do |f, opt| f[:my_homework] if f.is_a?(Hash) && f.key?(:my_homework) end + expose :is_creator, if: lambda { |instance, options| options[:user] } do |instance, options| + if instance[:course] + course = instance[:course] + else + course = instance + end + current_user = options[:user] + course.tea_id == current_user.id + end course_expose :current_user_is_member course_expose :current_user_is_teacher course_expose :work_unit diff --git a/app/api/mobile/entities/project.rb b/app/api/mobile/entities/project.rb index 91d6a3073..4c2c5b04a 100644 --- a/app/api/mobile/entities/project.rb +++ b/app/api/mobile/entities/project.rb @@ -3,13 +3,25 @@ module Mobile class Project < Grape::Entity expose :name expose :id + expose :user_id expose :can_setting, if: lambda { |instance, options| options[:user] } do |instance, options| current_user = options[:user] - can_setting = instance.user_id == current_user.id ? true : false - can_setting = false if instance.id.nil? + + my_member = instance.member_principals.where("users.id=#{current_user.id}").first + can_setting = false + if my_member && my_member.roles[0] && my_member.roles[0].id == 3 + can_setting = true + end can_setting end + expose :is_creator, if: lambda { |instance, options| options[:user] } do |instance, options| + current_user = options[:user] + + current_user.id == instance.user_id + end + + expose :member_count, if: lambda { |instance, options| options[:user] } do |instance, options| instance.members.count end diff --git a/app/api/mobile/entities/project_member.rb b/app/api/mobile/entities/project_member.rb new file mode 100644 index 000000000..58edf7ea7 --- /dev/null +++ b/app/api/mobile/entities/project_member.rb @@ -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 diff --git a/app/api/mobile/entities/user.rb b/app/api/mobile/entities/user.rb index 2eb20f0db..dcdf48d3b 100644 --- a/app/api/mobile/entities/user.rb +++ b/app/api/mobile/entities/user.rb @@ -24,10 +24,12 @@ module Mobile u.nil? || u.user_extensions.nil? ? "" : u.user_extensions.brief_introduction when :student_num u.nil? || u.user_extensions.nil? ? "" : u.user_extensions.student_id - when :realname - u.nil? ? "" : get_user_realname(u) + when :real_name + u.nil? ? "" : get_user_realname(u).gsub(/\s*/,""); when :name u.nil? ? "" : u.show_name + when :roles_id + u[:roles_id].nil? ? nil : u.roles_id end end end @@ -37,11 +39,13 @@ module Mobile expose :id #头像 - user_expose :img_url - #昵称 expose :nickname #真名 - user_expose :realname + user_expose :img_url + #昵称 + expose :realname + #昵称 + user_expose :real_name #性别 user_expose :gender #我的二维码 @@ -62,6 +66,8 @@ module Mobile user_expose :role_name + user_expose :roles_id + user_expose :name end diff --git a/app/services/courses_service.rb b/app/services/courses_service.rb index d864b6462..f8a8344a4 100644 --- a/app/services/courses_service.rb +++ b/app/services/courses_service.rb @@ -89,7 +89,8 @@ class CoursesService @members = searchTeacherAndAssistant(c) when '2' #@subPage_title = l :label_student_list - @members = searchStudent(c) + # @members = searchStudent(c) + @members = searchmember_by_name(student_homework_score(0,c.id, 0,"desc"),"") else #@subPage_title = '' @members = c.member_principals.includes(:roles, :principal).all.sort @@ -104,6 +105,7 @@ class CoursesService :work_unit => work_unit, :mail => m.user.mail, :location => location, role_name: m.roles.first.name, name: m.user.show_name, + roles_id: m.roles[0].id, :brief_introduction => m.user.user_extensions.brief_introduction,:realname=>m.user.realname} end users @@ -954,5 +956,19 @@ class CoursesService # student_works[index + 1 .. index + n] # end + + def set_user_course_role params + if params[role_id] == 7 + + + + elsif params[role_id] == + end + + + + + end + end diff --git a/public/assets/wechat/class.html b/public/assets/wechat/class.html index f9618411d..f18235ddc 100644 --- a/public/assets/wechat/class.html +++ b/public/assets/wechat/class.html @@ -32,11 +32,14 @@
{{teacher.name}}{{teacher.role_name|identify}} + 管理员 +
我的同学
{{student.name}} +
@@ -50,8 +53,8 @@
{{r.exercise_name}}发送
-

暂无小测验,
- 请登录Trustie网站,在PC浏览器中上传小测验。

+

暂无测验,
+ 请登录Trustie网站,在PC浏览器中上传测验。

diff --git a/public/assets/wechat/class_list.html b/public/assets/wechat/class_list.html index f0ce4ca0b..f0dd78ea9 100644 --- a/public/assets/wechat/class_list.html +++ b/public/assets/wechat/class_list.html @@ -35,7 +35,7 @@ diff --git a/public/assets/wechat/edit_class_member.html b/public/assets/wechat/edit_class_member.html new file mode 100644 index 000000000..2a15af150 --- /dev/null +++ b/public/assets/wechat/edit_class_member.html @@ -0,0 +1,21 @@ +
+
+
+
角色变更
+
{{current_edit_member.user.realname == "" ? current_edit_member.user.name : current_edit_member.user.realname}}
+
角色
+
    +
  • +
  • +
  • +
+
+ 取消 + 确定 +
+
+ + + + +
diff --git a/public/assets/wechat/edit_project_member.html b/public/assets/wechat/edit_project_member.html new file mode 100644 index 000000000..8677844b7 --- /dev/null +++ b/public/assets/wechat/edit_project_member.html @@ -0,0 +1,21 @@ +
+
+
+
角色变更
+
{{current_edit_member.user.real_name == "" ? current_edit_member.user.name : current_edit_member.user.real_name}}
+
角色
+
    +
  • +
  • +
  • +
+
+ 取消 + 确定 +
+
+ + + + +
diff --git a/public/assets/wechat/new_project.html b/public/assets/wechat/new_project.html new file mode 100644 index 000000000..351cee087 --- /dev/null +++ b/public/assets/wechat/new_project.html @@ -0,0 +1,11 @@ +
+
+ +
新建项目
+
+
项目
+ 完成 +
+ + +
diff --git a/public/assets/wechat/project.html b/public/assets/wechat/project.html index 2f14b0a3d..76ebc0430 100644 --- a/public/assets/wechat/project.html +++ b/public/assets/wechat/project.html @@ -5,100 +5,127 @@ {{menu}}
- -
-
-
-
-
-
-
-
-