Переглянути джерело

1.9.0 页面改版,版本管理 ,app扫码登录

likeku 8 роки тому
батько
коміт
14986ef3df
75 змінених файлів з 6184 додано та 8360 видалено
  1. 5 5481
      global/css/bootstrap.css
  2. 53 21
      global/css/style.css
  3. BIN
      global/fonts/glyphicons-halflings-regular.eot
  4. 288 0
      global/fonts/glyphicons-halflings-regular.svg
  5. BIN
      global/fonts/glyphicons-halflings-regular.ttf
  6. BIN
      global/fonts/glyphicons-halflings-regular.woff
  7. BIN
      global/fonts/glyphicons-halflings-regular.woff2
  8. 7 1581
      global/js/bootstrap.js
  9. 2 0
      global/js/jl.js
  10. 72 1
      protected/class/auth.php
  11. 3312 0
      protected/class/phpqrcode.php
  12. 15 0
      protected/class/profile.php
  13. 25 2
      protected/class/sign.php
  14. 22 0
      protected/config/routes.conf.php
  15. 1 1
      protected/config/ver.conf.php
  16. 74 1
      protected/controller/AppController.php
  17. 1 1
      protected/controller/ClientController.php
  18. 15 2
      protected/controller/LoginController.php
  19. 17 5
      protected/controller/ProjectController.php
  20. 16 4
      protected/controller/RProjectController.php
  21. 12 0
      protected/controller/SProjectController.php
  22. 5 5
      protected/controller/ShareController.php
  23. 34 2
      protected/controller/SignController.php
  24. 1 1
      protected/controller/UpgradeController.php
  25. 61 2
      protected/controller/UserController.php
  26. 28 0
      protected/model/utoken.php
  27. 2 2
      protected/module/admin/controller/LoginController.php
  28. 17 0
      protected/module/admin/controller/ServiceController.php
  29. 27 27
      protected/module/admin/view/admin-addUser.html
  30. 63 59
      protected/module/admin/view/admin-editUser.html
  31. 15 11
      protected/module/admin/view/admin-item.html
  32. 22 7
      protected/module/admin/view/admin-login.html
  33. 19 19
      protected/module/admin/view/admin-option.html
  34. 80 60
      protected/module/admin/view/admin-period.html
  35. 32 24
      protected/module/admin/view/admin-project.html
  36. 64 48
      protected/module/admin/view/admin-section.html
  37. 63 51
      protected/module/admin/view/admin-sign.html
  38. 10 10
      protected/module/admin/view/admin-sms.html
  39. 19 19
      protected/module/admin/view/admin-sysinfo.html
  40. 520 0
      protected/plugin/io.han.php
  41. 21 1
      protected/view/edit-app.html
  42. 20 20
      protected/view/edit-profile-pw.html
  43. 28 26
      protected/view/edit-profile-sms-edit.html
  44. 31 29
      protected/view/edit-profile-sms.html
  45. 37 40
      protected/view/edit-profile.html
  46. 29 9
      protected/view/login.html
  47. 47 43
      protected/view/r-project-section-files-recover.html
  48. 106 85
      protected/view/r-project-section-files.html
  49. 38 30
      protected/view/r-project-section-report.html
  50. 2 2
      protected/view/r-project-section.html
  51. 15 15
      protected/view/r-project.html
  52. 47 43
      protected/view/s-project-section-files-recover.html
  53. 92 73
      protected/view/s-project-section-files.html
  54. 3 3
      protected/view/s-project-section.html
  55. 16 16
      protected/view/s-project.html
  56. 7 7
      protected/view/sign-create_sign.html
  57. 63 9
      protected/view/sign-list-all.html
  58. 9 9
      protected/view/sign-list-done_sign.html
  59. 42 37
      protected/view/sign-list-my_create.html
  60. 1 1
      protected/view/sign-list-need_sign.html
  61. 9 9
      protected/view/sign-list-on_sign.html
  62. 3 3
      protected/view/sign-view-page.html
  63. 81 72
      protected/view/sign-view-set_signer.html
  64. 14 11
      protected/view/sign-view-signer_sign.html
  65. 9 2
      protected/view/top.html
  66. 48 42
      protected/view/w-project-section-files-recover.html
  67. 106 85
      protected/view/w-project-section-files.html
  68. 98 86
      protected/view/w-project-section.html
  69. 101 89
      protected/view/w-project.html
  70. 5 5
      protected/view/w-share-erro.html
  71. 2 2
      protected/view/w-share-project-section-detail.html
  72. 6 6
      protected/view/w-share-project-section.html
  73. 2 2
      protected/view/w-share-project.html
  74. 1 1
      protected/viewc/sign-list-need_sign.php
  75. 26 0
      protected/viewc/top.php

Різницю між файлами не показано, бо вона завелика
+ 5 - 5481
global/css/bootstrap.css


+ 53 - 21
global/css/style.css

