w_eb_user_define.srw 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679
  1. $PBExportHeader$w_eb_user_define.srw
  2. forward
  3. global type w_eb_user_define from w_publ_base
  4. end type
  5. type dw_1 from u_dw_rbtnfilter within w_eb_user_define
  6. end type
  7. type ddlb_im_type from dropdownlistbox within w_eb_user_define
  8. end type
  9. type cb_reflash from uo_imflatbutton within w_eb_user_define
  10. end type
  11. type cb_edit from uo_imflatbutton within w_eb_user_define
  12. end type
  13. type cb_del from uo_imflatbutton within w_eb_user_define
  14. end type
  15. type cbx_1 from checkbox within w_eb_user_define
  16. end type
  17. type cb_addmx from uo_imflatbutton within w_eb_user_define
  18. end type
  19. type cb_auth from uo_imflatbutton within w_eb_user_define
  20. end type
  21. type r_bar from rectangle within w_eb_user_define
  22. end type
  23. type ln_bar from line within w_eb_user_define
  24. end type
  25. type ln_bar2 from line within w_eb_user_define
  26. end type
  27. type ln_1 from line within w_eb_user_define
  28. end type
  29. type ln_2 from line within w_eb_user_define
  30. end type
  31. end forward
  32. global type w_eb_user_define from w_publ_base
  33. integer width = 2807
  34. integer height = 1844
  35. string title = "网店账号"
  36. boolean maxbox = true
  37. boolean resizable = true
  38. windowstate windowstate = maximized!
  39. dw_1 dw_1
  40. ddlb_im_type ddlb_im_type
  41. cb_reflash cb_reflash
  42. cb_edit cb_edit
  43. cb_del cb_del
  44. cbx_1 cbx_1
  45. cb_addmx cb_addmx
  46. cb_auth cb_auth
  47. r_bar r_bar
  48. ln_bar ln_bar
  49. ln_bar2 ln_bar2
  50. ln_1 ln_1
  51. ln_2 ln_2
  52. end type
  53. global w_eb_user_define w_eb_user_define
  54. type variables
  55. long ins_im_type
  56. long ins_child = 18
  57. long ins_child_min = 2
  58. uo_eb_user ins_import
  59. end variables
  60. forward prototypes
  61. public function integer wf_save (ref string arg_msg)
  62. public subroutine wf_selectall ()
  63. public subroutine wf_face ()
  64. public function integer wf_del (ref string arg_msg)
  65. public subroutine wf_retrieverow (long arg_row)
  66. end prototypes
  67. public function integer wf_save (ref string arg_msg);Int rslt = 1
  68. Long i
  69. s_eb_user s_import, s_empty
  70. FOR i = 1 To dw_1.RowCount()
  71. IF dw_1.Object.ch[i] <> 1 THEN CONTINUE
  72. s_import = s_empty
  73. s_import.UserID = dw_1.Object.UserID[i]
  74. s_import.im_type = dw_1.Object.im_type[i]
  75. s_import.im_userid = dw_1.Object.im_userid[i]
  76. s_import.empid = dw_1.Object.empid[i]
  77. s_import.moneyid = dw_1.Object.moneyid[i]
  78. s_import.typeid = dw_1.Object.typeid[i]
  79. s_import.Level = dw_1.Object.Level[i]
  80. s_import.banktypeid = dw_1.Object.banktypeid[i]
  81. s_import.scid = dw_1.Object.eb_user_scid[i]
  82. s_import.requiredays = dw_1.Object.eb_user_requiredays[i]
  83. s_import.assign_emp = dw_1.Object.eb_user_assign_emp[i]
  84. s_import.upname = dw_1.Object.eb_user_upname[i]
  85. s_import.cusid = dw_1.Object.eb_user_cusid[i]
  86. s_import.paytype = dw_1.Object.eb_user_paytype[i]
  87. s_import.mrate = dw_1.Object.eb_user_mrate[i]
  88. s_import.itemid = dw_1.Object.eb_user_itemid[i]
  89. s_import.accountsid = dw_1.Object.eb_user_accountsid[i]
  90. s_import.take_itemid = dw_1.Object.eb_user_take_itemid[i]
  91. IF ins_import.uf_save(s_import, arg_msg, False) <> 1 THEN
  92. rslt = 0
  93. GOTO ext
  94. END IF
  95. NEXT
  96. ext:
  97. IF rslt = 1 THEN
  98. COMMIT;
  99. ELSE
  100. ROLLBACK;
  101. END IF
  102. RETURN rslt
  103. end function
  104. public subroutine wf_selectall ();Long ll_check
  105. IF cbx_1.Checked THEN
  106. ll_check = 1
  107. ELSE
  108. ll_check = 0
  109. END IF
  110. Long i
  111. FOR i = 1 To dw_1.RowCount()
  112. dw_1.Object.ch[i] = ll_check
  113. NEXT
  114. end subroutine
  115. public subroutine wf_face ();Long i
  116. cb_reflash.Enabled = Not dw_edit_mode
  117. cb_addmx.Enabled = dw_edit_mode
  118. cb_auth.Enabled = not dw_edit_mode
  119. IF dw_edit_mode THEN
  120. FOR i = 1 To ins_child
  121. dw_1.SetTabOrder(i, i * 10)
  122. NEXT
  123. cb_edit.Text = '保存'
  124. cb_edit.normalpicname = 'Save.bmp'
  125. cb_del.Text = '放弃'
  126. cb_del.normalpicname = 'Undo.bmp'
  127. ELSE
  128. FOR i = 1 To ins_child_min - 1
  129. dw_1.SetTabOrder(i, i * 10)
  130. NEXT
  131. FOR i = ins_child_min To ins_child
  132. dw_1.SetTabOrder(i, 0)
  133. NEXT
  134. cb_edit.Text = '修改'
  135. cb_edit.normalpicname = 'OPEN.bmp'
  136. cb_del.Text = '删除'
  137. cb_del.normalpicname = 'delete.bmp'
  138. END IF
  139. cb_edit.of_init_draw()
  140. cb_edit.of_paint()
  141. cb_edit.TriggerEvent('ue_textchange')
  142. cb_del.of_init_draw()
  143. cb_del.of_paint()
  144. cb_del.TriggerEvent('ue_textchange')
  145. end subroutine
  146. public function integer wf_del (ref string arg_msg);Int rslt = 1
  147. Long i
  148. FOR i = 1 To dw_1.RowCount()
  149. IF dw_1.Object.ch[i] <> 1 THEN CONTINUE
  150. IF ins_import.uf_del(dw_1.Object.userid[i], arg_msg, False) <> 1 THEN
  151. rslt = 0
  152. arg_msg = '第' + String(i) + '行,' + arg_msg
  153. GOTO ext
  154. END IF
  155. NEXT
  156. GOTO ext
  157. ext:
  158. IF rslt = 1 THEN
  159. COMMIT;
  160. ELSE
  161. ROLLBACK;
  162. END IF
  163. RETURN rslt
  164. end function
  165. public subroutine wf_retrieverow (long arg_row);
  166. end subroutine
  167. on w_eb_user_define.create
  168. int iCurrent
  169. call super::create
  170. this.dw_1=create dw_1
  171. this.ddlb_im_type=create ddlb_im_type
  172. this.cb_reflash=create cb_reflash
  173. this.cb_edit=create cb_edit
  174. this.cb_del=create cb_del
  175. this.cbx_1=create cbx_1
  176. this.cb_addmx=create cb_addmx
  177. this.cb_auth=create cb_auth
  178. this.r_bar=create r_bar
  179. this.ln_bar=create ln_bar
  180. this.ln_bar2=create ln_bar2
  181. this.ln_1=create ln_1
  182. this.ln_2=create ln_2
  183. iCurrent=UpperBound(this.Control)
  184. this.Control[iCurrent+1]=this.dw_1
  185. this.Control[iCurrent+2]=this.ddlb_im_type
  186. this.Control[iCurrent+3]=this.cb_reflash
  187. this.Control[iCurrent+4]=this.cb_edit
  188. this.Control[iCurrent+5]=this.cb_del
  189. this.Control[iCurrent+6]=this.cbx_1
  190. this.Control[iCurrent+7]=this.cb_addmx
  191. this.Control[iCurrent+8]=this.cb_auth
  192. this.Control[iCurrent+9]=this.r_bar
  193. this.Control[iCurrent+10]=this.ln_bar
  194. this.Control[iCurrent+11]=this.ln_bar2
  195. this.Control[iCurrent+12]=this.ln_1
  196. this.Control[iCurrent+13]=this.ln_2
  197. end on
  198. on w_eb_user_define.destroy
  199. call super::destroy
  200. destroy(this.dw_1)
  201. destroy(this.ddlb_im_type)
  202. destroy(this.cb_reflash)
  203. destroy(this.cb_edit)
  204. destroy(this.cb_del)
  205. destroy(this.cbx_1)
  206. destroy(this.cb_addmx)
  207. destroy(this.cb_auth)
  208. destroy(this.r_bar)
  209. destroy(this.ln_bar)
  210. destroy(this.ln_bar2)
  211. destroy(this.ln_1)
  212. destroy(this.ln_2)
  213. end on
  214. event resize;call super::resize;r_bar.Width = this.width
  215. ln_bar.endx = this.width
  216. ln_bar2.endx = this.width
  217. ln_1.endx = this.width
  218. ln_2.endx = this.width
  219. dw_1.height = this.WorkSpaceHeight() - dw_1.Y
  220. dw_1.Width = this.WorkSpaceWidth() - dw_1.X
  221. end event
  222. event ue_before_open;call super::ue_before_open;ins_import = create uo_eb_user
  223. dw_1.SetTransObject(sqlca)
  224. cb_reflash.TriggerEvent(Clicked!)
  225. end event
  226. event close;call super::close;destroy ins_import
  227. end event
  228. event open;call super::open;wf_face()
  229. end event
  230. type cb_func from w_publ_base`cb_func within w_eb_user_define
  231. boolean visible = false
  232. end type
  233. type cb_exit from w_publ_base`cb_exit within w_eb_user_define
  234. integer x = 777
  235. integer width = 151
  236. integer height = 164
  237. integer picsize = 16
  238. toolbaralignment pic_align = alignattop!
  239. boolean border = false
  240. end type
  241. type dw_1 from u_dw_rbtnfilter within w_eb_user_define
  242. integer y = 288
  243. integer width = 2798
  244. integer height = 1076
  245. integer taborder = 40
  246. boolean bringtotop = true
  247. string dataobject = "dw_eb_user_define"
  248. boolean hscrollbar = true
  249. boolean vscrollbar = true
  250. boolean hsplitscroll = true
  251. boolean rbutton_filter_use = true
  252. boolean rbutton_setposition_use = true
  253. boolean titleclick_sort_use = true
  254. end type
  255. event clicked;call super::clicked;IF row > 0 THEN
  256. dw_1.SetRow(row)
  257. END IF
  258. end event
  259. event rowfocuschanged;call super::rowfocuschanged;This.SelectRow(0, False)
  260. IF currentrow > 0 THEN
  261. This.SelectRow(currentrow, True)
  262. END IF
  263. end event
  264. event dwnkey;call super::dwnkey;IF Not dw_edit_mode THEN RETURN
  265. Long ll_id
  266. String ls_key, ls_name, ls_custype, ls_upname
  267. IF Key = keyenter! THEN
  268. This.AcceptText()
  269. IF This.GetColumnName() = 'cuscode' THEN
  270. ls_key = This.Object.cuscode[GetRow()]
  271. SELECT cusid, name, custype, upname
  272. INTO :ll_id, :ls_name, :ls_custype, :ls_upname
  273. FROM u_cust
  274. Where cuscode = :ls_key;
  275. IF sqlca.SQLCode <> 0 THEN
  276. ll_id = 0
  277. ls_name = ''
  278. ls_custype = ''
  279. ls_upname = ''
  280. END IF
  281. This.Object.eb_user_cusid[GetRow()] = ll_id
  282. This.Object.cusname[GetRow()] = ls_name
  283. This.Object.eb_user_assign_emp[GetRow()] = ls_custype
  284. This.Object.eb_user_upname[GetRow()] = ls_upname
  285. ELSEIF This.GetColumnName() = 'empcode' THEN
  286. ls_key = This.Object.empcode[GetRow()]
  287. SELECT empid, empname
  288. INTO :ll_id, :ls_name
  289. FROM u_rs_empinfo
  290. Where empcode = :ls_key;
  291. IF sqlca.SQLCode <> 0 THEN
  292. ll_id = 0
  293. ls_name = ''
  294. END IF
  295. This.Object.empid[GetRow()] = ll_id
  296. This.Object.empname[GetRow()] = ls_name
  297. ELSEIF This.GetColumnName() = 'itemcode' THEN
  298. ls_key = This.Object.itemcode[GetRow()]
  299. SELECT itemid,itemname
  300. INTO :ll_id, :ls_name
  301. FROM u_itemdef
  302. Where itemcode = :ls_key;
  303. IF sqlca.SQLCode <> 0 THEN
  304. ll_id = 0
  305. ls_name = ''
  306. END IF
  307. This.Object.eb_user_itemid[GetRow()] = ll_id
  308. This.Object.itemname[GetRow()] = ls_name
  309. ELSEIF This.GetColumnName() = 'takeitemcode' THEN
  310. ls_key = This.Object.takeitemcode[GetRow()]
  311. SELECT itemid,itemname
  312. INTO :ll_id, :ls_name
  313. FROM u_itemdef
  314. Where itemcode = :ls_key;
  315. IF sqlca.SQLCode <> 0 THEN
  316. ll_id = 0
  317. ls_name = ''
  318. END IF
  319. This.Object.eb_user_take_itemid[GetRow()] = ll_id
  320. This.Object.takeitemname[GetRow()] = ls_name
  321. END IF
  322. END IF
  323. end event
  324. event doubleclicked;call super::doubleclicked;s_edit_index_tran s_tran88
  325. s_itemdef s_inscust
  326. String ls_name
  327. ls_name = Lower(dwo.Name )
  328. IF row > 0 THEN
  329. IF ls_name = 'itemcode' THEN
  330. s_tran88.work_mode = 1
  331. OpenWithParm(w_itemdef_ch, s_tran88) //调用
  332. s_inscust = Message.PowerObjectParm //接受返回结构
  333. IF s_inscust.itemid > 0 THEN //正常返回值则可以取以下值
  334. dw_1.Object.eb_user_itemid[row] = s_inscust.itemid
  335. dw_1.Object.itemcode[row] = s_inscust.itemcode
  336. dw_1.Object.itemname[row] = s_inscust.itemname
  337. END IF
  338. ELSEIF ls_name = 'takeitemcode' THEN
  339. s_tran88.work_mode = 1
  340. OpenWithParm(w_itemdef_ch, s_tran88) //调用
  341. s_inscust = Message.PowerObjectParm //接受返回结构
  342. IF s_inscust.itemid > 0 THEN //正常返回值则可以取以下值
  343. dw_1.Object.eb_user_take_itemid[row] = s_inscust.itemid
  344. dw_1.Object.takeitemcode[row] = s_inscust.itemcode
  345. dw_1.Object.takeitemname[row] = s_inscust.itemname
  346. END IF
  347. END IF
  348. END IF
  349. end event
  350. type ddlb_im_type from dropdownlistbox within w_eb_user_define
  351. integer x = 325
  352. integer y = 188
  353. integer width = 480
  354. integer height = 636
  355. integer taborder = 40
  356. boolean bringtotop = true
  357. integer textsize = -9
  358. integer weight = 400
  359. fontcharset fontcharset = gb2312charset!
  360. fontpitch fontpitch = variable!
  361. string facename = "宋体"
  362. long textcolor = 33554432
  363. string text = "全部"
  364. boolean sorted = false
  365. string item[] = {"亚洲国际电商","淘宝","京东","全部"}
  366. borderstyle borderstyle = stylelowered!
  367. end type
  368. event constructor;IF This.Text = '亚洲国际电商' THEN
  369. ins_im_type = 1
  370. ELSEIF This.Text = '淘宝' THEN
  371. ins_im_type = 5
  372. ELSEIF This.Text = '京东' THEN
  373. ins_im_type = 6
  374. ELSE
  375. ins_im_type = -1
  376. END IF
  377. end event
  378. event selectionchanged;IF This.Text = '亚洲国际电商' THEN
  379. ins_im_type = 1
  380. ELSEIF This.Text = '淘宝' THEN
  381. ins_im_type = 5
  382. ELSEIF This.Text = '京东' THEN
  383. ins_im_type = 6
  384. ELSE
  385. ins_im_type = -1
  386. END IF
  387. cb_reflash.triggerevent(clicked!)
  388. end event
  389. type cb_reflash from uo_imflatbutton within w_eb_user_define
  390. integer width = 151
  391. integer height = 164
  392. integer taborder = 40
  393. boolean bringtotop = true
  394. string text = "刷新"
  395. string normalpicname = "refresh.BMP"
  396. integer picsize = 16
  397. toolbaralignment pic_align = alignattop!
  398. boolean border = false
  399. end type
  400. event clicked;call super::clicked;dw_1.Retrieve(ins_im_type)
  401. end event
  402. type cb_edit from uo_imflatbutton within w_eb_user_define
  403. integer x = 155
  404. integer width = 151
  405. integer height = 164
  406. integer taborder = 40
  407. boolean bringtotop = true
  408. string text = "修改"
  409. string normalpicname = "OPEN.bmp"
  410. integer picsize = 16
  411. toolbaralignment pic_align = alignattop!
  412. boolean border = false
  413. end type
  414. event clicked;call super::clicked;String arg_msg
  415. IF dw_edit_mode THEN
  416. IF dw_1.AcceptText() <> 1 THEN RETURN
  417. IF wf_save(arg_msg) <> 1 THEN
  418. MessageBox('错误', arg_msg)
  419. RETURN
  420. END IF
  421. END IF
  422. dw_edit_mode = Not dw_edit_mode
  423. IF dw_edit_mode THEN
  424. cbx_1.Checked = True
  425. wf_selectall()
  426. ELSE
  427. cb_reflash.TriggerEvent(Clicked!)
  428. END IF
  429. wf_face()
  430. end event
  431. type cb_del from uo_imflatbutton within w_eb_user_define
  432. integer x = 311
  433. integer width = 151
  434. integer height = 164
  435. integer taborder = 50
  436. boolean bringtotop = true
  437. string text = "删除"
  438. string normalpicname = "delete.bmp"
  439. integer picsize = 16
  440. toolbaralignment pic_align = alignattop!
  441. boolean border = false
  442. end type
  443. event clicked;call super::clicked;String ls_msg
  444. IF dw_edit_mode THEN
  445. dw_edit_mode = Not dw_edit_mode
  446. cb_reflash.TriggerEvent(Clicked!)
  447. wf_face()
  448. ELSE
  449. IF MessageBox('提问', '是否要删除选中的记录?', Question!, YesNo!) <> 1 THEN
  450. RETURN
  451. END IF
  452. IF wf_del(ls_msg) <> 1 THEN
  453. MessageBox('错误', ls_msg)
  454. RETURN
  455. END IF
  456. cb_reflash.TriggerEvent(Clicked!)
  457. END IF
  458. end event
  459. type cbx_1 from checkbox within w_eb_user_define
  460. integer x = 14
  461. integer y = 200
  462. integer width = 274
  463. integer height = 56
  464. boolean bringtotop = true
  465. integer textsize = -9
  466. integer weight = 400
  467. fontcharset fontcharset = gb2312charset!
  468. fontpitch fontpitch = variable!
  469. string facename = "宋体"
  470. long textcolor = 33554432
  471. long backcolor = 67108864
  472. string text = "全选"
  473. end type
  474. event clicked;wf_selectall()
  475. end event
  476. event constructor;this.backcolor = 14215660
  477. end event
  478. type cb_addmx from uo_imflatbutton within w_eb_user_define
  479. integer x = 466
  480. integer width = 151
  481. integer height = 164
  482. integer taborder = 50
  483. boolean bringtotop = true
  484. string text = "增行"
  485. string normalpicname = "new.bmp"
  486. integer picsize = 16
  487. toolbaralignment pic_align = alignattop!
  488. boolean border = false
  489. end type
  490. event clicked;call super::clicked;IF Not dw_edit_mode THEN RETURN
  491. dw_1.ScrollToRow(dw_1.InsertRow(0))
  492. end event
  493. type cb_auth from uo_imflatbutton within w_eb_user_define
  494. integer x = 622
  495. integer width = 151
  496. integer height = 164
  497. integer taborder = 50
  498. boolean bringtotop = true
  499. string text = "授权"
  500. string normalpicname = "ok.bmp"
  501. integer picsize = 16
  502. toolbaralignment pic_align = alignattop!
  503. boolean border = false
  504. end type
  505. event clicked;call super::clicked;if dw_edit_mode then return
  506. long row
  507. row = dw_1.GetRow()
  508. if row <= 0 then
  509. MessageBox('提示', '请选择要授权的对象')
  510. return
  511. end if
  512. if dw_1.Object.im_type[row] = 5 then
  513. uo_ljlib_taobao_comapp ins_comapp
  514. ins_comapp = Create uo_ljlib_taobao_comapp
  515. oleobject ins_taobao
  516. int rslt = 1
  517. boolean ins_create, ins_connected, ins_inited
  518. string arg_msg
  519. if ins_comapp.uf_init(ins_taobao, ins_create, ins_connected, ins_inited, arg_msg) <> 1 then
  520. rslt = 0
  521. goto ext
  522. end if
  523. long ll_userid
  524. ll_userid = dw_1.Object.userid[row]
  525. if ins_taobao.Auth(ll_userid, ref arg_msg) <> true then
  526. rslt = 0
  527. goto ext
  528. end if
  529. ext:
  530. destroy ins_comapp
  531. if rslt = 0 then
  532. MessageBox('ERROR', arg_msg)
  533. else
  534. cb_reflash.triggerevent(clicked!)
  535. end if
  536. end if
  537. end event
  538. type r_bar from rectangle within w_eb_user_define
  539. long linecolor = 16777215
  540. integer linethickness = 4
  541. long fillcolor = 1073741824
  542. integer x = 1422
  543. integer width = 146
  544. integer height = 68
  545. end type
  546. event constructor;this.fillcolor = 14215660
  547. this.linecolor = 14215660
  548. this.x = -1
  549. this.y = -1
  550. this.height = ln_bar.beginy - 5
  551. end event
  552. type ln_bar from line within w_eb_user_define
  553. long linecolor = 268435456
  554. integer linethickness = 4
  555. integer beginy = 280
  556. integer endx = 2007
  557. integer endy = 280
  558. end type
  559. type ln_bar2 from line within w_eb_user_define
  560. long linecolor = 16777215
  561. integer linethickness = 4
  562. integer beginy = 284
  563. integer endx = 2039
  564. integer endy = 284
  565. end type
  566. type ln_1 from line within w_eb_user_define
  567. long linecolor = 268435456
  568. integer linethickness = 4
  569. integer beginy = 168
  570. integer endx = 2007
  571. integer endy = 168
  572. end type
  573. type ln_2 from line within w_eb_user_define
  574. long linecolor = 16777215
  575. integer linethickness = 4
  576. integer beginy = 172
  577. integer endx = 2039
  578. integer endy = 172
  579. end type