rock_option.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <?php if(!defined('HOST'))die('not access');?>
  2. <script >
  3. $(document).ready(function(){
  4. {params};
  5. var num = params.num,pid,optlx=0,dpid=0,nowid=0;
  6. var at = $('#optionview_{rand}').bootstable({
  7. tablename:'option',celleditor:true,sort:'sort',dir:'asc',url:js.getajaxurl('getlist', 'option', 'system'),
  8. params:{num:num,name:nowtabs.name},
  9. columns:[{
  10. text:'名称',dataIndex:'name',align:'left'
  11. },{
  12. text:'编号',dataIndex:'num'
  13. },{
  14. text:'序号',dataIndex:'sort',editor:true,sortable:true
  15. },{
  16. text:'ID',dataIndex:'id'
  17. }],
  18. itemclick:function(ad,oi,e){
  19. //c.showmenu(ad,e);
  20. },
  21. itemdblclick:function(ad,oi,e){
  22. c.zhankai(ad);
  23. },
  24. load:function(ad){
  25. pid = ad.pid;
  26. if(dpid==0)dpid=pid;
  27. }
  28. });
  29. var a = $('#view_{rand}').bootstable({
  30. tablename:'option',celleditor:true,sort:'sort',dir:'asc',modedir:'{mode}:{dir}',storeafteraction:'downshuafter',
  31. autoLoad:false,where:'and pid=-1',bodyStyle:'height:'+(viewheight-72)+'px;overflow:auto',
  32. columns:[{
  33. text:'名称',dataIndex:'name',sortable:true,editor:true
  34. },{
  35. text:'对应值',dataIndex:'value',editor:true,sortable:true
  36. },{
  37. text:'编号',dataIndex:'num',editor:true
  38. },{
  39. text:'排序号',dataIndex:'sort',editor:true,sortable:true
  40. },{
  41. text:'下级数',dataIndex:'dcount'
  42. },{
  43. text:'启用',dataIndex:'valid',type:'checkbox',editor:true
  44. },{
  45. text:'说明',dataIndex:'explain',type:'textarea',editor:true,align:'left'
  46. },{
  47. text:'ID',dataIndex:'id'
  48. },{
  49. text:'',dataIndex:'optd',renderer:function(v,d,oi){
  50. var s = '&nbsp;';
  51. s='<a href="javascript:;" onclick="zhankai{rand}('+oi+')">展开</a>';
  52. return s;
  53. }
  54. }],
  55. load:function(){
  56. get('add_{rand}').disabled=false;
  57. get('del_{rand}').disabled=true;
  58. },
  59. itemclick:function(){
  60. get('del_{rand}').disabled=false;
  61. },
  62. beforeload:function(){
  63. get('del_{rand}').disabled=true;
  64. }
  65. });
  66. zhankai{rand}=function(oi){
  67. var d=a.getData(oi);
  68. c.zhankai(d);
  69. }
  70. var c = {
  71. zhankai:function(ad){
  72. $('#downshow_{rand}').html('<b>['+ad.id+'.'+ad.name+']</b>的下级选项');
  73. nowid = ad.id;
  74. a.search("and `pid`="+ad.id+"");
  75. },
  76. search:function(){
  77. var s = get('key_{rand}').value;
  78. at.setparams({key:s},true);
  79. },
  80. showmenu:function(d,e){
  81. if(!this.menuobj)this.menuobj = $.rockmenu({data:[],width:150,itemsclick:function(d){
  82. c.cliemmenus(d);
  83. }});
  84. this.optdata = d;
  85. var da = [{name:'打开选项',lx:0},{name:'编辑',lx:3}];
  86. if(d.stotal>0)da.push({name:'管理下级',lx:1});
  87. if(d.pid!=dpid)da.push({name:'↑回到上级',lx:2});
  88. this.menuobj.setData(da);
  89. setTimeout(function(){c.menuobj.showAt(e.clientX,e.clientY);},0);
  90. },
  91. cliemmenus:function(d){
  92. var ad = this.optdata;
  93. if(d.lx==0){
  94. $('#downshow_{rand}').html('<b>['+ad.id+'.'+ad.name+']</b>的下级选项');
  95. a.search("and `pid`="+ad.id+"");
  96. }
  97. if(d.lx==1){
  98. c.xiajili();
  99. }
  100. if(d.lx==2){
  101. this.showdwon(num);
  102. }
  103. if(d.lx==3){
  104. this.clicktypeeidt();
  105. }
  106. },
  107. reload:function(){
  108. at.reload();
  109. },
  110. xiajili:function(){
  111. if(at.changeid==0)return;
  112. var bh = at.changedata.num;
  113. this.showdwon(bh);
  114. },
  115. showdwon:function(bh){
  116. if(isempt(bh))return;
  117. at.setparams({num:bh},true);
  118. },
  119. dingji:function(bh){
  120. this.showdwon(num);
  121. },
  122. clickwin:function(o, lx){
  123. var a = this.clicktypewin(false, 0);
  124. optlx = 1;
  125. a.setValue('pid', nowid);
  126. },
  127. clicktypeeidt:function(){
  128. var d = at.changedata;
  129. if(d.id)c.clicktypewin(false, 1, d);
  130. },
  131. clicktypewin:function(o1, lx, da){
  132. var h = $.bootsform({
  133. title:'选项',height:250,width:300,
  134. tablename:'option',labelWidth:50,
  135. isedit:lx,
  136. submitfields:'num,name,sort,pid',cancelbtn:false,
  137. items:[{
  138. labelText:'名称',name:'name',required:true
  139. },{
  140. labelText:'上级id',name:'pid',value:0,type:'hidden'
  141. },{
  142. labelText:'编号',name:'num'
  143. },{
  144. labelText:'排序号',name:'sort',type:'number',value:0
  145. }],
  146. success:function(){
  147. if(optlx==0)at.reload();
  148. if(optlx==1)a.reload();
  149. }
  150. });
  151. if(lx==1)h.setValues(da);
  152. if(lx==0)h.setValue('pid', pid);
  153. optlx = 0;
  154. return h;
  155. },
  156. typedel:function(o1){
  157. at.del({url:js.getajaxurl('deloption','option','system')});
  158. },
  159. del:function(){
  160. a.del({url:js.getajaxurl('deloption','option','system')});
  161. }
  162. };
  163. js.initbtn(c);
  164. $('#optionview_{rand}').css('height',''+(viewheight-142)+'px');
  165. });
  166. </script>
  167. <table width="100%">
  168. <tr valign="top">
  169. <td width="350">
  170. <div class="panel panel-info" style="margin:0px">
  171. <div class="panel-heading">
  172. <h3 class="panel-title">选项列表(双击展开)</h3>
  173. </div>
  174. <div>
  175. <div class="input-group" style="width:200px">
  176. <input class="form-control" id="key_{rand}" placeholder="选项名称/编号">
  177. <span class="input-group-btn">
  178. <button class="btn btn-default" click="search" type="button"><i class="icon-search"></i></button>
  179. </span>
  180. </div>
  181. </div>
  182. <div id="optionview_{rand}" style="height:400px;overflow:auto"></div>
  183. <div class="panel-footer">
  184. <a href="javascript:" click="clicktypewin,0" onclick="return false"><i class="icon-plus"></i></a>&nbsp; &nbsp;
  185. <a href="javascript:" click="clicktypeeidt" onclick="return false"><i class="icon-edit"></i></a>&nbsp; &nbsp;
  186. <a href="javascript:" click="reload" onclick="return false"><i class="icon-refresh"></i></a>
  187. &nbsp;
  188. <a href="javascript:" click="xiajili" onclick="return false">[管理下级]</a>&nbsp;
  189. <a href="javascript:" click="dingji" onclick="return false">[回到顶级]</a>
  190. <a href="javascript:" style="float:right" click="typedel" onclick="return false"><i class="icon-trash"></i></a>
  191. </div>
  192. </div>
  193. </td>
  194. <td width="10"></td>
  195. <td>
  196. <div>
  197. <ul class="floats">
  198. <li class="floats70">
  199. <button class="btn btn-primary" click="clickwin,0" disabled id="add_{rand}" type="button"><i class="icon-plus"></i> 新增对应下级</button>&nbsp;&nbsp;
  200. <span id="downshow_{rand}">双击左边选项列表行打开选项</span>
  201. </li>
  202. <li class="floats30" style="text-align:right">
  203. <button class="btn btn-danger" id="del_{rand}" disabled click="del" type="button"><i class="icon-trash"></i> 删除</button>
  204. </li>
  205. </ul>
  206. </div>
  207. <div class="blank10"></div>
  208. <div id="view_{rand}"></div>
  209. </td>
  210. </tr>
  211. </table>
粤ICP备19079148号