1
0

mode_flowelement.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. //流程模块【flowelement.表单元素管理】下录入页面自定义js页面,初始函数
  2. function initbodys(){
  3. c.fieldshide('xiaoshu');
  4. if(mid==0){
  5. form('mid').value = js.request('mkid');
  6. if(!form('mid').value){
  7. js.msgerror('没有选择模块,无法新增');
  8. c.formdisabled();
  9. return;
  10. }
  11. }
  12. form('attr').readOnly=false;
  13. form('fields').readOnly=false;
  14. form('dev').readOnly=false;
  15. c.onselectdata['attr']=function(sav,sna,sid){
  16. form('attr').value = sid;
  17. }
  18. c.onselectdata['fields']=function(sav,sna,sid){
  19. if(sav.subname)form('name').value = sav.subname;
  20. }
  21. $(form('fieldstype')).change(function(){
  22. c.changetypes();
  23. });
  24. var s = '<button type="button" onclick="setdatabtn()" class="webbtn btn-danger btn-xs">设置数据源</button>';
  25. $('#div_data').append(s);
  26. }
  27. c.onselectdatabefore=function(fid){
  28. if(fid=='fields')return {mkid:form('mid').value,iszb:form('iszb').value};
  29. }
  30. c.changetypes=function(){
  31. var val = form('fieldstype').value;
  32. if(val=='number'){
  33. c.fieldsshow('xiaoshu');
  34. }else{
  35. c.fieldshide('xiaoshu');
  36. }
  37. }
  38. function changesubmit(d){
  39. if(d.fieldstype.indexOf('change')==0){
  40. if(d.data=='' || d.data==d.fields){
  41. form('data').value = ''+d.fields+'id';
  42. return '此字段元素类型时,数据源必须填写用来存储选择来的Id,请填写为:'+d.fields+'id';
  43. }
  44. }
  45. if(d.islu=='1' && d.fields=='id')return 'id字段是不可以做录入项字段';
  46. }
  47. c.xuanchangs=function(){
  48. var val = form('fieldstype').value;
  49. if(val.indexOf('change')==0){
  50. var cans1 = {
  51. idobj:form('gongsi')
  52. };
  53. js.changeuser('AltS', 'deptusercheck', '选择范围', cans1);
  54. }else{
  55. js.msg('msg','元素类型不是选择人员部门的');
  56. }
  57. }
  58. var cmode = false;
  59. function setdatabtn(){
  60. var lx = form('fieldstype').value;
  61. var fid = form('fields').value;
  62. if(!lx){
  63. js.msg('msg','请先选择“字段元素类型”');
  64. return;
  65. }
  66. if(lx.indexOf('change')==0){
  67. if(!fid){
  68. js.msg('msg','请先输入“对应字段”');
  69. return;
  70. }
  71. form('data').value = ''+fid+'id';
  72. return;
  73. }
  74. cmode = false;
  75. var shjyx = ',text,select,selectdatafalse,selectdatatrue,radio,checkboxall,textarea,';
  76. if(shjyx.indexOf(','+lx+',')==-1){
  77. js.msg('msg','此字段类型,无需设置数据源,或者可直接输入');
  78. return;
  79. }
  80. var s = '<div class="flex"><div style="width:100px" align="right">数据源模块:</div><input readonly onclick="xuanmode(this)" style="flex:1" placeholder="-请选择模块V-" class="input"></div>';
  81. s+='<div class="flex" style="margin-top:15px"><div style="width:100px" align="right">数据源条件:</div><select id="modewhere" style="flex:1" class="input"><option value="">-选择条件-</option></select></div>';
  82. s+='<div class="flex" style="margin-top:15px"><div style="width:100px" align="right">显示内容:</div><input style="flex:1" id="modeshowname" placeholder="如:{title}" class="input"></div>';
  83. s+='<div class="flex"><div style="width:100px" align="right"></div><div style="flex:1" id="modeshownamediv"></div></div>';
  84. s+='<div class="flex" style="margin-top:15px"><div style="width:100px" align="right">存储主键字段:</div><input style="flex:1" placeholder="默认的id,不用去改" readonly ondblclick="this.readOnly=false" value="" class="input" id="modeshowval"></div>';
  85. s+='<div class="flex" style="margin-top:15px"><div style="width:100px" align="right">子内容显示:</div><input style="flex:1" placeholder="留空就好了" value="" class="input" id="modeshownames" readonly ondblclick="this.readOnly=false"></div>';
  86. js.tanbody('databody','使用模块数据做数据源',400,300,{
  87. html:'<div style="overflow:auto;max-height:450px"><div style="padding:15px"><form autocomplete="off" name="dataform">'+s+'</form></div></div>',
  88. btn:[{text:'确定选择'}]
  89. });
  90. $('#databody_btn0').click(function(){
  91. setdatabtnok();
  92. });
  93. }
  94. function setdatabtnok(){
  95. if(!cmode)return;
  96. var tj = get('modewhere').value;
  97. if(!tj){
  98. js.msg('msg','请选择数据源条件');
  99. return;
  100. }
  101. var zd = get('modeshowname').value;
  102. if(!zd){
  103. js.msg('msg','请输入显示内容字段');
  104. return;
  105. }
  106. var acta = form('data').value.split(',');
  107. var vzd = get('modeshowval').value;
  108. if(!vzd)vzd='id';
  109. var s = 'rmod:'+cmode.num+'|'+tj+'|'+zd+'|'+vzd+'';
  110. vzd = get('modeshownames').value;
  111. if(vzd)s+='|'+vzd+'';
  112. if(acta[1])s+=','+acta[1]+'';
  113. form('data').value = s;
  114. js.tanclose('databody');
  115. }
  116. function xuanmode(o1){
  117. js.selectmode(o1, o1, function(sna,val,d){
  118. cmode = d;
  119. changeflowwhere(d.id);
  120. });
  121. }
  122. function changeflowwhere(id1){
  123. var o1 = get('modewhere');
  124. o1.length = 1;
  125. $('#modeshownamediv').html('');
  126. js.ajax(geturlact('modewhere'),{modeid:id1},function(ret){
  127. js.setselectdata(o1, ret.wheredata, 'num');
  128. var farr = ret.fieldsarr,s='';
  129. for(var i=0;i<farr.length;i++){
  130. s+='<label><input type="checkbox" onclick="changeziduansv(this)" name="selfieldsabc" value="{'+farr[i].fields+'}">'+farr[i].name+'('+farr[i].fields+')</label>&nbsp;&nbsp;';
  131. }
  132. $('#modeshownamediv').html(s);
  133. js.resizetan('databody');
  134. }, 'get,json');
  135. }
  136. function changeziduansv(){
  137. var val = js.getchecked('selfieldsabc');
  138. val = val.replace(/[\,]/gi,'');
  139. get('modeshowname').value = val;
  140. }
  141. js.selectmode = function(obj, naobj, fun){
  142. this.chajian('rockselect', {
  143. viewobj:obj,
  144. num:'getmodearr',limit:20,
  145. url:js.getajaxurl('getmodearr','flow','main'),
  146. onitemclick:function(sna,val,d){fun(sna,val,d)},
  147. ondatachuli:function(da){
  148. var len=da.length,i,csd,types='',ds=[],dt=[];
  149. for(i=0;i<len;i++){
  150. csd = da[i];
  151. if(types!=csd.type){
  152. ds.push({name:csd.type,style:'font-weight:bold',disabled:true});
  153. dt.push({name:csd.type,value:csd.type,type:csd.type});
  154. }
  155. types = csd.type;
  156. csd.padding='24';
  157. ds.push(csd);
  158. }
  159. this.setSelectData(dt,'所有分类', 'type');
  160. return ds;
  161. },
  162. nameobj:naobj
  163. });
  164. }
粤ICP备19079148号