rock_input_daoru.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?php defined('HOST') or die('not access');?>
  2. <script >
  3. $(document).ready(function(){
  4. {params}
  5. var modenum = params.modenum;
  6. var c={
  7. headers:'',
  8. yscss:'style="border:var(--border);padding:3px 5px"',
  9. yulan:function(){
  10. var cont = mobjs.val(),s='',a,a1,i,j,oi=0;
  11. s+='<table border="0">';
  12. s+='<tr style="background:rgba(0,0,0,0.1)"><td '+this.yscss+'></td><td '+this.yscss+'>导入结果</td>'+this.headers+'</tr>';
  13. a = cont.split('\n');
  14. for(i=0;i<a.length;i++){
  15. if(a[i]){
  16. oi++;
  17. a1 = a[i].split(' ');
  18. s+='<tr>';
  19. s+='<td '+this.yscss+'>'+oi+'</td><td '+this.yscss+' id="runstate_'+modenum+'_'+oi+'"></td>';
  20. for(j=0;j<a1.length;j++)s+='<td '+this.yscss+'>'+a1[j]+'</td>';
  21. s+='</tr>';
  22. }
  23. }
  24. s+='</table>';
  25. $('#showview_{rand}').html(s);
  26. },
  27. init:function(){
  28. var vis = 'msgview_{rand}';
  29. js.setmsg('初始化中...','', vis);
  30. js.ajax(publicmodeurl(modenum,'initdaoru'),{'modenum':modenum},function(ret){
  31. js.setmsg('','', vis);
  32. c.initshow(ret);
  33. },'get,json');
  34. },
  35. initshow:function(ret){
  36. this.bitian='';
  37. this.headers='';
  38. var i,len=ret.length,d;
  39. for(i=0;i<len;i++){
  40. d=ret[i];
  41. this.headers+='<td '+this.yscss+'>';
  42. if(d.isbt=='1'){
  43. this.bitian+=','+d.fields+'';
  44. this.headers+='<font color=red>*</font>';
  45. }
  46. this.headers+=''+d.name+'('+d.fields+')</td>';
  47. }
  48. this.yulan();
  49. },
  50. insrtss:function(){
  51. var val = mobjs.val();
  52. mobjs.val(val+' ');
  53. mobjs.focus();
  54. },
  55. saveadd:function(o1){
  56. var val = mobjs.val();
  57. var vis = 'msgview_{rand}';
  58. if(isempt(val)){
  59. js.setmsg('没有输入任何东西','', vis);
  60. return;
  61. }
  62. js.setmsg('处理中...','', vis);
  63. o1.disabled=true;
  64. js.ajax(js.getajaxurl('daorudata','{mode}','{dir}'),{importcont:val,'modenum':modenum},function(ds){
  65. if(ds.success){
  66. js.setmsg(ds.data,'green', vis);
  67. try{window['managelist'+modenum+''].reload()}catch(e){}
  68. }else{
  69. js.setmsg(ds.msg+'','red', vis);
  70. o1.disabled=false;
  71. }
  72. if(ds.errdata)c.showerrdata(ds.errdata);
  73. },'post,json',function(s){
  74. js.setmsg(s,'red', vis);
  75. o1.disabled=false;
  76. });
  77. },
  78. showerrdata:function(ed){
  79. var xu,str,col;
  80. for(xu in ed){
  81. str = ed[xu];
  82. col = (str=='ok') ? 'green' : 'red';
  83. $('#runstate_'+modenum+'_'+(parseFloat(xu)+1)+'').html('<font color='+col+'>'+str+'</font>');
  84. }
  85. },
  86. downxz:function(){
  87. var url = '?m=input&a=daoruexcel&d=flow&modenum='+modenum+'';
  88. js.open(url);
  89. },
  90. addfile:function(){
  91. js.upload('_daorufile{rand}',{maxup:'1','title':'选择Excel文件',uptype:'xls,xlsx','urlparams':'noasyn:yes'});
  92. },
  93. backup:function(fid){
  94. var o1 = get('upbtn{rand}');
  95. o1.disabled=true;
  96. o1.value='文件读取中...';
  97. js.ajax(js.getajaxurl('readxls','{mode}','{dir}'),{fileid:fid,'modenum':modenum},function(ret){
  98. if(ret.success){
  99. o1.value='读取成功';
  100. mobjs.val(ret.data);
  101. c.yulan();
  102. }else{
  103. js.msg('msg', ret.msg);
  104. o1.value='读取失败';
  105. }
  106. o1.disabled=false;
  107. },'get,json',function(s){
  108. js.msg('msg', s);
  109. o1.value=s;
  110. o1.disabled=false;
  111. });
  112. }
  113. }
  114. var mobjs = $('#maincont_{rand}');
  115. mobjs.keyup(function(){
  116. c.yulan();
  117. });
  118. js.initbtn(c);
  119. c.init();
  120. _daorufile{rand}=function(a,xid){
  121. var f = a[0];
  122. c.backup(f.id);
  123. }
  124. });
  125. </script>
  126. <div align="left">
  127. <div>请下面表格格式在Excel中添加数据,并复制到下面文本框中,也可以手动输入,<a click="downxz" href="javascript:;">[下载Excel模版]</a>。<br>多行代表多记录,整行字段用 分开,<a click="insrtss" href="javascript:;">插入间隔符</a></div>
  128. <div style="padding:5px 0px">
  129. <?php
  130. if(version_compare(PHP_VERSION, '7.5.0','>')){
  131. echo '<font color=red>PHP'.PHP_VERSION.'版本不支持选Excel文件,请使用打开文件复制粘贴。</font>';
  132. }else{
  133. echo '<input type="button" id="upbtn{rand}" click="addfile" class="btn btn-primary" value="选择Excel文件...">';
  134. }
  135. ?>
  136. </div>
  137. <div><textarea style="height:250px;" id="maincont_{rand}" class="form-control"></textarea></div>
  138. <div id="showview_{rand}"></div>
  139. <div style="padding:10px 0px"><a click="yulan" href="javascript:;">[预览]</a>&nbsp; &nbsp; <button class="btn btn-success" click="saveadd" type="button">确定导入</button>&nbsp; <span id="msgview_{rand}"></span></div>
  140. <div class="tishi">请严格按照规定格式添加,否则数据将错乱哦,导入的字段可到[流程模块→表单元素管理]下设置,更多可查看<a href="<?=URLY?>view_daoru.html" target="_blank">[帮助]</a>。</div>
  141. </div>
粤ICP备19079148号