w_mftree_add.srw 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. $PBExportHeader$w_mftree_add.srw
  2. forward
  3. global type w_mftree_add from w_publ_base
  4. end type
  5. type dw_1 from datawindow within w_mftree_add
  6. end type
  7. type cb_1 from uo_imflatbutton within w_mftree_add
  8. end type
  9. end forward
  10. global type w_mftree_add from w_publ_base
  11. integer width = 1785
  12. integer height = 893
  13. string title = "菜单权限树结点"
  14. boolean minbox = false
  15. windowtype windowtype = response!
  16. long backcolor = 134217750
  17. dw_1 dw_1
  18. cb_1 cb_1
  19. end type
  20. global w_mftree_add w_mftree_add
  21. type variables
  22. s_sys_func_parm s_sfp
  23. end variables
  24. on w_mftree_add.create
  25. int iCurrent
  26. call super::create
  27. this.dw_1=create dw_1
  28. this.cb_1=create cb_1
  29. iCurrent=UpperBound(this.Control)
  30. this.Control[iCurrent+1]=this.dw_1
  31. this.Control[iCurrent+2]=this.cb_1
  32. end on
  33. on w_mftree_add.destroy
  34. call super::destroy
  35. destroy(this.dw_1)
  36. destroy(this.cb_1)
  37. end on
  38. event open;call super::open;
  39. s_sfp = Message.PowerObjectParm
  40. datawindowchild dw_child
  41. datastore ds_modules
  42. long i, row
  43. ds_modules = create datastore
  44. //ds_modules.dataobject = 'ds_sys_module_kf'
  45. ds_modules.dataobject = 'ds_sys_module_ddd_new'
  46. IF dw_1.GetChild('moduleid', Ref dw_child) = 1 THEN
  47. dw_child.Reset()
  48. for i = 1 to ds_modules.RowCount()
  49. row = dw_child.InsertRow(0)
  50. dw_child.SetItem(row, 'moduleid', ds_modules.Object.moduleid[i])
  51. dw_child.SetItem(row, 'modulename', ds_modules.Object.modulename[i])
  52. next
  53. ELSE
  54. MessageBox('ERROR', '获取模块ChildDW失败!')
  55. END IF
  56. destroy ds_modules
  57. dw_1.InsertRow(0)
  58. IF s_sfp.opflag = 1 THEN //add brother
  59. dw_1.Object.funcid[1] = 0
  60. dw_1.Object.parentid[1] = s_sfp.sfunc.parentid
  61. dw_1.Object.mainid[1] = 0
  62. dw_1.Object.functype[1] = s_sfp.sfunc.functype
  63. dw_1.Object.if_use[1] = 1
  64. dw_1.Object.sortflag[1] = s_sfp.sfunc.sortflag +1
  65. dw_1.Object.moduleid[1] = s_sfp.sfunc.moduleid
  66. This.Title = This.Title+' add brother'
  67. ELSEIF s_sfp.opflag = 2 THEN //add son
  68. dw_1.Object.funcid[1] = 0
  69. dw_1.Object.parentid[1] = s_sfp.sfunc.funcid
  70. dw_1.Object.mainid[1] = 0
  71. dw_1.Object.functype[1] = s_sfp.sfunc.functype
  72. dw_1.Object.if_use[1] = 1
  73. dw_1.Object.sortflag[1] = 0
  74. dw_1.Object.moduleid[1] = s_sfp.sfunc.moduleid
  75. This.Title = This.Title+' add son'
  76. ELSEIF s_sfp.opflag = 3 THEN //edit
  77. dw_1.Object.funcid[1] = s_sfp.sfunc.funcid
  78. dw_1.Object.parentid[1] = s_sfp.sfunc.parentid
  79. dw_1.Object.mainid[1] = s_sfp.sfunc.mainid
  80. dw_1.Object.functype[1] = s_sfp.sfunc.functype
  81. dw_1.Object.treename[1] = s_sfp.sfunc.treename
  82. dw_1.Object.MenuName[1] = s_sfp.sfunc.MenuName
  83. dw_1.Object.if_use[1] = s_sfp.sfunc.if_use
  84. dw_1.Object.sortflag[1] = s_sfp.sfunc.sortflag
  85. dw_1.Object.versiontype[1] = s_sfp.sfunc.versiontype
  86. dw_1.Object.worktype[1] = s_sfp.sfunc.worktype
  87. dw_1.Object.moduleid[1] = s_sfp.sfunc.moduleid
  88. This.Title = This.Title+' edit'
  89. END IF
  90. s_sfp.opflag = 0 //返回的默认信息
  91. end event
  92. event close;call super::close;closewithreturn(this,s_sfp)
  93. end event
  94. type cb_func from w_publ_base`cb_func within w_mftree_add
  95. boolean visible = false
  96. end type
  97. type cb_exit from w_publ_base`cb_exit within w_mftree_add
  98. integer x = 1042
  99. integer y = 634
  100. end type
  101. type dw_1 from datawindow within w_mftree_add
  102. integer y = 32
  103. integer width = 1733
  104. integer height = 573
  105. integer taborder = 30
  106. boolean bringtotop = true
  107. string title = "none"
  108. string dataobject = "dw_sys_funcpwr_add"
  109. boolean border = false
  110. boolean livescroll = true
  111. end type
  112. type cb_1 from uo_imflatbutton within w_mftree_add
  113. integer x = 424
  114. integer y = 634
  115. integer width = 304
  116. integer height = 99
  117. integer taborder = 20
  118. boolean bringtotop = true
  119. end type
  120. event clicked;call super::clicked;
  121. dw_1.accepttext()
  122. uo_sys_funcpwr uo_sfp
  123. long ls_rslt
  124. dw_1.object.treename[1]=trim(dw_1.object.treename[1])
  125. dw_1.object.menuname[1]=trim(dw_1.object.menuname[1])
  126. ls_rslt=uo_sfp.save( &
  127. dw_1.object.funcid[1],&
  128. dw_1.object.parentid[1],&
  129. dw_1.object.mainid[1],&
  130. dw_1.object.functype[1],&
  131. dw_1.object.treename[1],&
  132. dw_1.object.menuname[1],&
  133. dw_1.object.if_use[1], &
  134. dw_1.object.sortflag[1],&
  135. dw_1.object.versiontype[1],&
  136. dw_1.object.worktype[1],&
  137. dw_1.object.moduleid[1])
  138. if ls_rslt<>1 then
  139. messagebox('错误',uo_sfp.ins_msg,stopsign!,ok!)
  140. return
  141. end if
  142. s_sfp.sfunc.funcid =uo_sfp.ins_funcid
  143. s_sfp.sfunc.parentid=dw_1.object.parentid[1]
  144. s_sfp.sfunc.mainid =dw_1.object.mainid[1]
  145. s_sfp.sfunc.functype=dw_1.object.functype[1]
  146. s_sfp.sfunc.treename=dw_1.object.treename[1]
  147. s_sfp.sfunc.menuname=dw_1.object.menuname[1]
  148. s_sfp.sfunc.if_use =dw_1.object.if_use[1]
  149. s_sfp.sfunc.sortflag=dw_1.object.sortflag[1]
  150. s_sfp.sfunc.versiontype=dw_1.object.versiontype[1]
  151. s_sfp.sfunc.worktype=dw_1.object.worktype[1]
  152. s_sfp.sfunc.moduleid=dw_1.object.moduleid[1]
  153. s_sfp.opflag=1
  154. close(parent)
  155. end event