w_cd_custs.srw 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. $PBExportHeader$w_cd_custs.srw
  2. forward
  3. global type w_cd_custs from w_publ_base_style
  4. end type
  5. type dw_1 from u_dw_rbtnfilter within w_cd_custs
  6. end type
  7. type cb_1 from uo_imflatbutton within w_cd_custs
  8. end type
  9. type cb_2 from uo_imflatbutton within w_cd_custs
  10. end type
  11. type dw_2 from u_dw_rbtnfilter within w_cd_custs
  12. end type
  13. end forward
  14. global type w_cd_custs from w_publ_base_style
  15. integer width = 3465
  16. integer height = 2044
  17. string title = "门店管理"
  18. boolean maxbox = true
  19. boolean resizable = true
  20. event retrieve_dw1 ( )
  21. event retrieve_mx ( )
  22. dw_1 dw_1
  23. cb_1 cb_1
  24. cb_2 cb_2
  25. dw_2 dw_2
  26. end type
  27. global w_cd_custs w_cd_custs
  28. event retrieve_dw1();// DONE: 获取客户列表
  29. Long i, row, cnt
  30. oleobject custs, cust
  31. String arg_msg
  32. custs = AppCom.GetCusts(app_token, Ref arg_msg)
  33. IF arg_msg <> '' THEN
  34. MessageBox('ERROR', arg_msg)
  35. RETURN
  36. END IF
  37. dw_1.SetRedraw(False)
  38. dw_1.Reset()
  39. cnt = custs.Count
  40. FOR i = 1 To cnt
  41. cust = custs.GetItem(i - 1)
  42. row = dw_1.InsertRow(0)
  43. dw_1.SetItem(row, 'cusid', cust.GetInt('cusid'))
  44. dw_1.SetItem(row, 'cuscode', cust.GetString('cuscode'))
  45. dw_1.SetItem(row, 'cusname', cust.GetString('cusname'))
  46. dw_1.SetItem(row, 'simplename', cust.GetString('simplename'))
  47. dw_1.SetItem(row, 'custype', cust.GetString('custype'))
  48. dw_1.SetItem(row, 'tele', cust.GetString('tele'))
  49. dw_1.SetItem(row, 'address', cust.GetString('address'))
  50. dw_1.SetItem(row, 'freight', cust.GetString('freight'))
  51. dw_1.SetItem(row, 'freight_tele', cust.GetString('freight_tele'))
  52. dw_1.SetItem(row, 'inuse', cust.GetInt('inuse'))
  53. dw_1.SetItem(row, 'precode', cust.GetString('precode'))
  54. NEXT
  55. dw_1.SetRedraw(True)
  56. row = dw_1.GetRow()
  57. IF row > 0 THEN
  58. dw_1.SelectRow(row, True)
  59. END IF
  60. This.TriggerEvent('retrieve_mx')
  61. end event
  62. event retrieve_mx();Long ll_cusid, row
  63. dw_2.Reset()
  64. row = dw_1.GetRow()
  65. IF row <= 0 THEN
  66. RETURN
  67. END IF
  68. ll_cusid = dw_1.Object.cusid[row]
  69. if isnull(ll_cusid) then return
  70. oleobject users, user
  71. Long i
  72. String arg_msg = ''
  73. users = AppCom.GetUsers(app_token, ll_cusid, Ref arg_msg)
  74. IF arg_msg <> '' THEN
  75. MessageBox('ERROR', arg_msg)
  76. RETURN
  77. END IF
  78. dw_2.SetRedraw(False)
  79. Long ll_cnt, ll_row
  80. ll_cnt = users.Count
  81. FOR i = 1 To ll_cnt
  82. user = users.GetItem(i - 1)
  83. ll_row = dw_2.InsertRow(0)
  84. dw_2.SetItem(ll_row, 'userid', user.GetInt('userid'))
  85. dw_2.SetItem(ll_row, 'cusid', user.GetInt('cusid'))
  86. dw_2.SetItem(ll_row, 'usercode', user.GetString('usercode'))
  87. dw_2.SetItem(ll_row, 'username', user.GetString('username'))
  88. dw_2.SetItem(ll_row, 'tele', user.GetString('tele'))
  89. dw_2.SetItem(ll_row, 'email', user.GetString('email'))
  90. dw_2.SetItem(ll_row, 'qq', user.GetString('qq'))
  91. dw_2.SetItem(ll_row, 'address', user.GetString('address'))
  92. dw_2.SetItem(ll_row, 'inuse', user.GetInt('inuse'))
  93. dw_2.SetItem(ll_row, 'usertype', user.GetInt('usertype'))
  94. NEXT
  95. dw_2.SetRedraw(True)
  96. end event
  97. on w_cd_custs.create
  98. int iCurrent
  99. call super::create
  100. this.dw_1=create dw_1
  101. this.cb_1=create cb_1
  102. this.cb_2=create cb_2
  103. this.dw_2=create dw_2
  104. iCurrent=UpperBound(this.Control)
  105. this.Control[iCurrent+1]=this.dw_1
  106. this.Control[iCurrent+2]=this.cb_1
  107. this.Control[iCurrent+3]=this.cb_2
  108. this.Control[iCurrent+4]=this.dw_2
  109. end on
  110. on w_cd_custs.destroy
  111. call super::destroy
  112. destroy(this.dw_1)
  113. destroy(this.cb_1)
  114. destroy(this.cb_2)
  115. destroy(this.dw_2)
  116. end on
  117. event resize;call super::resize;dw_1.width = (this.workspacewidth() - dw_1.x) / 2
  118. dw_2.x = dw_1.x + dw_1.width
  119. dw_2.width = dw_1.width
  120. dw_1.height = this.workspaceheight() - dw_1.Y
  121. dw_2.height = dw_1.height
  122. end event
  123. event open;call super::open;this.triggerevent('retrieve_dw1')
  124. end event
  125. type cb_func from w_publ_base_style`cb_func within w_cd_custs
  126. integer x = 425
  127. end type
  128. type cb_exit from w_publ_base_style`cb_exit within w_cd_custs
  129. integer x = 576
  130. end type
  131. type ln_bar from w_publ_base_style`ln_bar within w_cd_custs
  132. end type
  133. type ln_bar2 from w_publ_base_style`ln_bar2 within w_cd_custs
  134. end type
  135. type r_bar from w_publ_base_style`r_bar within w_cd_custs
  136. end type
  137. type dw_1 from u_dw_rbtnfilter within w_cd_custs
  138. integer y = 188
  139. integer width = 2208
  140. integer height = 1500
  141. integer taborder = 20
  142. boolean bringtotop = true
  143. string dataobject = "dw_cd_cust"
  144. boolean hscrollbar = true
  145. boolean vscrollbar = true
  146. boolean hsplitscroll = true
  147. boolean rbutton_filter_use = true
  148. boolean titleclick_sort_use = true
  149. end type
  150. event clicked;call super::clicked;this.selectrow(0, false)
  151. if row > 0 then
  152. this.setrow(row)
  153. this.selectrow(row, true)
  154. end if
  155. end event
  156. event rowfocuschanged;call super::rowfocuschanged;parent.triggerevent('retrieve_mx')
  157. end event
  158. type cb_1 from uo_imflatbutton within w_cd_custs
  159. integer width = 151
  160. integer height = 164
  161. integer taborder = 30
  162. boolean bringtotop = true
  163. string text = "刷新"
  164. string normalpicname = "refresh.BMP"
  165. integer picsize = 16
  166. toolbaralignment pic_align = alignattop!
  167. boolean border = false
  168. end type
  169. event clicked;call super::clicked;parent.triggerevent('retrieve_dw1')
  170. end event
  171. type cb_2 from uo_imflatbutton within w_cd_custs
  172. integer x = 151
  173. integer width = 274
  174. integer height = 164
  175. integer taborder = 40
  176. boolean bringtotop = true
  177. string text = "添加客户"
  178. string normalpicname = "open.BMP"
  179. integer picsize = 16
  180. toolbaralignment pic_align = alignattop!
  181. boolean border = false
  182. end type
  183. event clicked;call super::clicked;Open(w_cd_cust_ch)
  184. s_custom s_tran
  185. s_tran = Message.PowerObjectParm
  186. oleobject custs, cus
  187. custs = AppCom.CreArrOfPbDictionary()
  188. Long i
  189. String ls_cuscode, ls_cusname, ls_custype, ls_simplename, ls_tele, ls_address, ls_freight, ls_freight_tele
  190. FOR i = 1 To UpperBound(s_tran.cusid_arr)
  191. IF s_tran.cusid_arr[i] > 0 THEN
  192. SELECT cuscode, name, custype, simplename, tele, address, freight, freight_tele
  193. INTO :ls_cuscode, :ls_cusname, :ls_custype, :ls_simplename, :ls_tele, :ls_address, :ls_freight, :ls_freight_tele
  194. FROM u_cust
  195. Where cusid = :s_tran.cusid_arr[i];
  196. IF sqlca.SQLCode <> 0 THEN
  197. MessageBox('ERROR', '查询客户信息失败,' + sqlca.SQLErrText)
  198. RETURN
  199. END IF
  200. cus = AppCom.CreatePbDictionary()
  201. cus.SetInt('cusid', s_tran.cusid_arr[i])
  202. cus.SetString('cuscode', ls_cuscode)
  203. cus.SetString('cusname', ls_cusname)
  204. cus.SetString('simplename', ls_simplename)
  205. cus.SetString('custype', ls_custype)
  206. cus.SetString('tele', ls_tele)
  207. cus.SetString('address', ls_address)
  208. cus.SetString('freight', ls_freight)
  209. cus.SetString('freight_tele', ls_freight_tele)
  210. cus.SetString('precode', ls_cuscode)
  211. cus.SetString('usercode', ls_cuscode)
  212. cus.SetString('psw', ls_cuscode)
  213. custs.Add(cus)
  214. END IF
  215. NEXT
  216. Long ll_cnt
  217. String arg_msg
  218. ll_cnt = custs.Count
  219. IF ll_cnt > 0 THEN
  220. IF AppCom.AddCusts(app_token, custs, Ref arg_msg) <> True THEN
  221. MessageBox('ERROR', arg_msg)
  222. RETURN
  223. END IF
  224. Parent.TriggerEvent('retrieve_dw1')
  225. END IF
  226. end event
  227. type dw_2 from u_dw_rbtnfilter within w_cd_custs
  228. integer x = 2240
  229. integer y = 188
  230. integer width = 2208
  231. integer height = 1500
  232. integer taborder = 30
  233. boolean bringtotop = true
  234. string dataobject = "dw_cd_user"
  235. boolean hscrollbar = true
  236. boolean vscrollbar = true
  237. boolean hsplitscroll = true
  238. boolean rbutton_filter_use = true
  239. boolean titleclick_sort_use = true
  240. end type
  241. event clicked;call super::clicked;this.selectrow(0, false)
  242. if row > 0 then
  243. this.setrow(row)
  244. this.selectrow(row, true)
  245. end if
  246. end event