20d6d741e940e0975b430038dc20a89f87d8f558.svn-base 19 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057
  1. var editors = [];
  2. $(document).ready(function()
  3. {
  4. init();
  5. });
  6. function init()
  7. {
  8. edit();
  9. del();
  10. checkbox();
  11. image();
  12. change();
  13. autocomplete();
  14. template();
  15. submit();
  16. loadShow();
  17. initEditor();
  18. //更新页面一些功能,上边的一些功能等找时间再优化吧
  19. Maze_update.init();
  20. }
  21. function initEditor()
  22. {
  23. if($('.editor').length)
  24. {
  25. $('.editor').each(function()
  26. {
  27. var parent = $(this).parent().parent();
  28. //alert(parent.attr('id'));
  29. if(parent.attr('id') && parent.attr('id').indexOf('-child-0') != -1)
  30. {
  31. return;
  32. }
  33. loadEditor($(this));
  34. })
  35. }
  36. }
  37. function loadEditor(e)
  38. {
  39. if(!e.length)
  40. {
  41. return;
  42. }
  43. var id = e.attr('id');
  44. var key = e.attr('key');
  45. if(typeof(UM) == "undefined")
  46. {
  47. var u = UE;
  48. }
  49. else
  50. {
  51. var u = UM;
  52. }
  53. if(typeof(editors[id]) == "undefined")
  54. {
  55. editors[id] = u.getEditor(id,
  56. {
  57. imageUrl : config.upload + '.ueditor?key=' + key
  58. });
  59. }
  60. }
  61. //更新页面的提交按钮
  62. function submit()
  63. {
  64. if($(".save-data").length)
  65. {
  66. $(".save-data").bind('click', function()
  67. {
  68. $(".form1").submit();
  69. //$(this).unbind('click');
  70. })
  71. }
  72. }
  73. //头部菜单
  74. function topMenu(e)
  75. {
  76. var p = e.parent().parent().parent().find('span');
  77. p.html(e.html());
  78. //更新当前的精细权限
  79. var url = config.host + 'top.update_action?json=1';
  80. var id = e.attr('data-id');
  81. $.post(url, {id:id}, function(t)
  82. {
  83. if(location.href.indexOf('where_id') != -1)
  84. {
  85. var href = location.href.split('where_id');
  86. location.href = href[0] + 'where_id=' + t;
  87. }
  88. else
  89. {
  90. location.reload();
  91. }
  92. })
  93. }
  94. //更新页面的批量载入选择
  95. function loadShow()
  96. {
  97. if($(".show_input").length)
  98. {
  99. $(".show_input input").each(function()
  100. {
  101. if($(this).attr('checked'))
  102. {
  103. $(this).click().attr('checked',true);
  104. }
  105. })
  106. }
  107. }
  108. function inputShow(e,n)
  109. {
  110. var item = e.parent().find('input');
  111. $(".show_" + n).hide();
  112. var array = ['input', 'textarea'];
  113. for(var a in array)
  114. {
  115. $(".show_" + n).find(array[a]).removeClass('validate[required]');
  116. }
  117. item.each(function()
  118. {
  119. if($(this).get(0).checked == true)
  120. {
  121. inputShowOne($(this),n);
  122. }
  123. });
  124. }
  125. function inputShowOne(e,n)
  126. {
  127. var value = e.val();
  128. //$(".show_" + n).hide();
  129. //$(".show_" + n + '_' + value).attr('style','color:red').show();
  130. $(".show_" + n + '_' + value).show();
  131. var array = ['input', 'textarea'];
  132. for(var a in array)
  133. {
  134. if($(".show_" + n + '_' + value).length && $(".show_" + n + '_' + value).attr('class').indexOf('show_no') == -1)
  135. {
  136. $(".show_" + n + '_' + value).find(array[a]).each(function()
  137. {
  138. var parent = $(this).parent();
  139. if($(this).attr('class') != 'editor' && parent.find('label').length && parent.find('label').html().indexOf('选填') == -1)
  140. {
  141. $(this).addClass('validate[required]');
  142. }
  143. })
  144. }
  145. }
  146. }
  147. //批量更新
  148. function list_mul(e)
  149. {
  150. var type = parseInt($("#mul_type").val());
  151. if(type != 1 && type != 2)
  152. {
  153. alert('您还没有选择数据更新方式');
  154. return;
  155. }
  156. if(confirm('确定进行此项操作吗?'))
  157. {
  158. //e.html('更新中').unbind('click');
  159. $('#method').val('mul');
  160. $('#function').val('msg');
  161. $('#form1').attr('target', 'f1').submit();
  162. }
  163. }
  164. //搜索
  165. function list_search(e)
  166. {
  167. $('#method').val('search');
  168. $('#function').val('');
  169. $('#form1').attr('target', '').submit();
  170. }
  171. //更新数据
  172. function update(e, id, key, table)
  173. {
  174. if(confirm('您这项操作将更改当前的选项,请确认是否继续进行?'))
  175. {
  176. var col = e.attr('name');
  177. var value = e.val();
  178. var url = config.host + 'database.update_action?json=1';
  179. $.post(url, {where_id:id,col:col,value:value,key:key,table:table}, function(t)
  180. {
  181. alert('操作成功');
  182. })
  183. }
  184. }
  185. //模板选择
  186. function template()
  187. {
  188. if(config.template)
  189. {
  190. $('body').attr('class', 'theme-' + config.template);
  191. }
  192. if($(".selector").length)
  193. {
  194. $(".selector").each(function()
  195. {
  196. if($(this).data('check') == 'checked')
  197. {
  198. selector($(this));
  199. }
  200. })
  201. }
  202. }
  203. //选择器
  204. function selector(e)
  205. {
  206. var value = e.data('value');
  207. var name = e.data('name');
  208. $('#'+name+'_value').val(value);
  209. $('.'+name+'_selector').children().css({'border':'1px solid #ccc'});
  210. e.children().css({'border':'1px solid black'});
  211. if(name == 'update_template')
  212. {
  213. $('body').attr('class', 'theme-' + value);
  214. }
  215. }
  216. function autocomplete()
  217. {
  218. if($("input[complete]").length)
  219. {
  220. $("input[complete]").each(function()
  221. {
  222. var cache = {};
  223. var self = $(this);
  224. self.autocomplete(
  225. {
  226. minLength: 2,
  227. source: function( request, response )
  228. {
  229. var term = request.term;
  230. if ( term in cache ) {
  231. response( cache[ term ] );
  232. return;
  233. }
  234. $.getJSON(self.attr('complete') + '&callback=?', request, function( data, status, xhr ) {
  235. console.info(data);
  236. cache[ term ] = data;
  237. response( data );
  238. });
  239. }
  240. });
  241. })
  242. }
  243. }
  244. //后台头部提示
  245. function top_msg(value)
  246. {
  247. }
  248. //后台通用的提示
  249. function msg(value)
  250. {
  251. var url = '';
  252. if(value.msg != 'reload' && value.status == 2)
  253. {
  254. submit();
  255. //showAlert(value.msg);
  256. alert(value.msg);
  257. location.reload();
  258. return;
  259. }
  260. else
  261. {
  262. if(value.msg.indexOf('http://') != -1)
  263. {
  264. url = value.msg;
  265. }
  266. else if($("#url").length)
  267. {
  268. url = $("#url").val();
  269. }
  270. else
  271. {
  272. //showAlert(value.msg);
  273. return;
  274. }
  275. if(url)
  276. {
  277. location.href = url;
  278. }
  279. else
  280. {
  281. location.reload();
  282. }
  283. }
  284. return;
  285. }
  286. /**
  287. * 处理多选问题,处理全选按钮
  288. */
  289. function checkbox()
  290. {
  291. var name = 'checkbox-checkall';
  292. var checkbox = $("." + name);
  293. if(checkbox.length)
  294. {
  295. checkbox.click(function()
  296. {
  297. var self = $(this);
  298. $("." + name + "-" + self.val()).each(function()
  299. {
  300. $(this).get(0).checked = self.get(0).checked;
  301. var next = $(this).next();
  302. if($(this).get(0).checked == true)
  303. {
  304. if(next.length)
  305. {
  306. next.attr('disabled', false);
  307. }
  308. if($("#mul_type").length)
  309. {
  310. $("#mul_type").val(1);
  311. }
  312. }
  313. else
  314. {
  315. if(next.length)
  316. {
  317. next.attr('disabled', true);
  318. }
  319. if($("#mul_type").length)
  320. {
  321. $("#mul_type").val(0);
  322. }
  323. }
  324. })
  325. });
  326. checkbox.each(function()
  327. {
  328. var self = $(this);
  329. $("." + name + "-" + self.val()).each(function()
  330. {
  331. $(this).click(function()
  332. {
  333. var next = $(this).next();
  334. if($(this).get(0).checked == true)
  335. {
  336. self.get(0).checked = true;
  337. if(self.attr('type') == 'radio')
  338. {
  339. //如果父选项是radio类型,做下限制
  340. //alert(1);
  341. }
  342. if($("#mul_type").length)
  343. {
  344. $("#mul_type").val(1);
  345. }
  346. if(next.length)
  347. {
  348. next.attr('disabled', false);
  349. }
  350. }
  351. else
  352. {
  353. //子选项取消时,处理一下父级选项
  354. var num = 0;
  355. $("." + name + "-" + self.val()).each(function()
  356. {
  357. if($(this).get(0).checked == true)
  358. {
  359. num = 1;
  360. }
  361. });
  362. if(num == 0)
  363. {
  364. self.get(0).checked = false;
  365. if($("#mul_type").length)
  366. {
  367. $("#mul_type").val(0);
  368. }
  369. }
  370. if(next.length)
  371. {
  372. next.attr('disabled', true);
  373. }
  374. }
  375. })
  376. if($(this).get(0).checked == true)
  377. {
  378. self.get(0).checked = true;
  379. }
  380. });
  381. })
  382. }
  383. }
  384. /**
  385. * 处理双击编辑
  386. */
  387. function edit()
  388. {
  389. if($(".edit").length)
  390. {
  391. $(".edit").each(function()
  392. {
  393. $(this).bind('dblclick', function()
  394. {
  395. var col = $(this).attr('data-col');
  396. var key = $(this).attr('data-key');
  397. var table = $(this).attr('data-table');
  398. var url = $(this).attr('data-url');
  399. var id = $(this).attr('data-id');
  400. var html = $(this).attr('data-content');
  401. var type = $(this).attr('data-type');
  402. if($(this).find(".edit-content").length)
  403. {
  404. html = $(this).find(".edit-content").html();
  405. html = html.replace('<!--', '<');
  406. html = html.replace('-->', '>');
  407. }
  408. if(html.indexOf('input') == -1)
  409. {
  410. if(type && type == 'textarea')
  411. {
  412. $(this).html('<textarea type="text" name="edit" id="edit" rows="20" cols="80">'+html+'</textarea>');
  413. }
  414. else
  415. {
  416. $(this).html('<input type="text" name="edit" id="edit" value="'+html+'">');
  417. }
  418. var self = $(this);
  419. self.find("#edit").blur(function()
  420. {
  421. var value = self.find("#edit").val();
  422. if(!value)
  423. {
  424. alert('不能为空');
  425. return;
  426. }
  427. if($(this).find(".edit-content").length)
  428. {
  429. $(this).find(".edit-content").html(value);
  430. }
  431. else
  432. {
  433. self.attr('data-content', value);
  434. }
  435. self.html(value);
  436. $.post(url, {key:key,table:table,value:value,where_id:id,col:col}, function(t)
  437. {
  438. top_msg('修改成功');
  439. /*
  440. if(type && type == 'textarea')
  441. {
  442. self.html(t);
  443. }
  444. */
  445. })
  446. })
  447. }
  448. });
  449. })
  450. }
  451. }
  452. function del()
  453. {
  454. if($(".oper_6").length)
  455. {
  456. $(".oper_6").each(function()
  457. {
  458. var href = $(this).attr('href');
  459. $(this).attr('href', '#');
  460. $(this).unbind('click');
  461. $(this).bind('click', function()
  462. {
  463. del_act(href);
  464. });
  465. })
  466. }
  467. }
  468. /**
  469. * 处理删除
  470. */
  471. function del_act(href)
  472. {
  473. if(confirm('确定进行此项操作吗?'))
  474. {
  475. $.getJSON(href, {}, function(t)
  476. {
  477. msg(t);
  478. })
  479. }
  480. }
  481. /**
  482. * 处理特殊加载的按钮
  483. */
  484. function load(href)
  485. {
  486. if(confirm('确定进行此项操作吗?'))
  487. {
  488. $.getJSON(href + '&callback=?', {}, function(t)
  489. {
  490. //msg(t);
  491. location.reload();
  492. })
  493. }
  494. /*
  495. showAlert('确定进行此项操作吗?', function()
  496. {
  497. $("#maze_modal_no").click();
  498. $.getJSON(href + '&json=1', {}, function(t)
  499. {
  500. msg(t);
  501. })
  502. });
  503. */
  504. }
  505. /**
  506. * 处理特殊加载的按钮
  507. */
  508. function jump(href)
  509. {
  510. location.href = href;
  511. }
  512. /**
  513. * 处理change
  514. */
  515. function change()
  516. {
  517. if($(".change").length)
  518. {
  519. $(".change").each(function()
  520. {
  521. var key = $(this).attr('data-child');
  522. /*
  523. $('.' + key).each(function()
  524. {
  525. if($(this).find('select option:selected').val())
  526. {
  527. $(this).show();
  528. $('#set_cate_id_child').get(0).value = $(this).attr('parent');
  529. }
  530. });
  531. */
  532. $(this).change(function()
  533. {
  534. $('.' + key).hide();
  535. var v = $('.' + key + '_' + $(this).val());
  536. var s = v.find('select');
  537. s.change(function()
  538. {
  539. $('.' + key + '_value').val($(this).val());
  540. })
  541. if(v.length)
  542. {
  543. $('.' + key + '_value').val(s.val());
  544. v.show();
  545. }
  546. else
  547. {
  548. $('.' + key + '_value').val(-1);
  549. }
  550. });
  551. if($(this).val() > 0)
  552. {
  553. $(this).change();
  554. }
  555. });
  556. }
  557. }
  558. /**
  559. * 处理图库系统
  560. */
  561. function image()
  562. {
  563. if($(".image_upload").length)
  564. {
  565. $(".image_upload").each(function(i)
  566. {
  567. var parent = $(this).parent().parent();
  568. //alert(parent.attr('id'));
  569. if(parent.attr('id') && parent.attr('id').indexOf('-child-0') != -1)
  570. {
  571. return;
  572. }
  573. loadUpload(i,$(this),$(this).attr('key'),config.upload + '.start', config.lib + 'upload/');//三个参数说明1:第几个上传框2:文件对象3:图片的基本配置标题
  574. })
  575. }
  576. }
  577. /**
  578. * 修改密码
  579. */
  580. function pass(e)
  581. {
  582. var html = '<style>.password_edit div{margin:10px;}.password_edit input{width:200px;}</style><div class="password_edit">';
  583. html += '<div><span>旧密码:</span><input type="password" class="form-control" id="edit_old_password" /></div>';
  584. html += '<div><span>新密码:</span><input type="password" class="form-control" id="edit_new_password" /></div>';
  585. html += '</div>';
  586. $('#maze_modal_body').html(html);
  587. $('#maze_modal_title').html('修改密码');
  588. $("#maze_modal_yes").unbind('click').bind('click', function()
  589. {
  590. var old_password = $("#edit_old_password").val();
  591. var new_password = $("#edit_new_password").val();
  592. if(!old_password || !new_password)
  593. {
  594. alert('请输入密码');
  595. return;
  596. }
  597. if(old_password == new_password)
  598. {
  599. alert('旧密码和新密码相同');
  600. return;
  601. }
  602. $.post(config.host + 'auth.password', {old:old_password,new:new_password}, function(t)
  603. {
  604. alert(t);
  605. $("#maze_modal_no").click();
  606. })
  607. })
  608. }
  609. var MSG = [];
  610. /**
  611. * 打开弹窗
  612. */
  613. function showMsg(title, e, id, func)
  614. {
  615. var html = $(id).html();
  616. if($(id).html())
  617. {
  618. var html = $(id).html();
  619. MSG[id] = html;
  620. $(id).html('');
  621. }
  622. else
  623. {
  624. var html = MSG[id];
  625. }
  626. $('#maze_modal_body').html(html);
  627. $('#maze_modal_title').html(title);
  628. if(func)
  629. {
  630. $("#maze_modal_yes").unbind('click').bind('click', func);
  631. }
  632. }
  633. function showAlert(msg, func)
  634. {
  635. //$("#maze_modal_no").click();
  636. $("#maze_modal").modal();
  637. $('#maze_modal_body').html(msg);
  638. $('#maze_modal_title').html('提醒您');
  639. if(func)
  640. {
  641. $("#maze_modal_yes").unbind('click').bind('click', func);
  642. }
  643. else
  644. {
  645. $("#maze_modal_yes").unbind('click').bind('click', function(){$("#maze_modal_no").click()});
  646. }
  647. }
  648. /*
  649. var test =
  650. {
  651. refreshPage: false,
  652. addAjaxFlag: true,
  653. //添加收藏
  654. add: function(cfg)
  655. {
  656. }
  657. }
  658. */
  659. function showToggle(e)
  660. {
  661. var id = e.attr('toggle');
  662. var child = e.attr('toggle_child');
  663. var parent = e.parent();
  664. parent.parent().find('li').removeClass('active');
  665. parent.addClass('active');
  666. $(child).fadeOut(100);
  667. $(id).fadeIn(500);
  668. loadEditor($(id).find('.editor'));
  669. }
  670. //处理更新页面的一些功能,写到一起吧
  671. var Maze_update =
  672. {
  673. addIndex : 2,
  674. index : [],
  675. auto : false,
  676. save_key : '',
  677. init : function()
  678. {
  679. var self = this;
  680. // 增加整个更新的表单
  681. if($(".maze_update_add").length)
  682. {
  683. $('.maze_update_add').unbind('click').bind('click', function()
  684. {
  685. self.add($(this));
  686. })
  687. }
  688. /* 以后再增加 同时更新另外一个表
  689. if($(".form-add-content").length)
  690. {
  691. var url = config.host + 'auth.password';
  692. var url = 'http://localhost/mazephp/manage/?database.update?key=weixin&table=message&menu=weixin&menu_id=39&ajax=1';
  693. $.get(url, function(t)
  694. {
  695. $(".form-add-content").html(t);
  696. init();
  697. })
  698. }
  699. */
  700. //增加某一部分表单
  701. if($(".maze_form_add").length)
  702. {
  703. $('.maze_form_add').each(function()
  704. {
  705. var key = $.attr('toggle_key');
  706. if(typeof(self.index[key]) == "undefined")
  707. {
  708. self.index[key] = 0;
  709. }
  710. $(this).unbind('click').bind('click', function()
  711. {
  712. self.append($(this));
  713. })
  714. })
  715. self.del();
  716. }
  717. // 开启自动保存
  718. if($("#struct").length)
  719. {
  720. var save = $("#struct").attr('save');
  721. if(save == 'yes')
  722. {
  723. //检测
  724. self.save_key = location.href + 'test';
  725. self.check();
  726. }
  727. }
  728. },
  729. save : function()
  730. {
  731. //var data = $("#data-1").html();
  732. var data = [];
  733. $(".update_value").each(function(i)
  734. {
  735. if($(this).attr("update_type") == 'checked')
  736. {
  737. data[i] = $(this).get(0).checked;
  738. }
  739. else if($(this).attr("update_type") == 'html')
  740. {
  741. data[i] = $(this).html();
  742. }
  743. else if($(this).attr("update_type") == 'src')
  744. {
  745. data[i] = $(this).attr('src');
  746. }
  747. else
  748. {
  749. data[i] = $(this).val();
  750. }
  751. });
  752. store.set(this.save_key, data.join('|||'));
  753. //console.info(data);
  754. },
  755. recover : function()
  756. {
  757. if(confirm('确定恢复上次保存的数据吗?'))
  758. {
  759. var data = store.get(this.save_key).split('|||');
  760. if(data)
  761. {
  762. var value = $(".update_value");
  763. for(var k in data)
  764. {
  765. var e = value.eq(k);
  766. if(e.attr('update_type') == 'checked')
  767. {
  768. if(data[k] == 'true')
  769. {
  770. e.get(0).checked = true;
  771. }
  772. else
  773. {
  774. e.get(0).checked = false;
  775. }
  776. }
  777. else if(e.attr('update_type') == 'html')
  778. {
  779. e.html(data[k]);
  780. }
  781. else if(e.attr('update_type') == 'src')
  782. {
  783. e.attr('src', data[k]);
  784. }
  785. else
  786. {
  787. if(e.attr('id'))
  788. {
  789. var id = e.attr('id');
  790. if(typeof(editors[id]) != "undefined")
  791. {
  792. editors[id].setContent(data[k]);
  793. }
  794. }
  795. e.val(data[k]);
  796. }
  797. }
  798. store.set(this.save_key, '');
  799. this.check();
  800. }
  801. }
  802. },
  803. check : function()
  804. {
  805. var data = store.get(this.save_key);
  806. var self = this;
  807. if(data)
  808. {
  809. $(".maze_save").unbind('click').bind('click', function()
  810. {
  811. self.recover();
  812. }).show();
  813. }
  814. else
  815. {
  816. $(".maze_save").hide();
  817. self.auto = setInterval(function(){self.save()}, 3000);
  818. }
  819. },
  820. del : function()
  821. {
  822. var self = this;
  823. if($(".maze_form_delete").length)
  824. {
  825. $('.maze_form_delete').each(function()
  826. {
  827. $(this).unbind('click').bind('click', function()
  828. {
  829. var parent = $(this).parent();
  830. var id = parent.attr('id');
  831. var index = parseInt($('#tab-' + id).attr('toggle_id'));
  832. var key = $('#tab-' + id).attr('toggle_key');
  833. if(index <= 1 && self.index[key] <= index)
  834. {
  835. }
  836. else if(index <= 1 && self.index[key] > index)
  837. {
  838. index = index+1;
  839. $("#tab-"+key+"-child-" + index).click();
  840. }
  841. else
  842. {
  843. index = index-1;
  844. $("#tab-"+key+"-child-" + index).click();
  845. };
  846. $('#tab-' + id).parent().remove();
  847. parent.remove();
  848. })
  849. })
  850. }
  851. },
  852. append : function(e)
  853. {
  854. var self = this;
  855. var key = e.attr('toggle_key');
  856. var child = '.maze_'+key+'_child';
  857. if(typeof(self.index[key]) == "undefined")
  858. {
  859. self.index[key] = 0;
  860. }
  861. if(self.index[key] <= 0)
  862. {
  863. self.index[key] = $(child).length;
  864. }
  865. if(self.index[key] > 10)
  866. {
  867. alert('最多只能增加10条');
  868. return;
  869. }
  870. var p = e.parent();
  871. var id = key + '-child-' + self.index[key];
  872. var name = '第' + (self.index[key]) + '条';
  873. p.before('<li><a href="javascript:;" id="tab-'+id+'" toggle_key="'+key+'" toggle_id="'+self.index[key]+'" toggle_child="'+child+'" toggle="#'+id+'" onclick="showToggle($(this))">'+name+'</a></li>');
  874. var e = e.parent().parent();
  875. var n = e.next();
  876. var p = e.parent();
  877. var content = n.html();
  878. content = content.replaceAll('_c_', '_c_' + self.index[key] + '_i_');
  879. content = '<div id="'+id+'" style="display:none;" class="'+n.attr('class')+' maze_form_add_child">' + content + '</div>';
  880. p.append(content);
  881. self.del();
  882. //$("html,body").animate({scrollTop:$('.maze_form_add_child').eq(this.appendIndex).offset().top},500);
  883. self.index[key]++;
  884. image();
  885. loadShow();
  886. autocomplete();
  887. change();
  888. },
  889. add : function(e)
  890. {
  891. var self = this;
  892. var p = e.parent();
  893. var id = 'data-' + this.addIndex;
  894. var name = '新增数据-' + (this.addIndex-1);
  895. p.before('<li><a href="#'+id+'" data-toggle="tab">'+name+'</a></li>');
  896. var content = $("#myTabContent").find('.tab-pane').eq(0).html();
  897. content = content.replaceAll('update_', 'update_' + this.addIndex + '__');
  898. content = '<div class="tab-pane fade" id="'+id+'">' + content + '</div>';
  899. $("#myTabContent").append(content);
  900. $('#update_' + this.addIndex + '__where_id').val('-1');
  901. this.addIndex++;
  902. }
  903. }
  904. String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {
  905. if (!RegExp.prototype.isPrototypeOf(reallyDo)) {
  906. return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith);
  907. } else {
  908. return this.replace(reallyDo, replaceWith);
  909. }
  910. }
  911. Array.prototype.remove = function(val) {
  912. var index = -1;
  913. for(var i = 0; i < this.length; i++)
  914. {
  915. if(this[i] == val)
  916. {
  917. index = i;
  918. }
  919. }
  920. if (index > -1) {
  921. this.splice(index, 1);
  922. }
  923. };