project_launch_2.html 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810
  1. <!--主体内容-->
  2. <style>
  3. textarea{ resize:none;}
  4. body{
  5. font-family: "Microsoft Yahei", "微软雅黑";
  6. box-sizing: border-box;
  7. }
  8. .clearfix {
  9. clear: both;
  10. }
  11. .section{
  12. margin: 0 auto;
  13. width: 1040px;
  14. min-height: 1845px;
  15. background: #fff;
  16. padding: 30px 20px 0 20px;
  17. overflow: hidden;
  18. text-align: center;
  19. border: 1px solid #dcdcdc;
  20. }
  21. .instruction{
  22. padding-bottom: 20px;
  23. text-align: left;
  24. border-bottom: 2px solid #ef613b;
  25. }
  26. .instruction span:first-child{
  27. font-size: 18px;
  28. color: #1e1e1e;
  29. }
  30. .instruction span:last-child{
  31. font-size: 14px;
  32. color: #797979;
  33. }
  34. .choose .chooseNav{
  35. margin: 30px 0 36px 0;
  36. }
  37. .choose .chooseNav span{
  38. margin-right: -10px;
  39. display: inline-block;
  40. height: 30px;
  41. width: 150px;
  42. line-height: 30px;
  43. font-size: 14px;
  44. color: #fff;
  45. }
  46. .choose .chooseNav span.step1{
  47. background: url(static/images/step01.png)no-repeat center center;
  48. }
  49. .choose .chooseNav span.step2{
  50. margin-right: -13px;
  51. background: url(static/images/step02-1.png)no-repeat center center;
  52. }
  53. .choose .chooseNav span.step2.active{
  54. background: url(static/images/step02-2.png)no-repeat center center;
  55. }
  56. .choose .chooseNav span.step3{
  57. background: url(static/images/step03-1.png)no-repeat center center;
  58. }
  59. .choose .chooseNav span.step3.active{
  60. background: url(static/images/step03-2.png)no-repeat center center;
  61. }
  62. .choose .chooseDetail .detail .message{
  63. position: relative;
  64. margin: 0 auto;
  65. margin-bottom: 30px;
  66. width: 980px;
  67. height: 46px;
  68. line-height: 46px;
  69. text-align: left;
  70. background: #eeeeee;
  71. }
  72. .choose .chooseDetail .detail .message span{
  73. margin-left: 25px;
  74. font-size: 18px;
  75. font-weight: bold;
  76. color: #505050;
  77. }
  78. .choose .chooseDetail .detail .message span:before{
  79. content: '';
  80. position: absolute;
  81. top: 0;
  82. left: 0;
  83. width: 10px;
  84. height: 46px;
  85. background: #ff6000;
  86. }
  87. .form .form-group{
  88. margin-bottom: 22px;
  89. line-height: 34px;
  90. }
  91. .form .form-group label{
  92. margin-right: 60px;
  93. width: 80px;
  94. font-size: 16px;
  95. font-weight: normal;
  96. color: #505050;
  97. }
  98. .form .form-group input[type='text']{
  99. padding-left: 5px;
  100. width: 325px;
  101. height: 34px;
  102. border-radius: 0;
  103. }
  104. .form .form-group span.help-txt{
  105. margin-left: 10px;
  106. font-size: 12px;
  107. color: #969696;
  108. }
  109. .form .form-group div.sort{
  110. width: 800px;
  111. text-align: left;
  112. }
  113. .form .form-group div.sort span{
  114. margin: 0 20px 20px 0;
  115. padding: 0 13px;
  116. display: inline-block;
  117. height: 34px;
  118. line-height: 34px;
  119. font-size: 16px;
  120. color: #313131;
  121. border: 2px solid #dcdcdc;
  122. cursor: pointer;
  123. }
  124. .form .form-group div.sort span.active,.form .form-group div.sort span:hover{
  125. border: 2px solid #ed6216;
  126. }
  127. .form .form-group select{
  128. padding-left: 5px;
  129. width: 130px;
  130. height: 34px;
  131. cursor: pointer;
  132. }
  133. .form .form-groups .fl span{
  134. margin: 0 15px;
  135. font-size: 14px;
  136. color: #313131;
  137. }
  138. .form .form-group textarea{
  139. padding-left: 5px;
  140. width: 680px;
  141. height: 130px;
  142. }
  143. .form .form-group span.txt{
  144. margin-top: 10px;
  145. font-size: 12px;
  146. color: #979797;
  147. display: inline-block;
  148. text-align: left;
  149. width: 670px;
  150. line-height: 20px;
  151. }
  152. .form .form-group input.valid{
  153. padding-left: 5px;
  154. width: 130px;
  155. height: 34px;
  156. }
  157. .form .form-group div.valida{
  158. text-align: left;
  159. padding-left: 140px;
  160. }
  161. .form .form-group div.valida span{
  162. display: inline-block;
  163. width: 120px;
  164. height: 40px;
  165. }
  166. .form .form-group div.valida a{
  167. margin-left: 5px;
  168. font-size: 12px;
  169. color: #2a5bfb;
  170. }
  171. .form .text-left{
  172. margin-left: 140px;
  173. }
  174. .form .text-left .agree{
  175. margin-top: -7px;
  176. }
  177. .form .text-left .agree span{
  178. margin: 0 10px;
  179. font-size: 12px;
  180. color: #777;
  181. }
  182. .form .text-left .agree a{
  183. font-size: 12px;
  184. color: #2a5bfb;
  185. }
  186. .form .text-left a.btn{
  187. margin-bottom: 60px;
  188. display: inline-block;
  189. width: 160px;
  190. height: 34px;
  191. font-size: 16px;
  192. color: #fff;
  193. text-align: center;
  194. border-radius: 3px;
  195. background: #ff7624;
  196. border: none;
  197. outline: none;
  198. }
  199. .form .text-left a.btn:hover{
  200. background: #be3b1b;
  201. }
  202. /*项目详情*/
  203. .detail .list-item{
  204. margin-bottom: 40px;
  205. }
  206. .detail .list-item:first-child{
  207. margin-top: 60px;
  208. }
  209. .detail .list-item span.fl{
  210. padding-left: 20px;
  211. font-size: 16px;
  212. color: #515151;
  213. }
  214. .detail .list-item div.fl{
  215. margin-left: 65px;
  216. text-align: left;
  217. width: 770px;
  218. }
  219. .detail .list-item div.fl p{
  220. font-size: 16px;
  221. color: #505050;
  222. }
  223. .detail .list-item div.fl .computer{
  224. position: relative;
  225. margin-top: 22px;
  226. }
  227. .detail .list-item div.fl .computer span{
  228. display: inline-block ;
  229. width: 80px;
  230. font-size: 16px;
  231. color: #505050;
  232. }
  233. .detail .list-item div.fl .computer button {
  234. margin: 0 10px 0 35px;
  235. width: 110px;
  236. height: 34px;
  237. line-height: 34px;
  238. font-size: 16px;
  239. color: #505050;
  240. border: 1px solid #dcdcdc;
  241. border-radius: 3px;
  242. background: -webkit-linear-gradient(top, #fdfdfd 0%,#dadada 100%);
  243. background: -o-linear-gradient(top, #fdfdfd 0%,#dadada 100%);
  244. background: -ms-linear-gradient(top, #fdfdfd 0%,#dadada 100%);
  245. background: linear-gradient(to bottom, #fdfdfd 0%,#dadada 100%);
  246. }
  247. .detail .list-item div.fl .computer input[type='file']{
  248. position: absolute;
  249. top: 6px;
  250. left: 110px;
  251. width: 110px;
  252. height: 34px;
  253. opacity: 0;
  254. outline: none;
  255. }
  256. .detail .list-item div.fl .computer em{
  257. font-style: normal;
  258. font-size: 12px;
  259. color: #969696;
  260. }
  261. .detail .list-item div.fl .computer span.error{
  262. width: 115px;
  263. font-size: 12px;
  264. color: red;
  265. }
  266. .detail .list-item div.fl .showImg{
  267. position: relative ;
  268. margin: 16px 0 0 120px;
  269. width: 180px;
  270. height: 180px;
  271. }
  272. .detail .list-item div.fl .showImg img{
  273. width: 180px;
  274. height: 180px;
  275. }
  276. .detail .list-item div.fl .showImg .hover-show{
  277. position: absolute;
  278. bottom: 0;
  279. width: 180px;
  280. height: 180px;
  281. line-height: 32px;
  282. background: rgba(0,0,0,.5);
  283. display: none;
  284. }
  285. .detail .list-item div.fl .showImg:hover .hover-show{
  286. display: block;
  287. /*height: 180px;*/
  288. /*transition: height .5s ease-out;*/
  289. }
  290. .detail .list-item div.fl .showImg .hover-show .fa:before{
  291. font-size: 18px;
  292. color: #fff;
  293. }
  294. .detail .list-item div.fl .showImg .hover-show .fa-trash:before{
  295. margin-right: 5px;
  296. position: absolute;
  297. top: 5px;
  298. right: 5px;
  299. z-index: 10000;
  300. cursor: pointer;
  301. }
  302. .detail .list-item div.fl .showImg .hover-show a{
  303. position: absolute;
  304. top: 74px;
  305. left: 70px;
  306. font-size: 16px;
  307. color: #fff;
  308. }
  309. .detail .list-item div.fl .phone{
  310. position: relative;
  311. }
  312. .detail .list-item div.fl .phone select{
  313. margin: 0 10px 0 20px;
  314. width: 180px;
  315. height: 34px;
  316. cursor: pointer;
  317. }
  318. .detail .list-item div.fl .phone em{
  319. position: absolute;
  320. top: 0;
  321. right: 55px;
  322. display: inline-block;
  323. width: 430px;
  324. }
  325. .detail .list-item div.fl .upload{
  326. margin-top: 10px;
  327. position: relative;
  328. background: url(static/images/plus.png) no-repeat center center;
  329. margin-left: 104px;
  330. width: 180px;
  331. height: 180px;
  332. border: 1px dashed #dcdcdc;
  333. }
  334. .detail .list-item div.fl .upload input[type='file']{
  335. position: absolute ;
  336. top: 0;
  337. left: 0;
  338. width: 100%;
  339. height: 100%;
  340. outline: none;
  341. opacity: 0;
  342. cursor: pointer;
  343. }
  344. .detail .list-item div.fl .uploadImg button{
  345. margin-left: -15px;
  346. }
  347. .detail .list-item div.fl .uploadImg input[type='file']{
  348. top: 0;
  349. left: -14px;
  350. opacity: 0;
  351. outline: none;
  352. }
  353. .detail .list-item div.fl span.intro{
  354. font-size: 12px;
  355. color: #979797;
  356. }
  357. .detail .list-item div.fl .item{
  358. margin-top: 22px;
  359. }
  360. .detail .list-item div.fl .item span{
  361. margin: 5px 35px 0 0;
  362. padding-left: 0;
  363. width: 70px;
  364. text-align:left;
  365. font-size: 16px;
  366. color: #515151;
  367. }
  368. .detail .list-item div.fl .item input[type='text']{
  369. padding-left: 15px;
  370. width: 325px;
  371. height: 34px;
  372. font-size: 16px;
  373. color: #969696;
  374. border-radius: 0;
  375. }
  376. .detail .list-item div.fl .items{
  377. position: relative;
  378. }
  379. .detail .list-item div.fl .items{
  380. position: relative;
  381. }
  382. .detail .list-item div.fl .items .button{
  383. position: relative;
  384. margin-left: -40px;
  385. width: 580px;
  386. }
  387. .detail .list-item div.fl .items .button button{
  388. margin: 0 10px 0 40px;
  389. width: 110px;
  390. height: 34px;
  391. line-height: 34px;
  392. font-size: 16px;
  393. color: #505050;
  394. border: 1px solid #dcdcdc;
  395. border-radius: 3px;
  396. background: -webkit-linear-gradient(top, #fdfdfd 0%,#dadada 100%);
  397. background: -o-linear-gradient(top, #fdfdfd 0%,#dadada 100%);
  398. background: -ms-linear-gradient(top, #fdfdfd 0%,#dadada 100%);
  399. background: linear-gradient(to bottom, #fdfdfd 0%,#dadada 100%);
  400. }
  401. .detail .list-item div.fl .items .button input[type='file']{
  402. padding-left: 15px;
  403. position: absolute;
  404. top: 7px;
  405. left: 40px;
  406. opacity: 0;
  407. width: 110px;
  408. outline: none;
  409. }
  410. .detail .list-item div.fl .item textarea{
  411. padding-left: 15px;
  412. width: 585px;
  413. height: 100px;
  414. font-size: 16px;
  415. color: #505050;
  416. }
  417. .detail .list-item .simple textarea{
  418. padding-left: 15px;
  419. width: 690px;
  420. height: 100px;
  421. font-size: 16px;
  422. color: #505050;
  423. }
  424. .detail .list-item .simple span{
  425. margin-top: 10px;
  426. font-size: 12px;
  427. color: #979797;
  428. }
  429. .detail .list-item .simple .note-editable ol,.detail .list-item .simple .note-editable ul{
  430. padding-left: 20px;
  431. }
  432. .detail .list-item .introduce{
  433. width: 780px;
  434. border: 1px solid #dcdcdc;
  435. }
  436. .detail .list-item .introduce .intro-header{
  437. width: 100%;
  438. height: 54px;
  439. line-height: 54px;
  440. background: -webkit-linear-gradient(top, #fff 0%,#dadada 100%);
  441. background: -o-linear-gradient(top, #fff 0%,#dadada 100%);
  442. background: -ms-linear-gradient(top, #fff 0%,#dadada 100%);
  443. background: linear-gradient(to bottom, #fff 0%,#dadada 100%);
  444. }
  445. .detail .list-item .introduce .intro-header span{
  446. font-size: 16px;
  447. color: #323232;
  448. }
  449. .detail .list-item .introduce .intro-header span img{
  450. margin-left: 30px;
  451. }
  452. .detail .list-item .introduce .intro-header span em{
  453. margin-left: 8px;
  454. font-size: 16px;
  455. color: #323232;
  456. font-style: normal;
  457. }
  458. .detail .list-item .introduce .intro-body{
  459. padding: 23px 20px 30px 20px;
  460. }
  461. .detail .list-item .introduce .intro-body p{
  462. font-size: 18px;
  463. font-weight: bold ;
  464. color: #323232;
  465. }
  466. .detail .list-item .introduce .intro-body span{
  467. margin-top: 15px;
  468. font-size: 14px;
  469. line-height: 21px;
  470. color: #505050;
  471. }
  472. .detail .list-item div.submitButton{
  473. margin: 34px 0 37px 148px;
  474. overflow: hidden;
  475. width: 850px;
  476. }
  477. .detail .list-item .submitButton div{
  478. float: left;
  479. }
  480. .detail .list-item .submitButton div button:first-child{
  481. margin-right: 25px;
  482. width: 160px;
  483. height: 34px;
  484. line-height: 34px;
  485. font-size: 16px;
  486. color: #fff;
  487. background: #ff7624;
  488. border-radius: 3px;
  489. border: none;
  490. outline: none;
  491. }
  492. .detail .list-item .submitButton div button:first-child:hover{
  493. background: #be3b1b;
  494. }
  495. .detail .list-item .submitButton div button:last-child{
  496. margin-right: 347px;
  497. width: 110px;
  498. height: 34px;
  499. line-height: 34px;
  500. font-size: 16px;
  501. color: #ff7624;
  502. background: #fff;
  503. border: 1px solid #ff7624;
  504. border-radius: 3px;
  505. outline: none;
  506. }
  507. .detail .list-item .submitButton a{
  508. display: inline-block;
  509. width: 130px;
  510. height: 34px;
  511. line-height: 34px;
  512. font-size: 16px;
  513. color: #fff;
  514. text-align: center;
  515. background: #a0a0a0;
  516. border-radius: 3px;
  517. border: none;
  518. outline: none;
  519. }
  520. .detail .list-item .submitButton a:first-child{
  521. margin-right: 25px;
  522. width: 160px;
  523. background: #ff7624;
  524. }
  525. /*完成提交*/
  526. .detail .complete{
  527. margin: 60px auto 30px auto;
  528. text-align: center;
  529. }
  530. .detail .complete img{
  531. margin: -15px 20px 0 0;
  532. width: 45px;
  533. height: 45px;
  534. }
  535. .detail .complete span{
  536. font-size: 30px;
  537. font-weight: bold;
  538. color: #47b260;
  539. }
  540. .detail .txt-intro{
  541. margin-bottom: 34px;
  542. font-size: 12px;
  543. color: #969696;
  544. }
  545. .detail .look button{
  546. width: 140px;
  547. height: 34px;
  548. line-height: 34px;
  549. font-size: 16px;
  550. color: #fff;
  551. background: #ff7624;
  552. border-radius: 3px;
  553. border: none;
  554. outline: none;
  555. }
  556. .detail .look button:hover{
  557. background: #be3b1b;
  558. }
  559. .detail a.return{
  560. display: inherit;
  561. margin: 20px 0 60px 0;
  562. font-size: 16px;
  563. color: #1968f9;
  564. }
  565. .showEmpty{
  566. border: 1px dashed red;
  567. }
  568. .detail .list-item div.fl .item span.error{
  569. font-size: 12px;
  570. color: #f00;
  571. }
  572. .detail .list-item div.fl .item span.marginL100{
  573. margin-left: 100px;
  574. }
  575. .detail .list-item .simple span.error{
  576. font-size: 12px;
  577. color: #f00;
  578. }
  579. </style>
  580. <!-- loading start -->
  581. <div class="loading in" ng-class="{'in': loading}"><i></i></div>
  582. <!-- loading end -->
  583. <div class="content-wrapper" style="min-height: 924px;; z-index: 50;">
  584. <!-- Main content -->
  585. <section class="content">
  586. <div class="section">
  587. <div class="instruction"><span>公益项目申请</span><span>(以下所有信息均为必填项)</span></div>
  588. <div class="choose">
  589. <div class="chooseNav">
  590. <span class="step1 active">1、基本信息</span>
  591. <span class="step2 active">2、项目详情</span>
  592. <span class="step3">3、完成提交</span>
  593. </div>
  594. <form name="detailForm">
  595. <div class="chooseDetail">
  596. <!--项目详情-->
  597. <div class="detail">
  598. <div class="list-item clearfix">
  599. <span class="fl">项目主图</span>
  600. <div class="fl">
  601. <p>(为了让您的项目在不同终端下均能正常展示,请分别上传PC端和手机端的主图)</p>
  602. <div class="computer">
  603. <span>PC端主图</span>
  604. <button type="button">上传图片</button>
  605. <input type="file" ng-multiple="false" id="pcImg" accept="image/*" onchange='angular.element(this).scope().fileChanged(this, 0)'
  606. ng-class="{'showEmpty': submited && pcImgUrl == null && project.pcImg == null}"/>
  607. <em>(最能代表项目的焦点图,图片尺寸不小于500*280px,支持jpg,gif,png格式,不超过10MB)</em>
  608. <div ng-if="null != pcImgUrl" class="showImg">
  609. <img src="{{pcImgUrl}}">
  610. <span class="hover-show">
  611. <em class="delete" title="删除" ng-click="clearFile('pcImg')"><em class="fa fa-2x fa-trash"></em></em>
  612. <a ng-click="showImg('pcImg')" title="点击查看大图"><em class="fa fa-search" style="margin-right: 5px;"></em>查看</a>
  613. </span>
  614. </div>
  615. <span class="error" ng-show="submited && mobileImgUrl == null && project.mobileImg == null">*请上传PC端主图</span>
  616. </div>
  617. <div class="computer">
  618. <span>手机端主图</span>
  619. <button>上传图片</button>
  620. <input type="file" ng-multiple="false" id="mobileImg" accept="image/*" onchange='angular.element(this).scope().fileChanged(this, 1)'
  621. ng-class="{'showEmpty': submited && pcImgUrl == null && project.pcImg == null}"/>
  622. <em>(最能代表项目的焦点图,图片尺寸不小于500*280px,支持jpg,gif,png格式,不超过10MB)</em>
  623. <div ng-if="null != mobileImgUrl" class="showImg">
  624. <img src="{{mobileImgUrl}}">
  625. <span class="hover-show">
  626. <em class="delete" title="删除" ng-click="clearFile('mobileImg')"><em class="fa fa-2x fa-trash"></em></em>
  627. <a ng-click="showImg('mobileImg')" title="点击查看大图"><em class="fa fa-search" style="margin-right: 5px;"></em>查看</a>
  628. </span>
  629. </div>
  630. <span class="error" ng-show="submited && mobileImgUrl == null && project.mobileImg == null">*请上传手机端主图</span>
  631. </div>
  632. </div>
  633. </div>
  634. <div class="list-item clearfix" style="margin-top: -20px;">
  635. <span class="fl" style="margin-top: 30px;">手机列表图</span>
  636. <div class="fl">
  637. <div class="computer uploadImg">
  638. <button>上传图片</button>
  639. <input type="file" ng-multiple="false" id="mobileListImg" accept="image/*" onchange='angular.element(this).scope().fileChanged(this, 2)'
  640. ng-class="{'showEmpty': submited && mobileListImgUrl == null && project.mobileListImg == null}"/>
  641. <em>(最能代表项目的焦点图,图片尺寸不小于500*375像素以上,支持jpg,gif,png格式,不超过10MB)</em>
  642. <div ng-if="null != mobileListImgUrl" class="showImg" style="margin-left: -15px;">
  643. <img src="{{mobileListImgUrl}}">
  644. <span class="hover-show">
  645. <em class="delete" title="删除" ng-click="clearFile('mobileListImg')"><em class="fa fa-2x fa-trash"></em></em>
  646. <a ng-click="showImg('mobileListImg')" title="点击查看大图"><em class="fa fa-search" style="margin-right: 5px;"></em>查看</a>
  647. </span>
  648. </div>
  649. <span class="error" ng-show="submited && mobileListImgUrl == null && project.mobileListImg == null">*请上传手机列表图</span>
  650. </div>
  651. </div>
  652. </div>
  653. <div class="list-item clearfix">
  654. <span class="fl">发起人介绍</span>
  655. <div class="fl" style="margin: 5px 0 0 50px;">
  656. <span class="intro"></span>
  657. <div class="item clearfix">
  658. <span class="fl">姓名</span>
  659. <input type="text" class="form-control fl" name="projectPersonName" ng-maxlength="20" ng-model="project.personName" placeholder="不超过二十个字" required
  660. ng-class="{'showEmpty': submited && detailForm.projectPersonName.$error.required || submited && detailForm.projectPersonName.$error.maxlength}"/>
  661. <span class="error" ng-show="submited && detailForm.projectPersonName.$error.required">*姓名不能为空</span>
  662. <span class="error" ng-show="submited && detailForm.projectPersonName.$error.maxlength">*姓名字数过长</span>
  663. </div>
  664. <div class="item items clearfix">
  665. <span class="fl">头像</span>
  666. <div class="button fl">
  667. <button>上传图片</button>
  668. <input type="file" ng-multiple="false" id="logo" accept="image/*" onchange='angular.element(this).scope().fileChanged(this, 3)'
  669. ng-class="{'showEmpty': submited && logoUrl == null && project.logo == null}"/>
  670. <em>(图片尺寸不小于500*500px,不超过2MB)</em>
  671. <div ng-if="null != logoUrl" class="showImg" style="margin-left: 40px;">
  672. <img src="{{logoUrl}}">
  673. <span class="hover-show">
  674. <em class="delete" title="删除" ng-click="clearFile('logo')"><em class="fa fa-2x fa-trash"></em></em>
  675. <a ng-click="showImg('logo')" title="点击查看大图"><em class="fa fa-search" style="margin-right: 5px;"></em>查看</a>
  676. </span>
  677. </div>
  678. <span class="error" ng-show="submited && logoUrl == null && project.logo == null">*请上传手机列表图</span>
  679. </div>
  680. </div>
  681. <div class="item clearfix">
  682. <span class="fl">工作单位</span>
  683. <input type="text" class="form-control fl" name="projectWorkunit" ng-model="project.workunit" ng-maxlength="20" placeholder="不超过二十个字" required
  684. ng-class="{'showEmpty': submited && detailForm.projectWorkunit.$error.required || submited && detailForm.projectWorkunit.$error.maxlength}"/>
  685. <span class="error" ng-show="submited && detailForm.projectWorkunit.$error.required">*工作单位不能为空</span>
  686. <span class="error" ng-show="submited && detailForm.projectWorkunit.$error.maxlength">*工作单位字数过长</span>
  687. </div>
  688. <div class="item clearfix">
  689. <span class="fl">联系电话</span>
  690. <input type="text" class="form-control fl" name="projectPersonTel" ng-model="project.personTel" ng-maxlength="20" placeholder="填写联系电话" required
  691. ng-class="{'showEmpty': submited && detailForm.projectPersonTel.$error.required || submited && detailForm.projectPersonTel.$error.maxlength}"/>
  692. <span class="error" ng-show="submited && detailForm.projectPersonTel.$error.required">*联系电话不能为空</span>
  693. <span class="error" ng-show="submited && detailForm.projectPersonTel.$error.maxlength">*联系电话过长</span>
  694. </div>
  695. <div class="item clearfix">
  696. <span class="fl">个人简介</span>
  697. <textarea name="projectSummary" id="" cols="30" rows="10" ng-model="project.summary" ng-maxlength="60" placeholder="不超过六十个字" required
  698. ng-class="{'showEmpty': submited && detailForm.projectSummary.$error.required || submited && detailForm.projectSummary.$error.maxlength}"></textarea>
  699. <br/>
  700. <span class="error marginL100" ng-show="submited && detailForm.projectSummary.$error.required">*个人简介不能为空</span>
  701. <span class="error marginL100" ng-show="submited && detailForm.projectSummary.$error.maxlength">*个人简介过长</span>
  702. </div>
  703. </div>
  704. </div>
  705. <div class="list-item clearfix">
  706. <span class="fl">项目简介</span>
  707. <div class="fl simple">
  708. <textarea name="projectProSummary" cols="30" rows="10" ng-model="project.proSummary" ng-maxlength="27" placeholder="目的简单介绍,不超过27个字" required
  709. ng-class="{'showEmpty': submited && detailForm.projectProSummary.$error.required || submited && detailForm.projectProSummary.$error.maxlength}"></textarea>
  710. <br/>
  711. <span class="error" ng-show="submited && detailForm.projectProSummary.$error.required">*项目简介不能为空</span>
  712. <span class="error" ng-show="submited && detailForm.projectProSummary.$error.maxlength">*项目简介过长</span>
  713. </div>
  714. </div>
  715. <div class="list-item clearfix">
  716. <span class="fl">项目介绍</span>
  717. <div class="fl simple">
  718. <summernote lang="zh-CN" ng-model="project.introduction" height="300px"
  719. ng-class="{'showEmpty': submited && project.introduction == null}">
  720. 请填写介绍
  721. </summernote>
  722. <span class="error" ng-show="submited && project.introduction == null">*请填写项目介绍</span>
  723. </div>
  724. <div class="fl submitButton">
  725. <div class="sub">
  726. <button type="button" ng-click="saveDetail(project, true, detailForm.$invalid || !project.introduction ||
  727. (!pcImgUrl && !project.pcImg) || (!mobileImgUrl && !project.mobileImg) ||
  728. (!mobileListImgUrl && !project.mobileListImg) || (!logoUrl && !project.logo))">提交</button>
  729. <button type="button" ng-click="saveDetail(project, false)">保存草稿</button>
  730. </div>
  731. <a ui-sref="launchProject1">返回上一页</a>
  732. </div>
  733. </div>
  734. </div>
  735. </div>
  736. </form>
  737. </div>
  738. </div>
  739. </section>
  740. </div>
  741. <!--查看大图-->
  742. <div id="image-box" style="display: none;">
  743. <div class="x-close-wrap" title="关闭">
  744. <a href="javascript:void(0);">&times;</a>
  745. </div>
  746. <div class="x-floating-wrap"></div>
  747. <div class="x-floating">
  748. <img/>
  749. </div>
  750. </div>
  751. <script>
  752. $('.dropdown-toggle').click(function(){
  753. $(this).next('.dropdown-menu').toggle();
  754. })
  755. </script>
  756. <!--<script>-->
  757. <!--$('.right-nav').on('click', 'span', function () {-->
  758. <!--var index = $(this).index();-->
  759. <!--$(this).addClass('active').siblings().removeClass('active');-->
  760. <!--$('.right-list').eq(index).addClass('show').siblings().removeClass('show');-->
  761. <!--});-->
  762. <!--$(document).ready(function() {-->
  763. <!--$('#summernote').summernote({-->
  764. <!--lang: 'zh-CN',-->
  765. <!--placeholder: '请录入项目进项',-->
  766. <!--tabsize: 2,-->
  767. <!--width: 600,-->
  768. <!--height: 400,-->
  769. <!--callbacks: {-->
  770. <!--onImageUpload: function (files) { //the onImageUpload API-->
  771. <!--img = sendFile(files[0]);-->
  772. <!--}-->
  773. <!--}-->
  774. <!--});-->
  775. <!--});-->
  776. <!--function sendFile(file) {-->
  777. <!--var data = new FormData();-->
  778. <!--data.append("file", file);-->
  779. <!--console.log(data);-->
  780. <!--$.ajax({-->
  781. <!--data: data,-->
  782. <!--type: "POST",-->
  783. <!--url: '/projectconclude/upload',-->
  784. <!--cache: false,-->
  785. <!--contentType: false,-->
  786. <!--processData: false,-->
  787. <!--success: function(url) {-->
  788. <!--$("#summernote").summernote('insertImage', url, 'image name'); // the insertImage API-->
  789. <!--},-->
  790. <!--error:function(){-->
  791. <!--alert("上传失败!");-->
  792. <!--}-->
  793. <!--});-->
  794. <!--}-->
  795. <!--</script>-->