w_cus_ecomm_edit.srw 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536
  1. $PBExportHeader$w_cus_ecomm_edit.srw
  2. forward
  3. global type w_cus_ecomm_edit from w_publ_base
  4. end type
  5. type dw_1 from u_dw_rbtnfilter within w_cus_ecomm_edit
  6. end type
  7. type cb_edi from uo_imflatbutton within w_cus_ecomm_edit
  8. end type
  9. type cb_cancel from uo_imflatbutton within w_cus_ecomm_edit
  10. end type
  11. type cb_save from uo_imflatbutton within w_cus_ecomm_edit
  12. end type
  13. type cb_retrievemx from uo_imflatbutton within w_cus_ecomm_edit
  14. end type
  15. type tv_1 from uo_tv_cusarea within w_cus_ecomm_edit
  16. end type
  17. type cb_1 from uo_imflatbutton within w_cus_ecomm_edit
  18. end type
  19. type cb_help from uo_imflatbutton within w_cus_ecomm_edit
  20. end type
  21. type ln_bar from line within w_cus_ecomm_edit
  22. end type
  23. type ln_bar2 from line within w_cus_ecomm_edit
  24. end type
  25. type r_bar from rectangle within w_cus_ecomm_edit
  26. end type
  27. end forward
  28. global type w_cus_ecomm_edit from w_publ_base
  29. integer x = 46
  30. integer y = 36
  31. integer width = 3611
  32. integer height = 2372
  33. string title = "客户电子商务设置"
  34. boolean maxbox = true
  35. windowstate windowstate = maximized!
  36. event ue_rtr_area ( )
  37. event ue_set_area ( )
  38. event ue_help ( )
  39. event user_key ( )
  40. dw_1 dw_1
  41. cb_edi cb_edi
  42. cb_cancel cb_cancel
  43. cb_save cb_save
  44. cb_retrievemx cb_retrievemx
  45. tv_1 tv_1
  46. cb_1 cb_1
  47. cb_help cb_help
  48. ln_bar ln_bar
  49. ln_bar2 ln_bar2
  50. r_bar r_bar
  51. end type
  52. global w_cus_ecomm_edit w_cus_ecomm_edit
  53. type variables
  54. String ls_areaname = ''
  55. end variables
  56. forward prototypes
  57. public function integer wf_facechange ()
  58. end prototypes
  59. event ue_rtr_area();if dw_edit_mode then return
  60. tv_1.f_maketree()
  61. end event
  62. event ue_set_area();if dw_edit_mode then return
  63. open(w_cusarea_def)
  64. end event
  65. event ue_help();Int i
  66. i = htmlhelpA(Handle(THIS), sys_help_chm, 0, THIS.Title+".htm")
  67. end event
  68. event user_key();IF KeyDown(KeyF1!) THEN
  69. THIS.TriggerEvent('ue_help')
  70. END IF
  71. end event
  72. public function integer wf_facechange ();//wf_facechange
  73. IF dw_edit_mode THEN
  74. cb_cancel.Enabled = True
  75. cb_save.Enabled = True
  76. cb_func.Enabled = False
  77. cb_retrievemx.Enabled = False
  78. dw_1.SetTabOrder(2,10)
  79. dw_1.SetTabOrder(3,30)
  80. ELSE
  81. cb_cancel.Enabled = False
  82. cb_save.Enabled = False
  83. cb_func.Enabled = True
  84. cb_retrievemx.Enabled = True
  85. dw_1.SetTabOrder(2,0)
  86. dw_1.SetTabOrder(3,0)
  87. END IF
  88. RETURN 1
  89. end function
  90. on w_cus_ecomm_edit.create
  91. int iCurrent
  92. call super::create
  93. this.dw_1=create dw_1
  94. this.cb_edi=create cb_edi
  95. this.cb_cancel=create cb_cancel
  96. this.cb_save=create cb_save
  97. this.cb_retrievemx=create cb_retrievemx
  98. this.tv_1=create tv_1
  99. this.cb_1=create cb_1
  100. this.cb_help=create cb_help
  101. this.ln_bar=create ln_bar
  102. this.ln_bar2=create ln_bar2
  103. this.r_bar=create r_bar
  104. iCurrent=UpperBound(this.Control)
  105. this.Control[iCurrent+1]=this.dw_1
  106. this.Control[iCurrent+2]=this.cb_edi
  107. this.Control[iCurrent+3]=this.cb_cancel
  108. this.Control[iCurrent+4]=this.cb_save
  109. this.Control[iCurrent+5]=this.cb_retrievemx
  110. this.Control[iCurrent+6]=this.tv_1
  111. this.Control[iCurrent+7]=this.cb_1
  112. this.Control[iCurrent+8]=this.cb_help
  113. this.Control[iCurrent+9]=this.ln_bar
  114. this.Control[iCurrent+10]=this.ln_bar2
  115. this.Control[iCurrent+11]=this.r_bar
  116. end on
  117. on w_cus_ecomm_edit.destroy
  118. call super::destroy
  119. destroy(this.dw_1)
  120. destroy(this.cb_edi)
  121. destroy(this.cb_cancel)
  122. destroy(this.cb_save)
  123. destroy(this.cb_retrievemx)
  124. destroy(this.tv_1)
  125. destroy(this.cb_1)
  126. destroy(this.cb_help)
  127. destroy(this.ln_bar)
  128. destroy(this.ln_bar2)
  129. destroy(this.r_bar)
  130. end on
  131. event open;call super::open;dw_1.settransobject(sqlca)
  132. cb_retrievemx.triggerevent(clicked!)
  133. end event
  134. event ue_filter;call super::ue_filter;OPENWITHPARM(w_filter_query,dw_1)
  135. STRING LS_EXPR
  136. LS_EXPR=Message.StringParm
  137. if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return
  138. dw_1.setfilter(LS_EXPR)
  139. dw_1.SetRedraw (false)
  140. dw_1.filter()
  141. dw_1.SetRedraw (TRUE)
  142. end event
  143. event ue_sort;call super::ue_sort;OPENwithparm(w_sortrow,DW_1)
  144. STRING LS_EXPR
  145. LS_EXPR=Message.StringParm
  146. IF ISNULL(LS_EXPR) THEN LS_EXPR=' '
  147. if len(LS_EXPR)>2 and trim(LS_EXPR)='' then return
  148. dw_1.setsort(LS_EXPR)
  149. dw_1.SetRedraw (false)
  150. dw_1.sort()
  151. dw_1.SetRedraw (true)
  152. end event
  153. event ue_before_open;call super::ue_before_open;if_ue_filter=true
  154. if_ue_sort=true
  155. if_ue_sentdataout=true
  156. end event
  157. event resize;call super::resize;ln_bar.endx = this.width
  158. ln_bar2.endx = this.width
  159. r_bar.width = this.width
  160. long w_width,w_height
  161. w_width = 3600
  162. w_height = 2300
  163. if newwidth < w_width then this.width = w_width
  164. if newheight < w_height then this.height = w_height
  165. dw_1.width=this.width - dw_1.x - 40
  166. dw_1.height=this.height - dw_1.y - 150
  167. tv_1.height=dw_1.height
  168. end event
  169. event key;call super::key;this.triggerevent('user_key')
  170. end event
  171. event ue_sentdataout;call super::ue_sentdataout;OPENWITHPARM(w_sentdataout,dw_1)
  172. end event
  173. type cb_func from w_publ_base`cb_func within w_cus_ecomm_edit
  174. integer x = 603
  175. integer width = 151
  176. integer height = 164
  177. end type
  178. type cb_exit from w_publ_base`cb_exit within w_cus_ecomm_edit
  179. integer x = 905
  180. integer width = 151
  181. integer height = 164
  182. integer picsize = 16
  183. toolbaralignment pic_align = alignattop!
  184. boolean border = false
  185. end type
  186. type dw_1 from u_dw_rbtnfilter within w_cus_ecomm_edit
  187. integer x = 901
  188. integer y = 180
  189. integer width = 2610
  190. integer height = 1996
  191. integer taborder = 50
  192. boolean bringtotop = true
  193. string title = "客户资料"
  194. string dataobject = "dw_cust_ecomm_edit"
  195. boolean maxbox = true
  196. boolean hscrollbar = true
  197. boolean vscrollbar = true
  198. boolean hsplitscroll = true
  199. boolean titleclick_sort_use = true
  200. end type
  201. event clicked;IF row > 0 THEN
  202. This.SetRow(row)
  203. This.SelectRow(0,False)
  204. This.SelectRow(row,True)
  205. END IF
  206. end event
  207. event constructor;call super::constructor;
  208. RBUTTON_FILTER_USE=true //右键查询功能开关
  209. end event
  210. event rowfocuschanged;IF currentrow <=0 THEN RETURN
  211. this.selectrow(0,false)
  212. this.selectrow(currentrow,true)
  213. end event
  214. event dwnkey;call super::dwnkey;parent.triggerevent('user_key')
  215. end event
  216. event doubleclicked;call super::doubleclicked;
  217. Long ll_row
  218. ll_row = dw_1.GetRow()
  219. IF ll_row <= 0 THEN RETURN
  220. IF dw_1.Object.ifecomm[ll_row] = 1 THEN
  221. IF Not dw_edit_mode THEN RETURN
  222. OpenWithParm(w_cuscomm_list_ch,2)
  223. s_cuscomm_ljfieb INS_RT_STRU
  224. INS_RT_STRU = Message.PowerObjectParm
  225. dw_1.Object.commcode[ll_row] = INS_RT_STRU.CusCode
  226. ELSEIF dw_1.Object.ifecomm[ll_row] = 2 THEN
  227. s_edit_index_tran s_tran
  228. s_tran.b_long = dw_1.Object.cusid[ll_row]
  229. openwithparm(w_cus_ecomm_cus_rep_edit, s_tran)
  230. END IF
  231. end event
  232. type cb_edi from uo_imflatbutton within w_cus_ecomm_edit
  233. integer width = 151
  234. integer height = 164
  235. integer taborder = 60
  236. boolean bringtotop = true
  237. string text = "修改"
  238. string normalpicname = "open.bmp"
  239. integer picsize = 16
  240. toolbaralignment pic_align = alignattop!
  241. boolean border = false
  242. end type
  243. event clicked;call super::clicked;if not f_power_ind(3138) THEN
  244. MessageBox(publ_operator,sys_msg_pow)
  245. RETURN
  246. END IF
  247. dw_edit_mode= true
  248. wf_facechange()
  249. dw_1.setfocus()
  250. end event
  251. type cb_cancel from uo_imflatbutton within w_cus_ecomm_edit
  252. integer x = 151
  253. integer width = 151
  254. integer height = 164
  255. integer taborder = 60
  256. boolean bringtotop = true
  257. boolean enabled = false
  258. string text = "取消"
  259. string normalpicname = "undo.bmp"
  260. integer picsize = 16
  261. toolbaralignment pic_align = alignattop!
  262. boolean border = false
  263. end type
  264. event clicked;call super::clicked;IF sys_email_sqlca.DBHandle() = 0 THEN
  265. MessageBox('Error','电子商务数据库连接失败,请检查')
  266. RETURN
  267. END IF
  268. dw_edit_mode=false
  269. wf_facechange()
  270. cb_retrievemx.triggerevent(clicked!)
  271. end event
  272. type cb_save from uo_imflatbutton within w_cus_ecomm_edit
  273. integer x = 302
  274. integer width = 151
  275. integer height = 164
  276. integer taborder = 70
  277. boolean bringtotop = true
  278. boolean enabled = false
  279. string text = "保存"
  280. string normalpicname = "save.bmp"
  281. integer picsize = 16
  282. toolbaralignment pic_align = alignattop!
  283. boolean border = false
  284. end type
  285. event clicked;call super::clicked;dw_1.AcceptText()
  286. IF dw_1.GetNextModified(0, Primary!) = 0 THEN
  287. MessageBox('系统提示','没有任何修改,不可以保存!')
  288. RETURN
  289. END IF
  290. Long ll_cnt
  291. Long ll_i
  292. String commcode,commsccode
  293. Long cusid
  294. //FOR ll_i = 1 To dw_1.RowCount()
  295. // cusid = dw_1.Object.cusid[ll_i]
  296. //
  297. // UPDATE u_cust
  298. // SET ifecomm = 0,
  299. // commcode = '',
  300. // commsccode = ''
  301. // Where cusid = :cusid;
  302. // IF sqlca.SQLCode <> 0 THEN
  303. // ROLLBACK;
  304. // MessageBox('Error','清除旧资料失败,'+sqlca.SQLErrText)
  305. // RETURN
  306. // END IF
  307. //
  308. //NEXT
  309. //
  310. FOR ll_i = 1 To dw_1.RowCount()
  311. IF dw_1.Object.ifecomm[ll_i] = 0 THEN
  312. dw_1.Object.commcode[ll_i] = ''
  313. dw_1.Object.commsccode[ll_i] = ''
  314. CONTINUE
  315. END IF
  316. // commcode = dw_1.Object.commcode[ll_i]
  317. // commsccode = dw_1.Object.commsccode[ll_i]
  318. //
  319. // IF Trim(commcode) = '' THEN
  320. // MessageBox('Error','客户:'+String(dw_1.Object.cuscode[ll_i])+',使用电子商务功能,请选择对应的企业编号')
  321. // RETURN
  322. // END IF
  323. //
  324. // SELECT count(*)
  325. // INTO :ll_cnt
  326. // FROM u_cust
  327. // WHERE commcode = :commcode
  328. // And commsccode = :commsccode;
  329. // IF sqlca.SQLCode <> 0 THEN
  330. // MessageBox('Error','客户:'+String(dw_1.Object.cuscode[ll_i])+',查询企业编号是否有重复失败,'+sqlca.SQLErrText)
  331. // RETURN
  332. // END IF
  333. //
  334. // IF ll_cnt > 1 THEN
  335. // MessageBox('系统提示','企业代码:'+commcode+',分部代号:'+commsccode+',已被使用,不能重复指定')
  336. // RETURN
  337. // END IF
  338. NEXT
  339. //
  340. dw_1.AcceptText()
  341. IF dw_1.Update() = 1 THEN
  342. COMMIT;
  343. ELSE
  344. ROLLBACK;
  345. MessageBox('系统提示','保存操作失败"!')
  346. RETURN
  347. END IF
  348. dw_edit_mode = False
  349. wf_facechange()
  350. end event
  351. type cb_retrievemx from uo_imflatbutton within w_cus_ecomm_edit
  352. integer x = 453
  353. integer width = 151
  354. integer height = 164
  355. integer taborder = 20
  356. string text = "刷新"
  357. string normalpicname = "refresh.bmp"
  358. integer picsize = 16
  359. toolbaralignment pic_align = alignattop!
  360. boolean border = false
  361. end type
  362. event clicked;call super::clicked;dw_1.retrieve(ls_areaname,sys_areaid)
  363. end event
  364. type tv_1 from uo_tv_cusarea within w_cus_ecomm_edit
  365. integer y = 180
  366. integer width = 896
  367. integer height = 1996
  368. integer taborder = 70
  369. boolean bringtotop = true
  370. integer textsize = -9
  371. fontcharset fontcharset = gb2312charset!
  372. fontfamily fontfamily = anyfont!
  373. string facename = "宋体"
  374. end type
  375. event selectionchanged;call super::selectionchanged;if not dw_edit_mode then
  376. ls_areaname = this.uo_cur_info.areaname
  377. ls_areaname = ls_areaname + '%'
  378. cb_retrievemx.triggerevent(clicked!)
  379. end if
  380. end event
  381. type cb_1 from uo_imflatbutton within w_cus_ecomm_edit
  382. boolean visible = false
  383. integer width = 151
  384. integer height = 164
  385. integer taborder = 10
  386. boolean bringtotop = true
  387. string text = "区域"
  388. string normalpicname = "update2.bmp"
  389. integer picsize = 16
  390. toolbaralignment pic_align = alignattop!
  391. boolean border = false
  392. end type
  393. event clicked;call super::clicked;m_Dfc_Control_PopupMenu dmPopupMenu
  394. string menustr
  395. menustr="Text=刷新地区~tEvent=ue_rtr_area"
  396. menustr=menustr + "|" + "Text=建立地区~tEvent=ue_set_area"
  397. if len(trim(menustr))<>0 then
  398. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  399. dmPopupMenu.mf_BuildMenu(This, menustr)
  400. dmPopupMenu.mf_PopMenu()
  401. Destroy dmPopupMenu
  402. end if
  403. end event
  404. type cb_help from uo_imflatbutton within w_cus_ecomm_edit
  405. integer x = 754
  406. integer width = 151
  407. integer height = 164
  408. integer taborder = 20
  409. boolean bringtotop = true
  410. string text = "帮助"
  411. string normalpicname = "help.bmp"
  412. integer picsize = 16
  413. toolbaralignment pic_align = alignattop!
  414. boolean border = false
  415. end type
  416. event clicked;call super::clicked;PARENT.TriggerEvent('ue_help')
  417. end event
  418. type ln_bar from line within w_cus_ecomm_edit
  419. long linecolor = 268435456
  420. integer linethickness = 4
  421. integer beginy = 172
  422. integer endx = 2007
  423. integer endy = 172
  424. end type
  425. type ln_bar2 from line within w_cus_ecomm_edit
  426. long linecolor = 16777215
  427. integer linethickness = 4
  428. integer beginy = 176
  429. integer endx = 2039
  430. integer endy = 176
  431. end type
  432. type r_bar from rectangle within w_cus_ecomm_edit
  433. long linecolor = 16777215
  434. integer linethickness = 4
  435. long fillcolor = 1073741824
  436. integer x = 1531
  437. integer width = 146
  438. integer height = 68
  439. end type
  440. event constructor;this.fillcolor = 14215660
  441. this.linecolor = 14215660
  442. this.x = -1
  443. this.y = -1
  444. this.height = ln_bar.beginy - 5
  445. end event