f3306aa66faf7a2442dbd3f86c8b2eefe60f568e.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet href="../../css/body.css" type="text/css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>
  6. <![CDATA[公用界面管理 >> 权限设置管理 >> 功能权限录入]]>
  7. </xhtml:title>
  8. <model id="model1" autocdata="false">
  9. <instance id="instance1">
  10. <root xmlns="">
  11. <initData>
  12. </initData>
  13. <codeData/>
  14. <formData>
  15. <searchInfo>
  16. <FCNRS_TP>F</FCNRS_TP>
  17. </searchInfo>
  18. <searchInfo2>
  19. <RS_ID/>
  20. </searchInfo2>
  21. </formData>
  22. <gridData>
  23. <viewItem>A</viewItem>
  24. </gridData>
  25. </root>
  26. </instance>
  27. <script type="javascript" ev:event="xforms-ready">
  28. <![CDATA[
  29. if (window.parent == null) Init();
  30. ]]>
  31. </script>
  32. </model>
  33. <script type="javascript" src="../../js/boaCommon.js"/>
  34. <script type="javascript" src="../../js/boaMsg.js"/>
  35. <script type="javascript" src="../../js/mesCommon.js">
  36. <![CDATA[
  37. var submitID = "UIZ020010-service";
  38. var isValid = false;
  39. function Init(node) {
  40. InitParams(node);
  41. isValid = model.getValue("/root/initData/rcvInfo/ROOT_AMN_YN") == "Y";
  42. if (isValid == false) return;
  43. model.duplicate("/root/formData/searchInfo2", "/root/initData/rcvInfo/REG_ID"); // 保存时使用
  44. }
  45. function pageInit() {
  46. var datagrid = datagrid1;
  47. datagrid.rebuild();
  48. commGridInit(datagrid);
  49. model.removenode("/root/reqData");
  50. model.removenode("/root/resData");
  51. model.setValue("/root/formData/searchInfo2/RS_ID", "");
  52. model.refresh();
  53. var rows = datagrid.rows - 1;
  54. var colRef = datagrid.colRef("FCNRS_ID");
  55. datagrid.isReadOnly(0, colRef, rows, colRef) = true;
  56. colStyle(datagrid, "FCNRS_NM,FN_IMG_YN,FN_IMG_URL,JS_FUNC_NM,DSP_SEQ,LOCKED_YN");
  57. }
  58. function find() {
  59. if (isValid == false) return;
  60. exec("", "", "find", "/root/gridData/ListResult_0_VO", "/root/gridData/ListResult_1_VO");
  61. radio1.dispatch("xforms-value-changed");
  62. }
  63. function save() {
  64. if (isValid == false) return;
  65. exec("/root/initData", datagrid1, "save", "/root/gridData/ListResult_0_VO", "/root/gridData/ListResult_1_VO");
  66. radio1.dispatch("xforms-value-changed");
  67. }
  68. function create() {
  69. if (isValid == false || model.getValue("/root/formData/searchInfo/FCNRS_TP") == "F") return;
  70. var datagrid = datagrid1;
  71. var row = datagrid.rows;
  72. commAddRow(datagrid, "FCNRS_ID,FCNRS_NM,FN_IMG_YN,FN_IMG_URL,DSP_SEQ,LOCKED");
  73. datagrid.valueMatrix(row, datagrid.colRef("FCNRS_ID")) = "R";
  74. datagrid.valueMatrix(row, datagrid.colRef("FCNRS_TP")) = model.getValue("/root/formData/searchInfo/FCNRS_TP");
  75. datagrid.valueMatrix(row, datagrid.colRef("DSP_SEQ")) = row + 1 - datagrid.fixedRows;
  76. }
  77. function remove() {}
  78. var onrowchanged = false;
  79. ]]>
  80. </script>
  81. </xhtml:head>
  82. <xhtml:body overflow="hidden" pagewidth="980" pageheight="620" style="font-family:宋体; ">
  83. <group id="group1" overflow="hidden" style="left:0px; top:0px; width:980px; height:30px; ">
  84. <line id="line2" style="x1:0px; y1:29px; x2:980px; y2:29px; "/>
  85. <caption id="caption101" class="cell" style="left:0px; top:5px; width:90px; height:20px; vertical-align:middle; ">功能区分</caption>
  86. <select1 id="combo101" ref="/root/formData/searchInfo/FCNRS_TP" appearance="minimal" style="left:92px; top:5px; width:110px; height:20px; ">
  87. <choices>
  88. <item>
  89. <label>按功能</label>
  90. <value>F</value>
  91. </item>
  92. <item>
  93. <label>按权限</label>
  94. <value>R</value>
  95. </item>
  96. </choices>
  97. <script type="javascript" ev:event="xforms-value-changed">
  98. <![CDATA[
  99. pageInit();
  100. datagrid2.rebuild();
  101. //datagrid2.refresh();
  102. var datagrid = datagrid1;
  103. if (event.pTarget.value == 'F') {
  104. button202.disabled = true;
  105. datagrid.colHidden(datagrid.colRef("FN_IMG_YN")) = false;
  106. datagrid.colHidden(datagrid.colRef("FN_IMG_URL")) = false;
  107. datagrid.colHidden(datagrid.colRef("JS_FUNC_NM")) = false;
  108. } else {
  109. button202.disabled = false;
  110. datagrid.colHidden(datagrid.colRef("FN_IMG_YN")) = true;
  111. datagrid.colHidden(datagrid.colRef("FN_IMG_URL")) = true;
  112. datagrid.colHidden(datagrid.colRef("JS_FUNC_NM")) = true;
  113. }
  114. ]]>
  115. </script>
  116. </select1>
  117. <select1 id="radio1" ref="/root/gridData/viewItem" appearance="full" cols="3" style="left:210px; top:5px; width:155px; height:20px; border-style:none; ">
  118. <choices>
  119. <item>
  120. <label>所有</label>
  121. <value>A</value>
  122. </item>
  123. <item>
  124. <label>非禁项</label>
  125. <value>N</value>
  126. </item>
  127. <item>
  128. <label>禁用项</label>
  129. <value>Y</value>
  130. </item>
  131. </choices>
  132. <script type="javascript" ev:event="xforms-value-changed">
  133. <![CDATA[
  134. var datagrid = datagrid1;
  135. switch (model.getValue("/root/gridData/viewItem")) {
  136. case "N":
  137. datagrid.nodeset = "/root/gridData/ListResult_0_VO/ListResult_0_Row[FCNRS_TP = /root/formData/searchInfo/FCNRS_TP and LOCKED_YN != 'Y']";
  138. break;
  139. case "Y":
  140. datagrid.nodeset = "/root/gridData/ListResult_0_VO/ListResult_0_Row[FCNRS_TP = /root/formData/searchInfo/FCNRS_TP and LOCKED_YN = 'Y']";
  141. break;
  142. default : datagrid.nodeset = "/root/gridData/ListResult_0_VO/ListResult_0_Row[FCNRS_TP = /root/formData/searchInfo/FCNRS_TP]";
  143. }
  144. pageInit();
  145. ]]>
  146. </script>
  147. </select1>
  148. </group>
  149. <datagrid id="datagrid1" nodeset="/root/gridData/ListResult_0_VO/ListResult_0_Row[FCNRS_TP = /root/formData/searchInfo/FCNRS_TP]" caption="功能权限^功能权限名^区分^使用图片^图片路径^脚本^顺序^禁用^修改人^修改时间" colsep="^" colwidth="60, 100, 35, 35, 220, 260, 35, 35, 60, 120" extendlastcol="false" mergecellsfixedrows="bycolrec" rowheader="select" rowheight="40" rowsep="|" style="left:0px; top:34px; width:980px; height:265px; border-style:solid; border-right-style:sunken; ">
  150. <col ref="FCNRS_ID" type="input" style="text-align:left; "/>
  151. <col ref="FCNRS_NM" type="input" style="text-align:left; "/>
  152. <col ref="FCNRS_TP"/>
  153. <col checkvalue="Y,N" ref="FN_IMG_YN" type="checkbox"/>
  154. <col ref="FN_IMG_URL" type="input" style="text-align:left; "/>
  155. <col ref="JS_FUNC_NM" type="input"/>
  156. <col ref="DSP_SEQ" type="input"/>
  157. <col checkvalue="Y,N" ref="LOCKED_YN" type="checkbox"/>
  158. <col key="false" ref="MOD_ID" style="text-align:left; "/>
  159. <col key="false" ref="MOD_DATE" format="yyyy-mm-dd hh:nn:ss" mask="exclude"/>
  160. <script type="javascript" ev:event="onentercell">
  161. <![CDATA[
  162. if (model.getValue("/root/formData/searchInfo/FCNRS_TP") == "F")
  163. datagrid1.editCell();
  164. ]]>
  165. </script>
  166. <script type="javascript" ev:event="xforms-value-changed">
  167. <![CDATA[
  168. var datagrid = datagrid1;
  169. var colRef = datagrid.colRef("FCNRS_ID");
  170. if (model.getValue("/root/formData/searchInfo/FCNRS_TP") == "F" || datagrid.col != colRef) return;
  171. var row = datagrid.row;
  172. var value = datagrid.valueMatrix(row, colRef);
  173. if (value.substr(0, 1) != "R") {
  174. alert("功能权限ID只能以字母 R 开头!!!");
  175. value = "R" + value;
  176. datagrid.valueMatrix(row, colRef) = value;
  177. }
  178. ]]>
  179. </script>
  180. <script type="javascript" ev:event="onclick">
  181. <![CDATA[
  182. var datagrid = datagrid1;
  183. if (datagrid.isCell(event.target)) datagrid.editCell();
  184. if (!onrowchanged) return;
  185. if (model.getValue("/root/formData/searchInfo/FCNRS_TP") == "F") return;
  186. var row = datagrid.row;
  187. var rowStatus = datagrid.rowStatus(row);
  188. var rs_id = "";
  189. if (rowStatus == 0 || rowStatus == 2)
  190. rs_id = datagrid.valueMatrix(datagrid.row, datagrid.colRef("FCNRS_ID"));
  191. model.setValue("/root/formData/searchInfo2/RS_ID", rs_id);
  192. datagrid = datagrid2;
  193. datagrid.rebuild();
  194. datagrid.refresh();
  195. colStyle(datagrid, "CHK");
  196. output201.refresh();
  197. onrowchanged = false;
  198. ]]>
  199. </script>
  200. <script type="javascript" ev:event="onrowchanged">
  201. <![CDATA[
  202. onrowchanged = true;
  203. ]]>
  204. </script>
  205. </datagrid>
  206. <datagrid id="datagrid2" nodeset="/root/gridData/ListResult_1_VO/ListResult_1_Row[RS_ID=/root/formData/searchInfo2/RS_ID]" backcoloralternate="#F7F9F9" caption="按键^按键^启用^修改人^修改时间|代码^说明^启用^修改人^修改时间" colsep="^" colwidth="60, 100, 35, 60, 120" extendlastcol="false" mergecellsfixedrows="bycolrec" rowheight="21" rowsep="|" style="left:0px; top:338px; width:980px; height:282px; border-style:solid; border-right-style:sunken; ">
  207. <col ref="FC_ID"/>
  208. <col key="false" ref="FCNRS_NM" style="text-align:left; "/>
  209. <col checkvalue="Y,N" key="false" ref="CHK" type="checkbox"/>
  210. <col key="false" ref="MOD_ID" style="text-align:left; "/>
  211. <col key="false" ref="MOD_DATE" format="yyyy-mm-dd hh:mm:ss" mask="exclude"/>
  212. </datagrid>
  213. <group id="group2" overflow="hidden" style="left:0px; top:304px; width:980px; height:30px; ">
  214. <line id="line3" style="x1:0px; y1:0px; x2:980px; y2:0px; "/>
  215. <line id="line4" style="x1:0px; y1:29px; x2:980px; y2:29px; "/>
  216. <caption id="caption201" class="cell" style="left:0px; top:5px; width:90px; height:20px; vertical-align:middle; ">所选权限</caption>
  217. <output id="output201" ref="/root/formData/searchInfo2/RS_ID" style="left:92px; top:5px; width:110px; height:20px; border-color:#c0c0c0; border-style:solid; "/>
  218. <button id="button202" class="sw" disabled="true" style="left:212px; top:5px; width:100px; height:20px; ">
  219. <caption>保存按键</caption>
  220. <script type="javascript" ev:event="onclick">
  221. <![CDATA[
  222. var datagrid = datagrid2;
  223. var rowSep = (datagrid.attribute("rowsep")=='')?'|':datagrid.attribute('rowsep');
  224. var colSep = (datagrid.attribute("colsep")=='')?'^':datagrid.attribute('colsep');
  225. var data = datagrid.getUpdateData();
  226. var up_data = data.split(rowSep);
  227. var rows = up_data.length - 1;
  228. var colRef = datagrid.colRef("MOD_ID");
  229. var colChk = datagrid.colRef("CHK");
  230. for (var i=1; i<rows; i++) {
  231. var vRow = up_data[i].split(colSep);
  232. var Idx = Number(vRow[1]);
  233. /* FC_REF为空串时,记录不存在 */
  234. var ref = datagrid.valueMatrix(Idx, colRef);
  235. var chk = datagrid.valueMatrix(Idx, colChk);
  236. datagrid.rowStatus(Idx) = 0;
  237. if (ref == "") { // 插入
  238. if (chk == "Y") datagrid.addStatus(Idx, "insert");
  239. } else { // 删除
  240. if (chk == "N") datagrid.addStatus(Idx, "delete");
  241. }
  242. }
  243. exec("/root/formData/searchInfo2", datagrid, "save2", "/root/gridData/ListResult_1_VO");
  244. datagrid.rebuild();
  245. datagrid.refresh();
  246. ]]>
  247. </script>
  248. </button>
  249. </group>
  250. </xhtml:body>
  251. </xhtml:html>