update.php 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288
  1. <?php use common\widgets\UeditorWidget; ?>
  2. <div class="page-title">
  3. <div class="title-env">
  4. <h1 class="title">修改培训班</h1>
  5. </div>
  6. <div class="breadcrumb-env">
  7. <ol class="breadcrumb bc-1">
  8. <li>
  9. <a href="/"><i class="fa-home"></i>Home</a>
  10. </li>
  11. <li>
  12. <a href="javascript:void(0)">花艺培训</a>
  13. </li>
  14. <li class="active">
  15. <strong>培训课程</strong>
  16. </li>
  17. </ol>
  18. </div>
  19. </div>
  20. <div class="row">
  21. <div class="col-sm-12">
  22. <div class="panel panel-default">
  23. <div class="panel-body">
  24. <form role="form" class="form-horizontal">
  25. <div class="form-group">
  26. <label class="col-sm-2 control-label">*班级名称:</label>
  27. <div class="col-sm-10">
  28. <input type="text" class="form-control" name="className" value="<?= $class['name'] ?>" placeholder="">
  29. <p></p>
  30. </div>
  31. </div>
  32. <div class="form-group">
  33. <label class="col-sm-2 control-label" for="field-1">*课程概要:</label>
  34. <div class="col-sm-10">
  35. <textarea name="classSummary" class="form-control" placeholder=""><?= $class['summary'] ?></textarea>
  36. <p></p>
  37. </div>
  38. </div>
  39. <div class="form-group">
  40. <label class="col-sm-2 control-label" for="field-1">*课程简介:</label>
  41. <div class="col-sm-10">
  42. <textarea name="classIntro" class="form-control" placeholder=""><?= $class['intro'] ?></textarea>
  43. <p></p>
  44. </div>
  45. </div>
  46. <div class="form-group">
  47. <label class="col-sm-2 control-label">*学费:</label>
  48. <div class="col-sm-10">
  49. <input type="number" class="form-control" name="classTuition" value="<?= $class['tuition'] ?>" placeholder="">
  50. <p></p>
  51. </div>
  52. </div>
  53. <div class="form-group">
  54. <label class="col-sm-2 control-label">*节课数:</label>
  55. <div class="col-sm-10">
  56. <input type="number" class="form-control" name="classLesson" value="<?= $class['lesson'] ?>" placeholder="">
  57. <p></p>
  58. </div>
  59. </div>
  60. <div class="form-group-separator"></div>
  61. <div name="courseList">
  62. <?php if(!empty($course)){ foreach($course as $key => $val){ ?>
  63. <div class="form-group" no="1">
  64. <label class="col-sm-2 control-label">*课程<?php echo $key+1; ?>:</label>
  65. <div class="col-sm-10">
  66. <input type="tel" class="form-control" name="courseName[]" value="<?= $val['name'] ?>" placeholder="名称">
  67. <textarea name="courseIntro[]" class="form-control" placeholder="简介" style="margin-top:5px;"><?= $val['intro'] ?></textarea>
  68. <p></p>
  69. </div>
  70. </div>
  71. <?php } }?>
  72. </div>
  73. <div style="padding-bottom:8px;font-size:13px;">
  74. <div class="form-group">
  75. <label class="col-sm-2 control-label"> </label>
  76. <div class="col-sm-10" name="addCourse" style="cursor:pointer;">
  77. <li class="fa-plus"></li> 增加课程
  78. </div>
  79. </div>
  80. </div>
  81. <div class="form-group" style="text-align:center;">
  82. <!-- <button type="button" onclick="addSubmit('click',this)" class="btn btn-info btn-single">确认</button> -->
  83. <button type="button" onclick="history.go(-1);" class="btn btn-info btn-single">返回</button>
  84. </div>
  85. </form>
  86. </div>
  87. </div>
  88. </div>
  89. </div>
  90. <!-- footer -->
  91. <?php
  92. use backend\widgets\FooterWidget;
  93. ?>
  94. <?= FooterWidget::widget()?>
  95. <!-- footer -->
  96. <script>
  97. //增加课程
  98. $("div[name=addCourse]").click(function(){
  99. var courseList = $("div[name=courseList]");
  100. var num = $("div[name=courseList] > div").length;
  101. num++;
  102. if(num > 30){
  103. xhPopMsg('最多只能添加30个课程',1300);
  104. return;
  105. }
  106. var courseHtml = '<div class="form-group" no="'+num+'">\
  107. <label class="col-sm-2 control-label">*课程'+num+':</label>\
  108. <div class="col-sm-10">\
  109. <input type="tel" class="form-control" name="courseName[]" placeholder="名称" style="width:85%;display:inline-block;"> <li onclick="delCourse(this,'+num+')" style="cursor:pointer;font-size:130%" class="fa-trash"></li>\
  110. <textarea name="courseIntro[]" class="form-control" placeholder="简介" style="margin-top:5px;"></textarea>\
  111. <p></p>\
  112. </div>\
  113. </div>';
  114. courseList.append(courseHtml);
  115. });
  116. //删除课程
  117. function delCourse()
  118. {
  119. var o = arguments[0];
  120. var no = arguments[1];
  121. var num = $("div[name=courseList] > div").length;
  122. if(no < num){
  123. xhPopMsg('请从最后面开始删除课程',1300);
  124. return;
  125. }
  126. $(o).parent().parent().remove();
  127. }
  128. //添加课程验证流程
  129. var className = $("input[name=className]");
  130. var classSummary = $("textarea[name=classSummary]");
  131. var classIntro = $("textarea[name=classIntro]");
  132. var classTuition = $("input[name=classTuition]");
  133. var classLesson = $("input[name=classLesson]");
  134. var needValidate = [className,classSummary,classIntro,classTuition,classLesson];
  135. //添加课程验证流程
  136. addSubmit();
  137. function addSubmit()
  138. {
  139. setStats(className, '请填写课程名称', function(val, mess){
  140. var info=[false, mess];
  141. if(val.length <= 0){
  142. info[1] = '请填写课程名称';
  143. }else if(getLength(val) >=0 && getLength(val) <=40){
  144. info[0] = true;
  145. info[1] = '填写正确';
  146. }else{
  147. info[0] = false;
  148. }
  149. return info;
  150. });
  151. setStats(classSummary, '请填写课程概要', function(val, mess){
  152. var info=[false, mess];
  153. if(val.length <= 0){
  154. info[1] = '请填写课程概要';
  155. }else if(getLength(val) >=0 && getLength(val) <=40){
  156. info[0] = true;
  157. info[1] = '填写正确';
  158. }else{
  159. info[0] = false;
  160. }
  161. return info;
  162. });
  163. setStats(classIntro, '请填写课程简介', function(val, mess){
  164. var info=[false, mess];
  165. if(val.length <= 0){
  166. info[1] = '请填写课程简介';
  167. }else if(getLength(val) >=0 && getLength(val) <=40){
  168. info[0] = true;
  169. info[1] = '填写正确';
  170. }else{
  171. info[0] = false;
  172. }
  173. return info;
  174. });
  175. setStats(classTuition, '请填写学费', function(val, mess){
  176. var info=[false, mess];
  177. if(val.length <= 0){
  178. info[1] = '请填写学费';
  179. }else if(getLength(val) >=0 && getLength(val) <=40){
  180. info[0] = true;
  181. info[1] = '填写正确';
  182. }else{
  183. info[0] = false;
  184. }
  185. return info;
  186. });
  187. setStats(classLesson, '请填写节课数', function(val, mess){
  188. var info=[false, mess];
  189. if(val.length <= 0){
  190. info[1] = '请填写节课数';
  191. }else if(getLength(val) >=0 && getLength(val) <=40){
  192. info[0] = true;
  193. info[1] = '填写正确';
  194. }else{
  195. info[0] = false;
  196. }
  197. return info;
  198. });
  199. if(arguments[0] == 'click'){//用户点击提交
  200. var submitButton = arguments[1];//获取提交按钮对象
  201. var submitButtonObj = $(submitButton);
  202. if(submitButtonObj.attr('submitStatus') == 'yes'){
  203. xhPopMsg('表单已经提交成功,不允许重复提交');
  204. return;
  205. }
  206. submitButtonObj.attr('submitStatus','yes');
  207. setTimeout(function(){
  208. submitButtonObj.attr('submitStatus','no');
  209. },3000);
  210. var verifyStatus = true;
  211. for(var m=0;m<needValidate.length;m++){
  212. var singleObj = needValidate[m];
  213. if(singleObj.attr('addStatus') == undefined){
  214. singleObj.blur();
  215. }
  216. if(singleObj.attr('addStatus') == 'no'){
  217. verifyStatus = false;
  218. continue;
  219. }
  220. }
  221. if(verifyStatus == false){
  222. return;
  223. }
  224. var courseString = '';
  225. $("div[name=courseList] > div").each(function(){
  226. var oneCourseName = $(this).find("input");
  227. var oneCourseIntro = $(this).find("textarea");
  228. var oneCourseNameVal = oneCourseName.val();
  229. var oneCourseIntroVal = oneCourseIntro.val();
  230. if(oneCourseNameVal.length <= 0){
  231. xhPopMsg('课程名不能留空哦~');
  232. verifyStatus = false;
  233. return false;
  234. }
  235. courseString += oneCourseNameVal+'|{-}|'+oneCourseIntroVal+'|{=}|'
  236. });
  237. if(verifyStatus == false){
  238. return;
  239. }
  240. var data = "&_csrf=<?= Yii::$app->request->csrfToken ?>&courseString="+courseString;
  241. data += "&className="+className.val()+"&classSummary="+classSummary.val()+"&classIntro="+classIntro.val()+"&classTuition="+classTuition.val()+"&classLesson="+classLesson.val();
  242. $.ajax({type:"POST",url:'/class/save-add',data:data,dataType:'json',async:false,success:function(data){
  243. if(data.code == 'A0001'){
  244. xhPopMsg(data.msg,1300);
  245. setTimeout(function(){
  246. //window.location.href='/class/list';
  247. },1400);
  248. }
  249. }
  250. });
  251. }
  252. }
  253. function setStats(obj,mess,check)
  254. {
  255. obj.focus(function(){
  256. $(this).removeAttr('addStatus');
  257. $(this).siblings('p').removeClass('help-error-mention').html('');
  258. $(this).parent().parent().removeClass("has-success").removeClass('has-error');
  259. });
  260. obj.blur(function(){
  261. var objVal = obj.val();
  262. var info = check(objVal,mess);
  263. if(info[0]){
  264. $(this).attr('addStatus','yes');
  265. $(this).siblings('p').removeClass('help-error-mention').html('');
  266. $(this).parent().parent().addClass("has-success").removeClass("has-error");
  267. }else{
  268. $(this).attr('addStatus','no');
  269. $(this).siblings('p').addClass('help-error-mention').html(info[1]);
  270. $(this).parent().parent().addClass("has-error").removeClass("has-success");
  271. }
  272. });
  273. }
  274. </script>