dongbw пре 8 година
родитељ
комит
370e57ab0b

+ 1 - 0
donate-console/src/main/java/com/uas/console/donate/service/impl/ProjectServiceImpl.java

@@ -284,6 +284,7 @@ public class ProjectServiceImpl implements ProjectService {
      */
     @Override
     public Project getSavedProject() {
+        //TODO 获取登陆用户userUU
         Long userUU = 10000L;
         List<Project> projects = projectDao.findByPublishAndUserUU(1, userUU);
         return !CollectionUtils.isEmpty(projects) ? projects.get(0) : null;

+ 0 - 1
donate-console/src/main/resources/dev/account.properties

@@ -5,7 +5,6 @@ sso.secretkey=0taQcW073Z7G628g5H
 sso.cookie.secure=false
 
 # dev
-sso.cookie.domain=ubtob.com
 sso.login.url=http://113.105.74.135:8001/sso/login
 
 ### account center config,

+ 4 - 1
donate-console/src/main/webapp/WEB-INF/views/index.html

@@ -14,11 +14,11 @@
     <link rel="stylesheet" href="static/css/common.css">
     <link rel="stylesheet" href="static/css/AdminLTE.css">
     <link rel="stylesheet" href="static/css/skins/_all-skins.css">
-    <link rel="stylesheet" href="static/lib/angular/toaster.css" />
     <link rel="stylesheet" href="static/lib/bootstrap/css/bootstrap.min.css">
     <link rel="stylesheet" href="static/lib/font-awesome/css/font-awesome.min.css">
     <link rel="stylesheet" href="static/lib/jquery/themes/summernote/css/summernote.css">
     <link rel="stylesheet" href="static/lib/jquery/themes/summernote/css/monokai.css">
+    <link rel="stylesheet" href="static/lib/angular/toaster.css" />
     <style>
         a {
             cursor: pointer;
@@ -157,6 +157,9 @@
 </div>
 
 <!--js begin-->
+<!-- 消息提示框  Start-->
+<toaster-container
+        toaster-options="{'position-class': 'toast-top-center'}"></toaster-container>
 <script src="static/lib/jquery/jquery.min.js"></script>
 <script src="static/lib/bootstrap/js/bootstrap.min.js"></script>
 <script src="static/lib/js/app.min.js"></script>

+ 6 - 0
donate-console/src/main/webapp/resources/css/common.css

@@ -847,4 +847,10 @@ li.jp-borwer-active-li {
 }
 .modal .modal-dialog .modal-footer {
 	border-top: 0;
+}
+
+/* dongbw */
+input.ng-invalid.ng-dirty, textarea.ng-invalid.ng-dirty {
+	box-shadow: 0 0 2px #f00;
+	border: #f00 1px solid;
 }

+ 15 - 12
donate-console/src/main/webapp/resources/js/index/app.js

@@ -2,10 +2,10 @@
  * index
  *
  */
-define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'file-upload', 'common/directives', 'common/services', 'angular-toaster', 'ngSanitize', 'services/Project', 'services/Activity', 'services/Organization', 'ui-form'], function(angularAMD) {
+define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'file-upload', 'common/directives', 'common/services', 'toaster', 'ngSanitize', 'services/Project', 'services/Activity', 'services/Organization', 'ui-form'], function(angularAMD) {
 	'use strict';
 	var app = angular.module('myApp', [ 'ui.router', 'ui.bootstrap', 'ng.local', 'ngTable', 'angularFileUpload', 'common.directives', 'common.services', 'toaster', 'ngSanitize', 'ProjectService', 'ActivityService', 'OrganizationService', 'ui.form']);
-	app.init = function() {
+        app.init = function() {
 		angularAMD.bootstrap(app);
 	};
     app.config(['$httpProvider', function ($httpProvider) {
@@ -778,19 +778,22 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'file-
         $scope.populations = ['第三世界', '贫困妇女', '空巢/留守老人', '孤儿/事实孤儿', '残障', '抗战老兵', '自闭症', '弱势群体',
             '走失儿童', '失独家庭', '山区孩子', '义工志愿者', '困境儿童', '贫困家庭', '少数民族', '其他'];
 
+        $scope.checked = false;
+        $scope.changeChecked = function() {
+            $scope.checked = !$scope.checked;
+        };
+
+        $scope.project = {
+            area: $scope.areas[0],
+            classify: $scope.classifys[0],
+            population: $scope.populations[0]
+        };
+
         // 获取已保存的项目
         var getSavedProject = function() {
             Project.getSavedProject({}, {}, function(data) {
-                if (null !== data) {
+                if(!angular.isObject(data)) {
                     $scope.project = data;
-                } else {
-                    $scope.project = {
-                        name: '',
-                        area: $scope.areas[0],
-                        classify: $scope.classifys[0],
-                        population: $scope.populations[0]
-
-                    };
                 }
             });
         };
@@ -908,7 +911,7 @@ define([ 'angularAMD', 'ui.router', 'ui-bootstrap', 'ngLocal', 'ngTable', 'file-
             // type为true即为发布
             var url;
             if (type) {
-                url = '/project/publish';
+                url = '/project/submit';
             }  else {
                 url = '/project/save';
             }

+ 3 - 3
donate-console/src/main/webapp/resources/js/index/main.js

@@ -3,8 +3,9 @@ require.config({
 	paths : {
 		'app' : 'js/index',
 		'angular' : 'lib/angular/angular.min',
+        'ngAnimate': 'lib/angular/angular-animate.min',
 		'angularAMD' : 'lib/angular/angularAMD',
-		'angular-toaster': 'lib/angular/angular-toaster.min',
+		'toaster': 'lib/angular/angular-toaster.min',
 		'angular-sanitize' : 'lib/angular/angular-sanitize.min',
 		'bootstrap' : 'lib/bootstrap/js/bootstrap.min',
 		'common' : 'js/common',
@@ -17,7 +18,6 @@ require.config({
         'ui-form' : 'js/common/ui-form',
 		'ngResource' : 'lib/angular/angular-resource.min',
 		'ngLocal' : 'lib/angular/angular-i18n',
-		'ngAnimate': 'lib/angular/angular-animate.min',
 		'ngTable' : 'lib/angular/ng-table.min',
 		'ngDraggable' : 'lib/angular/angular-draggable-min',
 		'file-upload' : 'lib/angular/angular-file-upload.min',
@@ -50,7 +50,7 @@ require.config({
 		'ui-form' : ['angular', 'jquery-summernote', 'jquery-summernote-lang'],
 		'jquery-uploadify' : [ 'jquery' ],
 		'ngAnimate': ['angular'],
-		'angular-toaster': ['angular', 'ngAnimate'],
+		'toaster': ['angular', 'ngAnimate'],
 		'ngDraggable': [ 'jquery', 'angular' ],
 		'angular-sanitize': ['angular'],
 		'ngResource': ['angular'],

+ 7 - 7
donate-console/src/main/webapp/resources/view/project/project_launch_1.html

@@ -523,7 +523,7 @@
                             <form action="" class="form" name="baseInfoForm">
                                 <div class="form-group clearfix">
                                     <label for="" class="fl">项目名称</label>
-                                    <input type="text" ng-model="project.name" class="form-control fl">
+                                    <input type="text" ng-model="project.name" class="form-control fl" required>
                                     <span class="fl help-txt">(不超过9个字,例如“为植物人撑起希望”)</span>
                                 </div>
                                 <div class="form-group clearfix">
@@ -553,7 +553,7 @@
                                 <div class="form-group form-groups clearfix">
                                     <label for="" class="fl">常驻地址</label>
                                     <div class="fl">
-                                        <select required="" class="area-select" ng-model="project.province"
+                                        <select class="area-select" ng-model="project.province"
                                                 ng-options="key as key for (key,value) in provinces"
                                                 ng-change="project.city='';" required>
                                             <option value="">请选择</option>
@@ -579,13 +579,13 @@
 
                                 <div class="form-group clearfix">
                                     <label for="" class="fl">筹款目标</label>
-                                    <input type="text" ng-model="project.target" class="form-control fl">
+                                    <input type="text" ng-model="project.target" class="form-control fl" ng-pattern="/^\+?[1-9][0-9]*$  /" required>
                                     <span class="fl help-txt">(请输入整数金额,例如:5000)</span>
                                 </div>
                                 <div class="form-group clearfix">
                                     <label for="" class="fl">资助人群</label>
                                     <div class="fl sort">
-                                    <span ng-repeat="population in populations" ng-class="{'active':project.population == population}"
+                                    <span ng-repeat="population in populations" ng-class="{'active':population == project.population}"
                                           ng-click="setPopulation($index)" ng-bind="population">
 
                                     </span>
@@ -593,7 +593,7 @@
                                 </div>
                                 <div class="form-group clearfix">
                                     <label for="" class="fl">发起缘由</label>
-                                    <textarea style="max-height: 200px; max-width: 600px;" ng-model="project.reason" ng-maxlength="54" name="" id="" cols="30" rows="10" class="fl"></textarea>
+                                    <textarea style="max-height: 200px; max-width: 600px;" ng-model="project.reason" ng-maxlength="54" name="" id="" cols="30" rows="10" class="fl" required></textarea>
                                     <span class="txt">
                                     提示文字:请您填写真实的身份信息,与受助对象的关系,以及该项目的简要介绍,54字以内。
                                 </span>
@@ -606,13 +606,13 @@
                                 <!--</div>-->
                                 <!--</div>-->
                                 <div class="form-group clearfix text-left">
-                                    <input type="checkbox" required class="fl">
+                                    <input type="checkbox" ng-click="changeChecked()" ng-checked="checked" required class="fl">
                                     <div class="agree">
                                         <span>我已阅读并同意《<a href="/userAgreement">优软一元捐用户协议</a>》</span>
                                     </div>
                                 </div>
                                 <div class="text-left">
-                                    <a ng-click="saveBaseInfo(project)" ng-disabled="baseInfoForm.$invalid" class="btn">保存,下一步</a>
+                                    <a ng-click="saveBaseInfo(project)" ng-disabled="baseInfoForm.$invalid || !checked" class="btn">保存,下一步</a>
                                 </div>
                             </form>
                         </div>

+ 75 - 85
donate-console/src/main/webapp/resources/view/project/project_launch_2.html

@@ -520,103 +520,93 @@
                     <span class="step2 active">2、项目详情</span>
                     <span class="step3">3、完成提交</span>
                 </div>
-                <div class="chooseDetail">
-                    <!--项目详情-->
-                    <div class="detail">
-                        <div class="list-item clearfix">
-                            <span class="fl">项目主图</span>
-                            <div class="fl">
-                                <p>(为了让您的项目在不同终端下均能正常展示,请分别上传PC端和手机端的主图)</p>
-                                <div class="computer">
-                                    <span>PC端主图</span>
-                                    <button>上传图片</button>
-                                    <input type="file" ng-multiple="false" onchange='angular.element(this).scope().fileChanged(this, 0)'>
-                                    <em>(最能代表项目的焦点图,图片尺寸不小于500*280px,支持jpg,gif,png格式,不超过10MB)</em>
-                                    <!--<div ng-show="previewShow">-->
+                <form name="detailForm">
+                    <div class="chooseDetail">
+                        <!--项目详情-->
+                        <div class="detail">
+                            <div class="list-item clearfix">
+                                <span class="fl">项目主图</span>
+                                <div class="fl">
+                                    <p>(为了让您的项目在不同终端下均能正常展示,请分别上传PC端和手机端的主图)</p>
+                                    <div class="computer">
+                                        <span>PC端主图</span>
+                                        <button>上传图片</button>
+                                        <input type="file" ng-multiple="false" onchange='angular.element(this).scope().fileChanged(this, 0)' required>
+                                        <em>(最能代表项目的焦点图,图片尺寸不小于500*280px,支持jpg,gif,png格式,不超过10MB)</em>
+                                        <!--<div ng-show="previewShow">-->
                                         <!--<img ng-show="previewShow" alt="PC端主图" src="{{imgPreview}}" width="200px" height="100px">-->
-                                    <!--</div>-->
-                                </div>
-                                <div class="computer phone">
-                                    <span>手机端主图</span>
-                                    <button>上传图片</button>
-                                    <input type="file" ng-multiple="false" onchange='angular.element(this).scope().fileChanged(this, 1)'>
-                                    <em>(最能代表项目的焦点图,图片尺寸不小于500*280px,支持jpg,gif,png格式,不超过10MB)</em>
-                                    <!--<img src="{{mobileImg.url}}">-->
-                                </div>
-                                <!--<div class="computer phone">-->
-                                    <!--<span>手机端主图</span>-->
-                                    <!--<select name="" id="">-->
-                                        <!--<option value="">展示大图模式</option>-->
-                                    <!--</select>-->
-                                    <!--<em>(图片尺寸不小于750*680px,支持jpg,gif,png格式,不超过2MB;手机端第一张图片请和PC端保持一致)</em>-->
-                                <!--</div>-->
-                                <!--<div class="upload">-->
-                                    <!--<input type="file"/>-->
-                                    <!--<span ng-repeat="mobileImg in "></span>-->
-                                <!--</div>-->
-                            </div>
-                        </div>
-                        <div class="list-item clearfix" style="margin-top: -20px;">
-                            <span class="fl" style="margin-top: 30px;">手机列表图</span>
-                            <div class="fl">
-                                <div class="computer uploadImg">
-                                    <button>上传图片</button>
-                                    <input type="file" ng-multiple="false" onchange='angular.element(this).scope().fileChanged(this, 2)'>
-                                    <em>(最能代表项目的焦点图,图片尺寸不小于500*375像素以上,支持jpg,gif,png格式,不超过10MB)</em>
-                                    <!--<img src="{{mobileListImg.url}}">-->
+                                        <!--</div>-->
+                                    </div>
+                                    <div class="computer phone">
+                                        <span>手机端主图</span>
+                                        <button>上传图片</button>
+                                        <input type="file" ng-multiple="false" onchange='angular.element(this).scope().fileChanged(this, 1)' required>
+                                        <em>(最能代表项目的焦点图,图片尺寸不小于500*280px,支持jpg,gif,png格式,不超过10MB)</em>
+                                    </div>
                                 </div>
                             </div>
-                        </div>
-                        <div class="list-item clearfix">
-                            <span class="fl">发起人介绍</span>
-                            <div class="fl" style="margin: 5px 0 0 50px;">
-                                <span class="intro"></span>
-                                <div class="item clearfix">
-                                    <span class="fl">姓名</span>
-                                    <input type="text" class="form-control fl" ng-maxlength="10" ng-model="project.personName" placeholder="不超过十个字"/>
-                                </div>
-                                <div class="item items clearfix">
-                                    <span class="fl">头像</span>
-                                    <div class="button fl">
+                            <div class="list-item clearfix" style="margin-top: -20px;">
+                                <span class="fl" style="margin-top: 30px;">手机列表图</span>
+                                <div class="fl">
+                                    <div class="computer uploadImg">
                                         <button>上传图片</button>
-                                        <input type="file" ng-multiple="false" onchange='angular.element(this).scope().fileChanged(this, 3)'>
-                                        <em>(图片尺寸不小于500*500px,支持jpg,gif,png格式,不超过2MB)</em>
-                                        <!--<img src="{{logo.url}}">-->
+                                        <input type="file" ng-multiple="false" onchange='angular.element(this).scope().fileChanged(this, 2)' required>
+                                        <em>(最能代表项目的焦点图,图片尺寸不小于500*375像素以上,支持jpg,gif,png格式,不超过10MB)</em>
+                                        <!--<img src="{{mobileListImg.url}}">-->
                                     </div>
                                 </div>
-                                <div class="item clearfix">
-                                    <span class="fl">工作单位</span>
-                                    <input type="text" class="form-control fl" ng-model="project.workunit" ng-maxlength="20" placeholder="不超过二十个字"/>
-                                </div>
-                                <div class="item clearfix">
-                                    <span class="fl">个人简介</span>
-                                    <textarea name="" id="" cols="30" rows="10" ng-model="project.summary" ng-maxlength="60" placeholder="不超过六十个字"></textarea>
-                                </div>
                             </div>
-                        </div>
-                        <div class="list-item clearfix">
-                            <span class="fl">项目简介</span>
-                            <div class="fl simple">
-                                <textarea name="" cols="30" rows="10" ng-model="project.proSummary" ng-maxlength="270" placeholder="目的简单介绍,不超过270个汉字"></textarea>
-                                <br/>
+                            <div class="list-item clearfix">
+                                <span class="fl">发起人介绍</span>
+                                <div class="fl" style="margin: 5px 0 0 50px;">
+                                    <span class="intro"></span>
+                                    <div class="item clearfix">
+                                        <span class="fl">姓名</span>
+                                        <input type="text" class="form-control fl" ng-maxlength="10" ng-model="project.personName" placeholder="不超过十个字" required>
+                                    </div>
+                                    <div class="item items clearfix">
+                                        <span class="fl">头像</span>
+                                        <div class="button fl">
+                                            <button>上传图片</button>
+                                            <input type="file" ng-multiple="false" onchange='angular.element(this).scope().fileChanged(this, 3)' required>
+                                            <em>(图片尺寸不小于500*500px,支持jpg,gif,png格式,不超过2MB)</em>
+                                            <!--<img src="{{logo.url}}">-->
+                                        </div>
+                                    </div>
+                                    <div class="item clearfix">
+                                        <span class="fl">工作单位</span>
+                                        <input type="text" class="form-control fl" ng-model="project.workunit" ng-maxlength="20" placeholder="不超过二十个字" required/>
+                                    </div>
+                                    <div class="item clearfix">
+                                        <span class="fl">个人简介</span>
+                                        <textarea name="" id="" cols="30" rows="10" ng-model="project.summary" ng-maxlength="60" placeholder="不超过六十个字" required></textarea>
+                                    </div>
+                                </div>
                             </div>
-                        </div>
-                        <div class="list-item clearfix">
-                            <span class="fl">项目介绍</span>
-                            <div class="fl simple">
-                                <summernote lang="zh-CN" ng-model="project.introduction" height="300px">
-                                    请填写介绍
-                                </summernote>
+                            <div class="list-item clearfix">
+                                <span class="fl">项目简介</span>
+                                <div class="fl simple">
+                                    <textarea name="" cols="30" rows="10" ng-model="project.proSummary" ng-maxlength="270" placeholder="目的简单介绍,不超过270个汉字" required></textarea>
+                                    <br/>
+                                </div>
                             </div>
-                            <div class="fl submitButton">
-                                <div class="sub">
-                                    <a type="button" style="cursor: pointer;" ng-click="saveDetail(project, true)">提交</a>
-                                    <button ng-click="saveDetail(project, false)">保存草稿</button></div>
-                                <a ui-sref="launchProject1">返回上一页</a>
+                            <div class="list-item clearfix">
+                                <span class="fl">项目介绍</span>
+                                <div class="fl simple">
+                                    <summernote lang="zh-CN" ng-model="project.introduction" height="300px">
+                                        请填写介绍
+                                    </summernote>
+                                </div>
+                                <div class="fl submitButton">
+                                    <div class="sub">
+                                        <a type="button" style="cursor: pointer;" ng-disabled="detailForm.$invalid" ng-click="saveDetail(project, true)">提交</a>
+                                        <button ng-click="saveDetail(project, false)">保存草稿</button></div>
+                                    <a ui-sref="launchProject1">返回上一页</a>
+                                </div>
                             </div>
                         </div>
                     </div>
-                </div>
+                </form>
             </div>
         </div>
     </section>

+ 1 - 1
donate-service/src/main/java/com/uas/service/donate/model/Activity.java

@@ -96,7 +96,7 @@ public class Activity implements Serializable{
     private Integer priority;
 
     /**
-     * 活动所处阶段(前台显示)(0进行中,1待开奖,2待兑奖-显示兑奖截止日期,3已结束)
+     * 活动所处阶段(前台显示)
      */
     @Transient
     private Short stage;

+ 3 - 0
donate-service/src/main/webapp/WEB-INF/views/activity.html

@@ -385,6 +385,9 @@
     <div ui-view></div>
 
     <!--js begin-->
+    <!-- 消息提示框  Start-->
+    <toaster-container
+            toaster-options="{'position-class': 'toast-top-center'}"></toaster-container>
     <script src="static/lib/jquery/jquery.min.js"></script>
     <script src="static/lib/bootstrap/js/bootstrap.min.js"></script>
     <script type="text/javascript" src="static/lib/require.js"

+ 3 - 0
donate-service/src/main/webapp/WEB-INF/views/approval.html

@@ -168,6 +168,9 @@
     <div ui-view></div>
 
     <!--js begin-->
+    <!-- 消息提示框  Start-->
+    <toaster-container
+            toaster-options="{'position-class': 'toast-top-center'}"></toaster-container>
     <script src="static/lib/jquery/jquery.min.js"></script>
     <script src="static/lib/bootstrap/js/bootstrap.min.js"></script>
     <script type="text/javascript" src="static/lib/require.js"

+ 0 - 10
donate-service/src/main/webapp/WEB-INF/views/fileUpload.html

@@ -1,10 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>上传</title>
-</head>
-<body>
-    <h1>这是上传页面</h1>
-</body>
-</html>

+ 4 - 0
donate-service/src/main/webapp/WEB-INF/views/mobile/index.html

@@ -15,8 +15,12 @@
 <body>
 <div ui-view></div>
 <!--js begin-->
+<!-- 消息提示框  Start-->
+<toaster-container
+        toaster-options="{'position-class': 'toast-top-center'}"></toaster-container>
 <script src="../static/lib/jquery/jquery.min.js"></script>
 <script src="../static/lib/bootstrap/js/bootstrap.min.js"></script>
+<script src="../static/js/pay.js"></script>
 <script type="text/javascript" src="static/lib/require.js"
         data-main="static/js/mobile/main.js"></script>
 <script>

+ 4 - 0
donate-service/src/main/webapp/WEB-INF/views/project.html

@@ -11,6 +11,7 @@
     <!--css begin-->
     <link href="static/images/icon/u.png" rel="icon" type="image/x-icon" />
     <link rel="stylesheet" href="static/lib/bootstrap/css/bootstrap.min.css">
+    <link rel="stylesheet" href="static/lib/angular/toaster.css">
     <link rel="stylesheet" href="static/css/base.css">
     <style>
         a {
@@ -27,6 +28,9 @@
 
 <div ui-view></div>
 <!--js begin-->
+<!-- 消息提示框  Start-->
+<toaster-container
+        toaster-options="{'position-class': 'toast-top-center'}"></toaster-container>
 <script src="static/lib/jquery/jquery.min.js"></script>
 <script src="static/lib/bootstrap/js/bootstrap.min.js"></script>
 <script type="text/javascript" src="static/lib/require.js"

+ 3 - 0
donate-service/src/main/webapp/WEB-INF/views/userCenter.html

@@ -609,6 +609,9 @@
 
     <div ui-view></div>
     <!--js begin-->
+    <!-- 消息提示框  Start-->
+    <toaster-container
+            toaster-options="{'position-class': 'toast-top-center'}"></toaster-container>
     <script src="static/lib/jquery/jquery.min.js"></script>
     <script src="static/lib/bootstrap/js/bootstrap.min.js"></script>
     <script type="text/javascript" src="static/lib/require.js"