c21dff474e1da740f97ce056884e9227975c77cf.svn-base 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473
  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. </codeData>
  15. <formData>
  16. <searchInfo>
  17. <DEPT_CD/>
  18. <P_DEPT_CD/>
  19. </searchInfo>
  20. <searchInfo2>
  21. <DT_CD/>
  22. <MNSCR_ID>*</MNSCR_ID>
  23. </searchInfo2>
  24. </formData>
  25. <gridData>
  26. <viewItem>A</viewItem>
  27. </gridData>
  28. </root>
  29. </instance>
  30. <script type="javascript" ev:event="xforms-ready">
  31. <![CDATA[
  32. if (window.parent == null) Init();
  33. ]]>
  34. </script>
  35. </model>
  36. <script type="javascript" src="../../js/boaCommon.js"/>
  37. <script type="javascript" src="../../js/boaMsg.js"/>
  38. <script type="javascript" src="../../js/mesCommon.js">
  39. <![CDATA[
  40. var submitID = "UIZ020040-service";
  41. var isValid = false;
  42. var isUseDeptPriv = true;
  43. function Init(node) {
  44. InitParams(node);
  45. isValid = model.getValue("/root/initData/rcvInfo/ROOT_AMN_YN") == "Y" ||
  46. model.getValue("/root/initData/rcvInfo/DEPT_MNG_YN") == "Y";
  47. if (isValid == false) return;
  48. exec("/root/initData/rcvInfo", "", "", "/root/codeData/ListResult_0_VO", "/root/codeData/ListResult_1_VO",
  49. "/root/codeData/ListResult_2_VO", "/root/codeData/ListResult_3_VO");
  50. // 设定当前部门代码
  51. model.setValue("/root/formData/searchInfo/DEPT_CD",
  52. model.getValue("/root/codeData/ListResult_0_VO/ListResult_0_Row/DEPT_CD"));
  53. // 设置当前菜单代码
  54. var cnt = model.getXPathValue("count(/root/codeData/ListResult_1_VO/ListResult_1_Row)");
  55. isUseDeptPriv = model.getXPathValue("count(/root/resData/ListResult_3_VO/ListResult_3_Row)") > 0;
  56. if (isUseDeptPriv) {
  57. for (var i = cnt; i > 0; i--) {
  58. var mnscr = model.getValue("/root/codeData/ListResult_1_VO/ListResult_1_Row[" + i + "]/MNSCR_ID");
  59. if (model.getValue("/root/codeData/ListResult_2_VO/ListResult_2_Row[MNSCR_ID = '" + mnscr + "']/MNSCR_ID") == "" ||
  60. model.getValue("/root/codeData/ListResult_3_VO/ListResult_3_Row[MNSCR_ID = '" + mnscr + "']/MNSCR_ID") == "")
  61. model.removenode("/root/codeData/ListResult_1_VO/ListResult_1_Row[" + i + "]");
  62. }
  63. } else {
  64. for (var i = cnt; i > 0; i--) {
  65. var mnscr = model.getValue("/root/codeData/ListResult_1_VO/ListResult_1_Row[" + i + "]/MNSCR_ID");
  66. if (model.getValue("/root/codeData/ListResult_2_VO/ListResult_2_Row[MNSCR_ID = '" + mnscr + "']/MNSCR_ID") == "")
  67. model.removenode("/root/codeData/ListResult_1_VO/ListResult_1_Row[" + i + "]");
  68. }
  69. }
  70. model.duplicate("/root/formData/searchInfo", "/root/initData/rcvInfo/REG_ID");
  71. model.duplicate("/root/formData/searchInfo2", "/root/initData/rcvInfo/REG_ID");
  72. pageInit();
  73. }
  74. function pageInit() {
  75. model.removenode("/root/reqData");
  76. model.removenode("/root/resData");
  77. model.refresh();
  78. var datagrid = datagrid1;
  79. datagrid.rebuild();
  80. commGridInit(datagrid);
  81. var Idx = datagrid.fixedRows;
  82. if (datagrid.rows > Idx) {
  83. if (datagrid.valueMatrix(Idx, datagrid.colRef("DEPT_CD")) == "00000000") {
  84. var colRef = datagrid.colRef("LOCKED_YN");
  85. datagrid.isReadOnly(Idx, colRef, Idx, colRef) = true;
  86. colRef = datagrid.colRef("P_DEPT_NM");
  87. datagrid.isReadOnly(Idx, colRef, Idx, colRef) = true;
  88. }
  89. }
  90. isReadOnly(datagrid, "DEPT_CD");
  91. commGridLevels(datagrid);
  92. colStyle(datagrid, "DEPT_NM,DEPT_DESC,P_DEPT_NM,LOCKED_YN");
  93. }
  94. function find() {
  95. if (isValid == false) return;
  96. exec("/root/formData/searchInfo", "", "find", "/root/gridData/ListResult_0_VO",
  97. "/root/gridData/ListResult_2_VO", "/root/gridData/ListResult_1_VO");
  98. radio1.dispatch("xforms-value-changed");
  99. }
  100. function save() {
  101. if (isValid == false) return;
  102. var datagrid = datagrid1;
  103. var rowSep = (datagrid.attribute("rowsep")=='')?'|':datagrid.attribute('rowsep');
  104. var colSep = (datagrid.attribute("colsep")=='')?'^':datagrid.attribute('colsep');
  105. var data = datagrid.getUpdateData("delete");
  106. var up_data = data.split(rowSep);
  107. var dRows = up_data.length - 1; // 有删除标志的行数
  108. var rows = datagrid.rows;
  109. for (var i=1; i<dRows; i++) { // 清除删除部门下级部门的变更标志
  110. var vRow = up_data[i].split(colSep);
  111. var Idx = Number(vRow[1]);
  112. var level = datagrid.outlinelevel(Idx++);
  113. for (var j=Idx; j<rows; j++) {
  114. if (datagrid.outlinelevel(j) == level) break;
  115. datagrid.rowStatus(j) = 0;
  116. }
  117. }
  118. exec("/root/formData/searchInfo", datagrid1, "save", "/root/gridData/ListResult_0_VO",
  119. "/root/gridData/ListResult_2_VO", "/root/gridData/ListResult_1_VO");
  120. radio1.dispatch("xforms-value-changed");
  121. }
  122. function create() {
  123. if (isValid == false) return;
  124. if (model.getXPathValue("count(/root/codeData/ListResult_1_VO/ListResult_1_Row)") == 0) {
  125. alert("请先查询记录!!!");
  126. return;
  127. }
  128. var datagrid = datagrid1;
  129. var row = datagrid.rows;
  130. commAddRow(datagrid, "DEPT_CD,DEPT_NM,DEPT_DESC,P_DEPT_NM,CHK");
  131. datagrid.valueMatrix(row, datagrid.colRef("P_DEPT_NM")) = treeview3.label;
  132. datagrid.valueMatrix(row, datagrid.colRef("P_DEPT_CD")) = treeview3.value;
  133. }
  134. function remove() {
  135. var datagrid = datagrid1;
  136. if (treeview3.value == "") {
  137. alert("网格中没有记录!!!");
  138. return;
  139. }
  140. if(commComfirmBox("确定要删除选定行?", "删除确认") == '0') return;
  141. commDelRow(datagrid1, "CHK", "", "DEPT_CD", "DEPT_NM,DEPT_DESC,P_DEPT_NM");
  142. }
  143. function find2(refresh) {
  144. showProgressBar();
  145. if (model.getValue("/root/formData/searchInfo2/DT_CD") == "") {
  146. model.removeNodeset("/root/gridData/ListResult_1_VO");
  147. } else {
  148. if (typeof refresh == "undefined"|| refresh == null || refresh == "") refresh = true;
  149. if (refresh) exec("/root/formData/searchInfo2", "", "onclick", "/root/gridData/ListResult_1_VO");
  150. }
  151. if (model.getValue("/root/formData/searchInfo2/DT_CD") != "") {
  152. var cnt = model.getXPathValue("count(/root/gridData/ListResult_1_VO/ListResult_1_Row)");
  153. if (isUseDeptPriv) {
  154. for (var i = cnt; i > 0; i--) {
  155. var mnscr = model.getValue("/root/gridData/ListResult_1_VO/ListResult_1_Row[" + i + "]/MNSCR_ID");
  156. if (model.getValue("/root/codeData/ListResult_2_VO/ListResult_2_Row[MNSCR_ID = '" + mnscr + "']/MNSCR_ID") == "" ||
  157. model.getValue("/root/codeData/ListResult_3_VO/ListResult_3_Row[MNSCR_ID = '" + mnscr + "']/MNSCR_ID") == "")
  158. model.removenode("/root/gridData/ListResult_1_VO/ListResult_1_Row[" + i + "]");
  159. }
  160. } else {
  161. for (var i = cnt; i > 0; i--) {
  162. var mnscr = model.getValue("/root/gridData/ListResult_1_VO/ListResult_1_Row[" + i + "]/MNSCR_ID");
  163. if (model.getValue("/root/codeData/ListResult_2_VO/ListResult_2_Row[MNSCR_ID = '" + mnscr + "']/MNSCR_ID") == "")
  164. model.removenode("/root/gridData/ListResult_1_VO/ListResult_1_Row[" + i + "]");
  165. }
  166. }
  167. }
  168. model.removenode("/root/reqData");
  169. model.removenode("/root/resData");
  170. output202.refresh();
  171. var datagrid = datagrid2;
  172. datagrid.rebuild();
  173. datagrid.refresh();
  174. if (model.getValue("/root/formData/searchInfo2/DT_CD") != "") {
  175. commGridLevels(datagrid);
  176. colStyle(datagrid, "CHK");
  177. }
  178. removeProgressBar();
  179. }
  180. var onrowchanged = false;
  181. ]]>
  182. </script>
  183. </xhtml:head>
  184. <xhtml:body overflow="hidden" pagewidth="980" pageheight="620" style="font-family:宋体; ">
  185. <group id="group1" style="left:0px; top:0px; width:980px; height:30px; ">
  186. <line id="line2" style="x1:0px; y1:29px; x2:980px; y2:29px; "/>
  187. <caption id="caption101" class="cell" style="left:0px; top:5px; width:90px; height:20px; vertical-align:middle; ">部门</caption>
  188. <input id="input101" ref="/root/codeData/ListResult_0_VO/ListResult_0_Row[DEPT_CD=/root/formData/searchInfo/DEPT_CD]/DEPT_NM" editable="false" inputtype="button" style="left:92px; top:5px; width:200px; height:20px; ">
  189. <script type="javascript" ev:event="onclick">
  190. <![CDATA[
  191. treeview1.visible = (treeview1.visible == false);
  192. ]]>
  193. </script>
  194. </input>
  195. <select1 id="radio1" ref="/root/gridData/viewItem" appearance="full" cols="3" style="left:303px; top:5px; width:155px; height:20px; border-style:none; ">
  196. <choices>
  197. <item>
  198. <label>所有</label>
  199. <value>A</value>
  200. </item>
  201. <item>
  202. <label>非禁项</label>
  203. <value>N</value>
  204. </item>
  205. <item>
  206. <label>禁用项</label>
  207. <value>Y</value>
  208. </item>
  209. </choices>
  210. <script type="javascript" ev:event="xforms-value-changed">
  211. <![CDATA[
  212. var datagrid = datagrid1;
  213. switch (model.getValue("/root/gridData/viewItem")) {
  214. case "N":
  215. datagrid.nodeset = "/root/gridData/ListResult_0_VO/ListResult_0_Row[LOCKED_YN != 'Y']";
  216. break;
  217. case "Y":
  218. datagrid.nodeset = "/root/gridData/ListResult_0_VO/ListResult_0_Row[LOCKED_YN = 'Y']";
  219. break;
  220. default : datagrid.nodeset = "/root/gridData/ListResult_0_VO/ListResult_0_Row";
  221. }
  222. pageInit();
  223. ]]>
  224. </script>
  225. </select1>
  226. </group>
  227. <datagrid id="datagrid1" nodeset="/root/gridData/ListResult_0_VO/ListResult_0_Row" caption="部门名称^部门代码^担当业务说明^上级部门^禁用^变更者名^变更时间^P_DEPT_CD" colsep="^" colwidth="140, 100, 180, 100, 35, 100, 120, 100" extendlastcol="false" mergecellsfixedrows="bycolrec" rowheight="42" rowsep="|" style="left:0px; top:34px; width:980px; height:265px; text-align:center; border-style:solid; border-right-style:sunken; ">
  228. <col ref="DEPT_NM" type="input" style="text-align:left; "/>
  229. <col ref="DEPT_CD" type="input" maxlength="8"/>
  230. <col ref="DEPT_DESC" type="input" style="text-align:left; "/>
  231. <col editable="false" key="false" ref="P_DEPT_NM" type="inputbutton" style="text-align:left; "/>
  232. <col checkvalue="Y,N" ref="LOCKED_YN" type="checkbox"/>
  233. <col key="false" ref="MOD_ID" style="text-align:left; "/>
  234. <col key="false" ref="MOD_DATE" format="yyyy-mm-dd hh:nn:ss" mask="exclude"/>
  235. <col ref="P_DEPT_CD" visibility="hidden"/>
  236. <script type="javascript" ev:event="onclick">
  237. <![CDATA[
  238. var datagrid = datagrid1;
  239. if (datagrid.isCell(event.target)) datagrid.editCell();
  240. if (!onrowchanged) return;
  241. var row = datagrid.row;
  242. var rowStatus = datagrid.rowStatus(row);
  243. var dept_cd = "";
  244. if (rowStatus == 0 || rowStatus == 2)
  245. dept_cd = datagrid.valueMatrix(row, datagrid.colRef("DEPT_CD"));
  246. model.setValue("/root/formData/searchInfo2/DT_CD", dept_cd);
  247. model.setValue("/root/formData/searchInfo/P_DEPT_CD", datagrid.valueMatrix(row, datagrid.colRef("P_DEPT_CD")));
  248. find2();
  249. onrowchanged = false;
  250. ]]>
  251. </script>
  252. <script type="javascript" ev:event="onrowchanged">
  253. <![CDATA[
  254. onrowchanged = true;
  255. ]]>
  256. </script>
  257. <script type="javascript" ev:event="onbuttonclick">
  258. <![CDATA[
  259. var datagrid = datagrid1;
  260. if (onrowchanged) datagrid.dispatch("onclick");
  261. if (datagrid.col != datagrid.colRef("P_DEPT_NM") || datagrid.isReadOnly(datagrid.row, datagrid.colRef("CHK"))) return;
  262. var treeview = treeview2;
  263. treeview.visible = (treeview.visible == false);
  264. if (treeview.visible == false) return;
  265. treeview.refresh();
  266. var btn = event.pTarget;
  267. //var children = btn.parent.parent.children; // btn -> cell -> datarigd -> children
  268. var children = datagrid.children;
  269. datagrid.topRow = datagrid.topRow;
  270. var tvTop = Number(btn.attribute("top")) + Number(btn.attribute("height")) +
  271. Number(datagrid.attribute("top").substr(0, datagrid.attribute("top").length - 2)) - (datagrid.topRow - 1) * 21;
  272. treeview.attribute("top") = tvTop + "px";
  273. datagrid.editCell();
  274. for(i=0; i< children.length; i++) {
  275. var control = children.item(i);
  276. if (control.elementName == "xforms:gridinput") {
  277. var tvLeft = Number(control.attribute("left"));
  278. treeview.attribute("left") = tvLeft + "px";
  279. break;
  280. }
  281. }
  282. ]]>
  283. </script>
  284. <script type="javascript" ev:event="xforms-value-changed">
  285. <![CDATA[
  286. var datagrid = datagrid1;
  287. var colChk = datagrid.colRef("CHK");
  288. if (colChk != datagrid.col) return;
  289. var row = datagrid.row;
  290. var rows = datagrid.rows;
  291. var level = datagrid.outlinelevel(row);
  292. if (datagrid.valueMatrix(row, colChk) == "false") {
  293. var end = datagrid.fixedRows;
  294. for (var i=row-1; i>=end; i--) {
  295. if (datagrid.outlinelevel(i) < level) {
  296. if (datagrid.valueMatrix(i, colChk) == "true") {
  297. datagrid.valueMatrix(row, colChk) = "true";
  298. alert("必须先取消上级部门的删除标志!");
  299. }
  300. break;
  301. }
  302. }
  303. } else {
  304. for (var i=row; i<rows; i++) {
  305. if (datagrid.outlinelevel(i) > level)
  306. datagrid.valueMatrix(i, colChk) = "true";
  307. }
  308. }
  309. ]]>
  310. </script>
  311. </datagrid>
  312. <group id="group2" style="left:0px; top:304px; width:980px; height:30px; ">
  313. <line id="line3" style="x1:0px; y1:0px; x2:980px; y2:0px; "/>
  314. <line id="line4" style="x1:0px; y1:29px; x2:980px; y2:29px; "/>
  315. <caption id="caption201" class="cell" style="left:0px; top:5px; width:90px; height:20px; vertical-align:middle; ">菜单</caption>
  316. <input id="input201" ref="/root/codeData/ListResult_1_VO/ListResult_1_Row[MNSCR_ID=/root/formData/searchInfo2/MNSCR_ID]/MNSCR_NM" editable="false" inputtype="button" style="left:92px; top:5px; width:200px; height:20px; ">
  317. <script type="javascript" ev:event="onclick">
  318. <![CDATA[
  319. treeview3.visible = (treeview3.visible == false);
  320. ]]>
  321. </script>
  322. </input>
  323. <caption id="caption202" class="cell" style="left:302px; top:5px; width:90px; height:20px; vertical-align:middle; ">部门名称</caption>
  324. <output id="output202" ref="/root/codeData/ListResult_0_VO/ListResult_0_Row[DEPT_CD=/root/formData/searchInfo2/DT_CD]/DEPT_NM" style="left:394px; top:5px; width:150px; height:20px; border-color:#c0c0c0; border-style:solid; "/>
  325. <button id="button203" class="sw" style="left:554px; top:5px; width:100px; height:20px; ">
  326. <caption>保存权限</caption>
  327. <script type="javascript" ev:event="onclick">
  328. <![CDATA[
  329. if (isValid == false) return;
  330. var datagrid = datagrid2;
  331. var rowSep = (datagrid.attribute("rowsep")=='')?'|':datagrid.attribute('rowsep');
  332. var colSep = (datagrid.attribute("colsep")=='')?'^':datagrid.attribute('colsep');
  333. var data = datagrid.getUpdateData();
  334. var up_data = data.split(rowSep);
  335. var rows = up_data.length - 1;
  336. var colRef = datagrid.colRef("MOD_ID");
  337. var colChk = datagrid.colRef("CHK");
  338. for (var i=1; i<rows; i++) {
  339. var vRow = up_data[i].split(colSep);
  340. var Idx = Number(vRow[1]);
  341. /* FCNRS_REF为空串时,记录不存在 */
  342. var ref = datagrid.valueMatrix(Idx, colRef);
  343. var chk = datagrid.valueMatrix(Idx, colChk);
  344. datagrid.rowStatus(Idx) = 0;
  345. if (ref == "") { // 插入
  346. if (chk == "Y") datagrid.addStatus(Idx, "insert");
  347. } else { // 删除
  348. if (chk == "N") datagrid.addStatus(Idx, "delete");
  349. }
  350. }
  351. exec("/root/formData/searchInfo2", datagrid, "save2", "/root/gridData/ListResult_1_VO");
  352. find2(false);
  353. ]]>
  354. </script>
  355. </button>
  356. </group>
  357. <datagrid id="datagrid2" nodeset="/root/gridData/ListResult_1_VO/ListResult_1_Row" caption="菜单/界面ID^菜单/界面名^菜单区分^权限分配^修改人^修改时间" colsep="^" colwidth="120, 150, 35, 35, 80, 120" extendlastcol="false" mergecellsfixedrows="bycolrec" rowheight="40" rowsep="|" style="left:0px; top:338px; width:980px; height:282px; border-style:solid; border-right-style:sunken; ">
  358. <col ref="MNSCR_ID" style="text-align:left; "/>
  359. <col key="false" ref="MNSCR_NM" style="text-align:left; "/>
  360. <col key="false" ref="MNSCR_TP"/>
  361. <col checkvalue="Y,N" key="false" ref="CHK" type="checkbox"/>
  362. <col key="false" ref="MOD_ID" style="text-align:left; "/>
  363. <col key="false" ref="MOD_DATE" format="yyyy-mm-dd hh:mm:ss" mask="exclude"/>
  364. <script type="javascript" ev:event="onentercell">
  365. <![CDATA[
  366. datagrid2.editCell();
  367. ]]>
  368. </script>
  369. </datagrid>
  370. <treeview id="treeview1" ref="/root/formData/searchInfo/DEPT_CD" visibility="hidden" expanddepth="-1" image="../../images/blt_1.gif" itemsettype="depth" style="left:92px; top:25px; width:200px; height:150px; ">
  371. <itemset nodeset="/root/codeData/ListResult_0_VO/ListResult_0_Row">
  372. <label ref="DEPT_NM"/>
  373. <value ref="DEPT_CD"/>
  374. <depth ref="LEVEL"/>
  375. </itemset>
  376. <script type="javascript" ev:event="xforms-select">
  377. <![CDATA[
  378. event.pTarget.visible = false;
  379. ]]>
  380. </script>
  381. <script type="javascript" ev:event="xforms-value-changed">
  382. <![CDATA[
  383. find();
  384. ]]>
  385. </script>
  386. </treeview>
  387. <treeview id="treeview3" ref="/root/formData/searchInfo2/MNSCR_ID" visibility="hidden" expanddepth="-1" image="../../images/blt_1.gif" itemsettype="depth" style="left:92px; top:329px; width:200px; height:150px; ">
  388. <itemset nodeset="/root/codeData/ListResult_1_VO/ListResult_1_Row">
  389. <label ref="MNSCR_NM"/>
  390. <value ref="MNSCR_ID"/>
  391. <depth ref="LEVEL"/>
  392. </itemset>
  393. <script type="javascript" ev:event="xforms-select">
  394. <![CDATA[
  395. event.pTarget.visible = false;
  396. ]]>
  397. </script>
  398. <script type="javascript" ev:event="xforms-value-changed">
  399. <![CDATA[
  400. event.pTarget.visible = false;
  401. find2();
  402. ]]>
  403. </script>
  404. </treeview>
  405. <treeview id="treeview2" ref="/root/formData/searchInfo/P_DEPT_CD" visibility="hidden" expanddepth="-1" image="../../images/blt_1.gif" itemsettype="depth" style="left:420px; top:110px; width:200px; height:150px; ">
  406. <itemset nodeset="/root/codeData/ListResult_0_VO/ListResult_0_Row">
  407. <label ref="DEPT_NM"/>
  408. <value ref="DEPT_CD"/>
  409. <depth ref="LEVEL"/>
  410. </itemset>
  411. <script type="javascript" ev:event="xforms-select">
  412. <![CDATA[
  413. event.pTarget.visible = false;
  414. ]]>
  415. </script>
  416. <script type="javascript" ev:event="xforms-value-changed">
  417. <![CDATA[
  418. event.pTarget.visible = false;
  419. var datagrid = datagrid1;
  420. var nodeset = datagrid.nodeset;
  421. var curFocusedIdx = datagrid.row - datagrid.fixedRows + 1;
  422. var p_dept_cd = event.pTarget.value; // model.getValue("/root/formData/searchInfo/P_DEPT_CD");
  423. var dept_cd = model.getValue(nodeset + "["+curFocusedIdx+"]/DEPT_CD");
  424. var root_cd = model.getValue("/root/formData/searchInfo/DEPT_CD");
  425. while (p_dept_cd != root_cd) {
  426. if (dept_cd == p_dept_cd) {
  427. alert("不能设置上级部门为本身或其下级部门!");
  428. model.setValue("/root/formData/searchInfo/P_DEPT_CD", model.getValue(nodeset + "["+curFocusedIdx+"]/P_DEPT_CD"));
  429. return;
  430. }
  431. p_dept_cd = model.getValue(nodeset + "[DEPT_CD="+p_dept_cd+"]/P_DEPT_CD");
  432. }
  433. model.setValue(nodeset + "["+curFocusedIdx+"]/P_DEPT_CD", event.pTarget.value);
  434. datagrid.valueMatrix(datagrid.row, datagrid.colRef("P_DEPT_NM")) = event.pTarget.label;
  435. datagrid.addStatus(datagrid.row, "update");
  436. ]]>
  437. </script>
  438. </treeview>
  439. <script type="javascript" ev:event="onclick">
  440. <![CDATA[
  441. var target = event.target;
  442. var parent = event.pTarget.parent;
  443. var parent2 = null;
  444. if (parent != null) parent2 = parent.parent;
  445. if (target != "treeview1" && target != "input101"
  446. && parent != null && parent.attribute("id") != "treeview1" && parent.attribute("id") != "input101"
  447. && parent2 != null && parent2.attribute("id") != "treeview1" && parent2.attribute("id") != "input101")
  448. treeview1.visible = false;
  449. if (parent2 != null && parent2.attribute("id") != "treeview2")
  450. treeview2.visible = false;
  451. if (target != "treeview3" && target != "input201"
  452. && parent != null && parent.attribute("id") != "treeview3" && parent.attribute("id") != "input201"
  453. && parent2 != null && parent2.attribute("id") != "treeview3" && parent2.attribute("id") != "inpu201")
  454. treeview3.visible = false;
  455. ]]>
  456. </script>
  457. </xhtml:body>
  458. </xhtml:html>