w_ljmail_msg_send.srw 76 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104
  1. $PBExportHeader$w_ljmail_msg_send.srw
  2. forward
  3. global type w_ljmail_msg_send from w_publ_base
  4. end type
  5. type cb_send from uo_imflatbutton within w_ljmail_msg_send
  6. end type
  7. type cb_save from uo_imflatbutton within w_ljmail_msg_send
  8. end type
  9. type cb_fj from uo_imflatbutton within w_ljmail_msg_send
  10. end type
  11. type lv_fj from uo_email_lv within w_ljmail_msg_send
  12. end type
  13. type dw_revlist from u_dw_rbtnfilter within w_ljmail_msg_send
  14. end type
  15. type cb_6 from commandbutton within w_ljmail_msg_send
  16. end type
  17. type cb_7 from commandbutton within w_ljmail_msg_send
  18. end type
  19. type cb_9 from commandbutton within w_ljmail_msg_send
  20. end type
  21. type cbx_1 from checkbox within w_ljmail_msg_send
  22. end type
  23. type cb_1 from commandbutton within w_ljmail_msg_send
  24. end type
  25. type cb_2 from uo_imflatbutton within w_ljmail_msg_send
  26. end type
  27. type cb_fornextsend from uo_imflatbutton within w_ljmail_msg_send
  28. end type
  29. type st_1 from statictext within w_ljmail_msg_send
  30. end type
  31. type em_priority from editmask within w_ljmail_msg_send
  32. end type
  33. type st_3 from statictext within w_ljmail_msg_send
  34. end type
  35. type st_4 from statictext within w_ljmail_msg_send
  36. end type
  37. type st_5 from statictext within w_ljmail_msg_send
  38. end type
  39. type st_6 from statictext within w_ljmail_msg_send
  40. end type
  41. type st_7 from statictext within w_ljmail_msg_send
  42. end type
  43. type st_9 from statictext within w_ljmail_msg_send
  44. end type
  45. type sle_subject from singlelineedit within w_ljmail_msg_send
  46. end type
  47. type mle_revlist from uo_mle_demo within w_ljmail_msg_send
  48. end type
  49. type st_10 from statictext within w_ljmail_msg_send
  50. end type
  51. type sle_mailaddress from statictext within w_ljmail_msg_send
  52. end type
  53. type sle_mailtype from statictext within w_ljmail_msg_send
  54. end type
  55. type em_mailsize from statictext within w_ljmail_msg_send
  56. end type
  57. type sle_opemp from statictext within w_ljmail_msg_send
  58. end type
  59. type em_opdate from statictext within w_ljmail_msg_send
  60. end type
  61. type em_senddate from statictext within w_ljmail_msg_send
  62. end type
  63. type sp_v1 from u_lbs_stsplitbar within w_ljmail_msg_send
  64. end type
  65. type cb_3 from uo_imflatbutton within w_ljmail_msg_send
  66. end type
  67. type cb_4 from uo_imflatbutton within w_ljmail_msg_send
  68. end type
  69. type uo_html from uo_html_editor within w_ljmail_msg_send
  70. end type
  71. type st_11 from uo_text_m within w_ljmail_msg_send
  72. end type
  73. type pb_1 from picturebutton within w_ljmail_msg_send
  74. end type
  75. type cb_5 from uo_imflatbutton within w_ljmail_msg_send
  76. end type
  77. type st_12 from statictext within w_ljmail_msg_send
  78. end type
  79. type ln_bar from line within w_ljmail_msg_send
  80. end type
  81. type ln_bar2 from line within w_ljmail_msg_send
  82. end type
  83. type r_bar from rectangle within w_ljmail_msg_send
  84. end type
  85. end forward
  86. global type w_ljmail_msg_send from w_publ_base
  87. integer width = 3611
  88. integer height = 2380
  89. string title = "发送邮件"
  90. boolean maxbox = true
  91. event ue_addfj ( )
  92. event ue_delfj ( )
  93. event ue_saveas ( )
  94. event ue_runfj ( )
  95. event ue_filter_rep ( )
  96. event ue_sendreg ( )
  97. event ue_sendmx ( )
  98. event ue_set_height ( )
  99. cb_send cb_send
  100. cb_save cb_save
  101. cb_fj cb_fj
  102. lv_fj lv_fj
  103. dw_revlist dw_revlist
  104. cb_6 cb_6
  105. cb_7 cb_7
  106. cb_9 cb_9
  107. cbx_1 cbx_1
  108. cb_1 cb_1
  109. cb_2 cb_2
  110. cb_fornextsend cb_fornextsend
  111. st_1 st_1
  112. em_priority em_priority
  113. st_3 st_3
  114. st_4 st_4
  115. st_5 st_5
  116. st_6 st_6
  117. st_7 st_7
  118. st_9 st_9
  119. sle_subject sle_subject
  120. mle_revlist mle_revlist
  121. st_10 st_10
  122. sle_mailaddress sle_mailaddress
  123. sle_mailtype sle_mailtype
  124. em_mailsize em_mailsize
  125. sle_opemp sle_opemp
  126. em_opdate em_opdate
  127. em_senddate em_senddate
  128. sp_v1 sp_v1
  129. cb_3 cb_3
  130. cb_4 cb_4
  131. uo_html uo_html
  132. st_11 st_11
  133. pb_1 pb_1
  134. cb_5 cb_5
  135. st_12 st_12
  136. ln_bar ln_bar
  137. ln_bar2 ln_bar2
  138. r_bar r_bar
  139. end type
  140. global w_ljmail_msg_send w_ljmail_msg_send
  141. type variables
  142. s_ljmail_msg_parm s_set
  143. //s_email_send s_send
  144. Boolean have_fj = False
  145. String fjfilepathname = 'fjtemp'
  146. uo_ljmail_msg obj_email
  147. uo_ljmail_box uo_box
  148. Boolean ls_update_flag = True
  149. Transaction Commit_Tran
  150. Transaction fj_tran
  151. String C_Sys_admsg_fj = 'Sys_admsg_fj'
  152. String C_u_email_fj = 'u_email_fj'
  153. String C_from_file = 'from_file'
  154. String C_u_ljmail_fj = 'u_ljmail_fj'
  155. end variables
  156. forward prototypes
  157. public function integer wf_save (ref string arg_msg)
  158. public function integer wf_init (ref string arg_msg)
  159. public function long wf_face_change ()
  160. public subroutine wf_fjcount ()
  161. public function integer wf_check (ref string arg_msg)
  162. public function integer f_getstatusvalue (string arg_name)
  163. public subroutine wf_makerevlist ()
  164. public subroutine wf_makerevtext ()
  165. public subroutine uf_updaterevlist ()
  166. public function string f_getstatusname (string arg_value)
  167. public function integer wf_admsg_getfj (long arg_msgid, ref s_email_lvfj arg_lvfj[], ref string arg_msg)
  168. public function integer wf_admsg_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg)
  169. public subroutine wf_blob_runfj (ref blob arg_blob, string arg_filename)
  170. public subroutine wf_blob_saveas (ref blob arg_blob, string arg_filename)
  171. public function boolean wf_hasdotnet ()
  172. public subroutine wf_addfj (string arg_filename)
  173. public function integer wf_from_msgid (long arg_msgid, ref string arg_msg)
  174. public function integer wf_mail_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg)
  175. public function integer wf_ljmail_getfjblob (long arg_msgid, long arg_printid, ref blob arg_fjblob, ref string arg_msg)
  176. public function integer wf_to_s_msg (ref s_ljmail_msg arg_s_msg, ref string arg_msg)
  177. public function integer wf_blob_from_lvfj (ref blob arg_blob, s_email_lvfj arg_lvfj, ref string arg_msg)
  178. public function integer wf_from_s_msg (s_ljmail_msg arg_s_msg, ref string arg_msg)
  179. public function integer wf_from_msgid_other (long arg_relid, ref string arg_msg)
  180. end prototypes
  181. event ue_addfj();Long i,j
  182. Long ls_i,ls_j,ls_newrow,ls_filesize
  183. Blob ls_filedata
  184. String Pathname,ls_filename
  185. String Filename[],errmsg
  186. s_email_lvfj s_lvfj
  187. String find_name
  188. listviewitem l_lvi,l_lvi1
  189. i = GetFileSaveName("选择附件",Pathname,Filename[],"*","所有文件,*.*")
  190. IF i = 1 AND Trim(Pathname) <> '' THEN
  191. IF NOT have_fj THEN
  192. have_fj = TRUE
  193. THIS.TriggerEvent(Resize!)
  194. END IF
  195. FOR ls_i = 1 TO UpperBound(Filename)
  196. IF UpperBound(Filename) = 1 THEN
  197. ls_filename = Pathname
  198. ELSE
  199. ls_filename = Pathname + '\'+Filename[ls_i]
  200. END IF
  201. FOR j = 1 TO lv_fj.TotalItems()
  202. lv_fj.GetItem(j, l_lvi1)
  203. find_name = l_lvi1.Label
  204. IF find_name = Filename[ls_i] THEN GOTO for_next
  205. NEXT
  206. IF f_filetoblob(ls_filename,ls_filedata,errmsg) = 0 THEN
  207. MessageBox('系统提示',errmsg)
  208. RETURN
  209. END IF
  210. ls_filesize = Len(ls_filedata)
  211. s_lvfj.fjtype = 0
  212. // s_lvfj.relid = s_send.sendid
  213. s_lvfj.Filename = Filename[ls_i]
  214. s_lvfj.filesize = ls_filesize
  215. s_lvfj.fileblob = ls_filedata
  216. s_lvfj.filetype = C_from_file
  217. l_lvi.PictureIndex = 1
  218. l_lvi.Label = Filename[ls_i]
  219. l_lvi.Data = s_lvfj
  220. lv_fj.InsertItem(ls_i,l_lvi)
  221. for_next:
  222. NEXT
  223. END IF
  224. wf_fjcount()
  225. end event
  226. event ue_delfj();lv_fj.triggerevent('ue_delfj')
  227. wf_fjcount()
  228. end event
  229. event ue_saveas();lv_fj.triggerevent('ue_saveas')
  230. end event
  231. event ue_runfj();lv_fj.triggerevent('ue_runfj')
  232. end event
  233. event ue_filter_rep();string obj_expr=''
  234. //if trim(tab_1.tabpage_1.sle_2.text)<>'' then
  235. // if pos(trim(tab_1.tabpage_1.sle_2.text),'%',1)=0 then
  236. // obj_expr=obj_expr+'( mailname like "%'+trim(tab_1.tabpage_1.sle_2.text)+'%" )'
  237. // else
  238. // obj_expr=obj_expr+'( mailname like "'+trim(tab_1.tabpage_1.sle_2.text)+'" )'
  239. // end if
  240. //end if
  241. //
  242. //dw_rep.setfilter(obj_expr)
  243. //
  244. //dw_rep.setredraw(false)
  245. //dw_rep.filter()
  246. //if dw_rep.rowcount()>=1 then
  247. // dw_rep.selectrow(0,false)
  248. // dw_rep.selectrow(1,true)
  249. //end if
  250. //dw_rep.setredraw(true)
  251. end event
  252. event ue_sendmx();if not dw_edit_mode then return
  253. s_sendmx_parm s_sendmx, s_return
  254. Long i, ll_row
  255. FOR i = 1 To dw_revlist.RowCount()
  256. s_sendmx.sendmx[i].printid = i
  257. s_sendmx.sendmx[i].sendid = 0
  258. s_sendmx.sendmx[i].reltype = dw_revlist.Object.reltype[i]
  259. s_sendmx.sendmx[i].Relid = dw_revlist.Object.Relid[i]
  260. s_sendmx.sendmx[i].Revname = Trim(dw_revlist.Object.Revname[i])
  261. s_sendmx.sendmx[i].revaddress = Trim(dw_revlist.Object.revaddress[i])
  262. NEXT
  263. OpenWithParm(w_ljmail_msgmx_ch, s_sendmx)
  264. s_return = Message.PowerObjectParm
  265. IF Not IsValid(s_return) THEN RETURN
  266. dw_revlist.Reset()
  267. s_ljmail_msgmx s_msgmx
  268. String arg_msg
  269. FOR i = 1 To UpperBound(s_return.sendmx)
  270. IF obj_email.uf_get_msgmx(s_return.sendmx[i].revaddress, Ref s_msgmx, Ref arg_msg) <> 1 THEN
  271. ll_row = dw_revlist.InsertRow(0)
  272. dw_revlist.Object.reltype[ll_row] = s_return.sendmx[i].reltype
  273. dw_revlist.Object.Relid[ll_row] = s_return.sendmx[i].Relid
  274. dw_revlist.Object.revaddress[ll_row] = s_return.sendmx[i].revaddress
  275. dw_revlist.Object.Revname[ll_row] = s_return.sendmx[i].Revname
  276. ELSE
  277. ll_row = dw_revlist.InsertRow(0)
  278. dw_revlist.Object.reltype[ll_row] = s_msgmx.reltype
  279. dw_revlist.Object.Relid[ll_row] = s_msgmx.Relid
  280. dw_revlist.Object.revaddress[ll_row] = s_msgmx.ljmail
  281. dw_revlist.Object.Revname[ll_row] = s_msgmx.comname
  282. dw_revlist.Object.repname[ll_row] = s_msgmx.empname
  283. END IF
  284. NEXT
  285. wf_makerevtext()
  286. This.TriggerEvent('ue_set_height')
  287. end event
  288. event ue_set_height;if mle_revlist.height > 84 then return
  289. if mle_revlist.linecount( ) > 1 then
  290. mle_revlist.Height = 84 * 3
  291. st_9.y = st_9.y + 168
  292. sle_subject.y = sle_subject.y + 168
  293. uo_html.y = uo_html.y + 168
  294. sp_v1.y = sp_v1.y + 168
  295. dw_revlist.y = dw_revlist.y + 168
  296. this.triggerevent('resize')
  297. end if
  298. end event
  299. public function integer wf_save (ref string arg_msg);Long rslt = 1
  300. Long i,j
  301. s_email_lvfj s_lvfj[]
  302. listviewitem l_lvi
  303. String ls_temp
  304. Long ll_row
  305. s_ljmail_msg s_msg
  306. dw_revlist.AcceptText()
  307. s_email_sendmx s_sendmx[],s_parm
  308. mle_revlist.text = ''
  309. ls_temp = ''
  310. FOR i = 1 TO dw_revlist.RowCount()
  311. s_parm.Revname = Trim(dw_revlist.Object.Revname[i])
  312. s_parm.revaddress = Trim(dw_revlist.Object.revaddress[i])
  313. // IF obj_email.f_check_rep(s_parm,arg_msg) = 0 THEN
  314. // rslt = 0
  315. // GOTO ext
  316. // END IF
  317. dw_revlist.Object.Revname[i] = s_parm.Revname
  318. dw_revlist.Object.revaddress[i] = s_parm.revaddress
  319. dw_revlist.Object.reltype[i] = s_parm.reltype
  320. dw_revlist.Object.relid[i] = s_parm.relid
  321. NEXT
  322. wf_makerevtext()
  323. // wf_to_s(ref s_msg)
  324. //s_send.mailtype = '发件'
  325. //s_send.Subject = sle_subject.text
  326. //s_send.priority = long(this.em_priority.text)
  327. //s_send.htmlbody = uo_html.uf_gethtml( )
  328. //s_send.textbody = uo_html.uf_gettext( )
  329. //s_send.mailsize = long(em_mailsize.text)
  330. //if cb_normal_flag.checked then
  331. // s_send.normal_flag = 1
  332. //else
  333. // s_send.normal_flag = 0
  334. //end if
  335. //string ls_normal
  336. //long ll_begin, ll_end
  337. //ls_normal = ddlb_normalflag.text
  338. //ll_begin = pos(ls_normal, '[',1)
  339. //ll_end = pos(ls_normal, ']', ll_begin)
  340. //
  341. //ls_normal = mid(ls_normal, ll_begin + 1, ll_end - ll_begin - 1)
  342. //s_send.normal_flag = long(ls_normal)
  343. //IF dw_revlist.RowCount() > 0 THEN
  344. // FOR i = 1 TO dw_revlist.RowCount()
  345. // s_sendmx[i].printid = i
  346. // s_sendmx[i].sendid = s_send.sendid
  347. // s_sendmx[i].reltype = dw_revlist.Object.reltype[i]
  348. // s_sendmx[i].Relid = dw_revlist.Object.Relid[i]
  349. // s_sendmx[i].Revname = Trim(dw_revlist.Object.Revname[i])
  350. // s_sendmx[i].revaddress = Trim(dw_revlist.Object.revaddress[i])
  351. // NEXT
  352. //ELSE
  353. // arg_msg = '收件人列表不能为空'
  354. // rslt = 0
  355. // GOTO ext
  356. //END IF
  357. //IF lv_fj.TotalItems() > 0 THEN
  358. // FOR j = 1 TO lv_fj.TotalItems()
  359. // lv_fj.GetItem(j, l_lvi)
  360. // s_lvfj[j] = l_lvi.Data
  361. // NEXT
  362. //END IF
  363. //IF obj_email.f_save(s_send,s_sendmx,s_lvfj,arg_msg) = 0 THEN
  364. // rslt = 0
  365. // GOTO ext
  366. //END IF
  367. //
  368. //s_set.sendid = s_send.sendid
  369. //
  370. //if wf_init(arg_msg) <> 1 then
  371. // rslt = 0
  372. // goto ext
  373. //end if
  374. wf_fjcount()
  375. this.triggerevent('resize')
  376. //ext:
  377. RETURN rslt
  378. end function
  379. public function integer wf_init (ref string arg_msg);Int rslt = 1
  380. Long count,ls_i, i
  381. String ls_msg
  382. s_ljmail_msg s_msg
  383. listviewitem l_lvi
  384. s_email_lvfj s_lvfj[]
  385. dw_revlist.Reset()
  386. IF s_set.msgid > 0 THEN
  387. IF wf_from_msgid(s_set.msgid, Ref arg_msg) <> 1 THEN
  388. rslt = 0
  389. GOTO ext
  390. END IF
  391. ELSE
  392. IF s_set.reltype = 1 THEN
  393. // from admsg
  394. ELSEIF s_set.reltype = 2 THEN
  395. // from email
  396. ELSEIF s_set.reltype = 3 THEN
  397. // from ljmail
  398. IF wf_from_msgid_other(s_set.relid, Ref arg_msg) <> 1 THEN
  399. rslt = 0
  400. GOTO ext
  401. END IF
  402. ELSE
  403. // from s_msg
  404. IF wf_from_s_msg(s_set.s_msg, Ref arg_msg) <> 1 THEN
  405. rslt = 0
  406. GOTO ext
  407. END IF
  408. END IF
  409. // wf_from_parm(ref s_msg, s_set)
  410. // wf_From_s(s_msg)
  411. // long ll_row
  412. // em_priority.text = "3"
  413. // sle_mailtype.Text = '未发'
  414. // sle_mailuser.text = s_set.mailuser
  415. // sle_mailaddress.text = s_set.mailaddress
  416. // s_send.mailid = s_set.mailid
  417. // ddlb_normalflag.selectitem(1)
  418. // em_opdate.text = string(Today (), 'yyyy-mm-dd')
  419. // IF s_set.flag = 1 THEN // 回复
  420. // ll_row = dw_revlist.InsertRow(0)
  421. // dw_revlist.Object.reltype[ll_row] = s_set.reltype
  422. // dw_revlist.Object.revaddress[ll_row] = s_set.revaddress
  423. // dw_revlist.Object.revname[ll_row] = s_set.revuser
  424. // dw_revlist.Object.relid[ll_row] = s_set.relid
  425. // ELSEIF s_set.flag = 2 THEN // 转发
  426. //// mle_text.Text = s_set.textbody
  427. // sle_subject.text = s_set.title
  428. // s_send.htmlbody = s_set.htmlbody
  429. // uo_html.uf_sethtml(s_send.htmlbody)
  430. //
  431. // lv_fj.DeleteItems( )
  432. // if s_set.reltype = 2 then
  433. // if wf_admsg_getfj(s_set.relid, s_lvfj, arg_msg) <> 1 then
  434. // rslt = 0
  435. // goto ext
  436. // end if
  437. // for i = 1 to UPPERBOUND(s_lvfj)
  438. // l_lvi.PictureIndex = 1
  439. // l_lvi.Label = s_lvfj[i].Filename
  440. // l_lvi.Data = s_lvfj[i]
  441. // lv_fj.additem(l_lvi)
  442. // next
  443. //
  444. // have_fj = (UPPERBOUND(s_lvfj) > 0)
  445. // lv_fj.visible = have_fj
  446. // else
  447. // if obj_email.uf_get_fj(s_set.relid, s_lvfj, arg_msg, false) <> 1 then
  448. // rslt = 0
  449. // goto ext
  450. // end if
  451. //
  452. // for i = 1 to UPPERBOUND(s_lvfj)
  453. // l_lvi.PictureIndex = 1
  454. // l_lvi.Label = s_lvfj[i].Filename
  455. // l_lvi.Data = s_lvfj[i]
  456. // lv_fj.additem(l_lvi)
  457. // next
  458. //
  459. // have_fj = (UPPERBOUND(s_lvfj) > 0)
  460. // lv_fj.visible = have_fj
  461. // end if
  462. //
  463. // END IF
  464. END IF
  465. wf_makerevtext()
  466. ext:
  467. RETURN rslt
  468. end function
  469. public function long wf_face_change ();IF not dw_edit_mode THEN
  470. // tab_1.tabpage_1.cb_delet.Enabled = FALSE
  471. // tab_1.tabpage_1.cb_rtr.Enabled = FALSE
  472. //
  473. // tab_1.tabpage_1.cb_edit.Text = "放弃&E"
  474. // tab_1.tabpage_1.cb_add.Text = "保存&S"
  475. cb_send.Enabled = FALSE
  476. cb_save.Enabled = FALSE
  477. cb_fj.Enabled = FALSE
  478. // cb_change.Enabled = FALSE
  479. cb_exit.Enabled = FALSE
  480. cb_6.Enabled = FALSE
  481. cb_7.Enabled = FALSE
  482. cb_9.Enabled = FALSE
  483. cbx_1.Enabled = FALSE
  484. // tab_1.tabpage_3.Enabled = FALSE
  485. // tab_1.tabpage_4.Enabled = FALSE
  486. ELSE
  487. // tab_1.tabpage_1.cb_delet.Enabled = TRUE
  488. // tab_1.tabpage_1.cb_rtr.Enabled = TRUE
  489. //
  490. // tab_1.tabpage_1.cb_edit.Text = "修改&E"
  491. // tab_1.tabpage_1.cb_add.Text = "新建&S"
  492. cb_send.Enabled = TRUE
  493. cb_save.Enabled = TRUE
  494. cb_fj.Enabled = TRUE
  495. // cb_change.Enabled = TRUE
  496. cb_exit.Enabled = TRUE
  497. cb_6.Enabled = TRUE
  498. cb_7.Enabled = TRUE
  499. cb_9.Enabled = TRUE
  500. cbx_1.Enabled = TRUE
  501. // tab_1.tabpage_3.Enabled = TRUE
  502. // tab_1.tabpage_4.Enabled = TRUE
  503. END IF
  504. RETURN 1
  505. end function
  506. public subroutine wf_fjcount ();IF lv_fj.TotalItems() = 0 THEN
  507. cb_fj.Text = '附件'
  508. have_fj = FALSE
  509. THIS.TriggerEvent(Resize!)
  510. ELSE
  511. cb_fj.Text = '附件(' +String(lv_fj.TotalItems()) + ')'
  512. END IF
  513. cb_fj.of_init_draw()
  514. cb_fj.of_paint()
  515. cb_fj.TriggerEvent('ue_textchange')
  516. end subroutine
  517. public function integer wf_check (ref string arg_msg);Long rslt = 1
  518. Long i
  519. dw_revlist.AcceptText()
  520. IF dw_revlist.RowCount() = 0 THEN
  521. rslt = 0
  522. arg_msg = '收件人列表不能为空'
  523. GOTO ext
  524. END IF
  525. FOR i = 1 TO dw_revlist.RowCount()
  526. IF Pos(Trim(dw_revlist.Object.revaddress[i]),'@',1) = 0 THEN
  527. rslt = 0
  528. arg_msg = '第' + String(i) + '行,收件人地址不正确'
  529. GOTO ext
  530. END IF
  531. NEXT
  532. ext:
  533. RETURN rslt
  534. end function
  535. public function integer f_getstatusvalue (string arg_name);if arg_name = '未发' then
  536. return 0
  537. elseif arg_name = '已发' then
  538. return 1
  539. elseif arg_name = '废件' then
  540. return 2
  541. else
  542. return -1
  543. end if
  544. end function
  545. public subroutine wf_makerevlist ();if not dw_edit_mode then return
  546. String ls_name, ls_address
  547. String arg_msg
  548. Long ll_pos
  549. Long ll_row
  550. String ls_arg, ls_mail
  551. ls_arg = mle_revlist.Text
  552. s_ljmail_msgmx s_msgmx
  553. Long ll_first, ll_sec
  554. dw_revlist.Reset()
  555. dw_revlist.AcceptText( )
  556. ll_first = 1
  557. DO While (ll_first <= Len(ls_arg))
  558. ll_sec = Pos(ls_arg, ';', ll_first)
  559. IF ll_sec = 0 THEN
  560. ll_sec = Len(ls_arg)
  561. ELSE
  562. ll_sec = ll_sec - 1
  563. END IF
  564. IF ll_sec < ll_first THEN
  565. ll_first ++
  566. CONTINUE;
  567. END IF
  568. ls_mail = Mid(ls_arg, ll_first, ll_sec - ll_first + 1)
  569. ll_pos = Pos(ls_mail, '<', 1)
  570. IF ll_pos = 0 THEN
  571. ls_name = ls_mail
  572. ls_address = ls_mail
  573. ELSE
  574. ls_name = Left(ls_mail, ll_pos - 1)
  575. ls_address = Mid(ls_mail, ll_pos + 1, Len(ls_mail) - ll_pos)
  576. ll_pos = Pos(ls_address, '>', 1)
  577. ls_address = Left(ls_address, ll_pos - 1)
  578. END IF
  579. IF obj_email.uf_get_msgmx(ls_address, Ref s_msgmx, Ref arg_msg) <> 1 THEN
  580. ll_row = dw_revlist.InsertRow(0)
  581. dw_revlist.Object.reltype[ll_row] = 3
  582. dw_revlist.Object.relid[ll_row] = 0
  583. dw_revlist.Object.revaddress[ll_row] = ls_address
  584. dw_revlist.Object.revname[ll_row] = ls_name
  585. dw_revlist.Object.dscrp[ll_row] = ''
  586. dw_revlist.Object.repname[ll_row] = ''
  587. dw_revlist.AcceptText( )
  588. ELSE
  589. ll_row = dw_revlist.InsertRow(0)
  590. dw_revlist.Object.reltype[ll_row] = s_msgmx.reltype
  591. dw_revlist.Object.relid[ll_row] = s_msgmx.relid
  592. dw_revlist.Object.revaddress[ll_row] = s_msgmx.ljmail
  593. dw_revlist.Object.revname[ll_row] = s_msgmx.comname
  594. dw_revlist.Object.dscrp[ll_row] = ''
  595. dw_revlist.Object.repname[ll_row] = s_msgmx.empname
  596. dw_revlist.AcceptText( )
  597. END IF
  598. ll_first = ll_sec + 2
  599. LOOP
  600. dw_revlist.AcceptText( )
  601. end subroutine
  602. public subroutine wf_makerevtext ();if not dw_edit_mode then return
  603. Long i, ll_row
  604. dw_revlist.AcceptText( )
  605. ll_row = dw_revlist.RowCount( )
  606. mle_revlist.Text = ''
  607. IF ll_row = 0 THEN
  608. RETURN
  609. END IF
  610. FOR i = 1 To ll_row
  611. IF Trim(dw_revlist.Object.repname[i]) = '' THEN
  612. mle_revlist.Text = mle_revlist.Text + dw_revlist.Object.revname[i] + '<' + dw_revlist.Object.revaddress[i] + '>;'
  613. ELSE
  614. mle_revlist.Text = mle_revlist.Text + dw_revlist.Object.revname[i] + '-' + dw_revlist.Object.repname[i] + '<' + dw_revlist.Object.revaddress[i] + '>;'
  615. END IF
  616. NEXT
  617. mle_revlist.Text = Left(mle_revlist.Text, Len(mle_revlist.Text) - 1)
  618. end subroutine
  619. public subroutine uf_updaterevlist ();if not dw_edit_mode then return
  620. long index, reltype, j
  621. index = 1
  622. do while index <= dw_revlist.rowcount()
  623. j = index + 1
  624. do while j <= dw_revlist.rowcount( )
  625. if dw_revlist.object.revaddress[index] = dw_revlist.object.revaddress[j] then
  626. dw_revlist.deleterow(j)
  627. else
  628. j++
  629. end if
  630. loop
  631. index ++
  632. loop
  633. wf_makerevtext()
  634. end subroutine
  635. public function string f_getstatusname (string arg_value);if arg_value = '发件' then
  636. return '未发'
  637. elseif arg_value = '已发件' then
  638. return '已发'
  639. elseif arg_value = '收件' then
  640. return '已收'
  641. else
  642. return 'unkown'
  643. end if
  644. end function
  645. public function integer wf_admsg_getfj (long arg_msgid, ref s_email_lvfj arg_lvfj[], ref string arg_msg);int rslt = 1
  646. s_email_lvfj lvfj[]
  647. long fjid
  648. string filename
  649. long i = 0
  650. DECLARE cur1 cursor FOR
  651. select fjid,filename
  652. from Sys_admsg_fj where msgid = :arg_msgid using Commit_Tran;
  653. OPEN cur1;
  654. FETCH cur1 INTO :fjid, :filename;
  655. do while Commit_Tran.sqlcode = 0
  656. i ++
  657. lvfj[i].fjid = fjid
  658. lvfj[i].filename = filename
  659. lvfj[i].filetype = C_Sys_admsg_fj
  660. FETCH cur1 INTO :fjid, :filename;
  661. LOOP
  662. CLOSE cur1;
  663. arg_lvfj = lvfj
  664. return rslt
  665. end function
  666. public function integer wf_admsg_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg);int rslt = 1
  667. SELECTBLOB fileblob INTO :arg_fjblob FROM Sys_admsg_fj
  668. WHERE fjid = :arg_fjid using Commit_Tran;
  669. if Commit_Tran.sqlcode <> 0 then
  670. rslt = 0
  671. arg_msg = '获取内部消息附件失败,' + Commit_Tran.sqlerrtext
  672. goto ext
  673. end if
  674. ext:
  675. return rslt
  676. end function
  677. public subroutine wf_blob_runfj (ref blob arg_blob, string arg_filename);int rslt = 1
  678. string ls_pathname
  679. string errmsg
  680. string lsNull
  681. setnull(lsNull)
  682. ls_pathname = sys_cur_path+fjfilepathname+'\'+arg_filename
  683. IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
  684. IF f_blobtofile(ls_pathname,arg_blob,errmsg) = 0 THEN
  685. rslt = 0
  686. GOTO ext
  687. END IF
  688. //打开附件
  689. ShellExecute32( Handle(THIS), lsNull, ls_pathname, lsNull, lsNull, 1 )
  690. ext:
  691. IF rslt = 0 THEN
  692. MessageBox('系统提示',errmsg)
  693. END IF
  694. end subroutine
  695. public subroutine wf_blob_saveas (ref blob arg_blob, string arg_filename);long pos1, i
  696. string ls_filetypename
  697. string ls_filename
  698. string errmsg
  699. pos1 = Pos(arg_filename,'.',1)
  700. IF pos1 > 0 THEN
  701. ls_filetypename = Mid(arg_filename,pos1 + 1, len(arg_filename))
  702. i = GetFileSaveName("另存为",arg_filename,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename)
  703. ELSE
  704. ls_filetypename = ''
  705. i = GetFileSaveName("另存为",arg_filename,ls_filename,"*","*.*,*.*")
  706. END IF
  707. IF i = 1 AND Trim(arg_filename) <> '' THEN
  708. IF f_blobtofile(arg_filename,arg_blob,errmsg) = 0 THEN
  709. MessageBox('系统提示',errmsg)
  710. RETURN
  711. ELSE
  712. MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+arg_filename)
  713. END IF
  714. END IF
  715. end subroutine
  716. public function boolean wf_hasdotnet ();string ls_value[]
  717. if RegistryValues('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727', ls_value) <> 1 then
  718. return false
  719. else
  720. return true
  721. end if
  722. end function
  723. public subroutine wf_addfj (string arg_filename);Long i,j
  724. Long ls_i,ls_j,ls_newrow,ls_filesize
  725. Blob ls_filedata
  726. String Pathname,ls_filename
  727. String Filename[],errmsg
  728. s_email_lvfj s_lvfj
  729. String find_name
  730. listviewitem l_lvi,l_lvi1
  731. i = 1
  732. Pathname = arg_filename
  733. Filename[1] = arg_filename
  734. long ll_pos
  735. ll_pos = LastPos(arg_filename, '\')
  736. if ll_pos > 0 then
  737. Filename[1] = mid(arg_filename, ll_pos + 1)
  738. end if
  739. IF i = 1 AND Trim(Pathname) <> '' THEN
  740. IF NOT have_fj THEN
  741. have_fj = TRUE
  742. THIS.TriggerEvent(Resize!)
  743. END IF
  744. FOR ls_i = 1 TO UpperBound(Filename)
  745. IF UpperBound(Filename) = 1 THEN
  746. ls_filename = Pathname
  747. ELSE
  748. ls_filename = Pathname + '\'+Filename[ls_i]
  749. END IF
  750. FOR j = 1 TO lv_fj.TotalItems()
  751. lv_fj.GetItem(j, l_lvi1)
  752. find_name = l_lvi1.Label
  753. IF find_name = Filename[ls_i] THEN GOTO for_next
  754. NEXT
  755. IF f_filetoblob(ls_filename,ls_filedata,errmsg) = 0 THEN
  756. MessageBox('系统提示',errmsg)
  757. RETURN
  758. END IF
  759. ls_filesize = Len(ls_filedata)
  760. s_lvfj.fjtype = 0
  761. // s_lvfj.relid = s_send.sendid
  762. s_lvfj.Filename = Filename[ls_i]
  763. s_lvfj.filesize = ls_filesize
  764. s_lvfj.fileblob = ls_filedata
  765. s_lvfj.filetype = C_from_file
  766. l_lvi.PictureIndex = 1
  767. l_lvi.Label = Filename[ls_i]
  768. l_lvi.Data = s_lvfj
  769. lv_fj.InsertItem(ls_i,l_lvi)
  770. for_next:
  771. NEXT
  772. END IF
  773. wf_fjcount()
  774. end subroutine
  775. public function integer wf_from_msgid (long arg_msgid, ref string arg_msg);Int rslt = 1
  776. Long i, ll_row
  777. s_ljmail_msg s_msg
  778. IF obj_email.uf_getinfo(arg_msgid, Ref s_msg, Ref arg_msg, True, True, True, False) <> 1 THEN
  779. rslt = 0
  780. GOTO ext
  781. END IF
  782. sle_mailaddress.Text = s_msg.ljmail
  783. sle_opemp.Text = s_msg.opemp
  784. em_opdate.Text = String(s_msg.opdate, 'yyyy-mm-dd')
  785. em_senddate.Text = String(s_msg.sendtime, 'yyyy-mm-dd')
  786. sle_subject.Text = s_msg.Subject
  787. uo_html.uf_sethtml(s_msg.htmlbody)
  788. dw_revlist.Reset()
  789. FOR i = 1 To UpperBound(s_msg.mx)
  790. ll_row = dw_revlist.InsertRow(0)
  791. dw_revlist.Object.sendid[ll_row] = s_msg.mx[i].msgid
  792. dw_revlist.Object.printid[ll_row] = s_msg.mx[i].printid
  793. dw_revlist.Object.reltype[ll_row] = s_msg.mx[i].reltype
  794. dw_revlist.Object.relid[ll_row] = s_msg.mx[i].relid
  795. dw_revlist.Object.revname[ll_row] = s_msg.mx[i].comname
  796. dw_revlist.Object.revaddress[ll_row] = s_msg.mx[i].ljmail
  797. dw_revlist.Object.repname[ll_row] = s_msg.mx[i].empname
  798. NEXT
  799. lv_fj.DeleteItems( )
  800. s_email_lvfj s_lvfj[]
  801. listviewitem l_lvi
  802. FOR i = 1 To UpperBound(s_msg.fj)
  803. s_lvfj[i].FileType = C_u_ljmail_fj
  804. s_lvfj[i].Filename = s_msg.fj[i].Filename
  805. s_lvfj[i].fjid = s_msg.fj[i].printid
  806. s_lvfj[i].relid = s_msg.fj[i].msgid
  807. NEXT
  808. FOR i = 1 To UpperBound(s_lvfj)
  809. l_lvi.PictureIndex = 1
  810. l_lvi.Label = s_lvfj[i].Filename
  811. l_lvi.Data = s_lvfj[i]
  812. lv_fj.AddItem(l_lvi)
  813. NEXT
  814. have_fj = (UpperBound(s_lvfj) > 0)
  815. lv_fj.Visible = have_fj
  816. IF s_msg.sendflag = 3 THEN
  817. dw_edit_mode = False
  818. cb_send.Enabled = False
  819. cb_2.Enabled = False
  820. cb_4.Enabled = False
  821. cb_save.Enabled = False
  822. cb_fj.Enabled = False
  823. cb_5.Visible = False
  824. st_12.Visible = False
  825. mle_revlist.DisplayOnly = True
  826. sle_subject.DisplayOnly = True
  827. pb_1.Visible = False
  828. st_11.Enabled = False
  829. uo_html.uf_setreadonly()
  830. END IF
  831. ext:
  832. RETURN rslt
  833. end function
  834. public function integer wf_mail_getfjblob (long arg_fjid, ref blob arg_fjblob, ref string arg_msg);int rslt = 1
  835. SELECTBLOB fileblob INTO :arg_fjblob FROM u_email_fj
  836. WHERE fjid = :arg_fjid using fj_tran;
  837. if fj_tran.sqlcode <> 0 then
  838. rslt = 0
  839. arg_msg = '获取附件失败,' + fj_tran.sqlerrtext
  840. goto ext
  841. end if
  842. ext:
  843. return rslt
  844. end function
  845. public function integer wf_ljmail_getfjblob (long arg_msgid, long arg_printid, ref blob arg_fjblob, ref string arg_msg);Int rslt = 1
  846. SelectBlob fileblob Into :arg_fjblob From u_ljmail_fj
  847. Where msgid = :arg_msgid And printid = :arg_printid Using Commit_Tran;
  848. IF Commit_Tran.SQLCode <> 0 THEN
  849. rslt = 0
  850. arg_msg = '获取龙嘉邮件附件失败,' + fj_tran.SQLErrText
  851. GOTO ext
  852. END IF
  853. ext:
  854. RETURN rslt
  855. end function
  856. public function integer wf_to_s_msg (ref s_ljmail_msg arg_s_msg, ref string arg_msg);Int rslt = 1
  857. s_ljmail_msgmx arr_mx[]
  858. Long ll_row
  859. FOR ll_row = 1 To dw_revlist.RowCount()
  860. arr_mx[ll_row].reltype = dw_revlist.Object.reltype[ll_row]
  861. arr_mx[ll_row].relid = dw_revlist.Object.relid[ll_row]
  862. arr_mx[ll_row].ljmail = dw_revlist.Object.revaddress[ll_row]
  863. arr_mx[ll_row].comname = dw_revlist.Object.revname[ll_row]
  864. arr_mx[ll_row].empname = dw_revlist.Object.repname[ll_row]
  865. NEXT
  866. s_ljmail_fj arr_fj[]
  867. s_email_lvfj s_lvfj
  868. listviewitem l_lvi
  869. FOR ll_row = 1 To lv_fj.TotalItems()
  870. IF lv_fj.GetItem(ll_row, l_lvi) <> 1 THEN
  871. rslt = 0
  872. arg_msg = '获取第' + String(ll_row) + '个附件失败'
  873. GOTO ext
  874. END IF
  875. s_lvfj = l_lvi.Data
  876. arr_fj[ll_row].Filename = s_lvfj.Filename
  877. IF wf_blob_from_lvfj(arr_fj[ll_row].fileblob, s_lvfj, arg_msg) <> 1 THEN
  878. rslt = 0
  879. GOTO ext
  880. END IF
  881. NEXT
  882. s_ljmail_msg s_msg
  883. s_msg.Subject = sle_subject.Text
  884. s_msg.htmlbody = uo_html.uf_gethtml( )
  885. s_msg.mx = arr_mx
  886. s_msg.fj = arr_fj
  887. s_msg.msgid = s_set.msgid
  888. s_msg.boxid = uo_box.uf_getboxid(sys_empid, 2, arg_msg)
  889. IF s_msg.boxid = 0 THEN
  890. rslt = 0
  891. GOTO ext
  892. END IF
  893. s_msg.sendflag = 2
  894. String ls_ljmail
  895. IF obj_email.uf_getljmail(Ref ls_ljmail, arg_msg) <> 1 THEN
  896. rslt = 0
  897. GOTO ext
  898. END IF
  899. s_msg.ljmail = ls_ljmail
  900. arg_s_msg = s_msg
  901. ext:
  902. RETURN rslt
  903. end function
  904. public function integer wf_blob_from_lvfj (ref blob arg_blob, s_email_lvfj arg_lvfj, ref string arg_msg);int rslt = 1
  905. IF arg_lvfj.FileType = C_Sys_admsg_fj THEN
  906. IF wf_admsg_getfjblob(arg_lvfj.fjid, arg_blob, arg_msg) <> 1 THEN
  907. rslt = 0
  908. goto ext
  909. END IF
  910. ELSEIF arg_lvfj.FileType = C_u_email_fj THEN
  911. IF wf_mail_getfjblob(arg_lvfj.fjid, arg_blob, arg_msg) <> 1 THEN
  912. rslt = 0
  913. goto ext
  914. END IF
  915. ELSEIF arg_lvfj.FileType = C_u_ljmail_fj THEN
  916. IF wf_ljmail_getfjblob(arg_lvfj.relid, arg_lvfj.fjid, arg_blob, arg_msg) <> 1 THEN
  917. rslt = 0
  918. goto ext
  919. END IF
  920. ELSEIF arg_lvfj.FileType = C_from_file THEN
  921. arg_blob = arg_lvfj.fileblob
  922. ELSE
  923. rslt = 0
  924. arg_msg = '未定义FileType:' + arg_lvfj.FileType
  925. goto ext
  926. END IF
  927. ext:
  928. return rslt
  929. end function
  930. public function integer wf_from_s_msg (s_ljmail_msg arg_s_msg, ref string arg_msg);Int rslt = 1
  931. Long i, ll_row
  932. String ls_ljmail
  933. IF obj_email.uf_getljmail(Ref ls_ljmail, arg_msg) <> 1 THEN
  934. rslt = 0
  935. GOTO ext
  936. END IF
  937. sle_mailaddress.Text = ls_ljmail
  938. sle_subject.Text = arg_s_msg.Subject
  939. uo_html.uf_sethtml(arg_s_msg.htmlbody)
  940. dw_revlist.Reset()
  941. FOR i = 1 To UpperBound(arg_s_msg.mx)
  942. IF obj_email.uf_get_msgmx(arg_s_msg.mx[i].ljmail, arg_s_msg.mx[i], arg_msg) <> 1 THEN
  943. rslt = 0
  944. GOTO ext
  945. END IF
  946. NEXT
  947. FOR i = 1 To UpperBound(arg_s_msg.mx)
  948. ll_row = dw_revlist.InsertRow(0)
  949. dw_revlist.Object.sendid[ll_row] = arg_s_msg.mx[i].msgid
  950. dw_revlist.Object.printid[ll_row] = arg_s_msg.mx[i].printid
  951. dw_revlist.Object.reltype[ll_row] = arg_s_msg.mx[i].reltype
  952. dw_revlist.Object.relid[ll_row] = arg_s_msg.mx[i].relid
  953. dw_revlist.Object.revname[ll_row] = arg_s_msg.mx[i].comname
  954. dw_revlist.Object.revaddress[ll_row] = arg_s_msg.mx[i].ljmail
  955. dw_revlist.Object.repname[ll_row] = arg_s_msg.mx[i].empname
  956. NEXT
  957. lv_fj.DeleteItems( )
  958. s_email_lvfj s_lvfj[]
  959. listviewitem l_lvi
  960. FOR i = 1 To UpperBound(arg_s_msg.fj)
  961. s_lvfj[i].FileType = C_from_file
  962. s_lvfj[i].Filename = arg_s_msg.fj[i].Filename
  963. s_lvfj[i].fjid = arg_s_msg.fj[i].printid
  964. s_lvfj[i].relid = arg_s_msg.fj[i].msgid
  965. s_lvfj[i].fileblob = arg_s_msg.fj[i].fileblob
  966. NEXT
  967. FOR i = 1 To UpperBound(s_lvfj)
  968. l_lvi.PictureIndex = 1
  969. l_lvi.Label = s_lvfj[i].Filename
  970. l_lvi.Data = s_lvfj[i]
  971. lv_fj.AddItem(l_lvi)
  972. NEXT
  973. have_fj = (UpperBound(s_lvfj) > 0)
  974. lv_fj.Visible = have_fj
  975. ext:
  976. RETURN rslt
  977. end function
  978. public function integer wf_from_msgid_other (long arg_relid, ref string arg_msg);Int rslt = 1
  979. s_ljmail_msg s_msg
  980. IF obj_email.uf_getinfo(arg_relid, Ref s_msg, arg_msg, True, False, True, True) <> 1 THEN
  981. rslt = 0
  982. GOTO ext
  983. END IF
  984. IF wf_from_s_msg(s_msg, arg_msg) <> 1 THEN
  985. rslt = 0
  986. GOTO ext
  987. END IF
  988. ext:
  989. RETURN rslt
  990. end function
  991. on w_ljmail_msg_send.create
  992. int iCurrent
  993. call super::create
  994. this.cb_send=create cb_send
  995. this.cb_save=create cb_save
  996. this.cb_fj=create cb_fj
  997. this.lv_fj=create lv_fj
  998. this.dw_revlist=create dw_revlist
  999. this.cb_6=create cb_6
  1000. this.cb_7=create cb_7
  1001. this.cb_9=create cb_9
  1002. this.cbx_1=create cbx_1
  1003. this.cb_1=create cb_1
  1004. this.cb_2=create cb_2
  1005. this.cb_fornextsend=create cb_fornextsend
  1006. this.st_1=create st_1
  1007. this.em_priority=create em_priority
  1008. this.st_3=create st_3
  1009. this.st_4=create st_4
  1010. this.st_5=create st_5
  1011. this.st_6=create st_6
  1012. this.st_7=create st_7
  1013. this.st_9=create st_9
  1014. this.sle_subject=create sle_subject
  1015. this.mle_revlist=create mle_revlist
  1016. this.st_10=create st_10
  1017. this.sle_mailaddress=create sle_mailaddress
  1018. this.sle_mailtype=create sle_mailtype
  1019. this.em_mailsize=create em_mailsize
  1020. this.sle_opemp=create sle_opemp
  1021. this.em_opdate=create em_opdate
  1022. this.em_senddate=create em_senddate
  1023. this.sp_v1=create sp_v1
  1024. this.cb_3=create cb_3
  1025. this.cb_4=create cb_4
  1026. this.uo_html=create uo_html
  1027. this.st_11=create st_11
  1028. this.pb_1=create pb_1
  1029. this.cb_5=create cb_5
  1030. this.st_12=create st_12
  1031. this.ln_bar=create ln_bar
  1032. this.ln_bar2=create ln_bar2
  1033. this.r_bar=create r_bar
  1034. iCurrent=UpperBound(this.Control)
  1035. this.Control[iCurrent+1]=this.cb_send
  1036. this.Control[iCurrent+2]=this.cb_save
  1037. this.Control[iCurrent+3]=this.cb_fj
  1038. this.Control[iCurrent+4]=this.lv_fj
  1039. this.Control[iCurrent+5]=this.dw_revlist
  1040. this.Control[iCurrent+6]=this.cb_6
  1041. this.Control[iCurrent+7]=this.cb_7
  1042. this.Control[iCurrent+8]=this.cb_9
  1043. this.Control[iCurrent+9]=this.cbx_1
  1044. this.Control[iCurrent+10]=this.cb_1
  1045. this.Control[iCurrent+11]=this.cb_2
  1046. this.Control[iCurrent+12]=this.cb_fornextsend
  1047. this.Control[iCurrent+13]=this.st_1
  1048. this.Control[iCurrent+14]=this.em_priority
  1049. this.Control[iCurrent+15]=this.st_3
  1050. this.Control[iCurrent+16]=this.st_4
  1051. this.Control[iCurrent+17]=this.st_5
  1052. this.Control[iCurrent+18]=this.st_6
  1053. this.Control[iCurrent+19]=this.st_7
  1054. this.Control[iCurrent+20]=this.st_9
  1055. this.Control[iCurrent+21]=this.sle_subject
  1056. this.Control[iCurrent+22]=this.mle_revlist
  1057. this.Control[iCurrent+23]=this.st_10
  1058. this.Control[iCurrent+24]=this.sle_mailaddress
  1059. this.Control[iCurrent+25]=this.sle_mailtype
  1060. this.Control[iCurrent+26]=this.em_mailsize
  1061. this.Control[iCurrent+27]=this.sle_opemp
  1062. this.Control[iCurrent+28]=this.em_opdate
  1063. this.Control[iCurrent+29]=this.em_senddate
  1064. this.Control[iCurrent+30]=this.sp_v1
  1065. this.Control[iCurrent+31]=this.cb_3
  1066. this.Control[iCurrent+32]=this.cb_4
  1067. this.Control[iCurrent+33]=this.uo_html
  1068. this.Control[iCurrent+34]=this.st_11
  1069. this.Control[iCurrent+35]=this.pb_1
  1070. this.Control[iCurrent+36]=this.cb_5
  1071. this.Control[iCurrent+37]=this.st_12
  1072. this.Control[iCurrent+38]=this.ln_bar
  1073. this.Control[iCurrent+39]=this.ln_bar2
  1074. this.Control[iCurrent+40]=this.r_bar
  1075. end on
  1076. on w_ljmail_msg_send.destroy
  1077. call super::destroy
  1078. destroy(this.cb_send)
  1079. destroy(this.cb_save)
  1080. destroy(this.cb_fj)
  1081. destroy(this.lv_fj)
  1082. destroy(this.dw_revlist)
  1083. destroy(this.cb_6)
  1084. destroy(this.cb_7)
  1085. destroy(this.cb_9)
  1086. destroy(this.cbx_1)
  1087. destroy(this.cb_1)
  1088. destroy(this.cb_2)
  1089. destroy(this.cb_fornextsend)
  1090. destroy(this.st_1)
  1091. destroy(this.em_priority)
  1092. destroy(this.st_3)
  1093. destroy(this.st_4)
  1094. destroy(this.st_5)
  1095. destroy(this.st_6)
  1096. destroy(this.st_7)
  1097. destroy(this.st_9)
  1098. destroy(this.sle_subject)
  1099. destroy(this.mle_revlist)
  1100. destroy(this.st_10)
  1101. destroy(this.sle_mailaddress)
  1102. destroy(this.sle_mailtype)
  1103. destroy(this.em_mailsize)
  1104. destroy(this.sle_opemp)
  1105. destroy(this.em_opdate)
  1106. destroy(this.em_senddate)
  1107. destroy(this.sp_v1)
  1108. destroy(this.cb_3)
  1109. destroy(this.cb_4)
  1110. destroy(this.uo_html)
  1111. destroy(this.st_11)
  1112. destroy(this.pb_1)
  1113. destroy(this.cb_5)
  1114. destroy(this.st_12)
  1115. destroy(this.ln_bar)
  1116. destroy(this.ln_bar2)
  1117. destroy(this.r_bar)
  1118. end on
  1119. event resize;call super::resize;ln_bar.EndX = THIS.Width
  1120. ln_bar2.EndX = THIS.Width
  1121. r_bar.Width = THIS.Width
  1122. Long w_width,w_height
  1123. w_width = 3602
  1124. w_height = 2300
  1125. IF newwidth < w_width THEN THIS.Width = w_width
  1126. IF newheight < w_height THEN THIS.Height = w_height
  1127. sle_subject.width = this.width - sle_subject.x - 68
  1128. mle_revlist.width = sle_subject.width - pb_1.width
  1129. pb_1.x = mle_revlist.x + mle_revlist.width
  1130. //long ll_mover
  1131. //ll_mover = this.width - 40 - uo_1.width
  1132. //uo_1.uo_1.width = uo_1.uo_1.width + ll_mover
  1133. //uo_1.width = this.width - 40
  1134. //uo_1.height = this.height - uo_1.y - 150
  1135. uo_html.Width = THIS.Width - 40 - dw_revlist.Width
  1136. lv_fj.Width = uo_html.Width
  1137. dw_revlist.x = uo_html.Width + uo_html.x + 20
  1138. sp_v1.x = uo_html.width + uo_html.x
  1139. cb_6.X = dw_revlist.X
  1140. cb_7.X = cb_6.X + cb_6.Width
  1141. cb_9.X = cb_7.X + cb_7.Width
  1142. cbx_1.X = cb_9.X + cb_9.Width + 30
  1143. cb_1.X = cbx_1.X + cbx_1.Width + 30
  1144. //IF cb_1.Text <> '︽' THEN
  1145. // dw_revlist.Height = THIS.Height - dw_revlist.y - 100
  1146. //// tv_1.Visible = FALSE
  1147. //ELSE
  1148. // dw_revlist.Height = (THIS.Height - dw_revlist.y - 84 ) /2 - 5
  1149. //// tv_1.Height = dw_revlist.Height - 134
  1150. //// sle_filter.y = dw_revlist.Y + dw_revlist.Height
  1151. //// tv_1.Y = dw_revlist.Y + dw_revlist.Height + 89
  1152. //// tv_1.Visible = TRUE
  1153. //END IF
  1154. dw_revlist.Height = THIS.Height - dw_revlist.y - 150
  1155. IF have_fj THEN
  1156. uo_html.Height = THIS.Height - uo_html.y - lv_fj.Height - 150
  1157. lv_fj.Visible = TRUE
  1158. ELSE
  1159. uo_html.Height = THIS.Height - uo_html.y - 150
  1160. lv_fj.Visible = FALSE
  1161. END IF
  1162. lv_fj.Y = uo_html.Y + uo_html.Height + 5
  1163. sp_v1.height = this.height - sp_v1.y - 150
  1164. end event
  1165. event open;dw_edit_mode = true
  1166. commit_tran = sqlca
  1167. obj_email = CREATE uo_ljmail_msg
  1168. uo_box = CREATE uo_ljmail_box
  1169. Long ll_ConnectionID
  1170. String arg_msg
  1171. Int li_ifexit = 0
  1172. IF sys_email_sqlca.DBHandle() > 0 THEN
  1173. fj_tran = sys_email_sqlca
  1174. ELSE
  1175. MessageBox('系统提示','要使用邮件功能,请先定义邮件数据库')
  1176. li_ifexit = 1
  1177. END IF
  1178. IF li_ifexit = 0 THEN
  1179. dw_revlist.SetTransObject (fj_tran)
  1180. obj_email.commit_transaction = fj_tran
  1181. String ls_msg
  1182. s_set = Message.PowerObjectParm
  1183. IF wf_init(ls_msg) = 0 THEN
  1184. MessageBox('错误',ls_msg,stopsign!,OK!)
  1185. RETURN
  1186. END IF
  1187. wf_fjcount()
  1188. Long sp_v1_x
  1189. sp_v1_x = Long(f_ProfileString(sys_empid, "w_email_send_sp_v1", "x", '2624'))
  1190. sp_v1.X = sp_v1_x
  1191. uo_html.Width = sp_v1.X - 5
  1192. lv_fj.Width = sp_v1.X - 5
  1193. dw_revlist.X = sp_v1.X + 5
  1194. sp_v1.of_reset()
  1195. sp_v1.of_register(uo_html, sp_v1.Left)
  1196. sp_v1.of_register(lv_fj, sp_v1.Left)
  1197. sp_v1.of_register(dw_revlist, sp_v1.Right)
  1198. sp_v1.uf_possplitbar(uo_html)
  1199. THIS.TriggerEvent(Resize!)
  1200. ELSE
  1201. cb_exit.PostEvent(Clicked!)
  1202. END IF
  1203. end event
  1204. event close;call super::close;destroy obj_email
  1205. destroy uo_box
  1206. end event
  1207. event timer;call super::timer;//if not ib_InitHtml then
  1208. // if isnull(s_send.htmlbody) or len(s_send.htmlbody) <= 0 then
  1209. // if uo_html.uf_sethtml(s_send.textbody) = 1 then
  1210. // ib_InitHtml = true
  1211. // timer(0)
  1212. // end if
  1213. // else
  1214. // if uo_html.uf_sethtml(string(s_send.htmlbody)) = 1 then
  1215. // ib_InitHtml = true
  1216. // timer(0)
  1217. // end if
  1218. // end if
  1219. //end if
  1220. end event
  1221. type cb_func from w_publ_base`cb_func within w_ljmail_msg_send
  1222. boolean visible = false
  1223. integer x = 1426
  1224. integer width = 151
  1225. integer height = 164
  1226. end type
  1227. type cb_exit from w_publ_base`cb_exit within w_ljmail_msg_send
  1228. integer x = 1202
  1229. integer width = 165
  1230. integer height = 164
  1231. integer picsize = 16
  1232. toolbaralignment pic_align = alignattop!
  1233. boolean border = false
  1234. end type
  1235. type cb_send from uo_imflatbutton within w_ljmail_msg_send
  1236. integer width = 165
  1237. integer height = 164
  1238. integer taborder = 20
  1239. boolean bringtotop = true
  1240. string text = "发送"
  1241. string normalpicname = "email_view2.bmp"
  1242. integer picsize = 16
  1243. toolbaralignment pic_align = alignattop!
  1244. boolean border = false
  1245. end type
  1246. event clicked;call super::clicked;IF not dw_edit_mode THEN RETURN
  1247. s_ljmail_msg s_msg
  1248. Int rslt = 1
  1249. String arg_msg
  1250. IF wf_to_s_msg(Ref s_msg, arg_msg) <> 1 THEN
  1251. rslt = 0
  1252. GOTO ext
  1253. END IF
  1254. IF obj_email.uf_save(Ref s_msg, arg_msg) <> 1 THEN
  1255. rslt = 0
  1256. GOTO ext
  1257. END IF
  1258. s_set.msgid = s_msg.msgid
  1259. IF obj_email.uf_send(s_set.msgid, arg_msg) <> 1 THEN
  1260. rslt = 0
  1261. GOTO ext
  1262. END IF
  1263. ext:
  1264. IF rslt = 1 THEN
  1265. MessageBox('提示',"保存成功!", Information!, OK!)
  1266. close(parent)
  1267. ELSE
  1268. MessageBox('错误',arg_msg, StopSign!, OK! )
  1269. END IF
  1270. end event
  1271. type cb_save from uo_imflatbutton within w_ljmail_msg_send
  1272. integer x = 494
  1273. integer width = 306
  1274. integer height = 164
  1275. integer taborder = 30
  1276. boolean bringtotop = true
  1277. string text = "保存并退出"
  1278. string normalpicname = "email_saveexit.bmp"
  1279. integer picsize = 16
  1280. toolbaralignment pic_align = alignattop!
  1281. boolean border = false
  1282. end type
  1283. event clicked;call super::clicked;IF not dw_edit_mode THEN RETURN
  1284. s_ljmail_msg s_msg
  1285. Int rslt = 1
  1286. String arg_msg
  1287. IF wf_to_s_msg(Ref s_msg, arg_msg) <> 1 THEN
  1288. rslt = 0
  1289. GOTO ext
  1290. END IF
  1291. IF obj_email.uf_save(Ref s_msg, arg_msg) <> 1 THEN
  1292. rslt = 0
  1293. GOTO ext
  1294. END IF
  1295. s_set.msgid = s_msg.msgid
  1296. ext:
  1297. IF rslt = 1 THEN
  1298. MessageBox('提示',"保存成功!", Information!, OK!)
  1299. Close(Parent)
  1300. ELSE
  1301. MessageBox('错误',arg_msg, StopSign!, OK! )
  1302. END IF
  1303. end event
  1304. type cb_fj from uo_imflatbutton within w_ljmail_msg_send
  1305. integer x = 965
  1306. integer width = 238
  1307. integer height = 164
  1308. integer taborder = 40
  1309. boolean bringtotop = true
  1310. string text = "附件"
  1311. string normalpicname = "email_fj.bmp"
  1312. integer picsize = 16
  1313. toolbaralignment pic_align = alignattop!
  1314. boolean border = false
  1315. end type
  1316. event clicked;call super::clicked;IF lv_fj.TotalItems() = 0 THEN
  1317. PARENT.TriggerEvent('ue_addfj')
  1318. ELSE
  1319. m_Dfc_Control_PopupMenu dmPopupMenu
  1320. String menustr,ls_level
  1321. menustr = "Text=添加附件~tEvent=ue_addfj"
  1322. menustr = menustr + "|" + "Text=-"
  1323. menustr = menustr + "|" + "Text=删除附件~tEvent=ue_delfj"
  1324. menustr = menustr + "|" + "Text=打开附件~tEvent=ue_runfj"
  1325. menustr = menustr + "|" + "Text=另存附件~tEvent=ue_saveas"
  1326. IF Len(Trim(menustr)) <> 0 THEN
  1327. dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1328. dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1329. dmPopupMenu.mf_PopMenu()
  1330. DESTROY dmPopupMenu
  1331. END IF
  1332. END IF
  1333. end event
  1334. type lv_fj from uo_email_lv within w_ljmail_msg_send
  1335. integer y = 1996
  1336. integer width = 2565
  1337. integer height = 256
  1338. integer taborder = 30
  1339. boolean bringtotop = true
  1340. boolean extendedselect = true
  1341. boolean hideselection = false
  1342. string smallpicturename[] = {"p15drive_fdd.ico"}
  1343. end type
  1344. event rightclicked;Long ls_fjid
  1345. String ls_fjname
  1346. listviewitem l_lvi
  1347. s_email_lvfj s_lvfj
  1348. m_Dfc_Control_PopupMenu dmPopupMenu
  1349. String menustr,ls_level
  1350. IF dw_edit_mode THEN
  1351. menustr = "Text=添加附件~tEvent=ue_addfj"
  1352. IF Index > 0 THEN
  1353. This.GetItem( Index, l_lvi)
  1354. s_lvfj = l_lvi.Data
  1355. ls_fjid = s_lvfj.fjid
  1356. ls_fjname = l_lvi.Label
  1357. ins_cur_fjid = s_lvfj.fjid
  1358. // ins_cur_fjname = l_lvi.Label
  1359. ls_filedata = s_lvfj.fileblob
  1360. ins_index = Index
  1361. // ins_cur_fjtype = s_lvfj.fjtype
  1362. menustr = menustr + "|" + "Text=-"
  1363. menustr = menustr + "|" + "Text=删除附件~tEvent=ue_delfj"
  1364. IF This.TotalSelected() = 1 THEN
  1365. menustr = menustr+"|"+"Text=打开附件~tEvent=ue_runfj"
  1366. END IF
  1367. menustr = menustr + "|" + "Text=另存附件~tEvent=ue_saveas"
  1368. ELSE
  1369. ins_index = 0
  1370. END IF
  1371. ELSE
  1372. menustr = ""
  1373. IF Index > 0 THEN
  1374. This.GetItem( Index, l_lvi)
  1375. s_lvfj = l_lvi.Data
  1376. ls_fjid = s_lvfj.fjid
  1377. ls_fjname = l_lvi.Label
  1378. ins_cur_fjid = s_lvfj.fjid
  1379. // ins_cur_fjname = l_lvi.Label
  1380. ls_filedata = s_lvfj.fileblob
  1381. ins_index = Index
  1382. // ins_cur_fjtype = s_lvfj.fjtype
  1383. IF This.TotalSelected() = 1 THEN
  1384. menustr = menustr+"Text=打开附件~tEvent=ue_runfj|"
  1385. END IF
  1386. menustr = menustr + "Text=另存附件~tEvent=ue_saveas"
  1387. ELSE
  1388. ins_index = 0
  1389. END IF
  1390. END IF
  1391. IF Len(Trim(menustr)) <> 0 THEN
  1392. dmPopupMenu = Create m_Dfc_Control_PopupMenu
  1393. dmPopupMenu.mf_BuildMenu(This, menustr)
  1394. dmPopupMenu.mf_PopMenu()
  1395. Destroy dmPopupMenu
  1396. END IF
  1397. //
  1398. //
  1399. //
  1400. //
  1401. //
  1402. //menustr = "Text=添加附件~tEvent=ue_addfj"
  1403. //menustr = menustr + "|" + "Text=删除附件~tEvent=ue_delfj"
  1404. //menustr = menustr + "|" + "Text=-"
  1405. //menustr = menustr + "|" + "Text=打开附件~tEvent=ue_runfj"
  1406. //menustr = menustr + "|" + "Text=另存附件~tEvent=ue_saveas"
  1407. //
  1408. //
  1409. //IF Len(Trim(menustr)) <> 0 THEN
  1410. // dmPopupMenu = CREATE m_Dfc_Control_PopupMenu
  1411. // dmPopupMenu.mf_BuildMenu(THIS, menustr)
  1412. // dmPopupMenu.mf_PopMenu()
  1413. // DESTROY dmPopupMenu
  1414. //END IF
  1415. end event
  1416. event doubleclicked;
  1417. ListViewItem lvi
  1418. s_email_lvfj lvfj
  1419. Blob lb
  1420. String ls_msg
  1421. IF ins_index > 0 THEN
  1422. IF lv_fj.GetItem(ins_index, lvi) = 1 THEN
  1423. lvfj = lvi.Data
  1424. IF lvfj.FileType = C_Sys_admsg_fj THEN
  1425. IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  1426. MessageBox('错误', ls_msg, stopsign!)
  1427. RETURN
  1428. END IF
  1429. ELSEIF lvfj.FileType = C_u_email_fj THEN
  1430. IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  1431. MessageBox('错误', ls_msg, stopsign!)
  1432. RETURN
  1433. END IF
  1434. ELSEIF lvfj.FileType = C_u_ljmail_fj THEN
  1435. IF wf_ljmail_getfjblob(lvfj.relid, lvfj.fjid, lb, ls_msg) <> 1 THEN
  1436. MessageBox('错误', ls_msg, stopsign!)
  1437. RETURN
  1438. END IF
  1439. ELSE
  1440. // DONE:后加附件
  1441. lb = lvfj.fileblob
  1442. END IF
  1443. wf_blob_runfj(lb, lvfj.Filename)
  1444. END IF
  1445. END IF
  1446. //if cur_set.mailid > 0 then
  1447. // call super::doubleclicked
  1448. //else // 内部消息
  1449. //
  1450. // //附件下载并打开
  1451. // String lsNull
  1452. // setnull(lsNull)
  1453. // integer rslt = 1
  1454. // string errmsg, ls_pathname
  1455. // listviewitem l_lvi
  1456. // s_email_lvfj s_lvfj
  1457. // IF this.ins_index > 0 THEN
  1458. // THIS.GetItem( this.ins_index, l_lvi)
  1459. // s_lvfj = l_lvi.Data
  1460. // this.ins_cur_fjid = s_lvfj.fjid
  1461. // this.ins_cur_fjname = l_lvi.Label
  1462. // IF this.ins_cur_fjname = '' THEN GOTO ext
  1463. // ELSE
  1464. // GOTO ext
  1465. // END IF
  1466. // //下载附件并打开
  1467. // ls_pathname = sys_cur_path+this.fjfilepathname+'\'+this.ins_cur_fjname
  1468. // IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
  1469. // IF this.ins_cur_fjid > 0 THEN
  1470. // selectblob fileblob INTO :this.ls_filedata
  1471. // from Sys_admsg_fj
  1472. // where fjid = :this.ins_cur_fjid;
  1473. // if sqlca.sqlcode <> 0 then
  1474. // rslt = 0
  1475. // errmsg = '下载附件失败'
  1476. // goto ext
  1477. // end if
  1478. // ELSE
  1479. // this.ls_filedata = s_lvfj.fileblob
  1480. // END IF
  1481. //
  1482. // IF f_blobtofile(ls_pathname,this.ls_filedata,errmsg) = 0 THEN
  1483. // rslt = 0
  1484. // GOTO ext
  1485. // END IF
  1486. //
  1487. // //打开附件
  1488. // ShellExecute32( Handle(THIS), lsNull, ls_pathname, lsNull, lsNull, 1 )
  1489. //
  1490. // ext:
  1491. // IF rslt = 0 THEN
  1492. // MessageBox('系统提示',errmsg)
  1493. // END IF
  1494. //
  1495. //
  1496. //
  1497. //end if
  1498. // //附件下载并打开
  1499. //Integer i
  1500. //Long ls_i,ls_j,ls_newrow,ls_filesize
  1501. //Int rslt = 1
  1502. //String Pathname,ls_filename
  1503. //String errmsg
  1504. //String ls_filetypename
  1505. //Long pos1,lrow
  1506. //String ls_para,ls_downarg[]
  1507. //listviewitem l_lvi
  1508. //s_email_lvfj s_lvfj
  1509. //String lsNull
  1510. //uo_email obj_email_tmp
  1511. //obj_email_tmp = CREATE uo_email
  1512. //obj_email_tmp.fj_tran = sqlca
  1513. ////取附件信息
  1514. //IF ins_index > 0 THEN
  1515. // THIS.GetItem( ins_index, l_lvi)
  1516. // s_lvfj = l_lvi.Data
  1517. // ins_cur_fjid = s_lvfj.fjid
  1518. // ins_cur_fjname = l_lvi.Label
  1519. // IF ins_cur_fjname = '' THEN GOTO ext
  1520. //ELSE
  1521. // GOTO ext
  1522. //END IF
  1523. ////下载附件并打开
  1524. //Pathname = sys_cur_path+fjfilepathname+'\'+ins_cur_fjname
  1525. //IF FileExists(Pathname) THEN FileDelete(Pathname)
  1526. //IF ins_cur_fjid > 0 THEN
  1527. // if s_lvfj.fjtype = 2 then
  1528. // SELECTBLOB Fileblob
  1529. // INTO :ls_filedata
  1530. // FROM Sys_admsg_fj
  1531. // Where (fjid = :ins_cur_fjid);
  1532. // if sqlca.sqlcode <> 0 then
  1533. // rslt = 0
  1534. // errmsg = sqlca.sqlerrtext
  1535. // goto ext
  1536. // end if
  1537. // else
  1538. // IF obj_email_tmp.f_down_fj( ins_cur_fjid, ins_cur_fjname, ls_filedata, errmsg) = 0 THEN
  1539. // rslt = 0
  1540. // GOTO ext
  1541. // END IF
  1542. // end if
  1543. //ELSE
  1544. // ls_filedata = s_lvfj.fileblob
  1545. //END IF
  1546. //
  1547. //IF f_blobtofile(Pathname,ls_filedata,errmsg) = 0 THEN
  1548. // rslt = 0
  1549. // GOTO ext
  1550. //END IF
  1551. //
  1552. ////打开附件
  1553. //ShellExecute32( Handle(THIS), lsNull, Pathname, lsNull, lsNull, 1 )
  1554. //
  1555. //ext:
  1556. //IF rslt = 0 THEN
  1557. // MessageBox('系统提示',errmsg)
  1558. //END IF
  1559. //DESTROY obj_email_tmp
  1560. //
  1561. end event
  1562. event ue_saveas;
  1563. ListViewItem lvi
  1564. s_email_lvfj lvfj
  1565. Blob lb
  1566. Long ll_i, ll_cnt = 0
  1567. ListViewItem selectedlvi[]
  1568. String ls_msg, ls_sum
  1569. IF ins_index > 0 THEN
  1570. IF This.TotalSelected() <= 1 THEN
  1571. IF lv_fj.GetItem(ins_index, lvi) = 1 THEN
  1572. lvfj = lvi.Data
  1573. IF lvfj.FileType = C_Sys_admsg_fj THEN
  1574. IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  1575. MessageBox('错误', ls_msg, stopsign!)
  1576. RETURN
  1577. END IF
  1578. ELSEIF lvfj.FileType = C_u_email_fj THEN
  1579. IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  1580. MessageBox('错误', ls_msg, stopsign!)
  1581. RETURN
  1582. END IF
  1583. ELSEIF lvfj.FileType = C_u_ljmail_fj THEN
  1584. IF wf_ljmail_getfjblob(lvfj.relid, lvfj.fjid, lb, ls_msg) <> 1 THEN
  1585. MessageBox('错误', ls_msg, stopsign!)
  1586. RETURN
  1587. END IF
  1588. ELSEIF lvfj.FileType = C_from_file THEN
  1589. lb = lvfj.fileblob
  1590. ELSE
  1591. MessageBox('错误', '未定义FileType:' + lvfj.FileType , stopsign!)
  1592. RETURN
  1593. END IF
  1594. wf_blob_saveas(lb, lvfj.Filename)
  1595. END IF
  1596. ELSE
  1597. // 多选
  1598. String ls_filepath
  1599. String ls_filename
  1600. IF GetFolder('选择保存路径', ls_filepath) <> 1 THEN RETURN
  1601. IF Mid(ls_filepath, Len(ls_filepath), 1) <> '\' THEN
  1602. ls_filepath += '\'
  1603. END IF
  1604. FOR ll_i = 1 To This.TotalItems()
  1605. IF This.GetItem(ll_i, lvi) = 1 THEN
  1606. IF lvi.Selected THEN
  1607. ll_cnt++
  1608. selectedlvi[ll_cnt] = lvi
  1609. END IF
  1610. END IF
  1611. NEXT
  1612. FOR ll_i = 1 To ll_cnt
  1613. lvfj = selectedlvi[ll_i].Data
  1614. IF lvfj.FileType = C_Sys_admsg_fj THEN
  1615. IF wf_admsg_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  1616. ls_sum = ls_sum + ls_msg + '~r~n'
  1617. CONTINUE
  1618. END IF
  1619. ELSEIF lvfj.FileType = C_u_email_fj THEN
  1620. IF wf_mail_getfjblob(lvfj.fjid, lb, ls_msg) <> 1 THEN
  1621. ls_sum = ls_sum + ls_msg + '~r~n'
  1622. CONTINUE
  1623. END IF
  1624. ELSEIF lvfj.FileType = C_u_ljmail_fj THEN
  1625. IF wf_ljmail_getfjblob(lvfj.relid, lvfj.fjid, lb, ls_msg) <> 1 THEN
  1626. MessageBox('错误', ls_msg, stopsign!)
  1627. RETURN
  1628. END IF
  1629. ELSEIF lvfj.FileType = C_from_file THEN
  1630. lb = lvfj.fileblob
  1631. ELSE
  1632. ls_sum = ls_sum + '未定义FileType:' + lvfj.FileType + '~r~n'
  1633. CONTINUE
  1634. END IF
  1635. ls_filename = ls_filepath + lvfj.Filename
  1636. IF FileExists(ls_filename) THEN
  1637. IF MessageBox('提问', lvfj.Filename + '已经存在是否覆盖?', Question!, YesNo!) <> 1 THEN
  1638. CONTINUE
  1639. END IF
  1640. END IF
  1641. IF f_blobtofile(ls_filename, lb, ls_msg) <> 1 THEN
  1642. ls_sum = ls_sum + ls_msg + '~r~n'
  1643. CONTINUE
  1644. END IF
  1645. NEXT
  1646. IF ls_sum <> '' THEN
  1647. MessageBox('错误', ls_sum)
  1648. ELSE
  1649. MessageBox('提示', '保存成功')
  1650. END IF
  1651. END IF
  1652. END IF
  1653. // //附件另存为
  1654. //Integer i
  1655. //Long ls_i,ls_j,ls_newrow,ls_filesize
  1656. //String Pathname,ls_filename
  1657. //String errmsg,arg_msg
  1658. //String ls_filetypename
  1659. //Long pos1,lrow,rslt
  1660. //String ls_para,ls_downarg[]
  1661. //uo_email obj_email_tmp
  1662. //obj_email_tmp = CREATE uo_email
  1663. //obj_email_tmp.commit_tran = sqlca
  1664. //obj_email_tmp.fj_tran = sqlca
  1665. //Pathname = ins_cur_fjname
  1666. //
  1667. ////*************************************************************
  1668. //
  1669. //pos1 = Pos(ins_cur_fjname,'.',1)
  1670. //IF pos1 > 0 THEN
  1671. // ls_filetypename = Mid(ins_cur_fjname,pos1 + 1)
  1672. // i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*."+ls_filetypename+",*."+ls_filetypename)
  1673. //ELSE
  1674. // ls_filetypename = ''
  1675. // i = GetFileSaveName("另存为",Pathname,ls_filename,"*","*.*,*.*")
  1676. //END IF
  1677. //
  1678. //IF i = 1 AND Trim(Pathname) <> '' THEN
  1679. // if ins_cur_fjtype = 2 then
  1680. // SELECTBLOB Fileblob
  1681. // INTO :ls_filedata
  1682. // FROM Sys_admsg_fj
  1683. // Where (fjid = :ins_cur_fjid);
  1684. // if sqlca.sqlcode <> 0 then
  1685. // MessageBox('系统提示',arg_msg)
  1686. // RETURN
  1687. // end if
  1688. // elseif ins_cur_fjtype = 0 OR ins_cur_fjtype = 1 then
  1689. // IF obj_email_tmp.f_down_fj( ins_cur_fjid, ins_cur_fjname, ls_filedata, errmsg) = 0 THEN
  1690. // MessageBox('系统提示',arg_msg)
  1691. // RETURN
  1692. // END IF
  1693. // else
  1694. // MessageBox('系统提示','未知附件类型')
  1695. // RETURN
  1696. // end if
  1697. //
  1698. // IF f_blobtofile(Pathname,ls_filedata,errmsg) = 0 THEN
  1699. // MessageBox('系统提示',errmsg)
  1700. // RETURN
  1701. // ELSE
  1702. //
  1703. // MessageBox('系统提示','附件保存成功!'+'~r~n'+'保存路径:'+Pathname)
  1704. // END IF
  1705. //END IF
  1706. //
  1707. end event
  1708. type dw_revlist from u_dw_rbtnfilter within w_ljmail_msg_send
  1709. integer x = 2670
  1710. integer y = 576
  1711. integer width = 923
  1712. integer height = 392
  1713. integer taborder = 20
  1714. boolean bringtotop = true
  1715. string dataobject = "dw_email_sendmx"
  1716. boolean hscrollbar = true
  1717. boolean vscrollbar = true
  1718. boolean hsplitscroll = true
  1719. end type
  1720. event rowfocuschanged;call super::rowfocuschanged;IF currentrow <= 0 THEN RETURN
  1721. THIS.SelectRow(0,FALSE)
  1722. THIS.SelectRow(currentrow,TRUE)
  1723. end event
  1724. event clicked;call super::clicked;THIS.SelectRow(0,FALSE)
  1725. THIS.SelectRow(row,TRUE)
  1726. end event
  1727. event losefocus;call super::losefocus;uf_updaterevlist()
  1728. end event
  1729. type cb_6 from commandbutton within w_ljmail_msg_send
  1730. boolean visible = false
  1731. integer x = 2583
  1732. integer y = 576
  1733. integer width = 187
  1734. integer height = 84
  1735. integer taborder = 40
  1736. boolean bringtotop = true
  1737. integer textsize = -9
  1738. integer weight = 400
  1739. fontcharset fontcharset = gb2312charset!
  1740. fontpitch fontpitch = variable!
  1741. string facename = "宋体"
  1742. string text = "刷新"
  1743. end type
  1744. event clicked;//dw_send.AcceptText()
  1745. //
  1746. //IF dw_send.Object.sendid[dw_send.GetRow()] > 0 THEN
  1747. // dw_revlist.Retrieve(dw_send.Object.sendid[dw_send.GetRow()])
  1748. //END IF
  1749. //
  1750. end event
  1751. type cb_7 from commandbutton within w_ljmail_msg_send
  1752. boolean visible = false
  1753. integer x = 2770
  1754. integer y = 576
  1755. integer width = 187
  1756. integer height = 84
  1757. integer taborder = 50
  1758. boolean bringtotop = true
  1759. integer textsize = -9
  1760. integer weight = 400
  1761. fontcharset fontcharset = gb2312charset!
  1762. fontpitch fontpitch = variable!
  1763. string facename = "宋体"
  1764. string text = "插入"
  1765. end type
  1766. event clicked;//Long ll_row
  1767. //
  1768. //ll_row = dw_revlist.InsertRow(0)
  1769. //dw_revlist.Object.sendid[ll_row] = dw_send.Object.sendid[dw_send.GetRow()]
  1770. //dw_revlist.Object.printid[ll_row] = ll_row
  1771. //dw_revlist.Object.reltype[ll_row] = 3
  1772. //dw_revlist.Object.relid[ll_row] = 0
  1773. //
  1774. end event
  1775. type cb_9 from commandbutton within w_ljmail_msg_send
  1776. boolean visible = false
  1777. integer x = 2958
  1778. integer y = 576
  1779. integer width = 187
  1780. integer height = 84
  1781. integer taborder = 70
  1782. boolean bringtotop = true
  1783. integer textsize = -9
  1784. integer weight = 400
  1785. fontcharset fontcharset = gb2312charset!
  1786. fontpitch fontpitch = variable!
  1787. string facename = "宋体"
  1788. string text = "删除"
  1789. end type
  1790. event clicked;Long i
  1791. IF dw_revlist.RowCount() = 0 THEN RETURN
  1792. dw_revlist.AcceptText()
  1793. FOR i = dw_revlist.RowCount() TO 1 STEP -1
  1794. IF dw_revlist.Object.isselect[i] = 1 THEN
  1795. dw_revlist.DeleteRow (i)
  1796. END IF
  1797. NEXT
  1798. end event
  1799. type cbx_1 from checkbox within w_ljmail_msg_send
  1800. boolean visible = false
  1801. integer x = 3163
  1802. integer y = 588
  1803. integer width = 224
  1804. integer height = 60
  1805. boolean bringtotop = true
  1806. integer textsize = -9
  1807. integer weight = 400
  1808. fontcharset fontcharset = gb2312charset!
  1809. fontpitch fontpitch = variable!
  1810. string facename = "宋体"
  1811. long textcolor = 33554432
  1812. long backcolor = 67108864
  1813. string text = "全选"
  1814. end type
  1815. event clicked;//IF dw_revlist.RowCount() <= 0 THEN RETURN
  1816. //Long li
  1817. //IF THIS.Checked THEN
  1818. // FOR li = 1 TO dw_revlist.RowCount()
  1819. // dw_revlist.Object.isselect[li] = 1
  1820. // NEXT
  1821. //ELSE
  1822. // FOR li = 1 TO dw_send.RowCount()
  1823. // dw_revlist.Object.isselect[li] = 0
  1824. // NEXT
  1825. //END IF
  1826. //
  1827. //
  1828. end event
  1829. type cb_1 from commandbutton within w_ljmail_msg_send
  1830. boolean visible = false
  1831. integer x = 3461
  1832. integer y = 576
  1833. integer width = 82
  1834. integer height = 84
  1835. integer taborder = 40
  1836. boolean bringtotop = true
  1837. integer textsize = -9
  1838. integer weight = 400
  1839. fontcharset fontcharset = gb2312charset!
  1840. fontpitch fontpitch = variable!
  1841. string facename = "宋体"
  1842. string text = "︽"
  1843. end type
  1844. event clicked;IF cb_1.Text <> '︽' THEN
  1845. cb_1.Text = '︽'
  1846. ELSE
  1847. cb_1.Text = '︾'
  1848. END IF
  1849. parent.triggerevent(resize!)
  1850. end event
  1851. type cb_2 from uo_imflatbutton within w_ljmail_msg_send
  1852. integer x = 165
  1853. integer width = 165
  1854. integer height = 164
  1855. integer taborder = 30
  1856. boolean bringtotop = true
  1857. string text = "保存"
  1858. string normalpicname = "SAVE.BMP"
  1859. integer picsize = 16
  1860. toolbaralignment pic_align = alignattop!
  1861. boolean border = false
  1862. end type
  1863. event clicked;call super::clicked;IF not dw_edit_mode THEN RETURN
  1864. s_ljmail_msg s_msg
  1865. Int rslt = 1
  1866. String arg_msg
  1867. IF wf_to_s_msg(Ref s_msg, arg_msg) <> 1 THEN
  1868. rslt = 0
  1869. GOTO ext
  1870. END IF
  1871. IF obj_email.uf_save(Ref s_msg, arg_msg) <> 1 THEN
  1872. rslt = 0
  1873. GOTO ext
  1874. END IF
  1875. s_set.msgid = s_msg.msgid
  1876. ext:
  1877. IF rslt = 1 THEN
  1878. MessageBox('提示',"保存成功!", Information!, OK!)
  1879. ELSE
  1880. MessageBox('错误',arg_msg, StopSign!, OK! )
  1881. END IF
  1882. end event
  1883. type cb_fornextsend from uo_imflatbutton within w_ljmail_msg_send
  1884. boolean visible = false
  1885. integer x = 2007
  1886. integer width = 151
  1887. integer height = 164
  1888. integer taborder = 30
  1889. boolean bringtotop = true
  1890. string text = "发送"
  1891. string normalpicname = "email_view2.bmp"
  1892. integer picsize = 16
  1893. toolbaralignment pic_align = alignattop!
  1894. boolean border = false
  1895. end type
  1896. event clicked;call super::clicked;//IF dw_edit_mode THEN RETURN
  1897. //
  1898. //listviewitem l_lvi
  1899. //s_email_lvfj s_lvfj
  1900. //String ls_pathname,errmsg
  1901. //Long k,ll_cnt_lp
  1902. //long count = 20
  1903. //Open(w_sys_wait_jdt) //初始化进度条
  1904. //w_sys_wait_jdt.Show()
  1905. //w_sys_wait_jdt.wf_accepttol(count)
  1906. //
  1907. //FOR k = 1 TO count
  1908. //
  1909. // ll_cnt_lp++
  1910. // w_sys_wait_jdt.st_msg.Text = " 正在发送邮件(" + String(k) + "/" + String(count) + ")." //进度信息
  1911. // w_sys_wait_jdt.wf_inc(ll_cnt_lp)
  1912. //
  1913. // //发邮件
  1914. // dw_revlist.AcceptText()
  1915. //
  1916. // IF wf_check(errmsg) = 0 THEN
  1917. // MessageBox('错误',errmsg, StopSign!, OK! )
  1918. // RETURN
  1919. // END IF
  1920. //dw_send.Object.priority[dw_send.GetRow()] = long(em_priority.text)
  1921. //dw_send.Object.mailuser[dw_send.GetRow()] = sle_mailuser.Text
  1922. //dw_send.Object.mailaddress[dw_send.GetRow()] = sle_mailaddress.Text
  1923. //dw_send.Object.maitype[dw_send.GetRow()] = f_GetStatusValue(sle_mailtype.text)
  1924. //dw_send.object.u_email_send_revlist[dw_send.GetRow()] = mle_revlist.text
  1925. //dw_send.Object.Subject[dw_send.Getrow()] = sle_subject.text
  1926. //
  1927. // dw_send.AcceptText()
  1928. // oleobject jmail
  1929. // jmail = CREATE oleobject
  1930. // jmail.ConnectToNewObject("JMail.Message")
  1931. // jmail.Charset = 'GB2312'
  1932. // jmail.ISOEncodeHeaders = TRUE
  1933. // jmail.silent = TRUE
  1934. // jmail.Logging = TRUE
  1935. // jmail.FROM = s_set.mailAddress //发件人邮箱
  1936. // jmail.FromName = s_set.mailuser //发件人
  1937. // jmail.Subject = Trim(dw_send.Object.Subject[dw_send.GetRow()]) //邮件主题
  1938. // jmail.MailServerUserName = s_set.mailAddress //发件邮箱登录账户
  1939. // jmail.MailServerPassword = s_set.mailpsw //发件邮箱用户密码
  1940. // jmail.Priority = dw_send.Object.Priority[dw_send.GetRow()] //优先级
  1941. // jmail.Body = Trim(mle_text.Text) + "~r~n" //邮件内容
  1942. //
  1943. // Long i
  1944. // FOR i = 1 TO dw_revlist.RowCount()
  1945. // IF Trim(dw_revlist.Object.revaddress[i]) <> '' THEN
  1946. // jmail.AddRecipient(Trim(dw_revlist.Object.revaddress[i]))
  1947. // END IF
  1948. // NEXT
  1949. // /////添加附件
  1950. // IF lv_fj.TotalItems() > 0 THEN
  1951. //
  1952. // ls_pathname = ''
  1953. // FOR i = 1 TO lv_fj.TotalItems()
  1954. // lv_fj.GetItem(i, l_lvi)
  1955. // ls_pathname = l_lvi.Label
  1956. // s_lvfj = l_lvi.Data
  1957. // ls_pathname = sys_cur_path+fjfilepathname+'\'+ls_pathname
  1958. // IF FileExists(ls_pathname) THEN FileDelete(ls_pathname)
  1959. //
  1960. // IF s_lvfj.fjid > 0 THEN
  1961. // SELECTBLOB Fileblob
  1962. // INTO :s_lvfj.Fileblob
  1963. // FROM u_email_fj
  1964. // Where (fjid = :s_lvfj.fjid);
  1965. //
  1966. // IF sqlca.SQLCode <> 0 THEN
  1967. // MessageBox('系统提示',errmsg)
  1968. // GOTO ext
  1969. // END IF
  1970. // END IF
  1971. //
  1972. // IF f_blobtofile(ls_pathname,s_lvfj.Fileblob,errmsg) = 0 THEN
  1973. // MessageBox('系统提示',errmsg)
  1974. // GOTO ext
  1975. // ELSE
  1976. // jmail.AddAttachment(ls_pathname)
  1977. // END IF
  1978. // NEXT
  1979. // END IF
  1980. //
  1981. // dw_send.Object.mailsize[dw_send.GetRow()] = jmail.size
  1982. // dw_send.Object.senddate[dw_send.GetRow()] = jmail.Date
  1983. // dw_send.Object.mailtype[dw_send.GetRow()] = 1
  1984. // ///发送
  1985. // IF jmail.Send(s_set.smtpset) THEN //ls_host为发件邮箱服务器
  1986. //
  1987. // jmail.ClearAttachments()
  1988. // jmail.ClearRecipients()
  1989. // dw_send.AcceptText()
  1990. // IF dw_send.GetRow() > 0 AND dw_send.Object.sendid[dw_send.GetRow()] > 0 THEN
  1991. // //更新发送时间,邮件大小
  1992. // Long ll_sendid
  1993. // String ls_msg
  1994. // ll_sendid = dw_send.Object.sendid[dw_send.GetRow()]
  1995. //
  1996. // IF obj_email.f_update_send(ll_sendid,jmail.Date,jmail.size,ls_msg) = 0 THEN
  1997. // MessageBox('错误',ls_msg, StopSign!, OK! )
  1998. // GOTO ext
  1999. // END IF
  2000. // END IF
  2001. //
  2002. // ELSE
  2003. // MessageBox('错误',"邮箱设置不正确或者没有连接网络", StopSign!, OK! )
  2004. // jmail.Close()
  2005. // DESTROY jmail
  2006. // goto ext1
  2007. // END IF
  2008. //
  2009. // ext:
  2010. // jmail.Close()
  2011. // DESTROY jmail
  2012. //NEXT
  2013. //ext1:
  2014. //Close(w_sys_wait_jdt)
  2015. end event
  2016. type st_1 from statictext within w_ljmail_msg_send
  2017. boolean visible = false
  2018. integer x = 50
  2019. integer y = 220
  2020. integer width = 242
  2021. integer height = 52
  2022. boolean bringtotop = true
  2023. integer textsize = -9
  2024. integer weight = 400
  2025. fontcharset fontcharset = gb2312charset!
  2026. fontpitch fontpitch = variable!
  2027. string facename = "宋体"
  2028. long textcolor = 16711680
  2029. long backcolor = 134217739
  2030. string text = "优先级"
  2031. alignment alignment = right!
  2032. long bordercolor = 134217739
  2033. boolean focusrectangle = false
  2034. end type
  2035. type em_priority from editmask within w_ljmail_msg_send
  2036. boolean visible = false
  2037. integer x = 311
  2038. integer y = 204
  2039. integer width = 393
  2040. integer height = 84
  2041. integer taborder = 60
  2042. boolean bringtotop = true
  2043. integer textsize = -9
  2044. integer weight = 400
  2045. fontcharset fontcharset = gb2312charset!
  2046. fontpitch fontpitch = variable!
  2047. string facename = "宋体"
  2048. long textcolor = 16711680
  2049. string text = "1"
  2050. alignment alignment = right!
  2051. borderstyle borderstyle = stylelowered!
  2052. string mask = "#"
  2053. boolean autoskip = true
  2054. boolean spin = true
  2055. double increment = 1
  2056. string minmax = "1~~5"
  2057. end type
  2058. type st_3 from statictext within w_ljmail_msg_send
  2059. integer x = 1477
  2060. integer y = 220
  2061. integer width = 288
  2062. integer height = 52
  2063. boolean bringtotop = true
  2064. integer textsize = -9
  2065. integer weight = 400
  2066. fontcharset fontcharset = gb2312charset!
  2067. fontpitch fontpitch = variable!
  2068. string facename = "宋体"
  2069. long textcolor = 33554432
  2070. long backcolor = 134217739
  2071. string text = "发件邮箱:"
  2072. alignment alignment = right!
  2073. boolean focusrectangle = false
  2074. end type
  2075. type st_4 from statictext within w_ljmail_msg_send
  2076. integer x = 27
  2077. integer y = 308
  2078. integer width = 288
  2079. integer height = 52
  2080. boolean bringtotop = true
  2081. integer textsize = -9
  2082. integer weight = 400
  2083. fontcharset fontcharset = gb2312charset!
  2084. fontpitch fontpitch = variable!
  2085. string facename = "宋体"
  2086. long textcolor = 33554432
  2087. long backcolor = 134217739
  2088. string text = "邮件类型:"
  2089. alignment alignment = right!
  2090. boolean focusrectangle = false
  2091. end type
  2092. type st_5 from statictext within w_ljmail_msg_send
  2093. integer x = 521
  2094. integer y = 308
  2095. integer width = 261
  2096. integer height = 52
  2097. boolean bringtotop = true
  2098. integer textsize = -9
  2099. integer weight = 400
  2100. fontcharset fontcharset = gb2312charset!
  2101. fontpitch fontpitch = variable!
  2102. string facename = "宋体"
  2103. long textcolor = 33554432
  2104. long backcolor = 134217739
  2105. string text = "大小(K):"
  2106. alignment alignment = right!
  2107. boolean focusrectangle = false
  2108. end type
  2109. type st_6 from statictext within w_ljmail_msg_send
  2110. integer x = 1801
  2111. integer y = 308
  2112. integer width = 288
  2113. integer height = 52
  2114. boolean bringtotop = true
  2115. integer textsize = -9
  2116. integer weight = 400
  2117. fontcharset fontcharset = gb2312charset!
  2118. fontpitch fontpitch = variable!
  2119. string facename = "宋体"
  2120. long textcolor = 33554432
  2121. long backcolor = 134217739
  2122. string text = "建立时间:"
  2123. alignment alignment = right!
  2124. boolean focusrectangle = false
  2125. end type
  2126. type st_7 from statictext within w_ljmail_msg_send
  2127. integer x = 2606
  2128. integer y = 308
  2129. integer width = 288
  2130. integer height = 52
  2131. boolean bringtotop = true
  2132. integer textsize = -9
  2133. integer weight = 400
  2134. fontcharset fontcharset = gb2312charset!
  2135. fontpitch fontpitch = variable!
  2136. string facename = "宋体"
  2137. long textcolor = 33554432
  2138. long backcolor = 134217739
  2139. string text = "发送时间:"
  2140. alignment alignment = right!
  2141. boolean focusrectangle = false
  2142. end type
  2143. type st_9 from statictext within w_ljmail_msg_send
  2144. integer x = 50
  2145. integer y = 484
  2146. integer width = 242
  2147. integer height = 52
  2148. boolean bringtotop = true
  2149. integer textsize = -9
  2150. integer weight = 400
  2151. fontcharset fontcharset = gb2312charset!
  2152. fontpitch fontpitch = variable!
  2153. string facename = "宋体"
  2154. long textcolor = 16711680
  2155. long backcolor = 134217739
  2156. string text = "主题"
  2157. alignment alignment = right!
  2158. boolean focusrectangle = false
  2159. end type
  2160. type sle_subject from singlelineedit within w_ljmail_msg_send
  2161. integer x = 311
  2162. integer y = 468
  2163. integer width = 3223
  2164. integer height = 84
  2165. integer taborder = 80
  2166. boolean bringtotop = true
  2167. integer textsize = -9
  2168. integer weight = 400
  2169. fontcharset fontcharset = gb2312charset!
  2170. fontpitch fontpitch = variable!
  2171. string facename = "宋体"
  2172. long textcolor = 16711680
  2173. borderstyle borderstyle = stylelowered!
  2174. end type
  2175. type mle_revlist from uo_mle_demo within w_ljmail_msg_send
  2176. integer x = 311
  2177. integer y = 380
  2178. integer width = 2871
  2179. integer height = 84
  2180. integer taborder = 80
  2181. boolean bringtotop = true
  2182. integer textsize = -9
  2183. integer weight = 400
  2184. fontcharset fontcharset = gb2312charset!
  2185. fontpitch fontpitch = variable!
  2186. string facename = "宋体"
  2187. long textcolor = 16711680
  2188. boolean vscrollbar = true
  2189. boolean autovscroll = true
  2190. borderstyle borderstyle = stylelowered!
  2191. end type
  2192. event ue_topmost;call super::ue_topmost;string mailname, mailaddress
  2193. //long ll_row
  2194. //DataStore ds
  2195. //ds = Create DataStore
  2196. //ds.dataobject = 'dw_sandmail'
  2197. //ds.settrans(sqlca)
  2198. //ll_row = ds.find("mailname like '" + arg_in + "%'", 1, ds.RowCount())
  2199. //if ll_row > 0 then
  2200. // arg_out = ds.object.mailname[ll_row] + '<' + ds.object.mailaddress[ll_row] + '>'
  2201. // goto ext
  2202. //end if
  2203. //
  2204. //ll_row = ds.find("mailaddress like '" + arg_in + "%'", 1, ds.RowCount())
  2205. //if ll_row > 0 then
  2206. // arg_out = ds.object.mailaddress[ll_row]
  2207. // goto ext
  2208. //end if
  2209. //
  2210. //ext:
  2211. //destroy(ds)
  2212. // u_email_rep
  2213. SELECT top 1 u_email_rep.mailname, u_email_rep.mailaddress
  2214. INTO :mailname, :mailaddress
  2215. FROM u_email_rep
  2216. where (u_email_rep.mailname like (:arg_in + '%')) and ((empid = :sys_empid) OR
  2217. (empid = 0) AND (reptype = 1)) using sqlca;
  2218. if sqlca.sqlcode = 0 and trim(mailaddress) <> '' then
  2219. arg_out = mailname + '<' + mailaddress + '>'
  2220. return
  2221. end if
  2222. SELECT TOP 1 mailname, mailaddress INTO :mailname, :mailaddress
  2223. FROM u_email_rep
  2224. where mailaddress like (:arg_in + '%') and ((empid = :sys_empid) OR
  2225. (empid = 0) AND (reptype = 1)) ;
  2226. if sqlca.sqlcode = 0 and trim(mailaddress) <> '' then
  2227. arg_out = mailaddress
  2228. return
  2229. end if
  2230. // u_cust
  2231. string ls_area = '-1,'
  2232. long i
  2233. string ls_str_sql
  2234. ls_str_sql = ''
  2235. ls_str_sql = ls_str_sql + "Select top 1 cuscode, email From u_cust "
  2236. ls_str_sql = ls_str_sql + "where (cuscode like(? + '%')) and (inuse = 1) AND (cusareaid in (-1,"
  2237. for i = 1 to upperbound(sys_areaid)
  2238. ls_str_sql = ls_str_sql + string(sys_areaid[i]) + ','
  2239. next
  2240. ls_str_sql = left(ls_str_sql, len(ls_str_sql) - 1)
  2241. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  2242. DECLARE cursor_cust DYNAMIC CURSOR FOR SQLSA;
  2243. PREPARE SQLSA FROM :ls_str_sql;
  2244. OPEN DYNAMIC cursor_cust USING :arg_in;
  2245. FETCH cursor_cust INTO :mailname,:mailaddress;
  2246. CLOSE cursor_cust;
  2247. if sqlca.sqlcode = 0 and trim(mailaddress) <> '' then
  2248. arg_out = mailname + '<' + mailaddress + '>'
  2249. return
  2250. end if
  2251. ls_str_sql = ''
  2252. ls_str_sql = ls_str_sql + "Select top 1 cuscode, email From u_cust "
  2253. ls_str_sql = ls_str_sql + "where (email like(? + '%')) and (inuse = 1) AND (cusareaid in (-1,"
  2254. for i = 1 to upperbound(sys_areaid)
  2255. ls_str_sql = ls_str_sql + string(sys_areaid[i]) + ','
  2256. next
  2257. ls_str_sql = left(ls_str_sql, len(ls_str_sql) - 1)
  2258. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  2259. DECLARE cursor_cust1 DYNAMIC CURSOR FOR SQLSA;
  2260. PREPARE SQLSA FROM :ls_str_sql;
  2261. OPEN DYNAMIC cursor_cust1 USING :arg_in;
  2262. FETCH cursor_cust1 INTO :mailname,:mailaddress;
  2263. CLOSE cursor_cust1;
  2264. if sqlca.sqlcode = 0 and trim(mailaddress) <> '' then
  2265. arg_out = mailaddress
  2266. return
  2267. end if
  2268. // u_cust_rep
  2269. ls_str_sql = ''
  2270. ls_str_sql = ls_str_sql + "SELECT top 1 RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)), u_cust_rep.email "
  2271. ls_str_sql = ls_str_sql + " FROM u_cust AS u_cust_1 INNER JOIN "
  2272. ls_str_sql = ls_str_sql + " u_cust_rep ON u_cust_1.cusid = u_cust_rep.cusid AND u_cust_1.cusid = u_cust_rep.cusid "
  2273. ls_str_sql = ls_str_sql + " WHERE (u_cust_1.inuse = 1) AND (u_cust_1.cusareaid IN (-1,"
  2274. for i = 1 to upperbound(sys_areaid)
  2275. ls_str_sql = ls_str_sql + string(sys_areaid[i]) + ','
  2276. next
  2277. ls_str_sql = left(ls_str_sql, len(ls_str_sql) - 1)
  2278. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_cust_rep.email)) <> '') "
  2279. ls_str_sql = ls_str_sql + " AND RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)) like (? + '%')"
  2280. DECLARE cursor_cust_rep DYNAMIC CURSOR FOR SQLSA;
  2281. PREPARE SQLSA FROM :ls_str_sql;
  2282. OPEN DYNAMIC cursor_cust_rep USING :arg_in;
  2283. FETCH cursor_cust_rep INTO :mailname,:mailaddress;
  2284. CLOSE cursor_cust_rep;
  2285. if sqlca.sqlcode = 0 and trim(mailaddress) <> '' then
  2286. arg_out = mailname + '<' + mailaddress + '>'
  2287. return
  2288. end if
  2289. ls_str_sql = ''
  2290. ls_str_sql = ls_str_sql + "SELECT top 1 RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)), u_cust_rep.email "
  2291. ls_str_sql = ls_str_sql + " FROM u_cust AS u_cust_1 INNER JOIN "
  2292. ls_str_sql = ls_str_sql + " u_cust_rep ON u_cust_1.cusid = u_cust_rep.cusid AND u_cust_1.cusid = u_cust_rep.cusid "
  2293. ls_str_sql = ls_str_sql + " WHERE (u_cust_1.inuse = 1) AND (u_cust_1.cusareaid IN (-1,"
  2294. for i = 1 to upperbound(sys_areaid)
  2295. ls_str_sql = ls_str_sql + string(sys_areaid[i]) + ','
  2296. next
  2297. ls_str_sql = left(ls_str_sql, len(ls_str_sql) - 1)
  2298. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_cust_rep.email)) <> '') "
  2299. ls_str_sql = ls_str_sql + " AND u_cust_rep.email like (? + '%')"
  2300. DECLARE cursor_cust_rep1 DYNAMIC CURSOR FOR SQLSA;
  2301. PREPARE SQLSA FROM :ls_str_sql;
  2302. OPEN DYNAMIC cursor_cust_rep1 USING :arg_in;
  2303. FETCH cursor_cust_rep1 INTO :mailname,:mailaddress;
  2304. CLOSE cursor_cust_rep1;
  2305. if sqlca.sqlcode = 0 and trim(mailaddress) <> '' then
  2306. arg_out = mailaddress
  2307. return
  2308. end if
  2309. // u_spt
  2310. ls_str_sql = ''
  2311. ls_str_sql = ls_str_sql + "SELECT top 1 sptcode, email FROM u_spt "
  2312. ls_str_sql = ls_str_sql + " WHERE (inuse = 1) AND (spttypeid IN (-1,"
  2313. for i = 1 to upperbound(sys_user_spttype)
  2314. ls_str_sql = ls_str_sql + string(sys_user_spttype[i]) + ','
  2315. next
  2316. ls_str_sql = left(ls_str_sql, len(ls_str_sql) - 1)
  2317. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  2318. ls_str_sql = ls_str_sql + " AND sptcode like (? + '%'); "
  2319. DECLARE cursor_spt DYNAMIC CURSOR FOR SQLSA;
  2320. PREPARE SQLSA FROM :ls_str_sql;
  2321. OPEN DYNAMIC cursor_spt USING :arg_in;
  2322. FETCH cursor_spt INTO :mailname,:mailaddress;
  2323. CLOSE cursor_spt;
  2324. if sqlca.sqlcode = 0 and trim(mailaddress) <> '' then
  2325. arg_out = mailname + '<' + mailaddress + '>'
  2326. return
  2327. end if
  2328. ls_str_sql = ''
  2329. ls_str_sql = ls_str_sql + "SELECT top 1 sptcode, email FROM u_spt "
  2330. ls_str_sql = ls_str_sql + " WHERE (inuse = 1) AND (spttypeid IN (-1,"
  2331. for i = 1 to upperbound(sys_user_spttype)
  2332. ls_str_sql = ls_str_sql + string(sys_user_spttype[i]) + ','
  2333. next
  2334. ls_str_sql = left(ls_str_sql, len(ls_str_sql) - 1)
  2335. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(email)) <> '')"
  2336. ls_str_sql = ls_str_sql + " AND email like (? + '%'); "
  2337. DECLARE cursor_spt1 DYNAMIC CURSOR FOR SQLSA;
  2338. PREPARE SQLSA FROM :ls_str_sql;
  2339. OPEN DYNAMIC cursor_spt1 USING :arg_in;
  2340. FETCH cursor_spt1 INTO :mailname,:mailaddress;
  2341. CLOSE cursor_spt1;
  2342. if sqlca.sqlcode = 0 and trim(mailaddress) <> '' then
  2343. arg_out = mailaddress
  2344. return
  2345. end if
  2346. // u_spt_rep
  2347. ls_str_sql = ''
  2348. ls_str_sql = ls_str_sql + "SELECT TOP 1 RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)), "
  2349. ls_str_sql = ls_str_sql + " u_spt_rep.email "
  2350. ls_str_sql = ls_str_sql + " FROM u_spt AS u_spt_1 INNER JOIN "
  2351. ls_str_sql = ls_str_sql + " u_spt_rep ON u_spt_1.sptid = u_spt_rep.sptid AND u_spt_1.sptid = u_spt_rep.sptid "
  2352. ls_str_sql = ls_str_sql + " WHERE (u_spt_1.inuse = 1) AND (u_spt_1.spttypeid IN (-1,"
  2353. for i = 1 to upperbound(sys_user_spttype)
  2354. ls_str_sql = ls_str_sql + string(sys_user_spttype[i]) + ','
  2355. next
  2356. ls_str_sql = left(ls_str_sql, len(ls_str_sql) - 1)
  2357. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_spt_rep.email)) <> '') "
  2358. ls_str_sql = ls_str_sql + " AND RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)) like (? + '%')"
  2359. DECLARE cursor_spt_rep DYNAMIC CURSOR FOR SQLSA;
  2360. PREPARE SQLSA FROM :ls_str_sql;
  2361. OPEN DYNAMIC cursor_spt_rep USING :arg_in;
  2362. FETCH cursor_spt_rep INTO :mailname,:mailaddress;
  2363. CLOSE cursor_spt_rep;
  2364. if sqlca.sqlcode = 0 and trim(mailaddress) <> '' then
  2365. arg_out = mailname + '<' + mailaddress + '>'
  2366. return
  2367. end if
  2368. ls_str_sql = ''
  2369. ls_str_sql = ls_str_sql + "SELECT TOP 1 RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)), "
  2370. ls_str_sql = ls_str_sql + " u_spt_rep.email "
  2371. ls_str_sql = ls_str_sql + " FROM u_spt AS u_spt_1 INNER JOIN "
  2372. ls_str_sql = ls_str_sql + " u_spt_rep ON u_spt_1.sptid = u_spt_rep.sptid AND u_spt_1.sptid = u_spt_rep.sptid "
  2373. ls_str_sql = ls_str_sql + " WHERE (u_spt_1.inuse = 1) AND (u_spt_1.spttypeid IN (-1,"
  2374. for i = 1 to upperbound(sys_user_spttype)
  2375. ls_str_sql = ls_str_sql + string(sys_user_spttype[i]) + ','
  2376. next
  2377. ls_str_sql = left(ls_str_sql, len(ls_str_sql) - 1)
  2378. ls_str_sql = ls_str_sql + ")) AND (RTRIM(LTRIM(u_spt_rep.email)) <> '') "
  2379. ls_str_sql = ls_str_sql + " AND u_spt_rep.email like (? + '%')"
  2380. DECLARE cursor_spt_rep1 DYNAMIC CURSOR FOR SQLSA;
  2381. PREPARE SQLSA FROM :ls_str_sql;
  2382. OPEN DYNAMIC cursor_spt_rep1 USING :arg_in;
  2383. FETCH cursor_spt_rep1 INTO :mailname,:mailaddress;
  2384. CLOSE cursor_spt_rep1;
  2385. if sqlca.sqlcode = 0 and trim(mailaddress) <> '' then
  2386. arg_out = mailaddress
  2387. return
  2388. end if
  2389. end event
  2390. event losefocus;call super::losefocus;dw_revlist.setredraw(false)
  2391. wf_makerevlist()
  2392. uf_updaterevlist()
  2393. dw_revlist.setRedraw(true)
  2394. end event
  2395. event keyup;call super::keyup;parent.triggerevent('ue_set_height')
  2396. end event
  2397. type st_10 from statictext within w_ljmail_msg_send
  2398. integer x = 1111
  2399. integer y = 308
  2400. integer width = 233
  2401. integer height = 52
  2402. boolean bringtotop = true
  2403. integer textsize = -9
  2404. integer weight = 400
  2405. fontcharset fontcharset = gb2312charset!
  2406. fontpitch fontpitch = variable!
  2407. string facename = "宋体"
  2408. long textcolor = 33554432
  2409. long backcolor = 134217739
  2410. string text = "建立人:"
  2411. alignment alignment = right!
  2412. boolean focusrectangle = false
  2413. end type
  2414. type sle_mailaddress from statictext within w_ljmail_msg_send
  2415. integer x = 1769
  2416. integer y = 220
  2417. integer width = 1106
  2418. integer height = 52
  2419. boolean bringtotop = true
  2420. integer textsize = -9
  2421. integer weight = 400
  2422. fontcharset fontcharset = gb2312charset!
  2423. fontpitch fontpitch = variable!
  2424. string facename = "宋体"
  2425. long textcolor = 33554432
  2426. long backcolor = 134217739
  2427. boolean focusrectangle = false
  2428. end type
  2429. type sle_mailtype from statictext within w_ljmail_msg_send
  2430. integer x = 306
  2431. integer y = 308
  2432. integer width = 137
  2433. integer height = 52
  2434. boolean bringtotop = true
  2435. integer textsize = -9
  2436. integer weight = 400
  2437. fontcharset fontcharset = gb2312charset!
  2438. fontpitch fontpitch = variable!
  2439. string facename = "宋体"
  2440. long textcolor = 33554432
  2441. long backcolor = 134217739
  2442. string text = "未发"
  2443. boolean focusrectangle = false
  2444. end type
  2445. type em_mailsize from statictext within w_ljmail_msg_send
  2446. integer x = 763
  2447. integer y = 308
  2448. integer width = 238
  2449. integer height = 52
  2450. boolean bringtotop = true
  2451. integer textsize = -9
  2452. integer weight = 400
  2453. fontcharset fontcharset = gb2312charset!
  2454. fontpitch fontpitch = variable!
  2455. string facename = "宋体"
  2456. long textcolor = 33554432
  2457. long backcolor = 134217739
  2458. string text = "0"
  2459. boolean focusrectangle = false
  2460. end type
  2461. type sle_opemp from statictext within w_ljmail_msg_send
  2462. integer x = 1335
  2463. integer y = 308
  2464. integer width = 370
  2465. integer height = 52
  2466. boolean bringtotop = true
  2467. integer textsize = -9
  2468. integer weight = 400
  2469. fontcharset fontcharset = gb2312charset!
  2470. fontpitch fontpitch = variable!
  2471. string facename = "宋体"
  2472. long textcolor = 33554432
  2473. long backcolor = 134217739
  2474. boolean focusrectangle = false
  2475. end type
  2476. type em_opdate from statictext within w_ljmail_msg_send
  2477. integer x = 2075
  2478. integer y = 308
  2479. integer width = 466
  2480. integer height = 52
  2481. boolean bringtotop = true
  2482. integer textsize = -9
  2483. integer weight = 400
  2484. fontcharset fontcharset = gb2312charset!
  2485. fontpitch fontpitch = variable!
  2486. string facename = "宋体"
  2487. long textcolor = 33554432
  2488. long backcolor = 134217739
  2489. boolean focusrectangle = false
  2490. end type
  2491. type em_senddate from statictext within w_ljmail_msg_send
  2492. integer x = 2903
  2493. integer y = 308
  2494. integer width = 517
  2495. integer height = 52
  2496. boolean bringtotop = true
  2497. integer textsize = -9
  2498. integer weight = 400
  2499. fontcharset fontcharset = gb2312charset!
  2500. fontpitch fontpitch = variable!
  2501. string facename = "宋体"
  2502. long textcolor = 33554432
  2503. long backcolor = 134217739
  2504. boolean focusrectangle = false
  2505. end type
  2506. type sp_v1 from u_lbs_stsplitbar within w_ljmail_msg_send
  2507. integer x = 2624
  2508. integer y = 576
  2509. integer width = 14
  2510. integer height = 1420
  2511. boolean bringtotop = true
  2512. long backcolor = 16777215
  2513. integer ii_minobjectsize = 600
  2514. end type
  2515. type cb_3 from uo_imflatbutton within w_ljmail_msg_send
  2516. integer x = 800
  2517. integer width = 165
  2518. integer height = 164
  2519. integer taborder = 40
  2520. boolean bringtotop = true
  2521. string text = "重置"
  2522. string normalpicname = "refresh.BMP"
  2523. integer picsize = 16
  2524. toolbaralignment pic_align = alignattop!
  2525. boolean border = false
  2526. end type
  2527. event clicked;call super::clicked;//s_set.sendid = s_send.sendid
  2528. //string ls_msg
  2529. //IF wf_init(ls_msg) = 0 THEN
  2530. // MessageBox('错误',ls_msg,stopsign!,OK!)
  2531. // RETURN
  2532. //END IF
  2533. //wf_fjcount()
  2534. //parent.triggerevent('resize')
  2535. end event
  2536. type cb_4 from uo_imflatbutton within w_ljmail_msg_send
  2537. integer x = 329
  2538. integer width = 165
  2539. integer height = 164
  2540. integer taborder = 30
  2541. boolean bringtotop = true
  2542. string text = "另存"
  2543. string normalpicname = "SAVE.BMP"
  2544. integer picsize = 16
  2545. toolbaralignment pic_align = alignattop!
  2546. boolean border = false
  2547. end type
  2548. event clicked;call super::clicked;IF not dw_edit_mode THEN RETURN
  2549. s_ljmail_msg s_msg
  2550. Int rslt = 1
  2551. String arg_msg
  2552. IF wf_to_s_msg(Ref s_msg, arg_msg) <> 1 THEN
  2553. rslt = 0
  2554. GOTO ext
  2555. END IF
  2556. s_msg.msgid = 0
  2557. IF obj_email.uf_save(Ref s_msg, arg_msg) <> 1 THEN
  2558. rslt = 0
  2559. GOTO ext
  2560. END IF
  2561. s_set.msgid = s_msg.msgid
  2562. ext:
  2563. IF rslt = 1 THEN
  2564. MessageBox('提示',"保存成功!", Information!, OK!)
  2565. ELSE
  2566. MessageBox('错误',arg_msg, StopSign!, OK! )
  2567. END IF
  2568. end event
  2569. type uo_html from uo_html_editor within w_ljmail_msg_send
  2570. integer y = 576
  2571. integer width = 2574
  2572. integer height = 768
  2573. integer taborder = 30
  2574. boolean bringtotop = true
  2575. boolean border = true
  2576. borderstyle borderstyle = stylelowered!
  2577. end type
  2578. on uo_html.destroy
  2579. call uo_html_editor::destroy
  2580. end on
  2581. type st_11 from uo_text_m within w_ljmail_msg_send
  2582. integer x = 46
  2583. integer y = 396
  2584. integer width = 247
  2585. integer height = 60
  2586. boolean bringtotop = true
  2587. integer textsize = -9
  2588. boolean underline = true
  2589. long textcolor = 16711680
  2590. long backcolor = 134217739
  2591. string text = "收件人"
  2592. alignment alignment = right!
  2593. integer ifonraise = 5
  2594. end type
  2595. event clicked;call super::clicked;parent.triggerevent('ue_sendmx')
  2596. end event
  2597. type pb_1 from picturebutton within w_ljmail_msg_send
  2598. integer x = 3200
  2599. integer y = 372
  2600. integer width = 110
  2601. integer height = 96
  2602. integer taborder = 90
  2603. boolean bringtotop = true
  2604. integer textsize = -9
  2605. fontcharset fontcharset = gb2312charset!
  2606. fontpitch fontpitch = variable!
  2607. string facename = "宋体"
  2608. string picturename = "people.bmp"
  2609. alignment htextalign = left!
  2610. string powertiptext = "收件人"
  2611. end type
  2612. event clicked;parent.triggerevent('ue_sendmx')
  2613. end event
  2614. type cb_5 from uo_imflatbutton within w_ljmail_msg_send
  2615. integer x = 1719
  2616. integer y = 24
  2617. integer width = 384
  2618. integer height = 80
  2619. integer taborder = 40
  2620. boolean bringtotop = true
  2621. string text = "插入客户名称"
  2622. end type
  2623. event clicked;call super::clicked;string ls_old
  2624. ls_old = Clipboard()
  2625. Clipboard("[客户名称]")
  2626. uo_html.ole_web.object.Document.ExecCommand("Paste", true, 0)
  2627. Clipboard(ls_old)
  2628. uo_html.ole_web.setfocus()
  2629. uo_html.uf_refreshtoolbar()
  2630. end event
  2631. type st_12 from statictext within w_ljmail_msg_send
  2632. integer x = 1719
  2633. integer y = 112
  2634. integer width = 1413
  2635. integer height = 48
  2636. boolean bringtotop = true
  2637. integer textsize = -9
  2638. integer weight = 400
  2639. fontcharset fontcharset = gb2312charset!
  2640. fontpitch fontpitch = variable!
  2641. string facename = "宋体"
  2642. long textcolor = 255
  2643. long backcolor = 67108864
  2644. string text = "在循环模式下,发件时[客户名称]会自动替换成收件人名称"
  2645. boolean focusrectangle = false
  2646. end type
  2647. event constructor;this.backcolor = 14215660
  2648. this.bordercolor = 14215660
  2649. end event
  2650. type ln_bar from line within w_ljmail_msg_send
  2651. long linecolor = 268435456
  2652. integer linethickness = 4
  2653. integer beginy = 172
  2654. integer endx = 3200
  2655. integer endy = 172
  2656. end type
  2657. type ln_bar2 from line within w_ljmail_msg_send
  2658. long linecolor = 16777215
  2659. integer linethickness = 4
  2660. integer beginx = 14
  2661. integer beginy = 176
  2662. integer endx = 3278
  2663. integer endy = 176
  2664. end type
  2665. type r_bar from rectangle within w_ljmail_msg_send
  2666. long linecolor = 16777215
  2667. integer linethickness = 4
  2668. long fillcolor = 1073741824
  2669. integer x = 3351
  2670. integer width = 87
  2671. integer height = 68
  2672. end type
  2673. event constructor;this.fillcolor = 14215660
  2674. this.linecolor = 14215660
  2675. this.x = -1
  2676. this.y = -1
  2677. this.height = ln_bar.beginy - 5
  2678. end event