RoadFlow2.1 临时演示

roadui.dict.js 9.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. //数据字典选择
  2. ; RoadUI.Dict = function ()
  3. {
  4. var instance = this;
  5. this.init = function ($members)
  6. {
  7. $members.each(function (index)
  8. {
  9. var $_member = $members.eq(index);
  10. var id = $_member.attr("id") || "";
  11. var name = $_member.attr("name") || "";
  12. var value = $_member.val() || "";
  13. var title = $_member.attr("title") || "";
  14. var datasource = $_member.attr("datasource");
  15. var disabled = $_member.prop("disabled");
  16. $_member.prop("readonly", true);
  17. var $hide = $('<input type="hidden" id="' + id + '" name="' + name + '" value="' + (value || "") + '" />');
  18. var $but = $('<input type="button" ' + (disabled ? 'disabled="disabled"' : '') + ' title="' + title + '" class="mybutton" style="margin:0;" value="选择" />');
  19. $_member.attr("id", id + "_text");
  20. $_member.attr("name", name + "_text");
  21. $_member.css({ "border-top": "1px solid #b7b6b4", "border-left": "1px solid #b7b6b4", "border-bottom": "1px solid #b7b6b4", "border-right": "0" });
  22. $_member.removeClass().addClass("mytext");
  23. if (value && value.length > 0)
  24. {
  25. switch (datasource)
  26. {
  27. case "0":
  28. default:
  29. $.ajax({
  30. url: (top.rootdir || "") + "/Controls/SelectDictionary/GetNames.ashx?values=" + encodeURI(value), type: "get", async: false, cache: false, success: function (txt)
  31. {
  32. $_member.val(txt);
  33. }
  34. });
  35. break;
  36. case "1":
  37. var dbconn = $_member.attr("dbconn");
  38. var sql = $_member.attr("sql");
  39. $.ajax({
  40. url: (top.rootdir || "") + "/Controls/SelectDictionary/GetNames_SQL.ashx?values=" + encodeURI(value) + "&dbconn=" + dbconn + "&sql=" + encodeURI(sql), type: "get", async: false, cache: false, success: function (txt)
  41. {
  42. $_member.val(txt);
  43. }
  44. });
  45. break;
  46. case "2": //url
  47. var url = $_member.attr("url2");
  48. url = url.indexOf('?') >= 0 ? url + "&values=" + encodeURI(value) : url + "?values=" + encodeURI(value);
  49. $.ajax({
  50. url: (top.rootdir || "") + url, type: "get", async: false, cache: false, success: function (txt)
  51. {
  52. $_member.val(txt);
  53. }
  54. });
  55. break;
  56. case "3": //table
  57. var dbconn = $_member.attr("dbconn") || "";
  58. var dbtable = $_member.attr("dbtable") || "";
  59. var valuefield = $_member.attr("valuefield") || "";
  60. var titlefield = $_member.attr("titlefield") || "";
  61. url = (top.rootdir || "") + "/Controls/SelectDictionary/GetNames_Table.ashx?values=" + encodeURI(value);
  62. url += "&dbconn=" + dbconn + "&dbtable=" + dbtable + "&valuefield=" + valuefield + "&titlefield=" + titlefield;
  63. $.ajax({
  64. url: (top.rootdir || "") + url, type: "get", async: false, cache: false, success: function (txt)
  65. {
  66. $_member.val(txt);
  67. }
  68. });
  69. break;
  70. }
  71. }
  72. if ($_member.prop("disabled"))
  73. {
  74. $but.prop("disabled", true);
  75. }
  76. else
  77. {
  78. $but.bind("click", function ()
  79. {
  80. var $obj = $(this).prev().prev();
  81. var val = $obj.val();
  82. var $obj1 = $(this).prev();
  83. var ismore = ($obj1.attr("more") || $obj1.attr("ismore")) || "1";
  84. var isparent = ($obj1.attr("parent") || $obj1.attr("isparent")) || "1";//是否可以选择父节点
  85. var root = $obj1.attr("rootid") || "";
  86. var isroot = $obj1.attr("isroot") || "1";//是否可以选择根
  87. var ischild = $obj1.attr("ischild") || "1";//是否加载所有子节点
  88. var dialogtitle = $obj1.attr("dialogtitle") || "选择数据字典";
  89. var dbconn = $obj1.attr("dbconn") || "";
  90. var sql = $obj1.attr("sql") || "";
  91. var url0 = $obj1.attr("url0") || "";
  92. var url1 = $obj1.attr("url1") || "";
  93. var url2 = $obj1.attr("url2") || "";
  94. //var dbconn = $obj1.attr("dbconn") || "";
  95. var dbtable = $obj1.attr("dbtable") || "";
  96. var valuefield = $obj1.attr("valuefield") || "";
  97. var titlefield = $obj1.attr("titlefield") || "";
  98. var valuefield = $obj1.attr("valuefield") || "";
  99. var parentfield = $obj1.attr("parentfield") || "";
  100. var where = $obj1.attr("where") || "";
  101. var params = "eid=" + id + "&datasource=" + datasource + "&dbconn=" + dbconn + "&sql=" + encodeURI(sql)
  102. + "&url0=" + encodeURI(url0) + "&url1=" + encodeURI(url1) + "&url2=" + encodeURI(url2)
  103. + "&ismore=" + ismore + "&isparent=" + isparent + "&root=" + root + "&isroot=" + isroot + "&ischild=" + ischild + "&values=" + encodeURI(val)
  104. + "&dbtable=" + dbtable + "&valuefield=" + valuefield + "&titlefield=" + titlefield
  105. + "&parentfield=" + parentfield + "&where=" + encodeURI(where);
  106. new RoadUI.Window().open({
  107. id: "dict_" + id, url: (top.rootdir || "") + "/Controls/SelectDictionary/Default.aspx?" + params, width: 500, height: 470, resize: false,
  108. title: dialogtitle, openerid: RoadUI.Core.query("tabid") || ""
  109. });
  110. });
  111. }
  112. $_member.after($but).before($hide);
  113. });
  114. };
  115. this.setValue = function (objorid)
  116. {
  117. var $obj;
  118. if (typeof (objorid) == "string")
  119. {
  120. $obj = $("#" + objorid);
  121. }
  122. else
  123. {
  124. $obj = $(objorid);
  125. }
  126. if (!$obj || $obj.size() == 0) return;
  127. var value = $obj.val();
  128. var datasource = $obj.next().attr("datasource");
  129. if (value && value.length > 0)
  130. {
  131. switch (datasource)
  132. {
  133. case "0": //数据字典
  134. default:
  135. $.ajax({
  136. url: (top.rootdir || "") + "/Controls/SelectDictionary/GetNames.ashx?values=" + value, type: "get", async: false, cache: false, success: function (txt)
  137. {
  138. $obj.next().val(txt);
  139. }
  140. });
  141. break;
  142. case "1": //sql
  143. var dbconn = $obj.next().attr("dbconn");
  144. var sql = $obj.next().attr("sql");
  145. $.ajax({
  146. url: (top.rootdir || "") + "/Controls/SelectDictionary/GetNames_SQL.ashx?values=" + encodeURI(value) + "&dbconn=" + dbconn + "&sql=" + encodeURI(sql), type: "get", async: false, cache: false, success: function (txt)
  147. {
  148. $obj.next().val(txt);
  149. }
  150. });
  151. break;
  152. case "2": //url
  153. var url = $obj.next().attr("url2");
  154. url = url.indexOf('?') >= 0 ? url + "&values=" + encodeURI(value) : url + "?values=" + encodeURI(value);
  155. $.ajax({
  156. url: (top.rootdir || "") + url, type: "get", async: false, cache: false, success: function (txt)
  157. {
  158. $obj.next().val(txt);
  159. }
  160. });
  161. break;
  162. case "3": //table
  163. var dbconn = $obj.next().attr("dbconn") || "";
  164. var dbtable = $obj.next().attr("dbtable") || "";
  165. var valuefield = $obj.next().attr("valuefield") || "";
  166. var titlefield = $obj.next().attr("titlefield") || "";
  167. url = (top.rootdir || "") + "/Controls/SelectDictionary/GetNames_Table.ashx?values=" + encodeURI(value);
  168. url += "&dbconn=" + dbconn + "&dbtable=" + dbtable + "&valuefield=" + valuefield + "&titlefield=" + titlefield;
  169. $.ajax({
  170. url: (top.rootdir || "") + url, type: "get", async: false, cache: false, success: function (txt)
  171. {
  172. $obj.next().val(txt);
  173. }
  174. });
  175. break;
  176. }
  177. }
  178. else
  179. {
  180. $obj.next().val('');
  181. }
  182. };
  183. }