flowvars.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. CKEDITOR.dialog.add( 'flowvars', function( editor )
  2. {
  3. var css=""+
  4. '<style type="text/css">' +
  5. '.flowvars-container{'+
  6. 'width: 400px;'+
  7. 'height: 400px;'+
  8. 'border: solid 1px #817B7B;'+
  9. 'overflow: auto;'+
  10. 'padding:2px;'+
  11. '}'+
  12. 'table.list{'+
  13. 'width: 396px;'+
  14. '}'+
  15. 'table.list tr:hover {'+
  16. 'background-color: #FFFDD2;'+
  17. '}'+
  18. '}'+
  19. '</style>';
  20. var html="";
  21. var defId=$("#defId").val();
  22. var url=__ctx+"/platform/bpm/taskReminder/getFlowVars.ht?defId="+defId;
  23. $.ajax({
  24. url: url,
  25. async:false,
  26. success:function(data){
  27. var flowVars=data.flowVars;
  28. html="<div class='flowvars-container'>"+
  29. '<table id="flowvar-table" class="table-grid list">'+
  30. '<tr>'+
  31. '<th>选择</th>'+
  32. '<th>变量名</th>'+
  33. '<th>注释</th>'+
  34. '<th>类型</th>'+
  35. '</tr>';
  36. for(var i=0;i<flowVars.length;i++){
  37. var css=i%2==1?"odd":"even";
  38. html+='<tr class="'+css+'" onclick="selectTr(this)">'+
  39. '<td> <input name="fieldName" class="pk" type="radio" value="'+flowVars[i].fieldName+'"/></td>'+
  40. '<td>'+flowVars[i].fieldName+'</td>'+
  41. '<td>'+flowVars[i].fieldDesc+'</td>'+
  42. '<td>'+flowVars[i].fieldType+'</td>'+
  43. '</tr>';
  44. }
  45. html+='</table></div>';
  46. }
  47. });
  48. html=css+html;
  49. return {
  50. title : '插入流程变量',
  51. minWidth : 410,
  52. minHeight : 410,
  53. contents : [
  54. {
  55. id : 'flowvars',
  56. label : '',
  57. title : '',
  58. expand : true,
  59. padding : 0,
  60. elements :
  61. [
  62. {
  63. id : 'flowvars-list',
  64. type : 'html',
  65. html :html
  66. }
  67. ]
  68. }
  69. ],
  70. onOk : function(){
  71. // "this" is now a CKEDITOR.dialog object.
  72. var document = this.getElement().getDocument();
  73. // document = CKEDITOR.dom.document
  74. var doc = document.$;
  75. var fieldName=$(doc).find("input[name='fieldName']:[type='radio']:checked").val();
  76. if(!fieldName){
  77. return false;
  78. }
  79. editor.insertHtml("<span>${"+fieldName+"}</span>");
  80. },
  81. buttons : [CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ]
  82. };
  83. } );
  84. function selectTr(obj){
  85. $(obj).find("input[type='radio']").attr("checked","checked");
  86. };