w_sms_send_new.srw 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719
  1. $PBExportHeader$w_sms_send_new.srw
  2. forward
  3. global type w_sms_send_new from w_publ_base
  4. end type
  5. type cb_send from uo_imflatbutton within w_sms_send_new
  6. end type
  7. type cb_2 from uo_imflatbutton within w_sms_send_new
  8. end type
  9. type cb_4 from uo_imflatbutton within w_sms_send_new
  10. end type
  11. type mle_1 from multilineedit within w_sms_send_new
  12. end type
  13. type st_1 from statictext within w_sms_send_new
  14. end type
  15. type st_2 from statictext within w_sms_send_new
  16. end type
  17. type dw_revlist from u_dw_rbtnfilter within w_sms_send_new
  18. end type
  19. type cb_1 from uo_imflatbutton within w_sms_send_new
  20. end type
  21. type cb_3 from uo_imflatbutton within w_sms_send_new
  22. end type
  23. type cb_5 from uo_imflatbutton within w_sms_send_new
  24. end type
  25. type st_3 from statictext within w_sms_send_new
  26. end type
  27. type cb_6 from uo_imflatbutton within w_sms_send_new
  28. end type
  29. type cb_7 from uo_imflatbutton within w_sms_send_new
  30. end type
  31. type ln_bar from line within w_sms_send_new
  32. end type
  33. type ln_bar2 from line within w_sms_send_new
  34. end type
  35. type r_bar from rectangle within w_sms_send_new
  36. end type
  37. end forward
  38. global type w_sms_send_new from w_publ_base
  39. integer width = 2834
  40. integer height = 1844
  41. string title = "编辑短信"
  42. cb_send cb_send
  43. cb_2 cb_2
  44. cb_4 cb_4
  45. mle_1 mle_1
  46. st_1 st_1
  47. st_2 st_2
  48. dw_revlist dw_revlist
  49. cb_1 cb_1
  50. cb_3 cb_3
  51. cb_5 cb_5
  52. st_3 st_3
  53. cb_6 cb_6
  54. cb_7 cb_7
  55. ln_bar ln_bar
  56. ln_bar2 ln_bar2
  57. r_bar r_bar
  58. end type
  59. global w_sms_send_new w_sms_send_new
  60. type variables
  61. s_spring_send s_send
  62. end variables
  63. forward prototypes
  64. public function integer wf_buildmx (ref s_spring_sendmx mx[], ref string arg_msg)
  65. public subroutine wf_showsendway (long arg_sendway)
  66. end prototypes
  67. public function integer wf_buildmx (ref s_spring_sendmx mx[], ref string arg_msg);int rslt = 1
  68. s_spring_sendmx ls_mx[]
  69. long ll_row
  70. long ll_i = 0
  71. for ll_row = 1 to dw_revlist.RowCount()
  72. if dw_revlist.Object.revphone[ll_row] <> '' then
  73. ll_i ++
  74. ls_mx[ll_i].revtype = dw_revlist.Object.revtype[ll_row]
  75. ls_mx[ll_i].revid = dw_revlist.Object.revid[ll_row]
  76. ls_mx[ll_i].revname = dw_revlist.Object.revname[ll_row]
  77. ls_mx[ll_i].revrep = dw_revlist.Object.revrep[ll_row]
  78. ls_mx[ll_i].revphone = dw_revlist.Object.revphone[ll_row]
  79. end if
  80. next
  81. mx = ls_mx
  82. return rslt
  83. end function
  84. public subroutine wf_showsendway (long arg_sendway);Long ll_cnt
  85. String ls_name
  86. ls_name = ''
  87. SELECT COUNT(0)
  88. INTO :ll_cnt
  89. FROM u_spring_sendway
  90. Where sendwayid = :arg_sendway;
  91. IF sqlca.SQLCode <> 0 THEN
  92. GOTO ext
  93. END IF
  94. IF ll_cnt = 0 THEN
  95. GOTO ext
  96. END IF
  97. SELECT sendwayname
  98. INTO :ls_name
  99. FROM u_spring_sendway
  100. Where sendwayid = :arg_sendway;
  101. IF sqlca.SQLCode <> 0 THEN
  102. GOTO ext
  103. END IF
  104. ext:
  105. st_3.Text = ls_name
  106. end subroutine
  107. on w_sms_send_new.create
  108. int iCurrent
  109. call super::create
  110. this.cb_send=create cb_send
  111. this.cb_2=create cb_2
  112. this.cb_4=create cb_4
  113. this.mle_1=create mle_1
  114. this.st_1=create st_1
  115. this.st_2=create st_2
  116. this.dw_revlist=create dw_revlist
  117. this.cb_1=create cb_1
  118. this.cb_3=create cb_3
  119. this.cb_5=create cb_5
  120. this.st_3=create st_3
  121. this.cb_6=create cb_6
  122. this.cb_7=create cb_7
  123. this.ln_bar=create ln_bar
  124. this.ln_bar2=create ln_bar2
  125. this.r_bar=create r_bar
  126. iCurrent=UpperBound(this.Control)
  127. this.Control[iCurrent+1]=this.cb_send
  128. this.Control[iCurrent+2]=this.cb_2
  129. this.Control[iCurrent+3]=this.cb_4
  130. this.Control[iCurrent+4]=this.mle_1
  131. this.Control[iCurrent+5]=this.st_1
  132. this.Control[iCurrent+6]=this.st_2
  133. this.Control[iCurrent+7]=this.dw_revlist
  134. this.Control[iCurrent+8]=this.cb_1
  135. this.Control[iCurrent+9]=this.cb_3
  136. this.Control[iCurrent+10]=this.cb_5
  137. this.Control[iCurrent+11]=this.st_3
  138. this.Control[iCurrent+12]=this.cb_6
  139. this.Control[iCurrent+13]=this.cb_7
  140. this.Control[iCurrent+14]=this.ln_bar
  141. this.Control[iCurrent+15]=this.ln_bar2
  142. this.Control[iCurrent+16]=this.r_bar
  143. end on
  144. on w_sms_send_new.destroy
  145. call super::destroy
  146. destroy(this.cb_send)
  147. destroy(this.cb_2)
  148. destroy(this.cb_4)
  149. destroy(this.mle_1)
  150. destroy(this.st_1)
  151. destroy(this.st_2)
  152. destroy(this.dw_revlist)
  153. destroy(this.cb_1)
  154. destroy(this.cb_3)
  155. destroy(this.cb_5)
  156. destroy(this.st_3)
  157. destroy(this.cb_6)
  158. destroy(this.cb_7)
  159. destroy(this.ln_bar)
  160. destroy(this.ln_bar2)
  161. destroy(this.r_bar)
  162. end on
  163. event resize;call super::resize;ln_bar.EndX = This.Width
  164. ln_bar2.EndX = This.Width
  165. r_bar.Width = THIS.Width
  166. mle_1.Height = This.WorkSpaceHeight() - mle_1.Y
  167. dw_revlist.Height = This.WorkSpaceHeight() - dw_revlist.Y
  168. dw_revlist.Width = This.WorkSpaceWidth() - dw_revlist.X
  169. end event
  170. event open;call super::open;s_send = Message.PowerObjectParm
  171. IF Not IsNull(s_send) THEN
  172. mle_1.Text = s_send.msg
  173. Long ll_i
  174. Long ll_row
  175. FOR ll_i = 1 To UpperBound(s_send.mx)
  176. // DONE: 添加接收列表
  177. ll_row = dw_revlist.InsertRow(0)
  178. dw_revlist.Object.revtype[ll_row] = s_send.mx[ll_i].revtype
  179. dw_revlist.Object.revid[ll_row] = s_send.mx[ll_i].revid
  180. dw_revlist.Object.revname[ll_row] = s_send.mx[ll_i].revname
  181. dw_revlist.Object.revrep[ll_row] = s_send.mx[ll_i].revrep
  182. dw_revlist.Object.revphone[ll_row] = s_send.mx[ll_i].revphone
  183. NEXT
  184. IF s_send.sendflag = 2 THEN // 草稿
  185. IF s_send.sendid = 0 THEN
  186. cb_exit.X = cb_4.X
  187. cb_4.Visible = False
  188. cb_7.Visible = False
  189. cb_6.Visible = False
  190. ELSE
  191. cb_exit.X = cb_7.X
  192. cb_7.Visible = False
  193. cb_6.Visible = False
  194. END IF
  195. ELSEIF s_send.sendflag = 0 Or s_send.sendflag = 1 THEN // 待发、已发
  196. cb_6.X = cb_send.X
  197. cb_exit.X = cb_2.X
  198. cb_send.Visible = False
  199. cb_2.Visible = False
  200. cb_4.Visible = False
  201. cb_7.Visible = False
  202. mle_1.DisplayOnly = True
  203. cb_1.Visible = False
  204. cb_3.Visible = False
  205. cb_5.Visible = False
  206. ELSEIF s_send.sendflag = 3 THEN // 收件
  207. cb_7.X = cb_send.X
  208. cb_6.X = cb_2.X
  209. cb_exit.X = cb_4.X
  210. cb_send.Visible = False
  211. cb_2.Visible = False
  212. cb_4.Visible = False
  213. END IF
  214. END IF
  215. st_1.Text = '正文('+String(Len(mle_1.Text))+')'
  216. IF s_send.sendway = 0 THEN
  217. Long ll_sendwayid
  218. SELECT TOP 1 sendwayid
  219. INTO :ll_sendwayid
  220. From u_spring_sendway;
  221. IF sqlca.SQLCode <> 0 THEN
  222. ll_sendwayid = 0
  223. END IF
  224. s_send.sendway = ll_sendwayid
  225. END IF
  226. wf_showsendway(s_send.sendway)
  227. end event
  228. type cb_func from w_publ_base`cb_func within w_sms_send_new
  229. boolean visible = false
  230. integer x = 837
  231. integer y = 40
  232. integer taborder = 30
  233. end type
  234. type cb_exit from w_publ_base`cb_exit within w_sms_send_new
  235. integer x = 823
  236. integer width = 165
  237. integer height = 164
  238. integer taborder = 70
  239. integer picsize = 16
  240. toolbaralignment pic_align = alignattop!
  241. boolean border = false
  242. end type
  243. type cb_send from uo_imflatbutton within w_sms_send_new
  244. integer width = 165
  245. integer height = 164
  246. integer taborder = 10
  247. boolean bringtotop = true
  248. string text = "发送"
  249. string normalpicname = "email_view2.bmp"
  250. integer picsize = 16
  251. toolbaralignment pic_align = alignattop!
  252. boolean border = false
  253. end type
  254. event clicked;call super::clicked;Int rslt = 1
  255. uo_spring_send uo_send
  256. uo_send = Create uo_spring_send
  257. uo_send.commit_transaction = sqlca
  258. String ls_msg
  259. s_spring_send s_tmp
  260. s_tmp = s_send
  261. s_tmp.sendid = s_send.sendid
  262. s_tmp.msg = mle_1.Text
  263. s_tmp.sendway = s_send.sendway
  264. s_tmp.sendflag = 0
  265. IF wf_buildmx(Ref s_tmp.mx, Ref ls_msg) <> 1 THEN
  266. rslt = 0
  267. GOTO ext
  268. END IF
  269. IF UpperBound(s_tmp.mx) <= 0 THEN
  270. rslt = 0
  271. ls_msg = '没有收件人,不能发送'
  272. GOTO ext
  273. END IF
  274. IF uo_send.uf_save(Ref s_tmp, Ref ls_msg) <> 1 THEN
  275. rslt = 0
  276. GOTO ext
  277. END IF
  278. s_send = s_tmp
  279. ext:
  280. Destroy uo_send
  281. IF rslt = 0 THEN
  282. MessageBox('错误', ls_msg, stopsign!)
  283. ELSE
  284. MessageBox('提示', '发送成功')
  285. END IF
  286. end event
  287. type cb_2 from uo_imflatbutton within w_sms_send_new
  288. integer x = 165
  289. integer width = 165
  290. integer height = 164
  291. integer taborder = 20
  292. boolean bringtotop = true
  293. string text = "保存"
  294. string normalpicname = "SAVE.BMP"
  295. integer picsize = 16
  296. toolbaralignment pic_align = alignattop!
  297. boolean border = false
  298. end type
  299. event clicked;call super::clicked;Int rslt = 1
  300. uo_spring_send uo_send
  301. uo_send = Create uo_spring_send
  302. uo_send.commit_transaction = sqlca
  303. String ls_msg
  304. s_spring_send s_tmp
  305. s_tmp = s_send
  306. s_tmp.sendid = s_send.sendid
  307. s_tmp.msg = mle_1.Text
  308. s_tmp.sendway = s_send.sendway
  309. IF wf_buildmx(Ref s_tmp.mx, Ref ls_msg) <> 1 THEN
  310. rslt = 0
  311. GOTO ext
  312. END IF
  313. IF uo_send.uf_save(Ref s_tmp, Ref ls_msg) <> 1 THEN
  314. rslt = 0
  315. GOTO ext
  316. END IF
  317. s_send = s_tmp
  318. ext:
  319. Destroy uo_send
  320. IF rslt = 0 THEN
  321. MessageBox('错误', ls_msg, stopsign!)
  322. ELSE
  323. MessageBox('提示', '保存成功')
  324. END IF
  325. end event
  326. type cb_4 from uo_imflatbutton within w_sms_send_new
  327. integer x = 329
  328. integer width = 165
  329. integer height = 164
  330. integer taborder = 40
  331. boolean bringtotop = true
  332. string text = "另存"
  333. string normalpicname = "SAVE.BMP"
  334. integer picsize = 16
  335. toolbaralignment pic_align = alignattop!
  336. boolean border = false
  337. end type
  338. event clicked;call super::clicked;Int rslt = 1
  339. uo_spring_send uo_send
  340. uo_send = Create uo_spring_send
  341. uo_send.commit_transaction = sqlca
  342. String ls_msg
  343. s_spring_send s_tmp
  344. s_tmp = s_send
  345. s_tmp.sendid = 0
  346. s_tmp.msg = mle_1.Text
  347. s_tmp.sendway = s_send.sendway
  348. IF wf_buildmx(Ref s_tmp.mx, Ref ls_msg) <> 1 THEN
  349. rslt = 0
  350. GOTO ext
  351. END IF
  352. IF uo_send.uf_save(Ref s_tmp, Ref ls_msg) <> 1 THEN
  353. rslt = 0
  354. GOTO ext
  355. END IF
  356. s_send = s_tmp
  357. ext:
  358. Destroy uo_send
  359. IF rslt = 0 THEN
  360. MessageBox('错误', ls_msg, stopsign!)
  361. ELSE
  362. MessageBox('提示', '保存成功')
  363. END IF
  364. end event
  365. type mle_1 from multilineedit within w_sms_send_new
  366. event keyup pbm_keyup
  367. integer y = 260
  368. integer width = 1097
  369. integer height = 1496
  370. integer taborder = 80
  371. boolean bringtotop = true
  372. integer textsize = -11
  373. integer weight = 400
  374. fontcharset fontcharset = gb2312charset!
  375. fontpitch fontpitch = variable!
  376. string facename = "宋体"
  377. long textcolor = 33554432
  378. boolean vscrollbar = true
  379. boolean autovscroll = true
  380. borderstyle borderstyle = stylelowered!
  381. end type
  382. event keyup;triggerevent('modified')
  383. end event
  384. event modified;st_1.Text = '正文('+String(Len(mle_1.Text))+')'
  385. end event
  386. type st_1 from statictext within w_sms_send_new
  387. integer y = 188
  388. integer width = 517
  389. integer height = 60
  390. boolean bringtotop = true
  391. integer textsize = -9
  392. integer weight = 400
  393. fontcharset fontcharset = gb2312charset!
  394. fontpitch fontpitch = variable!
  395. string facename = "宋体"
  396. long textcolor = 33554432
  397. long backcolor = 134217739
  398. string text = "正文"
  399. boolean focusrectangle = false
  400. end type
  401. type st_2 from statictext within w_sms_send_new
  402. integer x = 1111
  403. integer y = 188
  404. integer width = 517
  405. integer height = 60
  406. boolean bringtotop = true
  407. integer textsize = -9
  408. integer weight = 400
  409. fontcharset fontcharset = gb2312charset!
  410. fontpitch fontpitch = variable!
  411. string facename = "宋体"
  412. long textcolor = 33554432
  413. long backcolor = 134217739
  414. string text = "发送列表"
  415. boolean focusrectangle = false
  416. end type
  417. type dw_revlist from u_dw_rbtnfilter within w_sms_send_new
  418. integer x = 1111
  419. integer y = 260
  420. integer width = 1705
  421. integer height = 1496
  422. integer taborder = 120
  423. boolean bringtotop = true
  424. string dataobject = "dw_sms_send_new_mx"
  425. boolean hscrollbar = true
  426. boolean vscrollbar = true
  427. boolean hsplitscroll = true
  428. string cur_allowversion = "0"
  429. end type
  430. event doubleclicked;call super::doubleclicked;cb_1.TriggerEvent(Clicked!)
  431. end event
  432. event clicked;call super::clicked;IF row <= 0 THEN RETURN
  433. This.SetRow(row)
  434. IF KeyDown(keyControl!) THEN
  435. This.SelectRow(row, Not This.IsSelected(row))
  436. ELSE
  437. This.SelectRow(0, False)
  438. This.SelectRow(row, True)
  439. END IF
  440. end event
  441. type cb_1 from uo_imflatbutton within w_sms_send_new
  442. integer x = 1682
  443. integer y = 184
  444. integer width = 165
  445. integer height = 76
  446. integer taborder = 90
  447. boolean bringtotop = true
  448. integer weight = 700
  449. string text = "新增"
  450. integer picsize = 16
  451. boolean border = false
  452. end type
  453. event clicked;call super::clicked;IF s_send.sendflag <> 2 THEN RETURN
  454. Long ll_row
  455. ll_row = dw_revlist.GetRow()
  456. dw_revlist.SelectRow(0, False)
  457. Open(w_sms_send_new_ch)
  458. s_spring_send s_rslt
  459. s_rslt = Message.PowerObjectParm
  460. Long ll_i
  461. //IF IsNull(s_rslt) THEN RETURN
  462. //IF IsNull(s_rslt.mx) THEN RETURN
  463. FOR ll_i = 1 To UpperBound(s_rslt.mx)
  464. IF ll_row <= 0 THEN
  465. ll_row = dw_revlist.InsertRow(0)
  466. END IF
  467. IF Trim(dw_revlist.Object.revphone[ll_row]) <> '' THEN
  468. ll_row = dw_revlist.InsertRow(0)
  469. END IF
  470. dw_revlist.Object.revtype[ll_row] = s_rslt.mx[ll_i].revtype
  471. dw_revlist.Object.revid[ll_row] = s_rslt.mx[ll_i].revid
  472. dw_revlist.Object.revname[ll_row] = s_rslt.mx[ll_i].revname
  473. dw_revlist.Object.revrep[ll_row] = s_rslt.mx[ll_i].revrep
  474. dw_revlist.Object.revphone[ll_row] = s_rslt.mx[ll_i].revphone
  475. dw_revlist.SelectRow(ll_row, True)
  476. NEXT
  477. IF ll_row > 0 THEN
  478. dw_revlist.ScrollToRow(ll_row)
  479. END IF
  480. end event
  481. type cb_3 from uo_imflatbutton within w_sms_send_new
  482. integer x = 1851
  483. integer y = 184
  484. integer width = 165
  485. integer height = 76
  486. integer taborder = 100
  487. boolean bringtotop = true
  488. integer weight = 700
  489. string text = "删除"
  490. integer picsize = 16
  491. boolean border = false
  492. end type
  493. event clicked;call super::clicked;Long ll_i
  494. FOR ll_i = dw_revlist.RowCount() To 1 Step -1
  495. IF dw_revlist.IsSelected(ll_i) THEN
  496. dw_revlist.DeleteRow(ll_i)
  497. END IF
  498. NEXT
  499. end event
  500. type cb_5 from uo_imflatbutton within w_sms_send_new
  501. integer x = 2519
  502. integer y = 184
  503. integer width = 274
  504. integer height = 76
  505. integer taborder = 110
  506. boolean bringtotop = true
  507. string text = "选择通道"
  508. integer picsize = 16
  509. boolean border = false
  510. end type
  511. event clicked;call super::clicked;s_spring_sendway s_sendway
  512. Open(w_sendway_edit_ch)
  513. s_sendway = Message.PowerObjectParm
  514. IF s_sendway.sendwayid > 0 THEN
  515. s_send.sendway = s_sendway.sendwayid
  516. wf_showsendway(s_sendway.sendwayid)
  517. END IF
  518. end event
  519. type st_3 from statictext within w_sms_send_new
  520. integer x = 2089
  521. integer y = 192
  522. integer width = 421
  523. integer height = 56
  524. boolean bringtotop = true
  525. integer textsize = -9
  526. integer weight = 400
  527. fontcharset fontcharset = gb2312charset!
  528. fontpitch fontpitch = variable!
  529. string facename = "宋体"
  530. long textcolor = 33554432
  531. long backcolor = 134217739
  532. alignment alignment = right!
  533. boolean focusrectangle = false
  534. end type
  535. type cb_6 from uo_imflatbutton within w_sms_send_new
  536. integer x = 658
  537. integer width = 165
  538. integer height = 164
  539. integer taborder = 60
  540. boolean bringtotop = true
  541. string text = "转发"
  542. string normalpicname = "email_view5.bmp"
  543. integer picsize = 16
  544. toolbaralignment pic_align = alignattop!
  545. boolean border = false
  546. end type
  547. type cb_7 from uo_imflatbutton within w_sms_send_new
  548. integer x = 494
  549. integer width = 165
  550. integer height = 164
  551. integer taborder = 50
  552. boolean bringtotop = true
  553. string text = "回复"
  554. string normalpicname = "email_view4.bmp"
  555. integer picsize = 16
  556. toolbaralignment pic_align = alignattop!
  557. boolean border = false
  558. end type
  559. type ln_bar from line within w_sms_send_new
  560. long linecolor = 268435456
  561. integer linethickness = 4
  562. integer beginy = 172
  563. integer endx = 3200
  564. integer endy = 172
  565. end type
  566. type ln_bar2 from line within w_sms_send_new
  567. long linecolor = 16777215
  568. integer linethickness = 4
  569. integer beginx = 14
  570. integer beginy = 176
  571. integer endx = 3278
  572. integer endy = 176
  573. end type
  574. type r_bar from rectangle within w_sms_send_new
  575. long linecolor = 16777215
  576. integer linethickness = 4
  577. long fillcolor = 1073741824
  578. integer x = 969
  579. integer y = 52
  580. integer width = 87
  581. integer height = 68
  582. end type
  583. event constructor;this.fillcolor = 14215660
  584. this.linecolor = 14215660
  585. this.x = -1
  586. this.y = -1
  587. this.height = ln_bar.beginy - 5
  588. end event