@@ -97,7 +97,8 @@ div.userInfo .btn-group .dropdown-menu{
   float:left
   float:left
 }
 }
 .mainSidebar ul{
 .mainSidebar ul{
-  border-bottom:1px solid #535353
+  border-bottom:1px solid #535353;
+  padding: 0;
 }
 }
 .mainSidebar li{
 .mainSidebar li{
   text-align:center;
   text-align:center;
@@ -146,9 +147,10 @@ div.userInfo .btn-group .dropdown-menu{
   padding:0 30px 0
   padding:0 30px 0
 }
 }
 .mainContent .title h1{
 .mainContent .title h1{
-  font-size:24px;
+  font-size:20px;
   color:#333;
   color:#333;
-  font-weight:normal
+  font-weight:normal;
+  margin-top: 10px;
 }
 }
 .mainContent .title {
 .mainContent .title {
   padding:10px 0 0 0;
   padding:10px 0 0 0;
@@ -171,7 +173,7 @@ div.userInfo .btn-group .dropdown-menu{
     right: 0;
     right: 0;
 }
 }
 .project {
 .project {
-  margin:0 0 30px 0;
+  margin:30px 0;
 }
 }
 .projec .odd{
 .projec .odd{
   background:#fcfcfc
   background:#fcfcfc
@@ -566,7 +568,7 @@ left:5px
   background:#fff;
   background:#fff;
   position:relative;
   position:relative;
   float:left;
   float:left;
-  margin:3px 3px 0 0;
+  margin:3px 10px 0 0;
   border-radius:3px
   border-radius:3px
 }
 }
 .avatar li img{
 .avatar li img{
@@ -610,7 +612,6 @@ left:5px
   background:none;
   background:none;
   padding:0 15px;
   padding:0 15px;
   height:54px;
   height:54px;
-  line-height:54px;
   width:30px
   width:30px
 }
 }
 .avatar li.name {
 .avatar li.name {
@@ -882,13 +883,13 @@ left:5px
   margin:0 0 5px 0
   margin:0 0 5px 0
 }
 }
 .wrapLogin .loginPanel{
 .wrapLogin .loginPanel{
-  width:330px;
+  width:400px;
   position: absolute;
   position: absolute;
   bottom:50%;
   bottom:50%;
   right:50%;
   right:50%;
-  padding:10px;
+  padding:10px 20px;
   background:#F8F8F8;
   background:#F8F8F8;
-  margin:0 -165px -100px 0
+  margin:0 -200px -100px 0
 }
 }
 .wrapLogin .loginPanel img{
 .wrapLogin .loginPanel img{
   margin:0 0 10px 0;
   margin:0 0 10px 0;
@@ -904,6 +905,9 @@ left:5px
   width:140px;
   width:140px;
   padding:10px 10px 10px 0;
   padding:10px 10px 10px 0;
 }
 }
+.adminSidebar ul {
+  padding: 0;
+}
 .adminSidebar li{
 .adminSidebar li{
   margin:0 0 1px 0
   margin:0 0 1px 0
 }
 }
@@ -1011,7 +1015,7 @@ left:5px
 .sign-menu .item {
 .sign-menu .item {
   float:left;
   float:left;
   width:300px;
   width:300px;
-  height:120px;
+  height:140px;
   text-align:center;
   text-align:center;
   font-size:38px;
   font-size:38px;
   border:1px solid #ddd;
   border:1px solid #ddd;
@@ -1027,10 +1031,10 @@ left:5px
   margin:0 auto
   margin:0 auto
 }
 }
 .sign-topbar{
 .sign-topbar{
-  margin:15px 0 0 0
+  margin:5px 0 0 0
 }
 }
 .sign-page-num {
 .sign-page-num {
-  margin:15px 15px 0 0;
+  margin:5px 15px 0 0;
   font-size:18px;
   font-size:18px;
   height:30px;
   height:30px;
   line-height: 30px;
   line-height: 30px;
@@ -1062,6 +1066,9 @@ left:5px
 .sign-side .view-info{
 .sign-side .view-info{
   border-bottom:1px solid #ddd
   border-bottom:1px solid #ddd
 }
 }
+.signed-list ul{
+  overflow-y:auto
+}
 .view-info li{
 .view-info li{
   padding:10px 5px 10px 65px;
   padding:10px 5px 10px 65px;
   border-top:1px dashed #ddd
   border-top:1px dashed #ddd
@@ -1075,7 +1082,7 @@ left:5px
   color:#999
   color:#999
 }
 }
 .signed-list li{
 .signed-list li{
-  height:48px;
+  height:68px;
   line-height:48px;
   line-height:48px;
   padding:10px 10px 10px 30px;
   padding:10px 10px 10px 30px;
   border-bottom:1px dashed #ddd;
   border-bottom:1px dashed #ddd;
@@ -1119,6 +1126,7 @@ left:5px
 }
 }
 .user-sign img{
 .user-sign img{
   width:inherit;
   width:inherit;
+  width: 100%;
 }
 }
 .user-sign .img-bar {
 .user-sign .img-bar {
   background:#ddd;
   background:#ddd;
@@ -1168,14 +1176,38 @@ left:5px
 .android-code{
 .android-code{
   margin:40px 0 80px 0
   margin:40px 0 80px 0
 }
 }
-.android-code h1{
-  background:url(phone-icon.png) no-repeat 0 0;
-  color:#A4C639
-}
-.ios-code h1{
-  background:url(phone-icon.png) no-repeat 0 -50px;
-  color:#999999
-}
+/*.android-code h1{*/
+  /*background:url(phone-icon.png) no-repeat 0 0;*/
+  /*color:#A4C639*/
+/*}*/
+/*.ios-code h1{*/
+  /*background:url(phone-icon.png) no-repeat 0 -50px;*/
+  /*color:#999999*/
+/*}*/
 .code-img{
 .code-img{
   padding-left:40px
   padding-left:40px
 }
 }
+.form-group .necessary {
+  color: #f90000;
+}
+.bg-con-warp{
+  margin-bottom:50px
+}
+.bg-top-btn {
+  right:30px;
+  z-index: 999
+}
+.bg-nav > li.active > a,.bg-nav > li.active > a:hover{
+  background-color: #666
+}
+
+.progress .progress-bar-gary {
+  background-color: #bbb;
+  background-image: -moz-linear-gradient(top, #ccc, #bbb);
+  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ccc), to(#bbb));
+  background-image: -webkit-linear-gradient(top, #ccc, #bbb);
+  background-image: -o-linear-gradient(top, #ccc, #bbb);
+  background-image: linear-gradient(to bottom, #ccc, #bbb);
+  background-repeat: repeat-x;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ccc', endColorstr='#bbb', GradientType=0);
+}

BIN
global/fonts/glyphicons-halflings-regular.eot


Різницю між файлами не показано, бо вона завелика
+ 288 - 0
global/fonts/glyphicons-halflings-regular.svg


BIN
global/fonts/glyphicons-halflings-regular.ttf


BIN
global/fonts/glyphicons-halflings-regular.woff


BIN
global/fonts/glyphicons-halflings-regular.woff2


Різницю між файлами не показано, бо вона завелика
+ 7 - 1581
global/js/bootstrap.js


+ 2 - 0
global/js/jl.js

@@ -1,5 +1,6 @@
 function autoFlashHeight() {
 function autoFlashHeight() {
     var signSide = $(".sign-side").width();
     var signSide = $(".sign-side").width();
+    var viewInfo = $(".view-info").height();
     $(".body").height($(window).height());
     $(".body").height($(window).height());
     $(".mainContainer").height($(window).height() - 51);
     $(".mainContainer").height($(window).height() - 51);
     $(".adminContent").height($(window).height() - 117);
     $(".adminContent").height($(window).height() - 117);
@@ -13,6 +14,7 @@ function autoFlashHeight() {
     $(".sign-content").width($(window).width() - signSide - 69);
     $(".sign-content").width($(window).width() - signSide - 69);
     $(".sign-content-warp").height($(window).height() - 30);
     $(".sign-content-warp").height($(window).height() - 30);
     $(".sign-content-warp").width($(window).width());
     $(".sign-content-warp").width($(window).width());
+    $(".signed-list").height($(window).height()-viewInfo-186);
 };
 };
 $(window).resize(autoFlashHeight);
 $(window).resize(autoFlashHeight);
 
 

+ 72 - 1
protected/class/auth.php

@@ -8,11 +8,12 @@ Doo::loadModel('usession');
 Doo::loadModelAt('ausers', 'admin');
 Doo::loadModelAt('ausers', 'admin');
 Doo::loadClass('user');
 Doo::loadClass('user');
 Doo::loadModel('uprofile');
 Doo::loadModel('uprofile');
+Doo::loadModel('utoken');
 
 
 class Auth
 class Auth
 {
 {
 
 
-    private $users, $usession, $user, $uinfo, $ausers, $profile;
+    private $users, $usession, $user, $uinfo, $ausers, $profile,$__token;
 
 
     public function __construct()
     public function __construct()
     {
     {
@@ -21,6 +22,7 @@ class Auth
         $this->user = new User();
         $this->user = new User();
         $this->ausers = new AUsers();
         $this->ausers = new AUsers();
         $this->profile = new Uprofile();
         $this->profile = new Uprofile();
+        $this->__token = new Utoken();
     }
     }
 
 
     private function __setcookie($key, $value)
     private function __setcookie($key, $value)
@@ -199,6 +201,75 @@ class Auth
         }
         }
     }
     }
 
 
+    public function updateToken($uid,$token,$comefrom){
+        $utokenmsg = $this->__token->getOne(array('where' => 'uid='.$uid.' and comefrom='.$comefrom, 'asArray' => TRUE));
+        if(empty($utokenmsg)){
+            $this->__token->uid = $uid;
+            $this->__token->token = $token;
+            $this->__token->addtime = time();
+            $this->__token->endtime = time()+86400;  // 一天有效期
+            $this->__token->comefrom = $comefrom;
+            $this->__token->insert();
+        }else{
+            $this->__token->id = $utokenmsg['id'];
+            $this->__token->token = $token;
+            $this->__token->addtime = time();
+            $this->__token->endtime = time()+86400;  // 一天有效期
+            $this->__token->comefrom = $comefrom;
+            $this->__token->update();
+        }
+    }
+
+    public function getWebToken($uid){
+        $utokenmsg = $this->__token->getOne(array('where' => 'comefrom=1 and uid='.$uid, 'asArray' => TRUE));
+        if(!empty($utokenmsg) && $utokenmsg['endtime'] > time()){
+            return $utokenmsg['token'];
+        }else{
+            return '';
+        }
+    }
+
+    public function getAppToken($uid){
+        $utokenmsg = $this->__token->getOne(array('where' => 'comefrom=3 and uid='.$uid, 'asArray' => TRUE));
+        if(!empty($utokenmsg)){
+            return $utokenmsg['token'];
+        }else{
+            return '';
+        }
+    }
+
+    public function checkLoginByScan($uid,$token){
+        $uinfo = $this->getWebToken($uid);
+        if($uinfo && $uinfo == $token) {
+            $this->uinfo = $this->users->getOne(array('where' => 'uid='.$uid, 'asArray' => TRUE));
+            return TRUE;
+        }
+        return FALSE;
+    }
+
+    public function AppLoginToken($uid,$token){
+        $utokenmsg = $this->__token->getOne(array('where' => 'comefrom=3 and uid='.$uid, 'asArray' => TRUE));
+        if(!empty($utokenmsg)){
+            $this->__token->id = $utokenmsg['id'];
+            $this->__token->token = $token;
+            $this->__token->update();
+        }else{
+            $this->__token->uid = $uid;
+            $this->__token->token = $token;
+            $this->__token->comefrom = 3;
+            $this->__token->insert();
+        }
+    }
+
+    public function CheckAppLoginToken($uid,$token){
+        $uinfo = $this->getAppToken($uid);
+        if($uinfo && $uinfo == $token) {
+            $this->uinfo = $this->users->getOne(array('where' => 'uid='.$uid, 'asArray' => TRUE));
+            return TRUE;
+        }
+        return FALSE;
+    }
+
     private function encryptCookie($value)
     private function encryptCookie($value)
     {
     {
         if (!$value) {
         if (!$value) {

Різницю між файлами не показано, бо вона завелика
+ 3312 - 0
protected/class/phpqrcode.php


+ 15 - 0
protected/class/profile.php

@@ -29,6 +29,21 @@ class Profile
         return $this->uprofile->insert();
         return $this->uprofile->insert();
     }
     }
 
 
+    public function ZGinsertProfile($uid = 0, $realname)
+    {
+        if (!isset($uid))
+            return FALSE;
+        $this->uprofile->userid = $uid;
+        $this->uprofile->name = $realname;
+        $this->uprofile->company = '';
+        $this->uprofile->jobs = '';
+        $this->uprofile->phone = '';
+        $this->uprofile->mobile = '';
+        $this->uprofile->qq = '';
+        $this->uprofile->groups = 'vip';
+        return $this->uprofile->insert();
+    }
+
     public function getProWithUid($userid = 0)
     public function getProWithUid($userid = 0)
     {
     {
         if (!isset($userid))
         if (!isset($userid))

+ 25 - 2
protected/class/sign.php

@@ -38,8 +38,12 @@ class Signn
         return $this->_sign->count(array('where' => $sql.' and status="checked" and sid in(select `jl_sign_audit`.sid from `jl_sign_audit` where `jl_sign_audit`.audituid=?)', 'param' => array($uid), 'asArray' => TRUE));
         return $this->_sign->count(array('where' => $sql.' and status="checked" and sid in(select `jl_sign_audit`.sid from `jl_sign_audit` where `jl_sign_audit`.audituid=?)', 'param' => array($uid), 'asArray' => TRUE));
     }
     }
 
 
-    public function getSignNum($sql,$uid){
-        return $this->_sign->count(array('where' => $sql.' and (`audituid`='.$uid.' OR sid IN (SELECT sid FROM jl_sign_audit WHERE jl_sign_audit.audituid='.$uid.'))','asArray' => TRUE));
+//    public function getSignNum($sql,$uid){
+//        return $this->_sign->count(array('where' => $sql.' and (`audituid`='.$uid.' OR sid IN (SELECT sid FROM jl_sign_audit WHERE jl_sign_audit.audituid='.$uid.'))','asArray' => TRUE));
+//    }
+
+    public function getSignNum($sql){
+        return $this->_sign->count(array('where' => $sql,'asArray' => TRUE));
     }
     }
 
 
     public function getNeedSignbyUid($uid){
     public function getNeedSignbyUid($uid){
@@ -180,4 +184,23 @@ class Signn
         return $this->_sign->find(array('select' => 'phaseno', 'where' => $sql.' and tender=?', 'param' => array($pmid), 'groupby' => 'phaseno', 'asArray' => TRUE));
         return $this->_sign->find(array('select' => 'phaseno', 'where' => $sql.' and tender=?', 'param' => array($pmid), 'groupby' => 'phaseno', 'asArray' => TRUE));
     }
     }
 
 
+    public function delSignbysid($sid,$status){
+        if($status == 'checking'){
+            $this->_signaudit->sid = $sid;
+            $this->_signaudit->delete();
+
+            $attlist = $this->getSignAttList($sid);
+            foreach ($attlist as $key => $value) {
+                $this->_signauditatt->said = $value['said'];
+                $this->_signauditatt->delete();
+            }
+        }
+
+        $this->_sign->sid = $sid;
+        $this->_sign->delete();
+
+        $this->_signatt->sid = $sid;
+        $this->_signatt->delete();
+    }
+
 }
 }

+ 22 - 0
protected/config/routes.conf.php

@@ -226,6 +226,11 @@ $route['*']['/api/upgrade/v1/set/upgrade/info'] = array('UpgradeController', 'se
 $route['*']['/api/upgrade/v1/get/version/status'] = array('UpgradeController', 'getVersionAndStatus');
 $route['*']['/api/upgrade/v1/get/version/status'] = array('UpgradeController', 'getVersionAndStatus');
 
 
 
 
+$route['*']['/user/add/:username/:realname'] = array('[admin]UserController', 'ZGaddUser');
+$route['*']['/service/user'] = array('[admin]ServiceController', 'ZGServer');
+$route['*']['/service/getwsdl'] = array('[admin]ServiceController', 'getWSDL');
+$route['*']['/service/testsoap'] = array('[admin]ServiceController', 'testSoap');
+
 // App api
 // App api
 $route['*']['/api/app/serverlogin'] = array('AppController', 'ServerLogin');
 $route['*']['/api/app/serverlogin'] = array('AppController', 'ServerLogin');
 $route['*']['/api/app/signin'] = array('AppController', 'AppSignin');
 $route['*']['/api/app/signin'] = array('AppController', 'AppSignin');
@@ -301,6 +306,15 @@ $route['*']['/sign/list/project/:pid/tender/:pmid'] = array('SignController', 's
 $route['*']['/sign/list/project/:pid/tender/:pmid/page/:pindex'] = array('SignController', 'signList');
 $route['*']['/sign/list/project/:pid/tender/:pmid/page/:pindex'] = array('SignController', 'signList');
 $route['*']['/sign/list/project/:pid/tender/:pmid/phaseno/:mpid'] = array('SignController', 'signList');
 $route['*']['/sign/list/project/:pid/tender/:pmid/phaseno/:mpid'] = array('SignController', 'signList');
 $route['*']['/sign/list/project/:pid/tender/:pmid/phaseno/:mpid/page/:pindex'] = array('SignController', 'signList');
 $route['*']['/sign/list/project/:pid/tender/:pmid/phaseno/:mpid/page/:pindex'] = array('SignController', 'signList');
+$route['*']['/sign/list/:nosign'] = array('SignController', 'signList');
+$route['*']['/sign/list/:nosign/page/:pindex'] = array('SignController', 'signList');
+$route['*']['/sign/list/project/:pid/:nosign'] = array('SignController', 'signList');
+$route['*']['/sign/list/project/:pid/:nosign/page/:pindex'] = array('SignController', 'signList');
+$route['*']['/sign/list/project/:pid/tender/:pmid/:nosign'] = array('SignController', 'signList');
+$route['*']['/sign/list/project/:pid/tender/:pmid/:nosign/page/:pindex'] = array('SignController', 'signList');
+$route['*']['/sign/list/project/:pid/tender/:pmid/phaseno/:mpid/:nosign'] = array('SignController', 'signList');
+$route['*']['/sign/list/project/:pid/tender/:pmid/phaseno/:mpid/:nosign/page/:pindex'] = array('SignController', 'signList');
+
 
 
 $route['*']['/sign/set/:sid'] = array('SignController', 'signSignSet');
 $route['*']['/sign/set/:sid'] = array('SignController', 'signSignSet');
 $route['*']['/sign/upsigner'] = array('SignController', 'signUpSigner');
 $route['*']['/sign/upsigner'] = array('SignController', 'signUpSigner');
@@ -333,4 +347,12 @@ $route['*']['/api/client/tender/concernaudit/del'] = array('ClientController', '
  * 软件生成报表开关
  * 软件生成报表开关
  */
  */
 $route['*']['/api/client/sign/switch'] = array('ClientController', 'signSwitch');
 $route['*']['/api/client/sign/switch'] = array('ClientController', 'signSwitch');
+
+
+//手机app扫码登录
+$route['*']['/api/app/scan/validate'] = array('AppController', 'scanValidate');
+$route['*']['/api/app/scan/login'] = array('AppController', 'ScanLogin');
+$route['*']['/api/app/scan/autologin'] = array('AppController', 'autoScanLogin');
+
+
 ?>
 ?>

+ 1 - 1
protected/config/ver.conf.php

@@ -1,5 +1,5 @@
 <?php
 <?php
 
 
 // Version
 // Version
-$config['ver'] = 'v1.8.0';
+$config['ver'] = 'v1.9.0';
 
 

+ 74 - 1
protected/controller/AppController.php

@@ -17,6 +17,7 @@ Doo::loadModel('users');
 Doo::loadClass('itemmeasurenum');
 Doo::loadClass('itemmeasurenum');
 Doo::loadModelAt('aconfig', 'admin');
 Doo::loadModelAt('aconfig', 'admin');
 Doo::loadClass('sms');
 Doo::loadClass('sms');
+Doo::loadClass('Hashids/Hashids');
 
 
 /**
 /**
  * MainController
  * MainController
@@ -26,7 +27,7 @@ Doo::loadClass('sms');
  */
  */
 class AppController extends DooController {
 class AppController extends DooController {
 
 
-    private $data, $client, $auth, $att, $file, $zip, $actmeasure, $contractact, $project, $profile, $numofperact, $measureauditact, $attfile, $users, $itemfile, $modelconfig, $aconfig, $sms, $itemMeasureNum;
+    private $data, $client, $auth, $att, $file, $zip, $actmeasure, $contractact, $project, $profile, $numofperact, $measureauditact, $attfile, $users, $itemfile, $modelconfig, $aconfig, $sms, $itemMeasureNum, $__hashids;
 
 
     private $statusArray = array('uncheck' => '1', 'checking' => '2', 'checked' => '3', 'checkno' => '4');
     private $statusArray = array('uncheck' => '1', 'checking' => '2', 'checked' => '3', 'checkno' => '4');
     private $fileTypeArray = array('台帐附件');
     private $fileTypeArray = array('台帐附件');
@@ -51,6 +52,7 @@ class AppController extends DooController {
         $this->itemMeasureNum = new ItemMeasureNumpofper();
         $this->itemMeasureNum = new ItemMeasureNumpofper();
         $this->aconfig = new AConfig();
         $this->aconfig = new AConfig();
         $this->sms = new Sms(Doo::conf()->SMS_URL, Doo::conf()->SMS_AUTHKEY);
         $this->sms = new Sms(Doo::conf()->SMS_URL, Doo::conf()->SMS_AUTHKEY);
+        $this->__hashids = new Hashids\Hashids('jlzfuserid', 8);
     }
     }
 
 
     public function ServerLogin() {
     public function ServerLogin() {
@@ -580,6 +582,77 @@ class AppController extends DooController {
         }
         }
     }
     }
 
 
+    public function scanValidate(){
+        if(isset($_POST['app']) && $_POST['app'] == 'jlzfAppScanValidate'){
+            $uid = $this->__hashids->decode($_POST['user'])[0];
+            if(!empty($uid) && is_numeric($uid)){
+                if($this->auth->getWebToken($uid) == $_POST['token']){
+                    $userArray = $this->profile->getProWithUid($uid);
+                    $avatarStr = $userArray['avatar'];
+                    if (isset($userArray['userid'])) {
+                        $msgArray = array('uid' => $uid, 'name' => $userArray['name'], 'ucompany' => $userArray['company'], 'jobtitle' => $userArray['jobs'], 'avatar' => Doo::conf()->APP_URL . $avatarStr, 'server' => $_SERVER['HTTP_HOST'], 'token' => $_POST['token']);
+                        echo json_encode(array('status' => TRUE, 'msg' => '', 'userinfo' => $msgArray), JSON_UNESCAPED_UNICODE);
+                        exit;
+                    }else{
+                        echo json_encode(array('status' => FALSE, 'msg' => '不存在该用户,请联系我们'), JSON_UNESCAPED_UNICODE);
+                        exit;
+                    }
+                }else{
+                    echo json_encode(array('status' => FALSE, 'msg' => '请检查二维码是否正确或过期,重新登录web端获取最新二维码或使用账号密码登录'), JSON_UNESCAPED_UNICODE);
+                    exit;
+                }
+            }
+        }
+        return 'http://a.app.qq.com/o/simple.jsp?pkgname=cn.com.smartcost.jlzf';
+    }
+
+    public function ScanLogin(){
+        if(isset($_POST['app']) && $_POST['app'] == 'jlzfAppScanLogin'){
+            $status = $this->auth->checkLoginByScan($_POST['uid'],$_POST['token']);
+            if($status){
+                $uinfo = $this->auth->getUinfo();
+                $userArray = $this->profile->getProWithUid($uinfo['uid']);
+                $avatarStr = $userArray['avatar'];
+                if (isset($userArray['userid'])) {
+                    $apptoken = sha1($this->create_randomstr() . $uinfo['uid']);
+                    $this->auth->AppLoginToken($uinfo['uid'],$apptoken);
+                    $msgArray = array('uid' => $uinfo['uid'], 'name' => $userArray['name'], 'email' => $uinfo['uemail'], 'ucompany' => $userArray['company'], 'jobtitle' => $userArray['jobs'], 'avatar' => Doo::conf()->APP_URL . $avatarStr, 'token' => $apptoken);
+                    echo json_encode(array('status' => TRUE, 'msg' => '', 'userinfo' => $msgArray), JSON_UNESCAPED_UNICODE);
+                    die;
+                }
+            }else{
+                echo json_encode(array('status' => FALSE, 'msg' => '请检查二维码是否正确或过期,重新登录web端获取最新二维码或使用账号密码登录'), JSON_UNESCAPED_UNICODE);
+                exit;
+            }
+        }
+        return 'http://a.app.qq.com/o/simple.jsp?pkgname=cn.com.smartcost.jlzf';
+    }
+
+    public function autoScanLogin(){
+        if ($this->auth->CheckAppLoginToken($_POST['uid'], $_POST['token'])) {
+            $uinfo = $this->auth->getUinfo();
+            if (isset($uinfo['isstop']) && $uinfo['isstop'] > 0) {
+                echo json_encode(array('status' => FALSE, 'msg' => '账号未启用'), JSON_UNESCAPED_UNICODE);
+                die;
+            }
+            if (isset($uinfo['uid'])) {
+                $userArray = $this->profile->getProWithUid($uinfo['uid']);
+                $avatarStr = $userArray['avatar'];
+                if (isset($userArray['userid'])) {
+//                    $this->auth->setUid($uinfo['uid']);
+                    $msgArray = array('uid' => $uinfo['uid'], 'name' => $userArray['name'], 'email' => $uinfo['uemail'], 'ucompany' => $userArray['company'], 'jobtitle' => $userArray['jobs'], 'avatar' => Doo::conf()->APP_URL . $avatarStr);
+                    echo json_encode(array('status' => TRUE, 'msg' => '', 'userinfo' => $msgArray), JSON_UNESCAPED_UNICODE);
+                    die;
+                }
+            }
+
+        } else {
+            echo json_encode(array('status' => FALSE, 'msg' => '您的登录信息已过期,请重新登录'), JSON_UNESCAPED_UNICODE);
+            die;
+        }
+    }
+
+
 //    function checkVersion($version)
 //    function checkVersion($version)
 //    {
 //    {
 //        preg_match();
 //        preg_match();

+ 1 - 1
protected/controller/ClientController.php

@@ -1541,7 +1541,7 @@ class ClientController extends DooController
                         $path = 'signs/'.$signid.'/' . $v . '.jpg';
                         $path = 'signs/'.$signid.'/' . $v . '.jpg';
                         @chmod(Doo::conf()->SITE_PATH.$path,0777);
                         @chmod(Doo::conf()->SITE_PATH.$path,0777);
                         $signatt->insertSignAtt($signid,$v,$path);
                         $signatt->insertSignAtt($signid,$v,$path);
-                        $this->compressed_image(Doo::conf()->SITE_PATH.$path,Doo::conf()->SITE_PATH.$path);
+//                        $this->compressed_image(Doo::conf()->SITE_PATH.$path,Doo::conf()->SITE_PATH.$path);
                     }
                     }
                     $sign2 = new signn();
                     $sign2 = new signn();
                     $sign2->updateSignPageNum($signid,$sum);
                     $sign2->updateSignPageNum($signid,$sum);

+ 15 - 2
protected/controller/LoginController.php

@@ -2,6 +2,7 @@
 
 
 Doo::loadClass('auth');
 Doo::loadClass('auth');
 Doo::loadClass('profile');
 Doo::loadClass('profile');
+Doo::loadClass('utoken');
 Doo::loadModelAt('aconfig', 'admin');
 Doo::loadModelAt('aconfig', 'admin');
 
 
 /**
 /**
@@ -48,10 +49,11 @@ class LoginController extends DooController
                     $this->auth->setUid($retval['uid']);
                     $this->auth->setUid($retval['uid']);
                     $this->auth->setUemail($retval['uemail']);
                     $this->auth->setUemail($retval['uemail']);
                     $_SESSION['token'] = sha1($this->create_randomstr() . $_SESSION['uid']);
                     $_SESSION['token'] = sha1($this->create_randomstr() . $_SESSION['uid']);
+                    $this->auth->updateToken($retval['uid'],$_SESSION['token'],1);
                     setcookie('token', $_SESSION['token'], 0, '/', Doo::conf()->APP_URL, FALSE, TRUE);
                     setcookie('token', $_SESSION['token'], 0, '/', Doo::conf()->APP_URL, FALSE, TRUE);
                     return Doo::conf()->APP_URL . 'project/index';
                     return Doo::conf()->APP_URL . 'project/index';
                 } else {
                 } else {
-                    $this->data['tips'] = '<div class="alert alert-error"><span data-icon="t" aria-hidden="true"></span> 帐号不存在密码错误</div>';
+                    $this->data['tips'] = '<div class="alert alert-danger"><span data-icon="t" aria-hidden="true"></span> 帐号或密码错误,请检查输入是否有误。</div>';
                 }
                 }
             }
             }
         } else {
         } else {
@@ -62,10 +64,11 @@ class LoginController extends DooController
                         $this->auth->setUid($retval['uid']);
                         $this->auth->setUid($retval['uid']);
                         $this->auth->setUemail($retval['uemail']);
                         $this->auth->setUemail($retval['uemail']);
                         $_SESSION['token'] = sha1($this->create_randomstr() . $_SESSION['uid']);
                         $_SESSION['token'] = sha1($this->create_randomstr() . $_SESSION['uid']);
+                        $this->auth->updateToken($retval['uid'],$_SESSION['token'],1);
                         setcookie('token', $_SESSION['token'], 0, '/', Doo::conf()->APP_URL, FALSE, TRUE);
                         setcookie('token', $_SESSION['token'], 0, '/', Doo::conf()->APP_URL, FALSE, TRUE);
                         return Doo::conf()->APP_URL . 'project/index';
                         return Doo::conf()->APP_URL . 'project/index';
                     } else {
                     } else {
-                        $this->data['tips'] = '<div class="alert alert-error"><span data-icon="t" aria-hidden="true"></span> 帐号不存在密码错误</div>';
+                        $this->data['tips'] = '<div class="alert alert-danger"><span data-icon="t" aria-hidden="true"></span> 帐号或密码错误,请检查输入是否有误。</div>';
                     }
                     }
                 } else {
                 } else {
                     return Doo::conf()->APP_URL;
                     return Doo::conf()->APP_URL;
@@ -73,12 +76,22 @@ class LoginController extends DooController
             }
             }
         }
         }
 
 
+        $this->getsoftware();
         $this->data['_token_'] = $this->generateFormHash($this->create_randomstr());
         $this->data['_token_'] = $this->generateFormHash($this->create_randomstr());
         $this->data['proName'] = $this->aconfig->getOne(array('select' => 'proName', 'asArray' => TRUE))['proName'];
         $this->data['proName'] = $this->aconfig->getOne(array('select' => 'proName', 'asArray' => TRUE))['proName'];
         $this->data['ver'] = DOO::conf()->ver;
         $this->data['ver'] = DOO::conf()->ver;
         $this->render('login', $this->data);
         $this->render('login', $this->data);
     }
     }
 
 
+    function getsoftware(){
+        $StrJson = ($this->aconfig->getOne(array('select' => 'upgradeinfo', 'asArray' => TRUE))['upgradeinfo']);
+        $upgradeinfo = json_decode($StrJson, true);
+        if ($upgradeinfo) {
+            $this->data['version'] = $upgradeinfo['version'];
+            $this->data['download'] = $upgradeinfo['download'];
+        }
+    }
+
     function Signout()
     function Signout()
     {
     {
         $this->auth->logout();
         $this->auth->logout();

+ 17 - 5
protected/controller/ProjectController.php

@@ -73,6 +73,17 @@ class ProjectController extends DooController
         if($this->data['signSwitch'] > 0)
         if($this->data['signSwitch'] > 0)
             $this->data['needSignNum'] = $this->sign->getNeedSignNumbyUid($this->auth->getUid()) != 0 ? $this->sign->getNeedSignNumbyUid($this->auth->getUid()) : '';
             $this->data['needSignNum'] = $this->sign->getNeedSignNumbyUid($this->auth->getUid()) != 0 ? $this->sign->getNeedSignNumbyUid($this->auth->getUid()) : '';
 
 
+        //获取桌面版本
+        $this->getsoftware();
+    }
+
+    function getsoftware(){
+        $StrJson = ($this->aconfig->getOne(array('select' => 'upgradeinfo', 'asArray' => TRUE))['upgradeinfo']);
+        $upgradeinfo = json_decode($StrJson, true);
+        if ($upgradeinfo) {
+            $this->data['version'] = $upgradeinfo['version'];
+            $this->data['download'] = $upgradeinfo['download'];
+        }
     }
     }
 
 
     /**
     /**
@@ -92,6 +103,7 @@ class ProjectController extends DooController
         $this->data['pros'] = $this->project->getAll($this->auth->getUid());
         $this->data['pros'] = $this->project->getAll($this->auth->getUid());
         if (isset($this->data['pros'][0]['pid'])) {
         if (isset($this->data['pros'][0]['pid'])) {
             foreach ($this->data['pros'] as $key => $value) {
             foreach ($this->data['pros'] as $key => $value) {
+                $this->data['pros'][$key]['index'] = $key%8+1;
                 $this->data['pros'][$key]['numMeasure'] = $this->actmeasure->getMearsureCount($value['pid']);
                 $this->data['pros'][$key]['numMeasure'] = $this->actmeasure->getMearsureCount($value['pid']);
                 $this->data['pros'][$key]['contracttotal'] = $this->actmeasure->getTotalWithPid($value['pid']);
                 $this->data['pros'][$key]['contracttotal'] = $this->actmeasure->getTotalWithPid($value['pid']);
                 $this->data['pros'][$key]['changTotal'] = $this->numofperact->getChangTotal($value['pid']);
                 $this->data['pros'][$key]['changTotal'] = $this->numofperact->getChangTotal($value['pid']);
@@ -336,9 +348,9 @@ class ProjectController extends DooController
 					<td class="taR">¥' . $totalmoney . '</td>
 					<td class="taR">¥' . $totalmoney . '</td>
 					<td>
 					<td>
 					    <div class="progress">
 					    <div class="progress">
-						<div class="bar bar-success" style="width: ' . $displayPercentSnTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="截止上期完成:¥' . $nTotalProgress . '">' . $displayPercentSnTotalProgress . '</div>
-						<div class="bar" style="width:' . $displayPercentCurrTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="本期完成:¥' . $ncurrTotalProgress . '">' . $displayPercentCurrTotalProgress . '</div>
-						<div class="bar bar-gary" style="width:' . $displayPercentLessTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥' . $nlessTotalProgress . '">' . $displayPercentLessTotalProgress . '</div>
+						<div class="progress-bar progress-bar-success" style="width: ' . $displayPercentSnTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="截止上期完成:¥' . $nTotalProgress . '">' . $displayPercentSnTotalProgress . '</div>
+						<div class="progress-bar" style="width:' . $displayPercentCurrTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="本期完成:¥' . $ncurrTotalProgress . '">' . $displayPercentCurrTotalProgress . '</div>
+						<div class="progress-bar progress-bar-gary" style="width:' . $displayPercentLessTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥' . $nlessTotalProgress . '">' . $displayPercentLessTotalProgress . '</div>
 					    </div>
 					    </div>
 					</td>
 					</td>
 				    </tr>';
 				    </tr>';
@@ -360,8 +372,8 @@ class ProjectController extends DooController
 					<td width="150"><span aria-hidden="true" data-icon="u"></span> ' . $v['stname'] . '<a id="idt_' . $v['stid'] . '" href="#secoption" data-toggle="modal" title="编辑/查看KEY" stid="' . $v['stid'] . '" proname="' . $v['stname'] . '" key="' . $v['stkey'] . '"><span data-icon="S" aria-hidden="true" class="closePanel" data-placement="bottom" data-toggle="tooltip" data-original-title="查看KEY" style="font-size:18px"></span></a></td>
 					<td width="150"><span aria-hidden="true" data-icon="u"></span> ' . $v['stname'] . '<a id="idt_' . $v['stid'] . '" href="#secoption" data-toggle="modal" title="编辑/查看KEY" stid="' . $v['stid'] . '" proname="' . $v['stname'] . '" key="' . $v['stkey'] . '"><span data-icon="S" aria-hidden="true" class="closePanel" data-placement="bottom" data-toggle="tooltip" data-original-title="查看KEY" style="font-size:18px"></span></a></td>
 					<td width="90">总价:</td><td width="165">¥<b style="font-size:16px">' . $biaoduantotalmoney . '</b></td>
 					<td width="90">总价:</td><td width="165">¥<b style="font-size:16px">' . $biaoduantotalmoney . '</b></td>
 					<td width="60">完成进度:</td><td><div class="progress">
 					<td width="60">完成进度:</td><td><div class="progress">
-						<div class="bar bar-success" style="width:' . $progress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="累计完成:¥' . $nprogress . '">' . $progress . '</div>
-						<div class="bar bar-danger" style="width:' . $otherprogress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥' . $notherprogress . '">' . $otherprogress . '</div>
+						<div class="progress-bar progress-bar-success" style="width:' . $progress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="累计完成:¥' . $nprogress . '">' . $progress . '</div>
+						<div class="progress-bar progress-bar-danger" style="width:' . $otherprogress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥' . $notherprogress . '">' . $otherprogress . '</div>
 					    </div></td>
 					    </div></td>
 				    </tr>
 				    </tr>
 				</thead>
 				</thead>

+ 16 - 4
protected/controller/RProjectController.php

@@ -64,8 +64,19 @@ class RProjectController extends DooController
         //获取需要您签署的数目
         //获取需要您签署的数目
         if($this->data['signSwitch'] > 0)
         if($this->data['signSwitch'] > 0)
             $this->data['needSignNum'] = $this->sign->getNeedSignNumbyUid($this->auth->getUid()) != 0 ? $this->sign->getNeedSignNumbyUid($this->auth->getUid()) : '';
             $this->data['needSignNum'] = $this->sign->getNeedSignNumbyUid($this->auth->getUid()) != 0 ? $this->sign->getNeedSignNumbyUid($this->auth->getUid()) : '';
+
+        //获取桌面版本
+        $this->getsoftware();
     }
     }
 
 
+    function getsoftware(){
+        $StrJson = ($this->aconfig->getOne(array('select' => 'upgradeinfo', 'asArray' => TRUE))['upgradeinfo']);
+        $upgradeinfo = json_decode($StrJson, true);
+        if ($upgradeinfo) {
+            $this->data['version'] = $upgradeinfo['version'];
+            $this->data['download'] = $upgradeinfo['download'];
+        }
+    }
     public function beforeRun($resource, $action)
     public function beforeRun($resource, $action)
     {
     {
 //	$uGroups = $this->profile->getProWithUid($this->auth->getUid());
 //	$uGroups = $this->profile->getProWithUid($this->auth->getUid());
@@ -103,6 +114,7 @@ class RProjectController extends DooController
                 }
                 }
                 $this->data['proArray'][$key]['bcontracttotal'] = number_format($this->data['proArray'][$key]['contracttotal'], 2, '.', ',');
                 $this->data['proArray'][$key]['bcontracttotal'] = number_format($this->data['proArray'][$key]['contracttotal'], 2, '.', ',');
                 $this->data['proArray'][$key]['bchangTotal'] = number_format($this->data['proArray'][$key]['changTotal'], 2, '.', ',');
                 $this->data['proArray'][$key]['bchangTotal'] = number_format($this->data['proArray'][$key]['changTotal'], 2, '.', ',');
+                $this->data['proArray'][$key]['index'] = $key%8+1;
             }
             }
         } else {
         } else {
             $this->data['proArray'] = array();
             $this->data['proArray'] = array();
@@ -172,7 +184,7 @@ class RProjectController extends DooController
                         }
                         }
                         $datatmp = $this->measureauditact->getMyAuditStatus2($numStatusArray['pmid'], $numStatusArray['numpname'], $numStatusArray['times'], $this->auth->getUid());
                         $datatmp = $this->measureauditact->getMyAuditStatus2($numStatusArray['pmid'], $numStatusArray['numpname'], $numStatusArray['times'], $this->auth->getUid());
                         if ($datatmp && ($datatmp['mastatus'] == 'checking')) {
                         if ($datatmp && ($datatmp['mastatus'] == 'checking')) {
-                            $buttonhtml = '<a class="btn btn-warning btn-small" href="/rproject/' . $this->params['pid'] . '/section/' . $v['pmid'] . '/report/' . $numStatusArray['mpid'] . '">开始审批</a>';
+                            $buttonhtml = '<a class="btn btn-warning btn-sm" href="/rproject/' . $this->params['pid'] . '/section/' . $v['pmid'] . '/report/' . $numStatusArray['mpid'] . '">开始审批</a>';
                         } else {
                         } else {
                             $buttonhtml = '(<span class="colOrange">' . $this->statusArray[$numStatusArray['currstatus']] . '</span>)';
                             $buttonhtml = '(<span class="colOrange">' . $this->statusArray[$numStatusArray['currstatus']] . '</span>)';
                         }
                         }
@@ -182,9 +194,9 @@ class RProjectController extends DooController
                                     <td class="taR">¥' . number_format($v['contracttotal'], 2, '.', ',') . '</td>
                                     <td class="taR">¥' . number_format($v['contracttotal'], 2, '.', ',') . '</td>
                                     <td>
                                     <td>
                                         <div class="progress">
                                         <div class="progress">
-                                        <div class="bar bar-success" style="width: ' . $dispstopnowtotal . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="截止上期完成:¥' . $nstopnowtotal . '">' . $dispstopnowtotal . '</div>
-                                        <div class="bar" style="width:' . $dispcurrdone . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="本期完成:¥' . $ncurrdone . '">' . $dispcurrdone . '</div>
-                                        <div class="bar bar-gary" style="width:' . $dispnowtotal . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥' . $nnowtotal . '">' . $dispnowtotal . '</div>
+                                        <div class="progress-bar progress-bar-success" style="width: ' . $dispstopnowtotal . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="截止上期完成:¥' . $nstopnowtotal . '">' . $dispstopnowtotal . '</div>
+                                        <div class="progress-bar" style="width:' . $dispcurrdone . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="本期完成:¥' . $ncurrdone . '">' . $dispcurrdone . '</div>
+                                        <div class="progress-bar progress-bar-gary" style="width:' . $dispnowtotal . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥' . $nnowtotal . '">' . $dispnowtotal . '</div>
                                         </div>
                                         </div>
                                     </td>
                                     </td>
                                     </tr>';
                                     </tr>';

+ 12 - 0
protected/controller/SProjectController.php

@@ -76,6 +76,17 @@ class SProjectController extends DooController
         if($this->data['signSwitch'] > 0)
         if($this->data['signSwitch'] > 0)
             $this->data['needSignNum'] = $this->sign->getNeedSignNumbyUid($this->auth->getUid()) != 0 ? $this->sign->getNeedSignNumbyUid($this->auth->getUid()) : '';
             $this->data['needSignNum'] = $this->sign->getNeedSignNumbyUid($this->auth->getUid()) != 0 ? $this->sign->getNeedSignNumbyUid($this->auth->getUid()) : '';
 
 
+        //获取桌面版本
+        $this->getsoftware();
+    }
+
+    function getsoftware(){
+        $StrJson = ($this->aconfig->getOne(array('select' => 'upgradeinfo', 'asArray' => TRUE))['upgradeinfo']);
+        $upgradeinfo = json_decode($StrJson, true);
+        if ($upgradeinfo) {
+            $this->data['version'] = $upgradeinfo['version'];
+            $this->data['download'] = $upgradeinfo['download'];
+        }
     }
     }
 
 
     public function index()
     public function index()
@@ -102,6 +113,7 @@ class SProjectController extends DooController
                 }
                 }
                 $this->data['conArray'][$k]['bcontracttotal'] = number_format($this->data['conArray'][$k]['contracttotal'], 2, '.', ',');
                 $this->data['conArray'][$k]['bcontracttotal'] = number_format($this->data['conArray'][$k]['contracttotal'], 2, '.', ',');
                 $this->data['conArray'][$k]['bchangTotal'] = number_format($this->data['conArray'][$k]['changTotal'], 2, '.', ',');
                 $this->data['conArray'][$k]['bchangTotal'] = number_format($this->data['conArray'][$k]['changTotal'], 2, '.', ',');
+                $this->data['conArray'][$k]['index'] = $k%8+1;
             }
             }
         }
         }
         $this->render('s-project', $this->data, TRUE);
         $this->render('s-project', $this->data, TRUE);

+ 5 - 5
protected/controller/ShareController.php

@@ -230,9 +230,9 @@ class ShareController extends DooController
 					<td class="taR">¥' . $totalmoney . '</td>
 					<td class="taR">¥' . $totalmoney . '</td>
 					<td>
 					<td>
 					    <div class="progress">
 					    <div class="progress">
-						<div class="bar bar-success" style="width: ' . $displayPercentSnTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="截止上期完成:¥' . $nTotalProgress . '">' . $displayPercentSnTotalProgress . '</div>
-						<div class="bar" style="width:' . $displayPercentCurrTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="本期完成:¥' . $ncurrTotalProgress . '">' . $displayPercentCurrTotalProgress . '</div>
-						<div class="bar bar-gary" style="width:' . $displayPercentLessTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥' . $nlessTotalProgress . '">' . $displayPercentLessTotalProgress . '</div>
+						<div class="progress-bar progress-bar-success" style="width: ' . $displayPercentSnTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="截止上期完成:¥' . $nTotalProgress . '">' . $displayPercentSnTotalProgress . '</div>
+						<div class="progress-bar" style="width:' . $displayPercentCurrTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="本期完成:¥' . $ncurrTotalProgress . '">' . $displayPercentCurrTotalProgress . '</div>
+						<div class="progress-bar progress-bar-gary" style="width:' . $displayPercentLessTotalProgress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥' . $nlessTotalProgress . '">' . $displayPercentLessTotalProgress . '</div>
 					    </div>
 					    </div>
 					</td>
 					</td>
 				    </tr>';
 				    </tr>';
@@ -254,8 +254,8 @@ class ShareController extends DooController
 					<td width="150"><span aria-hidden="true" data-icon="u"></span> ' . $v['stname'] . '<a id="idt_' . $v['stid'] . '" href="#secoption" data-toggle="modal" title="编辑/查看KEY" stid="' . $v['stid'] . '" proname="' . $v['stname'] . '" key="' . $v['stkey'] . '"><span data-icon="S" aria-hidden="true" class="closePanel" data-placement="bottom" data-toggle="tooltip" data-original-title="查看KEY" style="font-size:18px"></span></a></td>
 					<td width="150"><span aria-hidden="true" data-icon="u"></span> ' . $v['stname'] . '<a id="idt_' . $v['stid'] . '" href="#secoption" data-toggle="modal" title="编辑/查看KEY" stid="' . $v['stid'] . '" proname="' . $v['stname'] . '" key="' . $v['stkey'] . '"><span data-icon="S" aria-hidden="true" class="closePanel" data-placement="bottom" data-toggle="tooltip" data-original-title="查看KEY" style="font-size:18px"></span></a></td>
 					<td width="90">总价:</td><td width="165">¥<b style="font-size:16px">' . $biaoduantotalmoney . '</b></td>
 					<td width="90">总价:</td><td width="165">¥<b style="font-size:16px">' . $biaoduantotalmoney . '</b></td>
 					<td width="60">完成进度:</td><td><div class="progress">
 					<td width="60">完成进度:</td><td><div class="progress">
-						<div class="bar bar-success" style="width:' . $progress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="累计完成:¥' . $nprogress . '">' . $progress . '</div>
-						<div class="bar bar-danger" style="width:' . $otherprogress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥' . $notherprogress . '">' . $otherprogress . '</div>
+						<div class="progress-bar progress-bar-success" style="width:' . $progress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="累计完成:¥' . $nprogress . '">' . $progress . '</div>
+						<div class="progress-bar progress-bar-danger" style="width:' . $otherprogress . ';" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥' . $notherprogress . '">' . $otherprogress . '</div>
 					    </div></td>
 					    </div></td>
 				    </tr>
 				    </tr>
 				</thead>
 				</thead>

+ 34 - 2
protected/controller/SignController.php

@@ -75,7 +75,17 @@ class SignController extends DooController
         //获取需要您签署的数目
         //获取需要您签署的数目
         $this->data['needSignNum'] = $this->sign->getNeedSignNumbyUid($this->auth->getUid()) != 0 ? $this->sign->getNeedSignNumbyUid($this->auth->getUid()) : '';
         $this->data['needSignNum'] = $this->sign->getNeedSignNumbyUid($this->auth->getUid()) != 0 ? $this->sign->getNeedSignNumbyUid($this->auth->getUid()) : '';
 
 
+        //获取桌面版本
+        $this->getsoftware();
+    }
 
 
+    function getsoftware(){
+        $StrJson = ($this->aconfig->getOne(array('select' => 'upgradeinfo', 'asArray' => TRUE))['upgradeinfo']);
+        $upgradeinfo = json_decode($StrJson, true);
+        if ($upgradeinfo) {
+            $this->data['version'] = $upgradeinfo['version'];
+            $this->data['download'] = $upgradeinfo['download'];
+        }
     }
     }
 
 
     /**
     /**
@@ -608,15 +618,31 @@ class SignController extends DooController
      */
      */
     public function signList()
     public function signList()
     {
     {
+        if(isset($_POST['delid']) && is_numeric($_POST['delid'])){
+            //删除未签署报表数据和文件
+            $signmsg = $this->sign->getOneSignbysid($_POST['delid']);
+            if(empty($signmsg) && $signmsg['status'] == "checked" && ($signmsg['ownuid'] != $this->auth->getUid() || $signmsg['audituid'] != $this->auth->getUid())){
+                exit(json_encode(array('code' => 400),JSON_UNESCAPED_UNICODE));
+            }
+            $this->sign->delSignbysid($_POST['delid'],$signmsg['status']);
+
+            include (DOO::conf()->SITE_PATH . 'protected/plugin/io.han.php');
+            $this->IoHandler = new IoHandler();
+            $path = DOO::conf()->SITE_PATH."signs/".$_POST['delid'];
+            $this->IoHandler->RemoveDir($path);
+
+            exit(json_encode(array('code' => 200),JSON_UNESCAPED_UNICODE));
+        }
         Doo::loadHelper('DooPager');
         Doo::loadHelper('DooPager');
         $pagestr = '';
         $pagestr = '';
         $sqlstr = ' 1';
         $sqlstr = ' 1';
         $this->data['project'] = '';
         $this->data['project'] = '';
         $this->data['tender'] = '';
         $this->data['tender'] = '';
         $this->data['phaseno'] = '';
         $this->data['phaseno'] = '';
+        $this->data['nosign'] = '';
 
 
         //获取项目信息
         //获取项目信息
-        $searchsql = '(`audituid`='.$this->auth->getUid().' OR sid IN (SELECT sid FROM jl_sign_audit WHERE jl_sign_audit.audituid='.$this->auth->getUid().'))';
+        $searchsql = '(`ownuid`='.$this->auth->getUid().' OR `audituid`='.$this->auth->getUid().' OR sid IN (SELECT sid FROM jl_sign_audit WHERE jl_sign_audit.audituid='.$this->auth->getUid().'))';
         $itemlist = $this->sign->getSignGroupByProject($searchsql);
         $itemlist = $this->sign->getSignGroupByProject($searchsql);
         if(!empty($itemlist)){
         if(!empty($itemlist)){
             foreach($itemlist as $ik => $iv){
             foreach($itemlist as $ik => $iv){
@@ -659,8 +685,13 @@ class SignController extends DooController
             }
             }
         }
         }
 
 
+        if((isset($this->params['nosign']) && ($this->params['nosign'] == 'nosign')) || isset($_GET['nosign'])){
+            $this->data['nosign'] = 1;
+            $pagestr .= '/nosign';
+            $searchsql = '(`ownuid`='.$this->auth->getUid().' AND `status`="uncheck")';
+        }
 
 
-        $totalArchive = $this->sign->getSignNum($sqlstr,$this->auth->getUid());
+        $totalArchive = $this->sign->getSignNum($sqlstr.' and '.$searchsql);
         $pager = new DooPager(Doo::conf()->APP_URL . 'sign/list'.$pagestr.'/page', $totalArchive, 10, 100);
         $pager = new DooPager(Doo::conf()->APP_URL . 'sign/list'.$pagestr.'/page', $totalArchive, 10, 100);
         $pager->setCss('', 'disabled', 'active');
         $pager->setCss('', 'disabled', 'active');
         if (isset($this->params['pindex']))
         if (isset($this->params['pindex']))
@@ -681,6 +712,7 @@ class SignController extends DooController
 //                $list[$k]['phaseno'] = $phaseno['numpname'];
 //                $list[$k]['phaseno'] = $phaseno['numpname'];
                 $list[$k]['ownname'] = $this->auth->getName($v['ownuid']);
                 $list[$k]['ownname'] = $this->auth->getName($v['ownuid']);
                 $list[$k]['auditname'] = $this->auth->getName($v['audituid']);
                 $list[$k]['auditname'] = $this->auth->getName($v['audituid']);
+                $list[$k]['delstatus'] = ($this->auth->getUid() == $v['ownuid'] || $this->auth->getUid() == $v['audituid']) && $v['status'] != 'checked' ? 1 : 0;
             }
             }
         }
         }
 
 

+ 1 - 1
protected/controller/UpgradeController.php

@@ -69,7 +69,7 @@ class UpgradeController extends DooController
 //                        error_log(var_dump($_POST, TRUE), 3, '/opt/html/dev/data/sss.txt');
 //                        error_log(var_dump($_POST, TRUE), 3, '/opt/html/dev/data/sss.txt');
 //        if (in_array($this->params['onoff'], $this->onoff)) {
 //        if (in_array($this->params['onoff'], $this->onoff)) {
 //            if ($this->params['onoff'] == 'on') {
 //            if ($this->params['onoff'] == 'on') {
-        $this->modelconfig->upgradeinfo = json_encode($_POST['json']);
+        $this->modelconfig->upgradeinfo = $_POST['json'];
         $stronoff = $this->modelconfig->update(array('where' => 'conid=1'));
         $stronoff = $this->modelconfig->update(array('where' => 'conid=1'));
 //            }
 //            }
 //        }
 //        }

+ 61 - 2
protected/controller/UserController.php

@@ -13,6 +13,8 @@ Doo::loadClass('sms');
 Doo::loadModelAt('aconfig', 'admin');
 Doo::loadModelAt('aconfig', 'admin');
 Doo::loadClass('measureauditact');
 Doo::loadClass('measureauditact');
 Doo::loadClass('sign');
 Doo::loadClass('sign');
+Doo::loadClass('phpqrcode');
+Doo::loadClass('Hashids/Hashids');
 /* * proDetail
 /* * proDetail
  * MainController
  * MainController
  * Feel free to delete the methods and replace them with your own code.
  * Feel free to delete the methods and replace them with your own code.
@@ -23,7 +25,7 @@ Doo::loadClass('sign');
 class UserController extends DooController
 class UserController extends DooController
 {
 {
 
 
-    private $data, $sign, $auth, $attfile, $profile, $project, $contractact, $actmeasure, $numofperact, $user, $ph, $sms, $aconfig;
+    private $data, $sign, $auth, $attfile, $profile, $project, $contractact, $actmeasure, $numofperact, $user, $ph, $sms, $aconfig, $__hashids;
 
 
     public function beforeRun($resource, $action)
     public function beforeRun($resource, $action)
     {
     {
@@ -57,8 +59,9 @@ class UserController extends DooController
         $this->aconfig = new AConfig();
         $this->aconfig = new AConfig();
         $this->measureauditact = new MeasureauditAct();
         $this->measureauditact = new MeasureauditAct();
         $this->sign = new signn();
         $this->sign = new signn();
+        $this->__hashids = new Hashids\Hashids('jlzfuserid', 8);
         $this->data['rootUrl'] = Doo::conf()->APP_URL;
         $this->data['rootUrl'] = Doo::conf()->APP_URL;
-        $this->data['currChannle'] = 'p';
+        $this->data['currChannle'] = '';
         $this->data['user'] = $this->profile->getProWithUid($this->auth->getUid());
         $this->data['user'] = $this->profile->getProWithUid($this->auth->getUid());
         $mpidArray = $this->measureauditact->getAuditProject2($this->auth->getUid());
         $mpidArray = $this->measureauditact->getAuditProject2($this->auth->getUid());
         if (isset($mpidArray[0]['pid'])) {
         if (isset($mpidArray[0]['pid'])) {
@@ -77,6 +80,18 @@ class UserController extends DooController
         if($this->data['signSwitch'] > 0)
         if($this->data['signSwitch'] > 0)
             $this->data['needSignNum'] = $this->sign->getNeedSignNumbyUid($this->auth->getUid()) != 0 ? $this->sign->getNeedSignNumbyUid($this->auth->getUid()) : '';
             $this->data['needSignNum'] = $this->sign->getNeedSignNumbyUid($this->auth->getUid()) != 0 ? $this->sign->getNeedSignNumbyUid($this->auth->getUid()) : '';
 
 
+        //获取桌面版本
+        $this->data['version'] = '';
+        $this->getsoftware();
+    }
+
+    function getsoftware(){
+        $StrJson = ($this->aconfig->getOne(array('select' => 'upgradeinfo', 'asArray' => TRUE))['upgradeinfo']);
+        $upgradeinfo = json_decode($StrJson, true);
+        if ($upgradeinfo) {
+            $this->data['version'] = $upgradeinfo['version'];
+            $this->data['download'] = $upgradeinfo['download'];
+        }
     }
     }
 
 
     /**
     /**
@@ -551,9 +566,53 @@ class UserController extends DooController
     }
     }
 
 
     public function appdownload(){
     public function appdownload(){
+        $token = $this->auth->getWebToken($this->auth->getUid());
+        if($token == ''){
+            exit('token不存在或已过期,请重新登录 '.DOO::conf()->APP_URL);
+        }
+        //加密uid
+        $uid = $this->__hashids->encode($this->auth->getUid());
+
+        $content = Doo::conf()->APP_URL.'api/app/scan/validate?user='.$uid.'&token='.$token;
+
+        $qrcodeurl = 'global/qrcode/';
+        $filepath = $qrcodeurl.'qrcode_'.$uid.'.png';
+
+        $this->codemake($content,$filepath);
+        $this->data['qrcode'] = $filepath;
         $this->render('edit-app', $this->data, TRUE);
         $this->render('edit-app', $this->data, TRUE);
     }
     }
 
 
+    function codemake($content,$filepath){
+        $value = $content;//二维码内容
+        $errorCorrectionLevel = 'H';//容错级别
+        $matrixPointSize = 3;//生成图片大小
+
+//生成二维码图片
+        QRcode::png($value, $filepath, $errorCorrectionLevel, $matrixPointSize,0);
+//        $logo = 'jb51.png';//准备好的logo图片
+//        $QR = 'qrcode.png';//已经生成的原始二维码图
+//
+//        if ($logo !== FALSE) {
+//            $QR = imagecreatefromstring(file_get_contents($QR));
+//            $logo = imagecreatefromstring(file_get_contents($logo));
+//            $QR_width = imagesx($QR);//二维码图片宽度
+//            $QR_height = imagesy($QR);//二维码图片高度
+//            $logo_width = imagesx($logo);//logo图片宽度
+//            $logo_height = imagesy($logo);//logo图片高度
+//            $logo_qr_width = $QR_width / 5;
+//            $scale = $logo_width/$logo_qr_width;
+//            $logo_qr_height = $logo_height/$scale;
+//            $from_width = ($QR_width - $logo_qr_width) / 2;
+//            //重新组合图片并调整大小
+//            imagecopyresampled($QR, $logo, $from_width, $from_width, 0, 0, $logo_qr_width,
+//                $logo_qr_height, $logo_width, $logo_height);
+//        }
+//输出图片
+//        Header("Content-type: image/png");
+//        ImagePng($QR);
+    }
+
 }
 }
 
 
 ?>
 ?>

+ 28 - 0
protected/model/utoken.php

@@ -0,0 +1,28 @@
+<?php
+
+Doo::loadCore('db/DooModel');
+
+/**
+ * 用户表
+ */
+class Utoken extends DooModel
+{
+
+    public $id;
+    public $uid;
+    public $token;
+    public $addtime;
+    public $endtime;
+    public $comefrom;
+    public $_table = 'jl_user_token';
+    public $_primarykey = 'id';
+    public $_fields = array('id', 'uid', 'token', 'addtime', 'endtime', 'comefrom');
+
+    public function __construct()
+    {
+        parent::setupModel(__CLASS__);
+    }
+
+}
+
+?>

+ 2 - 2
protected/module/admin/controller/LoginController.php

@@ -43,8 +43,8 @@ class LoginController extends DooController {
                     setcookie('token', $_SESSION['token'], 0, '/', Doo::conf()->APP_URL, FALSE, TRUE);
                     setcookie('token', $_SESSION['token'], 0, '/', Doo::conf()->APP_URL, FALSE, TRUE);
                     return Doo::conf()->APP_URL . 'manage/user/list';
                     return Doo::conf()->APP_URL . 'manage/user/list';
                 } else {
                 } else {
-                    $this->data['tips'] = '<div class="alert alert-error">
-			    <span data-icon="t" aria-hidden="true"></span> 帐号不存在或者密码错误
+                    $this->data['tips'] = '<div class="alert alert-danger">
+			    <span data-icon="t" aria-hidden="true"></span> 帐号不存在或者密码错误
 			</div>';
 			</div>';
 //		    die();
 //		    die();
                 }
                 }

+ 17 - 0
protected/module/admin/controller/ServiceController.php

@@ -62,6 +62,23 @@ class ServiceController extends DooController
         $soap->service(isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '');
         $soap->service(isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '');
     }
     }
 
 
+    public function testSoap(){
+        ini_set("soap.wsdl_cache_enabled", "0");
+        $client=new soapclient(Doo::conf()->APP_URL . '/service/user');
+        var_dump($client);
+        exit;
+        $client->soap_defencoding = 'UTF-8';
+        $paras=array('username' => "测试soap",'realname' => "测试soap");
+        $result=$client->call("addUser",$paras);
+        if (!$err=$client->getError()) {
+            echo "返回结果:",$result;
+        } else {
+            echo "调用出错:",$err;
+        }
+
+//        $server->handle();
+    }
+
     function addUser($username, $realname)
     function addUser($username, $realname)
     {
     {
         if (isset($username) && isset($realname)) {
         if (isset($username) && isset($realname)) {

+ 27 - 27
protected/module/admin/view/admin-addUser.html

@@ -24,48 +24,48 @@
                     <form class="form-horizontal" method="post">
                     <form class="form-horizontal" method="post">
                         <fieldset>
                         <fieldset>
                             <legend>添加用户</legend>
                             <legend>添加用户</legend>
-                            <div class="control-group">
-                                <label class="control-label">邮箱(登录使用)</label>
-                                <div class="controls">
-                                    <input type="text" name="email" placeholder="登录系统、找回密码和接收通知">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">邮箱(登录使用)</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="text" name="email" placeholder="登录系统、找回密码和接收通知">
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">单位(公司)</label>
-                                <div class="controls">
-                                    <input type="text" name="company" placeholder="用户所在单位或公司">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">单位(公司)</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="text" name="company" placeholder="用户所在单位或公司">
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">职位</label>
-                                <div class="controls">
-                                    <input type="text" name="jobs" placeholder="用户在所单位(公司)职位">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">职位</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="text" name="jobs" placeholder="用户在所单位(公司)职位">
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">姓名</label>
-                                <div class="controls">
-                                    <input type="text" name="realname" placeholder="输入真实姓名">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">姓名</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="text" name="realname" placeholder="输入真实姓名">
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">联系电话</label>
-                                <div class="controls">
-                                    <input type="text" name="phone" placeholder="输入电话号码,0000-0000000">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">联系电话</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="text" name="phone" placeholder="输入电话号码,0000-0000000">
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">备注</label>
-                                <div class="controls">
-                                    <input type="text" name="remark" placeholder="输入备注信息">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">备注</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="text" name="remark" placeholder="输入备注信息">
                                 </div>
                                 </div>
                             </div>
                             </div>
                             <div class="alert alert-info">
                             <div class="alert alert-info">
                                 添加成功后,系统将会发送一封确认邮件给该用户,邮件中将包含登录密码。
                                 添加成功后,系统将会发送一封确认邮件给该用户,邮件中将包含登录密码。
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label"></label>
-                                <div class="controls">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label"></label>
+                                <div class="col-sm-3">
                                     <input name="submit" type="submit" class="btn btn-normal btn-primary" value="确定添加" />
                                     <input name="submit" type="submit" class="btn btn-normal btn-primary" value="确定添加" />
                                 </div>
                                 </div>
                             </div>
                             </div>

+ 63 - 59
protected/module/admin/view/admin-editUser.html

@@ -30,93 +30,97 @@
             <form class="form-horizontal" method="post" enctype="multipart/form-data">
             <form class="form-horizontal" method="post" enctype="multipart/form-data">
                 <fieldset>
                 <fieldset>
                     <legend>编辑用户</legend>
                     <legend>编辑用户</legend>
-                    <div class="control-group">
-                        <label class="control-label">邮箱(登录使用)</label>
-                        <div class="controls">
-                            <input type="text" name="email" value="{{users.uemail}}">
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">邮箱(登录使用)</label>
+                        <div class="col-sm-3">
+                            <input class="form-control" type="text" name="email" value="{{users.uemail}}">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label">单位(公司)</label>
-                        <div class="controls">
-                            <input type="text" name="company" value="{{profile.company}}">
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">单位(公司)</label>
+                        <div class="col-sm-3">
+                            <input class="form-control" type="text" name="company" value="{{profile.company}}">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label">职位</label>
-                        <div class="controls">
-                            <input type="text" name="jobs" value="{{profile.jobs}}">
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">职位</label>
+                        <div class="col-sm-3">
+                            <input class="form-control" type="text" name="jobs" value="{{profile.jobs}}">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label">姓名</label>
-                        <div class="controls">
-                            <input type="text" name="name" value="{{profile.name}}">
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">姓名</label>
+                        <div class="col-sm-3">
+                            <input class="form-control" type="text" name="name" value="{{profile.name}}">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label">联系电话</label>
-                        <div class="controls">
-                            <input type="text" name="phone" value="{{profile.phone}}">
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">联系电话</label>
+                        <div class="col-sm-3">
+                            <input class="form-control" type="text" name="phone" value="{{profile.phone}}">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label">备注</label>
-                        <div class="controls">
-                            <input type="text" name="remark" value="{{profile.remark}}">
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">备注</label>
+                        <div class="col-sm-3">
+                            <input class="form-control" type="text" name="remark" value="{{profile.remark}}">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label">短信通知</label>
-                        <div class="controls">
-                            <input type="text" disabled="disabled" value="{{profile.mobile}}">
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">短信通知</label>
+                        <div class="col-sm-3">
+                            <input class="form-control" type="text" disabled="disabled" value="{{profile.mobile}}">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label">电子签名</label>
-                        <div class="controls">
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label">电子签名</label>
+                        <div class="col-sm-3">
                             <img id="signpic" src="{{rootUrl}}{{profile.signpath}}" width="150px"> <a href="#addsign" data-toggle="modal">更新</a>
                             <img id="signpic" src="{{rootUrl}}{{profile.signpath}}" width="150px"> <a href="#addsign" data-toggle="modal">更新</a>
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="alert alert-error">
+                    <div class="alert alert-danger">
                         <strong>请谨慎编辑用户!</strong> 编辑后将影响该用户曾参与的所有标段数据。
                         <strong>请谨慎编辑用户!</strong> 编辑后将影响该用户曾参与的所有标段数据。
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label"></label>
-                        <div class="controls">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label"></label>
+                        <div class="col-sm-3">
                             <input type="submit" class="btn btn-normal btn-danger" value="完成编辑"/>
                             <input type="submit" class="btn btn-normal btn-danger" value="完成编辑"/>
                         </div>
                         </div>
                     </div>
                     </div>
                 </fieldset>
                 </fieldset>
                 <!-- 更新签名 -->
                 <!-- 更新签名 -->
-                <div id="addsign" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
-                    <div class="modal-header">
-                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-                        <h3 id="myModalLabel">更新电子签名</h3>
-                    </div>
-                    <div class="modal-body">
+                <div id="addsign" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+                    <div class="modal-dialog">
+                        <div class="modal-content">
+                            <div class="modal-header">
+                                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                                <h3 id="myModalLabel">更新电子签名</h3>
+                            </div>
+                            <div class="modal-body">
 
 
-                        <div class="form">
-                            <form class="form-horizontal">
-                                <div class="control-group">
-                                    <label class="control-label">上传签名图</label>
-                                    <div class="controls">
-                                        <input type="file" name="sign" id="uploadsign" value="" accept="image/png">
-                                    </div>
-                                </div>
-                                <div class="control-group">
-                                    <label class="control-label">生成签名图</label>
-                                    <div class="controls">
-                                        <a href="http://sign.6jlzf.cn" target="_blank" class="btn">打开 HWPenSign</a>
-                                    </div>
+                                <div class="form">
+                                    <form class="form-horizontal">
+                                        <div class="control-group">
+                                            <label class="control-label">上传签名图</label>
+                                            <div class="controls">
+                                                <input type="file" name="sign" id="uploadsign" value="" accept="image/png">
+                                            </div>
+                                        </div>
+                                        <div class="control-group">
+                                            <label class="control-label">生成签名图</label>
+                                            <div class="controls">
+                                                <a href="http://sign.6jlzf.cn" target="_blank" class="btn">打开 HWPenSign</a>
+                                            </div>
+                                        </div>
+                                    </form>
                                 </div>
                                 </div>
-                            </form>
+                            </div>
+                            <div class="modal-footer">
+                                <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+                                <button class="btn btn-primary" sign-url="" id="updatesignbtn" data-dismiss="modal" aria-hidden="true">更新</button>
+                            </div>
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="modal-footer">
-                        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-                        <button class="btn btn-primary" sign-url="" id="updatesignbtn" data-dismiss="modal" aria-hidden="true">更新</button>
-                    </div>
                 </div>
                 </div>
                 <!-- 更新签名 -->
                 <!-- 更新签名 -->
             </form>
             </form>

+ 15 - 11
protected/module/admin/view/admin-item.html

@@ -59,17 +59,21 @@
             </div>
             </div>
         </div>
         </div>
         <!--重置密码-->
         <!--重置密码-->
-        <div class="modal hide fade" id="sendpw">
-            <div class="modal-header">
-                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-                <h3>重置密码成功</h3>
-            </div>
-            <div class="modal-body">
-                <p>系统已将新密码发送至该用户的登录邮箱:<b id="email"></b></p>
-                <p>如果长时间无法接收到邮件,请确认该邮箱是否可以正常接收邮件;</p>
-                <p>添加 postmaster@zhzd.sendcloud.org 至邮箱白名单,再重新操作<b>重置密码</b>。</p>
-            </div>
-            <div class="modal-footer">
+        <div class="modal fade" id="sendpw">
+            <div class="modal-dialog">
+                <div class="modal-content">
+                    <div class="modal-header">
+                        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                        <h3>重置密码成功</h3>
+                    </div>
+                    <div class="modal-body">
+                        <p>系统已将新密码发送至该用户的登录邮箱:<b id="email"></b></p>
+                        <p>如果长时间无法接收到邮件,请确认该邮箱是否可以正常接收邮件;</p>
+                        <p>添加 postmaster@zhzd.sendcloud.org 至邮箱白名单,再重新操作<b>重置密码</b>。</p>
+                    </div>
+                    <div class="modal-footer">
+                    </div>
+                </div>
             </div>
             </div>
         </div>
         </div>
         <!--重置密码-->
         <!--重置密码-->

+ 22 - 7
protected/module/admin/view/admin-login.html

@@ -20,18 +20,33 @@
             <div class="loginPanel">
             <div class="loginPanel">
                 <form method="post">
                 <form method="post">
                     <input type="hidden" name="tokenform" value="{{_token_}}" />
                     <input type="hidden" name="tokenform" value="{{_token_}}" />
-                    <div  class="tpa"><b>管理后台</b></div>
+                    <!--<div  class="tpa"><b>管理后台</b></div>-->
+                    <!--<div class="clearfix">-->
+                        <!--<div class="fL">-->
+                            <!--<img src="{{rootUrl}}global/images/avatar-normal.png">-->
+                        <!--</div>-->
+                        <!--<div class="fR">-->
+                            <!--<div><input type="text" name="muser" placeholder="输入管理员帐号" /></div>-->
+                            <!--<input type="password" name="mpasswd" placeholder="密码" />-->
+                        <!--</div>-->
+                    <!--</div>-->
+                    <div  class="tpa"><h4>管理后台</h4></div>
                     <div class="clearfix">
                     <div class="clearfix">
-                        <div class="fL">
-                            <img src="{{rootUrl}}global/images/avatar-normal.png">
+                        <div class="form-group">
+                            <div class="input-group">
+                                <div class="input-group-addon"><i class="glyphicon glyphicon-user"></i></div>
+                                <input class="form-control input-lg" placeholder="输入管理员帐号" type="text" name="muser">
+                            </div>
                         </div>
                         </div>
-                        <div class="fR">
-                            <div><input type="text" name="muser" placeholder="输入管理员帐号" /></div>
-                            <input type="password" name="mpasswd" placeholder="密码" />
+                        <div class="form-group">
+                            <div class="input-group">
+                                <div class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></div>
+                                <input class="form-control input-lg" placeholder="输入密码" type="password" name="mpasswd">
+                            </div>
                         </div>
                         </div>
                     </div>
                     </div>
                     <div class="clearfix">
                     <div class="clearfix">
-                        <input type="submit" class="btn btn-normal btn-block btn-warning" href="admin-userlist.html" value="登录后台"/>
+                        <input type="submit" class="btn btn-normal btn-block btn-warning" value="登录后台"/>
                         {{tips}}
                         {{tips}}
                     </div>
                     </div>
                 </form>
                 </form>

+ 19 - 19
protected/module/admin/view/admin-option.html

@@ -23,33 +23,33 @@
                     <form class="form-horizontal" method="post">
                     <form class="form-horizontal" method="post">
                         <fieldset>
                         <fieldset>
                             <legend>修改管理员密码</legend>
                             <legend>修改管理员密码</legend>
-                            <div class="control-group">
-                                <label class="control-label">管理员</label>
-                                <div class="controls">
-                                    <input type="text" value="{{auser.auname}}" disabled>
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">管理员</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="text" value="{{auser.auname}}" disabled>
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">旧密码</label>
-                                <div class="controls">
-                                    <input type="password" name="oldpasswd" placeholder="输入您当前管理员登录密码">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">旧密码</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="password" name="oldpasswd" placeholder="输入您当前管理员登录密码">
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">新密码</label>
-                                <div class="controls">
-                                    <input type="password" name="newpasswd" placeholder="输入您需要设置的新密码">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">新密码</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="password" name="newpasswd" placeholder="输入您需要设置的新密码">
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">确认新密码</label>
-                                <div class="controls">
-                                    <input type="password" name="renewpasswd" placeholder="再次输入您的新密码">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">确认新密码</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="password" name="renewpasswd" placeholder="再次输入您的新密码">
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label"></label>
-                                <div class="controls">
+                            <div class="fotm-group">
+                                <label class="col-sm-2 control-label"></label>
+                                <div class="col-sm-3">
                                     <input type="submit" type="button" class="btn btn-normal btn-primary" value="修改" />
                                     <input type="submit" type="button" class="btn btn-normal btn-primary" value="修改" />
                                 </div>
                                 </div>
                             </div>
                             </div>

+ 80 - 60
protected/module/admin/view/admin-period.html

@@ -101,78 +101,98 @@
     </div>
     </div>
 </div>
 </div>
 <!--不通过-->
 <!--不通过-->
-<div class="modal hide fade" id="unpass">
-    <input id="maid" name="maid" value="0" type="hidden"/>
-    <input id="mpid" name="mpid" value="0" type="hidden"/>
-    <input id="numpname" name="numpname" value="0" type="hidden"/>
-    <input id="times" name="times" value="0" type="hidden"/>
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>设置审批不通过</h3>
-    </div>
-    <div class="modal-body">
-        <p>确认是否设置该审批人审批状态为审批不通过?</p>
-    </div>
-    <div class="modal-footer">
-        <button id="btnunpass" class="btn btn-danger">确认</button>
-        <button class="btn" data-dismiss="modal">取消</button>
+<div class="modal fade" id="unpass">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <input id="maid" name="maid" value="0" type="hidden"/>
+            <input id="mpid" name="mpid" value="0" type="hidden"/>
+            <input id="numpname" name="numpname" value="0" type="hidden"/>
+            <input id="times" name="times" value="0" type="hidden"/>
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>设置审批不通过</h3>
+            </div>
+            <div class="modal-body">
+                <p>确认是否设置该审批人审批状态为审批不通过?</p>
+            </div>
+            <div class="modal-footer">
+                <button id="btnunpass" class="btn btn-danger">确认</button>
+                <button class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!--通过-->
 <!--通过-->
-<div class="modal hide fade" id="pass">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>设置审批通过</h3>
-    </div>
-    <div class="modal-body">
-        <p>确认是否设置该审批人审批状态为审批通过?</p>
-    </div>
-    <div class="modal-footer">
-        <button id="btnpass" class="btn btn-success">确认</button>
-        <button class="btn" data-dismiss="modal">取消</button>
+<div class="modal fade" id="pass">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>设置审批通过</h3>
+            </div>
+            <div class="modal-body">
+                <p>确认是否设置该审批人审批状态为审批通过?</p>
+            </div>
+            <div class="modal-footer">
+                <button id="btnpass" class="btn btn-success">确认</button>
+                <button class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!--审批中-->
 <!--审批中-->
-<div class="modal hide fade" id="checking">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>设置审批中</h3>
-    </div>
-    <div class="modal-body">
-        <p>确认是否设置该审批人审批状态为审批中?</p>
-    </div>
-    <div class="modal-footer">
-        <button id="btnchecking" class="btn btn-warning">确认</button>
-        <button class="btn" data-dismiss="modal">取消</button>
+<div class="modal fade" id="checking">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>设置审批中</h3>
+            </div>
+            <div class="modal-body">
+                <p>确认是否设置该审批人审批状态为审批中?</p>
+            </div>
+            <div class="modal-footer">
+                <button id="btnchecking" class="btn btn-warning">确认</button>
+                <button class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!--删除本期-->
 <!--删除本期-->
-<div class="modal hide fade" id="delperiod">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>删除本期#<span class="times"></span></h3>
-    </div>
-    <div class="modal-body">
-        <p>删除本期#<span class="times"></span>(第<span class="times"></span>次审批)后,将退回至上一次审批。</p>
-        <p>当#1被删除后,将退回至上一期。</p>
-        <p>确认是否删除第<span id="nums"></span>期#<span class="times"></span>?</p>
-    </div>
-    <div class="modal-footer">
-        <button id="btndelete" class="btn btn-danger">确认</button>
-        <button class="btn" data-dismiss="modal">取消</button>
+<div class="modal fade" id="delperiod">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>删除本期#<span class="times"></span></h3>
+            </div>
+            <div class="modal-body">
+                <p>删除本期#<span class="times"></span>(第<span class="times"></span>次审批)后,将退回至上一次审批。</p>
+                <p>当#1被删除后,将退回至上一期。</p>
+                <p>确认是否删除第<span id="nums"></span>期#<span class="times"></span>?</p>
+            </div>
+            <div class="modal-footer">
+                <button id="btndelete" class="btn btn-danger">确认</button>
+                <button class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!--删除本标段第一期第一次时不可删除-->
 <!--删除本标段第一期第一次时不可删除-->
-<div class="modal hide fade" id="delperiod2">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>删除本期#<span class="times"></span>确认</h3>
-    </div>
-    <div class="modal-body">
-        <p>当前标段下为第1期#1审批,不能删除本期,但可返回上一层删除这个标段。</p>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal">关闭</button>
+<div class="modal fade" id="delperiod2">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>删除本期#<span class="times"></span>确认</h3>
+            </div>
+            <div class="modal-body">
+                <p>当前标段下为第1期#1审批,不能删除本期,但可返回上一层删除这个标段。</p>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 
 

+ 32 - 24
protected/module/admin/view/admin-project.html

@@ -52,33 +52,41 @@
 </div>
 </div>
 
 
 <!--删除标段不可删除-->
 <!--删除标段不可删除-->
-<div class="modal hide fade" id="delpoj">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>删除项目确认</h3>
-    </div>
-    <div class="modal-body">
-        <p>项目下还有标段类型,不能删除该项目。</p>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal">关闭</button>
+<div class="modal fade" id="delpoj">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>删除项目确认</h3>
+            </div>
+            <div class="modal-body">
+                <p>项目下还有标段类型,不能删除该项目。</p>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!--删除标段可删除-->
 <!--删除标段可删除-->
-<div class="modal hide fade" id="delpoj2">
-    <input id="pid" type="hidden" value="0" name="pid"/>
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>删除项目确认</h3>
-    </div>
-    <div class="modal-body">
-        <p id="tip"></p>
-        <p>删除后,将无法恢复。</p>
-        <p>请谨慎操作!</p>
-    </div>
-    <div class="modal-footer">
-        <a id="delproject" class="btn btn-danger">确认</a>
-        <button class="btn" data-dismiss="modal">取消</button>
+<div class="modal fade" id="delpoj2">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <input id="pid" type="hidden" value="0" name="pid"/>
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>删除项目确认</h3>
+            </div>
+            <div class="modal-body">
+                <p id="tip"></p>
+                <p>删除后,将无法恢复。</p>
+                <p>请谨慎操作!</p>
+            </div>
+            <div class="modal-footer">
+                <a id="delproject" class="btn btn-danger">确认</a>
+                <button class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <script type="text/javascript">autoFlashHeight();</script>
 <script type="text/javascript">autoFlashHeight();</script>

+ 64 - 48
protected/module/admin/view/admin-section.html

@@ -60,63 +60,79 @@
     </div>
     </div>
 </div>
 </div>
 <!--删除标段不可删除-->
 <!--删除标段不可删除-->
-<div class="modal hide fade" id="delsection">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>删除标段确认</h3>
-    </div>
-    <div class="modal-body">
-        <p>标段下还有期数,不能删除该标段。</p>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal">关闭</button>
+<div class="modal fade" id="delsection">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>删除标段确认</h3>
+            </div>
+            <div class="modal-body">
+                <p>标段下还有期数,不能删除该标段。</p>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!--删除本期-->
 <!--删除本期-->
-<div class="modal hide fade" id="delsection2">
-    <input id="pmid" type="hidden" name="pmid" value="0"/>
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>删除标段确认</h3>
-    </div>
-    <div class="modal-body">
-        <p id="tippro"></p>
-        <p>删除后,将无法恢复。</p>
-        <p>请谨慎操作!</p>
-    </div>
-    <div class="modal-footer">
-        <a id="delsecok" class="btn btn-danger">确认</a>
-        <button class="btn" data-dismiss="modal">取消</button>
+<div class="modal fade" id="delsection2">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <input id="pmid" type="hidden" name="pmid" value="0"/>
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>删除标段确认</h3>
+            </div>
+            <div class="modal-body">
+                <p id="tippro"></p>
+                <p>删除后,将无法恢复。</p>
+                <p>请谨慎操作!</p>
+            </div>
+            <div class="modal-footer">
+                <a id="delsecok" class="btn btn-danger">确认</a>
+                <button class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!--删除标段不可删除-->
 <!--删除标段不可删除-->
-<div class="modal hide fade" id="deltype">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>删除标段类型确认</h3>
-    </div>
-    <div class="modal-body">
-        <p>标段类型下还有标段,不能删除该标段类型。</p>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal">关闭</button>
+<div class="modal fade" id="deltype">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>删除标段类型确认</h3>
+            </div>
+            <div class="modal-body">
+                <p>标段类型下还有标段,不能删除该标段类型。</p>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!--删除标段可删除-->
 <!--删除标段可删除-->
-<div class="modal hide fade" id="deltype2">
-    <input id="stid" type="hidden" name="stid" value="0"/>
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-        <h3>删除标段类型确认</h3>
-    </div>
-    <div class="modal-body">
-        <p id="tip"></p>
-        <p>删除后,将无法恢复。</p>
-        <p>请谨慎操作!</p>
-    </div>
-    <div class="modal-footer">
-        <a id="deltypeok"  class="btn btn-danger">确认</a>
-        <button class="btn" data-dismiss="modal">取消</button>
+<div class="modal fade" id="deltype2">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <input id="stid" type="hidden" name="stid" value="0"/>
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+                <h3>删除标段类型确认</h3>
+            </div>
+            <div class="modal-body">
+                <p id="tip"></p>
+                <p>删除后,将无法恢复。</p>
+                <p>请谨慎操作!</p>
+            </div>
+            <div class="modal-footer">
+                <a id="deltypeok"  class="btn btn-danger">确认</a>
+                <button class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 
 

+ 63 - 51
protected/module/admin/view/admin-sign.html

@@ -25,18 +25,18 @@
 			<fieldset>
 			<fieldset>
 				<legend>在线签署</legend>
 				<legend>在线签署</legend>
 				<!--软件生成报表-->
 				<!--软件生成报表-->
-				<div class="control-group">
-					<label class="control-label">软件生成报表</label>
-					<div class="controls">
+				<div class="form-group">
+					<label class="col-sm-2 control-label">软件生成报表</label>
+					<div class="col-sm-3">
 						<!-- if {{reportSwitch}} == 0 -->
 						<!-- if {{reportSwitch}} == 0 -->
 						<div class="btn-group">
 						<div class="btn-group">
-							<button class="btn" data-status="open_report" title="开启在线签署">开启</button>
+							<button class="btn btn-default" data-status="open_report" title="开启在线签署">开启</button>
 							<button class="btn btn-danger disabled" data-status="close_report" disabled="disabled">已关闭</button>
 							<button class="btn btn-danger disabled" data-status="close_report" disabled="disabled">已关闭</button>
 						</div>
 						</div>
 						<!-- else -->
 						<!-- else -->
 						<div class="btn-group">
 						<div class="btn-group">
 							<button class="btn btn-success  disabled" data-status="open_report"  disabled="disabled">已开启</button>
 							<button class="btn btn-success  disabled" data-status="open_report"  disabled="disabled">已开启</button>
-							<button class="btn" data-status="close_report" title="开启在线">关闭</button>
+							<button class="btn btn-default" data-status="close_report" title="开启在线">关闭</button>
 						</div>
 						</div>
 						<!-- endif -->
 						<!-- endif -->
 						<a data-toggle="modal" href="#help1">帮助</a>
 						<a data-toggle="modal" href="#help1">帮助</a>
@@ -44,36 +44,36 @@
 				</div>
 				</div>
 
 
 				<!--WEB开启在线签署-->
 				<!--WEB开启在线签署-->
-				<div class="control-group">
-					<label class="control-label">WEB开启在线签署</label>
-					<div class="controls">
+				<div class="form-group">
+					<label class="col-sm-2 control-label">WEB开启在线签署</label>
+					<div class="col-sm-3">
 						<!-- if {{signSwitch}} == 0 -->
 						<!-- if {{signSwitch}} == 0 -->
 						<div class="btn-group">
 						<div class="btn-group">
-							<button class="btn" data-status="open_sign" title="开启在线签署">开启</button>
+							<button class="btn btn-default" data-status="open_sign" title="开启在线签署">开启</button>
 							<button class="btn btn-danger disabled" data-status="close_sign" disabled="disabled">已关闭</button>
 							<button class="btn btn-danger disabled" data-status="close_sign" disabled="disabled">已关闭</button>
 						</div>
 						</div>
 						<!-- else -->
 						<!-- else -->
 						<div class="btn-group">
 						<div class="btn-group">
 							<button class="btn btn-success disabled" data-status="open_sign"  disabled="disabled">已开启</button>
 							<button class="btn btn-success disabled" data-status="open_sign"  disabled="disabled">已开启</button>
-							<button class="btn" data-status="close_sign" title="开启在线">关闭</button>
+							<button class="btn btn-default" data-status="close_sign" title="开启在线">关闭</button>
 						</div>
 						</div>
 						<!-- endif -->
 						<!-- endif -->
 						<a data-toggle="modal" href="#help2">帮助</a>
 						<a data-toggle="modal" href="#help2">帮助</a>
 					</div>
 					</div>
 				</div>
 				</div>
 				<!--要先开启 “WEB开启在线签署”-->
 				<!--要先开启 “WEB开启在线签署”-->
-				<div class="control-group" id="launchsign" <!-- if {{signSwitch}} == 0 -->style="display:none"<!-- endif -->>
-					<label class="control-label">WEB开启发起签署</label>
-					<div class="controls">
+				<div class="form-group" id="launchsign" <!-- if {{signSwitch}} == 0 -->style="display:none"<!-- endif -->>
+					<label class="col-sm-2 control-label">WEB开启发起签署</label>
+					<div class="col-sm-3">
 						<!-- if {{launchsignSwitch}} == 0 -->
 						<!-- if {{launchsignSwitch}} == 0 -->
 						<div class="btn-group">
 						<div class="btn-group">
-							<button class="btn" data-status="open_launch" title="开启在线签署">开启</button>
+							<button class="btn btn-default" data-status="open_launch" title="开启在线签署">开启</button>
 							<button class="btn btn-danger disabled" data-status="close_launch" disabled="disabled">已关闭</button>
 							<button class="btn btn-danger disabled" data-status="close_launch" disabled="disabled">已关闭</button>
 						</div>
 						</div>
 						<!-- else -->
 						<!-- else -->
 						<div class="btn-group">
 						<div class="btn-group">
 							<button class="btn btn-success disabled" data-status="open_launch"  disabled="disabled">已开启</button>
 							<button class="btn btn-success disabled" data-status="open_launch"  disabled="disabled">已开启</button>
-							<button class="btn" data-status="close_launch" title="开启在线">关闭</button>
+							<button class="btn btn-default" data-status="close_launch" title="开启在线">关闭</button>
 						</div>
 						</div>
 						<!-- endif -->
 						<!-- endif -->
 						<a data-toggle="modal" href="#help3">帮助</a>
 						<a data-toggle="modal" href="#help3">帮助</a>
@@ -85,63 +85,75 @@
 </div>
 </div>
 </div>
 </div>
 <!-- 帮助1弹出 -->
 <!-- 帮助1弹出 -->
-<div id="help1" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
-	<div class="modal-body">
-		<div class="alert alert-info">
-			此开关用于开启关闭软件功能入口
-		</div>
-		<div>
-			<img src="{{rootUrl}}global/images/sign-help1.png">
+<div id="help1" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
+	<div class="modal-dialog">
+		<div class="modal-content">
+			<div class="modal-body">
+				<div class="alert alert-info">
+					此开关用于开启关闭软件功能入口
+				</div>
+				<div>
+					<img src="{{rootUrl}}global/images/sign-help1.png">
+				</div>
+			</div>
+			<div class="modal-footer">
+				<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
+			</div>
 		</div>
 		</div>
 	</div>
 	</div>
-	<div class="modal-footer">
-		<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
-	</div>
 </div>
 </div>
 <!-- 帮助2弹出 -->
 <!-- 帮助2弹出 -->
-<div id="help2" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
-	<div class="modal-body">
-		<div class="alert alert-info">
-			此开关用于开启关闭WEB功能入口
-		</div>
-		<div>
-			<img src="{{rootUrl}}global/images/sign-help2.png">
+<div id="help2" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
+	<div class="modal-dialog">
+		<div class="modal-content">
+			<div class="modal-body">
+				<div class="alert alert-info">
+					此开关用于开启关闭WEB功能入口
+				</div>
+				<div>
+					<img src="{{rootUrl}}global/images/sign-help2.png">
+				</div>
+			</div>
+			<div class="modal-footer">
+				<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
+			</div>
 		</div>
 		</div>
 	</div>
 	</div>
-	<div class="modal-footer">
-		<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
-	</div>
 </div>
 </div>
 <!-- 帮助3弹出 -->
 <!-- 帮助3弹出 -->
-<div id="help3" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
-	<div class="modal-body">
-		<div class="alert alert-info">
-			此开关用于开启关闭发起签署按钮,如果你想关闭在线签署功能,又希望可以查看历史数据,可以开启本项,关闭“软件生成报表”和“WEB开启在线签署。
-			”
-		</div>
-		<div>
-			<img src="{{rootUrl}}global/images/sign-help3.png">
+<div id="help3" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
+	<div class="modal-dialog">
+		<div class="modal-content">
+			<div class="modal-body">
+				<div class="alert alert-info">
+					此开关用于开启关闭发起签署按钮,如果你想关闭在线签署功能,又希望可以查看历史数据,可以开启本项,关闭“软件生成报表”和“WEB开启在线签署。
+					”
+				</div>
+				<div>
+					<img src="{{rootUrl}}global/images/sign-help3.png">
+				</div>
+			</div>
+			<div class="modal-footer">
+				<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
+			</div>
 		</div>
 		</div>
 	</div>
 	</div>
-	<div class="modal-footer">
-		<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
-	</div>
 </div>
 </div>
 <script type="text/javascript">autoFlashHeight();</script>
 <script type="text/javascript">autoFlashHeight();</script>
 <script>
 <script>
 	$(function(){
 	$(function(){
-		$('.control-group .btn').on('click',function(){
+		$('.form-group .btn').on('click',function(){
 			var status = $(this).attr('data-status').split("_");
 			var status = $(this).attr('data-status').split("_");
 			if(!$(this).hasClass('disabled')){
 			if(!$(this).hasClass('disabled')){
 				if(status[0] == 'open'){
 				if(status[0] == 'open'){
-					$(this).addClass('btn-success').text('已开启');
-					$(this).siblings('button').removeClass('btn-danger').text('关闭');
+					$(this).addClass('btn-success').removeClass('btn-default').text('已开启');
+					$(this).siblings('button').removeClass('btn-danger').addClass('btn-default').text('关闭');
 					if(status[1] == 'sign'){
 					if(status[1] == 'sign'){
 						$('#launchsign').show();
 						$('#launchsign').show();
 					}
 					}
 				}else{
 				}else{
-					$(this).addClass('btn-danger').text('已关闭');
-					$(this).siblings('button').removeClass('btn-success').text('开启');
+					$(this).addClass('btn-danger').removeClass('btn-default').text('已关闭');
+					$(this).siblings('button').addClass('btn-default').removeClass('btn-success').text('开启');
 					if(status[1] == 'sign'){
 					if(status[1] == 'sign'){
 						$('#launchsign').hide();
 						$('#launchsign').hide();
 					}
 					}

+ 10 - 10
protected/module/admin/view/admin-sms.html

@@ -25,28 +25,28 @@
             <form class="form-horizontal">
             <form class="form-horizontal">
                 <fieldset>
                 <fieldset>
                     <legend>短信通知</legend>
                     <legend>短信通知</legend>
-                    <div id="switchon" class="control-group <!-- if {{smsSwitch}}=='1' --> hide <!-- endif -->">
-                        <label class="control-label">开启短信通知功能</label>
-                        <div class="controls">
+                    <div id="switchon" class="form-group" <!-- if {{smsSwitch}}=='1' -->style="display:none"<!-- endif -->>
+                        <label class="col-sm-2 control-label">开启短信通知功能</label>
+                        <div class="col-sm-3">
                             <div class="btn-group">
                             <div class="btn-group">
-                                <input type="button" class="btn" id="smsOn" title="开启短信通知" value="开启"/>
+                                <input type="button" class="btn btn-default" id="smsOn" title="开启短信通知" value="开启"/>
                                 <button class="btn btn-danger disabled" disabled="disabled">已关闭</button>
                                 <button class="btn btn-danger disabled" disabled="disabled">已关闭</button>
                             </div>
                             </div>
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div id="switchoff" class="control-group <!-- if {{smsSwitch}}=='0' --> hide <!-- endif -->">
-                        <label class="control-label">开启短信通知功能</label>
-                        <div class="controls">
+                    <div id="switchoff" class="form-group" <!-- if {{smsSwitch}}=='0' -->style="display:none"<!-- endif -->>
+                        <label class="col-sm-2 control-label">开启短信通知功能</label>
+                        <div class="col-sm-3">
                             <div class="btn-group">
                             <div class="btn-group">
                                 <button class="btn btn-success  disabled" disabled="disabled">已开启</button>
                                 <button class="btn btn-success  disabled" disabled="disabled">已开启</button>
-                                <input type="button" class="btn" id="smsOff" title="关闭短信通知" value="关闭"/>
+                                <input type="button" class="btn btn-default" id="smsOff" title="关闭短信通知" value="关闭"/>
                             </div>
                             </div>
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div id="alert-open" class="alert alert-info hide">
+                    <div id="alert-open" class="alert alert-info" style="display: none">
                         初次开启,所有用户都必须进行手机验证才能正常接收短信通知。
                         初次开启,所有用户都必须进行手机验证才能正常接收短信通知。
                     </div>
                     </div>
-                    <div id="alert-close" class="alert alert-error hide">
+                    <div id="alert-close" class="alert alert-danger" style="display:none">
                         短信通知已关闭,所有用户都将不会再接收短信通知。
                         短信通知已关闭,所有用户都将不会再接收短信通知。
                     </div>
                     </div>
                 </fieldset>
                 </fieldset>

+ 19 - 19
protected/module/admin/view/admin-sysinfo.html

@@ -24,37 +24,37 @@
                     <form class="form-horizontal" method="post" action="/manage/sys/info">
                     <form class="form-horizontal" method="post" action="/manage/sys/info">
                         <fieldset>
                         <fieldset>
                             <legend>系统信息</legend>
                             <legend>系统信息</legend>
-                            <div class="control-group">
-                                <label class="control-label">云端版本</label>
-                                <div class="controls">
-                                    <input type="text" value="{{ver}}" disabled>
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">云端版本</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="text" value="{{ver}}" disabled>
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">系统名称</label>
-                                <div class="controls">
-                                    <input name="proname" type="text" placeholder="输入系统名称" value="{{proName}}">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">系统名称</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" name="proname" type="text" placeholder="输入系统名称" value="{{proName}}">
                                     <span id="helpBlock" class="help-block">该名称在登录页等位置显示</span>
                                     <span id="helpBlock" class="help-block">该名称在登录页等位置显示</span>
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">管理员账号</label>
-                                <div class="controls">
-                                    <input type="text" value="{{aname}}" disabled>
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">管理员账号</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" type="text" value="{{aname}}" disabled>
                                 </div>
                                 </div>
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label">管理员邮箱</label>
-                                <div class="controls">
-                                    <input name="aemail" type="text" value="{{aemail}}" placeholder="用于找回密码">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label">管理员邮箱</label>
+                                <div class="col-sm-3">
+                                    <input class="form-control" name="aemail" type="text" value="{{aemail}}" placeholder="用于找回密码">
                                 </div>
                                 </div>
                             </div>
                             </div>
                             <div class="alert alert-info">
                             <div class="alert alert-info">
                                 邮箱修改成功后,系统将会发送一封确认邮件给该邮箱地址,请确认邮箱可以正常收取邮件。
                                 邮箱修改成功后,系统将会发送一封确认邮件给该邮箱地址,请确认邮箱可以正常收取邮件。
                             </div>
                             </div>
-                            <div class="control-group">
-                                <label class="control-label"></label>
-                                <div class="controls">
+                            <div class="form-group">
+                                <label class="col-sm-2 control-label"></label>
+                                <div class="col-sm-3">
                                     <input type="submit" class="btn btn-normal btn-primary" value="修改"/>
                                     <input type="submit" class="btn btn-normal btn-primary" value="修改"/>
                                 </div>
                                 </div>
                             </div>
                             </div>

+ 520 - 0
protected/plugin/io.han.php

@@ -0,0 +1,520 @@
+<?php
+
+/*******************************************************************
+
+
+
+ *
+
+ * This is NOT a freeware, use is subject to license terms
+
+ *
+
+
+
+ *
+
+ * @Filename io.han.php $
+
+ *
+
+
+
+ *
+
+ * @Date 2011-09-28 19:16:47 1467070159 594879472 15049 $
+
+ *******************************************************************/
+
+
+
+
+/**
+ * 文件名:io.han.php
+ * 版本号:JishiGou 1.0.0 beta
+ * 最后修改时间: 2010年6月12日
+
+ * 功能描述:磁盘的检测,读取,以及文件目录的操作
+ */
+
+class IoHandler
+{
+	function IoHandler()
+	{
+	}
+	
+	function Compare($file1, $file2)
+	{
+		if (md5_file($file1) == md5_file($file2))
+		{
+			Return true;
+		}
+		else
+		{
+			Return false;
+		}
+	}
+	
+	function SizeConvert($filesize)
+	{
+		if ($filesize >= 1073741824)
+		{
+			$filesize = round($filesize / 1073741824 , 2) . "G";
+		}elseif ($filesize >= 1048576)
+		{
+			$filesize = round($filesize / 1048576, 2) . "M";
+		}elseif ($filesize >= 1024)
+		{
+			$filesize = round($filesize / 1024, 2) . "k";
+		}
+		else
+		{
+			$filesize = $filesize . "b";
+		}
+		Return $filesize;
+	}
+	function ConvertSize($filesize)
+	{
+		Return IoHandler::SizeConvert($filesize);
+	}
+	
+	function ReadDir($dir, $children = 0)
+	{
+		if(is_dir($dir) === false)Return false;;
+		$dir = rtrim(str_replace("\\", "/", $dir), "/") ;
+		$dirfp = @opendir($dir);
+		if ($dirfp === false)
+		{
+			trigger_error("{$dir}目录名不存在或者无效,请检查您的目录设置!<br>", E_USER_NOTICE);
+			Return false;
+		}
+		while (false !== ($file = readdir($dirfp)))
+		{
+			if ($file != '.' and $file != '..')
+			{
+				$abspath = $dir . '/' . $file;
+				if (is_file($abspath) !== false)
+				{
+					$files[] = $abspath ;
+				}
+				if(is_dir($abspath) !== false)
+				{
+					if ($children == '1')
+					{
+						$files = array_merge((array) $files, (array) IoHandler::ReadDir($abspath, $children));
+					}
+				}
+			}
+		}
+		closedir($dirfp);
+		return (array) $files;
+	}
+	
+	function ReadFile($file_name)
+	{
+		if (is_readable($file_name) != false)
+		{
+			if (function_exists('file_get_contents') != false)
+			{
+				$file_contents = file_get_contents($file_name);
+				Return $file_contents;
+			}
+			else
+			{
+				$file_handler = @fopen($file_name, 'rb');
+				if ($file_handler)
+				{
+					$file_contents = @fread($file_handler, filesize($file_name));
+					fclose($file_handler);
+					Return $file_contents;
+				}
+				else
+				{
+					Return false;
+				}
+			}
+		}
+		else
+		{
+			Return false;
+		}
+	}
+	
+	function WriteFile($file_name, $file_contents, $mode = 'wb')
+	{
+		if (($mode == 'w' || $mode == 'wb') && function_exists('file_put_contents'))
+		{
+			Return file_put_contents($file_name, $file_contents);
+		}
+		else
+		{
+			$file_handler = @fopen($file_name, $mode);
+			if ($file_handler)
+			{
+				$len=fwrite($file_handler, $file_contents);
+				fclose($file_handler);
+				Return $len;
+			}
+			else
+			{
+				Return false;
+			}
+		}
+	}
+
+	
+	function GetDiskList()
+	{
+		if (strpos(PHP_OS, 'WIN') === false)
+		{
+			Return false;
+		}
+		$disks = range('c', 'w');
+		foreach($disks as $disk)
+		{
+			$disk = $disk . ":";
+			if (is_dir($disk) !== false && disk_total_space($disk) > 0)
+			{
+				$disk_list[] = $disk;
+			}
+		}
+		Return $disk_list;
+	}
+	
+	function GetDiskSpace($disk_name, $convert_size = false)
+	{
+		if (is_dir($disk_name) === false)
+		{
+			Return false;
+		}
+		$disk_space['total'] = (float)disk_total_space($disk_name);
+		$disk_space['free'] = (float)disk_free_space($disk_name);
+		$disk_space['used'] = $disk_space['total'] - $disk_space['free'];
+		@$disk_space['percent'] = (float)round($disk_space['used'] / $disk_space['total'] * 100);
+		if ($convert_size === false)
+		{
+			Return $disk_space;
+		}
+		$disk_space['total'] = IoHandler::ConvertSize($disk_space['total']);
+		$disk_space['free'] = IoHandler::ConvertSize($disk_space['free']);
+		$disk_space['used'] = IoHandler::ConvertSize($disk_space['used']);
+		$disk_space['percent'] = $disk_space['percent'] . '%';
+		Return $disk_space;
+	}
+	
+	function GetPatternFiles($path, $pattern)
+	{
+		if (is_dir($path) == false)
+		{
+			Return false;
+		}
+		$file_pattern = rtrim($path, '/') . "/"."*.{" . str_replace("|", ",", $pattern) . "}";
+		$file_list = glob($file_pattern, GLOB_BRACE);
+		if (count($file_list) == 0)
+		{
+			Return false;
+		}
+		Return $file_list;
+	}
+	
+	function CopyFile($from, $to)
+	{
+		$copy_count = 0;
+
+		if (is_string($from))
+		{
+			if (copy($from, $to . '/' . IoHandler::BaseName($from)))
+			{
+				$copy_count = 1;
+				Return $copy_count;
+			}
+		}
+		else
+		{
+			if (is_array($from))
+			{
+				if (is_dir($to) == false)
+				{
+					if (IoHandler::MakeDir($to) == false)
+					{
+						Return $copy_count;
+					}
+				}
+				foreach($from as $file_name)
+				{
+					if (copy($file_name, $to . '/' . IoHandler::BaseName($file_name)))
+					{
+						$copy_count++;
+					}
+				}
+			}
+		}
+		Return $copy_count;
+	}
+
+	
+	function DeleteFile($file)
+	{
+
+		if('' == trim($file)) return ;
+
+		$delete = @unlink($file);
+
+				clearstatcache();
+		@$filesys = preg_replace("~\/+~","\\",$file);
+		if(is_file($filesys) and file_exists($filesys))
+		{
+			$delete = @system("del $filesys");
+			clearstatcache();
+			if(file_exists($file))
+			{
+				$delete = @chmod($file, 0777);
+				$delete = @unlink($file);
+				$delete = @system("del $filesys");
+			}
+		}
+		clearstatcache();
+		if(file_exists($file))
+		{
+			return false;
+		}
+		else
+		{
+			return true;
+		}
+	}
+
+	
+	function MakeDir($dir_name, $mode = 0777)
+	{
+		if(false!==strpos($dir_name,'\\'))
+    	{
+    		$dir_name = str_replace("\\", "/", $dir_name);
+    	}
+    	if(false!==strpos($dir_name,'/'.'/'))
+    	{
+    		$dir_name = preg_replace("#(/"."/+)#", "/", $dir_name);
+    	}
+    	if (is_dir($dir_name))
+    	{
+    		return true;
+    	}
+
+        $dirs = '';
+        $_dir_name = $dir_name;
+    	$dir_name = explode("/", $dir_name);
+        if('/'==$_dir_name{0})
+        {
+            $dirs = '/';
+        }
+
+    	foreach($dir_name as $dir)
+    	{
+    		$dir = trim($dir);
+            if ('' != $dir)
+            {
+                $dirs .= $dir;
+
+                if ('..' == $dir || '.' == $dir)
+                {
+                    
+                    $dirs .= '/';
+
+                    continue;
+                }
+            }
+            else
+            {
+                continue;
+            }
+
+            $dirs .= '/';
+
+            if (!@is_dir($dirs))
+    		{
+    			@mkdir($dirs, $mode);
+    		}
+    	}
+    	
+    	clearstatcache();
+    	
+    	$ret = is_dir($_dir_name);
+    	
+    	return $ret;
+	}
+
+	
+	function ClearDir($dir_name)
+	{
+		clearstatcache();
+		if(is_dir($dir_name) == false)Return false;
+		$dir_handle = opendir($dir_name);
+		while(($file = readdir($dir_handle)) !== false)
+		{
+			if($file != '.' and $file != "..")
+			{
+				clearstatcache();
+				if(is_dir($dir_name . '/' . $file))
+				{
+					IoHandler::RemoveDir($dir_name . '/' . $file);
+				}
+				if(is_file($dir_name . '/' . $file))
+				{
+					@unlink($dir_name . '/' . $file);
+				}
+			}
+		}
+		closedir($dir_handle);
+		Return true;
+	}
+
+	
+	function RemoveDir($dir_name)
+	{
+		clearstatcache();
+		if(is_dir($dir_name) == false)Return false;
+		$dir_handle = opendir($dir_name);
+		while(($file = readdir($dir_handle)) !== false)
+		{
+			if($file != '.' and $file != "..")
+			{
+				clearstatcache();
+				if(is_dir($dir_name . '/' . $file))
+				{
+					IoHandler::RemoveDir($dir_name . '/' . $file);
+				}
+				if(is_file($dir_name . '/' . $file))
+				{
+					IoHandler::DeleteFile($dir_name . '/' . $file);
+				}
+			}
+		}
+		closedir($dir_handle);
+		rmdir($dir_name);
+		Return true;
+	}
+	
+	function CopyDir($from, $to, $children = true)
+	{
+		if(is_dir($from) == false)Return false;
+		if(is_dir($to) == false)
+		{
+			if(IoHandler::MakeDir($to) == false)
+			{
+				Return false;
+			}
+		}
+		$from_handle = opendir($from);
+		while(($file = readdir($from_handle)) !== false)
+		{
+			if($file != '.' and $file != '..')
+			{
+				$from_abs_path = $from . '/' . $file;
+				$to_abs_path = $to . '/' . $file;
+				if(is_dir($from_abs_path) != false and $children == true)
+				{
+					IoHandler::MakeDir($to_abs_path);
+					IoHandler::CopyDir($from_abs_path, $to_abs_path, $children);
+				}
+				if(is_file($from_abs_path) != false)
+				{
+					if(copy($from_abs_path, $to_abs_path) == false)
+					{
+						Return false;
+					}
+				}
+			}
+		}
+		closedir($from_handle);
+		Return true;
+	}
+	
+	function FilePermission($file_name)
+	{
+		Return substr(base_convert(fileperms($file_name), 10, 8), -4);
+	}
+		function FileExt($file_name, $no_case = 1)
+	{
+		$ext = trim(substr($file_name, strrpos($file_name, '.')));
+		if($no_case)
+		{
+			$ext = strtolower($ext);
+		}
+		
+		return $ext;
+	}
+	
+	function BaseName($path, $suffix = false)
+	{
+		$name = trim($path);
+		$name = str_replace('\\', '/', $name);
+		if(strpos($name, '/') !== false)
+		{
+			$name = substr(strrchr($path, '/'), 1);
+		}
+		else
+		{
+			$name = ltrim($path, '.');
+		}
+		if($suffix)
+		{
+			$suffix = strrchr($name, '.');
+			$name = str_replace($suffix, '', $name);
+		}
+		return $name;
+	}
+	
+	function updateFileArray($file, $name, $array)
+	{
+		
+		$out = "<?php\n";
+		foreach($array as $key => $val)
+		{
+			$out .= "\${$name}['{$key}'] = '{$val}';\n";
+		}
+		$out .= '?>';
+		if(IoHandler::WriteFile($file, $out, "wb"))
+		{
+			Return true;
+		}
+		else
+		{
+			Return false;
+		}
+	}
+	
+	function ReadDiskSpace($drive)
+	{
+		$disk_space['size']['total'] = disk_total_space($drive);
+		$disk_space['size']['free'] = disk_free_space($drive);
+		$disk_space['size']['used'] = $disk_space['size']['total'] - $disk_space['size']['free'];
+		$disk_space['size_converted']['used'] = IoHandler::SizeConvert($disk_space['size']['total'] - $disk_space['size']['free']);
+		$disk_space['size_converted']['total'] = IoHandler::SizeConvert($disk_space['size']['total']);
+		$disk_space['size_converted']['free'] = IoHandler::SizeConvert($disk_space['size']['free']);
+		Return $disk_space;
+	}
+    
+    function initPath($path)
+    {
+        $return = $path;
+        $path = (substr($path, -1) == '/') ? $path : dirname($path);
+        if ( !is_dir($path) )
+        {
+            $list = explode('/', $path);
+            $path = (substr($path, 0, 1) == '/') ? '/' : '';
+            foreach ($list as $i => $dir)
+            {
+                if ($dir == '') continue;
+                $path .= $dir.'/';
+                clearstatcache();
+                if ( !is_dir($path) )
+                {
+                    @mkdir($path, 0777);
+                }
+            }
+        }
+        return $return;
+    }
+}
+
+?>

+ 21 - 1
protected/view/edit-app.html

@@ -27,13 +27,33 @@
 			<div class="form">
 			<div class="form">
 				<legend>下载APP</legend>
 				<legend>下载APP</legend>
 				<div class="app-code-item clearfix">
 				<div class="app-code-item clearfix">
-					<h1>扫码下载</h1>
+					<h1>扫码下载APP</h1>
 					<div class="code-img"><img src="{{rootUrl}}global/images/android-code.png"></div>
 					<div class="code-img"><img src="{{rootUrl}}global/images/android-code.png"></div>
+					<br>
+					<h1>APP扫码快捷登录</h1>
+					<div class="code-img"><a class="btn btn-link" data-toggle="modal" href="#app-help"><span class="glyphicon glyphicon-question-sign"></span> 如何快捷登录</a><br><img src="{{rootUrl}}{{qrcode}}"></div>
 				</div>
 				</div>
 			</div>
 			</div>
 		</div>
 		</div>
 		<!--内容-->
 		<!--内容-->
 	</div>
 	</div>
 </div>
 </div>
+<!-- 弹出帮助 -->
+<div class="modal fade" id="app-help" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
+	<div class="modal-dialog" role="document">
+		<div class="modal-content">
+			<div class="modal-header">
+				<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
+				<h4 class="modal-title" id="myModalLabel">APP扫码登录</h4>
+			</div>
+			<div class="modal-body">
+				<p>自动填写服务器和账号密码</p>
+			</div>
+			<div class="modal-footer">
+				<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
+			</div>
+		</div>
+	</div>
+</div>
 <script type="text/javascript">autoFlashHeight();</script>
 <script type="text/javascript">autoFlashHeight();</script>
 </body>
 </body>

+ 20 - 20
protected/view/edit-profile-pw.html

@@ -27,29 +27,29 @@
 		    <div class="form">
 		    <div class="form">
 			<form class="form-horizontal" method="post">
 			<form class="form-horizontal" method="post">
 			    <legend>修改密码</legend>
 			    <legend>修改密码</legend>
-			    <div class="control-group">
-				<label class="control-label" for="inputEmail">旧密码</label>
-				<div class="controls">
-				    <input type="password" name="oldpasswd" placeholder="输入您的当前密码">
-				</div>
+				<div class="form-group">
+					<label class="col-sm-1 control-label" for="inputEmail">旧密码</label>
+					<div class="col-sm-2">
+						<input class="form-control" type="password" name="oldpasswd" placeholder="输入您的当前密码">
+					</div>
 			    </div>
 			    </div>
-			    <div class="control-group">
-				<label class="control-label" for="inputEmail">新密码</label>
-				<div class="controls">
-				    <input type="password" name="newpasswd" placeholder="输入您的新密码">
-				</div>
+				<div class="form-group">
+					<label class="col-sm-1 control-label" for="inputEmail">新密码</label>
+					<div class="col-sm-2">
+						<input class="form-control" type="password" name="newpasswd" placeholder="输入您的新密码">
+					</div>
 			    </div>
 			    </div>
-			    <div class="control-group">
-				<label class="control-label" for="inputEmail">确认新密码</label>
-				<div class="controls">
-				    <input type="password" name="renewpasswd" placeholder="再输入您的新密码">
-				</div>
+				<div class="form-group">
+					<label class="col-sm-1 control-label" for="inputEmail">确认新密码</label>
+					<div class="col-sm-2">
+						<input class="form-control" type="password" name="renewpasswd" placeholder="再输入您的新密码">
+					</div>
 			    </div>
 			    </div>
-			    <div class="control-group">
-				<label class="control-label"></label>
-				<div class="controls">
-				    <input type="submit" class="btn btn-primary" value="确定提交" />
-				</div>
+				<div class="form-group">
+					<label class="col-sm-1 control-label"></label>
+					<div class="col-sm-2">
+				    	<input type="submit" class="btn btn-primary" value="确定提交" />
+					</div>
 			    </div>
 			    </div>
 			    </fieldset>
 			    </fieldset>
 			</form>
 			</form>

+ 28 - 26
protected/view/edit-profile-sms-edit.html

@@ -27,32 +27,34 @@
             <div class="form">
             <div class="form">
                 <form class="form-horizontal">
                 <form class="form-horizontal">
                     <legend>短信通知-修改手机</legend>
                     <legend>短信通知-修改手机</legend>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">当前手机</label>
-                        <div class="controls">
-                            <input type="text" placeholder="{{uprofile.mobile}}" disabled="">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">当前手机</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" type="text" placeholder="{{uprofile.mobile}}" disabled="">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div id="input_error" class="control-group">
-                        <label class="control-label" for="inputEmail">新手机</label>
-                        <div class="controls">
-                            <input id="mobile" name="mobile" type="text" placeholder="输入您的新手机号码"><span id="help-inline"
-                                                                                                       class="help-inline hide"></span>
+                    <div id="input_error" class="form-group">
+                        <label class="col-sm-1 control-label">新手机</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" id="mobile" name="mobile" type="text" placeholder="输入您的新手机号码"><span id="help-inline"
+                                                                                                       class="help-block" style="display: none"></span>
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">短信校验码</label>
-                        <div class="controls">
-                            <input type="text" id="verifycode" name="verifycode" placeholder="输入验证码" maxlength="11"
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">短信校验码</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" type="text" id="verifycode" name="verifycode" placeholder="输入验证码" maxlength="11"
                                    class="span2">
                                    class="span2">
                             <!--<button class="btn">获取验证码</button>-->
                             <!--<button class="btn">获取验证码</button>-->
                             <!--<button class="btn" disabled>重新获取 60s</button>-->
                             <!--<button class="btn" disabled>重新获取 60s</button>-->
-                            <input type="button" class="btn" id="getting" value="获取验证码">
+                        </div>
+                        <div class="col-sm-2">
+                            <input type="button" class="btn btn-default" id="getting" value="获取验证码">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label"></label>
-                        <div class="controls">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label"></label>
+                        <div class="col-sm-2">
                             <i class="icon-ok icon-white"></i><input type="button" id="addMobile"
                             <i class="icon-ok icon-white"></i><input type="button" id="addMobile"
                                                                      class="btn btn-primary" value="确定修改"/>
                                                                      class="btn btn-primary" value="确定修改"/>
                         </div>
                         </div>
@@ -73,14 +75,14 @@
                 dataType: "json",
                 dataType: "json",
                 cache: false,
                 cache: false,
                 data: {"mobile": $(this).val()},
                 data: {"mobile": $(this).val()},
-                url: "{{rootUrl}}user/profile/check/mobile",
+                url: "{{rootUrl}}user/profile/check/mobile"
             }).done(function (data) {
             }).done(function (data) {
                 if (data['mobile'] > 0) {
                 if (data['mobile'] > 0) {
-                    $("#input_error").addClass('error');
+                    $("#input_error").addClass('has-error');
                     $("#help-inline").html('手机号码已被使用');
                     $("#help-inline").html('手机号码已被使用');
                     $("#help-inline").show();
                     $("#help-inline").show();
                 } else {
                 } else {
-                    $("#input_error").removeClass('error');
+                    $("#input_error").removeClass('has-error');
                     $("#help-inline").hide();
                     $("#help-inline").hide();
                 }
                 }
             });
             });
@@ -108,7 +110,7 @@
         $('#getting').click(function () {
         $('#getting').click(function () {
             var btn = $(this);
             var btn = $(this);
             if ($("#mobile").val() == '') {
             if ($("#mobile").val() == '') {
-                $("#input_error").addClass('error');
+                $("#input_error").addClass('has-error');
                 $("#help-inline").html('手机号码不能为空');
                 $("#help-inline").html('手机号码不能为空');
                 $("#help-inline").show();
                 $("#help-inline").show();
                 return false;
                 return false;
@@ -118,22 +120,22 @@
                 dataType: "json",
                 dataType: "json",
                 cache: false,
                 cache: false,
                 data: {"mobile": $("#mobile").val()},
                 data: {"mobile": $("#mobile").val()},
-                url: "{{rootUrl}}user/profile/check/mobile",
+                url: "{{rootUrl}}user/profile/check/mobile"
             }).done(function (data) {
             }).done(function (data) {
                 if (data['mobile'] > 0) {
                 if (data['mobile'] > 0) {
-                    $("#input_error").addClass('error');
+                    $("#input_error").addClass('has-error');
                     $("#help-inline").html('手机号码已被使用');
                     $("#help-inline").html('手机号码已被使用');
                     $("#help-inline").show();
                     $("#help-inline").show();
                     return false;
                     return false;
                 } else {
                 } else {
-                    $("#input_error").removeClass('error');
+                    $("#input_error").removeClass('has-error');
                     $("#help-inline").hide();
                     $("#help-inline").hide();
                     $.ajax({
                     $.ajax({
                         type: "POST",
                         type: "POST",
                         dataType: "json",
                         dataType: "json",
                         cache: false,
                         cache: false,
                         data: {"mobile": $("#mobile").val()},
                         data: {"mobile": $("#mobile").val()},
-                        url: "{{rootUrl}}user/profile/sms/send/verify",
+                        url: "{{rootUrl}}user/profile/sms/send/verify"
                     }).done(function (data) {
                     }).done(function (data) {
                     });
                     });
                     var count = 60;
                     var count = 60;
@@ -159,7 +161,7 @@
                 dataType: "json",
                 dataType: "json",
                 cache: false,
                 cache: false,
                 data: {"mobile": $("#mobile").val(), "verifycode": $("#verifycode").val()},
                 data: {"mobile": $("#mobile").val(), "verifycode": $("#verifycode").val()},
-                url: "{{rootUrl}}user/profile/sms/edit",
+                url: "{{rootUrl}}user/profile/sms/edit"
             }).done(function (data) {
             }).done(function (data) {
                 window.location.reload(true);
                 window.location.reload(true);
             });
             });

+ 31 - 29
protected/view/edit-profile-sms.html

@@ -29,7 +29,7 @@
                     <legend>短信通知</legend>
                     <legend>短信通知</legend>
                     <!-- if {{smsNoticeSwitch}} < 1 -->
                     <!-- if {{smsNoticeSwitch}} < 1 -->
                     <!--管理员关闭功能-->
                     <!--管理员关闭功能-->
-                    <div class="alert alert-error">
+                    <div class="alert alert-danger">
                         短信通知功能已被关闭。
                         短信通知功能已被关闭。
                     </div>
                     </div>
                     <!--管理员关闭功能-->
                     <!--管理员关闭功能-->
@@ -39,24 +39,26 @@
                     <div class="alert alert-info">
                     <div class="alert alert-info">
                         初次使用,请先添加用于接收通知的手机号码。
                         初次使用,请先添加用于接收通知的手机号码。
                     </div>
                     </div>
-                    <div id="input_error" class="control-group">
-                        <label class="control-label" for="inputEmail">添加手机</label>
-                        <div class="controls">
-                            <input id="mobile" name="mobile" type="text" placeholder="输入您的新手机号码"><span id="help-inline"
-                                                                                                       class="help-inline hide"></span>
+                    <div id="input_error" class="form-group">
+                        <label class="col-sm-1 control-label">添加手机</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" id="mobile" name="mobile" type="text" placeholder="输入您的新手机号码"><span id="help-inline"
+                                                                                                       class="help-block" style="display: none"></span>
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">短信校验码</label>
-                        <div class="controls">
-                            <input type="text" id="verifycode" name="verifycode" placeholder="输入验证码" maxlength="11"
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">短信校验码</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" type="text" id="verifycode" name="verifycode" placeholder="输入验证码" maxlength="11"
                                    class="span2">
                                    class="span2">
-                            <input type="button" class="btn" id="getting" value="获取验证码">
+                        </div>
+                        <div class="col-sm-2">
+                            <input type="button" class="btn btn-default" id="getting" value="获取验证码">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label"></label>
-                        <div class="controls">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label"></label>
+                        <div class="col-sm-2">
                             <i class="icon-ok icon-white"></i><input type="button" id="addMobile"
                             <i class="icon-ok icon-white"></i><input type="button" id="addMobile"
                                                                      class="btn btn-primary" value="确定添加"/>
                                                                      class="btn btn-primary" value="确定添加"/>
                         </div>
                         </div>
@@ -64,23 +66,23 @@
                     <!--初次使用-->
                     <!--初次使用-->
                     <!-- else -->
                     <!-- else -->
                     <!--正常使用-->
                     <!--正常使用-->
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">接收手机</label>
-                        <div class="controls">
-                            <input type="text" value="{{uprofile.mobile}}" disabled="">&nbsp;<a
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">接收手机</label>
+                        <div class="col-sm-2 ">
+                            <input class="form-control" type="text" value="{{uprofile.mobile}}" disabled="">&nbsp;<a
                                 href="{{rootUrl}}user/profile/sms/edit">修改手机</a>
                                 href="{{rootUrl}}user/profile/sms/edit">修改手机</a>
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">通知类型</label>
-                        <div class="controls">
-                            <label class="checkbox inline">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">通知类型</label>
+                        <div class="col-sm-5">
+                            <label class="checkbox-inline">
                                 <input type="checkbox" checked value="option1" disabled> 到我审批
                                 <input type="checkbox" checked value="option1" disabled> 到我审批
                             </label>
                             </label>
-                            <label class="checkbox inline">
+                            <label class="checkbox-inline">
                                 <input type="checkbox" checked value="option1" disabled> 标段审批通过(上报人接收)
                                 <input type="checkbox" checked value="option1" disabled> 标段审批通过(上报人接收)
                             </label>
                             </label>
-                            <label class="checkbox inline">
+                            <label class="checkbox-inline">
                                 <input type="checkbox" checked value="option1" disabled> 标段审批不通过(上报人接收)
                                 <input type="checkbox" checked value="option1" disabled> 标段审批不通过(上报人接收)
                             </label>
                             </label>
                         </div>
                         </div>
@@ -107,11 +109,11 @@
                 url: "{{rootUrl}}user/profile/check/mobile",
                 url: "{{rootUrl}}user/profile/check/mobile",
                 success: function(data){
                 success: function(data){
                     if (data["mobile"] > 0) {
                     if (data["mobile"] > 0) {
-                        $("#input_error").addClass('error');
+                        $("#input_error").addClass('has-error');
                         $("#help-inline").html('手机号码已被使用');
                         $("#help-inline").html('手机号码已被使用');
                         $("#help-inline").show();
                         $("#help-inline").show();
                     } else {
                     } else {
-                        $("#input_error").removeClass('error');
+                        $("#input_error").removeClass('has-error');
                         $("#help-inline").hide();
                         $("#help-inline").hide();
                     }
                     }
               	}
               	}
@@ -140,7 +142,7 @@
         $('#getting').click(function () {
         $('#getting').click(function () {
             var btn = $(this);
             var btn = $(this);
             if ($("#mobile").val() == '') {
             if ($("#mobile").val() == '') {
-                $("#input_error").addClass('error');
+                $("#input_error").addClass('has-error');
                 $("#help-inline").html('手机号码不能为空');
                 $("#help-inline").html('手机号码不能为空');
                 $("#help-inline").show();
                 $("#help-inline").show();
                 return false;
                 return false;
@@ -153,12 +155,12 @@
                 url: "{{rootUrl}}user/profile/check/mobile",
                 url: "{{rootUrl}}user/profile/check/mobile",
                 success: function(data){
                 success: function(data){
                   if (data["mobile"] > 0) {
                   if (data["mobile"] > 0) {
-                      $("#input_error").addClass('error');
+                      $("#input_error").addClass('has-error');
                       $("#help-inline").html('手机号码已被使用');
                       $("#help-inline").html('手机号码已被使用');
                       $("#help-inline").show();
                       $("#help-inline").show();
                       return false;
                       return false;
                   } else {
                   } else {
-                      $("#input_error").removeClass('error');
+                      $("#input_error").removeClass('has-error');
                       $("#help-inline").hide();
                       $("#help-inline").hide();
                       $.ajax({
                       $.ajax({
                           type: "POST",
                           type: "POST",

+ 37 - 40
protected/view/edit-profile.html

@@ -27,66 +27,63 @@
             <div class="form">
             <div class="form">
                 <form class="form-horizontal" action="{{rootUrl}}user/profile" method="post">
                 <form class="form-horizontal" action="{{rootUrl}}user/profile" method="post">
                     <legend>编辑个人信息</legend>
                     <legend>编辑个人信息</legend>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">头像</label>
-                        <div class="controls">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">头像</label>
+                        <div class="col-sm-2">
                             <img src="{{rootUrl}}{{user.avatar}}"> <a href="{{rootUrl}}user/avatar">更换</a>
                             <img src="{{rootUrl}}{{user.avatar}}"> <a href="{{rootUrl}}user/avatar">更换</a>
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">邮箱(登录账号)</label>
-                        <div class="controls">
-                            <input type="text" value="{{uprofile.email}}" disabled="">&nbsp;<a
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">邮箱(登录账号)</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" type="text" value="{{uprofile.email}}" disabled="">&nbsp;<a
                                 href="{{rootUrl}}user/repasswd">修改密码</a>
                                 href="{{rootUrl}}user/repasswd">修改密码</a>
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">姓名</label>
-                        <div class="controls">
-                            <input type="text" name="name" value="{{uprofile.name}}" placeholder="输入您的姓名">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">姓名</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" type="text" name="name" value="{{uprofile.name}}" placeholder="输入您的姓名">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">单位(公司)名称</label>
-                        <div class="controls">
-                            <input type="text" name="company" value="{{uprofile.company}}" placeholder="输入您的单位或者公司名称">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">单位(公司)名称</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" type="text" name="company" value="{{uprofile.company}}" placeholder="输入您的单位或者公司名称">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">职位</label>
-                        <div class="controls">
-                            <input type="text" name="jobs" value="{{uprofile.jobs}}" placeholder="输入您的职位">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">职位</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" type="text" name="jobs" value="{{uprofile.jobs}}" placeholder="输入您的职位">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">联系电话</label>
-                        <div class="controls">
-                            <div class="input-prepend">
-                                <span class="add-on">固话</span>
-                                <input type="text" name="phone" value="{{uprofile.phone}}"
-                                       placeholder="格式:0000-00000000" style="width:167px">
-                            </div>
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">联系电话</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" type="text" name="phone" value="{{uprofile.phone}}"
+                                       placeholder="输入您的联系电话(手机)">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">短信通知</label>
-                        <div class="controls">
-                            <div class="input-prepend">
-                                <span class="add-on">手机</span>
-                                <input type="text" disabled="disabled" value="{{uprofile.mobile}}" style="width:167px">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">短信通知</label>
+                        <div class="col-sm-2">
+                            <div class="input-group">
+                                <span class="input-group-addon" id="basic-addon1">手机</span>
+                                <input class="form-control" type="text" disabled="disabled" value="{{uprofile.mobile}}">
                             </div>
                             </div>
                         </div>
                         </div>
                     </div>
                     </div>
 
 
-                    <div class="control-group">
-                        <label class="control-label" for="inputEmail">QQ</label>
-                        <div class="controls">
-                            <input type="text" name="qq" value="{{uprofile.qq}}" placeholder="输入您的QQ号码">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label">QQ</label>
+                        <div class="col-sm-2">
+                            <input class="form-control" type="text" name="qq" value="{{uprofile.qq}}" placeholder="输入您的QQ号码">
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="control-group">
-                        <label class="control-label"></label>
-                        <div class="controls">
+                    <div class="form-group">
+                        <label class="col-sm-1 control-label"></label>
+                        <div class="col-sm-2">
                             <input type="submit" class="btn btn-primary" value="确定提交"><i class="icon-ok icon-white"></i>&nbsp;</input>
                             <input type="submit" class="btn btn-primary" value="确定提交"><i class="icon-ok icon-white"></i>&nbsp;</input>
                         </div>
                         </div>
                     </div>
                     </div>

+ 29 - 9
protected/view/login.html

@@ -15,26 +15,46 @@
     <body>
     <body>
         <div class="wrapHeader">
         <div class="wrapHeader">
             <h1 title="纵横计量支付" class="mainLogo"></h1>
             <h1 title="纵横计量支付" class="mainLogo"></h1>
-            <div class="sysTools"><a href="index.html" title="返回首页" ><i class="icon-circle-arrow-left icon-white"></i></a>&nbsp;&nbsp;&nbsp;<a href="http://smartcost.com.cn" target="_blank" title="纵横官网" ><i class="icon-home icon-white"></i></a></div>
+            <div class="sysTools"><a href="/" title="返回首页" ><i class="icon-circle-arrow-left icon-white"></i></a>&nbsp;&nbsp;&nbsp;<a href="http://smartcost.com.cn" target="_blank" title="纵横官网" ><i class="icon-home icon-white"></i></a></div>
         </div>
         </div>
         <div class="wrapLogin">
         <div class="wrapLogin">
             <form method="post">
             <form method="post">
                 <input type="hidden" name="tokenform" value="{{_token_}}" />
                 <input type="hidden" name="tokenform" value="{{_token_}}" />
                 <div class="loginPanel">
                 <div class="loginPanel">
-                    <div class="tpa"><b>{{proName}}</b>&nbsp;用户登录</div>
+                    <div  class="tpa"><h4>{{proName}}</h4></div>
+                    <!--<div class="tpa"><b>{{proName}}</b>&nbsp;用户登录</div>-->
                     <div class="clearfix">
                     <div class="clearfix">
-                        <div class="fL">
-                            <img src="{{rootUrl}}global/images/avatar-normal.png">
+                        <div class="form-group">
+                            <div class="input-group">
+                                <div class="input-group-addon"><i class="glyphicon glyphicon-user"></i></div>
+                                <input class="form-control input-lg" placeholder="输入邮箱" name="uemail" type="text">
+                            </div>
                         </div>
                         </div>
-                        <div class="fR">
-                            <div><span data-original-title="使用您的邮箱进行登录" data-toggle="tooltip" data-placement="bottom"> <input name="uemail" type="text" placeholder="邮箱"></span></div>
-                            <input type="password" name="upasswd" placeholder="密码">
-                            <!--<label class="checkbox"><input type="checkbox">记住我</label>-->
+                        <div class="form-group">
+                            <div class="input-group">
+                                <div class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></div>
+                                <input class="form-control input-lg" placeholder="输入密码" type="password" name="upasswd">
+                            </div>
                         </div>
                         </div>
                     </div>
                     </div>
+                    <!--<div class="clearfix">-->
+                        <!--<div class="fL">-->
+                            <!--<img src="{{rootUrl}}global/images/avatar-normal.png">-->
+                        <!--</div>-->
+                        <!--<div class="fR">-->
+                            <!--<div><span data-original-title="使用您的邮箱进行登录" data-toggle="tooltip" data-placement="bottom"> <input name="uemail" type="text" placeholder="邮箱"></span></div>-->
+                            <!--<input type="password" name="upasswd" placeholder="密码">-->
+                            <!--&lt;!&ndash;<label class="checkbox"><input type="checkbox">记住我</label>&ndash;&gt;-->
+                        <!--</div>-->
+                    <!--</div>-->
                     <div class="clearfix">
                     <div class="clearfix">
-                        <input type="submit" class="btn btn-normal btn-block btn-primary" type="button" data-loading-text="登录中..." value="登录">
+                        <input type="submit" class="btn btn-block btn-primary btn-lg" type="button" data-loading-text="登录中..." value="登录">
                         {{tips}}
                         {{tips}}
+                        <!-- if {{zhisset(version)}} -->
+                        <div class="alert">
+                            <a href="{{download}}">下载桌面软件 v{{version}}</a>
+                        </div>
+                        <!-- endif -->
                     </div>
                     </div>
                 </div>
                 </div>
             </form>
             </form>

+ 47 - 43
protected/view/r-project-section-files-recover.html

@@ -129,19 +129,13 @@
                         </tbody>
                         </tbody>
                     </table>
                     </table>
 
 
-                    <div class="pagination">
-                        <ul>
+                    <nav aria-label="Page navigation">
+                        <ul class="pagination">
                             {{pager}}
                             {{pager}}
-                            <!--<li class="disabled"><a href="#">&laquo;</a></li>-->
-                            <!--<li class="active"><a href="#">1</a></li>-->
-                            <!--<li><a href="#">2</a></li>-->
-                            <!--<li><a href="#">3</a></li>-->
-                            <!--<li><a href="#">4</a></li>-->
-                            <!--<li><a href="#">5</a></li>-->
                         </ul>
                         </ul>
-                    </div>
+                    </nav>
                 </div>
                 </div>
-                <div class="filesDetail hide">
+                <div class="filesDetail" style="display: none">
                     <input type="hidden" id="imnid" value="0"/>
                     <input type="hidden" id="imnid" value="0"/>
                     <table class="table table-striped">
                     <table class="table table-striped">
                         <thead>
                         <thead>
@@ -186,52 +180,62 @@
     </div>
     </div>
 </div>
 </div>
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
-<div id="file-replace" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-replace" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件恢复</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-success">恢复成功。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件恢复</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-success">恢复成功。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
-<div id="file-del" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-del" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件删除</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-error">彻底删除无法还原,所有清单下挂的该文件都将移除。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-        <button id="del" class="btn btn-danger">确定删除</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件删除</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-danger">彻底删除无法还原,所有清单下挂的该文件都将移除。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+                <button id="del" class="btn btn-danger">确定删除</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
-</div>
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
-<div id="file-del2" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-del2" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件删除</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-warning">文件上传者才有彻底删除权限。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件删除</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-warning">文件上传者才有彻底删除权限。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
-</div>
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <script type="text/javascript">autoFlashHeight();</script>
 <script type="text/javascript">autoFlashHeight();</script>
 <script type="text/javascript">
 <script type="text/javascript">

+ 106 - 85
protected/view/r-project-section-files.html

@@ -68,23 +68,28 @@
             </ul>
             </ul>
             <!--导航-->
             <!--导航-->
             <!--筛选工具-->
             <!--筛选工具-->
+            <br>
             <div class="clearfix">
             <div class="clearfix">
-                <form class="form-inline">
-                    <select id="numpname" class="span2">
-                        <option value="0">不限期数</option>
-                        <!-- loop groupArray -->
-                        <option <!-- if {{num}} == {{groupArray' value.numpname}} --> selected <!-- endif -->
-                        value="{{groupArray' value.numpname}}">第{{ToChinaseNum(groupArray' value.numpname)}}期
-                        </option>
-                        <!-- endloop -->
-                    </select>
-                    <select id="uploaduser" class="span2">
-                        <option value="0">上传者</option>
-                        <!-- loop owneridArray -->
-                        <option <!-- if {{userid}} == {{owneridArray' value.ownerid}} --> selected <!-- endif -->
-                        value="{{owneridArray' value.ownerid}}">{{owneridArray' value.name}}</option>
-                        <!-- endloop -->
-                    </select>
+                <form class="row">
+                    <div class="col-sm-2">
+                        <select class="form-control" id="numpname" class="span2">
+                            <option value="0">不限期数</option>
+                            <!-- loop groupArray -->
+                            <option <!-- if {{num}} == {{groupArray' value.numpname}} --> selected <!-- endif -->
+                            value="{{groupArray' value.numpname}}">第{{ToChinaseNum(groupArray' value.numpname)}}期
+                            </option>
+                            <!-- endloop -->
+                        </select>
+                    </div>
+                    <div class="col-sm-2">
+                        <select class="form-control" id="uploaduser" class="span2">
+                            <option value="0">上传者</option>
+                            <!-- loop owneridArray -->
+                            <option <!-- if {{userid}} == {{owneridArray' value.ownerid}} --> selected <!-- endif -->
+                            value="{{owneridArray' value.ownerid}}">{{owneridArray' value.name}}</option>
+                            <!-- endloop -->
+                        </select>
+                    </div>
                     <a href="/rproject/{{pid}}/section/{{pmid}}/files/recover" class="fR">附件回收站</a>
                     <a href="/rproject/{{pid}}/section/{{pmid}}/files/recover" class="fR">附件回收站</a>
                 </form>
                 </form>
             </div>
             </div>
@@ -140,13 +145,13 @@
                         <!-- endloop -->
                         <!-- endloop -->
                         </tbody>
                         </tbody>
                     </table>
                     </table>
-                    <div class="pagination">
-                        <ul>
+                    <nav aria-label="Page navigation">
+                        <ul class="pagination">
                             {{pager}}
                             {{pager}}
                         </ul>
                         </ul>
-                    </div>
+                    </nav>
                 </div>
                 </div>
-                <div class="filesDetail hide">
+                <div class="filesDetail" style="display: none;">
                     <table class="table table-striped">
                     <table class="table table-striped">
                         <thead>
                         <thead>
                         <tr>
                         <tr>
@@ -199,92 +204,108 @@
     </div>
     </div>
 </div>
 </div>
 <!-- 编辑弹出 -->
 <!-- 编辑弹出 -->
-<div id="file-edit" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-edit" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件编辑</h3>
-    </div>
-    <div class="modal-body">
-        <div class="form">
-            <form class="form-horizontal">
-                <input type="hidden" id="upimnid" name="upimnid" value=""/>
-                <div class="control-group">
-                    <label class="control-label" for="inputEmail">文件名称</label>
-                    <div class="controls">
-                        <input name="upfilename" id="upfilename" type="text"/>
-                    </div>
-                </div>
-                <div class="control-group">
-                    <label class="control-label" for="inputEmail">备注/描述</label>
-                    <div class="controls">
-                        <textarea name="upfiledesc" id="upfiledesc"></textarea>
-                    </div>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件编辑</h3>
+            </div>
+            <div class="modal-body">
+                <div class="form">
+                    <form class="form-horizontal">
+                        <input type="hidden" id="upimnid" name="upimnid" value=""/>
+                        <div class="form-group">
+                            <label class="control-label col-sm-3">文件名称</label>
+                            <div class="col-sm-8">
+                                <input class="form-control" name="upfilename" id="upfilename" type="text"/>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label col-sm-3">备注/描述</label>
+                            <div class="col-sm-8">
+                                <textarea class="form-control" name="upfiledesc" id="upfiledesc"></textarea>
+                            </div>
+                        </div>
+                    </form>
                 </div>
                 </div>
-            </form>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+                <button id="updateFileDesc" class="btn btn-primary">确定修改</button>
+            </div>
         </div>
         </div>
     </div>
     </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-        <button id="updateFileDesc" class="btn btn-primary">确定修改</button>
-    </div>
 </div>
 </div>
 <!-- 编辑弹出 -->
 <!-- 编辑弹出 -->
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
-<div id="file-replace" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-replace" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件替换</h3>
-    </div>
-    <div class="modal-body">
-        <div class="form">
-            <form class="form-horizontal">
-                <input type="hidden" name="fid" value="0" id="fid"/>
-                <div class="control-group">
-                    <label class="control-label" for="inputEmail">选择文件</label>
-                    <div class="controls">
-                        <input name="file" id="file" type="file">
-                        <span class="help-block">替换新文件后,所有已下挂该文件的清单都将更新。</span>
-                    </div>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件替换</h3>
+            </div>
+            <div class="modal-body">
+                <div class="form">
+                    <form class="form-horizontal">
+                        <input type="hidden" name="fid" value="0" id="fid"/>
+                        <div class="form-group">
+                            <label class="control-label col-sm-3">选择文件</label>
+                            <div class="col-sm-8">
+                                <input name="file" id="file" type="file">
+                                <span class="help-block">替换新文件后,所有已下挂该文件的清单都将更新。</span>
+                            </div>
+                        </div>
+                    </form>
                 </div>
                 </div>
-            </form>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+                <button id="btreplacefile" class="btn btn-primary">确定替换</button>
+            </div>
         </div>
         </div>
     </div>
     </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-        <button id="btreplacefile" class="btn btn-primary">确定替换</button>
-    </div>
 </div>
 </div>
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
-<div id="file-del" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-del" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件删除</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-success">文件删除成功,您可以在附件回收站恢复它。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件删除</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-success">文件删除成功,您可以在附件回收站恢复它。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 </div>
 </div>
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <!-- 历史版本弹出 -->
 <!-- 历史版本弹出 -->
-<div id="file-history" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-history" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <input type="hidden" name="iaid" value="0" id="iaid"/>
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">历史版本</h3>
-    </div>
-    <div id="historyHTML" class="modal-body">
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <input type="hidden" name="iaid" value="0" id="iaid"/>
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>历史版本</h3>
+            </div>
+            <div id="historyHTML" class="modal-body">
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 </div>
 </div>

+ 38 - 30
protected/view/r-project-section-report.html

@@ -160,51 +160,59 @@
     </div>
     </div>
 </div>
 </div>
 <!-- 审批通过 -->
 <!-- 审批通过 -->
-<div id="reportPass" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="reportPass" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">审批通过</h3>
-    </div>
-    <div class="modal-body">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>审批通过</h3>
+            </div>
+            <div class="modal-body">
 
 
-        <div class="form">
-            <form>
+                <div class="form">
+                    <form>
                 <textarea name="content" id="content" class="form-control" rows="3" placeholder="填写审批通过的意见"
                 <textarea name="content" id="content" class="form-control" rows="3" placeholder="填写审批通过的意见"
                           style="width:510px"></textarea>
                           style="width:510px"></textarea>
-            </form>
+                    </form>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+                <button class="btn btn-success auditclass" act="p" maid="{{maid}}" pmid="{{pmid}}" numpname="{{numpname}}"
+                        times="{{times}}" id="pass">确认审批通过
+                </button>
+            </div>
         </div>
         </div>
     </div>
     </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-        <button class="btn btn-success auditclass" act="p" maid="{{maid}}" pmid="{{pmid}}" numpname="{{numpname}}"
-                times="{{times}}" id="pass">确认审批通过
-        </button>
-    </div>
 </div>
 </div>
 <!-- 审批通过 -->
 <!-- 审批通过 -->
 <!-- 审批不通过 -->
 <!-- 审批不通过 -->
-<div id="reportNopass" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="reportNopass" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">审批不通过</h3>
-    </div>
-    <div class="modal-body">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>审批不通过</h3>
+            </div>
+            <div class="modal-body">
 
 
-        <div class="form">
-            <form>
+                <div class="form">
+                    <form>
                 <textarea name="content" id="content" class="form-control" rows="3" placeholder="填写审批不通过的意见"
                 <textarea name="content" id="content" class="form-control" rows="3" placeholder="填写审批不通过的意见"
                           style="width:510px"></textarea>
                           style="width:510px"></textarea>
-            </form>
+                    </form>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+                <button class="btn btn-danger auditclass" act="np" maid="{{maid}}" pmid="{{pmid}}" numpname="{{numpname}}"
+                        times="{{times}}">确认审批不通过
+                </button>
+            </div>
         </div>
         </div>
     </div>
     </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-        <button class="btn btn-danger auditclass" act="np" maid="{{maid}}" pmid="{{pmid}}" numpname="{{numpname}}"
-                times="{{times}}">确认审批不通过
-        </button>
-    </div>
 </div>
 </div>
 <!-- 审批不通过 -->
 <!-- 审批不通过 -->
 <script type="text/javascript">autoFlashHeight();</script>
 <script type="text/javascript">autoFlashHeight();</script>

+ 2 - 2
protected/view/r-project-section.html

@@ -48,8 +48,8 @@
 					<td width="60">完成进度:</td>
 					<td width="60">完成进度:</td>
 					<td>
 					<td>
 					    <div class="progress">
 					    <div class="progress">
-						<div class="bar bar-success" style="width:{{conArray' value.phetongTotal}};" data-placement="bottom" data-toggle="tooltip" data-original-title="累计完成:¥{{conArray' value.nhetongTotal}}">{{conArray' value.phetongTotal}}</div>
-						<div class="bar bar-danger" style="width:{{conArray' value.phetongTotal2}};" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥{{conArray' value.ncurrdoneInt}}">{{conArray' value.phetongTotal2}}</div>
+						<div class="progress-bar progress-bar-success" style="width:{{conArray' value.phetongTotal}};" data-placement="bottom" data-toggle="tooltip" data-original-title="累计完成:¥{{conArray' value.nhetongTotal}}">{{conArray' value.phetongTotal}}</div>
+						<div class="progress-bar progress-bar-danger" style="width:{{conArray' value.phetongTotal2}};" data-placement="bottom" data-toggle="tooltip" data-original-title="未完成:¥{{conArray' value.ncurrdoneInt}}">{{conArray' value.phetongTotal2}}</div>
 					    </div>
 					    </div>
 					</td>
 					</td>
 				    </tr>
 				    </tr>

+ 15 - 15
protected/view/r-project.html

@@ -20,30 +20,30 @@
 		<!--内容-->
 		<!--内容-->
 		<div class="mainContent">
 		<div class="mainContent">
 		    <div class="title clearfix">
 		    <div class="title clearfix">
-			<div class="fR">
-			    <div class="btn-group">
-				<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
-				    排序
-				    <span class="caret"></span>
-				</a>
-				<ul class="dropdown-menu">
-				    <li><a href="">创建时间</a></li>
-				    <li><a href="">最近上传</a></li>
-				    <li><a href="">进度完成度</a></li>
-				</ul>
-			    </div>
-			</div>
+			<!--<div class="fR">-->
+			    <!--<div class="btn-group">-->
+				<!--<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">-->
+				    <!--排序-->
+				    <!--<span class="caret"></span>-->
+				<!--</a>-->
+				<!--<ul class="dropdown-menu">-->
+				    <!--<li><a href="">创建时间</a></li>-->
+				    <!--<li><a href="">最近上传</a></li>-->
+				    <!--<li><a href="">进度完成度</a></li>-->
+				<!--</ul>-->
+			    <!--</div>-->
+			<!--</div>-->
 			<h1>这些是您审批的项目</h1>
 			<h1>这些是您审批的项目</h1>
 		    </div>
 		    </div>
 		    <div class="project">
 		    <div class="project">
 			<!-- loop proArray -->
 			<!-- loop proArray -->
 			<div class="projectEntry clearfix">
 			<div class="projectEntry clearfix">
-			    <div class="pojIcon fL c1"><div data-icon="C" aria-hidden="true"></div></div>
+			    <div class="pojIcon fL c{{proArray' value.index}}"><div data-icon="C" aria-hidden="true"></div></div>
 			    <div class="pojDetail fL">
 			    <div class="pojDetail fL">
 				<div class="title fL"><h5><a href="{{rootUrl}}rproject/{{proArray' value.pid}}/section">{{proArray' value.pname}}</a></h5>{{formatDate(proArray' value.intime,'Y-m-d')}}</div>
 				<div class="title fL"><h5><a href="{{rootUrl}}rproject/{{proArray' value.pid}}/section">{{proArray' value.pname}}</a></h5>{{formatDate(proArray' value.intime,'Y-m-d')}}</div>
 				<div class="detail fR"><p data-original-title="总价:¥{{proArray' value.bcontracttotal}} 变更:+¥{{proArray' value.bchangTotal}}" data-placement="bottom" data-toggle="tooltip">总价:¥{{proArray' value.bcontracttotal}}元 (<span class="colRed">+¥{{proArray' value.bchangTotal}}</span>)</p>
 				<div class="detail fR"><p data-original-title="总价:¥{{proArray' value.bcontracttotal}} 变更:+¥{{proArray' value.bchangTotal}}" data-placement="bottom" data-toggle="tooltip">总价:¥{{proArray' value.bcontracttotal}}元 (<span class="colRed">+¥{{proArray' value.bchangTotal}}</span>)</p>
 				    <div class="progress">
 				    <div class="progress">
-					<div class="bar bar-success" style="width: {{proArray' value.pcurrdone}};">{{proArray' value.pcurrdone}}</div>
+					<div class="progress-bar progress-bar-success" style="width: {{proArray' value.pcurrdone}};">{{proArray' value.pcurrdone}}</div>
 				    </div>
 				    </div>
 				</div>
 				</div>
 				<!-- if {{proArray' value.numofchecking}} > 0 --><div class="detail2 fR"><p style="margin:0 0 5px 0" class="colOrange">有 <b>{{proArray' value.numofchecking}}</b> 个标段需要审批</p></div><!-- endif -->
 				<!-- if {{proArray' value.numofchecking}} > 0 --><div class="detail2 fR"><p style="margin:0 0 5px 0" class="colOrange">有 <b>{{proArray' value.numofchecking}}</b> 个标段需要审批</p></div><!-- endif -->

+ 47 - 43
protected/view/s-project-section-files-recover.html

@@ -124,19 +124,13 @@
                         </tbody>
                         </tbody>
                     </table>
                     </table>
 
 
-                    <div class="pagination">
-                        <ul>
+                    <nav aria-label="Page navigation">
+                        <ul class="pagination">
                             {{pager}}
                             {{pager}}
-                            <!--<li class="disabled"><a href="#">&laquo;</a></li>-->
-                            <!--<li class="active"><a href="#">1</a></li>-->
-                            <!--<li><a href="#">2</a></li>-->
-                            <!--<li><a href="#">3</a></li>-->
-                            <!--<li><a href="#">4</a></li>-->
-                            <!--<li><a href="#">5</a></li>-->
                         </ul>
                         </ul>
-                    </div>
+                    </nav>
                 </div>
                 </div>
-                <div class="filesDetail hide">
+                <div class="filesDetail" style="display: none">
                     <input type="hidden" id="imnid" value="0"/>
                     <input type="hidden" id="imnid" value="0"/>
                     <table class="table table-striped">
                     <table class="table table-striped">
                         <thead>
                         <thead>
@@ -181,52 +175,62 @@
     </div>
     </div>
 </div>
 </div>
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
-<div id="file-replace" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-replace" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件恢复</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-success">恢复成功。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件恢复</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-success">恢复成功。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
-<div id="file-del" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-del" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件删除</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-error">彻底删除无法还原,所有清单下挂的该文件都将移除。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-        <button id="del" class="btn btn-danger">确定删除</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件删除</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-danger">彻底删除无法还原,所有清单下挂的该文件都将移除。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+                <button id="del" class="btn btn-danger">确定删除</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
-</div>
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
-<div id="file-del2" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-del2" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件删除</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-warning">文件上传者才有彻底删除权限。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件删除</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-warning">文件上传者才有彻底删除权限。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
-</div>
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <script type="text/javascript">autoFlashHeight();</script>
 <script type="text/javascript">autoFlashHeight();</script>
 <script type="text/javascript">
 <script type="text/javascript">

+ 92 - 73
protected/view/s-project-section-files.html

@@ -63,23 +63,28 @@
             </ul>
             </ul>
             <!--导航-->
             <!--导航-->
             <!--筛选工具-->
             <!--筛选工具-->
+            <br>
             <div class="clearfix">
             <div class="clearfix">
-                <form class="form-inline">
-                    <select id="numpname" class="span2">
-                        <option value="0">不限期数</option>
-                        <!-- loop groupArray -->
-                        <option <!-- if {{num}} == {{groupArray' value.numpname}} --> selected <!-- endif -->
-                        value="{{groupArray' value.numpname}}">第{{ToChinaseNum(groupArray' value.numpname)}}期
-                        </option>
-                        <!-- endloop -->
-                    </select>
-                    <select id="uploaduser" class="span2">
-                        <option value="0">上传者</option>
-                        <!-- loop owneridArray -->
-                        <option <!-- if {{userid}} == {{owneridArray' value.ownerid}} --> selected <!-- endif -->
-                        value="{{owneridArray' value.ownerid}}">{{owneridArray' value.name}}</option>
-                        <!-- endloop -->
-                    </select>
+                <form class="row">
+                    <div class="col-sm-2">
+                        <select class="form-control" id="numpname" class="span2">
+                            <option value="0">不限期数</option>
+                            <!-- loop groupArray -->
+                            <option <!-- if {{num}} == {{groupArray' value.numpname}} --> selected <!-- endif -->
+                            value="{{groupArray' value.numpname}}">第{{ToChinaseNum(groupArray' value.numpname)}}期
+                            </option>
+                            <!-- endloop -->
+                        </select>
+                    </div>
+                    <div class="col-sm-2">
+                        <select class="form-control" id="uploaduser" class="span2">
+                            <option value="0">上传者</option>
+                            <!-- loop owneridArray -->
+                            <option <!-- if {{userid}} == {{owneridArray' value.ownerid}} --> selected <!-- endif -->
+                            value="{{owneridArray' value.ownerid}}">{{owneridArray' value.name}}</option>
+                            <!-- endloop -->
+                        </select>
+                    </div>
                     <a href="/sproject/{{pid}}/section/{{pmid}}/files/recover" class="fR">附件回收站</a>
                     <a href="/sproject/{{pid}}/section/{{pmid}}/files/recover" class="fR">附件回收站</a>
                 </form>
                 </form>
             </div>
             </div>
@@ -135,13 +140,13 @@
                         <!-- endloop -->
                         <!-- endloop -->
                         </tbody>
                         </tbody>
                     </table>
                     </table>
-                    <div class="pagination">
-                        <ul>
+                    <nav aria-label="Page navigation">
+                        <ul class="pagination">
                             {{pager}}
                             {{pager}}
                         </ul>
                         </ul>
-                    </div>
+                    </nav>
                 </div>
                 </div>
-                <div class="filesDetail hide">
+                <div class="filesDetail" style="display: none">
                     <table class="table table-striped">
                     <table class="table table-striped">
                         <thead>
                         <thead>
                         <tr>
                         <tr>
@@ -194,95 +199,109 @@
     </div>
     </div>
 </div>
 </div>
 <!-- 编辑弹出 -->
 <!-- 编辑弹出 -->
-<div id="file-edit" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-edit" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
     <div class="modal-header">
     <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件编辑</h3>
+        <h3>文件编辑</h3>
     </div>
     </div>
     <div class="modal-body">
     <div class="modal-body">
         <div class="form">
         <div class="form">
             <form class="form-horizontal">
             <form class="form-horizontal">
                 <input type="hidden" id="upimnid" name="upimnid" value=""/>
                 <input type="hidden" id="upimnid" name="upimnid" value=""/>
-                <div class="control-group">
-                    <label class="control-label" for="inputEmail">文件名称</label>
-                    <div class="controls">
-                        <input name="upfilename" id="upfilename" type="text"/>
+                <div class="form-group">
+                    <label class="control-label col-sm-3">文件名称</label>
+                    <div class="col-sm-8">
+                        <input class="form-control" name="upfilename" id="upfilename" type="text"/>
                     </div>
                     </div>
                 </div>
                 </div>
-                <div class="control-group">
-                    <label class="control-label" for="inputEmail">备注/描述</label>
-                    <div class="controls">
-                        <textarea name="upfiledesc" id="upfiledesc"></textarea>
+                <div class="form-group">
+                    <label class="control-label col-sm-3">备注/描述</label>
+                    <div class="col-sm-8">
+                        <textarea class="form-control" name="upfiledesc" id="upfiledesc"></textarea>
                     </div>
                     </div>
                 </div>
                 </div>
             </form>
             </form>
         </div>
         </div>
     </div>
     </div>
     <div class="modal-footer">
     <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+        <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
         <button id="updateFileDesc" class="btn btn-primary">确定修改</button>
         <button id="updateFileDesc" class="btn btn-primary">确定修改</button>
     </div>
     </div>
+            </div>
+        </div>
 </div>
 </div>
 <!-- 编辑弹出 -->
 <!-- 编辑弹出 -->
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
-<div id="file-replace" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-replace" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件替换</h3>
-    </div>
-    <div class="modal-body">
-        <div class="form">
-            <form class="form-horizontal">
-                <input type="hidden" name="fid" value="0" id="fid"/>
-                <div class="control-group">
-                    <label class="control-label" for="inputEmail">选择文件</label>
-                    <div class="controls">
-                        <input name="file" id="file" type="file">
-                        <span class="help-block">替换新文件后,所有已下挂该文件的清单都将更新。</span>
-                    </div>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件替换</h3>
+            </div>
+            <div class="modal-body">
+                <div class="form">
+                    <form class="form-horizontal">
+                        <input type="hidden" name="fid" value="0" id="fid"/>
+                        <div class="form-group">
+                            <label class="control-label col-sm-3">选择文件</label>
+                            <div class="col-sm-8">
+                                <input name="file" id="file" type="file">
+                                <span class="help-block">替换新文件后,所有已下挂该文件的清单都将更新。</span>
+                            </div>
+                        </div>
+                    </form>
                 </div>
                 </div>
-            </form>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+                <button id="btreplacefile" class="btn btn-primary">确定替换</button>
+            </div>
         </div>
         </div>
     </div>
     </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-        <button id="btreplacefile" class="btn btn-primary">确定替换</button>
-    </div>
 </div>
 </div>
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
-<div id="file-del" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-del" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件删除</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-success">文件删除成功,您可以在附件回收站恢复它。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件删除</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-success">文件删除成功,您可以在附件回收站恢复它。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
-</div>
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <!-- 历史版本弹出 -->
 <!-- 历史版本弹出 -->
-<div id="file-history" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-history" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <input type="hidden" name="iaid" value="0" id="iaid"/>
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">历史版本</h3>
-    </div>
-    <div id="historyHTML" class="modal-body">
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <input type="hidden" name="iaid" value="0" id="iaid"/>
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>历史版本</h3>
+            </div>
+            <div id="historyHTML" class="modal-body">
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
-</div>
 <!-- 历史版本1弹出 -->
 <!-- 历史版本1弹出 -->
 <script type="text/javascript">autoFlashHeight();</script>
 <script type="text/javascript">autoFlashHeight();</script>
 <script type="text/javascript">
 <script type="text/javascript">

+ 3 - 3
protected/view/s-project-section.html

@@ -57,9 +57,9 @@
 								<!-- loop MeasureArray -->
 								<!-- loop MeasureArray -->
 								<tr>
 								<tr>
 									<td width="15%"><a href="{{rootUrl}}sproject/{{MeasureArray' value.pid}}/section/{{MeasureArray' value.pmid}}/detail">{{MeasureArray' value.pmname}}</a><br>{{MeasureArray' value.type}}</td><td width="16%" class="taR">¥<b>{{MeasureArray' value.totalplus}}</b><br>第 {{MeasureArray' value.totalnum}} 期(<span class="colOrange">{{MeasureArray' value.ownstatus}}</span>)</td><td width="40%" class="taR"><div class="progress">
 									<td width="15%"><a href="{{rootUrl}}sproject/{{MeasureArray' value.pid}}/section/{{MeasureArray' value.pmid}}/detail">{{MeasureArray' value.pmname}}</a><br>{{MeasureArray' value.type}}</td><td width="16%" class="taR">¥<b>{{MeasureArray' value.totalplus}}</b><br>第 {{MeasureArray' value.totalnum}} 期(<span class="colOrange">{{MeasureArray' value.ownstatus}}</span>)</td><td width="40%" class="taR"><div class="progress">
-									<div data-original-title="截止上期完成:¥{{MeasureArray' value.nstopnow}}" data-toggle="tooltip" data-placement="bottom" style="width: {{MeasureArray' value.dispstopnow}};" class="bar bar-success">{{MeasureArray' value.dispstopnow}}</div>
-									<div data-original-title="本期完成:¥{{MeasureArray' value.ncurrdone}}" data-toggle="tooltip" data-placement="bottom" style="width:{{MeasureArray' value.dispcurrdone}}" class="bar">{{MeasureArray' value.dispcurrdone}}</div>
-									<div data-original-title="未完成:¥{{MeasureArray' value.nless}}" data-toggle="tooltip" data-placement="bottom" style="width:{{MeasureArray' value.pless}}" class="bar bar-gary">{{MeasureArray' value.pless}}</div>
+									<div data-original-title="截止上期完成:¥{{MeasureArray' value.nstopnow}}" data-toggle="tooltip" data-placement="bottom" style="width: {{MeasureArray' value.dispstopnow}};" class="progress-bar progress-bar-success">{{MeasureArray' value.dispstopnow}}</div>
+									<div data-original-title="本期完成:¥{{MeasureArray' value.ncurrdone}}" data-toggle="tooltip" data-placement="bottom" style="width:{{MeasureArray' value.dispcurrdone}}" class="progress-bar">{{MeasureArray' value.dispcurrdone}}</div>
+									<div data-original-title="未完成:¥{{MeasureArray' value.nless}}" data-toggle="tooltip" data-placement="bottom" style="width:{{MeasureArray' value.pless}}" class="progress-bar progress-bar-gary">{{MeasureArray' value.pless}}</div>
 								</div></td>
 								</div></td>
 								</tr>
 								</tr>
 								<!-- endloop -->
 								<!-- endloop -->

+ 16 - 16
protected/view/s-project.html

@@ -20,32 +20,32 @@
 		<!--内容-->
 		<!--内容-->
 		<div class="mainContent">
 		<div class="mainContent">
 		    <div class="title clearfix">
 		    <div class="title clearfix">
-			<div class="fR">
-			    <div class="btn-group">
-				<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
-				    排序
-				    <span class="caret"></span>
-				</a>
-				<ul class="dropdown-menu">
-				    <li><a href="">创建时间</a></li>
-				    <li><a href="">最近上传</a></li>
-				    <li><a href="">进度完成度</a></li>
-				</ul>
-			    </div>
-			    <button class="btn" type="button"><i class="icon-plus"></i>&nbsp;添加项目</button>
-			</div>
+			<!--<div class="fR">-->
+			    <!--<div class="btn-group">-->
+				<!--<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">-->
+				    <!--排序-->
+				    <!--<span class="caret"></span>-->
+				<!--</a>-->
+				<!--<ul class="dropdown-menu">-->
+				    <!--<li><a href="">创建时间</a></li>-->
+				    <!--<li><a href="">最近上传</a></li>-->
+				    <!--<li><a href="">进度完成度</a></li>-->
+				<!--</ul>-->
+			    <!--</div>-->
+			    <!--<button class="btn" type="button"><i class="icon-plus"></i>&nbsp;添加项目</button>-->
+			<!--</div>-->
 			<h1>这些是来自您软件编制的项目</h1>
 			<h1>这些是来自您软件编制的项目</h1>
 		    </div>
 		    </div>
 		    <div class="project">
 		    <div class="project">
 			<!-- if {{zhisset(conArray)}} -->
 			<!-- if {{zhisset(conArray)}} -->
 			<!-- loop conArray -->
 			<!-- loop conArray -->
 			<div class="projectEntry clearfix" title="点击查看该项目详细">
 			<div class="projectEntry clearfix" title="点击查看该项目详细">
-			    <div class="pojIcon fL c1"><div data-icon="H" aria-hidden="true"></div></div>
+			    <div class="pojIcon fL c{{conArray' value.index}}"><div data-icon="H" aria-hidden="true"></div></div>
 			    <div class="pojDetail fL">
 			    <div class="pojDetail fL">
 				<div class="title fL"><h5><a href="{{rootUrl}}sproject/{{conArray' value.pid}}/section">{{conArray' value.pname}}</a>({{conArray' value.countTotalMeasureInt}}个标段)</h5>{{formatDate(conArray' value.intime,'Y-m-d')}}</div>
 				<div class="title fL"><h5><a href="{{rootUrl}}sproject/{{conArray' value.pid}}/section">{{conArray' value.pname}}</a>({{conArray' value.countTotalMeasureInt}}个标段)</h5>{{formatDate(conArray' value.intime,'Y-m-d')}}</div>
 				<div class="detail fR"><p data-original-title="总价:¥{{pros' value.bcontracttotal}} 变更:+¥{{pros' value.bchangTotal}}" data-placement="bottom" data-toggle="tooltip">总价:¥{{conArray' value.bcontracttotal}}元 (<span class="colRed">+¥{{conArray' value.bchangTotal}}</span>)</p>
 				<div class="detail fR"><p data-original-title="总价:¥{{pros' value.bcontracttotal}} 变更:+¥{{pros' value.bchangTotal}}" data-placement="bottom" data-toggle="tooltip">总价:¥{{conArray' value.bcontracttotal}}元 (<span class="colRed">+¥{{conArray' value.bchangTotal}}</span>)</p>
 				    <div class="progress">
 				    <div class="progress">
-					<div class="bar bar-success" style="width: {{conArray' value.pcurrdone}};">{{conArray' value.pcurrdone}}</div>
+					<div class="progress-bar progress-bar-success" style="width: {{conArray' value.pcurrdone}};">{{conArray' value.pcurrdone}}</div>
 				    </div></div>
 				    </div></div>
 				<div class="detail2 fR"><p>业主单位:{{conArray' value.company}}</p><p>我的标段:{{conArray' value.countmeasure}}</p></div>
 				<div class="detail2 fR"><p>业主单位:{{conArray' value.company}}</p><p>我的标段:{{conArray' value.countmeasure}}</p></div>
 			    </div>
 			    </div>

+ 7 - 7
protected/view/sign-create_sign.html

@@ -27,7 +27,7 @@
                 <div class="proSection">
                 <div class="proSection">
                     <ul class="nav nav-pills">
                     <ul class="nav nav-pills">
                         <li>
                         <li>
-                            <select id="itemlist">
+                            <select class="form-control" id="itemlist">
                                 <option value="0">请选择项目</option>
                                 <option value="0">请选择项目</option>
                                 <!-- if !empty({{itemlist}}) -->
                                 <!-- if !empty({{itemlist}}) -->
                                 <!-- loop itemlist -->
                                 <!-- loop itemlist -->
@@ -37,7 +37,7 @@
                             </select>&nbsp;
                             </select>&nbsp;
                         </li>
                         </li>
                         <li>
                         <li>
-                            <select id="tenderlist">
+                            <select class="form-control" id="tenderlist">
                                 <option value="0">请选择标段</option>
                                 <option value="0">请选择标段</option>
                                 <!-- if !empty({{tenderlist}}) -->
                                 <!-- if !empty({{tenderlist}}) -->
                                 <!-- loop tenderlist -->
                                 <!-- loop tenderlist -->
@@ -47,7 +47,7 @@
                             </select>&nbsp;
                             </select>&nbsp;
                         </li>
                         </li>
                         <li>
                         <li>
-                            <select id="phasenolist">
+                            <select class="form-control" id="phasenolist">
                                 <option value="0">请选择期数</option>
                                 <option value="0">请选择期数</option>
                                 <!-- if !empty({{phasenolist}}) -->
                                 <!-- if !empty({{phasenolist}}) -->
                                 <!-- loop phasenolist -->
                                 <!-- loop phasenolist -->
@@ -75,17 +75,17 @@
                             <td>{{unlist' value.project}}-{{unlist' value.tender}}-第{{ToChinaseNum(unlist' value.phaseno)}}期</td>
                             <td>{{unlist' value.project}}-{{unlist' value.tender}}-第{{ToChinaseNum(unlist' value.phaseno)}}期</td>
                             <td>{{unlist' value.ownname}}</td>
                             <td>{{unlist' value.ownname}}</td>
                             <td>{{formatDate(unlist' value.intime,'Y-m-d')}}</td>
                             <td>{{formatDate(unlist' value.intime,'Y-m-d')}}</td>
-                            <td width=""><a class="btn btn-primary btn-small" href="/sign/set/{{list' value.sid}}">发起签署</a>
+                            <td width=""><a class="btn btn-primary btn-sm" href="/sign/set/{{list' value.sid}}">发起签署</a>
                         </tr>
                         </tr>
                         <!-- endloop -->
                         <!-- endloop -->
                         <!-- endif -->
                         <!-- endif -->
                         </tbody>
                         </tbody>
                     </table>
                     </table>
-                    <div class="pagination">
-                        <ul>
+                    <nav aria-label="Page navigation">
+                        <ul class="pagination">
                             {{pager}}
                             {{pager}}
                         </ul>
                         </ul>
-                    </div>
+                    </nav>
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>

+ 63 - 9
protected/view/sign-list-all.html

@@ -27,7 +27,7 @@
                 <div class="proSection">
                 <div class="proSection">
                     <ul class="nav nav-pills">
                     <ul class="nav nav-pills">
                         <li>
                         <li>
-                            <select id="itemlist">
+                            <select class="form-control" id="itemlist">
                                 <option value="0">请选择项目</option>
                                 <option value="0">请选择项目</option>
                                 <!-- if !empty({{itemlist}}) -->
                                 <!-- if !empty({{itemlist}}) -->
                                 <!-- loop itemlist -->
                                 <!-- loop itemlist -->
@@ -37,7 +37,7 @@
                             </select>&nbsp;
                             </select>&nbsp;
                         </li>
                         </li>
                         <li>
                         <li>
-                            <select id="tenderlist">
+                            <select class="form-control" id="tenderlist">
                                 <option value="0">请选择标段</option>
                                 <option value="0">请选择标段</option>
                                 <!-- if !empty({{tenderlist}}) -->
                                 <!-- if !empty({{tenderlist}}) -->
                                 <!-- loop tenderlist -->
                                 <!-- loop tenderlist -->
@@ -47,7 +47,7 @@
                             </select>&nbsp;
                             </select>&nbsp;
                         </li>
                         </li>
                         <li>
                         <li>
-                            <select id="phasenolist">
+                            <select class="form-control" id="phasenolist">
                                 <option value="0">请选择期数</option>
                                 <option value="0">请选择期数</option>
                                 <!-- if !empty({{phasenolist}}) -->
                                 <!-- if !empty({{phasenolist}}) -->
                                 <!-- loop phasenolist -->
                                 <!-- loop phasenolist -->
@@ -56,6 +56,9 @@
                                 <!-- endif -->
                                 <!-- endif -->
                             </select>&nbsp;
                             </select>&nbsp;
                         </li>
                         </li>
+                        <li>
+                            <div class="checkbox"><label>&nbsp;<input type="checkbox" id="nosign" <!-- if {{nosign}} == 1 -->checked<!-- endif -->>未发起签署报表</label></div>
+                        </li>
                     </ul>
                     </ul>
                     <table class="table">
                     <table class="table">
                         <thead>
                         <thead>
@@ -76,18 +79,18 @@
                             <td>{{list' value.project}}-{{list' value.tender}}-第{{ToChinaseNum(list' value.phaseno)}}期</td>
                             <td>{{list' value.project}}-{{list' value.tender}}-第{{ToChinaseNum(list' value.phaseno)}}期</td>
                             <td>{{list' value.ownname}}<br>{{formatDate(list' value.intime,'Y-m-d')}}</td>
                             <td>{{list' value.ownname}}<br>{{formatDate(list' value.intime,'Y-m-d')}}</td>
                             <td><!-- if !empty({{list' value.auditname}}) -->{{list' value.auditname}}<!-- endif --><br><!-- if !empty({{list' value.aintime}}) -->{{formatDate(list' value.aintime,'Y-m-d')}}<!-- endif --></td>
                             <td><!-- if !empty({{list' value.auditname}}) -->{{list' value.auditname}}<!-- endif --><br><!-- if !empty({{list' value.aintime}}) -->{{formatDate(list' value.aintime,'Y-m-d')}}<!-- endif --></td>
-                            <td><!-- if {{list' value.status}} == 'checked' --><span class="colGreen">完成</span><br>{{formatDate(list' value.sintime,'Y-m-d')}}<!-- elseif {{list' value.status}} == 'checking' --><span class="colOrange">签署中</span><br><!-- endif --></td>
-                            <td width=""><a class="btn btn-small" href="/sign/view/{{list' value.sid}}">查看报表</a></td>
+                            <td><!-- if {{list' value.status}} == 'checked' --><span class="colGreen">完成</span><br>{{formatDate(list' value.sintime,'Y-m-d')}}<!-- elseif {{list' value.status}} == 'checking' --><span class="colOrange">签署中</span><br><!-- elseif {{list' value.status}} == 'uncheck' -->未发起签署<!-- endif --></td>
+                            <td width=""><a class="btn btn-default btn-sm" href="/sign/view/{{list' value.sid}}">查看报表</a><!-- if {{list' value.delstatus}} == 1 -->&nbsp;<a class="btn btn-danger btn-sm delbtn" href="#del" data-toggle="modal" delid="{{list' value.sid}}">删除</a><!-- endif --></td>
                         </tr>
                         </tr>
                         <!-- endloop -->
                         <!-- endloop -->
                         <!-- endif -->
                         <!-- endif -->
                         </tbody>
                         </tbody>
                     </table>
                     </table>
-                    <div class="pagination">
-                        <ul>
+                    <nav aria-label="Page navigation">
+                        <ul class="pagination">
                             {{pager}}
                             {{pager}}
                         </ul>
                         </ul>
-                    </div>
+                    </nav>
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>
@@ -112,7 +115,7 @@
                 url += '/tender/'+$(this).val();
                 url += '/tender/'+$(this).val();
             }
             }
             window.location.href = url;
             window.location.href = url;
-        })
+        });
 
 
         $('#phasenolist').change(function(){
         $('#phasenolist').change(function(){
             var url = '/sign/list/project/'+$('#itemlist').val()+'/tender/'+$('#tenderlist').val();
             var url = '/sign/list/project/'+$('#itemlist').val()+'/tender/'+$('#tenderlist').val();
@@ -120,6 +123,57 @@
                 url += '/phaseno/'+$(this).val();
                 url += '/phaseno/'+$(this).val();
             }
             }
             window.location.href = url;
             window.location.href = url;
+        });
+
+        $('#nosign').change(function(){
+            var url = '/sign/list';
+            if($('#itemlist').val() != 0){
+                url += '/project/'+$('#itemlist').val();
+            }
+            if($('#tenderlist').val() != 0){
+                url += '/tender/'+$('#tenderlist').val();
+            }
+            if($('#phasenolist').val() != 0){
+                url += '/phaseno/'+$('#phasenolist').val();
+            }
+            if($(this).is(':checked')){
+                url += '/nosign';
+            }
+            window.location.href = url;
+        });
+
+        $('.delbtn').on('click',function(){
+            $('#delid').val($(this).attr('delid'));
+        });
+
+        $('#delbtn2').click(function(){
+            var id = $('#delid').val();
+            $.ajax({
+                type: 'post',
+                url: '/sign/list',
+                data:{delid:id},
+                dataType: 'json',
+                success: function(data){
+                    if(data.code == 200){
+                        var url = '/sign/list';
+                        if($('#itemlist').val() != 0){
+                            url += '/project/'+$('#itemlist').val();
+                        }
+                        if($('#tenderlist').val() != 0){
+                            url += '/tender/'+$('#tenderlist').val();
+                        }
+                        if($('#phasenolist').val() != 0){
+                            url += '/phaseno/'+$('#phasenolist').val();
+                        }
+                        if($('#nosign').is(':checked')){
+                            url += '/nosign';
+                        }
+                        window.location.href = url;
+                    }else{
+                        alert('删除出错');
+                    }
+                }
+            })
         })
         })
 
 
     })
     })

+ 9 - 9
protected/view/sign-list-done_sign.html

@@ -26,7 +26,7 @@
       <div class="proSection">
       <div class="proSection">
         <ul class="nav nav-pills">
         <ul class="nav nav-pills">
             <li>
             <li>
-                <select id="itemlist">
+                <select class="form-control" id="itemlist">
                     <option value="0">请选择项目</option>
                     <option value="0">请选择项目</option>
                     <!-- if !empty({{itemlist}}) -->
                     <!-- if !empty({{itemlist}}) -->
                     <!-- loop itemlist -->
                     <!-- loop itemlist -->
@@ -36,7 +36,7 @@
                 </select>&nbsp;
                 </select>&nbsp;
             </li>
             </li>
             <li>
             <li>
-                <select id="tenderlist">
+                <select class="form-control" id="tenderlist">
                     <option value="0">请选择标段</option>
                     <option value="0">请选择标段</option>
                     <!-- if !empty({{tenderlist}}) -->
                     <!-- if !empty({{tenderlist}}) -->
                     <!-- loop tenderlist -->
                     <!-- loop tenderlist -->
@@ -46,7 +46,7 @@
                 </select>&nbsp;
                 </select>&nbsp;
             </li>
             </li>
             <li>
             <li>
-                <select id="phasenolist">
+                <select class="form-control" id="phasenolist">
                     <option value="0">请选择期数</option>
                     <option value="0">请选择期数</option>
                     <!-- if !empty({{phasenolist}}) -->
                     <!-- if !empty({{phasenolist}}) -->
                     <!-- loop phasenolist -->
                     <!-- loop phasenolist -->
@@ -68,17 +68,17 @@
             <td>{{donelist' value.project}}-{{donelist' value.tender}}-第{{ToChinaseNum(donelist' value.phaseno)}}期</td>
             <td>{{donelist' value.project}}-{{donelist' value.tender}}-第{{ToChinaseNum(donelist' value.phaseno)}}期</td>
             <td>{{formatDate(donelist' value.aintime,'Y-m-d')}}</td>
             <td>{{formatDate(donelist' value.aintime,'Y-m-d')}}</td>
             <td><span class="colGreen">完成</span><br>{{formatDate(donelist' value.sintime,'Y-m-d')}}</td>
             <td><span class="colGreen">完成</span><br>{{formatDate(donelist' value.sintime,'Y-m-d')}}</td>
-            <td width=""><a class="btn btn-small" href="/sign/view/{{donelist' value.sid}}?status=donelist">查看报表</a></td>
+            <td width=""><a class="btn btn-default btn-sm" href="/sign/view/{{donelist' value.sid}}?status=donelist">查看报表</a></td>
           </tr>
           </tr>
           <!-- endloop -->
           <!-- endloop -->
           <!-- endif -->
           <!-- endif -->
           </tbody>
           </tbody>
         </table>
         </table>
-        <div class="pagination">
-           <ul>
-               {{pager}}
-           </ul>
-        </div>
+          <nav aria-label="Page navigation">
+              <ul class="pagination">
+                  {{pager}}
+              </ul>
+          </nav>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>

+ 42 - 37
protected/view/sign-list-my_create.html

@@ -26,7 +26,7 @@
       <div class="proSection">
       <div class="proSection">
         <ul class="nav nav-pills">
         <ul class="nav nav-pills">
             <li>
             <li>
-                <select id="itemlist">
+                <select class="form-control" id="itemlist">
                     <option value="0">请选择项目</option>
                     <option value="0">请选择项目</option>
                     <!-- if !empty({{itemlist}}) -->
                     <!-- if !empty({{itemlist}}) -->
                     <!-- loop itemlist -->
                     <!-- loop itemlist -->
@@ -36,7 +36,7 @@
                 </select>&nbsp;
                 </select>&nbsp;
             </li>
             </li>
             <li>
             <li>
-                <select id="tenderlist">
+                <select class="form-control" id="tenderlist">
                     <option value="0">请选择标段</option>
                     <option value="0">请选择标段</option>
                     <!-- if !empty({{tenderlist}}) -->
                     <!-- if !empty({{tenderlist}}) -->
                     <!-- loop tenderlist -->
                     <!-- loop tenderlist -->
@@ -46,7 +46,7 @@
                 </select>&nbsp;
                 </select>&nbsp;
             </li>
             </li>
             <li>
             <li>
-                <select id="phasenolist">
+                <select class="form-control" id="phasenolist">
                     <option value="0">请选择期数</option>
                     <option value="0">请选择期数</option>
                     <!-- if !empty({{phasenolist}}) -->
                     <!-- if !empty({{phasenolist}}) -->
                     <!-- loop phasenolist -->
                     <!-- loop phasenolist -->
@@ -68,17 +68,17 @@
             <td>{{mylist' value.project}}-{{mylist' value.tender}}-第{{ToChinaseNum(mylist' value.phaseno)}}期</td>
             <td>{{mylist' value.project}}-{{mylist' value.tender}}-第{{ToChinaseNum(mylist' value.phaseno)}}期</td>
             <td>{{formatDate(mylist' value.aintime,'Y-m-d')}}</td>
             <td>{{formatDate(mylist' value.aintime,'Y-m-d')}}</td>
             <td><!-- if {{mylist' value.status}} == 'checked' --><span class="colGreen">完成</span><br>{{formatDate(mylist' value.sintime,'Y-m-d')}}<!-- elseif {{mylist' value.status}} == 'checking' --><span class="colOrange">签署中</span><br><!-- endif --></td>
             <td><!-- if {{mylist' value.status}} == 'checked' --><span class="colGreen">完成</span><br>{{formatDate(mylist' value.sintime,'Y-m-d')}}<!-- elseif {{mylist' value.status}} == 'checking' --><span class="colOrange">签署中</span><br><!-- endif --></td>
-            <td width=""><a class="btn btn-small" href="/sign/view/{{mylist' value.sid}}?status=mylist">查看报表</a>&nbsp;<a class="btn btn-small <!-- if {{mylist' value.ishare}} == 1 -->btn-success<!-- endif -->" onclick="sharesign('{{mylist' value.ishare}}','{{mylist' value.sid}}');" href="#share" title="分享" id="sharebtn{{mylist' value.sid}}" data-toggle="modal"><span class="icon-share <!-- if {{mylist' value.ishare}} == 1 -->icon-white<!-- endif -->"></span></a></td>
+            <td width=""><a class="btn btn-default btn-sm" href="/sign/view/{{mylist' value.sid}}?status=mylist">查看报表</a>&nbsp;<a class="btn btn-sm <!-- if {{mylist' value.ishare}} == 1 -->btn-success<!-- else -->btn-default<!-- endif -->" onclick="sharesign('{{mylist' value.ishare}}','{{mylist' value.sid}}');" href="#share" title="分享" id="sharebtn{{mylist' value.sid}}" data-toggle="modal"><span data-icon="n"></span></a></td>
           </tr>
           </tr>
           <!-- endloop -->
           <!-- endloop -->
           <!-- endif -->
           <!-- endif -->
           </tbody>
           </tbody>
         </table>
         </table>
-        <div class="pagination">
-          <ul>
-              {{pager}}
-          </ul>
-        </div>
+          <nav aria-label="Page navigation">
+              <ul class="pagination">
+                  {{pager}}
+              </ul>
+          </nav>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>
@@ -86,33 +86,38 @@
     	</div>
     	</div>
     </div>
     </div>
 <!-- 添加签署人弹出 -->
 <!-- 添加签署人弹出 -->
-<div id="share" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">分享报表</h3>
-    </div>
-    <div class="modal-body">
-        <form class="form-horizontal">
-
-        <div class="control-group">
-            <input type="hidden" id="sharesid" value="">
-            <label class="control-label" for="ishare"></label>
-            <div class="controls">
-                <div class="checkbox" >
-                    <label style="display: inline-block" id="ishare">
-                        <input checked="" type="checkbox" name=""> 启用
-                    </label>
-                </div>
-            </div>
-            <div id="showshare" style="display:none">
-            <label class="control-label" for="shareurl">分享地址</label>
-            <div class="controls">
-                <input placeholder="这是该项目的KEY" id="shareurl" value="{{rootUrl}}share?sid=" style="cursor: text" readonly class="span4" onfocus="this.select()" onmouseover="this.focus()" type="text">
-                <p>分享以上链接即可免登录查阅标该报表。</p>
+<div id="share" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3 id="myModalLabel">分享报表</h3>
             </div>
             </div>
+            <div class="modal-body">
+                <form class="form-horizontal">
+
+                    <div class="form-group">
+                        <input type="hidden" id="sharesid" value="">
+                        <label class="control-label col-sm-2" for="ishare"></label>
+                        <div class="col-sm-8">
+                            <div class="checkbox" >
+                                <label style="display: inline-block" id="ishare">
+                                    <input checked="" type="checkbox" name=""> 启用
+                                </label>
+                            </div>
+                        </div>
+                    </div>
+                    <div id="showshare" class="form-group" style="display:none">
+                        <label class="control-label col-sm-2" for="shareurl">分享地址</label>
+                        <div class="col-sm-8">
+                            <input class="form-control" placeholder="这是该项目的KEY" id="shareurl" value="{{rootUrl}}share?sid=" style="cursor: text" readonly class="span4" onfocus="this.select()" onmouseover="this.focus()" type="text">
+                            <p>分享以上链接即可免登录查阅标该报表。</p>
+                        </div>
+                    </div>
+
+                </form>
             </div>
             </div>
         </div>
         </div>
-    </form>
     </div>
     </div>
 </div>
 </div>
 <!-- 添加签署人弹出 -->
 <!-- 添加签署人弹出 -->
@@ -143,13 +148,13 @@
                         alert(result.msg);
                         alert(result.msg);
                     }else{
                     }else{
                         if(result.status){
                         if(result.status){
-                            $('#sharebtn'+$('#sharesid').val()).addClass("btn-success");
-                            $('#sharebtn'+$('#sharesid').val()).children('span').addClass('icon-white');
+                            $('#sharebtn'+$('#sharesid').val()).addClass("btn-success").removeClass('btn-default');
+//                            $('#sharebtn'+$('#sharesid').val()).children('span').addClass('icon-white');
                             $('#showshare').show();
                             $('#showshare').show();
                             $('#sharebtn'+$('#sharesid').val()).attr('onclick',"sharesign('1','"+$('#sharesid').val()+"')");
                             $('#sharebtn'+$('#sharesid').val()).attr('onclick',"sharesign('1','"+$('#sharesid').val()+"')");
                         }else{
                         }else{
-                            $('#sharebtn'+$('#sharesid').val()).removeClass("btn-success");
-                            $('#sharebtn'+$('#sharesid').val()).children('span').removeClass('icon-white');
+                            $('#sharebtn'+$('#sharesid').val()).removeClass("btn-success").addClass('btn-default');
+//                            $('#sharebtn'+$('#sharesid').val()).children('span').removeClass('icon-white');
                             $('#showshare').hide();
                             $('#showshare').hide();
                             $('#sharebtn'+$('#sharesid').val()).attr('onclick',"sharesign('0','"+$('#sharesid').val()+"')");
                             $('#sharebtn'+$('#sharesid').val()).attr('onclick',"sharesign('0','"+$('#sharesid').val()+"')");
                         }
                         }

+ 1 - 1
protected/view/sign-list-need_sign.html

@@ -53,7 +53,7 @@
                 <!-- endloop -->
                 <!-- endloop -->
               </div>
               </div>
             </td>
             </td>
-            <td width="10%"><a href="/sign/needview/{{needlist' tlist' plist' signlist' value.sid}}" class="btn btn-primary btn-small">签署</a></td>
+            <td width="10%"><a href="/sign/needview/{{needlist' tlist' plist' signlist' value.sid}}" class="btn btn-primary btn-sm">签署</a></td>
           </tr>
           </tr>
           <!-- endloop -->
           <!-- endloop -->
           <!-- endif -->
           <!-- endif -->

+ 9 - 9
protected/view/sign-list-on_sign.html

@@ -26,7 +26,7 @@
       <div class="proSection">
       <div class="proSection">
         <ul class="nav nav-pills">
         <ul class="nav nav-pills">
             <li>
             <li>
-                <select id="itemlist">
+                <select class="form-control" id="itemlist">
                     <option value="0">请选择项目</option>
                     <option value="0">请选择项目</option>
                     <!-- if !empty({{itemlist}}) -->
                     <!-- if !empty({{itemlist}}) -->
                     <!-- loop itemlist -->
                     <!-- loop itemlist -->
@@ -36,7 +36,7 @@
                 </select>&nbsp;
                 </select>&nbsp;
             </li>
             </li>
             <li>
             <li>
-                <select id="tenderlist">
+                <select class="form-control" id="tenderlist">
                     <option value="0">请选择标段</option>
                     <option value="0">请选择标段</option>
                     <!-- if !empty({{tenderlist}}) -->
                     <!-- if !empty({{tenderlist}}) -->
                     <!-- loop tenderlist -->
                     <!-- loop tenderlist -->
@@ -46,7 +46,7 @@
                 </select>&nbsp;
                 </select>&nbsp;
             </li>
             </li>
             <li>
             <li>
-                <select id="phasenolist">
+                <select class="form-control" id="phasenolist">
                     <option value="0">请选择期数</option>
                     <option value="0">请选择期数</option>
                     <!-- if !empty({{phasenolist}}) -->
                     <!-- if !empty({{phasenolist}}) -->
                     <!-- loop phasenolist -->
                     <!-- loop phasenolist -->
@@ -81,17 +81,17 @@
                 <!-- endif -->
                 <!-- endif -->
               </div>
               </div>
             </td>
             </td>
-            <td width=""><a class="btn btn-small" href="/sign/view/{{onlist' value.sid}}?status=onlist">查看报表</a></td>
+            <td width=""><a class="btn btn-default btn-sm" href="/sign/view/{{onlist' value.sid}}?status=onlist">查看报表</a></td>
           </tr>
           </tr>
           <!-- endloop -->
           <!-- endloop -->
           <!-- endif -->
           <!-- endif -->
           </tbody>
           </tbody>
         </table>
         </table>
-        <div class="pagination">
-          <ul>
-            {{pager}}
-          </ul>
-        </div>
+          <nav aria-label="Page navigation">
+              <ul class="pagination">
+                  {{pager}}
+              </ul>
+          </nav>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>

+ 3 - 3
protected/view/sign-view-page.html

@@ -21,7 +21,7 @@
         <div class="mainContent signContent">
         <div class="mainContent signContent">
             <div class="title clearfix sign-title-height">
             <div class="title clearfix sign-title-height">
                 <div class="fR sign-topbar">
                 <div class="fR sign-topbar">
-                    <a class="btn" href="javascript:void(0);" onclick="printdiv('sign_msg')"><i class="icon-print "></i> 打印</a>
+                    <a class="btn btn-default" href="javascript:void(0);" onclick="printdiv('sign_msg')"><i class="icon-print "></i> 打印</a>
                 </div>
                 </div>
                 <div class="fR sign-page-num">
                 <div class="fR sign-page-num">
                     <span id="picnum">1</span> / {{signmsg.pagenum}} 页
                     <span id="picnum">1</span> / {{signmsg.pagenum}} 页
@@ -32,14 +32,14 @@
             <div class="sign-view clearfix">
             <div class="sign-view clearfix">
                 <div class="sign-side fR">
                 <div class="sign-side fR">
                     <div class="view-info">
                     <div class="view-info">
-                        <ul>
+                        <ul class="list-unstyled">
                             <li><div class="fL">所在项目</div>{{signmsg.project}}</li>
                             <li><div class="fL">所在项目</div>{{signmsg.project}}</li>
                             <li><div class="fL">标段</div>{{signmsg.tender}}</li>
                             <li><div class="fL">标段</div>{{signmsg.tender}}</li>
                             <li><div class="fL">期数</div>第{{ToChinaseNum(signmsg.phaseno)}}期</li>
                             <li><div class="fL">期数</div>第{{ToChinaseNum(signmsg.phaseno)}}期</li>
                         </ul>
                         </ul>
                     </div>
                     </div>
                     <div class="signed-list">
                     <div class="signed-list">
-                        <ul>
+                        <ul class="list-unstyled">
                             <!-- if !empty({{auditlist}}) -->
                             <!-- if !empty({{auditlist}}) -->
                             <!-- loop auditlist -->
                             <!-- loop auditlist -->
                             <li><div class="no fL">{{auditlist' value.index}}</div><div class="avatars fL"><img src="{{auditlist' value.avatar}}">{{auditlist' value.aname}}</div><div class="corl fR"><!-- if {{auditlist' value.status}} == 'checked' --><span class="colGreen">完成</span><!-- elseif {{auditlist' value.status}} == 'checking' --><span class="colOrange">签署中</span><!-- else --><span class=""></span><!-- endif --></div></li>
                             <li><div class="no fL">{{auditlist' value.index}}</div><div class="avatars fL"><img src="{{auditlist' value.avatar}}">{{auditlist' value.aname}}</div><div class="corl fR"><!-- if {{auditlist' value.status}} == 'checked' --><span class="colGreen">完成</span><!-- elseif {{auditlist' value.status}} == 'checking' --><span class="colOrange">签署中</span><!-- else --><span class=""></span><!-- endif --></div></li>

+ 81 - 72
protected/view/sign-view-set_signer.html

@@ -21,7 +21,7 @@
         <div class="mainContent signContent">
         <div class="mainContent signContent">
             <div class="title clearfix sign-title-height">
             <div class="title clearfix sign-title-height">
                 <div class="fR sign-topbar">
                 <div class="fR sign-topbar">
-                    <a class="btn " href="javascript:void(0);" onclick="printdiv('sign_msg')"><i class="icon-print "></i> 打印</a>
+                    <a class="btn btn-default" href="javascript:void(0);" onclick="printdiv('sign_msg')"><i class="icon-print "></i> 打印</a>
                 </div>
                 </div>
                 <h1><a href="/sign/create" title="返回"><span class="closePanel" aria-hidden="true"
                 <h1><a href="/sign/create" title="返回"><span class="closePanel" aria-hidden="true"
                                                                      data-icon="Z"></span></a>&nbsp;{{signmsg.name}}</h1>
                                                                      data-icon="Z"></span></a>&nbsp;{{signmsg.name}}</h1>
@@ -29,7 +29,7 @@
             <div class="sign-view clearfix">
             <div class="sign-view clearfix">
                 <div class="sign-side fR">
                 <div class="sign-side fR">
                     <div class="view-info">
                     <div class="view-info">
-                        <ul>
+                        <ul class="list-unstyled">
                             <li>
                             <li>
                                 <div class="fL">所在项目</div>
                                 <div class="fL">所在项目</div>
                                 {{signmsg.project}}
                                 {{signmsg.project}}
@@ -45,13 +45,13 @@
                         </ul>
                         </ul>
                     </div>
                     </div>
                     <div class="signed-list" id="signerlist">
                     <div class="signed-list" id="signerlist">
-                        <ul>
+                        <ul class="list-unstyled">
                         </ul>
                         </ul>
                         <li class="add"><a href="#addsign" data-toggle="modal">+ 添加签署人</a></li>
                         <li class="add"><a href="#addsign" data-toggle="modal">+ 添加签署人</a></li>
-                        <div class="btn-bar">
-                            <input type="hidden" id="signid" value="{{signmsg.sid}}">
-                            <a id="signbtn" onclick="upsigner();" href="javascript:void(0);" class="btn btn-large btn-block disabled">发起签署</a>
-                        </div>
+                    </div>
+                    <div class="btn-bar">
+                        <input type="hidden" id="signid" value="{{signmsg.sid}}">
+                        <a id="signbtn" onclick="upsigner();" href="javascript:void(0);" class="btn btn-default btn-large btn-block disabled">发起签署</a>
                     </div>
                     </div>
                 </div>
                 </div>
                 <input type="hidden" id="maxwidth" value="{{maxwidth}}">
                 <input type="hidden" id="maxwidth" value="{{maxwidth}}">
@@ -71,59 +71,68 @@
     </div>
     </div>
 </div>
 </div>
 <!-- 添加签署人弹出 -->
 <!-- 添加签署人弹出 -->
-<div id="addsign" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">添加签署人</h3>
-    </div>
-    <div class="modal-body">
-        <div class="">
-            <h5>原报人:</h5>
-            <ul class="clearfix moadl-avatars" id="reportlist">
-                <!-- if !empty({{reportlist}}) -->
-                <li>
-                    <a class="fR btn btn-small btn-primary" data-userid="{{reportlist.userid}}" data-user="{{reportlist.userid}}&&{{reportlist.name}}&&{{reportlist.avatar}}">添加</a>
-                    <p><span class=" icon-user"></span> <b>{{reportlist.name}}</b></p>
-                    <p>{{reportlist.jobs}}</p>
-                </li>
-                <!-- endif -->
-            </ul>
-        </div>
-        <div class="">
-            <h5>标段审批人:</h5>
-            <ul class="clearfix moadl-avatars" id="userlist">
-                <!-- if !empty({{userlist}}) -->
-                <!-- loop userlist -->
-                <li>
-                    <a class="fR btn btn-small btn-primary" data-userid="{{userlist' value.userid}}" data-user="{{userlist' value.userid}}&&{{userlist' value.name}}&&{{userlist' value.avatar}}">添加</a>
-                    <p><span class=" icon-user"></span> <b>{{userlist' value.name}}</b></p>
-                    <p>{{userlist' value.jobs}}</p>
-                </li>
-                <!-- endloop -->
-                <!-- endif -->
-            </ul>
-        </div>
-        <div class="">
-            <h5>添加新签署人:</h5>
-            <div class="input-append">
-                <input class="span3" type="text" placeholder="输入邮箱地址检索系统中的用户" id="searchuser">
-                <button class="btn" type="button" onclick="searchuser();">搜索</button>
+<div id="addsign" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3 id="myModalLabel">添加签署人</h3>
+            </div>
+            <div class="modal-body">
+                <div class="">
+                    <h5>原报人:</h5>
+                    <ul class="clearfix moadl-avatars" id="reportlist">
+                        <!-- if !empty({{reportlist}}) -->
+                        <li>
+                            <a class="fR btn btn-sm btn-primary" data-userid="{{reportlist.userid}}" data-user="{{reportlist.userid}}&&{{reportlist.name}}&&{{reportlist.avatar}}">添加</a>
+                            <p><span class=" icon-user"></span> <b>{{reportlist.name}}</b></p>
+                            <p>{{reportlist.jobs}}</p>
+                        </li>
+                        <!-- endif -->
+                    </ul>
+                </div>
+                <div class="">
+                    <h5>标段审批人:</h5>
+                    <ul class="clearfix moadl-avatars" id="userlist">
+                        <!-- if !empty({{userlist}}) -->
+                        <!-- loop userlist -->
+                        <li>
+                            <a class="fR btn btn-sm btn-primary" data-userid="{{userlist' value.userid}}" data-user="{{userlist' value.userid}}&&{{userlist' value.name}}&&{{userlist' value.avatar}}">添加</a>
+                            <p><span class=" icon-user"></span> <b>{{userlist' value.name}}</b></p>
+                            <p>{{userlist' value.jobs}}</p>
+                        </li>
+                        <!-- endloop -->
+                        <!-- endif -->
+                    </ul>
+                </div>
+                <div class="">
+                    <h5>添加新签署人:</h5>
+                    <div class="input-group col-xs-8">
+                        <input class="span3 form-control" type="text" placeholder="输入邮箱地址检索" id="searchuser">
+                <span class="input-group-btn">
+                    <button class="btn btn-default" type="button" onclick="searchuser();">搜索</button>
+                </span>
+                    </div>
+                    <ul class="clearfix moadl-avatars" id="resultsearch">
+                    </ul>
+                </div>
             </div>
             </div>
-            <ul class="clearfix moadl-avatars" id="resultsearch">
-            </ul>
         </div>
         </div>
     </div>
     </div>
 </div>
 </div>
 <!-- 添加签署人弹出 -->
 <!-- 添加签署人弹出 -->
 <!-- 发起签署弹出 -->
 <!-- 发起签署弹出 -->
-<div id="starsign" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
-
-    <div class="modal-body">
-        <h4>发起后不可更改,确认发起签署?</h4>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
-        <button type="button" class="btn btn-success" onclick="uploadsign();">确认</button>
+<div id="starsign" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-body">
+                <h4>发起后不可更改,确认发起签署?</h4>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+                <button type="button" class="btn btn-success" onclick="uploadsign();">确认</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!-- 发起签署弹出 -->
 <!-- 发起签署弹出 -->
@@ -161,7 +170,7 @@
                     if(result.code == 400){
                     if(result.code == 400){
                         alert(result.msg);
                         alert(result.msg);
                     }else{
                     }else{
-                        html += '<li><a class="fR btn btn-small btn-primary" data-user="'+result.user.userid+'&&'+result.user.name+'&&'+result.user.avatar+'">添加</a> <p><span class=" icon-user"></span> <b>'+result.user.name+'</b></p> <p>'+result.user.jobs+'</p></li>'
+                        html += '<li><a class="fR btn btn-sm btn-primary" data-user="'+result.user.userid+'&&'+result.user.name+'&&'+result.user.avatar+'">添加</a> <p><span class=" icon-user"></span> <b>'+result.user.name+'</b></p> <p>'+result.user.jobs+'</p></li>'
                     }
                     }
                     $('#resultsearch').html(html);
                     $('#resultsearch').html(html);
                     $('#resultsearch li a').on('click',function(){
                     $('#resultsearch li a').on('click',function(){
@@ -180,12 +189,12 @@
                             $('#signbtn').addClass('btn-primary').removeClass('disabled');
                             $('#signbtn').addClass('btn-primary').removeClass('disabled');
                             $('#userlist li').each(function(){
                             $('#userlist li').each(function(){
                                 if($(this).children('a').attr('data-userid') == userarr[0]){
                                 if($(this).children('a').attr('data-userid') == userarr[0]){
-                                    $(this).children('a').removeClass('btn-primary').addClass('disabled');
+                                    $(this).children('a').removeClass('btn-primary').addClass('btn-default').addClass('disabled');
                                     return;
                                     return;
                                 }
                                 }
                             });
                             });
                             if($('#reportlist li a').attr('data-userid') == userarr[0]){
                             if($('#reportlist li a').attr('data-userid') == userarr[0]){
-                                $('#reportlist li a').removeClass('btn-primary').addClass('disabled');
+                                $('#reportlist li a').removeClass('btn-primary').addClass('btn-default').addClass('disabled');
                             }
                             }
                             alert('添加成功');
                             alert('添加成功');
                             $('#resultsearch').html('');
                             $('#resultsearch').html('');
@@ -195,16 +204,16 @@
                             var sid = $(this).parents('li').attr('data-sid');
                             var sid = $(this).parents('li').attr('data-sid');
                             $('#userlist li').each(function(){
                             $('#userlist li').each(function(){
                                if($(this).children('a').attr('data-userid') == sid){
                                if($(this).children('a').attr('data-userid') == sid){
-                                   $(this).children('a').removeClass('disabled').addClass('btn-primary');
+                                   $(this).children('a').removeClass('disabled').addClass('btn-primary').removeClass('btn-default');
                                    return;
                                    return;
                                }
                                }
                             });
                             });
                             if($('#reportlist li a').attr('data-userid') == sid){
                             if($('#reportlist li a').attr('data-userid') == sid){
-                                $('#reportlist li a').removeClass('disabled').addClass('btn-primary');
+                                $('#reportlist li a').removeClass('disabled').addClass('btn-primary').removeClass('btn-default');
                             }
                             }
                             $(this).parents('li').remove();
                             $(this).parents('li').remove();
                             if($('#signerlist ul li').length == 0){
                             if($('#signerlist ul li').length == 0){
-                                $('#signbtn').removeClass('btn-primary').addClass('disabled');
+                                $('#signbtn').removeClass('btn-primary').addClass('disabled').addClass('btn-default');
                             }else{
                             }else{
                                 var i =1;
                                 var i =1;
                                 $('#signerlist ul li').each(function(){
                                 $('#signerlist ul li').each(function(){
@@ -270,10 +279,10 @@
             if(flag){
             if(flag){
                 var html = '<li data-sid="'+userarr[0]+'"> <div class="no fL">'+($('#signerlist ul li').length+1)+'</div> <div class="avatars fL"><img src="{{rootUrl}}'+userarr[2]+'">'+userarr[1]+'</div> <div class="corl fR"><a href="#" class="colRed">移除</a></div> </li>';
                 var html = '<li data-sid="'+userarr[0]+'"> <div class="no fL">'+($('#signerlist ul li').length+1)+'</div> <div class="avatars fL"><img src="{{rootUrl}}'+userarr[2]+'">'+userarr[1]+'</div> <div class="corl fR"><a href="#" class="colRed">移除</a></div> </li>';
                 $('#signerlist ul').append(html);
                 $('#signerlist ul').append(html);
-                $('#signbtn').addClass('btn-primary').removeClass('disabled');
-                $(this).removeClass('btn-primary').addClass('disabled');
+                $('#signbtn').addClass('btn-primary').removeClass('disabled').removeClass('btn-default');
+                $(this).removeClass('btn-primary').addClass('disabled').addClass('btn-default');
                 if($('#reportlist li a').attr('data-userid') == userarr[0]){
                 if($('#reportlist li a').attr('data-userid') == userarr[0]){
-                    $('#reportlist li a').removeClass('btn-primary').addClass('disabled');
+                    $('#reportlist li a').removeClass('btn-primary').addClass('disabled').addClass('btn-default');
                 }
                 }
                 alert('添加成功');
                 alert('添加成功');
             }
             }
@@ -282,16 +291,16 @@
                 var sid = $(this).parents('li').attr('data-sid');
                 var sid = $(this).parents('li').attr('data-sid');
                 $('#userlist li').each(function(){
                 $('#userlist li').each(function(){
                     if($(this).children('a').attr('data-userid') == sid){
                     if($(this).children('a').attr('data-userid') == sid){
-                        $(this).children('a').removeClass('disabled').addClass('btn-primary');
+                        $(this).children('a').removeClass('disabled').addClass('btn-primary').removeClass('btn-default');
                         return;
                         return;
                     }
                     }
                 });
                 });
                 if($('#reportlist li a').attr('data-userid') == sid){
                 if($('#reportlist li a').attr('data-userid') == sid){
-                    $('#reportlist li a').removeClass('disabled').addClass('btn-primary');
+                    $('#reportlist li a').removeClass('disabled').addClass('btn-primary').removeClass('btn-default');
                 }
                 }
                 $(this).parents('li').remove();
                 $(this).parents('li').remove();
                 if($('#signerlist ul li').length == 0){
                 if($('#signerlist ul li').length == 0){
-                    $('#signbtn').removeClass('btn-primary').addClass('disabled');
+                    $('#signbtn').removeClass('btn-primary').addClass('disabled').addClass('btn-default');
                 }else{
                 }else{
                     var i =1;
                     var i =1;
                     $('#signerlist ul li').each(function(){
                     $('#signerlist ul li').each(function(){
@@ -318,11 +327,11 @@
             if(flag){
             if(flag){
                 var html = '<li data-sid="'+userarr[0]+'"> <div class="no fL">'+($('#signerlist ul li').length+1)+'</div> <div class="avatars fL"><img src="{{rootUrl}}'+userarr[2]+'">'+userarr[1]+'</div> <div class="corl fR"><a href="#" class="colRed">移除</a></div> </li>';
                 var html = '<li data-sid="'+userarr[0]+'"> <div class="no fL">'+($('#signerlist ul li').length+1)+'</div> <div class="avatars fL"><img src="{{rootUrl}}'+userarr[2]+'">'+userarr[1]+'</div> <div class="corl fR"><a href="#" class="colRed">移除</a></div> </li>';
                 $('#signerlist ul').append(html);
                 $('#signerlist ul').append(html);
-                $('#signbtn').addClass('btn-primary').removeClass('disabled');
-                $(this).removeClass('btn-primary').addClass('disabled');
+                $('#signbtn').addClass('btn-primary').removeClass('disabled').removeClass('btn-default');
+                $(this).removeClass('btn-primary').addClass('disabled').addClass('btn-default');
                 $('#userlist li').each(function(){
                 $('#userlist li').each(function(){
                     if($(this).children('a').attr('data-userid') == userarr[0]){
                     if($(this).children('a').attr('data-userid') == userarr[0]){
-                        $(this).children('a').removeClass('btn-primary').addClass('disabled');
+                        $(this).children('a').removeClass('btn-primary').addClass('disabled').addClass('btn-default');
                         return;
                         return;
                     }
                     }
                 });
                 });
@@ -332,16 +341,16 @@
                 var sid = $(this).parents('li').attr('data-sid');
                 var sid = $(this).parents('li').attr('data-sid');
                 $('#userlist li').each(function(){
                 $('#userlist li').each(function(){
                     if($(this).children('a').attr('data-userid') == sid){
                     if($(this).children('a').attr('data-userid') == sid){
-                        $(this).children('a').removeClass('disabled').addClass('btn-primary');
+                        $(this).children('a').removeClass('disabled').addClass('btn-primary').removeClass('btn-default');
                         return;
                         return;
                     }
                     }
                 });
                 });
                 if($('#reportlist li a').attr('data-userid') == sid){
                 if($('#reportlist li a').attr('data-userid') == sid){
-                    $('#reportlist li a').removeClass('disabled').addClass('btn-primary');
+                    $('#reportlist li a').removeClass('disabled').addClass('btn-primary').removeClass('btn-default');
                 }
                 }
                 $(this).parents('li').remove();
                 $(this).parents('li').remove();
                 if($('#signerlist ul li').length == 0){
                 if($('#signerlist ul li').length == 0){
-                    $('#signbtn').removeClass('btn-primary').addClass('disabled');
+                    $('#signbtn').removeClass('btn-primary').addClass('disabled').addClass('btn-default');
                 }else{
                 }else{
                     var i =1;
                     var i =1;
                     $('#signerlist ul li').each(function(){
                     $('#signerlist ul li').each(function(){

+ 14 - 11
protected/view/sign-view-signer_sign.html

@@ -25,7 +25,7 @@
                 <div class="fR sign-topbar">
                 <div class="fR sign-topbar">
                     <a class="btn btn-primary" href="javascript:void(0);" onclick="addsgin()"><i class="icon-pencil icon-white"></i> 签名</a>
                     <a class="btn btn-primary" href="javascript:void(0);" onclick="addsgin()"><i class="icon-pencil icon-white"></i> 签名</a>
                     <a id="delallsign" class="btn btn-danger" style="display: none" href="javascript:void(0);" onclick="delconfirm();"><i class="icon-remove icon-white"></i> 清除签名</a>
                     <a id="delallsign" class="btn btn-danger" style="display: none" href="javascript:void(0);" onclick="delconfirm();"><i class="icon-remove icon-white"></i> 清除签名</a>
-                    <a class="btn " href="javascript:void(0);" onclick="printdiv('sign_msg')"><i class="icon-print "></i> 打印</a>
+                    <a class="btn btn-default" href="javascript:void(0);" onclick="printdiv('sign_msg')"><i class="icon-print "></i> 打印</a>
                 </div>
                 </div>
                 <div class="fR sign-page-num">
                 <div class="fR sign-page-num">
                     <span id="picnum">1</span> / {{signmsg.pagenum}} 页
                     <span id="picnum">1</span> / {{signmsg.pagenum}} 页
@@ -35,14 +35,14 @@
             <div class="sign-view clearfix">
             <div class="sign-view clearfix">
                 <div class="sign-side fR">
                 <div class="sign-side fR">
                     <div class="view-info">
                     <div class="view-info">
-                        <ul>
+                        <ul class="list-unstyled">
                             <li><div class="fL">所在项目</div>{{signmsg.project}}</li>
                             <li><div class="fL">所在项目</div>{{signmsg.project}}</li>
                             <li><div class="fL">标段</div>{{signmsg.tender}}</li>
                             <li><div class="fL">标段</div>{{signmsg.tender}}</li>
                             <li><div class="fL">期数</div>第{{ToChinaseNum(signmsg.phaseno)}}期</li>
                             <li><div class="fL">期数</div>第{{ToChinaseNum(signmsg.phaseno)}}期</li>
                         </ul>
                         </ul>
                     </div>
                     </div>
                     <div class="signed-list">
                     <div class="signed-list">
-                        <ul>
+                        <ul class="list-unstyled">
                             <!-- if !empty({{auditlist}}) -->
                             <!-- if !empty({{auditlist}}) -->
                             <!-- loop auditlist -->
                             <!-- loop auditlist -->
                             <li><div class="no fL">{{auditlist' value.index}}</div><div class="avatars fL"><img src="{{auditlist' value.avatar}}">{{auditlist' value.aname}}</div><div class="corl fR"><!-- if {{auditlist' value.status}} == 'checked' --><span class="colGreen">完成</span><!-- elseif {{auditlist' value.status}} == 'checking' --><span class="colOrange">签署中</span><!-- else --><span class=""></span><!-- endif --></div></li>
                             <li><div class="no fL">{{auditlist' value.index}}</div><div class="avatars fL"><img src="{{auditlist' value.avatar}}">{{auditlist' value.aname}}</div><div class="corl fR"><!-- if {{auditlist' value.status}} == 'checked' --><span class="colGreen">完成</span><!-- elseif {{auditlist' value.status}} == 'checking' --><span class="colOrange">签署中</span><!-- else --><span class=""></span><!-- endif --></div></li>
@@ -91,14 +91,17 @@
     </div>
     </div>
 </div>
 </div>
 <!-- 完成签署人弹出 -->
 <!-- 完成签署人弹出 -->
-<div id="donesign" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
-
-    <div class="modal-body">
-        <h4>完成后不可更改,确认完成签署?</h4>
-    </div>
-    <div class="modal-footer">
-        <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
-        <button type="button" class="btn btn-success" onclick="donesign();">确认</button>
+<div id="donesign" class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-body">
+                <h4>完成后不可更改,确认完成签署?</h4>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+                <button type="button" class="btn btn-success" onclick="donesign();">确认</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!-- 添加签署人弹出 -->
 <!-- 添加签署人弹出 -->

+ 9 - 2
protected/view/top.html

@@ -1,13 +1,20 @@
 <div class="wrapHeader">
 <div class="wrapHeader">
     <h1 title="纵横计量支付" class="mainLogo"></h1>
     <h1 title="纵横计量支付" class="mainLogo"></h1>
     <div class="userInfo"><img src="{{rootUrl}}{{user.avatar}}" class="fR">
     <div class="userInfo"><img src="{{rootUrl}}{{user.avatar}}" class="fR">
+        <!-- if {{zhisset(version)}} && !empty({{version}}) -->
         <div class="btn-group">
         <div class="btn-group">
-            <button data-toggle="dropdown" class="btn dropdown-toggle">{{user.name}}&nbsp;<span class="caret"></span>
+            <a href="{{download}}"><button class="btn btn-inverse dropdown-toggle" style="color: #333;">下载桌面软件 v{{version}}</button></a>
+        </div>
+        <!-- endif -->
+        <div class="btn-group">
+            <a href="{{rootUrl}}user/profile/app"><button class="btn btn-inverse dropdown-toggle" style="color: #333;">手机APP</button></a>
+        </div>
+        <div class="btn-group">
+            <button data-toggle="dropdown" class="btn btn-inverse dropdown-toggle">{{user.name}}&nbsp;<span class="caret"></span>
             </button>
             </button>
             <ul class="dropdown-menu">
             <ul class="dropdown-menu">
                 <li><a href="{{rootUrl}}user/profile">个人信息</a></li>
                 <li><a href="{{rootUrl}}user/profile">个人信息</a></li>
                 <li><a href="{{rootUrl}}user/profile/sms">短信通知</a></li>
                 <li><a href="{{rootUrl}}user/profile/sms">短信通知</a></li>
-                <li><a href="{{rootUrl}}user/profile/app">APP</a></li>
                 <li class="hide"><a href="#"><span data-icon="r" aria-hidden="true"></span>&nbsp;工作组</a></li>
                 <li class="hide"><a href="#"><span data-icon="r" aria-hidden="true"></span>&nbsp;工作组</a></li>
                 <li class="hide"><a href="#"><span data-icon="B" aria-hidden="true"></span>&nbsp;我的任务</a></li>
                 <li class="hide"><a href="#"><span data-icon="B" aria-hidden="true"></span>&nbsp;我的任务</a></li>
                 <li class="divider"></li>
                 <li class="divider"></li>

+ 48 - 42
protected/view/w-project-section-files-recover.html

@@ -6,12 +6,12 @@
     <meta name=description content=计量支付>
     <meta name=description content=计量支付>
     <meta name=copyright content=smartcost.com.cn>
     <meta name=copyright content=smartcost.com.cn>
     <link rel=stylesheet href={{rootUrl}}global/css/fixedheadertable.css>
     <link rel=stylesheet href={{rootUrl}}global/css/fixedheadertable.css>
-    <script src={{rootUrl}}global/js/jquery.fixedheadertable.js></script>
     <link rel=stylesheet href="{{rootUrl}}global/css/bootstrap.css">
     <link rel=stylesheet href="{{rootUrl}}global/css/bootstrap.css">
     <link rel=stylesheet href="{{rootUrl}}global/css/style.css">
     <link rel=stylesheet href="{{rootUrl}}global/css/style.css">
     <script src="{{rootUrl}}global/js/jquery-1.9.1.min.js"></script>
     <script src="{{rootUrl}}global/js/jquery-1.9.1.min.js"></script>
     <script src="{{rootUrl}}global/js/bootstrap.js"></script>
     <script src="{{rootUrl}}global/js/bootstrap.js"></script>
     <script src="{{rootUrl}}global/js/jl.js"></script>
     <script src="{{rootUrl}}global/js/jl.js"></script>
+    <script src={{rootUrl}}global/js/jquery.fixedheadertable.js></script>
 </head>
 </head>
 <body>
 <body>
 <!-- include "top" -->
 <!-- include "top" -->
@@ -125,19 +125,13 @@
                         </tbody>
                         </tbody>
                     </table>
                     </table>
 
 
-                    <div class="pagination">
-                        <ul>
+                    <nav aria-label="Page navigation">
+                        <ul class="pagination">
                             {{pager}}
                             {{pager}}
-                            <!--<li class="disabled"><a href="#">&laquo;</a></li>-->
-                            <!--<li class="active"><a href="#">1</a></li>-->
-                            <!--<li><a href="#">2</a></li>-->
-                            <!--<li><a href="#">3</a></li>-->
-                            <!--<li><a href="#">4</a></li>-->
-                            <!--<li><a href="#">5</a></li>-->
                         </ul>
                         </ul>
-                    </div>
+                    </nav>
                 </div>
                 </div>
-                <div class="filesDetail hide">
+                <div class="filesDetail" style="display: none">
                     <input type="hidden" id="imnid" value="0"/>
                     <input type="hidden" id="imnid" value="0"/>
                     <table class="table table-striped">
                     <table class="table table-striped">
                         <thead>
                         <thead>
@@ -182,49 +176,61 @@
     </div>
     </div>
 </div>
 </div>
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
-<div id="file-replace" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-replace" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件恢复</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-success">恢复成功。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件恢复</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-success">恢复成功。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
-<div id="file-del" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-del" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件删除</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-error">彻底删除无法还原,所有清单下挂的该文件都将移除。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-        <button id="del" class="btn btn-danger">确定删除</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件删除</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-danger">彻底删除无法还原,所有清单下挂的该文件都将移除。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+                <button id="del" class="btn btn-danger">确定删除</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 </div>
 </div>
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
-<div id="file-del2" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-del2" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件删除</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-warning">文件上传者才有彻底删除权限。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件删除</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-warning">文件上传者才有彻底删除权限。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 </div>
 </div>

+ 106 - 85
protected/view/w-project-section-files.html

@@ -64,23 +64,28 @@
             </ul>
             </ul>
             <!--导航-->
             <!--导航-->
             <!--筛选工具-->
             <!--筛选工具-->
+            <br>
             <div class="clearfix">
             <div class="clearfix">
-                <form class="form-inline">
-                    <select id="numpname" class="span2">
-                        <option value="0">不限期数</option>
-                        <!-- loop groupArray -->
-                        <option <!-- if {{num}} == {{groupArray' value.numpname}} --> selected <!-- endif -->
-                        value="{{groupArray' value.numpname}}">第{{ToChinaseNum(groupArray' value.numpname)}}期
-                        </option>
-                        <!-- endloop -->
-                    </select>
-                    <select id="uploaduser" class="span2">
-                        <option value="0">上传者</option>
-                        <!-- loop owneridArray -->
-                        <option <!-- if {{userid}} == {{owneridArray' value.ownerid}} --> selected <!-- endif -->
-                        value="{{owneridArray' value.ownerid}}">{{owneridArray' value.name}}</option>
-                        <!-- endloop -->
-                    </select>
+                <form class="row">
+                    <div class="col-sm-2">
+                        <select class="form-control" id="numpname" class="span2">
+                            <option value="0">不限期数</option>
+                            <!-- loop groupArray -->
+                            <option <!-- if {{num}} == {{groupArray' value.numpname}} --> selected <!-- endif -->
+                            value="{{groupArray' value.numpname}}">第{{ToChinaseNum(groupArray' value.numpname)}}期
+                            </option>
+                            <!-- endloop -->
+                        </select>
+                    </div>
+                    <div class="col-sm-2">
+                        <select class="form-control" id="uploaduser" class="span2">
+                            <option value="0">上传者</option>
+                            <!-- loop owneridArray -->
+                            <option <!-- if {{userid}} == {{owneridArray' value.ownerid}} --> selected <!-- endif -->
+                            value="{{owneridArray' value.ownerid}}">{{owneridArray' value.name}}</option>
+                            <!-- endloop -->
+                        </select>
+                    </div>
                     <a href="/project/{{pid}}/section/{{pmid}}/files/recover" class="fR">附件回收站</a>
                     <a href="/project/{{pid}}/section/{{pmid}}/files/recover" class="fR">附件回收站</a>
                 </form>
                 </form>
             </div>
             </div>
@@ -136,13 +141,13 @@
                         <!-- endloop -->
                         <!-- endloop -->
                         </tbody>
                         </tbody>
                     </table>
                     </table>
-                    <div class="pagination">
-                        <ul>
+                    <nav aria-label="Page navigation">
+                        <ul class="pagination">
                             {{pager}}
                             {{pager}}
                         </ul>
                         </ul>
-                    </div>
+                    </nav>
                 </div>
                 </div>
-                <div class="filesDetail hide">
+                <div class="filesDetail" style="display: none">
                     <table class="table table-striped">
                     <table class="table table-striped">
                         <thead>
                         <thead>
                         <tr>
                         <tr>
@@ -195,92 +200,108 @@
     </div>
     </div>
 </div>
 </div>
 <!-- 编辑弹出 -->
 <!-- 编辑弹出 -->
-<div id="file-edit" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-edit" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件编辑</h3>
-    </div>
-    <div class="modal-body">
-        <div class="form">
-            <form class="form-horizontal">
-                <input type="hidden" id="upimnid" name="upimnid" value=""/>
-                <div class="control-group">
-                    <label class="control-label" for="inputEmail">文件名称</label>
-                    <div class="controls">
-                        <input name="upfilename" id="upfilename" type="text"/>
-                    </div>
-                </div>
-                <div class="control-group">
-                    <label class="control-label" for="inputEmail">备注/描述</label>
-                    <div class="controls">
-                        <textarea name="upfiledesc" id="upfiledesc"></textarea>
-                    </div>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件编辑</h3>
+            </div>
+            <div class="modal-body">
+                <div class="form">
+                    <form class="form-horizontal">
+                        <input type="hidden" id="upimnid" name="upimnid" value=""/>
+                        <div class="form-group">
+                            <label class="control-label col-sm-3">文件名称</label>
+                            <div class="col-sm-8">
+                                <input class="form-control" name="upfilename" id="upfilename" type="text"/>
+                            </div>
+                        </div>
+                        <div class="form-group">
+                            <label class="control-label col-sm-3">备注/描述</label>
+                            <div class="col-sm-8">
+                                <textarea class="form-control" name="upfiledesc" id="upfiledesc"></textarea>
+                            </div>
+                        </div>
+                    </form>
                 </div>
                 </div>
-            </form>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+                <button id="updateFileDesc" class="btn btn-primary">确定修改</button>
+            </div>
         </div>
         </div>
     </div>
     </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-        <button id="updateFileDesc" class="btn btn-primary">确定修改</button>
-    </div>
 </div>
 </div>
 <!-- 编辑弹出 -->
 <!-- 编辑弹出 -->
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
-<div id="file-replace" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-replace" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件替换</h3>
-    </div>
-    <div class="modal-body">
-        <div class="form">
-            <form class="form-horizontal">
-                <input type="hidden" name="fid" value="0" id="fid"/>
-                <div class="control-group">
-                    <label class="control-label" for="inputEmail">选择文件</label>
-                    <div class="controls">
-                        <input name="file" id="file" type="file">
-                        <span class="help-block">替换新文件后,所有已下挂该文件的清单都将更新。</span>
-                    </div>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件替换</h3>
+            </div>
+            <div class="modal-body">
+                <div class="form">
+                    <form class="form-horizontal">
+                        <input type="hidden" name="fid" value="0" id="fid"/>
+                        <div class="form-group">
+                            <label class="control-label col-sm-3">选择文件</label>
+                            <div class="col-sm-8">
+                                <input name="file" id="file" type="file">
+                                <span class="help-block">替换新文件后,所有已下挂该文件的清单都将更新。</span>
+                            </div>
+                        </div>
+                    </form>
                 </div>
                 </div>
-            </form>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+                <button id="btreplacefile" class="btn btn-primary">确定替换</button>
+            </div>
         </div>
         </div>
     </div>
     </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-        <button id="btreplacefile" class="btn btn-primary">确定替换</button>
-    </div>
 </div>
 </div>
 <!-- 替换弹出 -->
 <!-- 替换弹出 -->
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
-<div id="file-del" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-del" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">文件删除</h3>
-    </div>
-    <div class="modal-body">
-        <h5 class="text-success">文件删除成功,您可以在附件回收站恢复它。</h5>
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>文件删除</h3>
+            </div>
+            <div class="modal-body">
+                <h5 class="text-success">文件删除成功,您可以在附件回收站恢复它。</h5>
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 </div>
 </div>
 <!-- 删除弹出 -->
 <!-- 删除弹出 -->
 <!-- 历史版本弹出 -->
 <!-- 历史版本弹出 -->
-<div id="file-history" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
+<div id="file-history" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
      aria-hidden="true">
      aria-hidden="true">
-    <input type="hidden" name="iaid" value="0" id="iaid"/>
-    <div class="modal-header">
-        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-        <h3 id="myModalLabel">历史版本</h3>
-    </div>
-    <div id="historyHTML" class="modal-body">
-    </div>
-    <div class="modal-footer">
-        <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <input type="hidden" name="iaid" value="0" id="iaid"/>
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+                <h3>历史版本</h3>
+            </div>
+            <div id="historyHTML" class="modal-body">
+            </div>
+            <div class="modal-footer">
+                <button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+            </div>
+        </div>
     </div>
     </div>
 </div>
 </div>
 </div>
 </div>

+ 98 - 86
protected/view/w-project-section.html

@@ -48,104 +48,116 @@
 	    </div>
 	    </div>
 	</div>
 	</div>
 	<!-- 添加标段类型弹出 -->
 	<!-- 添加标段类型弹出 -->
-	<div id="addsection" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
-	    <form class="form-horizontal" method="post" name="tenderform">
-		<div class="modal-header">
-		    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-		    <h3 id="myModalLabel">添加标段类型</h3>
-		</div>
-		<div class="modal-body">
-		    <div class="form">
-			<div class="control-group">
-			    <label class="control-label" for="inputEmail">标段类型名称</label>
-			    <div class="controls">
-				<input type="text" placeholder="输入标段类型名称" id="secname" name="secname" />
-			    </div>
+	<div id="addsection" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+		<div class="modal-dialog">
+			<div class="modal-content">
+				<form class="form-horizontal" method="post" name="tenderform">
+					<div class="modal-header">
+						<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+						<h3>添加标段类型</h3>
+					</div>
+					<div class="modal-body">
+						<div class="form">
+							<div class="form-group">
+								<label class="control-label col-sm-3">标段类型名称</label>
+								<div class="col-sm-8">
+									<input type="text" class="form-control" placeholder="输入标段类型名称" id="secname" name="secname" />
+								</div>
+							</div>
+						</div>
+					</div>
+					<div class="modal-footer">
+						<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+						<input type="submit" name="secsub" id="secsub" class="btn btn-primary" value="保存" />
+					</div>
+				</form>
 			</div>
 			</div>
-		    </div>
 		</div>
 		</div>
-		<div class="modal-footer">
-		    <button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-		    <input type="submit" name="secsub" id="secsub" class="btn btn-primary" value="保存" />
-		</div>
-	    </form>
 	</div>
 	</div>
 	<!-- 添加标段类型弹出 -->
 	<!-- 添加标段类型弹出 -->
 	<!-- 项目设置弹出 -->
 	<!-- 项目设置弹出 -->
-	<div id="pojoption" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
-	    <div class="modal-header">
-		<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-		<h3 id="myModalLabel">项目设置</h3>
-	    </div>
-	    <div class="modal-body">
+	<div id="pojoption" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+		<div class="modal-dialog">
+			<div class="modal-content">
+				<div class="modal-header">
+					<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+					<h3>项目设置</h3>
+				</div>
+				<div class="modal-body">
 
 
-		<div class="form">
-		    <form class="form-horizontal">
-			<div class="control-group">
-			    <label class="control-label" for="inputEmail">项目名称</label>
-			    <div class="controls">
-				<input type="text" placeholder="输入项目名称" value="黄金大桥项目">
-			    </div>
+					<div class="form">
+						<form class="form-horizontal">
+							<div class="control-group">
+								<label class="control-label">项目名称</label>
+								<div class="controls">
+									<input type="text" class="form-control" placeholder="输入项目名称" value="黄金大桥项目">
+								</div>
+							</div>
+							<div class="control-group">
+								<label class="control-label">KEY</label>
+								<div class="controls">
+									<input type="text" class="form-control" placeholder="这是该项目的KEY" value="QWESD134SD123" readonly class="span2">
+								</div>
+							</div>
+							<div class="control-group">
+								<label class="control-label">颜色标识</label>
+								<div class="controls">
+									<ul class="pjColorList">
+										<li class="pjColor pj-c1 pjSelect"></li>
+										<li class="pjColor pj-c2"></li>
+										<li class="pjColor pj-c3"></li>
+										<li class="pjColor pj-c4"></li>
+										<li class="pjColor pj-c5"></li>
+										<li class="pjColor pj-c6"></li>
+										<li class="pjColor pj-c7"></li>
+										<li class="pjColor pj-c8"></li>
+									</ul>
+								</div>
+							</div>
+						</form>
+					</div>
+				</div>
+				<div class="modal-footer">
+					<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+					<button class="btn btn-primary">保存</button>
+				</div>
 			</div>
 			</div>
-			<div class="control-group">
-			    <label class="control-label" for="inputPassword">KEY</label>
-			    <div class="controls">
-				<input type="text" placeholder="这是该项目的KEY" value="QWESD134SD123" readonly class="span2">
-			    </div>
-			</div>
-			<div class="control-group">
-			    <label class="control-label" for="inputEmail">颜色标识</label>
-			    <div class="controls">
-				<ul class="pjColorList">
-				    <li class="pjColor pj-c1 pjSelect"></li>
-				    <li class="pjColor pj-c2"></li>
-				    <li class="pjColor pj-c3"></li>
-				    <li class="pjColor pj-c4"></li>
-				    <li class="pjColor pj-c5"></li>
-				    <li class="pjColor pj-c6"></li>
-				    <li class="pjColor pj-c7"></li>
-				    <li class="pjColor pj-c8"></li>
-				</ul>
-			    </div>
-			</div>
-		    </form>
 		</div>
 		</div>
-	    </div>
-	    <div class="modal-footer">
-		<button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-		<button class="btn btn-primary">保存</button>
-	    </div>
 	</div>
 	</div>
 	<!-- 项目设置弹出 -->
 	<!-- 项目设置弹出 -->
 	<!-- 标段类型设置弹出 -->
 	<!-- 标段类型设置弹出 -->
-	<div id="secoption" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
-	    <div class="modal-header">
-		<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
-		<h3 id="myModalLabel">标段类型设置</h3>
-	    </div>
-	    <div class="modal-body">
-		<form class="form-horizontal" method="post">
-		    <input id="stid" name="stid" type="hidden" value="0" />
-		    <div class="form">
-			<div class="control-group">
-			    <label class="control-label" for="inputEmail">标段类型名称</label>
-			    <div class="controls">
-				<input id="proname" name="proname" type="text" placeholder="输入类型类型名称">
-			    </div>
+	<div id="secoption" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+		<div class="modal-dialog">
+			<div class="modal-content">
+				<div class="modal-header">
+					<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+					<h3 id="myModalLabel">标段类型设置</h3>
+				</div>
+				<form class="form-horizontal" method="post">
+					<div class="modal-body">
+						<input id="stid" name="stid" type="hidden" value="0" />
+						<div class="form">
+							<div class="form-group">
+								<label class="control-label col-sm-3">标段类型名称</label>
+								<div class="col-sm-8">
+									<input id="proname" class="form-control" name="proname" type="text" placeholder="输入类型类型名称">
+								</div>
+							</div>
+							<div class="form-group">
+								<label class="control-label col-sm-3">KEY</label>
+								<div class="col-sm-8">
+									<input id="key" type="text" class="form-control" placeholder="这是该项目的KEY" value="QWESD134SD123"  class="span2"  onfocus="this.select()" onmouseover="this.focus()">
+								</div>
+							</div>
+						</div>
+					</div>
+					<div class="modal-footer">
+						<button class="btn btn-default" data-dismiss="modal" aria-hidden="true">关闭</button>
+						<button class="btn btn-primary">保存</button>
+					</div>
+				</form>
 			</div>
 			</div>
-			<div class="control-group">
-			    <label class="control-label" for="inputPassword">KEY</label>
-			    <div class="controls">
-				<input id="key" type="text" placeholder="这是该项目的KEY" value="QWESD134SD123"  class="span2"  onfocus="this.select()" onmouseover="this.focus()">
-			    </div>
-			</div>
-		    </div>
-	    </div>
-	    <div class="modal-footer">
-		<button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
-		<button class="btn btn-primary">保存</button>
-	    </div>
-	</form>
+		</div>
     </div>
     </div>
     <!-- 标段类型设置弹出 -->
     <!-- 标段类型设置弹出 -->
     <script src={{rootUrl}}global/js/jquery-1.9.1.min.js></script>
     <script src={{rootUrl}}global/js/jquery-1.9.1.min.js></script>

Різницю між файлами не показано, бо вона завелика
+ 101 - 89
protected/view/w-project.html


+ 5 - 5
protected/view/w-share-erro.html

@@ -15,15 +15,15 @@
 <body style="overflow:auto">
 <body style="overflow:auto">
 <div class="wrapHeader"><h1 title="纵横计量支付" class="mainLogo"></h1></div>
 <div class="wrapHeader"><h1 title="纵横计量支付" class="mainLogo"></h1></div>
 <div class="mainContent">
 <div class="mainContent">
-    <div class="row-fluid" style="margin-top:200px">
-        <div class="span3"></div>
-        <div class="span6">
-            <div class="alert alert-block alert-error fade in">
+    <div class="row" style="margin-top:200px">
+        <div class="col-md-3"></div>
+        <div class="col-md-6">
+            <div class="alert alert-block alert-danger fade in">
                 <h3 class="alert-heading">分享链接未启用</h3>
                 <h3 class="alert-heading">分享链接未启用</h3>
                 <h5>该分享已被项目所有者关闭,暂时无法查阅,请联系相关项目所有者。</h5>
                 <h5>该分享已被项目所有者关闭,暂时无法查阅,请联系相关项目所有者。</h5>
             </div>
             </div>
         </div>
         </div>
-        <div class="span3"></div>
+        <div class="col-md-3"></div>
     </div>
     </div>
 
 
 
 

+ 2 - 2
protected/view/w-share-project-section-detail.html

@@ -23,7 +23,7 @@
         <div class="detail">
         <div class="detail">
             <h5>总价:¥{{pros.bcontracttotal}}元 (<span class="colRed">+¥{{pros.bchangTotal}}</span>)</h5>
             <h5>总价:¥{{pros.bcontracttotal}}元 (<span class="colRed">+¥{{pros.bchangTotal}}</span>)</h5>
           <div class="progress">
           <div class="progress">
-            <div class="bar bar-success" style="width: {{pros.pcurrdone}};">{{pros.pcurrdone}}</div>
+            <div class="progress-bar progress-bar-success" style="width: {{pros.pcurrdone}};">{{pros.pcurrdone}}</div>
           </div>
           </div>
         </div>
         </div>
       </div>
       </div>
@@ -31,7 +31,7 @@
     <!--标段信息-->
     <!--标段信息-->
     <ul class="nav nav-tabs">
     <ul class="nav nav-tabs">
         <li class="active">
         <li class="active">
-        <a href="w-project-detail.html">标段信息</a>
+        <a href="javascript:void(0);">标段信息</a>
         </li>
         </li>
     </ul>
     </ul>
     <div class="project">
     <div class="project">

+ 6 - 6
protected/view/w-share-project-section.html

@@ -24,10 +24,10 @@
             <div class="detail">
             <div class="detail">
                 <h5>总价:¥{{st.bcontracttotal}}元</h5>
                 <h5>总价:¥{{st.bcontracttotal}}元</h5>
                 <div class="progress">
                 <div class="progress">
-                    <div class="bar bar-success" style="width:{{st.progress}};" data-placement="bottom" data-toggle="tooltip"
+                    <div class="progress-bar progress-bar-success" style="width:{{st.progress}};" data-placement="bottom" data-toggle="tooltip"
                          data-original-title="累计完成:¥{{st.nprogress}}">{{st.progress}}
                          data-original-title="累计完成:¥{{st.nprogress}}">{{st.progress}}
                     </div>
                     </div>
-                    <div class="bar bar-danger" style="width:{{st.otherprogress}};" data-placement="bottom" data-toggle="tooltip"
+                    <div class="progress-bar progress-bar-danger" style="width:{{st.otherprogress}};" data-placement="bottom" data-toggle="tooltip"
                          data-original-title="未完成:¥{{st.notherprogress}}">{{st.otherprogress}}
                          data-original-title="未完成:¥{{st.notherprogress}}">{{st.otherprogress}}
                     </div>
                     </div>
                 </div>
                 </div>
@@ -37,7 +37,7 @@
     <!--标段信息-->
     <!--标段信息-->
     <ul class="nav nav-tabs">
     <ul class="nav nav-tabs">
         <li class="active">
         <li class="active">
-            <a href="w-project-detail.html">标段信息</a>
+            <a href="javascript:void(0);">标段信息</a>
         </li>
         </li>
     </ul>
     </ul>
     <div class="project">
     <div class="project">
@@ -70,13 +70,13 @@
                     <td width="40%" class="taR">
                     <td width="40%" class="taR">
                         <div class="progress">
                         <div class="progress">
                             <div data-original-title="截止本期累计完成:{{stidArray' value.nTotalProgress}}" data-toggle="tooltip"
                             <div data-original-title="截止本期累计完成:{{stidArray' value.nTotalProgress}}" data-toggle="tooltip"
-                                 data-placement="bottom" style="width: {{stidArray' value.displayPercentSnTotalProgress}};" class="bar bar-success">{{stidArray' value.displayPercentSnTotalProgress}}
+                                 data-placement="bottom" style="width: {{stidArray' value.displayPercentSnTotalProgress}};" class="progress-bar progress-bar-success">{{stidArray' value.displayPercentSnTotalProgress}}
                             </div>
                             </div>
                             <div data-original-title="本期完成:{{stidArray' value.ncurrTotalProgress}}" data-toggle="tooltip" data-placement="bottom"
                             <div data-original-title="本期完成:{{stidArray' value.ncurrTotalProgress}}" data-toggle="tooltip" data-placement="bottom"
-                                 style="width:{{stidArray' value.displayPercentCurrTotalProgress}};" class="bar">{{stidArray' value.displayPercentCurrTotalProgress}}
+                                 style="width:{{stidArray' value.displayPercentCurrTotalProgress}};" class="progress-bar">{{stidArray' value.displayPercentCurrTotalProgress}}
                             </div>
                             </div>
                             <div data-original-title="未完成:{{stidArray' value.nlessTotalProgress}}" data-toggle="tooltip" data-placement="bottom"
                             <div data-original-title="未完成:{{stidArray' value.nlessTotalProgress}}" data-toggle="tooltip" data-placement="bottom"
-                                 style="width:{{stidArray' value.displayPercentLessTotalProgress}};" class="bar bar-gary">{{stidArray' value.displayPercentLessTotalProgress}}
+                                 style="width:{{stidArray' value.displayPercentLessTotalProgress}};" class="progress-bar progress-bar-gary">{{stidArray' value.displayPercentLessTotalProgress}}
                             </div>
                             </div>
                         </div>
                         </div>
                     </td>
                     </td>

+ 2 - 2
protected/view/w-share-project.html

@@ -23,7 +23,7 @@
             <div class="detail">
             <div class="detail">
                 <h5>总价:¥{{pros.bcontracttotal}}元 (<span class="colRed">+¥{{pros.bchangTotal}}</span>)</h5>
                 <h5>总价:¥{{pros.bcontracttotal}}元 (<span class="colRed">+¥{{pros.bchangTotal}}</span>)</h5>
                 <div class="progress">
                 <div class="progress">
-                    <div class="bar bar-success" style="width:{{pros.pcurrdone}};">{{pros.pcurrdone}}</div>
+                    <div class="progress-bar progress-bar-success" style="width:{{pros.pcurrdone}};">{{pros.pcurrdone}}</div>
                 </div>
                 </div>
             </div>
             </div>
         </div>
         </div>
@@ -31,7 +31,7 @@
     <!--项目汇总-->
     <!--项目汇总-->
     <ul class="nav nav-tabs">
     <ul class="nav nav-tabs">
         <li class="active">
         <li class="active">
-            <a href="w-project-detail.html">项目汇总</a>
+            <a href="javascript:void(0);">项目汇总</a>
         </li>
         </li>
     </ul>
     </ul>
     <div class="project">
     <div class="project">

+ 1 - 1
protected/viewc/sign-list-need_sign.php

@@ -53,7 +53,7 @@
                 <?php endforeach; ?>
                 <?php endforeach; ?>
               </div>
               </div>
             </td>
             </td>
-            <td width="10%"><a href="/sign/needview/<?php echo $v4['sid']; ?>" class="btn btn-primary btn-small">签署</a></td>
+            <td width="10%"><a href="/sign/needview/<?php echo $v4['sid']; ?>" class="btn btn-primary btn-sm">签署</a></td>
           </tr>
           </tr>
           <?php endforeach; ?>
           <?php endforeach; ?>
           <?php endif; ?>
           <?php endif; ?>

+ 26 - 0
protected/viewc/top.php

@@ -0,0 +1,26 @@
+<div class="wrapHeader">
+    <h1 title="纵横计量支付" class="mainLogo"></h1>
+    <div class="userInfo"><img src="<?php echo $data['rootUrl']; ?><?php echo $data['user']['avatar']; ?>" class="fR">
+        <?php if( zhisset($data['version']) ): ?>
+        <div class="btn-group">
+            <a href="<?php echo $data['download']; ?>" class="btn dropdown-toggle">下载桌面软件 v<?php echo $data['version']; ?></a>
+        </div>
+        <?php endif; ?>
+        <div class="btn-group">
+            <a href="<?php echo $data['rootUrl']; ?>user/profile/app" class="btn dropdown-toggle">手机APP</a>
+        </div>
+        <div class="btn-group">
+            <button data-toggle="dropdown" class="btn dropdown-toggle"><?php echo $data['user']['name']; ?>&nbsp;<span class="caret"></span>
+            </button>
+            <ul class="dropdown-menu">
+                <li><a href="<?php echo $data['rootUrl']; ?>user/profile">个人信息</a></li>
+                <li><a href="<?php echo $data['rootUrl']; ?>user/profile/sms">短信通知</a></li>
+                <li class="hide"><a href="#"><span data-icon="r" aria-hidden="true"></span>&nbsp;工作组</a></li>
+                <li class="hide"><a href="#"><span data-icon="B" aria-hidden="true"></span>&nbsp;我的任务</a></li>
+                <li class="divider"></li>
+                <li class="hide"><a href="#">帮助中心</a></li>
+                <li><a href="<?php echo $data['rootUrl']; ?>signout">退出</a></li>
+            </ul>
+        </div>
+    </div>
+</div>