rock_flow_set.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. <?php if(!defined('HOST'))die('not access');?>
  2. <script >
  3. $(document).ready(function(){
  4. var qianss='';
  5. var a = $('#view_{rand}').bootstable({
  6. tablename:'flow_set',dir:'asc',sort:'sort',celleditor:true,checked:true,
  7. url:publicstore('{mode}','{dir}'),fanye:true,pageSize:10,storeafteraction:'modeafter',storebeforeaction:'modebefore',
  8. columns:[{
  9. text:'类型',dataIndex:'type',sortable:true,editor:true
  10. },{
  11. text:'编号',dataIndex:'num'
  12. },{
  13. text:'模块名',dataIndex:'name'
  14. },{
  15. text:'对应表',dataIndex:'table'
  16. },{
  17. text:'排序号',dataIndex:'sort',editor:true,sortable:true
  18. },{
  19. text:'针对人员',dataIndex:'recename'
  20. },{
  21. text:'状态',dataIndex:'status',type:'checkbox',editor:true,sortable:true
  22. },{
  23. text:'流程模式',dataIndex:'isflow',sortable:true,renderer:function(v){
  24. var s = '&nbsp;';
  25. if(v=='1')s='顺序流程';
  26. if(v=='2')s='顺序前置';
  27. if(v=='3')s='自由流程';
  28. if(v=='4')s='选择流程';
  29. if(v=='5')s='自定义流程';
  30. return s;
  31. }
  32. },{
  33. text:'PC端提醒',dataIndex:'pctx',type:'checkbox',editor:true,sortable:true
  34. },{
  35. text:'邮件提醒',dataIndex:'emtx',type:'checkbox',editor:true,sortable:true
  36. },{
  37. text:'APP提醒',dataIndex:'mctx',type:'checkbox',editor:true,sortable:true
  38. },{
  39. text:'微信提醒',dataIndex:'wxtx',type:'checkbox',editor:true,sortable:true
  40. },{
  41. text:'钉钉提醒',dataIndex:'ddtx',type:'checkbox',editor:true,sortable:true
  42. },{
  43. text:'录入',dataIndex:'islu',type:'checkbox',editor:true,sortable:true
  44. },{
  45. text:'同步更新',dataIndex:'isup',type:'checkbox',editor:true,sortable:true
  46. },{
  47. text:'开评论',dataIndex:'ispl',type:'checkbox',editor:true,sortable:true
  48. },{
  49. text:'提醒设置',dataIndex:'istxset',type:'checkbox',editor:true,sortable:true
  50. },{
  51. text:'编号规则',dataIndex:'sericnum'
  52. },{
  53. text:'ID',dataIndex:'id'
  54. }],
  55. itemclick:function(d){
  56. btn(false, d);
  57. },
  58. beforeload:function(){
  59. btn(true);
  60. },
  61. load:function(d){
  62. qianss=d.qian;
  63. }
  64. });
  65. function btn(bo, d){
  66. if(ISDEMO)return;
  67. get('edit_{rand}').disabled = bo;
  68. get('copy_{rand}').disabled = bo;
  69. get('downbtn_{rand}').disabled = bo;
  70. get('biaoge_{rand}').disabled = bo;
  71. get('biaoges_{rand}').disabled = bo;
  72. if(d && d.type=='系统')bo=true;
  73. get('del_{rand}').disabled = bo;
  74. }
  75. var c = {
  76. del:function(){
  77. js.confirm('确定要删除选中模块吗?删除了所有数据就都没了,不能恢复的哦',function(jg){
  78. if(jg=='yes')c.delss();
  79. });
  80. },
  81. delss:function(){
  82. if(a.changeid==0)return;
  83. js.ajax(js.getajaxurl('delmode','{mode}','{dir}'),{id:a.changeid},function(s){
  84. if(s=='ok'){
  85. a.reload();
  86. }else{
  87. js.msg('msg',s);
  88. }
  89. },'post',false,'删除中...,删除成功');
  90. },
  91. allcreate:function(){
  92. js.ajax(js.getajaxurl('allcreate','{mode}','{dir}'),{},function(s){
  93. js.msg('success', s);
  94. },'get',false,'生成中...');
  95. },
  96. copy:function(){
  97. if(a.changeid==0)return;
  98. js.prompt('输入新模块编号','将会从模块['+a.changedata.name+']复制主表子表和表单元素字段的!', function(jg,txt){
  99. if(jg=='yes' && txt)c.copys(txt);
  100. });
  101. },
  102. copys:function(txt){
  103. if(a.changeid==0)return;
  104. js.ajax(js.getajaxurl('copymode','{mode}','{dir}'),{id:a.changeid,name:txt},function(s){
  105. if(s=='ok'){
  106. a.reload();
  107. }else{
  108. js.msg('msg',s);
  109. }
  110. },'post',false,'复制中...,复制成功:还是要做其他很多事的,具体请到官网看模块开发视频。');
  111. },
  112. reload:function(){
  113. a.reload();
  114. },
  115. clickwin:function(o1,lx){
  116. var icon='plus',name='新增流程模块',id=0;
  117. if(lx==1){
  118. id = a.changeid;
  119. icon='edit';
  120. name='编辑流程模块';
  121. };
  122. guanflowsetlist = a;
  123. addtabs({num:'flowset'+id+'',url:'main,flow,setedit,id='+id+'',icons:icon,name:name});
  124. },
  125. input:function(at){
  126. var url='?m=flow&d=main&a=input&setid='+a.changeid+'&atype='+at+'';
  127. js.open(url,900,500);
  128. },
  129. elements:function(){
  130. var name='['+a.changedata.name+']表单元素';
  131. var id = a.changeid;
  132. addtabs({num:'flowelements'+id+'',url:'main,flow,element,mid='+id+'',name:name});
  133. },
  134. pipei:function(){
  135. js.ajax(js.getajaxurl('reloadpipei','{mode}','{dir}'),{},function(s){
  136. js.msg('success', s);
  137. },'get',false,'匹配中...,匹配完成');
  138. },
  139. clearalldata:function(id){
  140. js.confirm('确定要清空此['+a.changedata.name+']模块所有数据嘛?<b style="color:red">慎重慎重慎重慎重!</b>',function(ssal){
  141. if(ssal=='yes')c.clearalldatas(id);
  142. });
  143. },
  144. clearalldatas:function(id){
  145. if(a.changeid==0)return;
  146. js.ajax(js.getajaxurl('clearallmode','{mode}','{dir}'),{id:a.changeid},function(s){
  147. if(s=='ok'){
  148. a.reload();
  149. }else{
  150. js.msg('msg',s);
  151. }
  152. },'post',false,'清空中...,清空成功');
  153. },
  154. biaoge:function(){
  155. this.showtalbe(a.changedata.table);
  156. },
  157. biaoges:function(){
  158. var ssa = a.changedata.tables;
  159. if(isempt(ssa)){
  160. js.msg('success','没有子表无需管理');return;
  161. }
  162. this.showtalbe(ssa.split(',')[0]);
  163. },
  164. search:function(){
  165. var s = get('key_{rand}').value;
  166. a.setparams({key:s}, true);
  167. },
  168. showtalbe:function(table){
  169. if(!table)return;
  170. var name=''+qianss+''+table+'';
  171. addtabs({num:'tablefields'+name+'',url:'system,table,fields,table='+name+'',name:'['+name+']字段管理'});
  172. },
  173. copyss:function(){
  174. js.msg('msg','由于关联过多,无法复制');return;
  175. js.prompt('输入新模块编号','输入模块编号和主表表名,只能用英文,不能用数字中文,随意写系统将出错:', function(jg,txt){
  176. if(jg=='yes'){
  177. c.copysss(txt);
  178. }
  179. });
  180. },
  181. copysss:function(txt){
  182. js.ajax(js.getajaxurl('copymode','{mode}','{dir}'),{id:a.changeid,nmode:txt},function(s){
  183. if(s=='ok'){
  184. a.reload();
  185. }else{
  186. js.msg('msg',s);
  187. }
  188. },'post',false,'复制...,清空成功');
  189. },
  190. tongbu:function(){
  191. var num=a.changedata.num;
  192. js.prompt('从官网中拉取模块同步','输入要同步的模块编号如(gong):将会覆盖你模块设置。', function(jg,txt){
  193. if(jg=='yes' && txt)c.tongbuss(txt);
  194. },num);
  195. },
  196. tongbuss:function(nk){
  197. js.loading('拉取同步中...');
  198. },
  199. shengsheng:function(){
  200. var sid = a.getchecked();
  201. addtabs({'name':'创建安装包',url:'main,flow,createinstall,sid='+jm.base64encode(sid)+'',num:'createinstall'});
  202. },
  203. tongbudanwu:function(){
  204. var sid = a.getchecked();
  205. if(!sid){
  206. js.msgerror('复选框中没有选中模块');return;
  207. }
  208. this.xuandanwefe(sid,0);
  209. },
  210. xuandanwefe:function(sid,lx){
  211. js.tanbody('senddw','同步到单位数据里', 350, 200, {
  212. html:'<form name="sendform"><div style="padding:10px;" id="senddwdiv"><img src="images/mloading.gif"></div></form>',
  213. btn:[{text:'确定同步'}]
  214. });
  215. js.ajax(js.getajaxurl('getcompanydata','{mode}','{dir}'),{},function(ret){
  216. var str = '',da=ret.data;
  217. for(var i=0;i<da.length;i++){
  218. str+='<div><label><input type="checkbox" name="xuanzhe[]" value="'+da[i].id+'">'+da[i].name+'</label></div>';
  219. }
  220. if(!str)str=ret.msg;
  221. $('#senddwdiv').html(str);
  222. },'get,json');
  223. $('#senddw_btn0').click(function(){
  224. c.sendgongwenjsok(sid,lx);
  225. });
  226. },
  227. sendgongwenjsok:function(id1,lx){
  228. var da = js.getformdata('sendform');
  229. if(!da.xuanzhe){
  230. js.msgerror('请选择单位');
  231. return;
  232. }
  233. da.modeids = id1;
  234. da.lx = lx;
  235. js.loading('同步中...');
  236. js.tanclose('senddw');
  237. js.ajax(publicmodeurl('company','anaymodedata'),da,function(ret){
  238. js.msgok(ret.data);
  239. },'post,json');
  240. },
  241. tongbumenu:function(){
  242. $.selectdata({
  243. title:'选择需要同步的菜单',
  244. url:js.getajaxurl('getmenu','upgrade','system',{glx:1}),
  245. checked:true,maxshow:500,
  246. onselect:function(d1,sna,sid){
  247. if(sid)c.xuandanwefe(sid, 1)
  248. }
  249. });
  250. }
  251. };
  252. js.initbtn(c);
  253. $('#downbtn_{rand}').rockmenu({
  254. width:170,top:35,donghua:false,
  255. data:[{
  256. name:'表单元素管理',lx:0
  257. },{
  258. name:'PC端录入页面布局',lx:1
  259. },{
  260. name:'清空此模块数据',lx:2
  261. },{
  262. name:'同步到单位数据',lx:3
  263. },{
  264. name:'同步菜单到单位数据',lx:4
  265. }],
  266. itemsclick:function(d, i){
  267. var id = a.changedata.id;
  268. if(!id)return;
  269. if(d.lx==1)c.input(0);
  270. if(d.lx==0)c.elements();
  271. if(d.lx==2)c.clearalldata(id);
  272. if(d.lx==3)c.tongbudanwu();
  273. if(d.lx==4)c.tongbumenu();
  274. }
  275. });
  276. });
  277. </script>
  278. <div>
  279. <table width="100%">
  280. <tr>
  281. <td align="left" nowrap>
  282. <button class="btn btn-warning" click="clickwin,0" type="button"><i class="icon-plus"></i> 新增</button>&nbsp;
  283. <button class="btn btn-primary" disabled id="downbtn_{rand}" type="button">模块开发管理 <i class="icon-angle-down"></i></button>&nbsp;
  284. <button class="btn btn-default" click="pipei" type="button">重新匹配流程</button>&nbsp;
  285. <button class="btn btn-default" id="biaoge_{rand}" disabled click="biaoge,1" type="button"><i class="icon-table"></i> 主表管理</button>&nbsp;
  286. <button class="btn btn-default" id="biaoges_{rand}" disabled click="biaoges,1" type="button"><i class="icon-table"></i> 子表管理</button>&nbsp;
  287. <button class="btn btn-default" click="allcreate" type="button">生成所有列表页</button>
  288. </td>
  289. <td align="left" style="padding:0px 10px;">
  290. <div class="input-group" style="width:130px">
  291. <input class="form-control" id="key_{rand}" placeholder="搜模块">
  292. <span class="input-group-btn">
  293. <button class="btn btn-default" click="search" type="button"><i class="icon-search"></i></button>
  294. </span>
  295. </div>
  296. </td>
  297. <td width="90%">
  298. </td>
  299. <td align="right" nowrap>
  300. <button class="btn btn-default" click="shengsheng" type="button" style="<?php if(!getconfig('rockinzip'))echo 'display:none;'; ?>">生成安装包</button>&nbsp;
  301. <button class="btn btn-default" id="copy_{rand}" click="copy,1" disabled type="button">复制</button>&nbsp;
  302. <button class="btn btn-info" id="edit_{rand}" click="clickwin,1" disabled type="button"><i class="icon-edit"></i> 编辑 </button>&nbsp;
  303. <button class="btn btn-danger" click="del" disabled id="del_{rand}" type="button"><i class="icon-trash"></i> 删除</button>
  304. </td>
  305. </tr>
  306. </table>
  307. </div>
  308. <div class="blank10"></div>
  309. <div id="view_{rand}"></div>
  310. <div class="tishi">提示:对应表请使用数据库管理工具管理,如phpMyadmin,Navicat等,模块列表页面会生成到webmain/flow/page下<div>
粤ICP备19079148号