w_grade_def.srw 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. $PBExportHeader$w_grade_def.srw
  2. forward
  3. global type w_grade_def from w_publ_edit_choice
  4. end type
  5. end forward
  6. global type w_grade_def from w_publ_edit_choice
  7. integer width = 3054
  8. integer height = 1880
  9. string title = "客户等级"
  10. boolean minbox = true
  11. windowtype windowtype = popup!
  12. end type
  13. global w_grade_def w_grade_def
  14. on w_grade_def.create
  15. call super::create
  16. end on
  17. on w_grade_def.destroy
  18. call super::destroy
  19. end on
  20. type cb_func from w_publ_edit_choice`cb_func within w_grade_def
  21. boolean visible = false
  22. integer x = 960
  23. integer width = 165
  24. boolean enabled = false
  25. end type
  26. type cb_exit from w_publ_edit_choice`cb_exit within w_grade_def
  27. integer x = 837
  28. end type
  29. type cb_add from w_publ_edit_choice`cb_add within w_grade_def
  30. integer x = 151
  31. end type
  32. event cb_add::clicked;call super::clicked;IF NOT f_power_ind(1713,sys_msg_pow) THEN
  33. MessageBox(publ_operator,sys_msg_pow)
  34. RETURN
  35. END IF
  36. Long ll_newid,i
  37. String errmsg
  38. IF dw_edit_mode THEN
  39. dw_uc.AcceptText()
  40. IF dw_uc.GetNextModified(0, Primary!) = 0 THEN
  41. MessageBox(publ_operator,'没有任何修改,不可以保存!')
  42. RETURN
  43. END IF
  44. dw_uc.Object.grade[dw_uc.GetRow()] = Trim(dw_uc.Object.grade[dw_uc.GetRow()])
  45. IF dw_uc.Object.grade[dw_uc.GetRow()] = '' THEN
  46. MessageBox(publ_operator,'请输入客户等级!')
  47. RETURN
  48. END IF
  49. IF dw_uc.Object.gradeid[dw_uc.GetRow()] = 0 THEN
  50. ll_newid = f_sys_scidentity(0,"u_grade_def","gradeid",errmsg,TRUE,id_sqlca)
  51. IF ll_newid <= 0 THEN
  52. MessageBox(publ_operator,errmsg)
  53. RETURN
  54. END IF
  55. dw_uc.Object.gradeid[dw_uc.GetRow()] = ll_newid
  56. dw_uc.Object.opdate[dw_uc.GetRow()] = datetime(today(), now())
  57. dw_uc.Object.opemp[dw_uc.GetRow()] = publ_operator
  58. else
  59. dw_uc.Object.moddate[dw_uc.GetRow()] = datetime(today(), now())
  60. dw_uc.Object.modemp[dw_uc.GetRow()] = publ_operator
  61. END IF
  62. END IF
  63. IF dw_edit_mode THEN
  64. String ls_errmsg
  65. IF dw_uc.Update() = -1 THEN
  66. IF Pos(ins_sqlerrtext,"Cannot insert duplicate key row") > 0 THEN
  67. ls_errmsg = "关键内容重复"
  68. ELSE
  69. ls_errmsg = "因为网络或其他原因>"+ins_sqlerrtext
  70. END IF
  71. ROLLBACK;
  72. MessageBox (publ_operator,ls_errmsg+",保存操作失败!",Exclamation!,OK!)
  73. LS_UPDATE_FLAG = FALSE
  74. RETURN
  75. ELSE
  76. COMMIT;
  77. FOR i = 1 TO 4
  78. dw_uc.SetTabOrder ( i, 0 )
  79. NEXT
  80. LS_UPDATE_FLAG = TRUE
  81. END IF
  82. ins_sqlerrtext = ""
  83. ELSE
  84. Long li_row, li_cur_row
  85. li_cur_row = dw_uc.GetRow()
  86. li_row = dw_uc.InsertRow (0)
  87. FOR i = 1 TO 4
  88. dw_uc.SetTabOrder ( i, i*10 )
  89. NEXT
  90. dw_uc.SelectRow(0,FALSE)
  91. dw_uc.ScrollToRow (li_row)
  92. dw_uc.SelectRow(li_row,TRUE)
  93. dw_uc.SetFocus()
  94. modifyrow_no = li_row
  95. END IF
  96. dw_edit_mode = NOT dw_edit_mode
  97. WF_FACE_CHANGE()
  98. end event
  99. type cb_edit from w_publ_edit_choice`cb_edit within w_grade_def
  100. integer x = 343
  101. end type
  102. event cb_edit::clicked;call super::clicked;if not f_power_ind(1713,sys_msg_pow) THEN
  103. MessageBox(publ_operator,sys_msg_pow)
  104. RETURN
  105. END IF
  106. Long i
  107. IF dw_edit_mode THEN
  108. IF dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = NewModified! OR dw_uc.GetItemStatus(dw_uc.GetRow(), 0, Primary!) = New! THEN
  109. dw_uc.DeleteRow(dw_uc.GetRow())
  110. ELSE
  111. dw_uc.ReselectRow(dw_uc.GetRow())
  112. END IF
  113. FOR i = 1 TO 4
  114. dw_uc.SetTabOrder ( i, 0 )
  115. NEXT
  116. modifyrow_no = 0
  117. ELSE
  118. modifyrow_no = dw_uc.GetRow()
  119. FOR i = 1 TO 4
  120. dw_uc.SetTabOrder ( i, i*10 )
  121. NEXT
  122. dw_uc.SetFocus()
  123. dw_uc.SelectRow(0,FALSE)
  124. dw_uc.ScrollToRow (modifyrow_no)
  125. dw_uc.SelectRow(modifyrow_no,TRUE)
  126. END IF
  127. dw_edit_mode = NOT dw_edit_mode
  128. WF_FACE_CHANGE()
  129. end event
  130. type cb_delet from w_publ_edit_choice`cb_delet within w_grade_def
  131. integer x = 535
  132. end type
  133. event cb_delet::clicked;call super::clicked;IF NOT f_power_ind(1713,sys_msg_pow) THEN
  134. MessageBox(publ_operator,sys_msg_pow)
  135. RETURN
  136. END IF
  137. IF MessageBox (publ_operator,"是否确定要删除当前记录?(选择确定后记录将不可恢复)",Question!,YesNo! ) = 2 THEN
  138. RETURN
  139. END IF
  140. String arg_msg
  141. IF DW_UC.GetRow() <= 0 THEN
  142. MessageBox('','没有操作目标记录!')
  143. RETURN
  144. END IF
  145. DW_UC.SetRedraw (FALSE)
  146. DW_UC.DeleteRow (0)
  147. DW_UC.TriggerEvent (RowFocusChanged!)
  148. IF DW_UC.Update() = -1 THEN
  149. ROLLBACK;
  150. MessageBox (publ_operator,"删除记录操作失败!",Exclamation!,OK!)
  151. ELSE
  152. COMMIT;
  153. END IF
  154. DW_UC.SetRedraw (TRUE)
  155. end event
  156. type cb_choice from w_publ_edit_choice`cb_choice within w_grade_def
  157. boolean visible = false
  158. integer x = 1152
  159. integer width = 165
  160. boolean enabled = false
  161. end type
  162. type dw_uc from w_publ_edit_choice`dw_uc within w_grade_def
  163. integer width = 3026
  164. integer height = 1600
  165. string dataobject = "dw_grade_def"
  166. end type
  167. event dw_uc::dwnkey;call super::dwnkey;IF Key = keyenter! THEN
  168. keybd_event ( 9, 0, 0 , 0 ) // 按下tab
  169. keybd_event ( 9, 0, 2, 0 ) // 释放tab
  170. RETURN 1
  171. END IF
  172. end event
  173. type cb_rtr from w_publ_edit_choice`cb_rtr within w_grade_def
  174. end type
  175. type cb_help from w_publ_edit_choice`cb_help within w_grade_def
  176. integer x = 686
  177. end type
  178. type ln_bar from w_publ_edit_choice`ln_bar within w_grade_def
  179. end type
  180. type ln_bar2 from w_publ_edit_choice`ln_bar2 within w_grade_def
  181. end type
  182. type r_bar from w_publ_edit_choice`r_bar within w_grade_def
  183. end type